{"version":3,"file":"js/main.6fa41d65eec503dc4434.js","mappings":"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nD,KACA,MAED,uDAAwD,CACvD,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,gDAAiD,CAChD,KACA,MAED,4CAA6C,CAC5C,KACA,MAED,gDAAiD,CAChD,KACA,MAED,yCAA0C,CACzC,KACA,MAED,6CAA8C,CAC7C,KACA,MAED,6CAA8C,CAC7C,KACA,KACA,MAED,iDAAkD,CACjD,KACA,KACA,MAED,8CAA+C,CAC9C,KACA,MAED,kDAAmD,CAClD,KACA,MAED,mCAAoC,CACnC,IACA,MAED,uCAAwC,CACvC,IACA,MAED,qBAAsB,CACrB,MAED,yBAA0B,CACzB,MAED,wBAAyB,CACxB,KACA,MAED,4BAA6B,CAC5B,KACA,MAED,wBAAyB,CACxB,KACA,MAED,4BAA6B,CAC5B,KACA,MAED,wBAAyB,CACxB,KACA,MAED,4BAA6B,CAC5B,KACA,MAED,wBAAyB,CACxB,IACA,MAED,4BAA6B,CAC5B,IACA,MAED,wBAAyB,CACxB,KACA,MAED,4BAA6B,CAC5B,KACA,MAED,2BAA4B,CAC3B,KACA,MAED,+BAAgC,CAC/B,KACA,MAED,0BAA2B,CAC1B,IACA,MAED,8BAA+B,CAC9B,IACA,MAED,mBAAoB,CACnB,KACA,MAED,uBAAwB,CACvB,KACA,MAED,qBAAsB,CACrB,KACA,MAED,yBAA0B,CACzB,KACA,MAED,yCAA0C,CACzC,IACA,MAED,6CAA8C,CAC7C,IACA,MAED,+BAAgC,CAC/B,KACA,MAED,mCAAoC,CACnC,KACA,MAED,6BAA8B,CAC7B,KACA,MAED,iCAAkC,CACjC,KACA,MAED,2BAA4B,CAC3B,KACA,MAED,+BAAgC,CAC/B,KACA,MAED,sCAAuC,CACtC,KACA,MAED,0CAA2C,CAC1C,KACA,MAED,uBAAwB,CACvB,KACA,MAED,2BAA4B,CAC3B,KACA,MAED,kCAAmC,CAClC,KACA,MAED,sCAAuC,CACtC,KACA,MAED,uBAAwB,CACvB,IACA,KAED,2BAA4B,CAC3B,IACA,MAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQ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","sources":["webpack://fider/./locale/ lazy ^\\.\\/.*\\/client\\.json$ chunkName: locale-[request] namespace object","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/freeze.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/element.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/global.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/utils/process.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","webpack://fider/./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","webpack://fider/./public/hooks/use-timeout.ts","webpack://fider/./public/hooks/use-fider.ts","webpack://fider/./public/hooks/use-script.ts","webpack://fider/./public/hooks/use-cache.ts","webpack://fider/./public/AsyncPages.tsx","webpack://fider/./public/index.tsx","webpack://fider/./public/pages/Error/Error.page.tsx","webpack://fider/./node_modules/direction/index.js","webpack://fider/./node_modules/is-hotkey/lib/index.js","webpack://fider/./node_modules/lodash/_Symbol.js","webpack://fider/./node_modules/lodash/_baseGetTag.js","webpack://fider/./node_modules/lodash/_baseTrim.js","webpack://fider/./node_modules/lodash/_freeGlobal.js","webpack://fider/./node_modules/lodash/_getRawTag.js","webpack://fider/./node_modules/lodash/_objectToString.js","webpack://fider/./node_modules/lodash/_root.js","webpack://fider/./node_modules/lodash/_trimmedEndIndex.js","webpack://fider/./node_modules/lodash/debounce.js","webpack://fider/./node_modules/lodash/isObject.js","webpack://fider/./node_modules/lodash/isObjectLike.js","webpack://fider/./node_modules/lodash/isSymbol.js","webpack://fider/./node_modules/lodash/now.js","webpack://fider/./node_modules/lodash/throttle.js","webpack://fider/./node_modules/lodash/toNumber.js","webpack://fider/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://fider/./node_modules/scheduler/index.js","webpack://fider/./node_modules/slate-dom/dist/index.es.js","webpack://fider/./node_modules/svg-baker-runtime/browser-symbol.js","webpack://fider/./public/assets/images/fa-caretdown.svg","webpack://fider/./public/assets/images/fa-caretup.svg","webpack://fider/./public/assets/images/heroicons-bell.svg","webpack://fider/./public/assets/images/heroicons-check-circle.svg","webpack://fider/./public/assets/images/heroicons-duplicate.svg","webpack://fider/./public/assets/images/heroicons-exclamation-circle.svg","webpack://fider/./public/assets/images/heroicons-exclamation.svg","webpack://fider/./public/assets/images/heroicons-photograph.svg","webpack://fider/./public/assets/images/heroicons-shieldcheck.svg","webpack://fider/./public/assets/images/heroicons-sparkles-outline.svg","webpack://fider/./public/assets/images/heroicons-thumbsdown.svg","webpack://fider/./public/assets/images/heroicons-thumbsup.svg","webpack://fider/./public/assets/images/heroicons-trash.svg","webpack://fider/./public/assets/images/heroicons-x.svg","webpack://fider/./public/assets/images/reaction-add.svg","webpack://fider/./public/assets/images/undraw-empty.svg","webpack://fider/./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js","webpack://fider/./node_modules/unraw/dist/errors.js","webpack://fider/./node_modules/unraw/dist/index.js","webpack://fider/./node_modules/use-composed-ref/dist/use-composed-ref.esm.js","webpack://fider/./node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","webpack://fider/./node_modules/use-latest/dist/use-latest.esm.js","webpack://fider/./public/pages/ lazy ^\\.\\/.*$ include: \\.page.tsx$ chunkName: [request] namespace object","webpack://fider/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://fider/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://fider/./node_modules/immer/dist/immer.mjs","webpack://fider/./node_modules/is-plain-object/dist/is-plain-object.mjs","webpack://fider/./node_modules/compute-scroll-into-view/dist/index.js","webpack://fider/./node_modules/scroll-into-view-if-needed/dist/index.js"],"sourcesContent":["var map = {\n\t\"./ar/client.json\": [\n\t\t8373,\n\t\t4528\n\t],\n\t\"./de/client.json\": [\n\t\t7777,\n\t\t8764\n\t],\n\t\"./el/client.json\": [\n\t\t7843,\n\t\t6598\n\t],\n\t\"./en/client.json\": [\n\t\t6853,\n\t\t1184\n\t],\n\t\"./es-ES/client.json\": [\n\t\t1525,\n\t\t2976\n\t],\n\t\"./fr/client.json\": [\n\t\t2400,\n\t\t881\n\t],\n\t\"./it/client.json\": [\n\t\t5607,\n\t\t3754\n\t],\n\t\"./nl/client.json\": [\n\t\t530,\n\t\t6451\n\t],\n\t\"./pl/client.json\": [\n\t\t3340,\n\t\t2301\n\t],\n\t\"./pt-BR/client.json\": [\n\t\t7741,\n\t\t4392\n\t],\n\t\"./ru/client.json\": [\n\t\t3799,\n\t\t2554\n\t],\n\t\"./sk/client.json\": [\n\t\t4690,\n\t\t7619\n\t],\n\t\"./sv-SE/client.json\": [\n\t\t5812,\n\t\t4357\n\t],\n\t\"./tr/client.json\": [\n\t\t6802,\n\t\t9075\n\t],\n\t\"./zh-CN/client.json\": [\n\t\t9492,\n\t\t5637\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 5616;\nmodule.exports = webpackAsyncContext;","var resizeObservers = [];\nexport { resizeObservers };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { useRef, useEffect } from \"react\"\n\ntype CallbackFunction = () => void\n\nexport function useTimeout(callback: CallbackFunction, delay: number) {\n const savedCallback = useRef<CallbackFunction>()\n\n useEffect(() => {\n savedCallback.current = callback\n })\n\n useEffect(() => {\n function tick() {\n if (savedCallback.current) {\n savedCallback.current()\n }\n }\n const timer = window.setTimeout(tick, delay)\n return function cleanup() {\n window.clearTimeout(timer)\n }\n }, [delay])\n}\n","import { useContext } from \"react\"\nimport { FiderContext } from \"@fider/services\"\n\nexport const useFider = () => useContext(FiderContext)\n","import { useEffect, useState } from \"react\"\n\ntype ScriptStatus = \"loading\" | \"idle\" | \"ready\" | \"error\"\n\n// Hook\nexport function useScript(src: string) {\n const [status, setStatus] = useState<ScriptStatus>(src ? \"loading\" : \"idle\")\n\n useEffect(\n () => {\n // Allow falsy src value if waiting on other data needed for\n // constructing the script URL passed to this hook.\n if (!src) {\n setStatus(\"idle\")\n return\n }\n\n // Fetch existing script element by src\n // It may have been added by another intance of this hook\n let script: HTMLScriptElement | null = document.querySelector(`script[src=\"${src}\"]`)\n if (!script) {\n // Create script\n script = document.createElement(\"script\")\n script.src = src\n script.async = true\n script.setAttribute(\"data-status\", \"loading\")\n // Add script to document body\n document.body.appendChild(script)\n // Store status in attribute on script\n // This can be read by other instances of this hook\n const setAttributeFromEvent = (event: Event) => {\n if (!script) return\n\n script.setAttribute(\"data-status\", event.type === \"load\" ? \"ready\" : \"error\")\n }\n script.addEventListener(\"load\", setAttributeFromEvent)\n script.addEventListener(\"error\", setAttributeFromEvent)\n } else {\n // Grab existing script status from attribute and set to state.\n const status = script.getAttribute(\"data-status\") as ScriptStatus\n if (status) {\n setStatus(status)\n }\n }\n\n // Script event handler to update status in state\n // Note: Even if the script already exists we still need to add\n // event handlers to update the state for *this* hook instance.\n const setStateFromEvent = (event: Event) => {\n setStatus(event.type === \"load\" ? \"ready\" : \"error\")\n }\n // Add event listeners\n script.addEventListener(\"load\", setStateFromEvent)\n script.addEventListener(\"error\", setStateFromEvent)\n // Remove event listeners on cleanup\n return () => {\n if (script) {\n script.removeEventListener(\"load\", setStateFromEvent)\n script.removeEventListener(\"error\", setStateFromEvent)\n }\n }\n },\n [src] // Only re-run effect if script src changes\n )\n return status\n}\n","import { Dispatch, useEffect, useState } from \"react\"\n\nconst isClient = typeof window !== \"undefined\"\n\nexport function useCache(key: string, defaultValue: string): [string, Dispatch<string>] {\n const [value, setValue] = useState(defaultValue)\n\n const setCachedValue = (newValue: string) => {\n if (isClient && window.sessionStorage) {\n window.sessionStorage.setItem(key, newValue)\n }\n setValue(newValue)\n }\n\n useEffect(() => {\n if (isClient) {\n const cachedValue = window.sessionStorage?.getItem(key)\n if (cachedValue) {\n setValue(cachedValue)\n }\n }\n }, [key, setValue])\n\n return [value, setCachedValue]\n}\n","import { lazy, ComponentType } from \"react\"\n\ntype LazyImport = () => Promise<{ default: ComponentType<any> }>\n\nconst MAX_RETRIES = 6\nconst INTERVAL = 1000\n\nconst retry = (fn: LazyImport, retriesLeft = MAX_RETRIES, waitMs = INTERVAL): Promise<{ default: ComponentType<any> }> => {\n return new Promise((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((err) => {\n setTimeout(() => {\n if (retriesLeft === 1) {\n reject(new Error(`${err} after ${MAX_RETRIES} retries`))\n return\n }\n retry(fn, retriesLeft - 1, INTERVAL + INTERVAL).then(resolve, reject)\n }, waitMs)\n })\n })\n}\n\nconst load = (fn: LazyImport) => lazy(() => retry(() => fn()))\n\nexport const AsyncPage = (pageName: string) =>\n load(\n () =>\n import(\n /* webpackInclude: /\\.page.tsx$/ */\n /* webpackChunkName: \"[request]\" */\n `@fider/pages/${pageName}`\n )\n )\n","import \"@fider/assets/styles/index.scss\"\n\nimport React, { Suspense } from \"react\"\nimport { createRoot } from \"react-dom/client\"\nimport { ErrorBoundary, Loader, ReadOnlyNotice, DevBanner } from \"@fider/components\"\nimport { classSet, Fider, FiderContext, actions, activateI18N } from \"@fider/services\"\n\nimport { I18n } from \"@lingui/core\"\nimport { I18nProvider } from \"@lingui/react\"\nimport { AsyncPage } from \"./AsyncPages\"\nimport Footer from \"./components/Footer\"\n\nconst Loading = () => (\n <div className=\"page\">\n <Loader />\n </div>\n)\n\nconst logProductionError = (err: Error) => {\n if (Fider.isProduction()) {\n console.error(err)\n actions.logError(`react.ErrorBoundary: ${err.message}`, err)\n }\n}\n\nwindow.addEventListener(\"unhandledrejection\", (evt: PromiseRejectionEvent) => {\n if (evt.reason instanceof Error) {\n actions.logError(`window.unhandledrejection: ${evt.reason.message}`, evt.reason)\n } else if (evt.reason) {\n actions.logError(`window.unhandledrejection: ${evt.reason.toString()}`)\n }\n})\n\nwindow.addEventListener(\"error\", (evt: ErrorEvent) => {\n if (evt.error && evt.colno > 0 && evt.lineno > 0) {\n actions.logError(`window.error: ${evt.message}`, evt.error)\n }\n})\n\nconst bootstrapApp = (i18n: I18n) => {\n const component = AsyncPage(fider.session.page)\n document.body.className = classSet({\n \"is-authenticated\": fider.session.isAuthenticated,\n \"is-staff\": fider.session.isAuthenticated && fider.session.user.isCollaborator,\n \"is-moderator\": fider.session.isAuthenticated && fider.session.user.isModerator,\n })\n\n const rootElement = document.getElementById(\"root\")\n if (rootElement) {\n const root = createRoot(rootElement)\n root.render(\n <React.StrictMode>\n <ErrorBoundary onError={logProductionError}>\n <I18nProvider i18n={i18n}>\n <FiderContext.Provider value={fider}>\n <DevBanner />\n <ReadOnlyNotice />\n <Suspense fallback={<Loading />}>\n {React.createElement(component, fider.session.props)}\n </Suspense>\n <Footer />\n </FiderContext.Provider>\n </I18nProvider>\n </ErrorBoundary>\n </React.StrictMode>\n )\n }\n}\nconst fider = Fider.initialize()\n;(window as any).__webpack_nonce__ = fider.session.contextID\n;(window as any).__webpack_public_path__ = `${fider.settings.assetsURL}/assets/`\nactivateI18N(fider.currentLocale).then(bootstrapApp).catch(bootstrapApp)\n","import React from \"react\"\nimport { TenantLogo } from \"@fider/components\"\nimport { useFider } from \"@fider/hooks\"\n\ninterface ErrorPageProps {\n error: Error\n errorInfo: React.ErrorInfo\n showDetails?: boolean\n}\n\nexport const ErrorPage = (props: ErrorPageProps) => {\n const fider = useFider()\n\n return (\n <div id=\"p-error\" className=\"container page\">\n <div className=\"w-max-7xl mx-auto\">\n <div className=\"h-20 text-center mb-4\">\n <TenantLogo size={100} useFiderIfEmpty={true} />\n </div>\n <h1 className=\"text-display\">Shoot! Well, this is unexpected…</h1>\n <p>An error has occurred and we're working to fix the problem!</p>\n {fider.settings && (\n <span>\n Take me back to{\" \"}\n <a className=\"text-link\" href={fider.settings.baseURL}>\n {fider.settings.baseURL}\n </a>{\" \"}\n home page.\n </span>\n )}\n </div>\n {props.showDetails && (\n <pre>\n {props.error.toString()}\n {props.errorInfo.componentStack}\n </pre>\n )}\n </div>\n )\n}\n","'use strict'\n\nmodule.exports = direction\n\nvar RTL = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\nvar LTR =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6' +\n '\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF\\u200E\\u2C00-\\uFB1C' +\n '\\uFE00-\\uFE6F\\uFEFD-\\uFFFF'\n\nvar rtl = new RegExp('^[^' + LTR + ']*[' + RTL + ']')\nvar ltr = new RegExp('^[^' + RTL + ']*[' + LTR + ']')\n\nfunction direction(value) {\n value = String(value || '')\n\n if (rtl.test(value)) {\n return 'rtl'\n }\n\n if (ltr.test(value)) {\n return 'ltr'\n }\n\n return 'neutral'\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * Constants.\n */\n\nvar IS_MAC = typeof window != 'undefined' && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);\n\nvar MODIFIERS = {\n alt: 'altKey',\n control: 'ctrlKey',\n meta: 'metaKey',\n shift: 'shiftKey'\n};\n\nvar ALIASES = {\n add: '+',\n break: 'pause',\n cmd: 'meta',\n command: 'meta',\n ctl: 'control',\n ctrl: 'control',\n del: 'delete',\n down: 'arrowdown',\n esc: 'escape',\n ins: 'insert',\n left: 'arrowleft',\n mod: IS_MAC ? 'meta' : 'control',\n opt: 'alt',\n option: 'alt',\n return: 'enter',\n right: 'arrowright',\n space: ' ',\n spacebar: ' ',\n up: 'arrowup',\n win: 'meta',\n windows: 'meta'\n};\n\nvar CODES = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n control: 17,\n alt: 18,\n pause: 19,\n capslock: 20,\n escape: 27,\n ' ': 32,\n pageup: 33,\n pagedown: 34,\n end: 35,\n home: 36,\n arrowleft: 37,\n arrowup: 38,\n arrowright: 39,\n arrowdown: 40,\n insert: 45,\n delete: 46,\n meta: 91,\n numlock: 144,\n scrolllock: 145,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n '\\'': 222\n};\n\nfor (var f = 1; f < 20; f++) {\n CODES['f' + f] = 111 + f;\n}\n\n/**\n * Is hotkey?\n */\n\nfunction isHotkey(hotkey, options, event) {\n if (options && !('byKey' in options)) {\n event = options;\n options = null;\n }\n\n if (!Array.isArray(hotkey)) {\n hotkey = [hotkey];\n }\n\n var array = hotkey.map(function (string) {\n return parseHotkey(string, options);\n });\n var check = function check(e) {\n return array.some(function (object) {\n return compareHotkey(object, e);\n });\n };\n var ret = event == null ? check : check(event);\n return ret;\n}\n\nfunction isCodeHotkey(hotkey, event) {\n return isHotkey(hotkey, event);\n}\n\nfunction isKeyHotkey(hotkey, event) {\n return isHotkey(hotkey, { byKey: true }, event);\n}\n\n/**\n * Parse.\n */\n\nfunction parseHotkey(hotkey, options) {\n var byKey = options && options.byKey;\n var ret = {};\n\n // Special case to handle the `+` key since we use it as a separator.\n hotkey = hotkey.replace('++', '+add');\n var values = hotkey.split('+');\n var length = values.length;\n\n // Ensure that all the modifiers are set to false unless the hotkey has them.\n\n for (var k in MODIFIERS) {\n ret[MODIFIERS[k]] = false;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = values[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var value = _step.value;\n\n var optional = value.endsWith('?') && value.length > 1;\n\n if (optional) {\n value = value.slice(0, -1);\n }\n\n var name = toKeyName(value);\n var modifier = MODIFIERS[name];\n\n if (value.length > 1 && !modifier && !ALIASES[value] && !CODES[name]) {\n throw new TypeError('Unknown modifier: \"' + value + '\"');\n }\n\n if (length === 1 || !modifier) {\n if (byKey) {\n ret.key = name;\n } else {\n ret.which = toKeyCode(value);\n }\n }\n\n if (modifier) {\n ret[modifier] = optional ? null : true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return ret;\n}\n\n/**\n * Compare.\n */\n\nfunction compareHotkey(object, event) {\n for (var key in object) {\n var expected = object[key];\n var actual = void 0;\n\n if (expected == null) {\n continue;\n }\n\n if (key === 'key' && event.key != null) {\n actual = event.key.toLowerCase();\n } else if (key === 'which') {\n actual = expected === 91 && event.which === 93 ? 91 : event.which;\n } else {\n actual = event[key];\n }\n\n if (actual == null && expected === false) {\n continue;\n }\n\n if (actual !== expected) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Utils.\n */\n\nfunction toKeyCode(name) {\n name = toKeyName(name);\n var code = CODES[name] || name.toUpperCase().charCodeAt(0);\n return code;\n}\n\nfunction toKeyName(name) {\n name = name.toLowerCase();\n name = ALIASES[name] || name;\n return name;\n}\n\n/**\n * Export.\n */\n\nexports.default = isHotkey;\nexports.isHotkey = isHotkey;\nexports.isCodeHotkey = isCodeHotkey;\nexports.isKeyHotkey = isKeyHotkey;\nexports.parseHotkey = parseHotkey;\nexports.compareHotkey = compareHotkey;\nexports.toKeyCode = toKeyCode;\nexports.toKeyName = toKeyName;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","import { Transforms, Element, Editor, Scrubber, Range, Node, Text, Path, Point } from 'slate';\nimport { isHotkey } from 'is-hotkey';\n\n/**\n * Types.\n */\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nvar DOMNode = globalThis.Node;\nvar DOMElement = globalThis.Element;\nvar DOMText = globalThis.Text;\nvar DOMRange = globalThis.Range;\nvar DOMSelection = globalThis.Selection;\nvar DOMStaticRange = globalThis.StaticRange;\n/**\n * Returns the host window of a DOM node\n */\nvar getDefaultView = value => {\n return value && value.ownerDocument && value.ownerDocument.defaultView || null;\n};\n/**\n * Check if a DOM node is a comment node.\n */\nvar isDOMComment = value => {\n return isDOMNode(value) && value.nodeType === 8;\n};\n/**\n * Check if a DOM node is an element node.\n */\nvar isDOMElement = value => {\n return isDOMNode(value) && value.nodeType === 1;\n};\n/**\n * Check if a value is a DOM node.\n */\nvar isDOMNode = value => {\n var window = getDefaultView(value);\n return !!window && value instanceof window.Node;\n};\n/**\n * Check if a value is a DOM selection.\n */\nvar isDOMSelection = value => {\n var window = value && value.anchorNode && getDefaultView(value.anchorNode);\n return !!window && value instanceof window.Selection;\n};\n/**\n * Check if a DOM node is an element node.\n */\nvar isDOMText = value => {\n return isDOMNode(value) && value.nodeType === 3;\n};\n/**\n * Checks whether a paste event is a plaintext-only event.\n */\nvar isPlainTextOnlyPaste = event => {\n return event.clipboardData && event.clipboardData.getData('text/plain') !== '' && event.clipboardData.types.length === 1;\n};\n/**\n * Normalize a DOM point so that it always refers to a text node.\n */\nvar normalizeDOMPoint = domPoint => {\n var [node, offset] = domPoint;\n // If it's an element node, its offset refers to the index of its children\n // including comment nodes, so try to find the right text child node.\n if (isDOMElement(node) && node.childNodes.length) {\n var isLast = offset === node.childNodes.length;\n var index = isLast ? offset - 1 : offset;\n [node, index] = getEditableChildAndIndex(node, index, isLast ? 'backward' : 'forward');\n // If the editable child found is in front of input offset, we instead seek to its end\n isLast = index < offset;\n // If the node has children, traverse until we have a leaf node. Leaf nodes\n // can be either text nodes, or other void DOM nodes.\n while (isDOMElement(node) && node.childNodes.length) {\n var i = isLast ? node.childNodes.length - 1 : 0;\n node = getEditableChild(node, i, isLast ? 'backward' : 'forward');\n }\n // Determine the new offset inside the text node.\n offset = isLast && node.textContent != null ? node.textContent.length : 0;\n }\n // Return the node and offset.\n return [node, offset];\n};\n/**\n * Determines whether the active element is nested within a shadowRoot\n */\nvar hasShadowRoot = node => {\n var parent = node && node.parentNode;\n while (parent) {\n if (parent.toString() === '[object ShadowRoot]') {\n return true;\n }\n parent = parent.parentNode;\n }\n return false;\n};\n/**\n * Get the nearest editable child and index at `index` in a `parent`, preferring\n * `direction`.\n */\nvar getEditableChildAndIndex = (parent, index, direction) => {\n var {\n childNodes\n } = parent;\n var child = childNodes[index];\n var i = index;\n var triedForward = false;\n var triedBackward = false;\n // While the child is a comment node, or an element node with no children,\n // keep iterating to find a sibling non-void, non-comment node.\n while (isDOMComment(child) || isDOMElement(child) && child.childNodes.length === 0 || isDOMElement(child) && child.getAttribute('contenteditable') === 'false') {\n if (triedForward && triedBackward) {\n break;\n }\n if (i >= childNodes.length) {\n triedForward = true;\n i = index - 1;\n direction = 'backward';\n continue;\n }\n if (i < 0) {\n triedBackward = true;\n i = index + 1;\n direction = 'forward';\n continue;\n }\n child = childNodes[i];\n index = i;\n i += direction === 'forward' ? 1 : -1;\n }\n return [child, index];\n};\n/**\n * Get the nearest editable child at `index` in a `parent`, preferring\n * `direction`.\n */\nvar getEditableChild = (parent, index, direction) => {\n var [child] = getEditableChildAndIndex(parent, index, direction);\n return child;\n};\n/**\n * Get a plaintext representation of the content of a node, accounting for block\n * elements which get a newline appended.\n *\n * The domNode must be attached to the DOM.\n */\nvar getPlainText = domNode => {\n var text = '';\n if (isDOMText(domNode) && domNode.nodeValue) {\n return domNode.nodeValue;\n }\n if (isDOMElement(domNode)) {\n for (var childNode of Array.from(domNode.childNodes)) {\n text += getPlainText(childNode);\n }\n var display = getComputedStyle(domNode).getPropertyValue('display');\n if (display === 'block' || display === 'list' || domNode.tagName === 'BR') {\n text += '\\n';\n }\n }\n return text;\n};\n/**\n * Get x-slate-fragment attribute from data-slate-fragment\n */\nvar catchSlateFragment = /data-slate-fragment=\"(.+?)\"/m;\nvar getSlateFragmentAttribute = dataTransfer => {\n var htmlData = dataTransfer.getData('text/html');\n var [, fragment] = htmlData.match(catchSlateFragment) || [];\n return fragment;\n};\n/**\n * Get the dom selection from Shadow Root if possible, otherwise from the document\n */\nvar getSelection = root => {\n if (root.getSelection != null) {\n return root.getSelection();\n }\n return document.getSelection();\n};\n/**\n * Check whether a mutation originates from a editable element inside the editor.\n */\nvar isTrackedMutation = (editor, mutation, batch) => {\n var {\n target\n } = mutation;\n if (isDOMElement(target) && target.matches('[contentEditable=\"false\"]')) {\n return false;\n }\n var {\n document\n } = DOMEditor.getWindow(editor);\n if (document.contains(target)) {\n return DOMEditor.hasDOMNode(editor, target, {\n editable: true\n });\n }\n var parentMutation = batch.find(_ref => {\n var {\n addedNodes,\n removedNodes\n } = _ref;\n for (var node of addedNodes) {\n if (node === target || node.contains(target)) {\n return true;\n }\n }\n for (var _node of removedNodes) {\n if (_node === target || _node.contains(target)) {\n return true;\n }\n }\n });\n if (!parentMutation || parentMutation === mutation) {\n return false;\n }\n // Target add/remove is tracked. Track the mutation if we track the parent mutation.\n return isTrackedMutation(editor, parentMutation, batch);\n};\n/**\n * Retrieves the deepest active element in the DOM, considering nested shadow DOMs.\n */\nvar getActiveElement = () => {\n var activeElement = document.activeElement;\n while ((_activeElement = activeElement) !== null && _activeElement !== void 0 && _activeElement.shadowRoot && (_activeElement$shadow = activeElement.shadowRoot) !== null && _activeElement$shadow !== void 0 && _activeElement$shadow.activeElement) {\n var _activeElement, _activeElement$shadow, _activeElement2;\n activeElement = (_activeElement2 = activeElement) === null || _activeElement2 === void 0 || (_activeElement2 = _activeElement2.shadowRoot) === null || _activeElement2 === void 0 ? void 0 : _activeElement2.activeElement;\n }\n return activeElement;\n};\n/**\n * @returns `true` if `otherNode` is before `node` in the document; otherwise, `false`.\n */\nvar isBefore = (node, otherNode) => Boolean(node.compareDocumentPosition(otherNode) & DOMNode.DOCUMENT_POSITION_PRECEDING);\n/**\n * @returns `true` if `otherNode` is after `node` in the document; otherwise, `false`.\n */\nvar isAfter = (node, otherNode) => Boolean(node.compareDocumentPosition(otherNode) & DOMNode.DOCUMENT_POSITION_FOLLOWING);\n\nvar _navigator$userAgent$, _navigator$userAgent$2;\nvar IS_IOS = typeof navigator !== 'undefined' && typeof window !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\nvar IS_APPLE = typeof navigator !== 'undefined' && /Mac OS X/.test(navigator.userAgent);\nvar IS_ANDROID = typeof navigator !== 'undefined' && /Android/.test(navigator.userAgent);\nvar IS_FIREFOX = typeof navigator !== 'undefined' && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nvar IS_WEBKIT = typeof navigator !== 'undefined' && /AppleWebKit(?!.*Chrome)/i.test(navigator.userAgent);\n// \"modern\" Edge was released at 79.x\nvar IS_EDGE_LEGACY = typeof navigator !== 'undefined' && /Edge?\\/(?:[0-6][0-9]|[0-7][0-8])(?:\\.)/i.test(navigator.userAgent);\nvar IS_CHROME = typeof navigator !== 'undefined' && /Chrome/i.test(navigator.userAgent);\n// Native `beforeInput` events don't work well with react on Chrome 75\n// and older, Chrome 76+ can use `beforeInput` though.\nvar IS_CHROME_LEGACY = typeof navigator !== 'undefined' && /Chrome?\\/(?:[0-7][0-5]|[0-6][0-9])(?:\\.)/i.test(navigator.userAgent);\nvar IS_ANDROID_CHROME_LEGACY = IS_ANDROID && typeof navigator !== 'undefined' && /Chrome?\\/(?:[0-5]?\\d)(?:\\.)/i.test(navigator.userAgent);\n// Firefox did not support `beforeInput` until `v87`.\nvar IS_FIREFOX_LEGACY = typeof navigator !== 'undefined' && /^(?!.*Seamonkey)(?=.*Firefox\\/(?:[0-7][0-9]|[0-8][0-6])(?:\\.)).*/i.test(navigator.userAgent);\n// UC mobile browser\nvar IS_UC_MOBILE = typeof navigator !== 'undefined' && /.*UCBrowser/.test(navigator.userAgent);\n// Wechat browser (not including mac wechat)\nvar IS_WECHATBROWSER = typeof navigator !== 'undefined' && /.*Wechat/.test(navigator.userAgent) && !/.*MacWechat/.test(navigator.userAgent); // avoid lookbehind (buggy in safari < 16.4)\n// Check if DOM is available as React does internally.\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nvar CAN_USE_DOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n// Check if the browser is Safari and older than 17\ntypeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) && /Version\\/(\\d+)/.test(navigator.userAgent) && ((_navigator$userAgent$ = navigator.userAgent.match(/Version\\/(\\d+)/)) !== null && _navigator$userAgent$ !== void 0 && _navigator$userAgent$[1] ? parseInt((_navigator$userAgent$2 = navigator.userAgent.match(/Version\\/(\\d+)/)) === null || _navigator$userAgent$2 === void 0 ? void 0 : _navigator$userAgent$2[1], 10) < 17 : false);\n// COMPAT: Firefox/Edge Legacy don't support the `beforeinput` event\n// Chrome Legacy doesn't support `beforeinput` correctly\nvar HAS_BEFORE_INPUT_SUPPORT = (!IS_CHROME_LEGACY || !IS_ANDROID_CHROME_LEGACY) && !IS_EDGE_LEGACY &&\n// globalThis is undefined in older browsers\ntypeof globalThis !== 'undefined' && globalThis.InputEvent &&\n// @ts-ignore The `getTargetRanges` property isn't recognized.\ntypeof globalThis.InputEvent.prototype.getTargetRanges === 'function';\n\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n/**\n * An auto-incrementing identifier for keys.\n */\nvar n = 0;\n/**\n * A class that keeps track of a key string. We use a full class here because we\n * want to be able to use them as keys in `WeakMap` objects.\n */\nclass Key {\n constructor() {\n _defineProperty(this, \"id\", void 0);\n this.id = \"\".concat(n++);\n }\n}\n\n/**\n * Two weak maps that allow us rebuild a path given a node. They are populated\n * at render time such that after a render occurs we can always backtrack.\n */\nvar IS_NODE_MAP_DIRTY = new WeakMap();\nvar NODE_TO_INDEX = new WeakMap();\nvar NODE_TO_PARENT = new WeakMap();\n/**\n * Weak maps that allow us to go between Slate nodes and DOM nodes. These\n * are used to resolve DOM event-related logic into Slate actions.\n */\nvar EDITOR_TO_WINDOW = new WeakMap();\nvar EDITOR_TO_ELEMENT = new WeakMap();\nvar EDITOR_TO_PLACEHOLDER_ELEMENT = new WeakMap();\nvar ELEMENT_TO_NODE = new WeakMap();\nvar NODE_TO_ELEMENT = new WeakMap();\nvar NODE_TO_KEY = new WeakMap();\nvar EDITOR_TO_KEY_TO_ELEMENT = new WeakMap();\n/**\n * Weak maps for storing editor-related state.\n */\nvar IS_READ_ONLY = new WeakMap();\nvar IS_FOCUSED = new WeakMap();\nvar IS_COMPOSING = new WeakMap();\nvar EDITOR_TO_USER_SELECTION = new WeakMap();\n/**\n * Weak map for associating the context `onChange` context with the plugin.\n */\nvar EDITOR_TO_ON_CHANGE = new WeakMap();\n/**\n * Weak maps for saving pending state on composition stage.\n */\nvar EDITOR_TO_SCHEDULE_FLUSH = new WeakMap();\nvar EDITOR_TO_PENDING_INSERTION_MARKS = new WeakMap();\nvar EDITOR_TO_USER_MARKS = new WeakMap();\n/**\n * Android input handling specific weak-maps\n */\nvar EDITOR_TO_PENDING_DIFFS = new WeakMap();\nvar EDITOR_TO_PENDING_ACTION = new WeakMap();\nvar EDITOR_TO_PENDING_SELECTION = new WeakMap();\nvar EDITOR_TO_FORCE_RENDER = new WeakMap();\n/**\n * Symbols.\n */\nvar PLACEHOLDER_SYMBOL = Symbol('placeholder');\nvar MARK_PLACEHOLDER_SYMBOL = Symbol('mark-placeholder');\n\n// eslint-disable-next-line no-redeclare\nvar DOMEditor = {\n androidPendingDiffs: editor => EDITOR_TO_PENDING_DIFFS.get(editor),\n androidScheduleFlush: editor => {\n var _EDITOR_TO_SCHEDULE_F;\n (_EDITOR_TO_SCHEDULE_F = EDITOR_TO_SCHEDULE_FLUSH.get(editor)) === null || _EDITOR_TO_SCHEDULE_F === void 0 || _EDITOR_TO_SCHEDULE_F();\n },\n blur: editor => {\n var el = DOMEditor.toDOMNode(editor, editor);\n var root = DOMEditor.findDocumentOrShadowRoot(editor);\n IS_FOCUSED.set(editor, false);\n if (root.activeElement === el) {\n el.blur();\n }\n },\n deselect: editor => {\n var {\n selection\n } = editor;\n var root = DOMEditor.findDocumentOrShadowRoot(editor);\n var domSelection = getSelection(root);\n if (domSelection && domSelection.rangeCount > 0) {\n domSelection.removeAllRanges();\n }\n if (selection) {\n Transforms.deselect(editor);\n }\n },\n findDocumentOrShadowRoot: editor => {\n var el = DOMEditor.toDOMNode(editor, editor);\n var root = el.getRootNode();\n if (root instanceof Document || root instanceof ShadowRoot) {\n return root;\n }\n return el.ownerDocument;\n },\n findEventRange: (editor, event) => {\n if ('nativeEvent' in event) {\n event = event.nativeEvent;\n }\n var {\n clientX: x,\n clientY: y,\n target\n } = event;\n if (x == null || y == null) {\n throw new Error(\"Cannot resolve a Slate range from a DOM event: \".concat(event));\n }\n var node = DOMEditor.toSlateNode(editor, event.target);\n var path = DOMEditor.findPath(editor, node);\n // If the drop target is inside a void node, move it into either the\n // next or previous node, depending on which side the `x` and `y`\n // coordinates are closest to.\n if (Element.isElement(node) && Editor.isVoid(editor, node)) {\n var rect = target.getBoundingClientRect();\n var isPrev = editor.isInline(node) ? x - rect.left < rect.left + rect.width - x : y - rect.top < rect.top + rect.height - y;\n var edge = Editor.point(editor, path, {\n edge: isPrev ? 'start' : 'end'\n });\n var point = isPrev ? Editor.before(editor, edge) : Editor.after(editor, edge);\n if (point) {\n var _range = Editor.range(editor, point);\n return _range;\n }\n }\n // Else resolve a range from the caret position where the drop occured.\n var domRange;\n var {\n document\n } = DOMEditor.getWindow(editor);\n // COMPAT: In Firefox, `caretRangeFromPoint` doesn't exist. (2016/07/25)\n if (document.caretRangeFromPoint) {\n domRange = document.caretRangeFromPoint(x, y);\n } else {\n var position = document.caretPositionFromPoint(x, y);\n if (position) {\n domRange = document.createRange();\n domRange.setStart(position.offsetNode, position.offset);\n domRange.setEnd(position.offsetNode, position.offset);\n }\n }\n if (!domRange) {\n throw new Error(\"Cannot resolve a Slate range from a DOM event: \".concat(event));\n }\n // Resolve a Slate range from the DOM range.\n var range = DOMEditor.toSlateRange(editor, domRange, {\n exactMatch: false,\n suppressThrow: false\n });\n return range;\n },\n findKey: (editor, node) => {\n var key = NODE_TO_KEY.get(node);\n if (!key) {\n key = new Key();\n NODE_TO_KEY.set(node, key);\n }\n return key;\n },\n findPath: (editor, node) => {\n var path = [];\n var child = node;\n while (true) {\n var parent = NODE_TO_PARENT.get(child);\n if (parent == null) {\n if (Editor.isEditor(child)) {\n return path;\n } else {\n break;\n }\n }\n var i = NODE_TO_INDEX.get(child);\n if (i == null) {\n break;\n }\n path.unshift(i);\n child = parent;\n }\n throw new Error(\"Unable to find the path for Slate node: \".concat(Scrubber.stringify(node)));\n },\n focus: function focus(editor) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n retries: 5\n };\n // Return if already focused\n if (IS_FOCUSED.get(editor)) {\n return;\n }\n // Retry setting focus if the editor has pending operations.\n // The DOM (selection) is unstable while changes are applied.\n // Retry until retries are exhausted or editor is focused.\n if (options.retries <= 0) {\n throw new Error('Could not set focus, editor seems stuck with pending operations');\n }\n if (editor.operations.length > 0) {\n setTimeout(() => {\n DOMEditor.focus(editor, {\n retries: options.retries - 1\n });\n }, 10);\n return;\n }\n var el = DOMEditor.toDOMNode(editor, editor);\n var root = DOMEditor.findDocumentOrShadowRoot(editor);\n if (root.activeElement !== el) {\n // Ensure that the DOM selection state is set to the editor's selection\n if (editor.selection && root instanceof Document) {\n var domSelection = getSelection(root);\n var domRange = DOMEditor.toDOMRange(editor, editor.selection);\n domSelection === null || domSelection === void 0 || domSelection.removeAllRanges();\n domSelection === null || domSelection === void 0 || domSelection.addRange(domRange);\n }\n // Create a new selection in the top of the document if missing\n if (!editor.selection) {\n Transforms.select(editor, Editor.start(editor, []));\n }\n // IS_FOCUSED should be set before calling el.focus() to ensure that\n // FocusedContext is updated to the correct value\n IS_FOCUSED.set(editor, true);\n el.focus({\n preventScroll: true\n });\n }\n },\n getWindow: editor => {\n var window = EDITOR_TO_WINDOW.get(editor);\n if (!window) {\n throw new Error('Unable to find a host window element for this editor');\n }\n return window;\n },\n hasDOMNode: function hasDOMNode(editor, target) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var {\n editable = false\n } = options;\n var editorEl = DOMEditor.toDOMNode(editor, editor);\n var targetEl;\n // COMPAT: In Firefox, reading `target.nodeType` will throw an error if\n // target is originating from an internal \"restricted\" element (e.g. a\n // stepper arrow on a number input). (2018/05/04)\n // https://github.com/ianstormtaylor/slate/issues/1819\n try {\n targetEl = isDOMElement(target) ? target : target.parentElement;\n } catch (err) {\n if (err instanceof Error && !err.message.includes('Permission denied to access property \"nodeType\"')) {\n throw err;\n }\n }\n if (!targetEl) {\n return false;\n }\n return targetEl.closest(\"[data-slate-editor]\") === editorEl && (!editable || targetEl.isContentEditable ? true : typeof targetEl.isContentEditable === 'boolean' &&\n // isContentEditable exists only on HTMLElement, and on other nodes it will be undefined\n // this is the core logic that lets you know you got the right editor.selection instead of null when editor is contenteditable=\"false\"(readOnly)\n targetEl.closest('[contenteditable=\"false\"]') === editorEl || !!targetEl.getAttribute('data-slate-zero-width'));\n },\n hasEditableTarget: (editor, target) => isDOMNode(target) && DOMEditor.hasDOMNode(editor, target, {\n editable: true\n }),\n hasRange: (editor, range) => {\n var {\n anchor,\n focus\n } = range;\n return Editor.hasPath(editor, anchor.path) && Editor.hasPath(editor, focus.path);\n },\n hasSelectableTarget: (editor, target) => DOMEditor.hasEditableTarget(editor, target) || DOMEditor.isTargetInsideNonReadonlyVoid(editor, target),\n hasTarget: (editor, target) => isDOMNode(target) && DOMEditor.hasDOMNode(editor, target),\n insertData: (editor, data) => {\n editor.insertData(data);\n },\n insertFragmentData: (editor, data) => editor.insertFragmentData(data),\n insertTextData: (editor, data) => editor.insertTextData(data),\n isComposing: editor => {\n return !!IS_COMPOSING.get(editor);\n },\n isFocused: editor => !!IS_FOCUSED.get(editor),\n isReadOnly: editor => !!IS_READ_ONLY.get(editor),\n isTargetInsideNonReadonlyVoid: (editor, target) => {\n if (IS_READ_ONLY.get(editor)) return false;\n var slateNode = DOMEditor.hasTarget(editor, target) && DOMEditor.toSlateNode(editor, target);\n return Element.isElement(slateNode) && Editor.isVoid(editor, slateNode);\n },\n setFragmentData: (editor, data, originEvent) => editor.setFragmentData(data, originEvent),\n toDOMNode: (editor, node) => {\n var KEY_TO_ELEMENT = EDITOR_TO_KEY_TO_ELEMENT.get(editor);\n var domNode = Editor.isEditor(node) ? EDITOR_TO_ELEMENT.get(editor) : KEY_TO_ELEMENT === null || KEY_TO_ELEMENT === void 0 ? void 0 : KEY_TO_ELEMENT.get(DOMEditor.findKey(editor, node));\n if (!domNode) {\n throw new Error(\"Cannot resolve a DOM node from Slate node: \".concat(Scrubber.stringify(node)));\n }\n return domNode;\n },\n toDOMPoint: (editor, point) => {\n var [node] = Editor.node(editor, point.path);\n var el = DOMEditor.toDOMNode(editor, node);\n var domPoint;\n // If we're inside a void node, force the offset to 0, otherwise the zero\n // width spacing character will result in an incorrect offset of 1\n if (Editor.void(editor, {\n at: point\n })) {\n point = {\n path: point.path,\n offset: 0\n };\n }\n // For each leaf, we need to isolate its content, which means filtering\n // to its direct text and zero-width spans. (We have to filter out any\n // other siblings that may have been rendered alongside them.)\n var selector = \"[data-slate-string], [data-slate-zero-width]\";\n var texts = Array.from(el.querySelectorAll(selector));\n var start = 0;\n for (var i = 0; i < texts.length; i++) {\n var text = texts[i];\n var domNode = text.childNodes[0];\n if (domNode == null || domNode.textContent == null) {\n continue;\n }\n var {\n length\n } = domNode.textContent;\n var attr = text.getAttribute('data-slate-length');\n var trueLength = attr == null ? length : parseInt(attr, 10);\n var end = start + trueLength;\n // Prefer putting the selection inside the mark placeholder to ensure\n // composed text is displayed with the correct marks.\n var nextText = texts[i + 1];\n if (point.offset === end && nextText !== null && nextText !== void 0 && nextText.hasAttribute('data-slate-mark-placeholder')) {\n var _nextText$textContent;\n var domText = nextText.childNodes[0];\n domPoint = [\n // COMPAT: If we don't explicity set the dom point to be on the actual\n // dom text element, chrome will put the selection behind the actual dom\n // text element, causing domRange.getBoundingClientRect() calls on a collapsed\n // selection to return incorrect zero values (https://bugs.chromium.org/p/chromium/issues/detail?id=435438)\n // which will cause issues when scrolling to it.\n domText instanceof DOMText ? domText : nextText, (_nextText$textContent = nextText.textContent) !== null && _nextText$textContent !== void 0 && _nextText$textContent.startsWith('\\uFEFF') ? 1 : 0];\n break;\n }\n if (point.offset <= end) {\n var offset = Math.min(length, Math.max(0, point.offset - start));\n domPoint = [domNode, offset];\n break;\n }\n start = end;\n }\n if (!domPoint) {\n throw new Error(\"Cannot resolve a DOM point from Slate point: \".concat(Scrubber.stringify(point)));\n }\n return domPoint;\n },\n toDOMRange: (editor, range) => {\n var {\n anchor,\n focus\n } = range;\n var isBackward = Range.isBackward(range);\n var domAnchor = DOMEditor.toDOMPoint(editor, anchor);\n var domFocus = Range.isCollapsed(range) ? domAnchor : DOMEditor.toDOMPoint(editor, focus);\n var window = DOMEditor.getWindow(editor);\n var domRange = window.document.createRange();\n var [startNode, startOffset] = isBackward ? domFocus : domAnchor;\n var [endNode, endOffset] = isBackward ? domAnchor : domFocus;\n // A slate Point at zero-width Leaf always has an offset of 0 but a native DOM selection at\n // zero-width node has an offset of 1 so we have to check if we are in a zero-width node and\n // adjust the offset accordingly.\n var startEl = isDOMElement(startNode) ? startNode : startNode.parentElement;\n var isStartAtZeroWidth = !!startEl.getAttribute('data-slate-zero-width');\n var endEl = isDOMElement(endNode) ? endNode : endNode.parentElement;\n var isEndAtZeroWidth = !!endEl.getAttribute('data-slate-zero-width');\n domRange.setStart(startNode, isStartAtZeroWidth ? 1 : startOffset);\n domRange.setEnd(endNode, isEndAtZeroWidth ? 1 : endOffset);\n return domRange;\n },\n toSlateNode: (editor, domNode) => {\n var domEl = isDOMElement(domNode) ? domNode : domNode.parentElement;\n if (domEl && !domEl.hasAttribute('data-slate-node')) {\n domEl = domEl.closest(\"[data-slate-node]\");\n }\n var node = domEl ? ELEMENT_TO_NODE.get(domEl) : null;\n if (!node) {\n throw new Error(\"Cannot resolve a Slate node from DOM node: \".concat(domEl));\n }\n return node;\n },\n toSlatePoint: (editor, domPoint, options) => {\n var {\n exactMatch,\n suppressThrow,\n searchDirection = 'backward'\n } = options;\n var [nearestNode, nearestOffset] = exactMatch ? domPoint : normalizeDOMPoint(domPoint);\n var parentNode = nearestNode.parentNode;\n var textNode = null;\n var offset = 0;\n if (parentNode) {\n var _domNode$textContent, _domNode$textContent2;\n var editorEl = DOMEditor.toDOMNode(editor, editor);\n var potentialVoidNode = parentNode.closest('[data-slate-void=\"true\"]');\n // Need to ensure that the closest void node is actually a void node\n // within this editor, and not a void node within some parent editor. This can happen\n // if this editor is within a void node of another editor (\"nested editors\", like in\n // the \"Editable Voids\" example on the docs site).\n var voidNode = potentialVoidNode && editorEl.contains(potentialVoidNode) ? potentialVoidNode : null;\n var potentialNonEditableNode = parentNode.closest('[contenteditable=\"false\"]');\n var nonEditableNode = potentialNonEditableNode && editorEl.contains(potentialNonEditableNode) ? potentialNonEditableNode : null;\n var leafNode = parentNode.closest('[data-slate-leaf]');\n var domNode = null;\n // Calculate how far into the text node the `nearestNode` is, so that we\n // can determine what the offset relative to the text node is.\n if (leafNode) {\n textNode = leafNode.closest('[data-slate-node=\"text\"]');\n if (textNode) {\n var window = DOMEditor.getWindow(editor);\n var range = window.document.createRange();\n range.setStart(textNode, 0);\n range.setEnd(nearestNode, nearestOffset);\n var contents = range.cloneContents();\n var removals = [...Array.prototype.slice.call(contents.querySelectorAll('[data-slate-zero-width]')), ...Array.prototype.slice.call(contents.querySelectorAll('[contenteditable=false]'))];\n removals.forEach(el => {\n // COMPAT: While composing at the start of a text node, some keyboards put\n // the text content inside the zero width space.\n if (IS_ANDROID && !exactMatch && el.hasAttribute('data-slate-zero-width') && el.textContent.length > 0 && el.textContext !== '\\uFEFF') {\n if (el.textContent.startsWith('\\uFEFF')) {\n el.textContent = el.textContent.slice(1);\n }\n return;\n }\n el.parentNode.removeChild(el);\n });\n // COMPAT: Edge has a bug where Range.prototype.toString() will\n // convert \\n into \\r\\n. The bug causes a loop when slate-dom\n // attempts to reposition its cursor to match the native position. Use\n // textContent.length instead.\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10291116/\n offset = contents.textContent.length;\n domNode = textNode;\n }\n } else if (voidNode) {\n // For void nodes, the element with the offset key will be a cousin, not an\n // ancestor, so find it by going down from the nearest void parent and taking the\n // first one that isn't inside a nested editor.\n var leafNodes = voidNode.querySelectorAll('[data-slate-leaf]');\n for (var index = 0; index < leafNodes.length; index++) {\n var current = leafNodes[index];\n if (DOMEditor.hasDOMNode(editor, current)) {\n leafNode = current;\n break;\n }\n }\n // COMPAT: In read-only editors the leaf is not rendered.\n if (!leafNode) {\n offset = 1;\n } else {\n textNode = leafNode.closest('[data-slate-node=\"text\"]');\n domNode = leafNode;\n offset = domNode.textContent.length;\n domNode.querySelectorAll('[data-slate-zero-width]').forEach(el => {\n offset -= el.textContent.length;\n });\n }\n } else if (nonEditableNode) {\n // Find the edge of the nearest leaf in `searchDirection`\n var getLeafNodes = node => node ? node.querySelectorAll(\n // Exclude leaf nodes in nested editors\n '[data-slate-leaf]:not(:scope [data-slate-editor] [data-slate-leaf])') : [];\n var elementNode = nonEditableNode.closest('[data-slate-node=\"element\"]');\n if (searchDirection === 'forward') {\n var _leafNodes$find;\n var _leafNodes = [...getLeafNodes(elementNode), ...getLeafNodes(elementNode === null || elementNode === void 0 ? void 0 : elementNode.nextElementSibling)];\n leafNode = (_leafNodes$find = _leafNodes.find(leaf => isAfter(nonEditableNode, leaf))) !== null && _leafNodes$find !== void 0 ? _leafNodes$find : null;\n } else {\n var _leafNodes2$findLast;\n var _leafNodes2 = [...getLeafNodes(elementNode === null || elementNode === void 0 ? void 0 : elementNode.previousElementSibling), ...getLeafNodes(elementNode)];\n leafNode = (_leafNodes2$findLast = _leafNodes2.findLast(leaf => isBefore(nonEditableNode, leaf))) !== null && _leafNodes2$findLast !== void 0 ? _leafNodes2$findLast : null;\n }\n if (leafNode) {\n textNode = leafNode.closest('[data-slate-node=\"text\"]');\n domNode = leafNode;\n if (searchDirection === 'forward') {\n offset = 0;\n } else {\n offset = domNode.textContent.length;\n domNode.querySelectorAll('[data-slate-zero-width]').forEach(el => {\n offset -= el.textContent.length;\n });\n }\n }\n }\n if (domNode && offset === domNode.textContent.length &&\n // COMPAT: Android IMEs might remove the zero width space while composing,\n // and we don't add it for line-breaks.\n IS_ANDROID && domNode.getAttribute('data-slate-zero-width') === 'z' && (_domNode$textContent = domNode.textContent) !== null && _domNode$textContent !== void 0 && _domNode$textContent.startsWith('\\uFEFF') && (\n // COMPAT: If the parent node is a Slate zero-width space, editor is\n // because the text node should have no characters. However, during IME\n // composition the ASCII characters will be prepended to the zero-width\n // space, so subtract 1 from the offset to account for the zero-width\n // space character.\n parentNode.hasAttribute('data-slate-zero-width') ||\n // COMPAT: In Firefox, `range.cloneContents()` returns an extra trailing '\\n'\n // when the document ends with a new-line character. This results in the offset\n // length being off by one, so we need to subtract one to account for this.\n IS_FIREFOX && (_domNode$textContent2 = domNode.textContent) !== null && _domNode$textContent2 !== void 0 && _domNode$textContent2.endsWith('\\n\\n'))) {\n offset--;\n }\n }\n if (IS_ANDROID && !textNode && !exactMatch) {\n var node = parentNode.hasAttribute('data-slate-node') ? parentNode : parentNode.closest('[data-slate-node]');\n if (node && DOMEditor.hasDOMNode(editor, node, {\n editable: true\n })) {\n var _slateNode = DOMEditor.toSlateNode(editor, node);\n var {\n path: _path,\n offset: _offset\n } = Editor.start(editor, DOMEditor.findPath(editor, _slateNode));\n if (!node.querySelector('[data-slate-leaf]')) {\n _offset = nearestOffset;\n }\n return {\n path: _path,\n offset: _offset\n };\n }\n }\n if (!textNode) {\n if (suppressThrow) {\n return null;\n }\n throw new Error(\"Cannot resolve a Slate point from DOM point: \".concat(domPoint));\n }\n // COMPAT: If someone is clicking from one Slate editor into another,\n // the select event fires twice, once for the old editor's `element`\n // first, and then afterwards for the correct `element`. (2017/03/03)\n var slateNode = DOMEditor.toSlateNode(editor, textNode);\n var path = DOMEditor.findPath(editor, slateNode);\n return {\n path,\n offset\n };\n },\n toSlateRange: (editor, domRange, options) => {\n var _focusNode$textConten;\n var {\n exactMatch,\n suppressThrow\n } = options;\n var el = isDOMSelection(domRange) ? domRange.anchorNode : domRange.startContainer;\n var anchorNode;\n var anchorOffset;\n var focusNode;\n var focusOffset;\n var isCollapsed;\n if (el) {\n if (isDOMSelection(domRange)) {\n // COMPAT: In firefox the normal seletion way does not work\n // (https://github.com/ianstormtaylor/slate/pull/5486#issue-1820720223)\n if (IS_FIREFOX && domRange.rangeCount > 1) {\n focusNode = domRange.focusNode; // Focus node works fine\n var firstRange = domRange.getRangeAt(0);\n var lastRange = domRange.getRangeAt(domRange.rangeCount - 1);\n // Here we are in the contenteditable mode of a table in firefox\n if (focusNode instanceof HTMLTableRowElement && firstRange.startContainer instanceof HTMLTableRowElement && lastRange.startContainer instanceof HTMLTableRowElement) {\n // HTMLElement, becouse Element is a slate element\n function getLastChildren(element) {\n if (element.childElementCount > 0) {\n return getLastChildren(element.children[0]);\n } else {\n return element;\n }\n }\n var firstNodeRow = firstRange.startContainer;\n var lastNodeRow = lastRange.startContainer;\n // This should never fail as \"The HTMLElement interface represents any HTML element.\"\n var firstNode = getLastChildren(firstNodeRow.children[firstRange.startOffset]);\n var lastNode = getLastChildren(lastNodeRow.children[lastRange.startOffset]);\n // Zero, as we allways take the right one as the anchor point\n focusOffset = 0;\n if (lastNode.childNodes.length > 0) {\n anchorNode = lastNode.childNodes[0];\n } else {\n anchorNode = lastNode;\n }\n if (firstNode.childNodes.length > 0) {\n focusNode = firstNode.childNodes[0];\n } else {\n focusNode = firstNode;\n }\n if (lastNode instanceof HTMLElement) {\n anchorOffset = lastNode.innerHTML.length;\n } else {\n // Fallback option\n anchorOffset = 0;\n }\n } else {\n // This is the read only mode of a firefox table\n // Right to left\n if (firstRange.startContainer === focusNode) {\n anchorNode = lastRange.endContainer;\n anchorOffset = lastRange.endOffset;\n focusOffset = firstRange.startOffset;\n } else {\n // Left to right\n anchorNode = firstRange.startContainer;\n anchorOffset = firstRange.endOffset;\n focusOffset = lastRange.startOffset;\n }\n }\n } else {\n anchorNode = domRange.anchorNode;\n anchorOffset = domRange.anchorOffset;\n focusNode = domRange.focusNode;\n focusOffset = domRange.focusOffset;\n }\n // COMPAT: There's a bug in chrome that always returns `true` for\n // `isCollapsed` for a Selection that comes from a ShadowRoot.\n // (2020/08/08)\n // https://bugs.chromium.org/p/chromium/issues/detail?id=447523\n // IsCollapsed might not work in firefox, but this will\n if (IS_CHROME && hasShadowRoot(anchorNode) || IS_FIREFOX) {\n isCollapsed = domRange.anchorNode === domRange.focusNode && domRange.anchorOffset === domRange.focusOffset;\n } else {\n isCollapsed = domRange.isCollapsed;\n }\n } else {\n anchorNode = domRange.startContainer;\n anchorOffset = domRange.startOffset;\n focusNode = domRange.endContainer;\n focusOffset = domRange.endOffset;\n isCollapsed = domRange.collapsed;\n }\n }\n if (anchorNode == null || focusNode == null || anchorOffset == null || focusOffset == null) {\n throw new Error(\"Cannot resolve a Slate range from DOM range: \".concat(domRange));\n }\n // COMPAT: Firefox sometimes includes an extra \\n (rendered by TextString\n // when isTrailing is true) in the focusOffset, resulting in an invalid\n // Slate point. (2023/11/01)\n if (IS_FIREFOX && (_focusNode$textConten = focusNode.textContent) !== null && _focusNode$textConten !== void 0 && _focusNode$textConten.endsWith('\\n\\n') && focusOffset === focusNode.textContent.length) {\n focusOffset--;\n }\n var anchor = DOMEditor.toSlatePoint(editor, [anchorNode, anchorOffset], {\n exactMatch,\n suppressThrow\n });\n if (!anchor) {\n return null;\n }\n var focusBeforeAnchor = isBefore(anchorNode, focusNode) || anchorNode === focusNode && focusOffset < anchorOffset;\n var focus = isCollapsed ? anchor : DOMEditor.toSlatePoint(editor, [focusNode, focusOffset], {\n exactMatch,\n suppressThrow,\n searchDirection: focusBeforeAnchor ? 'forward' : 'backward'\n });\n if (!focus) {\n return null;\n }\n var range = {\n anchor: anchor,\n focus: focus\n };\n // if the selection is a hanging range that ends in a void\n // and the DOM focus is an Element\n // (meaning that the selection ends before the element)\n // unhang the range to avoid mistakenly including the void\n if (Range.isExpanded(range) && Range.isForward(range) && isDOMElement(focusNode) && Editor.void(editor, {\n at: range.focus,\n mode: 'highest'\n })) {\n range = Editor.unhangRange(editor, range, {\n voids: true\n });\n }\n return range;\n }\n};\n\n/**\n * Check whether a text diff was applied in a way we can perform the pending action on /\n * recover the pending selection.\n */\nfunction verifyDiffState(editor, textDiff) {\n var {\n path,\n diff\n } = textDiff;\n if (!Editor.hasPath(editor, path)) {\n return false;\n }\n var node = Node.get(editor, path);\n if (!Text.isText(node)) {\n return false;\n }\n if (diff.start !== node.text.length || diff.text.length === 0) {\n return node.text.slice(diff.start, diff.start + diff.text.length) === diff.text;\n }\n var nextPath = Path.next(path);\n if (!Editor.hasPath(editor, nextPath)) {\n return false;\n }\n var nextNode = Node.get(editor, nextPath);\n return Text.isText(nextNode) && nextNode.text.startsWith(diff.text);\n}\nfunction applyStringDiff(text) {\n for (var _len = arguments.length, diffs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n diffs[_key - 1] = arguments[_key];\n }\n return diffs.reduce((text, diff) => text.slice(0, diff.start) + diff.text + text.slice(diff.end), text);\n}\nfunction longestCommonPrefixLength(str, another) {\n var length = Math.min(str.length, another.length);\n for (var i = 0; i < length; i++) {\n if (str.charAt(i) !== another.charAt(i)) {\n return i;\n }\n }\n return length;\n}\nfunction longestCommonSuffixLength(str, another, max) {\n var length = Math.min(str.length, another.length, max);\n for (var i = 0; i < length; i++) {\n if (str.charAt(str.length - i - 1) !== another.charAt(another.length - i - 1)) {\n return i;\n }\n }\n return length;\n}\n/**\n * Remove redundant changes from the diff so that it spans the minimal possible range\n */\nfunction normalizeStringDiff(targetText, diff) {\n var {\n start,\n end,\n text\n } = diff;\n var removedText = targetText.slice(start, end);\n var prefixLength = longestCommonPrefixLength(removedText, text);\n var max = Math.min(removedText.length - prefixLength, text.length - prefixLength);\n var suffixLength = longestCommonSuffixLength(removedText, text, max);\n var normalized = {\n start: start + prefixLength,\n end: end - suffixLength,\n text: text.slice(prefixLength, text.length - suffixLength)\n };\n if (normalized.start === normalized.end && normalized.text.length === 0) {\n return null;\n }\n return normalized;\n}\n/**\n * Return a string diff that is equivalent to applying b after a spanning the range of\n * both changes\n */\nfunction mergeStringDiffs(targetText, a, b) {\n var start = Math.min(a.start, b.start);\n var overlap = Math.max(0, Math.min(a.start + a.text.length, b.end) - b.start);\n var applied = applyStringDiff(targetText, a, b);\n var sliceEnd = Math.max(b.start + b.text.length, a.start + a.text.length + (a.start + a.text.length > b.start ? b.text.length : 0) - overlap);\n var text = applied.slice(start, sliceEnd);\n var end = Math.max(a.end, b.end - a.text.length + (a.end - a.start));\n return normalizeStringDiff(targetText, {\n start,\n end,\n text\n });\n}\n/**\n * Get the slate range the text diff spans.\n */\nfunction targetRange(textDiff) {\n var {\n path,\n diff\n } = textDiff;\n return {\n anchor: {\n path,\n offset: diff.start\n },\n focus: {\n path,\n offset: diff.end\n }\n };\n}\n/**\n * Normalize a 'pending point' a.k.a a point based on the dom state before applying\n * the pending diffs. Since the pending diffs might have been inserted with different\n * marks we have to 'walk' the offset from the starting position to ensure we still\n * have a valid point inside the document\n */\nfunction normalizePoint(editor, point) {\n var {\n path,\n offset\n } = point;\n if (!Editor.hasPath(editor, path)) {\n return null;\n }\n var leaf = Node.get(editor, path);\n if (!Text.isText(leaf)) {\n return null;\n }\n var parentBlock = Editor.above(editor, {\n match: n => Element.isElement(n) && Editor.isBlock(editor, n),\n at: path\n });\n if (!parentBlock) {\n return null;\n }\n while (offset > leaf.text.length) {\n var entry = Editor.next(editor, {\n at: path,\n match: Text.isText\n });\n if (!entry || !Path.isDescendant(entry[1], parentBlock[1])) {\n return null;\n }\n offset -= leaf.text.length;\n leaf = entry[0];\n path = entry[1];\n }\n return {\n path,\n offset\n };\n}\n/**\n * Normalize a 'pending selection' to ensure it's valid in the current document state.\n */\nfunction normalizeRange(editor, range) {\n var anchor = normalizePoint(editor, range.anchor);\n if (!anchor) {\n return null;\n }\n if (Range.isCollapsed(range)) {\n return {\n anchor,\n focus: anchor\n };\n }\n var focus = normalizePoint(editor, range.focus);\n if (!focus) {\n return null;\n }\n return {\n anchor,\n focus\n };\n}\nfunction transformPendingPoint(editor, point, op) {\n var pendingDiffs = EDITOR_TO_PENDING_DIFFS.get(editor);\n var textDiff = pendingDiffs === null || pendingDiffs === void 0 ? void 0 : pendingDiffs.find(_ref => {\n var {\n path\n } = _ref;\n return Path.equals(path, point.path);\n });\n if (!textDiff || point.offset <= textDiff.diff.start) {\n return Point.transform(point, op, {\n affinity: 'backward'\n });\n }\n var {\n diff\n } = textDiff;\n // Point references location inside the diff => transform the point based on the location\n // the diff will be applied to and add the offset inside the diff.\n if (point.offset <= diff.start + diff.text.length) {\n var _anchor = {\n path: point.path,\n offset: diff.start\n };\n var _transformed = Point.transform(_anchor, op, {\n affinity: 'backward'\n });\n if (!_transformed) {\n return null;\n }\n return {\n path: _transformed.path,\n offset: _transformed.offset + point.offset - diff.start\n };\n }\n // Point references location after the diff\n var anchor = {\n path: point.path,\n offset: point.offset - diff.text.length + diff.end - diff.start\n };\n var transformed = Point.transform(anchor, op, {\n affinity: 'backward'\n });\n if (!transformed) {\n return null;\n }\n if (op.type === 'split_node' && Path.equals(op.path, point.path) && anchor.offset < op.position && diff.start < op.position) {\n return transformed;\n }\n return {\n path: transformed.path,\n offset: transformed.offset + diff.text.length - diff.end + diff.start\n };\n}\nfunction transformPendingRange(editor, range, op) {\n var anchor = transformPendingPoint(editor, range.anchor, op);\n if (!anchor) {\n return null;\n }\n if (Range.isCollapsed(range)) {\n return {\n anchor,\n focus: anchor\n };\n }\n var focus = transformPendingPoint(editor, range.focus, op);\n if (!focus) {\n return null;\n }\n return {\n anchor,\n focus\n };\n}\nfunction transformTextDiff(textDiff, op) {\n var {\n path,\n diff,\n id\n } = textDiff;\n switch (op.type) {\n case 'insert_text':\n {\n if (!Path.equals(op.path, path) || op.offset >= diff.end) {\n return textDiff;\n }\n if (op.offset <= diff.start) {\n return {\n diff: {\n start: op.text.length + diff.start,\n end: op.text.length + diff.end,\n text: diff.text\n },\n id,\n path\n };\n }\n return {\n diff: {\n start: diff.start,\n end: diff.end + op.text.length,\n text: diff.text\n },\n id,\n path\n };\n }\n case 'remove_text':\n {\n if (!Path.equals(op.path, path) || op.offset >= diff.end) {\n return textDiff;\n }\n if (op.offset + op.text.length <= diff.start) {\n return {\n diff: {\n start: diff.start - op.text.length,\n end: diff.end - op.text.length,\n text: diff.text\n },\n id,\n path\n };\n }\n return {\n diff: {\n start: diff.start,\n end: diff.end - op.text.length,\n text: diff.text\n },\n id,\n path\n };\n }\n case 'split_node':\n {\n if (!Path.equals(op.path, path) || op.position >= diff.end) {\n return {\n diff,\n id,\n path: Path.transform(path, op, {\n affinity: 'backward'\n })\n };\n }\n if (op.position > diff.start) {\n return {\n diff: {\n start: diff.start,\n end: Math.min(op.position, diff.end),\n text: diff.text\n },\n id,\n path\n };\n }\n return {\n diff: {\n start: diff.start - op.position,\n end: diff.end - op.position,\n text: diff.text\n },\n id,\n path: Path.transform(path, op, {\n affinity: 'forward'\n })\n };\n }\n case 'merge_node':\n {\n if (!Path.equals(op.path, path)) {\n return {\n diff,\n id,\n path: Path.transform(path, op)\n };\n }\n return {\n diff: {\n start: diff.start + op.position,\n end: diff.end + op.position,\n text: diff.text\n },\n id,\n path: Path.transform(path, op)\n };\n }\n }\n var newPath = Path.transform(path, op);\n if (!newPath) {\n return null;\n }\n return {\n diff,\n path: newPath,\n id\n };\n}\n\n/**\n * Utilities for single-line deletion\n */\nvar doRectsIntersect = (rect, compareRect) => {\n var middle = (compareRect.top + compareRect.bottom) / 2;\n return rect.top <= middle && rect.bottom >= middle;\n};\nvar areRangesSameLine = (editor, range1, range2) => {\n var rect1 = DOMEditor.toDOMRange(editor, range1).getBoundingClientRect();\n var rect2 = DOMEditor.toDOMRange(editor, range2).getBoundingClientRect();\n return doRectsIntersect(rect1, rect2) && doRectsIntersect(rect2, rect1);\n};\n/**\n * A helper utility that returns the end portion of a `Range`\n * which is located on a single line.\n *\n * @param {Editor} editor The editor object to compare against\n * @param {Range} parentRange The parent range to compare against\n * @returns {Range} A valid portion of the parentRange which is one a single line\n */\nvar findCurrentLineRange = (editor, parentRange) => {\n var parentRangeBoundary = Editor.range(editor, Range.end(parentRange));\n var positions = Array.from(Editor.positions(editor, {\n at: parentRange\n }));\n var left = 0;\n var right = positions.length;\n var middle = Math.floor(right / 2);\n if (areRangesSameLine(editor, Editor.range(editor, positions[left]), parentRangeBoundary)) {\n return Editor.range(editor, positions[left], parentRangeBoundary);\n }\n if (positions.length < 2) {\n return Editor.range(editor, positions[positions.length - 1], parentRangeBoundary);\n }\n while (middle !== positions.length && middle !== left) {\n if (areRangesSameLine(editor, Editor.range(editor, positions[middle]), parentRangeBoundary)) {\n right = middle;\n } else {\n left = middle;\n }\n middle = Math.floor((left + right) / 2);\n }\n return Editor.range(editor, positions[right], parentRangeBoundary);\n};\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n/**\n * `withDOM` adds DOM specific behaviors to the editor.\n *\n * If you are using TypeScript, you must extend Slate's CustomTypes to use\n * this plugin.\n *\n * See https://docs.slatejs.org/concepts/11-typescript to learn how.\n */\nvar withDOM = function withDOM(editor) {\n var clipboardFormatKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x-slate-fragment';\n var e = editor;\n var {\n apply,\n onChange,\n deleteBackward,\n addMark,\n removeMark\n } = e;\n // The WeakMap which maps a key to a specific HTMLElement must be scoped to the editor instance to\n // avoid collisions between editors in the DOM that share the same value.\n EDITOR_TO_KEY_TO_ELEMENT.set(e, new WeakMap());\n e.addMark = (key, value) => {\n var _EDITOR_TO_SCHEDULE_F, _EDITOR_TO_PENDING_DI;\n (_EDITOR_TO_SCHEDULE_F = EDITOR_TO_SCHEDULE_FLUSH.get(e)) === null || _EDITOR_TO_SCHEDULE_F === void 0 || _EDITOR_TO_SCHEDULE_F();\n if (!EDITOR_TO_PENDING_INSERTION_MARKS.get(e) && (_EDITOR_TO_PENDING_DI = EDITOR_TO_PENDING_DIFFS.get(e)) !== null && _EDITOR_TO_PENDING_DI !== void 0 && _EDITOR_TO_PENDING_DI.length) {\n // Ensure the current pending diffs originating from changes before the addMark\n // are applied with the current formatting\n EDITOR_TO_PENDING_INSERTION_MARKS.set(e, null);\n }\n EDITOR_TO_USER_MARKS.delete(e);\n addMark(key, value);\n };\n e.removeMark = key => {\n var _EDITOR_TO_PENDING_DI2;\n if (!EDITOR_TO_PENDING_INSERTION_MARKS.get(e) && (_EDITOR_TO_PENDING_DI2 = EDITOR_TO_PENDING_DIFFS.get(e)) !== null && _EDITOR_TO_PENDING_DI2 !== void 0 && _EDITOR_TO_PENDING_DI2.length) {\n // Ensure the current pending diffs originating from changes before the addMark\n // are applied with the current formatting\n EDITOR_TO_PENDING_INSERTION_MARKS.set(e, null);\n }\n EDITOR_TO_USER_MARKS.delete(e);\n removeMark(key);\n };\n e.deleteBackward = unit => {\n if (unit !== 'line') {\n return deleteBackward(unit);\n }\n if (e.selection && Range.isCollapsed(e.selection)) {\n var parentBlockEntry = Editor.above(e, {\n match: n => Element.isElement(n) && Editor.isBlock(e, n),\n at: e.selection\n });\n if (parentBlockEntry) {\n var [, parentBlockPath] = parentBlockEntry;\n var parentElementRange = Editor.range(e, parentBlockPath, e.selection.anchor);\n var currentLineRange = findCurrentLineRange(e, parentElementRange);\n if (!Range.isCollapsed(currentLineRange)) {\n Transforms.delete(e, {\n at: currentLineRange\n });\n }\n }\n }\n };\n // This attempts to reset the NODE_TO_KEY entry to the correct value\n // as apply() changes the object reference and hence invalidates the NODE_TO_KEY entry\n e.apply = op => {\n var matches = [];\n var pathRefMatches = [];\n var pendingDiffs = EDITOR_TO_PENDING_DIFFS.get(e);\n if (pendingDiffs !== null && pendingDiffs !== void 0 && pendingDiffs.length) {\n var transformed = pendingDiffs.map(textDiff => transformTextDiff(textDiff, op)).filter(Boolean);\n EDITOR_TO_PENDING_DIFFS.set(e, transformed);\n }\n var pendingSelection = EDITOR_TO_PENDING_SELECTION.get(e);\n if (pendingSelection) {\n EDITOR_TO_PENDING_SELECTION.set(e, transformPendingRange(e, pendingSelection, op));\n }\n var pendingAction = EDITOR_TO_PENDING_ACTION.get(e);\n if (pendingAction !== null && pendingAction !== void 0 && pendingAction.at) {\n var at = Point.isPoint(pendingAction === null || pendingAction === void 0 ? void 0 : pendingAction.at) ? transformPendingPoint(e, pendingAction.at, op) : transformPendingRange(e, pendingAction.at, op);\n EDITOR_TO_PENDING_ACTION.set(e, at ? _objectSpread(_objectSpread({}, pendingAction), {}, {\n at\n }) : null);\n }\n switch (op.type) {\n case 'insert_text':\n case 'remove_text':\n case 'set_node':\n case 'split_node':\n {\n matches.push(...getMatches(e, op.path));\n break;\n }\n case 'set_selection':\n {\n var _EDITOR_TO_USER_SELEC;\n // Selection was manually set, don't restore the user selection after the change.\n (_EDITOR_TO_USER_SELEC = EDITOR_TO_USER_SELECTION.get(e)) === null || _EDITOR_TO_USER_SELEC === void 0 || _EDITOR_TO_USER_SELEC.unref();\n EDITOR_TO_USER_SELECTION.delete(e);\n break;\n }\n case 'insert_node':\n case 'remove_node':\n {\n matches.push(...getMatches(e, Path.parent(op.path)));\n break;\n }\n case 'merge_node':\n {\n var prevPath = Path.previous(op.path);\n matches.push(...getMatches(e, prevPath));\n break;\n }\n case 'move_node':\n {\n var commonPath = Path.common(Path.parent(op.path), Path.parent(op.newPath));\n matches.push(...getMatches(e, commonPath));\n var changedPath;\n if (Path.isBefore(op.path, op.newPath)) {\n matches.push(...getMatches(e, Path.parent(op.path)));\n changedPath = op.newPath;\n } else {\n matches.push(...getMatches(e, Path.parent(op.newPath)));\n changedPath = op.path;\n }\n var changedNode = Node.get(editor, Path.parent(changedPath));\n var changedNodeKey = DOMEditor.findKey(e, changedNode);\n var changedPathRef = Editor.pathRef(e, Path.parent(changedPath));\n pathRefMatches.push([changedPathRef, changedNodeKey]);\n break;\n }\n }\n apply(op);\n switch (op.type) {\n case 'insert_node':\n case 'remove_node':\n case 'merge_node':\n case 'move_node':\n case 'split_node':\n case 'insert_text':\n case 'remove_text':\n case 'set_selection':\n {\n // FIXME: Rename to something like IS_DOM_EDITOR_DESYNCED\n // to better reflect reality, see #5792\n IS_NODE_MAP_DIRTY.set(e, true);\n }\n }\n for (var [path, key] of matches) {\n var [node] = Editor.node(e, path);\n NODE_TO_KEY.set(node, key);\n }\n for (var [pathRef, _key] of pathRefMatches) {\n if (pathRef.current) {\n var [_node] = Editor.node(e, pathRef.current);\n NODE_TO_KEY.set(_node, _key);\n }\n pathRef.unref();\n }\n };\n e.setFragmentData = data => {\n var {\n selection\n } = e;\n if (!selection) {\n return;\n }\n var [start, end] = Range.edges(selection);\n var startVoid = Editor.void(e, {\n at: start.path\n });\n var endVoid = Editor.void(e, {\n at: end.path\n });\n if (Range.isCollapsed(selection) && !startVoid) {\n return;\n }\n // Create a fake selection so that we can add a Base64-encoded copy of the\n // fragment to the HTML, to decode on future pastes.\n var domRange = DOMEditor.toDOMRange(e, selection);\n var contents = domRange.cloneContents();\n var attach = contents.childNodes[0];\n // Make sure attach is non-empty, since empty nodes will not get copied.\n contents.childNodes.forEach(node => {\n if (node.textContent && node.textContent.trim() !== '') {\n attach = node;\n }\n });\n // COMPAT: If the end node is a void node, we need to move the end of the\n // range from the void node's spacer span, to the end of the void node's\n // content, since the spacer is before void's content in the DOM.\n if (endVoid) {\n var [voidNode] = endVoid;\n var r = domRange.cloneRange();\n var domNode = DOMEditor.toDOMNode(e, voidNode);\n r.setEndAfter(domNode);\n contents = r.cloneContents();\n }\n // COMPAT: If the start node is a void node, we need to attach the encoded\n // fragment to the void node's content node instead of the spacer, because\n // attaching it to empty `<div>/<span>` nodes will end up having it erased by\n // most browsers. (2018/04/27)\n if (startVoid) {\n attach = contents.querySelector('[data-slate-spacer]');\n }\n // Remove any zero-width space spans from the cloned DOM so that they don't\n // show up elsewhere when pasted.\n Array.from(contents.querySelectorAll('[data-slate-zero-width]')).forEach(zw => {\n var isNewline = zw.getAttribute('data-slate-zero-width') === 'n';\n zw.textContent = isNewline ? '\\n' : '';\n });\n // Set a `data-slate-fragment` attribute on a non-empty node, so it shows up\n // in the HTML, and can be used for intra-Slate pasting. If it's a text\n // node, wrap it in a `<span>` so we have something to set an attribute on.\n if (isDOMText(attach)) {\n var span = attach.ownerDocument.createElement('span');\n // COMPAT: In Chrome and Safari, if we don't add the `white-space` style\n // then leading and trailing spaces will be ignored. (2017/09/21)\n span.style.whiteSpace = 'pre';\n span.appendChild(attach);\n contents.appendChild(span);\n attach = span;\n }\n var fragment = e.getFragment();\n var string = JSON.stringify(fragment);\n var encoded = window.btoa(encodeURIComponent(string));\n attach.setAttribute('data-slate-fragment', encoded);\n data.setData(\"application/\".concat(clipboardFormatKey), encoded);\n // Add the content to a <div> so that we can get its inner HTML.\n var div = contents.ownerDocument.createElement('div');\n div.appendChild(contents);\n div.setAttribute('hidden', 'true');\n contents.ownerDocument.body.appendChild(div);\n data.setData('text/html', div.innerHTML);\n data.setData('text/plain', getPlainText(div));\n contents.ownerDocument.body.removeChild(div);\n return data;\n };\n e.insertData = data => {\n if (!e.insertFragmentData(data)) {\n e.insertTextData(data);\n }\n };\n e.insertFragmentData = data => {\n /**\n * Checking copied fragment from application/x-slate-fragment or data-slate-fragment\n */\n var fragment = data.getData(\"application/\".concat(clipboardFormatKey)) || getSlateFragmentAttribute(data);\n if (fragment) {\n var decoded = decodeURIComponent(window.atob(fragment));\n var parsed = JSON.parse(decoded);\n e.insertFragment(parsed);\n return true;\n }\n return false;\n };\n e.insertTextData = data => {\n var text = data.getData('text/plain');\n if (text) {\n var lines = text.split(/\\r\\n|\\r|\\n/);\n var split = false;\n for (var line of lines) {\n if (split) {\n Transforms.splitNodes(e, {\n always: true\n });\n }\n e.insertText(line);\n split = true;\n }\n return true;\n }\n return false;\n };\n e.onChange = options => {\n var onContextChange = EDITOR_TO_ON_CHANGE.get(e);\n if (onContextChange) {\n onContextChange(options);\n }\n onChange(options);\n };\n return e;\n};\nvar getMatches = (e, path) => {\n var matches = [];\n for (var [n, p] of Editor.levels(e, {\n at: path\n })) {\n var key = DOMEditor.findKey(e, n);\n matches.push([p, key]);\n }\n return matches;\n};\n\nvar TRIPLE_CLICK = 3;\n\n/**\n * Hotkey mappings for each platform.\n */\nvar HOTKEYS = {\n bold: 'mod+b',\n compose: ['down', 'left', 'right', 'up', 'backspace', 'enter'],\n moveBackward: 'left',\n moveForward: 'right',\n moveWordBackward: 'ctrl+left',\n moveWordForward: 'ctrl+right',\n deleteBackward: 'shift?+backspace',\n deleteForward: 'shift?+delete',\n extendBackward: 'shift+left',\n extendForward: 'shift+right',\n italic: 'mod+i',\n insertSoftBreak: 'shift+enter',\n splitBlock: 'enter',\n undo: 'mod+z'\n};\nvar APPLE_HOTKEYS = {\n moveLineBackward: 'opt+up',\n moveLineForward: 'opt+down',\n moveWordBackward: 'opt+left',\n moveWordForward: 'opt+right',\n deleteBackward: ['ctrl+backspace', 'ctrl+h'],\n deleteForward: ['ctrl+delete', 'ctrl+d'],\n deleteLineBackward: 'cmd+shift?+backspace',\n deleteLineForward: ['cmd+shift?+delete', 'ctrl+k'],\n deleteWordBackward: 'opt+shift?+backspace',\n deleteWordForward: 'opt+shift?+delete',\n extendLineBackward: 'opt+shift+up',\n extendLineForward: 'opt+shift+down',\n redo: 'cmd+shift+z',\n transposeCharacter: 'ctrl+t'\n};\nvar WINDOWS_HOTKEYS = {\n deleteWordBackward: 'ctrl+shift?+backspace',\n deleteWordForward: 'ctrl+shift?+delete',\n redo: ['ctrl+y', 'ctrl+shift+z']\n};\n/**\n * Create a platform-aware hotkey checker.\n */\nvar create = key => {\n var generic = HOTKEYS[key];\n var apple = APPLE_HOTKEYS[key];\n var windows = WINDOWS_HOTKEYS[key];\n var isGeneric = generic && isHotkey(generic);\n var isApple = apple && isHotkey(apple);\n var isWindows = windows && isHotkey(windows);\n return event => {\n if (isGeneric && isGeneric(event)) return true;\n if (IS_APPLE && isApple && isApple(event)) return true;\n if (!IS_APPLE && isWindows && isWindows(event)) return true;\n return false;\n };\n};\n/**\n * Hotkeys.\n */\nvar hotkeys = {\n isBold: create('bold'),\n isCompose: create('compose'),\n isMoveBackward: create('moveBackward'),\n isMoveForward: create('moveForward'),\n isDeleteBackward: create('deleteBackward'),\n isDeleteForward: create('deleteForward'),\n isDeleteLineBackward: create('deleteLineBackward'),\n isDeleteLineForward: create('deleteLineForward'),\n isDeleteWordBackward: create('deleteWordBackward'),\n isDeleteWordForward: create('deleteWordForward'),\n isExtendBackward: create('extendBackward'),\n isExtendForward: create('extendForward'),\n isExtendLineBackward: create('extendLineBackward'),\n isExtendLineForward: create('extendLineForward'),\n isItalic: create('italic'),\n isMoveLineBackward: create('moveLineBackward'),\n isMoveLineForward: create('moveLineForward'),\n isMoveWordBackward: create('moveWordBackward'),\n isMoveWordForward: create('moveWordForward'),\n isRedo: create('redo'),\n isSoftBreak: create('insertSoftBreak'),\n isSplitBlock: create('splitBlock'),\n isTransposeCharacter: create('transposeCharacter'),\n isUndo: create('undo')\n};\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nvar _excluded = [\"anchor\", \"focus\"],\n _excluded2 = [\"anchor\", \"focus\"];\nvar shallowCompare = (obj1, obj2) => Object.keys(obj1).length === Object.keys(obj2).length && Object.keys(obj1).every(key => obj2.hasOwnProperty(key) && obj1[key] === obj2[key]);\nvar isDecorationFlagsEqual = (range, other) => {\n var rangeOwnProps = _objectWithoutProperties(range, _excluded);\n var otherOwnProps = _objectWithoutProperties(other, _excluded2);\n return range[PLACEHOLDER_SYMBOL] === other[PLACEHOLDER_SYMBOL] && shallowCompare(rangeOwnProps, otherOwnProps);\n};\n/**\n * Check if a list of decorator ranges are equal to another.\n *\n * PERF: this requires the two lists to also have the ranges inside them in the\n * same order, but this is an okay constraint for us since decorations are\n * kept in order, and the odd case where they aren't is okay to re-render for.\n */\nvar isElementDecorationsEqual = (list, another) => {\n if (list.length !== another.length) {\n return false;\n }\n for (var i = 0; i < list.length; i++) {\n var range = list[i];\n var other = another[i];\n if (!Range.equals(range, other) || !isDecorationFlagsEqual(range, other)) {\n return false;\n }\n }\n return true;\n};\n/**\n * Check if a list of decorator ranges are equal to another.\n *\n * PERF: this requires the two lists to also have the ranges inside them in the\n * same order, but this is an okay constraint for us since decorations are\n * kept in order, and the odd case where they aren't is okay to re-render for.\n */\nvar isTextDecorationsEqual = (list, another) => {\n if (list.length !== another.length) {\n return false;\n }\n for (var i = 0; i < list.length; i++) {\n var range = list[i];\n var other = another[i];\n // compare only offsets because paths doesn't matter for text\n if (range.anchor.offset !== other.anchor.offset || range.focus.offset !== other.focus.offset || !isDecorationFlagsEqual(range, other)) {\n return false;\n }\n }\n return true;\n};\n\nexport { CAN_USE_DOM, DOMEditor, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText, EDITOR_TO_ELEMENT, EDITOR_TO_FORCE_RENDER, EDITOR_TO_KEY_TO_ELEMENT, EDITOR_TO_ON_CHANGE, EDITOR_TO_PENDING_ACTION, EDITOR_TO_PENDING_DIFFS, EDITOR_TO_PENDING_INSERTION_MARKS, EDITOR_TO_PENDING_SELECTION, EDITOR_TO_PLACEHOLDER_ELEMENT, EDITOR_TO_SCHEDULE_FLUSH, EDITOR_TO_USER_MARKS, EDITOR_TO_USER_SELECTION, EDITOR_TO_WINDOW, ELEMENT_TO_NODE, HAS_BEFORE_INPUT_SUPPORT, hotkeys as Hotkeys, IS_ANDROID, IS_CHROME, IS_COMPOSING, IS_FIREFOX, IS_FIREFOX_LEGACY, IS_FOCUSED, IS_IOS, IS_NODE_MAP_DIRTY, IS_READ_ONLY, IS_UC_MOBILE, IS_WEBKIT, IS_WECHATBROWSER, Key, MARK_PLACEHOLDER_SYMBOL, NODE_TO_ELEMENT, NODE_TO_INDEX, NODE_TO_KEY, NODE_TO_PARENT, PLACEHOLDER_SYMBOL, TRIPLE_CLICK, applyStringDiff, getActiveElement, getDefaultView, getSelection, hasShadowRoot, isAfter, isBefore, isDOMElement, isDOMNode, isDOMSelection, isElementDecorationsEqual, isPlainTextOnlyPaste, isTextDecorationsEqual, isTrackedMutation, mergeStringDiffs, normalizeDOMPoint, normalizePoint, normalizeRange, normalizeStringDiff, targetRange, verifyDiffState, withDOM };\n//# sourceMappingURL=index.es.js.map\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSpriteSymbol = factory());\n}(this, (function () { 'use strict';\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '"');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nreturn BrowserSpriteSymbol;\n\n})));\n","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"fa-caretdown\",\n \"use\": \"fa-caretdown-usage\",\n \"viewBox\": \"0 0 320 512\",\n \"content\": \"<symbol stroke=\\\"currentColor\\\" fill=\\\"currentColor\\\" stroke-width=\\\"0\\\" viewBox=\\\"0 0 320 512\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"fa-caretdown\\\"><path d=\\\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\\\" stroke=\\\"none\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"fa-caretup\",\n \"use\": \"fa-caretup-usage\",\n \"viewBox\": \"0 0 320 512\",\n \"content\": \"<symbol stroke=\\\"currentColor\\\" fill=\\\"currentColor\\\" stroke-width=\\\"0\\\" viewBox=\\\"0 0 320 512\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"fa-caretup\\\"><path d=\\\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\\\" stroke=\\\"none\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-bell\",\n \"use\": \"heroicons-bell-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\" id=\\\"heroicons-bell\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M15 17h5l-1.405-1.405A2.032 2.032 0 0 1 18 14.158V11a6.002 6.002 0 0 0-4-5.659V5a2 2 0 1 0-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-check-circle\",\n \"use\": \"heroicons-check-circle-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\" id=\\\"heroicons-check-circle\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m9 12 2 2 4-4m6 2a9 9 0 1 1-18 0 9 9 0 0 1 18 0z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-duplicate\",\n \"use\": \"heroicons-duplicate-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"heroicons-duplicate\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-exclamation-circle\",\n \"use\": \"heroicons-exclamation-circle-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\" id=\\\"heroicons-exclamation-circle\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-exclamation\",\n \"use\": \"heroicons-exclamation-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\" id=\\\"heroicons-exclamation\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 8v4m0 4h.01M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-photograph\",\n \"use\": \"heroicons-photograph-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\" id=\\\"heroicons-photograph\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"m4 16 4.586-4.586a2 2 0 0 1 2.828 0L16 16m-2-2 1.586-1.586a2 2 0 0 1 2.828 0L20 14m-6-6h.01M6 20h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-shieldcheck\",\n \"use\": \"heroicons-shieldcheck-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"heroicons-shieldcheck\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-sparkles-outline\",\n \"use\": \"heroicons-sparkles-outline-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"heroicons-sparkles-outline\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09Zm8.446-7.189L18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456Zm-1.365 11.852L16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-thumbsdown\",\n \"use\": \"heroicons-thumbsdown-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"heroicons-thumbsdown\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M7.498 15.25H4.372c-1.026 0-1.945-.694-2.054-1.715a12.137 12.137 0 0 1-.068-1.285c0-2.848.992-5.464 2.649-7.521C5.287 4.247 5.886 4 6.504 4h4.016a4.5 4.5 0 0 1 1.423.23l3.114 1.04a4.5 4.5 0 0 0 1.423.23h1.294M7.498 15.25c.618 0 .991.724.725 1.282A7.471 7.471 0 0 0 7.5 19.75 2.25 2.25 0 0 0 9.75 22a.75.75 0 0 0 .75-.75v-.633c0-.573.11-1.14.322-1.672.304-.76.93-1.33 1.653-1.715a9.04 9.04 0 0 0 2.86-2.4c.498-.634 1.226-1.08 2.032-1.08h.384m-10.253 1.5H9.7m8.075-9.75c.01.05.027.1.05.148a8.95 8.95 0 0 1 .925 3.977 8.95 8.95 0 0 1-.999 4.125m.023-8.25c-.076-.365.183-.75.575-.75h.908c.889 0 1.713.518 1.972 1.368.339 1.11.521 2.287.521 3.507 0 1.553-.295 3.036-.831 4.398-.306.774-1.086 1.227-1.918 1.227h-1.053c-.472 0-.745-.556-.5-.96a8.95 8.95 0 0 0 .303-.54\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-thumbsup\",\n \"use\": \"heroicons-thumbsup-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"heroicons-thumbsup\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48a4.53 4.53 0 0 1-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665 8.97 8.97 0 0 0 .654 3.375Z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-trash\",\n \"use\": \"heroicons-trash-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"heroicons-trash\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"heroicons-x\",\n \"use\": \"heroicons-x-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\" id=\\\"heroicons-x\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 18 18 6M6 6l12 12\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"reaction-add\",\n \"use\": \"reaction-add-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke-width=\\\"1.5\\\" stroke=\\\"currentColor\\\" class=\\\"size-6\\\" id=\\\"reaction-add\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M21 12a9 9 0 1 1-18 0 9 9 0 0 1 9-9\\\" /><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" d=\\\"M9.75 9.75c0 .414-.168.75-.375.75S9 10.164 9 9.75 9.168 9 9.375 9s.375.336.375.75Zm-.375 0h.008v.015h-.008V9.75Zm5.625 0c0 .414-.168.75-.375.75s-.375-.336-.375-.75.168-.75.375-.75.375.336.375.75Zm-.375 0h.008v.015h-.008V9.75ZM15.182 15.182a4.5 4.5 0 0 1-6.364 0M19 2v5m-2.5-2.5h5\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"undraw-empty\",\n \"use\": \"undraw-empty-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\" id=\\\"undraw-empty\\\"><path d=\\\"M12 2a1.5 1.5 0 0 0-1.5 1.5v.695C7.93 4.934 6 7.266 6 10v6l-2 2v1h16v-1l-2-2v-6c0-2.734-1.93-5.066-4.5-5.805V3.5A1.5 1.5 0 0 0 12 2Zm-2 18a2 2 0 1 0 4 0h-4Z\\\" fill=\\\"none\\\" stroke=\\\"#9a8866\\\" /><circle cx=\\\"18\\\" cy=\\\"7\\\" r=\\\"5\\\" fill=\\\"#161717\\\" stroke=\\\"#9a8866\\\" /><text x=\\\"18\\\" y=\\\"9\\\" font-family=\\\"Bender, sans-serif\\\" font-size=\\\"6\\\" fill=\\\"#e6bc6a\\\" text-anchor=\\\"middle\\\">0</text></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSprite = factory());\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '"');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n attrs: ( obj = {\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n 'aria-hidden': 'true'\n }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n this.config = deepmerge(defaultConfig, config || {});\n this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n var ref = this;\n var symbols = ref.symbols;\n var existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n var ref = this;\n var symbols = ref.symbols;\n var symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n var ref = this.config;\n var attrs = ref.attrs;\n var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when <base href> exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar browser = {\n isChrome: function () { return /chrome/i.test(navigator.userAgent); },\n isFirefox: function () { return /firefox/i.test(navigator.userAgent); },\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },\n isEdge: function () { return /edge/i.test(navigator.userAgent); }\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.\n * This trick will trigger IE to read and use any existing SVG <style> tags.\n * @see https://github.com/iconic/SVGInjector/issues/23\n * @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n *\n * @param {Element} node DOM Element to search <style> tags in\n * @return {Array<HTMLStyleElement>}\n */\nvar evalStylesIEWorkaround = function (node) {\n var updatedNodes = [];\n\n arrayFrom(node.querySelectorAll('style'))\n .forEach(function (style) {\n style.textContent += '';\n updatedNodes.push(style);\n });\n\n return updatedNodes;\n};\n\n/**\n * @param {string} [url] If not provided - current URL will be used\n * @return {string}\n */\nvar getUrlWithoutFragment = function (url) {\n return (url || window.location.href).split('#')[0];\n};\n\n/* global angular */\n/**\n * @param {string} eventName\n */\nvar locationChangeAngularEmitter = function (eventName) {\n angular.module('ng').run(['$rootScope', function ($rootScope) {\n $rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {\n dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });\n });\n }]);\n};\n\nvar defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';\n\n/**\n * @param {Element} svg\n * @param {string} [selector]\n * @return {Element}\n */\nvar moveGradientsOutsideSymbol = function (svg, selector) {\n if ( selector === void 0 ) selector = defaultSelector;\n\n arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {\n arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {\n symbol.parentNode.insertBefore(node, symbol);\n });\n });\n return svg;\n};\n\n/**\n * @param {NodeList} nodes\n * @param {Function} [matcher]\n * @return {Attr[]}\n */\nfunction selectAttributes(nodes, matcher) {\n var attrs = arrayFrom(nodes).reduce(function (acc, node) {\n if (!node.attributes) {\n return acc;\n }\n\n var arrayfied = arrayFrom(node.attributes);\n var matched = matcher ? arrayfied.filter(matcher) : arrayfied;\n return acc.concat(matched);\n }, []);\n\n return attrs;\n}\n\n/**\n * @param {NodeList|Node} nodes\n * @param {boolean} [clone=true]\n * @return {string}\n */\n\nvar xLinkNS = namespaces_1.xlink.uri;\nvar xLinkAttrName = 'xlink:href';\n\n// eslint-disable-next-line no-useless-escape\nvar specialUrlCharsPattern = /[{}|\\\\\\^\\[\\]`\"<>]/g;\n\nfunction encoder(url) {\n return url.replace(specialUrlCharsPattern, function (match) {\n return (\"%\" + (match[0].charCodeAt(0).toString(16).toUpperCase()));\n });\n}\n\nfunction escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\n/**\n * @param {NodeList} nodes\n * @param {string} startsWith\n * @param {string} replaceWith\n * @return {NodeList}\n */\nfunction updateReferences(nodes, startsWith, replaceWith) {\n arrayFrom(nodes).forEach(function (node) {\n var href = node.getAttribute(xLinkAttrName);\n if (href && href.indexOf(startsWith) === 0) {\n var newUrl = href.replace(startsWith, replaceWith);\n node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);\n }\n });\n\n return nodes;\n}\n\n/**\n * List of SVG attributes to update url() target in them\n */\nvar attList = [\n 'clipPath',\n 'colorProfile',\n 'src',\n 'cursor',\n 'fill',\n 'filter',\n 'marker',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'mask',\n 'stroke',\n 'style'\n];\n\nvar attSelector = attList.map(function (attr) { return (\"[\" + attr + \"]\"); }).join(',');\n\n/**\n * Update URLs in svg image (like `fill=\"url(...)\"`) and update referencing elements\n * @param {Element} svg\n * @param {NodeList} references\n * @param {string|RegExp} startsWith\n * @param {string} replaceWith\n * @return {void}\n *\n * @example\n * const sprite = document.querySelector('svg.sprite');\n * const usages = document.querySelectorAll('use');\n * updateUrls(sprite, usages, '#', 'prefix#');\n */\nvar updateUrls = function (svg, references, startsWith, replaceWith) {\n var startsWithEncoded = encoder(startsWith);\n var replaceWithEncoded = encoder(replaceWith);\n\n var nodes = svg.querySelectorAll(attSelector);\n var attrs = selectAttributes(nodes, function (ref) {\n var localName = ref.localName;\n var value = ref.value;\n\n return attList.indexOf(localName) !== -1 && value.indexOf((\"url(\" + startsWithEncoded)) !== -1;\n });\n\n attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });\n updateReferences(references, startsWithEncoded, replaceWithEncoded);\n};\n\n/**\n * Internal emitter events\n * @enum\n * @private\n */\nvar Events = {\n MOUNT: 'mount',\n SYMBOL_MOUNT: 'symbol_mount'\n};\n\nvar BrowserSprite = (function (Sprite$$1) {\n function BrowserSprite(cfg) {\n var this$1 = this;\n if ( cfg === void 0 ) cfg = {};\n\n Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));\n\n var emitter = mitt();\n this._emitter = emitter;\n this.node = null;\n\n var ref = this;\n var config = ref.config;\n\n if (config.autoConfigure) {\n this._autoConfigure(cfg);\n }\n\n if (config.syncUrlsWithBaseTag) {\n var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\n emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });\n }\n\n var handleLocationChange = this._handleLocationChange.bind(this);\n this._handleLocationChange = handleLocationChange;\n\n // Provide way to update sprite urls externally via dispatching custom window event\n if (config.listenLocationChangeEvent) {\n window.addEventListener(config.locationChangeEvent, handleLocationChange);\n }\n\n // Emit location change event in Angular automatically\n if (config.locationChangeAngularEmitter) {\n locationChangeAngularEmitter(config.locationChangeEvent);\n }\n\n // After sprite mounted\n emitter.on(Events.MOUNT, function (spriteNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(spriteNode);\n }\n });\n\n // After symbol mounted into sprite\n emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(symbolNode.parentNode);\n }\n\n if (browser.isIE() || browser.isEdge()) {\n evalStylesIEWorkaround(symbolNode);\n }\n });\n }\n\n if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;\n BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );\n BrowserSprite.prototype.constructor = BrowserSprite;\n\n var prototypeAccessors = { isMounted: {} };\n\n /**\n * @return {boolean}\n */\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * Automatically configure following options\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @param {Object} cfg\n * @private\n */\n BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {\n var ref = this;\n var config = ref.config;\n\n if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {\n config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';\n }\n\n if (typeof cfg.locationChangeAngularEmitter === 'undefined') {\n config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';\n }\n\n if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {\n config.moveGradientsOutsideSymbol = browser.isFirefox();\n }\n };\n\n /**\n * @param {Event} event\n * @param {Object} event.detail\n * @param {string} event.detail.oldUrl\n * @param {string} event.detail.newUrl\n * @private\n */\n BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {\n var ref = event.detail;\n var oldUrl = ref.oldUrl;\n var newUrl = ref.newUrl;\n this.updateUrls(oldUrl, newUrl);\n };\n\n /**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * If sprite already mounted - `symbol.mount(sprite.node)` will be called.\n * @fires Events#SYMBOL_MOUNT\n * @param {BrowserSpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\n BrowserSprite.prototype.add = function add (symbol) {\n var sprite = this;\n var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);\n\n if (this.isMounted && isNewSymbol) {\n symbol.mount(sprite.node);\n this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n }\n\n return isNewSymbol;\n };\n\n /**\n * Attach to existing DOM node\n * @param {string|Element} target\n * @return {Element|null} attached DOM Element. null if node to attach not found.\n */\n BrowserSprite.prototype.attach = function attach (target) {\n var this$1 = this;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n /** @type Element */\n var node = typeof target === 'string' ? document.querySelector(target) : target;\n sprite.node = node;\n\n // Already added symbols needs to be mounted\n this.symbols.forEach(function (symbol) {\n symbol.mount(sprite.node);\n this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n });\n\n // Create symbols from existing DOM nodes, add and mount them\n arrayFrom(node.querySelectorAll('symbol'))\n .forEach(function (symbolNode) {\n var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);\n symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding\n sprite.add(symbol);\n });\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n BrowserSprite.prototype.destroy = function destroy () {\n var ref = this;\n var config = ref.config;\n var symbols = ref.symbols;\n var _emitter = ref._emitter;\n\n symbols.forEach(function (s) { return s.destroy(); });\n\n _emitter.off('*');\n window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);\n\n if (this.isMounted) {\n this.unmount();\n }\n };\n\n /**\n * @fires Events#MOUNT\n * @param {string|Element} [target]\n * @param {boolean} [prepend=false]\n * @return {Element|null} rendered sprite node. null if mount node not found.\n */\n BrowserSprite.prototype.mount = function mount (target, prepend) {\n if ( target === void 0 ) target = this.config.mountTo;\n if ( prepend === void 0 ) prepend = false;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n var mountNode = typeof target === 'string' ? document.querySelector(target) : target;\n var node = sprite.render();\n this.node = node;\n\n if (prepend && mountNode.childNodes[0]) {\n mountNode.insertBefore(node, mountNode.childNodes[0]);\n } else {\n mountNode.appendChild(node);\n }\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSprite.prototype.render = function render () {\n return parse(this.stringify());\n };\n\n /**\n * Detach sprite from the DOM\n */\n BrowserSprite.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n /**\n * Update URLs in sprite and usage elements\n * @param {string} oldUrl\n * @param {string} newUrl\n * @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted\n */\n BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {\n if (!this.isMounted) {\n return false;\n }\n\n var usages = document.querySelectorAll(this.config.usagesToUpdate);\n\n updateUrls(\n this.node,\n usages,\n ((getUrlWithoutFragment(oldUrl)) + \"#\"),\n ((getUrlWithoutFragment(newUrl)) + \"#\")\n );\n\n return true;\n };\n\n Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );\n\n return BrowserSprite;\n}(Sprite));\n\nvar ready$1 = createCommonjsModule(function (module) {\n/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n { module.exports = definition(); }\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n\n if (!loaded)\n { doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while (listener = fns.shift()) { listener(); }\n }); }\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n }\n\n});\n});\n\nvar spriteNodeId = '__SVG_SPRITE_NODE__';\nvar spriteGlobalVarName = '__SVG_SPRITE__';\nvar isSpriteExists = !!window[spriteGlobalVarName];\n\n// eslint-disable-next-line import/no-mutable-exports\nvar sprite;\n\nif (isSpriteExists) {\n sprite = window[spriteGlobalVarName];\n} else {\n sprite = new BrowserSprite({\n attrs: {\n id: spriteNodeId,\n 'aria-hidden': 'true'\n }\n });\n window[spriteGlobalVarName] = sprite;\n}\n\nvar loadSprite = function () {\n /**\n * Check for page already contains sprite node\n * If found - attach to and reuse it's content\n * If not - render and mount the new sprite\n */\n var existing = document.getElementById(spriteNodeId);\n\n if (existing) {\n sprite.attach(existing);\n } else {\n sprite.mount(document.body, true);\n }\n};\n\nif (document.body) {\n loadSprite();\n} else {\n ready$1(loadSprite);\n}\n\nvar sprite$1 = sprite;\n\nreturn sprite$1;\n\n})));\n","\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n","import React from 'react';\n\n// basically Exclude<React.ClassAttributes<T>[\"ref\"], string>\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = React.useRef();\n return React.useCallback(function (instance) {\n libRef.current = instance;\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n prevUserRef.current = userRef;\n if (!userRef) {\n return;\n }\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport { useComposedRef as default };\n","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport { index as default };\n","import React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\n","var map = {\n\t\"./Administration/pages/AdvancedSettings.page\": [\n\t\t2469,\n\t\t2076,\n\t\t1654\n\t],\n\t\"./Administration/pages/AdvancedSettings.page.tsx\": [\n\t\t2469,\n\t\t2076,\n\t\t1654\n\t],\n\t\"./Administration/pages/ContentSettings.page\": [\n\t\t3346,\n\t\t2076,\n\t\t2751\n\t],\n\t\"./Administration/pages/ContentSettings.page.tsx\": [\n\t\t3346,\n\t\t2076,\n\t\t2751\n\t],\n\t\"./Administration/pages/Export.page\": [\n\t\t2500,\n\t\t419\n\t],\n\t\"./Administration/pages/Export.page.tsx\": [\n\t\t2500,\n\t\t419\n\t],\n\t\"./Administration/pages/FileManagement.page\": [\n\t\t9692,\n\t\t668\n\t],\n\t\"./Administration/pages/FileManagement.page.tsx\": [\n\t\t9692,\n\t\t668\n\t],\n\t\"./Administration/pages/GeneralSettings.page\": [\n\t\t602,\n\t\t8470\n\t],\n\t\"./Administration/pages/GeneralSettings.page.tsx\": [\n\t\t602,\n\t\t8470\n\t],\n\t\"./Administration/pages/Invitations.page\": [\n\t\t2634,\n\t\t2943\n\t],\n\t\"./Administration/pages/Invitations.page.tsx\": [\n\t\t2634,\n\t\t2943\n\t],\n\t\"./Administration/pages/ManageAuthentication.page\": [\n\t\t8079,\n\t\t2914\n\t],\n\t\"./Administration/pages/ManageAuthentication.page.tsx\": [\n\t\t8079,\n\t\t2914\n\t],\n\t\"./Administration/pages/ManageBilling.page\": [\n\t\t6795,\n\t\t7605\n\t],\n\t\"./Administration/pages/ManageBilling.page.tsx\": [\n\t\t6795,\n\t\t7605\n\t],\n\t\"./Administration/pages/ManageMembers.page\": [\n\t\t6544,\n\t\t7189\n\t],\n\t\"./Administration/pages/ManageMembers.page.tsx\": [\n\t\t6544,\n\t\t7189\n\t],\n\t\"./Administration/pages/ManageTags.page\": [\n\t\t1912,\n\t\t6119\n\t],\n\t\"./Administration/pages/ManageTags.page.tsx\": [\n\t\t1912,\n\t\t6119\n\t],\n\t\"./Administration/pages/ManageWebhooks.page\": [\n\t\t9372,\n\t\t2076,\n\t\t4064\n\t],\n\t\"./Administration/pages/ManageWebhooks.page.tsx\": [\n\t\t9372,\n\t\t2076,\n\t\t4064\n\t],\n\t\"./Administration/pages/PrivacySettings.page\": [\n\t\t8791,\n\t\t2130\n\t],\n\t\"./Administration/pages/PrivacySettings.page.tsx\": [\n\t\t8791,\n\t\t2130\n\t],\n\t\"./DesignSystem/DesignSystem.page\": [\n\t\t673,\n\t\t4322\n\t],\n\t\"./DesignSystem/DesignSystem.page.tsx\": [\n\t\t673,\n\t\t4322\n\t],\n\t\"./Error/Error.page\": [\n\t\t8299\n\t],\n\t\"./Error/Error.page.tsx\": [\n\t\t8299\n\t],\n\t\"./Error/Error401.page\": [\n\t\t7406,\n\t\t7753\n\t],\n\t\"./Error/Error401.page.tsx\": [\n\t\t7406,\n\t\t7753\n\t],\n\t\"./Error/Error403.page\": [\n\t\t8504,\n\t\t9207\n\t],\n\t\"./Error/Error403.page.tsx\": [\n\t\t8504,\n\t\t9207\n\t],\n\t\"./Error/Error404.page\": [\n\t\t1393,\n\t\t8998\n\t],\n\t\"./Error/Error404.page.tsx\": [\n\t\t1393,\n\t\t8998\n\t],\n\t\"./Error/Error410.page\": [\n\t\t872,\n\t\t2875\n\t],\n\t\"./Error/Error410.page.tsx\": [\n\t\t872,\n\t\t2875\n\t],\n\t\"./Error/Error500.page\": [\n\t\t5366,\n\t\t2321\n\t],\n\t\"./Error/Error500.page.tsx\": [\n\t\t5366,\n\t\t2321\n\t],\n\t\"./Error/Maintenance.page\": [\n\t\t9454,\n\t\t6987\n\t],\n\t\"./Error/Maintenance.page.tsx\": [\n\t\t9454,\n\t\t6987\n\t],\n\t\"./Error/NotInvited.page\": [\n\t\t515,\n\t\t3656\n\t],\n\t\"./Error/NotInvited.page.tsx\": [\n\t\t515,\n\t\t3656\n\t],\n\t\"./Home/Home.page\": [\n\t\t7531,\n\t\t6210\n\t],\n\t\"./Home/Home.page.tsx\": [\n\t\t7531,\n\t\t6210\n\t],\n\t\"./Legal/Legal.page\": [\n\t\t3763,\n\t\t5170\n\t],\n\t\"./Legal/Legal.page.tsx\": [\n\t\t3763,\n\t\t5170\n\t],\n\t\"./MyNotifications/MyNotifications.page\": [\n\t\t939,\n\t\t9710\n\t],\n\t\"./MyNotifications/MyNotifications.page.tsx\": [\n\t\t939,\n\t\t9710\n\t],\n\t\"./MySettings/MySettings.page\": [\n\t\t7951,\n\t\t1482\n\t],\n\t\"./MySettings/MySettings.page.tsx\": [\n\t\t7951,\n\t\t1482\n\t],\n\t\"./OAuthEcho/OAuthEcho.page\": [\n\t\t3931,\n\t\t2630\n\t],\n\t\"./OAuthEcho/OAuthEcho.page.tsx\": [\n\t\t3931,\n\t\t2630\n\t],\n\t\"./ShowPost/ShowPost.page\": [\n\t\t6719,\n\t\t2314\n\t],\n\t\"./ShowPost/ShowPost.page.tsx\": [\n\t\t6719,\n\t\t2314\n\t],\n\t\"./SignIn/CompleteSignInProfile.page\": [\n\t\t4275,\n\t\t5804\n\t],\n\t\"./SignIn/CompleteSignInProfile.page.tsx\": [\n\t\t4275,\n\t\t5804\n\t],\n\t\"./SignIn/SignIn.page\": [\n\t\t2669,\n\t\t1024\n\t],\n\t\"./SignIn/SignIn.page.tsx\": [\n\t\t2669,\n\t\t1024\n\t],\n\t\"./SignUp/PendingActivation.page\": [\n\t\t4676,\n\t\t4575\n\t],\n\t\"./SignUp/PendingActivation.page.tsx\": [\n\t\t4676,\n\t\t4575\n\t],\n\t\"./SignUp/SignUp.page\": [\n\t\t637,\n\t\t620\n\t],\n\t\"./SignUp/SignUp.page.tsx\": [\n\t\t637,\n\t\t620\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 5117;\nmodule.exports = webpackAsyncContext;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Reflect.ownKeys(obj).forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexport { isPlainObject };\n","const t=t=>\"object\"==typeof t&&null!=t&&1===t.nodeType,e=(t,e)=>(!e||\"hidden\"!==t)&&(\"visible\"!==t&&\"clip\"!==t),n=(t,n)=>{if(t.clientHeight<t.scrollHeight||t.clientWidth<t.scrollWidth){const o=getComputedStyle(t,null);return e(o.overflowY,n)||e(o.overflowX,n)||(t=>{const e=(t=>{if(!t.ownerDocument||!t.ownerDocument.defaultView)return null;try{return t.ownerDocument.defaultView.frameElement}catch(t){return null}})(t);return!!e&&(e.clientHeight<t.scrollHeight||e.clientWidth<t.scrollWidth)})(t)}return!1},o=(t,e,n,o,l,r,i,s)=>r<t&&i>e||r>t&&i<e?0:r<=t&&s<=n||i>=e&&s>=n?r-t-o:i>e&&s<n||r<t&&s>n?i-e+l:0,l=t=>{const e=t.parentElement;return null==e?t.getRootNode().host||null:e},r=(e,r)=>{var i,s,d,h;if(\"undefined\"==typeof document)return[];const{scrollMode:c,block:f,inline:u,boundary:a,skipOverflowHiddenElements:g}=r,p=\"function\"==typeof a?a:t=>t!==a;if(!t(e))throw new TypeError(\"Invalid target\");const m=document.scrollingElement||document.documentElement,w=[];let W=e;for(;t(W)&&p(W);){if(W=l(W),W===m){w.push(W);break}null!=W&&W===document.body&&n(W)&&!n(document.documentElement)||null!=W&&n(W,g)&&w.push(W)}const b=null!=(s=null==(i=window.visualViewport)?void 0:i.width)?s:innerWidth,H=null!=(h=null==(d=window.visualViewport)?void 0:d.height)?h:innerHeight,{scrollX:y,scrollY:M}=window,{height:v,width:E,top:x,right:C,bottom:I,left:R}=e.getBoundingClientRect(),{top:T,right:B,bottom:F,left:V}=(t=>{const e=window.getComputedStyle(t);return{top:parseFloat(e.scrollMarginTop)||0,right:parseFloat(e.scrollMarginRight)||0,bottom:parseFloat(e.scrollMarginBottom)||0,left:parseFloat(e.scrollMarginLeft)||0}})(e);let k=\"start\"===f||\"nearest\"===f?x-T:\"end\"===f?I+F:x+v/2-T+F,D=\"center\"===u?R+E/2-V+B:\"end\"===u?C+B:R-V;const L=[];for(let t=0;t<w.length;t++){const e=w[t],{height:l,width:r,top:i,right:s,bottom:d,left:h}=e.getBoundingClientRect();if(\"if-needed\"===c&&x>=0&&R>=0&&I<=H&&C<=b&&(e===m&&!n(e)||x>=i&&I<=d&&R>=h&&C<=s))return L;const a=getComputedStyle(e),g=parseInt(a.borderLeftWidth,10),p=parseInt(a.borderTopWidth,10),W=parseInt(a.borderRightWidth,10),T=parseInt(a.borderBottomWidth,10);let B=0,F=0;const V=\"offsetWidth\"in e?e.offsetWidth-e.clientWidth-g-W:0,S=\"offsetHeight\"in e?e.offsetHeight-e.clientHeight-p-T:0,X=\"offsetWidth\"in e?0===e.offsetWidth?0:r/e.offsetWidth:0,Y=\"offsetHeight\"in e?0===e.offsetHeight?0:l/e.offsetHeight:0;if(m===e)B=\"start\"===f?k:\"end\"===f?k-H:\"nearest\"===f?o(M,M+H,H,p,T,M+k,M+k+v,v):k-H/2,F=\"start\"===u?D:\"center\"===u?D-b/2:\"end\"===u?D-b:o(y,y+b,b,g,W,y+D,y+D+E,E),B=Math.max(0,B+M),F=Math.max(0,F+y);else{B=\"start\"===f?k-i-p:\"end\"===f?k-d+T+S:\"nearest\"===f?o(i,d,l,p,T+S,k,k+v,v):k-(i+l/2)+S/2,F=\"start\"===u?D-h-g:\"center\"===u?D-(h+r/2)+V/2:\"end\"===u?D-s+W+V:o(h,s,r,g,W+V,D,D+E,E);const{scrollLeft:t,scrollTop:n}=e;B=0===Y?0:Math.max(0,Math.min(n+B/Y,e.scrollHeight-l/Y+S)),F=0===X?0:Math.max(0,Math.min(t+F/X,e.scrollWidth-r/X+V)),k+=n-B,D+=t-F}L.push({el:e,top:B,left:F})}return L};export{r as compute};//# sourceMappingURL=index.js.map\n","import{compute as t}from\"compute-scroll-into-view\";const o=t=>!1===t?{block:\"end\",inline:\"nearest\"}:(t=>t===Object(t)&&0!==Object.keys(t).length)(t)?t:{block:\"start\",inline:\"nearest\"};function e(e,r){if(!e.isConnected||!(t=>{let o=t;for(;o&&o.parentNode;){if(o.parentNode===document)return!0;o=o.parentNode instanceof ShadowRoot?o.parentNode.host:o.parentNode}return!1})(e))return;const n=(t=>{const o=window.getComputedStyle(t);return{top:parseFloat(o.scrollMarginTop)||0,right:parseFloat(o.scrollMarginRight)||0,bottom:parseFloat(o.scrollMarginBottom)||0,left:parseFloat(o.scrollMarginLeft)||0}})(e);if((t=>\"object\"==typeof t&&\"function\"==typeof t.behavior)(r))return r.behavior(t(e,r));const l=\"boolean\"==typeof r||null==r?void 0:r.behavior;for(const{el:a,top:i,left:s}of t(e,o(r))){const t=i-n.top+n.bottom,o=s-n.left+n.right;a.scroll({top:t,left:o,behavior:l})}}export{e as default};//# sourceMappingURL=index.js.map\n"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","ResizeObserverBoxOptions","resizeObservers","msg","trigger","freeze","obj","ResizeObserverSize","inlineSize","blockSize","this","DOMRectReadOnly","x","y","width","height","top","left","bottom","right","prototype","toJSON","_a","fromRect","rectangle","isSVG","target","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","length","isElement","Element","scope","ownerDocument","defaultView","global","window","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","size","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","Math","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","ro","activeTargets","entries","ot","entry","targetDepth","push","lastReportedSize","callback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","isActive","watching","observerConfig","attributes","characterData","childList","subtree","events","time","timeout","Date","now","scheduled","scheduler","Scheduler","_this","stopped","listener","schedule","run","cb","until","elementsHaveResized","event","some","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","process","start","toggle_1","el_1","createTextNode","MutationObserver","observe","textContent","concat","queueMicroTask","requestAnimationFrame","stop","body","addEventListener","name","disconnect","removeEventListener","updateCount","n","ResizeObservation","CONTENT_BOX","tagName","type","isReplacedElement","display","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","ResizeObserver","arguments","TypeError","toString","useTimeout","delay","savedCallback","useRef","useEffect","current","timer","setTimeout","clearTimeout","useFider","useContext","FiderContext","useScript","src","status","setStatus","useState","script","querySelector","getAttribute","createElement","async","setAttribute","appendChild","setAttributeFromEvent","setStateFromEvent","isClient","useCache","key","defaultValue","value","setValue","cachedValue","sessionStorage","getItem","newValue","setItem","retry","fn","retriesLeft","waitMs","INTERVAL","reject","catch","err","Loading","React","className","Loader","logProductionError","Fider","isProduction","console","error","actions","evt","reason","colno","lineno","bootstrapApp","i18n","component","pageName","fider","session","page","lazy","classSet","isAuthenticated","user","isCollaborator","isModerator","rootElement","getElementById","createRoot","render","ErrorBoundary","onError","I18nProvider","Provider","DevBanner","ReadOnlyNotice","Suspense","fallback","props","Footer","initialize","__webpack_nonce__","contextID","__webpack_public_path__","settings","assetsURL","activateI18N","currentLocale","ErrorPage","TenantLogo","useFiderIfEmpty","href","baseURL","showDetails","errorInfo","componentStack","String","rtl","ltr","RTL","LTR","RegExp","IS_MAC","platform","MODIFIERS","alt","control","meta","shift","ALIASES","add","break","cmd","command","ctl","ctrl","del","down","esc","ins","mod","opt","option","return","space","spacebar","up","win","windows","CODES","backspace","tab","enter","pause","capslock","escape","pageup","pagedown","end","home","arrowleft","arrowup","arrowright","arrowdown","insert","delete","numlock","scrolllock","f","toKeyCode","toKeyName","toUpperCase","charCodeAt","toLowerCase","hotkey","Array","isArray","array","string","byKey","ret","values","replace","split","k","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","next","done","optional","endsWith","modifier","which","parseHotkey","check","object","expected","actual","compareHotkey","getRawTag","objectToString","symToStringTag","toStringTag","trimmedEndIndex","reTrimStart","freeGlobal","g","objectProto","hasOwnProperty","nativeObjectToString","isOwn","tag","unmasked","result","freeSelf","self","root","Function","reWhitespace","charAt","isObject","toNumber","nativeMax","max","nativeMin","min","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","cancel","flush","baseGetTag","isObjectLike","debounce","baseTrim","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","a","b","c","d","h","pop","w","m","C","sortIndex","performance","l","unstable_now","p","q","r","t","u","v","z","A","B","D","E","F","setImmediate","G","startTime","expirationTime","H","I","J","K","L","M","priorityLevel","scheduling","isInputPending","bind","S","N","O","P","Q","R","MessageChannel","T","U","port2","port1","onmessage","postMessage","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","unstable_shouldYield","unstable_wrapCallback","_navigator$userAgent$","_navigator$userAgent$2","DOMNode","globalThis","Node","DOMText","Text","getDefaultView","Range","Selection","StaticRange","isDOMElement","isDOMNode","nodeType","isDOMSelection","anchorNode","isDOMText","isPlainTextOnlyPaste","clipboardData","getData","types","getEditableChildAndIndex","direction","childNodes","child","triedForward","triedBackward","getEditableChild","getPlainText","domNode","text","nodeValue","childNode","from","getPropertyValue","catchSlateFragment","getSelection","isTrackedMutation","editor","mutation","batch","matches","DOMEditor","getWindow","contains","hasDOMNode","editable","parentMutation","find","_ref","addedNodes","removedNodes","_node","getActiveElement","activeElement","_activeElement","shadowRoot","_activeElement$shadow","_activeElement2","isBefore","otherNode","Boolean","compareDocumentPosition","DOCUMENT_POSITION_PRECEDING","IS_IOS","MSStream","IS_APPLE","IS_ANDROID","IS_FIREFOX","IS_WEBKIT","IS_EDGE_LEGACY","IS_CHROME","IS_CHROME_LEGACY","IS_ANDROID_CHROME_LEGACY","IS_FIREFOX_LEGACY","IS_UC_MOBILE","IS_WECHATBROWSER","CAN_USE_DOM","match","HAS_BEFORE_INPUT_SUPPORT","InputEvent","getTargetRanges","_typeof","constructor","_defineProperty","arg","input","prim","toPrimitive","res","hint","_toPrimitive","_toPropertyKey","defineProperty","enumerable","configurable","writable","Key","IS_NODE_MAP_DIRTY","NODE_TO_INDEX","NODE_TO_PARENT","EDITOR_TO_WINDOW","EDITOR_TO_ELEMENT","EDITOR_TO_PLACEHOLDER_ELEMENT","ELEMENT_TO_NODE","NODE_TO_ELEMENT","NODE_TO_KEY","EDITOR_TO_KEY_TO_ELEMENT","IS_READ_ONLY","IS_FOCUSED","IS_COMPOSING","EDITOR_TO_USER_SELECTION","EDITOR_TO_ON_CHANGE","EDITOR_TO_SCHEDULE_FLUSH","EDITOR_TO_PENDING_INSERTION_MARKS","EDITOR_TO_USER_MARKS","EDITOR_TO_PENDING_DIFFS","EDITOR_TO_PENDING_ACTION","EDITOR_TO_PENDING_SELECTION","EDITOR_TO_FORCE_RENDER","PLACEHOLDER_SYMBOL","MARK_PLACEHOLDER_SYMBOL","androidPendingDiffs","androidScheduleFlush","_EDITOR_TO_SCHEDULE_F","blur","el","toDOMNode","findDocumentOrShadowRoot","deselect","selection","domSelection","rangeCount","removeAllRanges","getRootNode","Document","ShadowRoot","findEventRange","nativeEvent","clientX","clientY","domRange","toSlateNode","path","findPath","isVoid","rect","getBoundingClientRect","isPrev","isInline","edge","point","before","after","range","caretRangeFromPoint","position","caretPositionFromPoint","createRange","setStart","offsetNode","offset","setEnd","toSlateRange","exactMatch","suppressThrow","findKey","isEditor","unshift","stringify","focus","retries","operations","toDOMRange","addRange","select","preventScroll","targetEl","editorEl","parentElement","includes","closest","isContentEditable","hasEditableTarget","hasRange","anchor","hasPath","hasSelectableTarget","isTargetInsideNonReadonlyVoid","hasTarget","insertData","data","insertFragmentData","insertTextData","isComposing","isFocused","isReadOnly","slateNode","setFragmentData","originEvent","KEY_TO_ELEMENT","toDOMPoint","domPoint","void","at","texts","querySelectorAll","attr","nextText","hasAttribute","_nextText$textContent","domText","startsWith","isBackward","domAnchor","domFocus","isCollapsed","startNode","startOffset","endNode","endOffset","isStartAtZeroWidth","isEndAtZeroWidth","domEl","toSlatePoint","searchDirection","nearestNode","nearestOffset","isLast","normalizeDOMPoint","textNode","_domNode$textContent","_domNode$textContent2","potentialVoidNode","voidNode","potentialNonEditableNode","nonEditableNode","leafNode","contents","cloneContents","textContext","removeChild","leafNodes","_leafNodes$find","_leafNodes2$findLast","getLeafNodes","elementNode","nextElementSibling","leaf","DOCUMENT_POSITION_FOLLOWING","isAfter","previousElementSibling","findLast","_slateNode","_path","_offset","_focusNode$textConten","anchorOffset","focusNode","focusOffset","startContainer","firstRange","getRangeAt","lastRange","HTMLTableRowElement","getLastChildren","element","childElementCount","children","firstNodeRow","lastNodeRow","firstNode","lastNode","HTMLElement","innerHTML","endContainer","hasShadowRoot","collapsed","focusBeforeAnchor","isExpanded","isForward","mode","unhangRange","voids","verifyDiffState","textDiff","diff","isText","nextPath","nextNode","applyStringDiff","_len","diffs","_key","reduce","normalizeStringDiff","targetText","removedText","prefixLength","str","another","longestCommonPrefixLength","suffixLength","longestCommonSuffixLength","normalized","mergeStringDiffs","overlap","applied","sliceEnd","targetRange","normalizePoint","parentBlock","above","isBlock","isDescendant","normalizeRange","transformPendingPoint","op","pendingDiffs","equals","transform","affinity","_anchor","_transformed","transformed","transformPendingRange","doRectsIntersect","compareRect","middle","areRangesSameLine","range1","range2","rect1","rect2","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","withDOM","clipboardFormatKey","onChange","deleteBackward","addMark","removeMark","_EDITOR_TO_PENDING_DI","_EDITOR_TO_PENDING_DI2","unit","parentBlockEntry","parentBlockPath","parentElementRange","currentLineRange","parentRange","parentRangeBoundary","positions","findCurrentLineRange","pathRefMatches","newPath","transformTextDiff","pendingSelection","pendingAction","isPoint","getMatches","_EDITOR_TO_USER_SELEC","unref","prevPath","previous","changedPath","commonPath","common","changedNode","changedNodeKey","changedPathRef","pathRef","edges","startVoid","endVoid","attach","trim","cloneRange","setEndAfter","zw","isNewline","span","style","whiteSpace","fragment","getFragment","JSON","encoded","btoa","encodeURIComponent","setData","div","dataTransfer","htmlData","getSlateFragmentAttribute","decoded","decodeURIComponent","atob","parsed","parse","insertFragment","lines","line","splitNodes","always","insertText","onContextChange","levels","TRIPLE_CLICK","HOTKEYS","bold","compose","moveBackward","moveForward","moveWordBackward","moveWordForward","deleteForward","extendBackward","extendForward","italic","insertSoftBreak","splitBlock","undo","APPLE_HOTKEYS","moveLineBackward","moveLineForward","deleteLineBackward","deleteLineForward","deleteWordBackward","deleteWordForward","extendLineBackward","extendLineForward","redo","transposeCharacter","WINDOWS_HOTKEYS","create","generic","apple","isGeneric","isApple","isWindows","hotkeys","isBold","isCompose","isMoveBackward","isMoveForward","isDeleteBackward","isDeleteForward","isDeleteLineBackward","isDeleteLineForward","isDeleteWordBackward","isDeleteWordForward","isExtendBackward","isExtendForward","isExtendLineBackward","isExtendLineForward","isItalic","isMoveLineBackward","isMoveLineForward","isMoveWordBackward","isMoveWordForward","isRedo","isSoftBreak","isSplitBlock","isTransposeCharacter","isUndo","_objectWithoutProperties","source","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_excluded","_excluded2","isDecorationFlagsEqual","obj1","obj2","rangeOwnProps","otherOwnProps","every","isElementDecorationsEqual","list","isTextDecorationsEqual","SpriteSymbol","ref","viewBox","content","destroy","this$1","prop","createCommonjsModule","deepmerge","isMergeableObject","val","emptyTarget","cloneIfNecessary","optionsArgument","clone","defaultArrayMerge","destination","mergeObject","arrayMerge","all","prev","factory","namespaces_1","default","uri","xlink","defaultAttrs","wrapInSvgString","attrs","join","objectToAttrsString","BrowserSpriteSymbol","SpriteSymbol$$1","__proto__","prototypeAccessors","isMounted","createFromExistingNode","outerHTML","unmount","mount","mountTarget","hasImportNode","importNode","doc","DOMParser","parseFromString","documentElement","symbol","svg$1","xlink$1","defaultConfig","Sprite","config","symbols","existing","remove","s","stringifiedSymbols","defaultConfig$1","autoConfigure","mountTo","syncUrlsWithBaseTag","listenLocationChangeEvent","locationChangeEvent","locationChangeAngularEmitter","usagesToUpdate","moveGradientsOutsideSymbol","arrayFrom","arrayLike","browser","getUrlWithoutFragment","url","location","eventName","angular","$rootScope","$on","newUrl","oldUrl","initCustomEvent","selector","insertBefore","xLinkNS","xLinkAttrName","specialUrlCharsPattern","encoder","sprite","attList","attSelector","updateUrls","references","replaceWith","nodes","matcher","startsWithEncoded","replaceWithEncoded","localName","acc","arrayfied","matched","setAttributeNS","updateReferences","Events","BrowserSprite","Sprite$$1","cfg","emitter","on","handler","off","emit","_emitter","_autoConfigure","baseUrl","getElementsByTagName","handleLocationChange","_handleLocationChange","spriteNode","symbolNode","updatedNodes","isNewSymbol","prepend","mountNode","usages","ready$1","definition","fns","hack","doScroll","domContentLoaded","loaded","readyState","spriteNodeId","spriteGlobalVarName","loadSprite","ErrorType","errorMessages","Map","MalformedUnicode","MalformedHexadecimal","CodePointLimit","OctalDeprecation","EndOfString","errors_1","validateAndParseHex","hex","errorName","enforcedLength","parsedHex","NaN","parseHexToInt","Number","isNaN","SyntaxError","parseUnicodeCode","surrogateCode","parsedCode","parsedSurrogateCode","fromCharCode","singleCharacterEscapes","escapeMatch","raw","allowOctals","_","backslash","codePoint","unicodeWithSurrogate","surrogate","unicode","octal","singleCharacter","parseHexadecimalCode","fromCodePoint","RangeError","parseUnicodeCodePointCode","parseOctalCode","updateRef","useComposedRef","libRef","userRef","prevUserRef","instance","useLayoutEffect","useLatest","_extends","assign","NOTHING","for","DRAFTABLE","DRAFT_STATE","die","getPrototypeOf","isDraft","isDraftable","isPlainObject","isMap","isSet","objectCtorString","proto","Ctor","each","iter","getArchtype","Reflect","thing","state","type_","propOrOldValue","Set","latest","copy_","base_","shallowCopy","base","strict","isPlain","descriptors","desc","deep","isFrozen","clear","dontMutateFrozenCollections","currentScope","plugins","getPlugin","pluginKey","plugin","getCurrentScope","usePatchesInScope","patchListener","patches_","inversePatches_","patchListener_","revokeScope","leaveScope","drafts_","revokeDraft","parent_","enterScope","immer2","immer_","canAutoFreeze_","unfinalizedDrafts_","draft","revoke_","revoked_","processResult","baseDraft","modified_","finalize","maybeFreeze","generateReplacementPatches_","rootScope","childValue","finalizeProperty","scope_","finalized_","resultEach","isSet2","generatePatches_","parentState","targetObject","rootPath","targetIsSet","assigned_","autoFreeze_","objectTraps","getDescriptorFromProto","draft_","readPropFromProto","peek","prepareCopy","createProxy","current2","currentState","markChanged","deleteProperty","owner","setPrototypeOf","arrayTraps","useStrictShallowCopy_","proxyMap_","proxySet_","isManual_","traps","revoke","proxy","Proxy","revocable","createProxyProxy","currentImpl","copy","immer","produce","recipe","defaultBase","base2","hasError","ip","produceWithPatches","patches","inversePatches","autoFreeze","setAutoFreeze","useStrictShallowCopy","setUseStrictShallowCopy","createDraft","finishDraft","applyPatches","patch","applyPatchesImpl","applyPatches_","ctor","prot","scrollHeight","scrollWidth","frameElement","host","scrollMode","block","inline","boundary","skipOverflowHiddenElements","scrollingElement","W","visualViewport","innerWidth","innerHeight","scrollX","scrollY","V","scrollMarginTop","scrollMarginRight","scrollMarginBottom","scrollMarginLeft","X","Y","scrollLeft","scrollTop","isConnected","behavior","scroll"],"sourceRoot":""}