arpeggi-framer-components 0.0.26 → 0.0.28
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.es.js +2212 -2111
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +24 -24
- package/dist/index.umd.js.map +1 -1
- package/package.json +3 -2
package/dist/index.umd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/@stitches/react/dist/index.mjs","../lib/utils/Box.tsx","../../../node_modules/magic-bytes.js/dist/model/toHex.js","../../../node_modules/magic-bytes.js/dist/model/tree.js","../../../node_modules/magic-bytes.js/dist/model/pattern-tree.js","../../../node_modules/magic-bytes.js/dist/index.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/node_modules/react-is/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/file-selector/dist/es2015/file.js","../node_modules/file-selector/dist/es2015/file-selector.js","../node_modules/attr-accept/dist/es/index.js","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","../lib/GuestConvert/useAudioFilepickerDropzone.tsx","../lib/GuestConvert/AudioFilePicker.tsx","../lib/GuestConvert/ConvertStep.tsx","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/swr/dist/_internal/index.mjs","../../../node_modules/swr/dist/core/index.mjs","../../../node_modules/swr/dist/mutation/index.mjs","../lib/icons.tsx","../lib/utils/PlayerProvider.tsx","../lib/utils/RenderWhen.tsx","../lib/utils/objectToFormData.ts","../lib/GuestConvert/Progress.tsx","../lib/GuestConvert/AudioRecorderService.ts","../lib/GuestConvert/useRecorder.tsx","../lib/GuestConvert/GuestConvert.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.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';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var e=\"colors\",t=\"sizes\",r=\"space\",n={gap:r,gridGap:r,columnGap:r,gridColumnGap:r,rowGap:r,gridRowGap:r,inset:r,insetBlock:r,insetBlockEnd:r,insetBlockStart:r,insetInline:r,insetInlineEnd:r,insetInlineStart:r,margin:r,marginTop:r,marginRight:r,marginBottom:r,marginLeft:r,marginBlock:r,marginBlockEnd:r,marginBlockStart:r,marginInline:r,marginInlineEnd:r,marginInlineStart:r,padding:r,paddingTop:r,paddingRight:r,paddingBottom:r,paddingLeft:r,paddingBlock:r,paddingBlockEnd:r,paddingBlockStart:r,paddingInline:r,paddingInlineEnd:r,paddingInlineStart:r,top:r,right:r,bottom:r,left:r,scrollMargin:r,scrollMarginTop:r,scrollMarginRight:r,scrollMarginBottom:r,scrollMarginLeft:r,scrollMarginX:r,scrollMarginY:r,scrollMarginBlock:r,scrollMarginBlockEnd:r,scrollMarginBlockStart:r,scrollMarginInline:r,scrollMarginInlineEnd:r,scrollMarginInlineStart:r,scrollPadding:r,scrollPaddingTop:r,scrollPaddingRight:r,scrollPaddingBottom:r,scrollPaddingLeft:r,scrollPaddingX:r,scrollPaddingY:r,scrollPaddingBlock:r,scrollPaddingBlockEnd:r,scrollPaddingBlockStart:r,scrollPaddingInline:r,scrollPaddingInlineEnd:r,scrollPaddingInlineStart:r,fontSize:\"fontSizes\",background:e,backgroundColor:e,backgroundImage:e,borderImage:e,border:e,borderBlock:e,borderBlockEnd:e,borderBlockStart:e,borderBottom:e,borderBottomColor:e,borderColor:e,borderInline:e,borderInlineEnd:e,borderInlineStart:e,borderLeft:e,borderLeftColor:e,borderRight:e,borderRightColor:e,borderTop:e,borderTopColor:e,caretColor:e,color:e,columnRuleColor:e,fill:e,outline:e,outlineColor:e,stroke:e,textDecorationColor:e,fontFamily:\"fonts\",fontWeight:\"fontWeights\",lineHeight:\"lineHeights\",letterSpacing:\"letterSpacings\",blockSize:t,minBlockSize:t,maxBlockSize:t,inlineSize:t,minInlineSize:t,maxInlineSize:t,width:t,minWidth:t,maxWidth:t,height:t,minHeight:t,maxHeight:t,flexBasis:t,gridTemplateColumns:t,gridTemplateRows:t,borderWidth:\"borderWidths\",borderTopWidth:\"borderWidths\",borderRightWidth:\"borderWidths\",borderBottomWidth:\"borderWidths\",borderLeftWidth:\"borderWidths\",borderStyle:\"borderStyles\",borderTopStyle:\"borderStyles\",borderRightStyle:\"borderStyles\",borderBottomStyle:\"borderStyles\",borderLeftStyle:\"borderStyles\",borderRadius:\"radii\",borderTopLeftRadius:\"radii\",borderTopRightRadius:\"radii\",borderBottomRightRadius:\"radii\",borderBottomLeftRadius:\"radii\",boxShadow:\"shadows\",textShadow:\"shadows\",transition:\"transitions\",zIndex:\"zIndices\"},i=(e,t)=>\"function\"==typeof t?{\"()\":Function.prototype.toString.call(t)}:t,o=()=>{const e=Object.create(null);return(t,r,...n)=>{const o=(e=>JSON.stringify(e,i))(t);return o in e?e[o]:e[o]=r(t,...n)}},l=Symbol.for(\"sxs.internal\"),s=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),a=e=>{for(const t in e)return!0;return!1},{hasOwnProperty:c}=Object.prototype,d=e=>e.includes(\"-\")?e:e.replace(/[A-Z]/g,(e=>\"-\"+e.toLowerCase())),g=/\\s+(?![^()]*\\))/,p=e=>t=>e(...\"string\"==typeof t?String(t).split(g):[t]),u={appearance:e=>({WebkitAppearance:e,appearance:e}),backfaceVisibility:e=>({WebkitBackfaceVisibility:e,backfaceVisibility:e}),backdropFilter:e=>({WebkitBackdropFilter:e,backdropFilter:e}),backgroundClip:e=>({WebkitBackgroundClip:e,backgroundClip:e}),boxDecorationBreak:e=>({WebkitBoxDecorationBreak:e,boxDecorationBreak:e}),clipPath:e=>({WebkitClipPath:e,clipPath:e}),content:e=>({content:e.includes('\"')||e.includes(\"'\")||/^([A-Za-z]+\\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(e)?e:`\"${e}\"`}),hyphens:e=>({WebkitHyphens:e,hyphens:e}),maskImage:e=>({WebkitMaskImage:e,maskImage:e}),maskSize:e=>({WebkitMaskSize:e,maskSize:e}),tabSize:e=>({MozTabSize:e,tabSize:e}),textSizeAdjust:e=>({WebkitTextSizeAdjust:e,textSizeAdjust:e}),userSelect:e=>({WebkitUserSelect:e,userSelect:e}),marginBlock:p(((e,t)=>({marginBlockStart:e,marginBlockEnd:t||e}))),marginInline:p(((e,t)=>({marginInlineStart:e,marginInlineEnd:t||e}))),maxSize:p(((e,t)=>({maxBlockSize:e,maxInlineSize:t||e}))),minSize:p(((e,t)=>({minBlockSize:e,minInlineSize:t||e}))),paddingBlock:p(((e,t)=>({paddingBlockStart:e,paddingBlockEnd:t||e}))),paddingInline:p(((e,t)=>({paddingInlineStart:e,paddingInlineEnd:t||e})))},h=/([\\d.]+)([^]*)/,f=(e,t)=>e.length?e.reduce(((e,r)=>(e.push(...t.map((e=>e.includes(\"&\")?e.replace(/&/g,/[ +>|~]/.test(r)&&/&.*&/.test(e)?`:is(${r})`:r):r+\" \"+e))),e)),[]):t,m=(e,t)=>e in b&&\"string\"==typeof t?t.replace(/^((?:[^]*[^\\w-])?)(fit-content|stretch)((?:[^\\w-][^]*)?)$/,((t,r,n,i)=>r+(\"stretch\"===n?`-moz-available${i};${d(e)}:${r}-webkit-fill-available`:`-moz-fit-content${i};${d(e)}:${r}fit-content`)+i)):String(t),b={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},S=e=>e?e+\"-\":\"\",k=(e,t,r)=>e.replace(/([+-])?((?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][+-]?\\d+)?)?(\\$|--)([$\\w-]+)/g,((e,n,i,o,l)=>\"$\"==o==!!i?e:(n||\"--\"==o?\"calc(\":\"\")+\"var(--\"+(\"$\"===o?S(t)+(l.includes(\"$\")?\"\":S(r))+l.replace(/\\$/g,\"-\"):l)+\")\"+(n||\"--\"==o?\"*\"+(n||\"\")+(i||\"1\")+\")\":\"\"))),y=/\\s*,\\s*(?![^()]*\\))/,B=Object.prototype.toString,$=(e,t,r,n,i)=>{let o,l,s;const a=(e,t,r)=>{let c,g;const p=e=>{for(c in e){const R=64===c.charCodeAt(0),z=R&&Array.isArray(e[c])?e[c]:[e[c]];for(g of z){const e=/[A-Z]/.test($=c)?$:$.replace(/-[^]/g,(e=>e[1].toUpperCase())),z=\"object\"==typeof g&&g&&g.toString===B&&(!n.utils[e]||!t.length);if(e in n.utils&&!z){const t=n.utils[e];if(t!==l){l=t,p(t(g)),l=null;continue}}else if(e in u){const t=u[e];if(t!==s){s=t,p(t(g)),s=null;continue}}if(R&&(b=c.slice(1)in n.media?\"@media \"+n.media[c.slice(1)]:c,c=b.replace(/\\(\\s*([\\w-]+)\\s*(=|<|<=|>|>=)\\s*([\\w-]+)\\s*(?:(<|<=|>|>=)\\s*([\\w-]+)\\s*)?\\)/g,((e,t,r,n,i,o)=>{const l=h.test(t),s=.0625*(l?-1:1),[a,c]=l?[n,t]:[t,n];return\"(\"+(\"=\"===r[0]?\"\":\">\"===r[0]===l?\"max-\":\"min-\")+a+\":\"+(\"=\"!==r[0]&&1===r.length?c.replace(h,((e,t,n)=>Number(t)+s*(\">\"===r?1:-1)+n)):c)+(i?\") and (\"+(\">\"===i[0]?\"min-\":\"max-\")+a+\":\"+(1===i.length?o.replace(h,((e,t,r)=>Number(t)+s*(\">\"===i?-1:1)+r)):o):\"\")+\")\"}))),z){const e=R?r.concat(c):[...r],n=R?[...t]:f(t,c.split(y));void 0!==o&&i(x(...o)),o=void 0,a(g,n,e)}else void 0===o&&(o=[[],t,r]),c=R||36!==c.charCodeAt(0)?c:`--${S(n.prefix)}${c.slice(1).replace(/\\$/g,\"-\")}`,g=z?g:\"number\"==typeof g?g&&e in I?String(g)+\"px\":String(g):k(m(e,null==g?\"\":g),n.prefix,n.themeMap[e]),o[0].push(`${R?`${c} `:`${d(c)}:`}${g}`)}}var b,$};p(e),void 0!==o&&i(x(...o)),o=void 0};a(e,t,r)},x=(e,t,r)=>`${r.map((e=>`${e}{`)).join(\"\")}${t.length?`${t.join(\",\")}{`:\"\"}${e.join(\";\")}${t.length?\"}\":\"\"}${Array(r.length?r.length+1:0).join(\"}\")}`,I={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},R=e=>String.fromCharCode(e+(e>25?39:97)),z=e=>(e=>{let t,r=\"\";for(t=Math.abs(e);t>52;t=t/52|0)r=R(t%52)+r;return R(t%52)+r})(((e,t)=>{let r=t.length;for(;r;)e=33*e^t.charCodeAt(--r);return e})(5381,JSON.stringify(e))>>>0),W=[\"themed\",\"global\",\"styled\",\"onevar\",\"resonevar\",\"allvar\",\"inline\"],j=e=>{if(e.href&&!e.href.startsWith(location.origin))return!1;try{return!!e.cssRules}catch(e){return!1}},E=e=>{let t;const r=()=>{const{cssRules:e}=t.sheet;return[].map.call(e,((r,n)=>{const{cssText:i}=r;let o=\"\";if(i.startsWith(\"--sxs\"))return\"\";if(e[n-1]&&(o=e[n-1].cssText).startsWith(\"--sxs\")){if(!r.cssRules.length)return\"\";for(const e in t.rules)if(t.rules[e].group===r)return`--sxs{--sxs:${[...t.rules[e].cache].join(\" \")}}${i}`;return r.cssRules.length?`${o}${i}`:\"\"}return i})).join(\"\")},n=()=>{if(t){const{rules:e,sheet:r}=t;if(!r.deleteRule){for(;3===Object(Object(r.cssRules)[0]).type;)r.cssRules.splice(0,1);r.cssRules=[]}for(const t in e)delete e[t]}const i=Object(e).styleSheets||[];for(const e of i)if(j(e)){for(let i=0,o=e.cssRules;o[i];++i){const l=Object(o[i]);if(1!==l.type)continue;const s=Object(o[i+1]);if(4!==s.type)continue;++i;const{cssText:a}=l;if(!a.startsWith(\"--sxs\"))continue;const c=a.slice(14,-3).trim().split(/\\s+/),d=W[c[0]];d&&(t||(t={sheet:e,reset:n,rules:{},toString:r}),t.rules[d]={group:s,index:i,cache:new Set(c)})}if(t)break}if(!t){const i=(e,t)=>({type:t,cssRules:[],insertRule(e,t){this.cssRules.splice(t,0,i(e,{import:3,undefined:1}[(e.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return\"@media{}\"===e?`@media{${[].map.call(this.cssRules,(e=>e.cssText)).join(\"\")}}`:e}});t={sheet:e?(e.head||e).appendChild(document.createElement(\"style\")).sheet:i(\"\",\"text/css\"),rules:{},reset:n,toString:r}}const{sheet:o,rules:l}=t;for(let e=W.length-1;e>=0;--e){const t=W[e];if(!l[t]){const r=W[e+1],n=l[r]?l[r].index:o.cssRules.length;o.insertRule(\"@media{}\",n),o.insertRule(`--sxs{--sxs:${e}}`,n),l[t]={group:o.cssRules[n+1],index:n,cache:new Set([e])}}v(l[t])}};return n(),t},v=e=>{const t=e.group;let r=t.cssRules.length;e.apply=e=>{try{t.insertRule(e,r),++r}catch(e){}}},T=Symbol(),w=o(),M=(e,t)=>w(e,(()=>(...r)=>{let n={type:null,composers:new Set};for(const t of r)if(null!=t)if(t[l]){null==n.type&&(n.type=t[l].type);for(const e of t[l].composers)n.composers.add(e)}else t.constructor!==Object||t.$$typeof?null==n.type&&(n.type=t):n.composers.add(C(t,e));return null==n.type&&(n.type=\"span\"),n.composers.size||n.composers.add([\"PJLV\",{},[],[],{},[]]),P(e,n,t)})),C=({variants:e,compoundVariants:t,defaultVariants:r,...n},i)=>{const o=`${S(i.prefix)}c-${z(n)}`,l=[],s=[],d=Object.create(null),g=[];for(const e in r)d[e]=String(r[e]);if(\"object\"==typeof e&&e)for(const t in e){p=d,u=t,c.call(p,u)||(d[t]=\"undefined\");const r=e[t];for(const e in r){const n={[t]:String(e)};\"undefined\"===String(e)&&g.push(t);const i=r[e],o=[n,i,!a(i)];l.push(o)}}var p,u;if(\"object\"==typeof t&&t)for(const e of t){let{css:t,...r}=e;t=\"object\"==typeof t&&t||{};for(const e in r)r[e]=String(r[e]);const n=[r,t,!a(t)];s.push(n)}return[o,n,l,s,d,g]},P=(e,t,r)=>{const[n,i,o,a]=L(t.composers),c=\"function\"==typeof t.type||t.type.$$typeof?(e=>{function t(){for(let r=0;r<t[T].length;r++){const[n,i]=t[T][r];e.rules[n].apply(i)}return t[T]=[],null}return t[T]=[],t.rules={},W.forEach((e=>t.rules[e]={apply:r=>t[T].push([e,r])})),t})(r):null,d=(c||r).rules,g=`.${n}${i.length>1?`:where(.${i.slice(1).join(\".\")})`:\"\"}`,p=l=>{l=\"object\"==typeof l&&l||A;const{css:s,...p}=l,u={};for(const e in o)if(delete p[e],e in l){let t=l[e];\"object\"==typeof t&&t?u[e]={\"@initial\":o[e],...t}:(t=String(t),u[e]=\"undefined\"!==t||a.has(e)?t:o[e])}else u[e]=o[e];const h=new Set([...i]);for(const[n,i,o,l]of t.composers){r.rules.styled.cache.has(n)||(r.rules.styled.cache.add(n),$(i,[`.${n}`],[],e,(e=>{d.styled.apply(e)})));const t=O(o,u,e.media),s=O(l,u,e.media,!0);for(const i of t)if(void 0!==i)for(const[t,o,l]of i){const i=`${n}-${z(o)}-${t}`;h.add(i);const s=(l?r.rules.resonevar:r.rules.onevar).cache,a=l?d.resonevar:d.onevar;s.has(i)||(s.add(i),$(o,[`.${i}`],[],e,(e=>{a.apply(e)})))}for(const t of s)if(void 0!==t)for(const[i,o]of t){const t=`${n}-${z(o)}-${i}`;h.add(t),r.rules.allvar.cache.has(t)||(r.rules.allvar.cache.add(t),$(o,[`.${t}`],[],e,(e=>{d.allvar.apply(e)})))}}if(\"object\"==typeof s&&s){const t=`${n}-i${z(s)}-css`;h.add(t),r.rules.inline.cache.has(t)||(r.rules.inline.cache.add(t),$(s,[`.${t}`],[],e,(e=>{d.inline.apply(e)})))}for(const e of String(l.className||\"\").trim().split(/\\s+/))e&&h.add(e);const f=p.className=[...h].join(\" \");return{type:t.type,className:f,selector:g,props:p,toString:()=>f,deferredInjector:c}};return s(p,{className:n,selector:g,[l]:t,toString:()=>(r.rules.styled.cache.has(n)||p(),n)})},L=e=>{let t=\"\";const r=[],n={},i=[];for(const[o,,,,l,s]of e){\"\"===t&&(t=o),r.push(o),i.push(...s);for(const e in l){const t=l[e];(void 0===n[e]||\"undefined\"!==t||s.includes(t))&&(n[e]=t)}}return[t,r,n,new Set(i)]},O=(e,t,r,n)=>{const i=[];e:for(let[o,l,s]of e){if(s)continue;let e,a=0,c=!1;for(e in o){const n=o[e];let i=t[e];if(i!==n){if(\"object\"!=typeof i||!i)continue e;{let e,t,o=0;for(const l in i){if(n===String(i[l])){if(\"@initial\"!==l){const e=l.slice(1);(t=t||[]).push(e in r?r[e]:l.replace(/^@media ?/,\"\")),c=!0}a+=o,e=!0}++o}if(t&&t.length&&(l={[\"@media \"+t.join(\", \")]:l}),!e)continue e}}}(i[a]=i[a]||[]).push([n?\"cv\":`${e}-${o[e]}`,l,c])}return i},A={},N=o(),D=(e,t)=>N(e,(()=>(...r)=>{const n=()=>{for(let n of r){n=\"object\"==typeof n&&n||{};let r=z(n);if(!t.rules.global.cache.has(r)){if(t.rules.global.cache.add(r),\"@import\"in n){let e=[].indexOf.call(t.sheet.cssRules,t.rules.themed.group)-1;for(let r of[].concat(n[\"@import\"]))r=r.includes('\"')||r.includes(\"'\")?r:`\"${r}\"`,t.sheet.insertRule(`@import ${r};`,e++);delete n[\"@import\"]}$(n,[],[],e,(e=>{t.rules.global.apply(e)}))}}return\"\"};return s(n,{toString:n})})),H=o(),V=(e,t)=>H(e,(()=>r=>{const n=`${S(e.prefix)}k-${z(r)}`,i=()=>{if(!t.rules.global.cache.has(n)){t.rules.global.cache.add(n);const i=[];$(r,[],[],e,(e=>i.push(e)));const o=`@keyframes ${n}{${i.join(\"\")}}`;t.rules.global.apply(o)}return n};return s(i,{get name(){return i()},toString:i})})),G=class{constructor(e,t,r,n){this.token=null==e?\"\":String(e),this.value=null==t?\"\":String(t),this.scale=null==r?\"\":String(r),this.prefix=null==n?\"\":String(n)}get computedValue(){return\"var(\"+this.variable+\")\"}get variable(){return\"--\"+S(this.prefix)+S(this.scale)+this.token}toString(){return this.computedValue}},F=o(),J=(e,t)=>F(e,(()=>(r,n)=>{n=\"object\"==typeof r&&r||Object(n);const i=`.${r=(r=\"string\"==typeof r?r:\"\")||`${S(e.prefix)}t-${z(n)}`}`,o={},l=[];for(const t in n){o[t]={};for(const r in n[t]){const i=`--${S(e.prefix)}${t}-${r}`,s=k(String(n[t][r]),e.prefix,t);o[t][r]=new G(r,s,t,e.prefix),l.push(`${i}:${s}`)}}const s=()=>{if(l.length&&!t.rules.themed.cache.has(r)){t.rules.themed.cache.add(r);const i=`${n===e.theme?\":root,\":\"\"}.${r}{${l.join(\";\")}}`;t.rules.themed.apply(i)}return r};return{...o,get className(){return s()},selector:i,toString:s}})),U=o();import Z from\"react\";var X,Y=o(),q=e=>{const t=(e=>{let t=!1;const r=U(e,(e=>{t=!0;const r=\"prefix\"in(e=\"object\"==typeof e&&e||{})?String(e.prefix):\"\",i=\"object\"==typeof e.media&&e.media||{},o=\"object\"==typeof e.root?e.root||null:globalThis.document||null,l=\"object\"==typeof e.theme&&e.theme||{},s={prefix:r,media:i,theme:l,themeMap:\"object\"==typeof e.themeMap&&e.themeMap||{...n},utils:\"object\"==typeof e.utils&&e.utils||{}},a=E(o),c={css:M(s,a),globalCss:D(s,a),keyframes:V(s,a),createTheme:J(s,a),reset(){a.reset(),c.theme.toString()},theme:{},sheet:a,config:s,prefix:r,getCssText:a.toString,toString:a.toString};return String(c.theme=c.createTheme(l)),c}));return t||r.reset(),r})(e);return t.styled=(({config:e,sheet:t})=>Y(e,(()=>{const r=M(e,t);return(...e)=>{const t=r(...e),n=t[l].type,i=Z.forwardRef(((e,r)=>{const i=e&&e.as||n,{props:o,deferredInjector:l}=t(e);return delete o.as,o.ref=r,l?Z.createElement(Z.Fragment,null,Z.createElement(i,o),Z.createElement(l,null)):Z.createElement(i,o)}));return i.className=t.className,i.displayName=`Styled.${n.displayName||n.name||n}`,i.selector=t.selector,i.toString=()=>t.selector,i[l]=t[l],i}})))(t),t},K=()=>X||(X=q()),Q=(...e)=>K().createTheme(...e),_=(...e)=>K().globalCss(...e),ee=(...e)=>K().keyframes(...e),te=(...e)=>K().css(...e),re=(...e)=>K().styled(...e);export{q as createStitches,Q as createTheme,te as css,n as defaultThemeMap,_ as globalCss,ee as keyframes,re as styled};\n//# sourceMappingUrl=index.map","import { styled } from '@stitches/react'\n\nexport const Box = styled('div', {\n variants: {\n width: {\n full: { width: '100%' },\n half: { width: '50%' },\n fit: { width: 'fit-content' }\n },\n height: {\n full: { height: '100%' },\n vh: { height: '100vh' }\n },\n minHeight: {\n 240: { minHeight: '240px' },\n vh: { minHeight: '100vh' }\n },\n mb: {\n 0: { mb: '0' },\n 2: { mb: '2' },\n 4: { mb: '4' },\n 8: { mb: '8' },\n 12: { mb: '12' },\n 16: { mb: '16' },\n 20: { mb: '20' },\n 24: { mb: '24' },\n 32: { mb: '32' },\n 48: { mb: '48' },\n 72: { mb: '72' },\n auto: { mb: 'auto' }\n },\n mt: {\n 0: { mt: '0' },\n 2: { mt: '2' },\n 4: { mt: '4' },\n 8: { mt: '8' },\n 12: { mt: '12' },\n 16: { mt: '16' },\n 20: { mt: '20' },\n 24: { mt: '24' },\n 32: { mt: '32' },\n 48: { mt: '48' },\n 72: { mt: '72' },\n auto: { mt: 'auto' }\n },\n mx: {\n 0: { mx: '0' },\n 2: { mx: '2' },\n 4: { mx: '4' },\n 8: { mx: '8' },\n 12: { mx: '12' },\n 16: { mx: '16' },\n 20: { mx: '20' },\n 24: { mx: '24' },\n 32: { mx: '32' },\n 48: { mx: '48' },\n 72: { mx: '72' },\n auto: { mx: 'auto' }\n },\n my: {\n 0: { my: '0' },\n 2: { my: '2' },\n 4: { my: '4' },\n 8: { my: '8' },\n 12: { my: '12' },\n 16: { my: '16' },\n 20: { my: '20' },\n 24: { my: '24' },\n 32: { my: '32' },\n 48: { my: '48' },\n 72: { my: '72' },\n auto: { my: 'auto' }\n },\n ml: {\n 0: { ml: '0' },\n 2: { ml: '2' },\n 4: { ml: '4' },\n 8: { ml: '8' },\n 12: { ml: '12' },\n 16: { ml: '16' },\n 20: { ml: '20' },\n 24: { ml: '24' },\n 32: { ml: '32' },\n 48: { ml: '48' },\n 72: { ml: '72' },\n auto: { ml: 'auto' }\n },\n mr: {\n 0: { mr: '0' },\n 2: { mr: '2' },\n 4: { mr: '4' },\n 8: { mr: '8' },\n 12: { mr: '12' },\n 16: { mr: '16' },\n 20: { mr: '20' },\n 24: { mr: '24' },\n 32: { mr: '32' },\n 48: { mr: '48' },\n 72: { mr: '72' },\n auto: { mr: 'auto' }\n },\n pt: {\n 0: { pt: '0' },\n 2: { pt: '2' },\n 4: { pt: '4' },\n 8: { pt: '8' },\n 12: { pt: '12' },\n 16: { pt: '16' },\n 20: { pt: '20' },\n 24: { pt: '24' },\n 32: { pt: '32' },\n 48: { pt: '48' },\n 72: { pt: '72' }\n },\n pb: {\n 0: { pb: '0' },\n 2: { pb: '2' },\n 4: { pb: '4' },\n 8: { pb: '8' },\n 12: { pb: '12' },\n 16: { pb: '16' },\n 20: { pb: '20' },\n 24: { pb: '24' },\n 32: { pb: '32' },\n 48: { pb: '48' },\n 72: { pb: '72' }\n },\n pr: {\n 0: { pr: '0' },\n 2: { pr: '2' },\n 4: { pr: '4' },\n 8: { pr: '8' },\n 12: { pr: '12' },\n 16: { pr: '16' },\n 20: { pr: '20' },\n 24: { pr: '24' },\n 32: { pr: '32' },\n 48: { pr: '48' },\n 72: { pr: '72' }\n },\n pl: {\n 0: { pl: '0' },\n 2: { pl: '2' },\n 4: { pl: '4' },\n 8: { pl: '8' },\n 12: { pl: '12' },\n 16: { pl: '16' },\n 20: { pl: '20' },\n 24: { pl: '24' },\n 32: { pl: '32' },\n 48: { pl: '48' },\n 72: { pl: '72' }\n },\n px: {\n 0: { px: '0' },\n 2: { px: '2' },\n 4: { px: '4' },\n 8: { px: '8' },\n 12: { px: '12' },\n 16: { px: '16' },\n 20: { px: '20' },\n 24: { px: '24' },\n 32: { px: '32' },\n 48: { px: '48' },\n 72: { px: '72' }\n },\n py: {\n 0: { py: '0' },\n 2: { py: '2' },\n 4: { py: '4' },\n 8: { py: '8' },\n 12: { py: '12' },\n 16: { py: '16' },\n 20: { py: '20' },\n 24: { py: '24' },\n 32: { py: '32' },\n 40: { py: '40' },\n 48: { py: '48' },\n 56: { py: '56' },\n 64: { py: '64' },\n 72: { py: '72' }\n },\n p: {\n 0: { p: '0' },\n 2: { p: '2' },\n 4: { p: '4' },\n 8: { p: '8' },\n 12: { p: '12' },\n 16: { p: '16' },\n 20: { p: '20' },\n 24: { p: '24' },\n 32: { p: '32' },\n 48: { p: '48' },\n 72: { p: '72' }\n },\n m: {\n 0: { m: '0' },\n 2: { m: '2' },\n 4: { m: '4' },\n 8: { m: '8' },\n 12: { m: '12' },\n 16: { m: '16' },\n 20: { m: '20' },\n 24: { m: '24' },\n 32: { m: '32' },\n 48: { m: '48' },\n 72: { m: '72' }\n },\n // flex\n row: {\n true: { display: 'flex', flexDirection: 'row' }\n },\n rowReverse: {\n true: { display: 'flex', flexDirection: 'row-reverse' }\n },\n column: {\n true: { display: 'flex', flexDirection: 'column' }\n },\n columnReverse: {\n true: { display: 'flex', flexDirection: 'column-reverse' }\n },\n center: {\n true: { justifyContent: 'center', alignItems: 'center' }\n },\n wrap: { true: { flexWrap: 'wrap' } },\n flex: {\n 1: { flex: 1 },\n 2: { flex: 2 },\n 3: { flex: 3 },\n 4: { flex: 4 },\n 5: { flex: 5 },\n 6: { flex: 6 },\n 7: { flex: 7 },\n 8: { flex: 8 }\n },\n shrink: {\n 0: { flexShrink: 0 },\n 1: { flexShrink: 1 }\n },\n flexGrow: {\n 1: { flexGrow: 1 }\n },\n flexBasis: {\n 0: { flexBasis: 0 },\n auto: { flexBasis: 'auto' },\n full: { flexBasis: '100%' },\n 50: { flexBasis: '50px' },\n 100: { flexBasis: '100px' },\n 150: { flexBasis: '150px' },\n 200: { flexBasis: '200px' },\n 250: { flexBasis: '250px' },\n 300: { flexBasis: '300px' },\n 350: { flexBasis: '350px' },\n 400: { flexBasis: '400px' },\n 450: { flexBasis: '450px' },\n 500: { flexBasis: '500px' },\n 550: { flexBasis: '550px' },\n 600: { flexBasis: '600px' }\n },\n // justify\n justify: {\n start: { justifyContent: 'flex-start' },\n end: { justifyContent: 'flex-end' },\n center: { justifyContent: 'center' },\n between: { justifyContent: 'space-between' },\n around: { justifyContent: 'space-around' },\n selfCenter: { justifySelf: 'center' }\n },\n // align\n align: {\n start: { alignItems: 'flex-start' },\n end: { alignItems: 'flex-end' },\n center: { alignItems: 'center' },\n stretch: { alignItems: 'stretch' },\n selfCenter: { alignSelf: 'center' }\n },\n justifyBetween: { true: { justifyContent: 'space-between' } },\n justifyCenter: { true: { justifyContent: 'center' } },\n justifyStart: { true: { justifyContent: 'flex-start' } },\n justifyEnd: { true: { justifyContent: 'flex-end' } },\n justifyAround: { true: { justifyContent: 'space-around' } },\n justifySelfCenter: { true: { justifySelf: 'center' } },\n // align\n alignCenter: { true: { alignItems: 'center' } },\n alignStart: { true: { alignItems: 'flex-start' } },\n alignEnd: { true: { alignItems: 'flex-end' } },\n alignStretch: { true: { alignItems: 'stretch' } },\n alignSelfCenter: { true: { alignSelf: 'center' } },\n // text\n textCenter: { true: { textAlign: 'center' } },\n textLeft: { true: { textAlign: 'left' } },\n textRight: { true: { textAlign: 'right' } },\n\n // min width (helpful for flexbox text overflows)\n minWidth: {\n 0: { minWidth: 0 }\n },\n\n // spacing (note that these are not computed but statically defined for performance reasons generating those variants take time and we need instant boot of our library)\n gap: {\n 0: { gap: '0px' },\n 2: { gap: '2px' },\n 4: { gap: '4px' },\n 8: { gap: '8px' },\n 10: { gap: '10px' },\n 12: { gap: '12px' },\n 16: { gap: '16px' },\n 20: { gap: '20px' },\n 24: { gap: '24px' },\n 32: { gap: '32px' },\n 40: { gap: '40px' },\n 48: { gap: '48px' },\n 56: { gap: '56px' }\n },\n rowGap: {\n 0: { rowGap: '0px' },\n 2: { rowGap: '2px' },\n 4: { rowGap: '4px' },\n 8: { rowGap: '8px' },\n 10: { rowGap: '10px' },\n 12: { rowGap: '12px' },\n 16: { rowGap: '16px' },\n 20: { rowGap: '20px' },\n 24: { rowGap: '24px' },\n 32: { rowGap: '32px' },\n 40: { rowGap: '40px' },\n 48: { rowGap: '48px' },\n 56: { rowGap: '56px' }\n },\n columnGap: {\n 0: { columnGap: '0px' },\n 2: { columnGap: '2px' },\n 4: { columnGap: '4px' },\n 8: { columnGap: '8px' },\n 10: { columnGap: '10px' },\n 12: { columnGap: '12px' },\n 16: { columnGap: '16px' },\n 20: { columnGap: '20px' },\n 24: { columnGap: '24px' },\n 32: { columnGap: '32px' },\n 40: { columnGap: '40px' },\n 48: { columnGap: '48px' },\n 56: { columnGap: '56px' }\n }\n }\n})\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromHex = exports.toHex = void 0;\nconst hex = (num) => new Number(num).toString(16).toLowerCase();\nconst toHex = (num) => `0x${hex(num).length === 1 ? \"0\" + hex(num) : hex(num)}`;\nexports.toHex = toHex;\nconst fromHex = (hex) => new Number(hex);\nexports.fromHex = fromHex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createComplexNode = exports.createNode = exports.merge = void 0;\nconst createMatch = (leaf) => ({\n typename: leaf.typename,\n mime: leaf.info.mime,\n extension: leaf.info.extension,\n});\nconst isMatchingNode = (tree, path) => tree && path.length === 0;\nconst head = (arr) => arr[0];\nconst tail = (arr) => arr.slice(1, arr.length);\nconst merge = (node, tree) => {\n if (node.bytes.length === 0)\n return tree;\n const currentByte = head(node.bytes); // 0\n const path = tail(node.bytes); // [1,2]\n const currentTree = tree.bytes[currentByte];\n // traversed to end. Just add key to leaf.\n if (isMatchingNode(currentTree, path)) {\n const matchingNode = tree.bytes[currentByte];\n tree.bytes[currentByte] = {\n ...matchingNode,\n matches: [\n ...(matchingNode.matches ? matchingNode.matches : []),\n createMatch(node),\n ],\n };\n return tree;\n }\n // Path exists already, Merge subtree\n if (tree.bytes[currentByte]) {\n tree.bytes[currentByte] = exports.merge(exports.createNode(node.typename, path, node.info), tree.bytes[currentByte]);\n return tree;\n }\n // Tree did not exist before\n if (!tree.bytes[currentByte]) {\n tree.bytes[currentByte] = {\n ...tree.bytes[currentByte],\n ...exports.createComplexNode(node.typename, path, node.info),\n };\n }\n return tree;\n};\nexports.merge = merge;\nconst createNode = (typename, bytes, info) => {\n return { typename, bytes, info: info ? info : {} };\n};\nexports.createNode = createNode;\nconst createComplexNode = (typename, bytes, info) => {\n let obj = {\n bytes: {},\n matches: undefined,\n };\n const currentKey = head(bytes); // 0\n const path = tail(bytes); // [1,2]\n if (bytes.length === 0) {\n return {\n matches: [\n createMatch({\n typename: typename,\n info: info ? { extension: info.extension, mime: info.mime } : {},\n }),\n ],\n bytes: {},\n };\n }\n obj.bytes[currentKey] = exports.createComplexNode(typename, path, info);\n return obj;\n};\nexports.createComplexNode = createComplexNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst toHex_1 = require(\"./toHex\");\nconst tree_1 = require(\"./tree\");\n// https://en.wikipedia.org/wiki/List_of_file_signatures\nlet tree = {\n noOffset: null,\n offset: {},\n};\nconst add = (typename, signature, additionalInfo, offset) => {\n if (offset) {\n const existing = tree.offset[toHex_1.toHex(offset)];\n if (!existing) {\n tree.offset[toHex_1.toHex(offset)] = tree_1.createComplexNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo);\n }\n else {\n const merged = tree_1.merge(tree_1.createNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo), { ...existing });\n tree.offset[toHex_1.toHex(offset)] = merged;\n }\n }\n else {\n if (tree.noOffset === null) {\n tree.noOffset = tree_1.createComplexNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo);\n }\n else {\n tree.noOffset = tree_1.merge(tree_1.createNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo), tree.noOffset);\n }\n }\n};\nadd(\"gif\", [\"0x47\", \"0x49\", \"0x46\", \"0x38\", \"0x37\", \"0x61\"], {\n mime: \"image/gif\",\n extension: \"gif\",\n});\nadd(\"gif\", [\"0x47\", \"0x49\", \"0x46\", \"0x38\", \"0x39\", \"0x61\"], {\n mime: \"image/gif\",\n extension: \"gif\",\n});\nadd(\"jpg\", [\"0xFF\", \"0xD8\", \"0xFF\"], {\n mime: \"image/jpeg\",\n extension: \"jpeg\",\n});\nadd(\"webp\", [\n \"0x52\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x50\",\n], { mime: \"image/webp\", extension: \"webp\" });\nadd(\"heif\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x6D\", \"0x69\", \"0x66\", \"0x31\"], { mime: \"image/heif\", extension: \"heif\" }, 4);\nadd(\"heif\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x68\", \"0x65\", \"0x69\", \"0x63\"], { mime: \"image/heif\", extension: \"heic\" }, 4);\nadd(\"rpm\", [\"0xed\", \"0xab\", \"0xee\", \"0xdb\"]);\nadd(\"bin\", [\"0x53\", \"0x50\", \"0x30\", \"0x31\"], {\n mime: \"application/octet-stream\",\n extension: \"bin\",\n});\nadd(\"pic\", [\"0x00\"]);\nadd(\"pif\", [\"0x00\"]);\nadd(\"sea\", [\"0x00\"]);\nadd(\"ytr\", [\"0x00\"]);\n// 66747970\n// 6D703432\nadd(\"mp4\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\"], { mime: \"video/mp4\", extension: \"mp4\" }, 0x4);\nadd(\"ttf\", [\"0x00\", \"0x01\", \"0x00\", \"0x00\", \"0x00\"], {\n mime: \"font/ttf\",\n extension: \"ttf\",\n});\nadd(\"otf\", [\"0x4F\", \"0x54\", \"0x54\", \"0x4F\"], {\n mime: \"font/otf\",\n extension: \"otf\",\n});\nadd(\"eot\", [\"0x50\", \"0x4C\"], {\n mime: \"application/vnd.ms-fontobject\",\n extension: \"eot\",\n});\nadd(\"woff\", [\"0x77\", \"0x4F\", \"0x46\", \"0x46\"], {\n mime: \"font/woff\",\n extension: \"woff\",\n});\nadd(\"woff2\", [\"0x77\", \"0x4F\", \"0x46\", \"0x32\"], {\n mime: \"font/woff2\",\n extension: \"woff2\",\n});\nadd(\"pdb\", [\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n]);\nadd(\"dba\", [\"0xBE\", \"0xBA\", \"0xFE\", \"0xCA\"]);\nadd(\"dba2\", [\"0x00\", \"0x01\", \"0x42\", \"0x44\"]);\nadd(\"tda\", [\"0x00\", \"0x01\", \"0x44\", \"0x54\"]);\nadd(\"tda2\", [\"0x00\", \"0x01\", \"0x00\", \"0x00\"]);\nadd(\"ico\", [\"0x00\", \"0x00\", \"0x01\", \"0x00\"], {\n mime: \"image/x-icon\",\n extension: \"ico\",\n});\nadd(\"3gp\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x33\", \"0x67\"]);\nadd(\"z\", [\"0x1F\", \"0x9D\"]);\nadd(\"tar.z\", [\"0x1F\", \"0xA0\"]);\nadd(\"bac\", [\n \"0x42\",\n \"0x41\",\n \"0x43\",\n \"0x4B\",\n \"0x4D\",\n \"0x49\",\n \"0x4B\",\n \"0x45\",\n \"0x44\",\n \"0x49\",\n \"0x53\",\n \"0x4B\",\n]);\nadd(\"bz2\", [\"0x42\", \"0x5A\", \"0x68\"], {\n mime: \"application/x-bzip2\",\n extension: \"bz2\",\n});\nadd(\"tif\", [\"0x49\", \"0x49\", \"0x2A\", \"0x00\"], {\n mime: \"image/tiff\",\n extension: \"tif\",\n});\nadd(\"tiff\", [\"0x4D\", \"0x4D\", \"0x00\", \"0x2A\"], {\n mime: \"image/tiff\",\n extension: \"tiff\",\n});\nadd(\"cr2\", [\n \"0x49\",\n \"0x49\",\n \"0x2A\",\n \"0x00\",\n \"0x10\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x43\",\n \"0x52\",\n]);\nadd(\"cin\", [\"0x80\", \"0x2A\", \"0x5F\", \"0xD7\"]);\nadd(\"cin1\", [\"0x52\", \"0x4E\", \"0x43\", \"0x01\"]);\nadd(\"cin2\", [\"0x52\", \"0x4E\", \"0x43\", \"0x02\"]);\nadd(\"dpx\", [\"0x53\", \"0x44\", \"0x50\", \"0x58\"]);\nadd(\"dpx2\", [\"0x58\", \"0x50\", \"0x44\", \"0x53\"]);\nadd(\"exr\", [\"0x76\", \"0x2F\", \"0x31\", \"0x01\"]);\nadd(\"bpg\", [\"0x42\", \"0x50\", \"0x47\", \"0xFB\"]);\nadd(\"ilbm\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x49\",\n \"0x4C\",\n \"0x42\",\n \"0x4D\",\n]);\nadd(\"8svx\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x38\",\n \"0x53\",\n \"0x56\",\n \"0x58\",\n]);\nadd(\"acbm\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x43\",\n \"0x42\",\n \"0x4D\",\n]);\nadd(\"anbm\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x4E\",\n \"0x42\",\n \"0x4D\",\n]);\nadd(\"anim\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x4E\",\n \"0x49\",\n \"0x4D\",\n]);\nadd(\"faxx\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x46\",\n \"0x41\",\n \"0x58\",\n \"0x58\",\n]);\nadd(\"ftxt\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x46\",\n \"0x54\",\n \"0x58\",\n \"0x54\",\n]);\nadd(\"smus\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x53\",\n \"0x4D\",\n \"0x55\",\n \"0x53\",\n]);\nadd(\"cmus\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x43\",\n \"0x4D\",\n \"0x55\",\n \"0x53\",\n]);\nadd(\"yuvn\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x59\",\n \"0x55\",\n \"0x56\",\n \"0x4E\",\n]);\nadd(\"iff\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x46\",\n \"0x41\",\n \"0x4E\",\n \"0x54\",\n]);\nadd(\"aiff\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n], { mime: \"audio/x-aiff\", extension: \"aiff\" });\nadd(\"idx\", [\"0x49\", \"0x4E\", \"0x44\", \"0x58\"]);\nadd(\"lz\", [\"0x4C\", \"0x5A\", \"0x49\", \"0x50\"]);\nadd(\"exe\", [\"0x4D\", \"0x5A\"]);\nadd(\"zip\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/zip\",\n extension: \"zip\",\n});\nadd(\"zip\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/zip\",\n extension: \"zip\",\n});\nadd(\"zip\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/zip\",\n extension: \"zip\",\n});\nadd(\"jar\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/java-archive\",\n extension: \"jar\",\n});\nadd(\"jar\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/java-archive\",\n extension: \"jar\",\n});\nadd(\"jar\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/java-archive\",\n extension: \"jar\",\n});\nadd(\"odt\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.oasis.opendocument.text\",\n extension: \"odt\",\n});\nadd(\"odt\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.oasis.opendocument.text\",\n extension: \"odt\",\n});\nadd(\"odt\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.oasis.opendocument.text\",\n extension: \"odt\",\n});\nadd(\"ods\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.oasis.opendocument.spreadsheet\",\n extension: \"ods\",\n});\nadd(\"ods\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.oasis.opendocument.spreadsheet\",\n extension: \"ods\",\n});\nadd(\"ods\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.oasis.opendocument.spreadsheet\",\n extension: \"ods\",\n});\nadd(\"odp\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.oasis.opendocument.presentation\",\n extension: \"odp\",\n});\nadd(\"odp\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.oasis.opendocument.presentation\",\n extension: \"odp\",\n});\nadd(\"odp\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.oasis.opendocument.presentation\",\n extension: \"odp\",\n});\nadd(\"docx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n extension: \"docx\",\n});\nadd(\"docx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n extension: \"docx\",\n});\nadd(\"docx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n extension: \"docx\",\n});\nadd(\"xlsx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n extension: \"xlsx\",\n});\nadd(\"xlsx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n extension: \"xlsx\",\n});\nadd(\"xlsx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n extension: \"xlsx\",\n});\nadd(\"pptx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n extension: \"pptx\",\n});\nadd(\"pptx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n extension: \"pptx\",\n});\nadd(\"pptx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n extension: \"pptx\",\n});\nadd(\"vsdx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.ms-visio.drawing\",\n extension: \"vsdx\",\n});\nadd(\"vsdx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.ms-visio.drawing\",\n extension: \"vsdx\",\n});\nadd(\"vsdx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.ms-visio.drawing\",\n extension: \"vsdx\",\n});\nadd(\"apk\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"apk\",\n});\nadd(\"apk\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"apk\",\n});\nadd(\"apk\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"apk\",\n});\nadd(\"aar\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"aar\",\n});\nadd(\"aar\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"aar\",\n});\nadd(\"aar\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"aar\",\n});\nadd(\"rar\", [\"0x52\", \"0x61\", \"0x72\", \"0x21\", \"0x1A\", \"0x07\", \"0x00\"], {\n mime: \"application/vnd.rar\",\n extension: \"rar\",\n});\nadd(\"rar\", [\"0x52\", \"0x61\", \"0x72\", \"0x21\", \"0x1A\", \"0x07\", \"0x01\", \"0x00\"], {\n mime: \"application/vnd.rar\",\n extension: \"rar\",\n});\nadd(\"rar\", [\"0x7F\", \"0x45\", \"0x4C\", \"0x46\"], {\n mime: \"application/vnd.rar\",\n extension: \"rar\",\n});\nadd(\"png\", [\"0x89\", \"0x50\", \"0x4E\", \"0x47\", \"0x0D\", \"0x0A\", \"0x1A\", \"0x0A\"], {\n mime: \"image/png\",\n extension: \"png\",\n});\nadd(\"apng\", [\"0x89\", \"0x50\", \"0x4E\", \"0x47\", \"0x0D\", \"0x0A\", \"0x1A\", \"0x0A\"], {\n mime: \"image/apng\",\n extension: \"apng\",\n});\nadd(\"class\", [\"0xCA\", \"0xFE\", \"0xBA\", \"0xBE\"]);\nadd(\"class\", [\"0xEF\", \"0xBB\", \"0xBF\"]);\nadd(\"class\", [\"0xFE\", \"0xed\", \"0xFA\", \"0xCE\"], undefined, 0x1000);\nadd(\"class\", [\"0xFE\", \"0xed\", \"0xFA\", \"0xCF\"], undefined, 0x1000);\nadd(\"class\", [\"0xCE\", \"0xFA\", \"0xed\", \"0xFE\"]);\nadd(\"class\", [\"0xCF\", \"0xFA\", \"0xed\", \"0xFE\"]);\nadd(\"class\", [\"0xFF\", \"0xFE\"]);\nadd(\"class\", [\"0xFF\", \"0xFE\"]);\nadd(\"class\", [\"0xFF\", \"0xFE\", \"0x00\", \"0x00\"]);\nadd(\"ps\", [\"0x25\", \"0x21\", \"0x50\", \"0x53\"], {\n mime: \"application/postscript\",\n extension: \".ps\"\n});\nadd(\"pdf\", [\"0x25\", \"0x50\", \"0x44\", \"0x46\"], {\n mime: \"application/pdf\",\n extension: \"pdf\",\n});\nadd(\"asf\", [\n \"0x30\",\n \"0x26\",\n \"0xB2\",\n \"0x75\",\n \"0x8E\",\n \"0x66\",\n \"0xCF\",\n \"0x11\",\n \"0xA6\",\n \"0xD9\",\n \"0x00\",\n \"0xAA\",\n \"0x00\",\n \"0x62\",\n \"0xCE\",\n \"0x6C\",\n]);\nadd(\"wma\", [\n \"0x30\",\n \"0x26\",\n \"0xB2\",\n \"0x75\",\n \"0x8E\",\n \"0x66\",\n \"0xCF\",\n \"0x11\",\n \"0xA6\",\n \"0xD9\",\n \"0x00\",\n \"0xAA\",\n \"0x00\",\n \"0x62\",\n \"0xCE\",\n \"0x6C\",\n]);\nadd(\"wmv\", [\n \"0x30\",\n \"0x26\",\n \"0xB2\",\n \"0x75\",\n \"0x8E\",\n \"0x66\",\n \"0xCF\",\n \"0x11\",\n \"0xA6\",\n \"0xD9\",\n \"0x00\",\n \"0xAA\",\n \"0x00\",\n \"0x62\",\n \"0xCE\",\n \"0x6C\",\n]);\nadd(\"deploymentimage\", [\n \"0x24\",\n \"0x53\",\n \"0x44\",\n \"0x49\",\n \"0x30\",\n \"0x30\",\n \"0x30\",\n \"0x31\",\n]);\n// ogg video ' theora'\nadd(\"ogv\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x80\",\n \"0x74\",\n \"0x68\",\n \"0x65\",\n \"0x6F\",\n \"0x72\",\n \"0x61\",\n], {\n mime: \"video/ogg\",\n extension: \"ogv\",\n});\n// ogg video '\\x01video'\nadd(\"ogm\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x01\",\n \"0x76\",\n \"0x69\",\n \"0x64\",\n \"0x65\",\n \"0x6F\",\n \"0x00\",\n], {\n mime: \"video/ogg\",\n extension: \"ogm\",\n});\n// ogg audio ' FLAC'\nadd(\"oga\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x7F\",\n \"0x46\",\n \"0x4C\",\n \"0x41\",\n \"0x43\",\n], {\n mime: \"audio/ogg\",\n extension: \"oga\",\n});\n// ogg audio 'Speex '\nadd(\"spx\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x53\",\n \"0x70\",\n \"0x65\",\n \"0x65\",\n \"0x78\",\n \"0x20\",\n \"0x20\",\n], {\n mime: \"audio/ogg\",\n extension: \"spx\",\n});\n// ogg audio '\\x01vorbis '\nadd(\"ogg\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x01\",\n \"0x76\",\n \"0x6F\",\n \"0x72\",\n \"0x62\",\n \"0x69\",\n \"0x73\",\n], {\n mime: \"audio/ogg\",\n extension: \"ogg\",\n});\n// default OGG container\nadd(\"ogx\", [\"0x4F\", \"0x67\", \"0x67\", \"0x53\"], {\n mime: \"application/ogg\",\n extension: \"ogx\",\n});\nadd(\"psd\", [\"0x38\", \"0x42\", \"0x50\", \"0x53\"], {\n mime: \"application/x-photoshop\",\n extension: \"psd\",\n});\nadd(\"clip\", [\"0x43\", \"0x53\", \"0x46\", \"0x43\", \"0x48\", \"0x55\", \"0x4e\", \"0x4b\"]);\nadd(\"wav\", [\n \"0x52\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x57\",\n \"0x41\",\n \"0x56\",\n \"0x45\",\n], { mime: \"audio/x-wav\", extension: \"wav\" });\nadd(\"avi\", [\n \"0x52\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x56\",\n \"0x49\",\n \"0x20\",\n], { mime: \"video/x-msvideo\", extension: \"avi\" });\nadd(\"mp3\", [\"0xFF\", \"0xFB\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"mp3\", [\"0xFF\", \"0xF3\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"mp3\", [\"0xFF\", \"0xF2\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"mp3\", [\"0x49\", \"0x44\", \"0x33\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"bmp\", [\"0x42\", \"0x4D\"], { mime: \"image/bmp\", extension: \"bmp\" });\nadd(\"iso\", [\"0x43\", \"0x44\", \"0x30\", \"0x30\", \"0x31\"]);\nadd(\"flac\", [\"0x66\", \"0x4C\", \"0x61\", \"0x43\"]);\nadd(\"mid\", [\"0x4D\", \"0x54\", \"0x68\", \"0x64\"], {\n mime: \"audio/midi\",\n extension: \"mid\",\n});\nadd(\"midi\", [\"0x4D\", \"0x54\", \"0x68\", \"0x64\"], {\n mime: \"audio/midi\",\n extension: \"midi\",\n});\nadd(\"doc\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"], {\n mime: \"application/msword\",\n extension: \"doc\",\n});\nadd(\"xls\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"], {\n mime: \"application/vnd.ms-excel\",\n extension: \"xls\",\n});\nadd(\"ppt\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"], {\n mime: \"application/vnd.ms-powerpoint\",\n extension: \"ppt\",\n});\nadd(\"msg\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"]);\nadd(\"dex\", [\"0x64\", \"0x65\", \"0x78\", \"0x0A\", \"0x30\", \"0x33\", \"0x35\", \"0x00\"]);\nadd(\"vmdk\", [\"0x4B\", \"0x44\", \"0x4D\"]);\nadd(\"crx\", [\"0x43\", \"0x72\", \"0x32\", \"0x34\"]);\nadd(\"fh8\", [\"0x41\", \"0x47\", \"0x44\", \"0x33\"]);\nadd(\"cwk\", [\n \"0x05\",\n \"0x07\",\n \"0x00\",\n \"0x00\",\n \"0x42\",\n \"0x4F\",\n \"0x42\",\n \"0x4F\",\n \"0x05\",\n \"0x07\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x01\",\n]);\nadd(\"cwk\", [\n \"0x06\",\n \"0x07\",\n \"0xE1\",\n \"0x00\",\n \"0x42\",\n \"0x4F\",\n \"0x42\",\n \"0x4F\",\n \"0x06\",\n \"0x07\",\n \"0xE1\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x01\",\n]);\nadd(\"toast\", [\"0x45\", \"0x52\", \"0x02\", \"0x00\", \"0x00\", \"0x00\"]);\nadd(\"toast\", [\"0x8B\", \"0x45\", \"0x52\", \"0x02\", \"0x00\", \"0x00\", \"0x00\"]);\nadd(\"dmg\", [\"0x78\", \"0x01\", \"0x73\", \"0x0D\", \"0x62\", \"0x62\", \"0x60\"]);\nadd(\"xar\", [\"0x78\", \"0x61\", \"0x72\", \"0x21\"]);\nadd(\"dat\", [\"0x50\", \"0x4D\", \"0x4F\", \"0x43\", \"0x43\", \"0x4D\", \"0x4F\", \"0x43\"]);\nadd(\"nes\", [\"0x4E\", \"0x45\", \"0x53\", \"0x1A\"]);\nadd(\"tar\", [\"0x75\", \"0x73\", \"0x74\", \"0x61\", \"0x72\", \"0x00\", \"0x30\", \"0x30\"], {\n // As per Mozilla documentation available at:\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n // or wikipedia page:\n // https://en.wikipedia.org/wiki/List_of_archive_formats\n mime: \"application/x-tar\",\n extension: \"tar\"\n}, 0x101);\nadd(\"tar\", [\"0x75\", \"0x73\", \"0x74\", \"0x61\", \"0x72\", \"0x20\", \"0x20\", \"0x00\"], {\n mime: \"application/x-tar\",\n extension: \"tar\"\n}, 0x101);\nadd(\"tox\", [\"0x74\", \"0x6F\", \"0x78\", \"0x33\"]);\nadd(\"mlv\", [\"0x4D\", \"0x4C\", \"0x56\", \"0x49\"]);\nadd(\"windowsupdate\", [\n \"0x44\",\n \"0x43\",\n \"0x4D\",\n \"0x01\",\n \"0x50\",\n \"0x41\",\n \"0x33\",\n \"0x30\",\n]);\nadd(\"7z\", [\"0x37\", \"0x7A\", \"0xBC\", \"0xAF\", \"0x27\", \"0x1C\"], {\n mime: \"application/x-7z-compressed\",\n extension: \"7z\",\n});\nadd(\"gz\", [\"0x1F\", \"0x8B\"], { mime: \"application/gzip\", extension: \"gz\" });\nadd(\"tar.gz\", [\"0x1F\", \"0x8B\"], {\n mime: \"application/gzip\",\n extension: \"tar.gz\",\n});\nadd(\"xz\", [\"0xFD\", \"0x37\", \"0x7A\", \"0x58\", \"0x5A\", \"0x00\", \"0x00\"], {\n mime: \"application/gzip\",\n extension: \"xz\",\n});\nadd(\"tar.xz\", [\"0xFD\", \"0x37\", \"0x7A\", \"0x58\", \"0x5A\", \"0x00\", \"0x00\"], {\n mime: \"application/gzip\",\n extension: \"tar.xz\",\n});\nadd(\"lz2\", [\"0x04\", \"0x22\", \"0x4D\", \"0x18\"]);\nadd(\"cab\", [\"0x4D\", \"0x53\", \"0x43\", \"0x46\"]);\nadd(\"mkv\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"video/x-matroska\",\n extension: \"mkv\",\n});\nadd(\"mka\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"audio/x-matroska\",\n extension: \"mka\",\n});\nadd(\"mks\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"video/x-matroska\",\n extension: \"mks\",\n});\nadd(\"mk3d\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"]);\nadd(\"webm\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"audio/webm\",\n extension: \"webm\",\n});\nadd(\"dcm\", [\"0x44\", \"0x49\", \"0x43\", \"0x4D\"], undefined, 0x80);\nadd(\"xml\", [\"0x3C\", \"0x3f\", \"0x78\", \"0x6d\", \"0x6C\", \"0x20\"], {\n mime: \"application/xml\",\n extension: \"xml\",\n});\nadd(\"wasm\", [\"0x00\", \"0x61\", \"0x73\", \"0x6d\"], {\n mime: \"application/wasm\",\n extension: \"wasm\",\n});\nadd(\"lep\", [\"0xCF\", \"0x84\", \"0x01\"]);\nadd(\"swf\", [\"0x43\", \"0x57\", \"0x53\"], {\n mime: \"application/x-shockwave-flash\",\n extension: \"swf\",\n});\nadd(\"swf\", [\"0x46\", \"0x57\", \"0x53\"], {\n mime: \"application/x-shockwave-flash\",\n extension: \"swf\",\n});\nadd(\"deb\", [\"0x21\", \"0x3C\", \"0x61\", \"0x72\", \"0x63\", \"0x68\", \"0x3E\"]);\nadd(\"rtf\", [\"0x7B\", \"0x5C\", \"0x72\", \"0x74\", \"0x66\", \"0x31\"], {\n mime: \"application/rtf\",\n extension: \"rtf\",\n});\nadd(\"m2p\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"]);\nadd(\"vob\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"]);\nadd(\"mpg\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"], {\n mime: \"video/mpeg\",\n extension: \"mpg\",\n});\nadd(\"mpeg\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"], {\n mime: \"video/mpeg\",\n extension: \"mpeg\",\n});\nadd(\"mpeg\", [\"0x47\"], { mime: \"video/mpeg\", extension: \"mpeg\" });\nadd(\"mpeg\", [\"0x00\", \"0x00\", \"0x01\", \"0xB3\"], {\n mime: \"video/mpeg\",\n extension: \"mpeg\",\n});\n// mov 'free' TODO: find test file\nadd(\"mov\", [\"0x66\", \"0x72\", \"0x65\", \"0x65\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// mov 'mdat'\nadd(\"mov\", [\"0x6D\", \"0x64\", \"0x61\", \"0x74\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// mov 'moov' TODO: find test file\nadd(\"mov\", [\"0x6D\", \"0x6F\", \"0x6F\", \"0x76\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// move 'wide' TODO: find test file\nadd(\"mov\", [\"0x77\", \"0x69\", \"0x64\", \"0x65\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// mov 'ftypqt'\nadd(\"mov\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x71\", \"0x74\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\nadd(\"hl2demo\", [\"0x48\", \"0x4C\", \"0x32\", \"0x44\", \"0x45\", \"0x4D\", \"0x4F\"]);\nadd(\"txt\", [\"0xEF\", \"0xBB\", \"0xBF\"], {\n mime: \"text/plain; charset=UTF-8\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0xFF\", \"0xFE\"], {\n mime: \"text/plain; charset=UTF-16LE\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0xFE\", \"0xFF\"], {\n mime: \"text/plain; charset=UTF-16BE\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0xFF\", \"0xFE\", \"0x00\", \"0x00\"], {\n mime: \"text/plain; charset=UTF-32LE\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0x00\", \"0x00\", \"0xFE\", \"0xFF\"], {\n mime: \"text/plain; charset=UTF-32BE\",\n extension: \"txt\",\n});\nadd(\"SubRip\", [\"0x31\", \"0x0D\", \"0x0A\", \"0x30\", \"0x30\", \"0x3A\"], {\n mime: \"application/x-subrip\",\n extension: \"srt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x0A\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x0D\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x20\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x09\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x0A\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x0D\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x20\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x09\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"Json\", [\"0x7B\"], {\n mime: \"application/json\",\n extension: \".json\",\n});\nadd(\"Json\", [\"0x5B\"], {\n mime: \"application/json\",\n extension: \".json\",\n});\nadd(\"ELF\", [\"0x7F\", \"0x45\", \"0x4C\", \"0x46\"], {\n mime: \"application/x-executable\",\n extension: \".elf\",\n});\nadd(\"Mach-O\", [\"0xFE\", \"0xED\", \"0xFA\", \"0xC\"], {\n mime: \"application/x-mach-binary\",\n extension: \".o\",\n});\nadd(\"Mach-O\", [\"0xFE\", \"0xED\", \"0xFA\", \"0xCF\"], {\n mime: \"application/x-executable\",\n extension: \"elf\",\n});\nadd(\"EML\", [\"0x52\", \"0x65\", \"0x63\", \"0x65\", \"0x69\", \"0x76\", \"0x65\", \"0x64\", \"0x3A\"], {\n mime: \"message/rfc822\",\n extension: \".eml\",\n});\nadd(\"SVG\", [\"0x3c\", \"0x73\", \"0x76\", \"0x67\"], {\n mime: \"image/svg+xml\",\n extension: \"svg\",\n});\nexports.default = () => tree;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filetypeextension = exports.filetypemime = exports.filetypename = exports.filetypeinfo = void 0;\nconst pattern_tree_1 = __importDefault(require(\"./model/pattern-tree\"));\nconst toHex_1 = require(\"./model/toHex\");\nconst patternTree = pattern_tree_1.default();\nconst filetypeinfo = (bytes) => {\n let tree = patternTree;\n for (const k of Object.keys(tree.offset)) {\n const offset = toHex_1.fromHex(k);\n const offsetExceedsFile = offset >= bytes.length;\n if (offsetExceedsFile) {\n continue;\n }\n const node = patternTree.offset[k];\n const guessed = walkTree(offset, bytes, node);\n if (guessed.length > 0) {\n return guessed;\n }\n }\n if (tree.noOffset === null) {\n return [];\n }\n return walkTree(0, bytes, tree.noOffset);\n};\nexports.filetypeinfo = filetypeinfo;\nconst walkTree = (index, bytes, node) => {\n let step = node;\n let guessFile = [];\n while (true) {\n const currentByte = toHex_1.toHex(bytes[index]);\n if (step.bytes[\"?\"] && !step.bytes[currentByte]) {\n step = step.bytes[\"?\"];\n }\n else {\n step = step.bytes[currentByte];\n }\n if (!step) {\n return guessFile;\n }\n if (step && step.matches) {\n guessFile = step.matches.slice(0);\n }\n index += 1;\n }\n};\nexports.default = exports.filetypeinfo;\nconst filetypename = (bytes) => exports.filetypeinfo(bytes).map((e) => e.typename);\nexports.filetypename = filetypename;\nconst filetypemime = (bytes) => exports.filetypeinfo(bytes)\n .map((e) => (e.mime ? e.mime : null))\n .filter((x) => x !== null);\nexports.filetypemime = filetypemime;\nconst filetypeextension = (bytes) => exports.filetypeinfo(bytes)\n .map((e) => (e.extension ? e.extension : null))\n .filter((x) => x !== null);\nexports.filetypeextension = filetypeextension;\n","/** @license React v16.13.1\n * react-is.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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export const COMMON_MIME_TYPES = new Map([\n // https://github.com/guzzle/psr7/blob/2d9260799e713f1c475d3c5fdc3d6561ff7441b2/src/MimeType.php\n ['1km', 'application/vnd.1000minds.decision-model+xml'],\n ['3dml', 'text/vnd.in3d.3dml'],\n ['3ds', 'image/x-3ds'],\n ['3g2', 'video/3gpp2'],\n ['3gp', 'video/3gp'],\n ['3gpp', 'video/3gpp'],\n ['3mf', 'model/3mf'],\n ['7z', 'application/x-7z-compressed'],\n ['7zip', 'application/x-7z-compressed'],\n ['123', 'application/vnd.lotus-1-2-3'],\n ['aab', 'application/x-authorware-bin'],\n ['aac', 'audio/x-acc'],\n ['aam', 'application/x-authorware-map'],\n ['aas', 'application/x-authorware-seg'],\n ['abw', 'application/x-abiword'],\n ['ac', 'application/vnd.nokia.n-gage.ac+xml'],\n ['ac3', 'audio/ac3'],\n ['acc', 'application/vnd.americandynamics.acc'],\n ['ace', 'application/x-ace-compressed'],\n ['acu', 'application/vnd.acucobol'],\n ['acutc', 'application/vnd.acucorp'],\n ['adp', 'audio/adpcm'],\n ['aep', 'application/vnd.audiograph'],\n ['afm', 'application/x-font-type1'],\n ['afp', 'application/vnd.ibm.modcap'],\n ['ahead', 'application/vnd.ahead.space'],\n ['ai', 'application/pdf'],\n ['aif', 'audio/x-aiff'],\n ['aifc', 'audio/x-aiff'],\n ['aiff', 'audio/x-aiff'],\n ['air', 'application/vnd.adobe.air-application-installer-package+zip'],\n ['ait', 'application/vnd.dvb.ait'],\n ['ami', 'application/vnd.amiga.ami'],\n ['amr', 'audio/amr'],\n ['apk', 'application/vnd.android.package-archive'],\n ['apng', 'image/apng'],\n ['appcache', 'text/cache-manifest'],\n ['application', 'application/x-ms-application'],\n ['apr', 'application/vnd.lotus-approach'],\n ['arc', 'application/x-freearc'],\n ['arj', 'application/x-arj'],\n ['asc', 'application/pgp-signature'],\n ['asf', 'video/x-ms-asf'],\n ['asm', 'text/x-asm'],\n ['aso', 'application/vnd.accpac.simply.aso'],\n ['asx', 'video/x-ms-asf'],\n ['atc', 'application/vnd.acucorp'],\n ['atom', 'application/atom+xml'],\n ['atomcat', 'application/atomcat+xml'],\n ['atomdeleted', 'application/atomdeleted+xml'],\n ['atomsvc', 'application/atomsvc+xml'],\n ['atx', 'application/vnd.antix.game-component'],\n ['au', 'audio/x-au'],\n ['avi', 'video/x-msvideo'],\n ['avif', 'image/avif'],\n ['aw', 'application/applixware'],\n ['azf', 'application/vnd.airzip.filesecure.azf'],\n ['azs', 'application/vnd.airzip.filesecure.azs'],\n ['azv', 'image/vnd.airzip.accelerator.azv'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['b16', 'image/vnd.pco.b16'],\n ['bat', 'application/x-msdownload'],\n ['bcpio', 'application/x-bcpio'],\n ['bdf', 'application/x-font-bdf'],\n ['bdm', 'application/vnd.syncml.dm+wbxml'],\n ['bdoc', 'application/x-bdoc'],\n ['bed', 'application/vnd.realvnc.bed'],\n ['bh2', 'application/vnd.fujitsu.oasysprs'],\n ['bin', 'application/octet-stream'],\n ['blb', 'application/x-blorb'],\n ['blorb', 'application/x-blorb'],\n ['bmi', 'application/vnd.bmi'],\n ['bmml', 'application/vnd.balsamiq.bmml+xml'],\n ['bmp', 'image/bmp'],\n ['book', 'application/vnd.framemaker'],\n ['box', 'application/vnd.previewsystems.box'],\n ['boz', 'application/x-bzip2'],\n ['bpk', 'application/octet-stream'],\n ['bpmn', 'application/octet-stream'],\n ['bsp', 'model/vnd.valve.source.compiled-map'],\n ['btif', 'image/prs.btif'],\n ['buffer', 'application/octet-stream'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['c', 'text/x-c'],\n ['c4d', 'application/vnd.clonk.c4group'],\n ['c4f', 'application/vnd.clonk.c4group'],\n ['c4g', 'application/vnd.clonk.c4group'],\n ['c4p', 'application/vnd.clonk.c4group'],\n ['c4u', 'application/vnd.clonk.c4group'],\n ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],\n ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],\n ['cab', 'application/vnd.ms-cab-compressed'],\n ['caf', 'audio/x-caf'],\n ['cap', 'application/vnd.tcpdump.pcap'],\n ['car', 'application/vnd.curl.car'],\n ['cat', 'application/vnd.ms-pki.seccat'],\n ['cb7', 'application/x-cbr'],\n ['cba', 'application/x-cbr'],\n ['cbr', 'application/x-cbr'],\n ['cbt', 'application/x-cbr'],\n ['cbz', 'application/x-cbr'],\n ['cc', 'text/x-c'],\n ['cco', 'application/x-cocoa'],\n ['cct', 'application/x-director'],\n ['ccxml', 'application/ccxml+xml'],\n ['cdbcmsg', 'application/vnd.contact.cmsg'],\n ['cda', 'application/x-cdf'],\n ['cdf', 'application/x-netcdf'],\n ['cdfx', 'application/cdfx+xml'],\n ['cdkey', 'application/vnd.mediastation.cdkey'],\n ['cdmia', 'application/cdmi-capability'],\n ['cdmic', 'application/cdmi-container'],\n ['cdmid', 'application/cdmi-domain'],\n ['cdmio', 'application/cdmi-object'],\n ['cdmiq', 'application/cdmi-queue'],\n ['cdr', 'application/cdr'],\n ['cdx', 'chemical/x-cdx'],\n ['cdxml', 'application/vnd.chemdraw+xml'],\n ['cdy', 'application/vnd.cinderella'],\n ['cer', 'application/pkix-cert'],\n ['cfs', 'application/x-cfs-compressed'],\n ['cgm', 'image/cgm'],\n ['chat', 'application/x-chat'],\n ['chm', 'application/vnd.ms-htmlhelp'],\n ['chrt', 'application/vnd.kde.kchart'],\n ['cif', 'chemical/x-cif'],\n ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],\n ['cil', 'application/vnd.ms-artgalry'],\n ['cjs', 'application/node'],\n ['cla', 'application/vnd.claymore'],\n ['class', 'application/octet-stream'],\n ['clkk', 'application/vnd.crick.clicker.keyboard'],\n ['clkp', 'application/vnd.crick.clicker.palette'],\n ['clkt', 'application/vnd.crick.clicker.template'],\n ['clkw', 'application/vnd.crick.clicker.wordbank'],\n ['clkx', 'application/vnd.crick.clicker'],\n ['clp', 'application/x-msclip'],\n ['cmc', 'application/vnd.cosmocaller'],\n ['cmdf', 'chemical/x-cmdf'],\n ['cml', 'chemical/x-cml'],\n ['cmp', 'application/vnd.yellowriver-custom-menu'],\n ['cmx', 'image/x-cmx'],\n ['cod', 'application/vnd.rim.cod'],\n ['coffee', 'text/coffeescript'],\n ['com', 'application/x-msdownload'],\n ['conf', 'text/plain'],\n ['cpio', 'application/x-cpio'],\n ['cpp', 'text/x-c'],\n ['cpt', 'application/mac-compactpro'],\n ['crd', 'application/x-mscardfile'],\n ['crl', 'application/pkix-crl'],\n ['crt', 'application/x-x509-ca-cert'],\n ['crx', 'application/x-chrome-extension'],\n ['cryptonote', 'application/vnd.rig.cryptonote'],\n ['csh', 'application/x-csh'],\n ['csl', 'application/vnd.citationstyles.style+xml'],\n ['csml', 'chemical/x-csml'],\n ['csp', 'application/vnd.commonspace'],\n ['csr', 'application/octet-stream'],\n ['css', 'text/css'],\n ['cst', 'application/x-director'],\n ['csv', 'text/csv'],\n ['cu', 'application/cu-seeme'],\n ['curl', 'text/vnd.curl'],\n ['cww', 'application/prs.cww'],\n ['cxt', 'application/x-director'],\n ['cxx', 'text/x-c'],\n ['dae', 'model/vnd.collada+xml'],\n ['daf', 'application/vnd.mobius.daf'],\n ['dart', 'application/vnd.dart'],\n ['dataless', 'application/vnd.fdsn.seed'],\n ['davmount', 'application/davmount+xml'],\n ['dbf', 'application/vnd.dbf'],\n ['dbk', 'application/docbook+xml'],\n ['dcr', 'application/x-director'],\n ['dcurl', 'text/vnd.curl.dcurl'],\n ['dd2', 'application/vnd.oma.dd2+xml'],\n ['ddd', 'application/vnd.fujixerox.ddd'],\n ['ddf', 'application/vnd.syncml.dmddf+xml'],\n ['dds', 'image/vnd.ms-dds'],\n ['deb', 'application/x-debian-package'],\n ['def', 'text/plain'],\n ['deploy', 'application/octet-stream'],\n ['der', 'application/x-x509-ca-cert'],\n ['dfac', 'application/vnd.dreamfactory'],\n ['dgc', 'application/x-dgc-compressed'],\n ['dic', 'text/x-c'],\n ['dir', 'application/x-director'],\n ['dis', 'application/vnd.mobius.dis'],\n ['disposition-notification', 'message/disposition-notification'],\n ['dist', 'application/octet-stream'],\n ['distz', 'application/octet-stream'],\n ['djv', 'image/vnd.djvu'],\n ['djvu', 'image/vnd.djvu'],\n ['dll', 'application/octet-stream'],\n ['dmg', 'application/x-apple-diskimage'],\n ['dmn', 'application/octet-stream'],\n ['dmp', 'application/vnd.tcpdump.pcap'],\n ['dms', 'application/octet-stream'],\n ['dna', 'application/vnd.dna'],\n ['doc', 'application/msword'],\n ['docm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['dot', 'application/msword'],\n ['dotm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],\n ['dp', 'application/vnd.osgi.dp'],\n ['dpg', 'application/vnd.dpgraph'],\n ['dra', 'audio/vnd.dra'],\n ['drle', 'image/dicom-rle'],\n ['dsc', 'text/prs.lines.tag'],\n ['dssc', 'application/dssc+der'],\n ['dtb', 'application/x-dtbook+xml'],\n ['dtd', 'application/xml-dtd'],\n ['dts', 'audio/vnd.dts'],\n ['dtshd', 'audio/vnd.dts.hd'],\n ['dump', 'application/octet-stream'],\n ['dvb', 'video/vnd.dvb.file'],\n ['dvi', 'application/x-dvi'],\n ['dwd', 'application/atsc-dwd+xml'],\n ['dwf', 'model/vnd.dwf'],\n ['dwg', 'image/vnd.dwg'],\n ['dxf', 'image/vnd.dxf'],\n ['dxp', 'application/vnd.spotfire.dxp'],\n ['dxr', 'application/x-director'],\n ['ear', 'application/java-archive'],\n ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],\n ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],\n ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],\n ['ecma', 'application/ecmascript'],\n ['edm', 'application/vnd.novadigm.edm'],\n ['edx', 'application/vnd.novadigm.edx'],\n ['efif', 'application/vnd.picsel'],\n ['ei6', 'application/vnd.pg.osasli'],\n ['elc', 'application/octet-stream'],\n ['emf', 'image/emf'],\n ['eml', 'message/rfc822'],\n ['emma', 'application/emma+xml'],\n ['emotionml', 'application/emotionml+xml'],\n ['emz', 'application/x-msmetafile'],\n ['eol', 'audio/vnd.digital-winds'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['eps', 'application/postscript'],\n ['epub', 'application/epub+zip'],\n ['es', 'application/ecmascript'],\n ['es3', 'application/vnd.eszigno3+xml'],\n ['esa', 'application/vnd.osgi.subsystem'],\n ['esf', 'application/vnd.epson.esf'],\n ['et3', 'application/vnd.eszigno3+xml'],\n ['etx', 'text/x-setext'],\n ['eva', 'application/x-eva'],\n ['evy', 'application/x-envoy'],\n ['exe', 'application/octet-stream'],\n ['exi', 'application/exi'],\n ['exp', 'application/express'],\n ['exr', 'image/aces'],\n ['ext', 'application/vnd.novadigm.ext'],\n ['ez', 'application/andrew-inset'],\n ['ez2', 'application/vnd.ezpix-album'],\n ['ez3', 'application/vnd.ezpix-package'],\n ['f', 'text/x-fortran'],\n ['f4v', 'video/mp4'],\n ['f77', 'text/x-fortran'],\n ['f90', 'text/x-fortran'],\n ['fbs', 'image/vnd.fastbidsheet'],\n ['fcdt', 'application/vnd.adobe.formscentral.fcdt'],\n ['fcs', 'application/vnd.isac.fcs'],\n ['fdf', 'application/vnd.fdf'],\n ['fdt', 'application/fdt+xml'],\n ['fe_launch', 'application/vnd.denovo.fcselayout-link'],\n ['fg5', 'application/vnd.fujitsu.oasysgp'],\n ['fgd', 'application/x-director'],\n ['fh', 'image/x-freehand'],\n ['fh4', 'image/x-freehand'],\n ['fh5', 'image/x-freehand'],\n ['fh7', 'image/x-freehand'],\n ['fhc', 'image/x-freehand'],\n ['fig', 'application/x-xfig'],\n ['fits', 'image/fits'],\n ['flac', 'audio/x-flac'],\n ['fli', 'video/x-fli'],\n ['flo', 'application/vnd.micrografx.flo'],\n ['flv', 'video/x-flv'],\n ['flw', 'application/vnd.kde.kivio'],\n ['flx', 'text/vnd.fmi.flexstor'],\n ['fly', 'text/vnd.fly'],\n ['fm', 'application/vnd.framemaker'],\n ['fnc', 'application/vnd.frogans.fnc'],\n ['fo', 'application/vnd.software602.filler.form+xml'],\n ['for', 'text/x-fortran'],\n ['fpx', 'image/vnd.fpx'],\n ['frame', 'application/vnd.framemaker'],\n ['fsc', 'application/vnd.fsc.weblaunch'],\n ['fst', 'image/vnd.fst'],\n ['ftc', 'application/vnd.fluxtime.clip'],\n ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],\n ['fvt', 'video/vnd.fvt'],\n ['fxp', 'application/vnd.adobe.fxp'],\n ['fxpl', 'application/vnd.adobe.fxp'],\n ['fzs', 'application/vnd.fuzzysheet'],\n ['g2w', 'application/vnd.geoplan'],\n ['g3', 'image/g3fax'],\n ['g3w', 'application/vnd.geospace'],\n ['gac', 'application/vnd.groove-account'],\n ['gam', 'application/x-tads'],\n ['gbr', 'application/rpki-ghostbusters'],\n ['gca', 'application/x-gca-compressed'],\n ['gdl', 'model/vnd.gdl'],\n ['gdoc', 'application/vnd.google-apps.document'],\n ['geo', 'application/vnd.dynageo'],\n ['geojson', 'application/geo+json'],\n ['gex', 'application/vnd.geometry-explorer'],\n ['ggb', 'application/vnd.geogebra.file'],\n ['ggt', 'application/vnd.geogebra.tool'],\n ['ghf', 'application/vnd.groove-help'],\n ['gif', 'image/gif'],\n ['gim', 'application/vnd.groove-identity-message'],\n ['glb', 'model/gltf-binary'],\n ['gltf', 'model/gltf+json'],\n ['gml', 'application/gml+xml'],\n ['gmx', 'application/vnd.gmx'],\n ['gnumeric', 'application/x-gnumeric'],\n ['gpg', 'application/gpg-keys'],\n ['gph', 'application/vnd.flographit'],\n ['gpx', 'application/gpx+xml'],\n ['gqf', 'application/vnd.grafeq'],\n ['gqs', 'application/vnd.grafeq'],\n ['gram', 'application/srgs'],\n ['gramps', 'application/x-gramps-xml'],\n ['gre', 'application/vnd.geometry-explorer'],\n ['grv', 'application/vnd.groove-injector'],\n ['grxml', 'application/srgs+xml'],\n ['gsf', 'application/x-font-ghostscript'],\n ['gsheet', 'application/vnd.google-apps.spreadsheet'],\n ['gslides', 'application/vnd.google-apps.presentation'],\n ['gtar', 'application/x-gtar'],\n ['gtm', 'application/vnd.groove-tool-message'],\n ['gtw', 'model/vnd.gtw'],\n ['gv', 'text/vnd.graphviz'],\n ['gxf', 'application/gxf'],\n ['gxt', 'application/vnd.geonext'],\n ['gz', 'application/gzip'],\n ['gzip', 'application/gzip'],\n ['h', 'text/x-c'],\n ['h261', 'video/h261'],\n ['h263', 'video/h263'],\n ['h264', 'video/h264'],\n ['hal', 'application/vnd.hal+xml'],\n ['hbci', 'application/vnd.hbci'],\n ['hbs', 'text/x-handlebars-template'],\n ['hdd', 'application/x-virtualbox-hdd'],\n ['hdf', 'application/x-hdf'],\n ['heic', 'image/heic'],\n ['heics', 'image/heic-sequence'],\n ['heif', 'image/heif'],\n ['heifs', 'image/heif-sequence'],\n ['hej2', 'image/hej2k'],\n ['held', 'application/atsc-held+xml'],\n ['hh', 'text/x-c'],\n ['hjson', 'application/hjson'],\n ['hlp', 'application/winhlp'],\n ['hpgl', 'application/vnd.hp-hpgl'],\n ['hpid', 'application/vnd.hp-hpid'],\n ['hps', 'application/vnd.hp-hps'],\n ['hqx', 'application/mac-binhex40'],\n ['hsj2', 'image/hsj2'],\n ['htc', 'text/x-component'],\n ['htke', 'application/vnd.kenameaapp'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['hvd', 'application/vnd.yamaha.hv-dic'],\n ['hvp', 'application/vnd.yamaha.hv-voice'],\n ['hvs', 'application/vnd.yamaha.hv-script'],\n ['i2g', 'application/vnd.intergeo'],\n ['icc', 'application/vnd.iccprofile'],\n ['ice', 'x-conference/x-cooltalk'],\n ['icm', 'application/vnd.iccprofile'],\n ['ico', 'image/x-icon'],\n ['ics', 'text/calendar'],\n ['ief', 'image/ief'],\n ['ifb', 'text/calendar'],\n ['ifm', 'application/vnd.shana.informed.formdata'],\n ['iges', 'model/iges'],\n ['igl', 'application/vnd.igloader'],\n ['igm', 'application/vnd.insors.igm'],\n ['igs', 'model/iges'],\n ['igx', 'application/vnd.micrografx.igx'],\n ['iif', 'application/vnd.shana.informed.interchange'],\n ['img', 'application/octet-stream'],\n ['imp', 'application/vnd.accpac.simply.imp'],\n ['ims', 'application/vnd.ms-ims'],\n ['in', 'text/plain'],\n ['ini', 'text/plain'],\n ['ink', 'application/inkml+xml'],\n ['inkml', 'application/inkml+xml'],\n ['install', 'application/x-install-instructions'],\n ['iota', 'application/vnd.astraea-software.iota'],\n ['ipfix', 'application/ipfix'],\n ['ipk', 'application/vnd.shana.informed.package'],\n ['irm', 'application/vnd.ibm.rights-management'],\n ['irp', 'application/vnd.irepository.package+xml'],\n ['iso', 'application/x-iso9660-image'],\n ['itp', 'application/vnd.shana.informed.formtemplate'],\n ['its', 'application/its+xml'],\n ['ivp', 'application/vnd.immervision-ivp'],\n ['ivu', 'application/vnd.immervision-ivu'],\n ['jad', 'text/vnd.sun.j2me.app-descriptor'],\n ['jade', 'text/jade'],\n ['jam', 'application/vnd.jam'],\n ['jar', 'application/java-archive'],\n ['jardiff', 'application/x-java-archive-diff'],\n ['java', 'text/x-java-source'],\n ['jhc', 'image/jphc'],\n ['jisp', 'application/vnd.jisp'],\n ['jls', 'image/jls'],\n ['jlt', 'application/vnd.hp-jlyt'],\n ['jng', 'image/x-jng'],\n ['jnlp', 'application/x-java-jnlp-file'],\n ['joda', 'application/vnd.joost.joda-archive'],\n ['jp2', 'image/jp2'],\n ['jpe', 'image/jpeg'],\n ['jpeg', 'image/jpeg'],\n ['jpf', 'image/jpx'],\n ['jpg', 'image/jpeg'],\n ['jpg2', 'image/jp2'],\n ['jpgm', 'video/jpm'],\n ['jpgv', 'video/jpeg'],\n ['jph', 'image/jph'],\n ['jpm', 'video/jpm'],\n ['jpx', 'image/jpx'],\n ['js', 'application/javascript'],\n ['json', 'application/json'],\n ['json5', 'application/json5'],\n ['jsonld', 'application/ld+json'],\n // https://jsonlines.org/\n ['jsonl', 'application/jsonl'],\n ['jsonml', 'application/jsonml+json'],\n ['jsx', 'text/jsx'],\n ['jxr', 'image/jxr'],\n ['jxra', 'image/jxra'],\n ['jxrs', 'image/jxrs'],\n ['jxs', 'image/jxs'],\n ['jxsc', 'image/jxsc'],\n ['jxsi', 'image/jxsi'],\n ['jxss', 'image/jxss'],\n ['kar', 'audio/midi'],\n ['karbon', 'application/vnd.kde.karbon'],\n ['kdb', 'application/octet-stream'],\n ['kdbx', 'application/x-keepass2'],\n ['key', 'application/x-iwork-keynote-sffkey'],\n ['kfo', 'application/vnd.kde.kformula'],\n ['kia', 'application/vnd.kidspiration'],\n ['kml', 'application/vnd.google-earth.kml+xml'],\n ['kmz', 'application/vnd.google-earth.kmz'],\n ['kne', 'application/vnd.kinar'],\n ['knp', 'application/vnd.kinar'],\n ['kon', 'application/vnd.kde.kontour'],\n ['kpr', 'application/vnd.kde.kpresenter'],\n ['kpt', 'application/vnd.kde.kpresenter'],\n ['kpxx', 'application/vnd.ds-keypoint'],\n ['ksp', 'application/vnd.kde.kspread'],\n ['ktr', 'application/vnd.kahootz'],\n ['ktx', 'image/ktx'],\n ['ktx2', 'image/ktx2'],\n ['ktz', 'application/vnd.kahootz'],\n ['kwd', 'application/vnd.kde.kword'],\n ['kwt', 'application/vnd.kde.kword'],\n ['lasxml', 'application/vnd.las.las+xml'],\n ['latex', 'application/x-latex'],\n ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],\n ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],\n ['les', 'application/vnd.hhe.lesson-player'],\n ['less', 'text/less'],\n ['lgr', 'application/lgr+xml'],\n ['lha', 'application/octet-stream'],\n ['link66', 'application/vnd.route66.link66+xml'],\n ['list', 'text/plain'],\n ['list3820', 'application/vnd.ibm.modcap'],\n ['listafp', 'application/vnd.ibm.modcap'],\n ['litcoffee', 'text/coffeescript'],\n ['lnk', 'application/x-ms-shortcut'],\n ['log', 'text/plain'],\n ['lostxml', 'application/lost+xml'],\n ['lrf', 'application/octet-stream'],\n ['lrm', 'application/vnd.ms-lrm'],\n ['ltf', 'application/vnd.frogans.ltf'],\n ['lua', 'text/x-lua'],\n ['luac', 'application/x-lua-bytecode'],\n ['lvp', 'audio/vnd.lucent.voice'],\n ['lwp', 'application/vnd.lotus-wordpro'],\n ['lzh', 'application/octet-stream'],\n ['m1v', 'video/mpeg'],\n ['m2a', 'audio/mpeg'],\n ['m2v', 'video/mpeg'],\n ['m3a', 'audio/mpeg'],\n ['m3u', 'text/plain'],\n ['m3u8', 'application/vnd.apple.mpegurl'],\n ['m4a', 'audio/x-m4a'],\n ['m4p', 'application/mp4'],\n ['m4s', 'video/iso.segment'],\n ['m4u', 'application/vnd.mpegurl'],\n ['m4v', 'video/x-m4v'],\n ['m13', 'application/x-msmediaview'],\n ['m14', 'application/x-msmediaview'],\n ['m21', 'application/mp21'],\n ['ma', 'application/mathematica'],\n ['mads', 'application/mads+xml'],\n ['maei', 'application/mmt-aei+xml'],\n ['mag', 'application/vnd.ecowin.chart'],\n ['maker', 'application/vnd.framemaker'],\n ['man', 'text/troff'],\n ['manifest', 'text/cache-manifest'],\n ['map', 'application/json'],\n ['mar', 'application/octet-stream'],\n ['markdown', 'text/markdown'],\n ['mathml', 'application/mathml+xml'],\n ['mb', 'application/mathematica'],\n ['mbk', 'application/vnd.mobius.mbk'],\n ['mbox', 'application/mbox'],\n ['mc1', 'application/vnd.medcalcdata'],\n ['mcd', 'application/vnd.mcd'],\n ['mcurl', 'text/vnd.curl.mcurl'],\n ['md', 'text/markdown'],\n ['mdb', 'application/x-msaccess'],\n ['mdi', 'image/vnd.ms-modi'],\n ['mdx', 'text/mdx'],\n ['me', 'text/troff'],\n ['mesh', 'model/mesh'],\n ['meta4', 'application/metalink4+xml'],\n ['metalink', 'application/metalink+xml'],\n ['mets', 'application/mets+xml'],\n ['mfm', 'application/vnd.mfmp'],\n ['mft', 'application/rpki-manifest'],\n ['mgp', 'application/vnd.osgeo.mapguide.package'],\n ['mgz', 'application/vnd.proteus.magazine'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mie', 'application/x-mie'],\n ['mif', 'application/vnd.mif'],\n ['mime', 'message/rfc822'],\n ['mj2', 'video/mj2'],\n ['mjp2', 'video/mj2'],\n ['mjs', 'application/javascript'],\n ['mk3d', 'video/x-matroska'],\n ['mka', 'audio/x-matroska'],\n ['mkd', 'text/x-markdown'],\n ['mks', 'video/x-matroska'],\n ['mkv', 'video/x-matroska'],\n ['mlp', 'application/vnd.dolby.mlp'],\n ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],\n ['mmf', 'application/vnd.smaf'],\n ['mml', 'text/mathml'],\n ['mmr', 'image/vnd.fujixerox.edmics-mmr'],\n ['mng', 'video/x-mng'],\n ['mny', 'application/x-msmoney'],\n ['mobi', 'application/x-mobipocket-ebook'],\n ['mods', 'application/mods+xml'],\n ['mov', 'video/quicktime'],\n ['movie', 'video/x-sgi-movie'],\n ['mp2', 'audio/mpeg'],\n ['mp2a', 'audio/mpeg'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mp4a', 'audio/mp4'],\n ['mp4s', 'application/mp4'],\n ['mp4v', 'video/mp4'],\n ['mp21', 'application/mp21'],\n ['mpc', 'application/vnd.mophun.certificate'],\n ['mpd', 'application/dash+xml'],\n ['mpe', 'video/mpeg'],\n ['mpeg', 'video/mpeg'],\n ['mpg', 'video/mpeg'],\n ['mpg4', 'video/mp4'],\n ['mpga', 'audio/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['mpm', 'application/vnd.blueice.multipass'],\n ['mpn', 'application/vnd.mophun.application'],\n ['mpp', 'application/vnd.ms-project'],\n ['mpt', 'application/vnd.ms-project'],\n ['mpy', 'application/vnd.ibm.minipay'],\n ['mqy', 'application/vnd.mobius.mqy'],\n ['mrc', 'application/marc'],\n ['mrcx', 'application/marcxml+xml'],\n ['ms', 'text/troff'],\n ['mscml', 'application/mediaservercontrol+xml'],\n ['mseed', 'application/vnd.fdsn.mseed'],\n ['mseq', 'application/vnd.mseq'],\n ['msf', 'application/vnd.epson.msf'],\n ['msg', 'application/vnd.ms-outlook'],\n ['msh', 'model/mesh'],\n ['msi', 'application/x-msdownload'],\n ['msl', 'application/vnd.mobius.msl'],\n ['msm', 'application/octet-stream'],\n ['msp', 'application/octet-stream'],\n ['msty', 'application/vnd.muvee.style'],\n ['mtl', 'model/mtl'],\n ['mts', 'model/vnd.mts'],\n ['mus', 'application/vnd.musician'],\n ['musd', 'application/mmt-usd+xml'],\n ['musicxml', 'application/vnd.recordare.musicxml+xml'],\n ['mvb', 'application/x-msmediaview'],\n ['mvt', 'application/vnd.mapbox-vector-tile'],\n ['mwf', 'application/vnd.mfer'],\n ['mxf', 'application/mxf'],\n ['mxl', 'application/vnd.recordare.musicxml'],\n ['mxmf', 'audio/mobile-xmf'],\n ['mxml', 'application/xv+xml'],\n ['mxs', 'application/vnd.triscape.mxs'],\n ['mxu', 'video/vnd.mpegurl'],\n ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],\n ['n3', 'text/n3'],\n ['nb', 'application/mathematica'],\n ['nbp', 'application/vnd.wolfram.player'],\n ['nc', 'application/x-netcdf'],\n ['ncx', 'application/x-dtbncx+xml'],\n ['nfo', 'text/x-nfo'],\n ['ngdat', 'application/vnd.nokia.n-gage.data'],\n ['nitf', 'application/vnd.nitf'],\n ['nlu', 'application/vnd.neurolanguage.nlu'],\n ['nml', 'application/vnd.enliven'],\n ['nnd', 'application/vnd.noblenet-directory'],\n ['nns', 'application/vnd.noblenet-sealer'],\n ['nnw', 'application/vnd.noblenet-web'],\n ['npx', 'image/vnd.net-fpx'],\n ['nq', 'application/n-quads'],\n ['nsc', 'application/x-conference'],\n ['nsf', 'application/vnd.lotus-notes'],\n ['nt', 'application/n-triples'],\n ['ntf', 'application/vnd.nitf'],\n ['numbers', 'application/x-iwork-numbers-sffnumbers'],\n ['nzb', 'application/x-nzb'],\n ['oa2', 'application/vnd.fujitsu.oasys2'],\n ['oa3', 'application/vnd.fujitsu.oasys3'],\n ['oas', 'application/vnd.fujitsu.oasys'],\n ['obd', 'application/x-msbinder'],\n ['obgx', 'application/vnd.openblox.game+xml'],\n ['obj', 'model/obj'],\n ['oda', 'application/oda'],\n ['odb', 'application/vnd.oasis.opendocument.database'],\n ['odc', 'application/vnd.oasis.opendocument.chart'],\n ['odf', 'application/vnd.oasis.opendocument.formula'],\n ['odft', 'application/vnd.oasis.opendocument.formula-template'],\n ['odg', 'application/vnd.oasis.opendocument.graphics'],\n ['odi', 'application/vnd.oasis.opendocument.image'],\n ['odm', 'application/vnd.oasis.opendocument.text-master'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogex', 'model/vnd.opengex'],\n ['ogg', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['omdoc', 'application/omdoc+xml'],\n ['onepkg', 'application/onenote'],\n ['onetmp', 'application/onenote'],\n ['onetoc', 'application/onenote'],\n ['onetoc2', 'application/onenote'],\n ['opf', 'application/oebps-package+xml'],\n ['opml', 'text/x-opml'],\n ['oprc', 'application/vnd.palm'],\n ['opus', 'audio/ogg'],\n ['org', 'text/x-org'],\n ['osf', 'application/vnd.yamaha.openscoreformat'],\n ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],\n ['osm', 'application/vnd.openstreetmap.data+xml'],\n ['otc', 'application/vnd.oasis.opendocument.chart-template'],\n ['otf', 'font/otf'],\n ['otg', 'application/vnd.oasis.opendocument.graphics-template'],\n ['oth', 'application/vnd.oasis.opendocument.text-web'],\n ['oti', 'application/vnd.oasis.opendocument.image-template'],\n ['otp', 'application/vnd.oasis.opendocument.presentation-template'],\n ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],\n ['ott', 'application/vnd.oasis.opendocument.text-template'],\n ['ova', 'application/x-virtualbox-ova'],\n ['ovf', 'application/x-virtualbox-ovf'],\n ['owl', 'application/rdf+xml'],\n ['oxps', 'application/oxps'],\n ['oxt', 'application/vnd.openofficeorg.extension'],\n ['p', 'text/x-pascal'],\n ['p7a', 'application/x-pkcs7-signature'],\n ['p7b', 'application/x-pkcs7-certificates'],\n ['p7c', 'application/pkcs7-mime'],\n ['p7m', 'application/pkcs7-mime'],\n ['p7r', 'application/x-pkcs7-certreqresp'],\n ['p7s', 'application/pkcs7-signature'],\n ['p8', 'application/pkcs8'],\n ['p10', 'application/x-pkcs10'],\n ['p12', 'application/x-pkcs12'],\n ['pac', 'application/x-ns-proxy-autoconfig'],\n ['pages', 'application/x-iwork-pages-sffpages'],\n ['pas', 'text/x-pascal'],\n ['paw', 'application/vnd.pawaafile'],\n ['pbd', 'application/vnd.powerbuilder6'],\n ['pbm', 'image/x-portable-bitmap'],\n ['pcap', 'application/vnd.tcpdump.pcap'],\n ['pcf', 'application/x-font-pcf'],\n ['pcl', 'application/vnd.hp-pcl'],\n ['pclxl', 'application/vnd.hp-pclxl'],\n ['pct', 'image/x-pict'],\n ['pcurl', 'application/vnd.curl.pcurl'],\n ['pcx', 'image/x-pcx'],\n ['pdb', 'application/x-pilot'],\n ['pde', 'text/x-processing'],\n ['pdf', 'application/pdf'],\n ['pem', 'application/x-x509-user-cert'],\n ['pfa', 'application/x-font-type1'],\n ['pfb', 'application/x-font-type1'],\n ['pfm', 'application/x-font-type1'],\n ['pfr', 'application/font-tdpfr'],\n ['pfx', 'application/x-pkcs12'],\n ['pgm', 'image/x-portable-graymap'],\n ['pgn', 'application/x-chess-pgn'],\n ['pgp', 'application/pgp'],\n ['php', 'application/x-httpd-php'],\n ['php3', 'application/x-httpd-php'],\n ['php4', 'application/x-httpd-php'],\n ['phps', 'application/x-httpd-php-source'],\n ['phtml', 'application/x-httpd-php'],\n ['pic', 'image/x-pict'],\n ['pkg', 'application/octet-stream'],\n ['pki', 'application/pkixcmp'],\n ['pkipath', 'application/pkix-pkipath'],\n ['pkpass', 'application/vnd.apple.pkpass'],\n ['pl', 'application/x-perl'],\n ['plb', 'application/vnd.3gpp.pic-bw-large'],\n ['plc', 'application/vnd.mobius.plc'],\n ['plf', 'application/vnd.pocketlearn'],\n ['pls', 'application/pls+xml'],\n ['pm', 'application/x-perl'],\n ['pml', 'application/vnd.ctc-posml'],\n ['png', 'image/png'],\n ['pnm', 'image/x-portable-anymap'],\n ['portpkg', 'application/vnd.macports.portpkg'],\n ['pot', 'application/vnd.ms-powerpoint'],\n ['potm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],\n ['ppa', 'application/vnd.ms-powerpoint'],\n ['ppam', 'application/vnd.ms-powerpoint.addin.macroEnabled.12'],\n ['ppd', 'application/vnd.cups-ppd'],\n ['ppm', 'image/x-portable-pixmap'],\n ['pps', 'application/vnd.ms-powerpoint'],\n ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'],\n ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],\n ['ppt', 'application/powerpoint'],\n ['pptm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['pqa', 'application/vnd.palm'],\n ['prc', 'application/x-pilot'],\n ['pre', 'application/vnd.lotus-freelance'],\n ['prf', 'application/pics-rules'],\n ['provx', 'application/provenance+xml'],\n ['ps', 'application/postscript'],\n ['psb', 'application/vnd.3gpp.pic-bw-small'],\n ['psd', 'application/x-photoshop'],\n ['psf', 'application/x-font-linux-psf'],\n ['pskcxml', 'application/pskc+xml'],\n ['pti', 'image/prs.pti'],\n ['ptid', 'application/vnd.pvi.ptid1'],\n ['pub', 'application/x-mspublisher'],\n ['pvb', 'application/vnd.3gpp.pic-bw-var'],\n ['pwn', 'application/vnd.3m.post-it-notes'],\n ['pya', 'audio/vnd.ms-playready.media.pya'],\n ['pyv', 'video/vnd.ms-playready.media.pyv'],\n ['qam', 'application/vnd.epson.quickanime'],\n ['qbo', 'application/vnd.intu.qbo'],\n ['qfx', 'application/vnd.intu.qfx'],\n ['qps', 'application/vnd.publishare-delta-tree'],\n ['qt', 'video/quicktime'],\n ['qwd', 'application/vnd.quark.quarkxpress'],\n ['qwt', 'application/vnd.quark.quarkxpress'],\n ['qxb', 'application/vnd.quark.quarkxpress'],\n ['qxd', 'application/vnd.quark.quarkxpress'],\n ['qxl', 'application/vnd.quark.quarkxpress'],\n ['qxt', 'application/vnd.quark.quarkxpress'],\n ['ra', 'audio/x-realaudio'],\n ['ram', 'audio/x-pn-realaudio'],\n ['raml', 'application/raml+yaml'],\n ['rapd', 'application/route-apd+xml'],\n ['rar', 'application/x-rar'],\n ['ras', 'image/x-cmu-raster'],\n ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],\n ['rdf', 'application/rdf+xml'],\n ['rdz', 'application/vnd.data-vision.rdz'],\n ['relo', 'application/p2p-overlay+xml'],\n ['rep', 'application/vnd.businessobjects'],\n ['res', 'application/x-dtbresource+xml'],\n ['rgb', 'image/x-rgb'],\n ['rif', 'application/reginfo+xml'],\n ['rip', 'audio/vnd.rip'],\n ['ris', 'application/x-research-info-systems'],\n ['rl', 'application/resource-lists+xml'],\n ['rlc', 'image/vnd.fujixerox.edmics-rlc'],\n ['rld', 'application/resource-lists-diff+xml'],\n ['rm', 'audio/x-pn-realaudio'],\n ['rmi', 'audio/midi'],\n ['rmp', 'audio/x-pn-realaudio-plugin'],\n ['rms', 'application/vnd.jcp.javame.midlet-rms'],\n ['rmvb', 'application/vnd.rn-realmedia-vbr'],\n ['rnc', 'application/relax-ng-compact-syntax'],\n ['rng', 'application/xml'],\n ['roa', 'application/rpki-roa'],\n ['roff', 'text/troff'],\n ['rp9', 'application/vnd.cloanto.rp9'],\n ['rpm', 'audio/x-pn-realaudio-plugin'],\n ['rpss', 'application/vnd.nokia.radio-presets'],\n ['rpst', 'application/vnd.nokia.radio-preset'],\n ['rq', 'application/sparql-query'],\n ['rs', 'application/rls-services+xml'],\n ['rsa', 'application/x-pkcs7'],\n ['rsat', 'application/atsc-rsat+xml'],\n ['rsd', 'application/rsd+xml'],\n ['rsheet', 'application/urc-ressheet+xml'],\n ['rss', 'application/rss+xml'],\n ['rtf', 'text/rtf'],\n ['rtx', 'text/richtext'],\n ['run', 'application/x-makeself'],\n ['rusd', 'application/route-usd+xml'],\n ['rv', 'video/vnd.rn-realvideo'],\n ['s', 'text/x-asm'],\n ['s3m', 'audio/s3m'],\n ['saf', 'application/vnd.yamaha.smaf-audio'],\n ['sass', 'text/x-sass'],\n ['sbml', 'application/sbml+xml'],\n ['sc', 'application/vnd.ibm.secure-container'],\n ['scd', 'application/x-msschedule'],\n ['scm', 'application/vnd.lotus-screencam'],\n ['scq', 'application/scvp-cv-request'],\n ['scs', 'application/scvp-cv-response'],\n ['scss', 'text/x-scss'],\n ['scurl', 'text/vnd.curl.scurl'],\n ['sda', 'application/vnd.stardivision.draw'],\n ['sdc', 'application/vnd.stardivision.calc'],\n ['sdd', 'application/vnd.stardivision.impress'],\n ['sdkd', 'application/vnd.solent.sdkm+xml'],\n ['sdkm', 'application/vnd.solent.sdkm+xml'],\n ['sdp', 'application/sdp'],\n ['sdw', 'application/vnd.stardivision.writer'],\n ['sea', 'application/octet-stream'],\n ['see', 'application/vnd.seemail'],\n ['seed', 'application/vnd.fdsn.seed'],\n ['sema', 'application/vnd.sema'],\n ['semd', 'application/vnd.semd'],\n ['semf', 'application/vnd.semf'],\n ['senmlx', 'application/senml+xml'],\n ['sensmlx', 'application/sensml+xml'],\n ['ser', 'application/java-serialized-object'],\n ['setpay', 'application/set-payment-initiation'],\n ['setreg', 'application/set-registration-initiation'],\n ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],\n ['sfs', 'application/vnd.spotfire.sfs'],\n ['sfv', 'text/x-sfv'],\n ['sgi', 'image/sgi'],\n ['sgl', 'application/vnd.stardivision.writer-global'],\n ['sgm', 'text/sgml'],\n ['sgml', 'text/sgml'],\n ['sh', 'application/x-sh'],\n ['shar', 'application/x-shar'],\n ['shex', 'text/shex'],\n ['shf', 'application/shf+xml'],\n ['shtml', 'text/html'],\n ['sid', 'image/x-mrsid-image'],\n ['sieve', 'application/sieve'],\n ['sig', 'application/pgp-signature'],\n ['sil', 'audio/silk'],\n ['silo', 'model/mesh'],\n ['sis', 'application/vnd.symbian.install'],\n ['sisx', 'application/vnd.symbian.install'],\n ['sit', 'application/x-stuffit'],\n ['sitx', 'application/x-stuffitx'],\n ['siv', 'application/sieve'],\n ['skd', 'application/vnd.koan'],\n ['skm', 'application/vnd.koan'],\n ['skp', 'application/vnd.koan'],\n ['skt', 'application/vnd.koan'],\n ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],\n ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],\n ['slim', 'text/slim'],\n ['slm', 'text/slim'],\n ['sls', 'application/route-s-tsid+xml'],\n ['slt', 'application/vnd.epson.salt'],\n ['sm', 'application/vnd.stepmania.stepchart'],\n ['smf', 'application/vnd.stardivision.math'],\n ['smi', 'application/smil'],\n ['smil', 'application/smil'],\n ['smv', 'video/x-smv'],\n ['smzip', 'application/vnd.stepmania.package'],\n ['snd', 'audio/basic'],\n ['snf', 'application/x-font-snf'],\n ['so', 'application/octet-stream'],\n ['spc', 'application/x-pkcs7-certificates'],\n ['spdx', 'text/spdx'],\n ['spf', 'application/vnd.yamaha.smaf-phrase'],\n ['spl', 'application/x-futuresplash'],\n ['spot', 'text/vnd.in3d.spot'],\n ['spp', 'application/scvp-vp-response'],\n ['spq', 'application/scvp-vp-request'],\n ['spx', 'audio/ogg'],\n ['sql', 'application/x-sql'],\n ['src', 'application/x-wais-source'],\n ['srt', 'application/x-subrip'],\n ['sru', 'application/sru+xml'],\n ['srx', 'application/sparql-results+xml'],\n ['ssdl', 'application/ssdl+xml'],\n ['sse', 'application/vnd.kodak-descriptor'],\n ['ssf', 'application/vnd.epson.ssf'],\n ['ssml', 'application/ssml+xml'],\n ['sst', 'application/octet-stream'],\n ['st', 'application/vnd.sailingtracker.track'],\n ['stc', 'application/vnd.sun.xml.calc.template'],\n ['std', 'application/vnd.sun.xml.draw.template'],\n ['stf', 'application/vnd.wt.stf'],\n ['sti', 'application/vnd.sun.xml.impress.template'],\n ['stk', 'application/hyperstudio'],\n ['stl', 'model/stl'],\n ['stpx', 'model/step+xml'],\n ['stpxz', 'model/step-xml+zip'],\n ['stpz', 'model/step+zip'],\n ['str', 'application/vnd.pg.format'],\n ['stw', 'application/vnd.sun.xml.writer.template'],\n ['styl', 'text/stylus'],\n ['stylus', 'text/stylus'],\n ['sub', 'text/vnd.dvb.subtitle'],\n ['sus', 'application/vnd.sus-calendar'],\n ['susp', 'application/vnd.sus-calendar'],\n ['sv4cpio', 'application/x-sv4cpio'],\n ['sv4crc', 'application/x-sv4crc'],\n ['svc', 'application/vnd.dvb.service'],\n ['svd', 'application/vnd.svd'],\n ['svg', 'image/svg+xml'],\n ['svgz', 'image/svg+xml'],\n ['swa', 'application/x-director'],\n ['swf', 'application/x-shockwave-flash'],\n ['swi', 'application/vnd.aristanetworks.swi'],\n ['swidtag', 'application/swid+xml'],\n ['sxc', 'application/vnd.sun.xml.calc'],\n ['sxd', 'application/vnd.sun.xml.draw'],\n ['sxg', 'application/vnd.sun.xml.writer.global'],\n ['sxi', 'application/vnd.sun.xml.impress'],\n ['sxm', 'application/vnd.sun.xml.math'],\n ['sxw', 'application/vnd.sun.xml.writer'],\n ['t', 'text/troff'],\n ['t3', 'application/x-t3vm-image'],\n ['t38', 'image/t38'],\n ['taglet', 'application/vnd.mynfc'],\n ['tao', 'application/vnd.tao.intent-module-archive'],\n ['tap', 'image/vnd.tencent.tap'],\n ['tar', 'application/x-tar'],\n ['tcap', 'application/vnd.3gpp2.tcap'],\n ['tcl', 'application/x-tcl'],\n ['td', 'application/urc-targetdesc+xml'],\n ['teacher', 'application/vnd.smart.teacher'],\n ['tei', 'application/tei+xml'],\n ['teicorpus', 'application/tei+xml'],\n ['tex', 'application/x-tex'],\n ['texi', 'application/x-texinfo'],\n ['texinfo', 'application/x-texinfo'],\n ['text', 'text/plain'],\n ['tfi', 'application/thraud+xml'],\n ['tfm', 'application/x-tex-tfm'],\n ['tfx', 'image/tiff-fx'],\n ['tga', 'image/x-tga'],\n ['tgz', 'application/x-tar'],\n ['thmx', 'application/vnd.ms-officetheme'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['tk', 'application/x-tcl'],\n ['tmo', 'application/vnd.tmobile-livetv'],\n ['toml', 'application/toml'],\n ['torrent', 'application/x-bittorrent'],\n ['tpl', 'application/vnd.groove-tool-template'],\n ['tpt', 'application/vnd.trid.tpt'],\n ['tr', 'text/troff'],\n ['tra', 'application/vnd.trueapp'],\n ['trig', 'application/trig'],\n ['trm', 'application/x-msterminal'],\n ['ts', 'video/mp2t'],\n ['tsd', 'application/timestamped-data'],\n ['tsv', 'text/tab-separated-values'],\n ['ttc', 'font/collection'],\n ['ttf', 'font/ttf'],\n ['ttl', 'text/turtle'],\n ['ttml', 'application/ttml+xml'],\n ['twd', 'application/vnd.simtech-mindmapper'],\n ['twds', 'application/vnd.simtech-mindmapper'],\n ['txd', 'application/vnd.genomatix.tuxedo'],\n ['txf', 'application/vnd.mobius.txf'],\n ['txt', 'text/plain'],\n ['u8dsn', 'message/global-delivery-status'],\n ['u8hdr', 'message/global-headers'],\n ['u8mdn', 'message/global-disposition-notification'],\n ['u8msg', 'message/global'],\n ['u32', 'application/x-authorware-bin'],\n ['ubj', 'application/ubjson'],\n ['udeb', 'application/x-debian-package'],\n ['ufd', 'application/vnd.ufdl'],\n ['ufdl', 'application/vnd.ufdl'],\n ['ulx', 'application/x-glulx'],\n ['umj', 'application/vnd.umajin'],\n ['unityweb', 'application/vnd.unity'],\n ['uoml', 'application/vnd.uoml+xml'],\n ['uri', 'text/uri-list'],\n ['uris', 'text/uri-list'],\n ['urls', 'text/uri-list'],\n ['usdz', 'model/vnd.usdz+zip'],\n ['ustar', 'application/x-ustar'],\n ['utz', 'application/vnd.uiq.theme'],\n ['uu', 'text/x-uuencode'],\n ['uva', 'audio/vnd.dece.audio'],\n ['uvd', 'application/vnd.dece.data'],\n ['uvf', 'application/vnd.dece.data'],\n ['uvg', 'image/vnd.dece.graphic'],\n ['uvh', 'video/vnd.dece.hd'],\n ['uvi', 'image/vnd.dece.graphic'],\n ['uvm', 'video/vnd.dece.mobile'],\n ['uvp', 'video/vnd.dece.pd'],\n ['uvs', 'video/vnd.dece.sd'],\n ['uvt', 'application/vnd.dece.ttml+xml'],\n ['uvu', 'video/vnd.uvvu.mp4'],\n ['uvv', 'video/vnd.dece.video'],\n ['uvva', 'audio/vnd.dece.audio'],\n ['uvvd', 'application/vnd.dece.data'],\n ['uvvf', 'application/vnd.dece.data'],\n ['uvvg', 'image/vnd.dece.graphic'],\n ['uvvh', 'video/vnd.dece.hd'],\n ['uvvi', 'image/vnd.dece.graphic'],\n ['uvvm', 'video/vnd.dece.mobile'],\n ['uvvp', 'video/vnd.dece.pd'],\n ['uvvs', 'video/vnd.dece.sd'],\n ['uvvt', 'application/vnd.dece.ttml+xml'],\n ['uvvu', 'video/vnd.uvvu.mp4'],\n ['uvvv', 'video/vnd.dece.video'],\n ['uvvx', 'application/vnd.dece.unspecified'],\n ['uvvz', 'application/vnd.dece.zip'],\n ['uvx', 'application/vnd.dece.unspecified'],\n ['uvz', 'application/vnd.dece.zip'],\n ['vbox', 'application/x-virtualbox-vbox'],\n ['vbox-extpack', 'application/x-virtualbox-vbox-extpack'],\n ['vcard', 'text/vcard'],\n ['vcd', 'application/x-cdlink'],\n ['vcf', 'text/x-vcard'],\n ['vcg', 'application/vnd.groove-vcard'],\n ['vcs', 'text/x-vcalendar'],\n ['vcx', 'application/vnd.vcx'],\n ['vdi', 'application/x-virtualbox-vdi'],\n ['vds', 'model/vnd.sap.vds'],\n ['vhd', 'application/x-virtualbox-vhd'],\n ['vis', 'application/vnd.visionary'],\n ['viv', 'video/vnd.vivo'],\n ['vlc', 'application/videolan'],\n ['vmdk', 'application/x-virtualbox-vmdk'],\n ['vob', 'video/x-ms-vob'],\n ['vor', 'application/vnd.stardivision.writer'],\n ['vox', 'application/x-authorware-bin'],\n ['vrml', 'model/vrml'],\n ['vsd', 'application/vnd.visio'],\n ['vsf', 'application/vnd.vsf'],\n ['vss', 'application/vnd.visio'],\n ['vst', 'application/vnd.visio'],\n ['vsw', 'application/vnd.visio'],\n ['vtf', 'image/vnd.valve.source.texture'],\n ['vtt', 'text/vtt'],\n ['vtu', 'model/vnd.vtu'],\n ['vxml', 'application/voicexml+xml'],\n ['w3d', 'application/x-director'],\n ['wad', 'application/x-doom'],\n ['wadl', 'application/vnd.sun.wadl+xml'],\n ['war', 'application/java-archive'],\n ['wasm', 'application/wasm'],\n ['wav', 'audio/x-wav'],\n ['wax', 'audio/x-ms-wax'],\n ['wbmp', 'image/vnd.wap.wbmp'],\n ['wbs', 'application/vnd.criticaltools.wbs+xml'],\n ['wbxml', 'application/wbxml'],\n ['wcm', 'application/vnd.ms-works'],\n ['wdb', 'application/vnd.ms-works'],\n ['wdp', 'image/vnd.ms-photo'],\n ['weba', 'audio/webm'],\n ['webapp', 'application/x-web-app-manifest+json'],\n ['webm', 'video/webm'],\n ['webmanifest', 'application/manifest+json'],\n ['webp', 'image/webp'],\n ['wg', 'application/vnd.pmi.widget'],\n ['wgt', 'application/widget'],\n ['wks', 'application/vnd.ms-works'],\n ['wm', 'video/x-ms-wm'],\n ['wma', 'audio/x-ms-wma'],\n ['wmd', 'application/x-ms-wmd'],\n ['wmf', 'image/wmf'],\n ['wml', 'text/vnd.wap.wml'],\n ['wmlc', 'application/wmlc'],\n ['wmls', 'text/vnd.wap.wmlscript'],\n ['wmlsc', 'application/vnd.wap.wmlscriptc'],\n ['wmv', 'video/x-ms-wmv'],\n ['wmx', 'video/x-ms-wmx'],\n ['wmz', 'application/x-msmetafile'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['word', 'application/msword'],\n ['wpd', 'application/vnd.wordperfect'],\n ['wpl', 'application/vnd.ms-wpl'],\n ['wps', 'application/vnd.ms-works'],\n ['wqd', 'application/vnd.wqd'],\n ['wri', 'application/x-mswrite'],\n ['wrl', 'model/vrml'],\n ['wsc', 'message/vnd.wfa.wsc'],\n ['wsdl', 'application/wsdl+xml'],\n ['wspolicy', 'application/wspolicy+xml'],\n ['wtb', 'application/vnd.webturbo'],\n ['wvx', 'video/x-ms-wvx'],\n ['x3d', 'model/x3d+xml'],\n ['x3db', 'model/x3d+fastinfoset'],\n ['x3dbz', 'model/x3d+binary'],\n ['x3dv', 'model/x3d-vrml'],\n ['x3dvz', 'model/x3d+vrml'],\n ['x3dz', 'model/x3d+xml'],\n ['x32', 'application/x-authorware-bin'],\n ['x_b', 'model/vnd.parasolid.transmit.binary'],\n ['x_t', 'model/vnd.parasolid.transmit.text'],\n ['xaml', 'application/xaml+xml'],\n ['xap', 'application/x-silverlight-app'],\n ['xar', 'application/vnd.xara'],\n ['xav', 'application/xcap-att+xml'],\n ['xbap', 'application/x-ms-xbap'],\n ['xbd', 'application/vnd.fujixerox.docuworks.binder'],\n ['xbm', 'image/x-xbitmap'],\n ['xca', 'application/xcap-caps+xml'],\n ['xcs', 'application/calendar+xml'],\n ['xdf', 'application/xcap-diff+xml'],\n ['xdm', 'application/vnd.syncml.dm+xml'],\n ['xdp', 'application/vnd.adobe.xdp+xml'],\n ['xdssc', 'application/dssc+xml'],\n ['xdw', 'application/vnd.fujixerox.docuworks'],\n ['xel', 'application/xcap-el+xml'],\n ['xenc', 'application/xenc+xml'],\n ['xer', 'application/patch-ops-error+xml'],\n ['xfdf', 'application/vnd.adobe.xfdf'],\n ['xfdl', 'application/vnd.xfdl'],\n ['xht', 'application/xhtml+xml'],\n ['xhtml', 'application/xhtml+xml'],\n ['xhvml', 'application/xv+xml'],\n ['xif', 'image/vnd.xiff'],\n ['xl', 'application/excel'],\n ['xla', 'application/vnd.ms-excel'],\n ['xlam', 'application/vnd.ms-excel.addin.macroEnabled.12'],\n ['xlc', 'application/vnd.ms-excel'],\n ['xlf', 'application/xliff+xml'],\n ['xlm', 'application/vnd.ms-excel'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'],\n ['xlsm', 'application/vnd.ms-excel.sheet.macroEnabled.12'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xlt', 'application/vnd.ms-excel'],\n ['xltm', 'application/vnd.ms-excel.template.macroEnabled.12'],\n ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],\n ['xlw', 'application/vnd.ms-excel'],\n ['xm', 'audio/xm'],\n ['xml', 'application/xml'],\n ['xns', 'application/xcap-ns+xml'],\n ['xo', 'application/vnd.olpc-sugar'],\n ['xop', 'application/xop+xml'],\n ['xpi', 'application/x-xpinstall'],\n ['xpl', 'application/xproc+xml'],\n ['xpm', 'image/x-xpixmap'],\n ['xpr', 'application/vnd.is-xpr'],\n ['xps', 'application/vnd.ms-xpsdocument'],\n ['xpw', 'application/vnd.intercon.formnet'],\n ['xpx', 'application/vnd.intercon.formnet'],\n ['xsd', 'application/xml'],\n ['xsl', 'application/xml'],\n ['xslt', 'application/xslt+xml'],\n ['xsm', 'application/vnd.syncml+xml'],\n ['xspf', 'application/xspf+xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['xvm', 'application/xv+xml'],\n ['xvml', 'application/xv+xml'],\n ['xwd', 'image/x-xwindowdump'],\n ['xyz', 'chemical/x-xyz'],\n ['xz', 'application/x-xz'],\n ['yaml', 'text/yaml'],\n ['yang', 'application/yang'],\n ['yin', 'application/yin+xml'],\n ['yml', 'text/yaml'],\n ['ymp', 'text/x-suse-ymp'],\n ['z', 'application/x-compress'],\n ['z1', 'application/x-zmachine'],\n ['z2', 'application/x-zmachine'],\n ['z3', 'application/x-zmachine'],\n ['z4', 'application/x-zmachine'],\n ['z5', 'application/x-zmachine'],\n ['z6', 'application/x-zmachine'],\n ['z7', 'application/x-zmachine'],\n ['z8', 'application/x-zmachine'],\n ['zaz', 'application/vnd.zzazz.deck+xml'],\n ['zip', 'application/zip'],\n ['zir', 'application/vnd.zul'],\n ['zirz', 'application/vnd.zul'],\n ['zmm', 'application/vnd.handheld-entertainment+xml'],\n ['zsh', 'text/x-scriptzsh']\n]);\nexport function toFileWithPath(file, path, h) {\n const f = withMimeType(file);\n const { webkitRelativePath } = file;\n const p = typeof path === 'string'\n ? path\n // If <input webkitdirectory> is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : `./${file.name}`;\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n setObjProp(f, 'path', p);\n }\n if (h !== undefined) {\n Object.defineProperty(f, 'handle', {\n value: h,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n // Always populate a relative path so that even electron apps have access to a relativePath value\n setObjProp(f, 'relativePath', p);\n return f;\n}\nfunction withMimeType(file) {\n const { name } = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop().toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n return file;\n}\nfunction setObjProp(f, key, value) {\n Object.defineProperty(f, key, {\n value,\n writable: false,\n configurable: false,\n enumerable: true\n });\n}\n//# sourceMappingURL=file.js.map","import { __awaiter } from \"tslib\";\nimport { toFileWithPath } from './file';\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport function fromEvent(evt) {\n return __awaiter(this, void 0, void 0, function* () {\n if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {\n return getDataTransferFiles(evt.dataTransfer, evt.type);\n }\n else if (isChangeEvt(evt)) {\n return getInputFiles(evt);\n }\n else if (Array.isArray(evt) && evt.every(item => 'getFile' in item && typeof item.getFile === 'function')) {\n return getFsHandleFiles(evt);\n }\n return [];\n });\n}\nfunction isDataTransfer(value) {\n return isObject(value);\n}\nfunction isChangeEvt(value) {\n return isObject(value) && isObject(value.target);\n}\nfunction isObject(v) {\n return typeof v === 'object' && v !== null;\n}\nfunction getInputFiles(evt) {\n return fromList(evt.target.files).map(file => toFileWithPath(file));\n}\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nfunction getFsHandleFiles(handles) {\n return __awaiter(this, void 0, void 0, function* () {\n const files = yield Promise.all(handles.map(h => h.getFile()));\n return files.map(file => toFileWithPath(file));\n });\n}\nfunction getDataTransferFiles(dt, type) {\n return __awaiter(this, void 0, void 0, function* () {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = yield Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n });\n}\nfunction noIgnoredFiles(files) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items) {\n if (items === null) {\n return [];\n }\n const files = [];\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n return files;\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n const entry = item.webkitGetAsEntry();\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry);\n }\n return fromDataTransferItem(item, entry);\n}\nfunction flatten(items) {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\nfunction fromDataTransferItem(item, entry) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n // Check if we're in a secure context; due to a bug in Chrome (as far as we know)\n // the browser crashes when calling this API (yet to be confirmed as a consistent behaviour).\n //\n // See:\n // - https://issues.chromium.org/issues/40186242\n // - https://github.com/react-dropzone/react-dropzone/issues/1397\n if (globalThis.isSecureContext && typeof item.getAsFileSystemHandle === 'function') {\n const h = yield item.getAsFileSystemHandle();\n if (h === null) {\n throw new Error(`${item} is not a File`);\n }\n // It seems that the handle can be `undefined` (see https://github.com/react-dropzone/file-selector/issues/120),\n // so we check if it isn't; if it is, the code path continues to the next API (`getAsFile`).\n if (h !== undefined) {\n const file = yield h.getFile();\n file.handle = h;\n return toFileWithPath(file);\n }\n }\n const file = item.getAsFile();\n if (!file) {\n throw new Error(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file, (_a = entry === null || entry === void 0 ? void 0 : entry.fullPath) !== null && _a !== void 0 ? _a : undefined);\n return fwp;\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nfunction fromEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry) {\n const reader = entry.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries((batch) => __awaiter(this, void 0, void 0, function* () {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = yield Promise.all(entries);\n resolve(files);\n }\n catch (err) {\n reject(err);\n }\n }\n else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n // Continue reading\n readEntries();\n }\n }), (err) => {\n reject(err);\n });\n }\n readEntries();\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nfunction fromFileEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n entry.file((file) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err) => {\n reject(err);\n });\n });\n });\n}\n//# sourceMappingURL=file-selector.js.map","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n\n if (acceptedFilesArray.length === 0) {\n return true;\n }\n\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport _accepts from \"attr-accept\";\nvar accepts = typeof _accepts === \"function\" ? _accepts : _accepts.default; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n};\n/**\n *\n * @param {string} accept\n */\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr() {\n var accept = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var acceptArr = accept.split(\",\");\n var msg = acceptArr.length > 1 ? \"one of \".concat(acceptArr.join(\", \")) : acceptArr[0];\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(msg)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n};\n/**\n * Check if file is accepted.\n *\n * Firefox versions prior to 53 return a bogus MIME type for every file drag,\n * so dragovers with that MIME type will always be accepted.\n *\n * @param {File} file\n * @param {string} accept\n * @returns\n */\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || v === \"application/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.<string, string[]>} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * <Dropzone>\n * {({getRootProps, getInputProps}) => (\n * <div {...getRootProps()}>\n * <input {...getInputProps()} />\n * <p>Drag 'n' drop some files here, or click to select files</p>\n * </div>\n * )}\n * </Dropzone>\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: false,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise<File[]>)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n * <div {...getRootProps()}>\n * <input {...getInputProps()} />\n * <p>Drag and drop some files here, or click to select files</p>\n * </div>\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject<HTMLElement>}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n isDragReject: fileRejections.length > 0,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n border: 0,\n clip: \"rect(0, 0, 0, 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n margin: \"0 -1px -1px 0\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections,\n isDragReject: action.isDragReject\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";","import { filetypemime } from 'magic-bytes.js'\nimport { useState } from 'react'\nimport { useDropzone } from 'react-dropzone'\nimport { Box } from '../utils/Box'\n\nexport const INFERENCE_FILE_TYPES = {\n WAV_MIME_TYPES: ['audio/wav', 'audio/x-wav', 'audio/wave', 'audio/x-pn-wav'],\n MP3_MIME_TYPES: ['audio/mpeg', 'audio/mp3', 'audio/x-mpeg', 'audio/x-mp3', 'audio/x-mpeg-3'],\n FLAC_MIME_TYPES: ['audio/flac']\n}\n\nconst TIMEOUT_MS = 10 * 1000 // 10 seconds\n\nconst PREFIX = '[Audio.getDurationSeconds]'\n\nexport interface GetAudioDurationOptions {\n throwError?: boolean\n}\n\n/**\n * Get length of audio file in seconds. Supports Wav and Mp3, but not Webm.\n * Only usable in the browser. Doesn't have a limit on file size.\n * Has a timeout of 10 seconds, in case of corrupt files. It will resolve to 0 in that case.\n */\nconst getDurationSeconds = async (\n file: File,\n { throwError }: GetAudioDurationOptions = {}\n): Promise<number> =>\n new Promise((resolve, reject) => {\n if (typeof window === 'undefined')\n return reject(new Error('getDurationSeconds is only usable in the browser'))\n\n const objectUrl = URL.createObjectURL(file)\n\n const audio = new Audio()\n\n const cleanup = () => {\n audio.src = ''\n URL.revokeObjectURL(objectUrl)\n }\n\n const timeout = setTimeout(() => {\n cleanup()\n console.error(PREFIX, 'Timeout', file.name, file.size, file.type)\n resolve(0)\n }, TIMEOUT_MS)\n\n audio.addEventListener(\n 'loadedmetadata',\n () => {\n const duration = audio.duration\n clearTimeout(timeout)\n cleanup()\n resolve(duration)\n },\n { once: true }\n )\n\n audio.addEventListener(\n 'error',\n (err) => {\n clearTimeout(timeout)\n cleanup()\n if (throwError) {\n console.error(PREFIX, 'Error', file.name, file.size, file.type, err)\n reject(file)\n } else {\n resolve(0)\n }\n },\n { once: true }\n )\n\n audio.src = objectUrl\n })\n\nconst _Audio = { getDurationSeconds }\n\nexport { _Audio as Audio }\n\n/**\n *\n * @param files file array to resolve duplicates\n * @returns array of files with duplicates removed based on name and size\n */\nexport const resolveDuplicates = (files: File[]) => {\n const map = new Map<string, File>()\n files.forEach((file) => {\n map.set(`${file.name}-${file.size}`, file)\n })\n return Array.from(map.values())\n}\n\nconst getFileType = (file: File) =>\n new Promise<string[]>((resolve) => {\n const fileReader = new FileReader()\n fileReader.onloadend = (f) => {\n const bytes = new Uint8Array(f.target?.result as ArrayBuffer)\n const fileType = filetypemime(bytes)\n resolve(fileType)\n }\n fileReader.readAsArrayBuffer(file)\n })\n\nexport interface FileWithDuration extends File {\n duration: number\n}\n\nexport const getFileWithDuration = async (file: File): Promise<FileWithDuration> => {\n try {\n const duration = await getDurationSeconds(file)\n const fileWithDuration: FileWithDuration = file as FileWithDuration\n fileWithDuration.duration = duration\n return fileWithDuration\n } catch (err) {\n throw new Error(`Failed to get audio duration for ${file.name}`)\n }\n}\n\nexport const mimetypeToExtension = (mimeType: string) => {\n for (const [key, mimeTypes] of Object.entries(INFERENCE_FILE_TYPES)) {\n const processedKey = key.toLowerCase().split('_')[0]\n if (mimeTypes.includes(mimeType)) return processedKey\n }\n return undefined\n}\n\nconst setAudioFileNameFromMagicNumber = async (file: File) => {\n const magicNumber = await getFileType(file)\n const currentExtension = file?.name?.split('.').pop() || ''\n const trueMimeType = magicNumber[0] || file.type\n const trueExtension = mimetypeToExtension(trueMimeType)\n\n if (trueExtension === currentExtension || !trueMimeType || !trueExtension) {\n return file\n }\n\n const newFileName = `${file.name.split('.').slice(0, -1).join('.')}.${trueExtension}`\n const fileCopy = new File([file], newFileName, {\n type: trueMimeType\n })\n return fileCopy\n}\n\nexport class MaxFileSizeError extends Error {\n constructor() {\n super('Max file size exceeded')\n }\n}\n\nexport class MinFileSizeError extends Error {\n constructor() {\n super('Min file size exceeded')\n }\n}\n\nexport class MaxFileCountError extends Error {\n constructor() {\n super('Max file count reached')\n }\n}\n\nexport class MaxDurationError extends Error {\n constructor() {\n super('File duration too long')\n }\n}\n\nexport class InvalidFileTypeError extends Error {\n constructor() {\n super('Invalid file type')\n }\n}\n\nexport type AudioFilePickerError =\n | MaxFileSizeError\n | MaxFileCountError\n | MaxDurationError\n | InvalidFileTypeError\n\nexport interface RootProps extends Omit<React.ComponentProps<typeof Box>, 'onError'> {\n files: File[]\n onFileAccepted: (file: File[]) => void\n onDelete?: (file: File) => void\n maxFileCount: number\n maxSizeBytes: number\n minSizeBytes: number\n maxDurationS: number\n onError?: (error: AudioFilePickerError) => void\n}\n\nconst useAudioFilePickerErrors = (props: Omit<RootProps, 'children'>) => {\n return {\n handleDurationError: (file: File) => {\n console.log('handleDurationError', file)\n props.onError?.(new MaxDurationError())\n },\n handleMaxSizeError: (file: File) => {\n console.log('handleMaxSizeError', file)\n props.onError?.(new MaxFileSizeError())\n },\n handleMinSizeError: (file: File) => {\n console.log('handleMinSizeError', file)\n props.onError?.(new MinFileSizeError())\n },\n handleUnknownError: (error: any) => {\n console.log('handleUnknownError', error)\n props.onError?.(new Error('Unknown error'))\n },\n handleInvalidTypeError: (file: File) => {\n console.log('handleInvalidTypeError', file)\n props.onError?.(new InvalidFileTypeError())\n }\n }\n}\n\nexport const useAudioFilepickerDropzone = (props: Omit<RootProps, 'children'>) => {\n const {\n handleDurationError,\n handleMaxSizeError,\n handleMinSizeError,\n handleUnknownError,\n handleInvalidTypeError\n } = useAudioFilePickerErrors(props)\n\n const [error, setError] = useState<AudioFilePickerError | null>(null)\n\n const dropzone = useDropzone({\n accept: {\n 'audio/wav': ['.wav'],\n 'audio/mp3': ['.mp3'],\n 'audio/flac': ['.flac']\n },\n noClick: true,\n minSize: props.minSizeBytes,\n maxSize: props.maxSizeBytes,\n onDropAccepted: async (files) => {\n const newFiles = await Promise.all(files.map((file) => setAudioFileNameFromMagicNumber(file)))\n try {\n const filesWithDuration = await Promise.all(newFiles.map(getFileWithDuration))\n\n const validDurationFiles = filesWithDuration.filter((file) => {\n const isValidDuration = file.duration <= (props.maxDurationS ?? Infinity)\n if (!isValidDuration) {\n setError(new MaxDurationError())\n handleDurationError(file)\n return false\n }\n return true\n })\n\n const oldValues: File[] = (props.files as any) ?? []\n const resolved = resolveDuplicates([...oldValues, ...validDurationFiles])\n\n const sliced = resolved.slice(0, props.maxFileCount ?? resolved.length)\n props.onFileAccepted(sliced)\n } catch (error) {\n handleUnknownError(error)\n }\n },\n onDropRejected: (fileRejections) => {\n fileRejections.forEach((fileRejections) => {\n for (const error of fileRejections.errors) {\n if (error.code === 'file-too-large') {\n handleMaxSizeError(fileRejections.file)\n }\n\n if (error.code === 'file-too-small') {\n handleMinSizeError(fileRejections.file)\n }\n\n if (error.code === 'file-invalid-type') {\n handleInvalidTypeError(fileRejections.file)\n }\n }\n })\n }\n })\n\n return { dropzone, error, ...props }\n}\n","import { styled } from '@stitches/react'\nimport React from 'react'\nimport { Box } from '../utils/Box'\nimport { RootProps, useAudioFilepickerDropzone } from './useAudioFilepickerDropzone'\n\ninterface AudioFilePickerContextType extends ReturnType<typeof useAudioFilepickerDropzone> {}\n\nconst AudioFilePickerContext = React.createContext<AudioFilePickerContextType>(\n {} as AudioFilePickerContextType\n)\n\nexport const useAudioFilePickerContext = () => React.useContext(AudioFilePickerContext)\n\nconst StyledRoot = styled(Box, {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n gap: '8px',\n height: '100%'\n})\n\nexport const AudioFilePickerRoot: React.FC<RootProps> = ({ children, ...props }) => {\n const dropzoneContext = useAudioFilepickerDropzone(props)\n const {\n files,\n onFileAccepted,\n onDelete,\n maxFileCount,\n maxSizeBytes,\n minSizeBytes,\n maxDurationS,\n onError,\n ...rest\n } = props\n return (\n <AudioFilePickerContext.Provider value={dropzoneContext}>\n <StyledRoot {...rest} {...dropzoneContext.dropzone.getRootProps()}>\n <input {...dropzoneContext.dropzone.getInputProps()} />\n {children}\n </StyledRoot>\n </AudioFilePickerContext.Provider>\n )\n}\n","import { styled } from '@stitches/react'\nimport { Box } from '../utils/Box'\n\nconst Root = styled(Box, {\n width: '100%',\n height: '100%',\n display: 'flex',\n overflow: 'hidden',\n borderRadius: '16px',\n background: '#ffffff10',\n flexDirection: 'column',\n alignItems: 'stretch',\n maxHeight: '500px',\n justifyContent: 'center'\n})\n\nconst StyledHeader = styled(Box, {\n paddingTop: '32px',\n display: 'flex',\n justifyContent: 'center'\n})\n\nconst StyledContent = styled(Box, {\n flex: 1,\n gap: '16px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '16px'\n})\n\nconst StyledFooter = styled(Box, {\n borderTop: '1px solid #ffffff10',\n display: 'flex',\n alignItems: 'stretch',\n height: '96px'\n})\n\nconst Card = styled(Box, {\n height: '252px',\n width: '222px',\n borderRadius: '8px',\n border: '1px solid #ffffff10',\n background: '#ffffff10',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n})\n\nexport const ConvertStep = {\n Root,\n Header: StyledHeader,\n Content: StyledContent,\n Footer: StyledFooter,\n Card\n}\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/**\n * @license React\n * use-sync-external-store-shim.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';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar events = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n const revalidate = isFunction(options.revalidate) ? options.revalidate(get().data, _k) : options.revalidate !== false;\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nconst INFINITE_PREFIX = '$inf$';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { INFINITE_PREFIX, IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, events as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, withArgs, withMiddleware };\n","import 'client-only';\nimport ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import ReactExports, { useRef, useMemo, useCallback, useDebugValue, useState } from 'react';\nimport 'client-only';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT, SWRConfig, defaultConfig, withArgs, SWRGlobalState, serialize, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects, withMiddleware, useSWRConfig } from 'swr/_internal';\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nOBJECT.defineProperty(SWRConfig, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nconst startTransition = IS_REACT_LEGACY ? (cb)=>{\n cb();\n} : ReactExports.startTransition;\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const [, rerender] = useState({});\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n rerender({});\n }\n }, []);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\nconst mutation = ()=>(key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n startTransition(()=>setState({\n data,\n isMutating: false,\n error: undefined\n }));\n options.onSuccess == null ? void 0 : options.onSuccess.call(options, data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n startTransition(()=>setState({\n error: error,\n isMutating: false\n }));\n options.onError == null ? void 0 : options.onError.call(options, error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ const useSWRMutation = withMiddleware(useSWR, mutation);\n\nexport { useSWRMutation as default };\n","import { keyframes, styled } from '@stitches/react'\nimport type { FC, SVGProps } from 'react'\n\nconst Loading: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n {...props}\n >\n <path\n opacity=\"0.15\"\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8Z\"\n />\n <path\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2\"\n strokeLinecap=\"round\"\n />\n </svg>\n)\n\nconst spin = keyframes({\n '0%': { transform: 'rotate(0deg)' },\n '100%': { transform: 'rotate(360deg)' }\n})\n\nexport const Spinner = styled(Loading, {\n animation: `${spin} 2s linear infinite`,\n variants: {\n size: {\n sm: { width: '16px', height: '16px', strokeWidth: '1px' },\n md: { width: '24px', height: '24px', strokeWidth: '1.5px' },\n lg: { width: '32px', height: '32px', strokeWidth: '2px' }\n }\n }\n})\n\nexport const Pause: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M6.04995 2.74998C6.04995 2.44623 5.80371 2.19998 5.49995 2.19998C5.19619 2.19998 4.94995 2.44623 4.94995 2.74998V12.25C4.94995 12.5537 5.19619 12.8 5.49995 12.8C5.80371 12.8 6.04995 12.5537 6.04995 12.25V2.74998ZM10.05 2.74998C10.05 2.44623 9.80371 2.19998 9.49995 2.19998C9.19619 2.19998 8.94995 2.44623 8.94995 2.74998V12.25C8.94995 12.5537 9.19619 12.8 9.49995 12.8C9.80371 12.8 10.05 12.5537 10.05 12.25V2.74998Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </svg>\n)\n\nexport const Play: FC<SVGProps<SVGSVGElement>> = ({ ...props }) => {\n return (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.orkllg/2000/svg\"\n fill=\"currentColor\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.1869 3.71487C5.42703 3.57009 5.72543 3.56159 5.9734 3.69247L20.3734 11.2925C20.6358 11.431 20.8 11.7033 20.8 12C20.8 12.2967 20.6358 12.569 20.3734 12.7075L5.9734 20.3075C5.72543 20.4384 5.42703 20.4299 5.1869 20.2851C4.94679 20.1403 4.79999 19.8803 4.79999 19.6V4.39998C4.79999 4.11959 4.94679 3.85966 5.1869 3.71487Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n","import {\n FC,\n PropsWithChildren,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react'\n\ntype PlayerState = 'playing' | 'paused' | 'loading'\n\nconst urlHasExpired = (url?: string) => {\n if (!url) return false\n const query = url.split('?')[1]\n if (!query) return false\n const params = new URLSearchParams(query)\n const expires = params.get('Expires')\n if (!expires) return false\n return new Date(expires) < new Date()\n}\n\nconst removeQuery = (fullURL?: string) => fullURL && fullURL.split('?')[0]\n\nconst audioUrlsPointToSameFile = (url1?: string, url2?: string) => {\n return removeQuery(url1) === removeQuery(url2)\n}\n\nconst usePlayerProvider = () => {\n const [state, setState] = useState<PlayerState>('paused')\n const generateAudio = () => {\n if (typeof window === 'undefined') return null\n const audio = new Audio()\n audio.addEventListener('play', () => setState('playing'))\n return audio\n }\n const generatedAudio = useMemo(generateAudio, [])\n const audioRef = useRef<HTMLAudioElement>(generatedAudio)\n\n const setAudio = (src: string) =>\n new Promise<void>((resolve) => {\n const audio = audioRef?.current\n if (!audio) return\n audio.setAttribute('src', src)\n setState('loading')\n audio.addEventListener(\n 'loadedmetadata',\n () => {\n setState('paused')\n resolve()\n },\n { once: true }\n )\n })\n\n const play = () => {\n audioRef.current?.play()\n audioRef.current?.addEventListener('ended', () => setState('paused'), { once: true })\n }\n\n const pause = () => {\n audioRef.current?.pause()\n setState('paused')\n }\n\n const stop = () => {\n const audio = audioRef.current\n if (audio) {\n audioRef.current?.pause()\n audioRef.current.currentTime = 0\n }\n setState('paused')\n }\n\n return {\n audioRef,\n state,\n setAudio,\n play,\n pause,\n stop\n }\n}\n\nconst PlayerContext = createContext<ReturnType<typeof usePlayerProvider>>(\n null as any as ReturnType<typeof usePlayerProvider>\n)\n\nexport const usePlayer = (url: string) => {\n const data = useContext(PlayerContext)\n const isMySrc = audioUrlsPointToSameFile(data.audioRef.current?.src, url)\n const isLoading = data.state === 'loading' && isMySrc\n const isPlaying = data.state === 'playing' && isMySrc\n const play = async () => {\n const currentAudioSrc = data.audioRef.current?.src\n if (!isMySrc || urlHasExpired(currentAudioSrc)) {\n await data.setAudio(url)\n }\n data.play()\n }\n return { ...data, isMySrc, isLoading, isPlaying, play }\n}\n\nexport const usePlayerControls = () => useContext(PlayerContext)\n\nexport const PlayerProvider: FC<PropsWithChildren> = ({ children }) => {\n const value = usePlayerProvider()\n return <PlayerContext.Provider value={value}>{children}</PlayerContext.Provider>\n}\n\nexport const usePlayback = (url: string, onPlay?: () => void, onPause?: () => void) => {\n const player = usePlayer(url)\n const hasPlayed = useRef(false)\n\n const playPause = () => {\n // this is to prevent the soundwave from being fetched when the user clicks on the play button multiple times\n if (!hasPlayed.current) {\n hasPlayed.current = true\n }\n if (player.isPlaying) {\n player.pause()\n onPause?.()\n } else {\n player.play()\n onPlay?.()\n }\n }\n\n // pause the player when the component unmounts\n useEffect(() => {\n return () => {\n if (player.isPlaying) player.pause()\n }\n }, [])\n\n return { player, playPause }\n}\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport * as React from 'react'\n\ntype WhenProps = {\n children: React.ReactNode\n isTrue?: boolean\n limit?: number\n}\n\nconst RenderWhen = ({ limit, isTrue, children }: WhenProps) => {\n const list: React.ReactNode[] = []\n\n if (isTrue !== true) {\n return null\n }\n\n React.Children.map(children, (child: any) => {\n const { isTrue: isChildTrue } = child?.props || {}\n\n if (isChildTrue === true && (!limit || list.length < limit)) {\n list.push(child)\n }\n })\n\n return <>{list}</>\n}\n\nRenderWhen.defaultProps = {\n limit: 1,\n isTrue: true\n}\n\n// @ts-ignore\nRenderWhen.If = ({ children, isTrue }) => children\n\nconst Else = ({ children }: any) => children\n\nElse.defaultProps = {\n isTrue: true\n}\n\nRenderWhen.Else = Else\n\nexport { RenderWhen }\n","export const objectToFormData = (object: Record<string, any>) => {\n const isObject = (obj: Record<string, any>) =>\n typeof obj === 'object' && !(obj instanceof Date) && !(obj instanceof File) && obj !== null\n\n const appendObject = (parentKey: string, obj: Record<string, any>, formData: FormData) => {\n for (const key in obj) {\n const value = obj[key]\n\n if (isObject(value)) {\n appendObject(`${parentKey}[${key}]`, value, formData)\n } else if (value !== undefined) {\n formData.append(`${parentKey}[${key}]`, value === null ? '' : value)\n }\n }\n }\n\n const formData = new FormData()\n\n for (const key in object) {\n const value = object[key]\n\n if (value instanceof File) {\n formData.append(key, value, value.name)\n } else if (value !== undefined) {\n if (isObject(value)) {\n appendObject(key, value, formData)\n } else {\n formData.append(key, value === null ? '' : value)\n }\n }\n }\n\n return formData\n}\n","import { styled } from '@stitches/react'\n\nconst Root = styled('div', {\n '--progress': '-100%',\n height: '8px',\n width: '100%',\n background: 'rgba(255, 255, 255, 0.1)',\n borderRadius: '12px',\n position: 'relative',\n overflow: 'hidden'\n})\n\nconst Bar = styled('div', {\n height: '100%',\n width: '100%',\n background: '#ffffff',\n transition: 'transform 0.2s ease-in-out',\n transform: 'translateX(var(--progress))',\n borderRadius: '12px'\n})\n\nexport const Progress = {\n Root,\n Bar\n}\n","function _writeStringToArray(aString: string, targetArray: Uint8Array, offset: number): void {\n for (let i = 0; i < aString.length; ++i) {\n targetArray[offset + i] = aString.charCodeAt(i)\n }\n}\n\nfunction _writeInt16ToArray(aNumber: number, targetArray: Uint8Array, offset: number): void {\n aNumber = Math.floor(aNumber)\n targetArray[offset + 0] = aNumber & 255 // byte 1\n targetArray[offset + 1] = (aNumber >> 8) & 255 // byte 2\n}\n\nfunction _writeInt32ToArray(aNumber: number, targetArray: Uint8Array, offset: number): void {\n aNumber = Math.floor(aNumber)\n targetArray[offset + 0] = aNumber & 255 // byte 1\n targetArray[offset + 1] = (aNumber >> 8) & 255 // byte 2\n targetArray[offset + 2] = (aNumber >> 16) & 255 // byte 3\n targetArray[offset + 3] = (aNumber >> 24) & 255 // byte 4\n}\n\nfunction _floatBits(f: number): number {\n const buf = new ArrayBuffer(4)\n new Float32Array(buf)[0] = f\n const bits = new Uint32Array(buf)[0]\n return bits | 0 // Return as a signed integer.\n}\n\nfunction _writeAudioBufferToArray(\n audioBuffer: AudioBuffer,\n targetArray: Uint8Array,\n offset: number,\n bitDepth: number\n): void {\n let index = 0,\n channel = 0\n const length = audioBuffer.length\n const channels = audioBuffer.numberOfChannels\n let channelData: Float32Array, sample: number\n\n for (index = 0; index < length; ++index) {\n for (channel = 0; channel < channels; ++channel) {\n channelData = audioBuffer.getChannelData(channel)\n\n if (bitDepth === 16) {\n sample = channelData[index] * 32768.0\n sample = Math.max(-32768, Math.min(sample, 32767)) // Clamp sample between -32768 and 32767\n _writeInt16ToArray(sample, targetArray, offset)\n offset += 2\n } else if (bitDepth === 32) {\n sample = _floatBits(channelData[index])\n _writeInt32ToArray(sample, targetArray, offset)\n offset += 4\n } else {\n console.log('Invalid bit depth for PCM encoding.')\n return\n }\n }\n }\n}\n\nasync function _getAudioBuffer(\n blobData: Blob | BlobPart[],\n contextOptions?: AudioContextOptions\n): Promise<AudioBuffer> {\n let blob = blobData instanceof Blob ? blobData : new Blob(blobData)\n\n const url = URL.createObjectURL(blob)\n const response = await fetch(url)\n const arrayBuffer = await response.arrayBuffer()\n const audioContext = new AudioContext(contextOptions)\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer)\n\n return audioBuffer\n}\n\n/**\n * Converts an AudioBuffer to a WAV Blob\n * @param audioBuffer - AudioBuffer to be converted to WAV\n * @param as32BitFloat - Convert to 16-bit or 32-bit file, default is 16-bit\n * @returns A Promise resolving to a Blob of WAV data\n */\nexport async function getWaveBlobFromAudioBuffer(\n audioBuffer: AudioBuffer,\n as32BitFloat: boolean = false\n): Promise<Blob> {\n const frameLength = audioBuffer.length\n const numberOfChannels = audioBuffer.numberOfChannels\n const sampleRate = audioBuffer.sampleRate\n const bitsPerSample = as32BitFloat ? 32 : 16\n const bytesPerSample = bitsPerSample / 8\n const byteRate = (sampleRate * numberOfChannels * bitsPerSample) / 8\n const blockAlign = (numberOfChannels * bitsPerSample) / 8\n const wavDataByteLength = frameLength * numberOfChannels * bytesPerSample\n const headerByteLength = 44\n const totalLength = headerByteLength + wavDataByteLength\n const waveFileData = new Uint8Array(totalLength)\n const subChunk1Size = 16\n const subChunk2Size = wavDataByteLength\n const chunkSize = 4 + (8 + subChunk1Size) + (8 + subChunk2Size)\n\n _writeStringToArray('RIFF', waveFileData, 0)\n _writeInt32ToArray(chunkSize, waveFileData, 4)\n _writeStringToArray('WAVE', waveFileData, 8)\n _writeStringToArray('fmt ', waveFileData, 12)\n\n _writeInt32ToArray(subChunk1Size, waveFileData, 16) // SubChunk1Size (4)\n _writeInt16ToArray(as32BitFloat ? 3 : 1, waveFileData, 20) // AudioFormat (2)\n _writeInt16ToArray(numberOfChannels, waveFileData, 22) // NumChannels (2)\n _writeInt32ToArray(sampleRate, waveFileData, 24) // SampleRate (4)\n _writeInt32ToArray(byteRate, waveFileData, 28) // ByteRate (4)\n _writeInt16ToArray(blockAlign, waveFileData, 32) // BlockAlign (2)\n _writeInt32ToArray(bitsPerSample, waveFileData, 34) // BitsPerSample (4)\n _writeStringToArray('data', waveFileData, 36)\n _writeInt32ToArray(subChunk2Size, waveFileData, 40) // SubChunk2Size (4)\n\n _writeAudioBufferToArray(audioBuffer, waveFileData, 44, bitsPerSample)\n\n return new Blob([waveFileData], { type: 'audio/wave' })\n}\n\n/**\n * Converts Blob data to WAV format\n * @param blobData - Blob or Blob[] to be converted to audio/wave Blob\n * @param as32BitFloat - Convert to 16-bit or 32-bit file, default is 16-bit\n * @param contextOptions - Options to be used for encoding\n * @returns A Promise resolving to a Blob of WAV data\n */\nexport async function getWaveBlob(\n blobData: Blob | Blob[],\n as32BitFloat: boolean = false,\n contextOptions?: AudioContextOptions\n): Promise<Blob> {\n const audioBuffer = await _getAudioBuffer(blobData, contextOptions)\n return getWaveBlobFromAudioBuffer(audioBuffer, as32BitFloat)\n}\n\nconst BIT_RATE_KBPS = 128\n\n/**\n * Service for recording audio from the user's microphone.\n * Better memory management than third party libraries + better control over the recording process.\n */\nclass AudioRecorderService {\n private mediaRecorder: MediaRecorder | null = null\n private stream: MediaStream | null = null\n private __data: Blob | null = null\n\n /**\n * @returns {Promise<boolean>} - true if user has microphone access, false otherwise\n */\n public async checkMicrophonePermission() {\n const devices = await navigator?.mediaDevices?.enumerateDevices()\n const hasMic = !!devices.find((device) => device.kind === 'audioinput' && !!device.label)\n return hasMic\n }\n\n /**\n * @returns {boolean} - true if recording started successfully, false otherwise\n */\n public async startRecording() {\n if (this.mediaRecorder?.state === 'recording') return true\n\n try {\n this.stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false })\n\n this.mediaRecorder = new MediaRecorder(this.stream, {\n bitsPerSecond: BIT_RATE_KBPS * 1000\n })\n\n this.mediaRecorder.ondataavailable = (e) => (this.__data = e.data)\n } catch (err) {\n console.error(err)\n return false\n }\n\n this.mediaRecorder.start()\n return true\n }\n\n /**\n * @returns {Promise<boolean>} - true if recording is stopped, false otherwise\n */\n public stopRecording() {\n return new Promise((resolve) => {\n if (this.mediaRecorder?.state !== 'recording') {\n resolve(true)\n return\n }\n this.mediaRecorder.stop()\n this.mediaRecorder.onstop = () => {\n this.stream?.getTracks().forEach((track) => track.stop())\n this.mediaRecorder = null\n this.stream = null\n resolve(true)\n }\n })\n }\n\n /**\n *\n * @returns {Promise<Blob | null>} - Blob of the recorded audio\n */\n public async getWavBlob() {\n if (!this.__data) return null\n return await getWaveBlob(this.__data)\n }\n}\n\nconst instance = new AudioRecorderService()\n\nexport { instance as AudioRecorderService }\n","import React from 'react'\nimport { AudioRecorderService } from './AudioRecorderService'\n\nexport const RECORDED_AUDIO_NAME = 'Recording.wav'\nexport const MIN_RECORDING_LENGTH_MS = 1500\n\ninterface UseRecorderOptions {\n onFileUpdate: (file: File) => void\n}\n\nexport const useRecorder = (options: UseRecorderOptions) => {\n const [hasMicAccess, setHasMicAccess] = React.useState(false)\n const [isRecording, setIsRecording] = React.useState(false)\n const [hasMinTimeElapsed, setHasMinTimeElapsed] = React.useState(false)\n\n React.useEffect(() => {\n const onDeviceChange = async () => {\n // checking if user has microphone access\n AudioRecorderService.checkMicrophonePermission().then(setHasMicAccess)\n }\n\n onDeviceChange()\n navigator?.mediaDevices?.addEventListener('devicechange', onDeviceChange)\n return () => navigator?.mediaDevices?.removeEventListener('devicechange', onDeviceChange)\n }, [])\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = async () => {\n if (isRecording) {\n if (!hasMinTimeElapsed) {\n return\n }\n\n setIsRecording(false)\n setHasMinTimeElapsed(false)\n\n await AudioRecorderService.stopRecording()\n const blob = await AudioRecorderService.getWavBlob()\n if (!blob) {\n console.log('Failed to get audio blob', blob)\n return\n }\n\n const file = new File([blob], RECORDED_AUDIO_NAME, {\n type: 'audio/mpeg',\n lastModified: Date.now()\n })\n\n options.onFileUpdate(file)\n return\n }\n\n const hasStarted = await AudioRecorderService.startRecording()\n setIsRecording(hasStarted)\n\n // Mp3 encoding fails if the file is less than ~1.5 seconds long\n setTimeout(() => {\n setHasMinTimeElapsed(true)\n }, MIN_RECORDING_LENGTH_MS)\n }\n\n return { hasMicAccess, isRecording, hasMinTimeElapsed, handleClick }\n}\n","import { styled } from '@stitches/react'\nimport axios from 'axios'\nimport React from 'react'\nimport useSWR from 'swr'\nimport useSWRMutation from 'swr/mutation'\nimport { Pause, Play, Spinner } from '../icons'\nimport { PlayerProvider, usePlayback } from '../utils/PlayerProvider'\nimport { RenderWhen } from '../utils/RenderWhen'\nimport { objectToFormData } from '../utils/objectToFormData'\nimport { AudioFilePickerRoot } from './AudioFilePicker'\nimport { Progress } from './Progress'\nimport { RECORDED_AUDIO_NAME } from './useRecorder'\n\nconst API_URL = 'https://arpeggi.io/api/v2/'\n\nconst instance = axios.create({\n baseURL: API_URL\n})\n\nconst createMLIJ = async (_: string, { arg }: { arg: { file: File; voiceModelId: number } }) => {\n const resp = await instance.post(\n '/ml-inference-jobs',\n objectToFormData({\n soundFile: arg.file,\n type: 'audio',\n voiceModelId: arg.voiceModelId,\n metadata: {\n splitInstrumental: true,\n isRecordedAudio: arg.file.name === RECORDED_AUDIO_NAME\n }\n }),\n {\n params: {\n type: 'audio'\n }\n }\n )\n return resp.data\n}\n\nconst fetcher = async (path: string) => {\n if (path === null) return null\n const resp = await instance.get(path)\n return resp.data\n}\n\nconst useMLIJ = (id: number) => {\n const shouldFetch = id > 0\n return useSWR(shouldFetch ? `/ml-inference-jobs/${id}` : null, fetcher, {\n refreshInterval: 1000\n })\n}\n\nconst useGuestConvert = () => {\n const [file, setFile] = React.useState<File | null>(null)\n const [mlijId, setMlijId] = React.useState<number>(0)\n const [voiceModelId, setVoiceModelId] = React.useState<number>(0)\n const { data, isLoading } = useMLIJ(mlijId)\n\n const { trigger, isMutating } = useSWRMutation('/ml-inference-jobs', createMLIJ)\n\n const handleSelectVoice = async (voiceModelId: number) => {\n if (!file) return\n setMlijId(0)\n setVoiceModelId(voiceModelId)\n trigger(\n {\n file,\n voiceModelId\n },\n {\n onSuccess: (data) => {\n console.log('created mlij', data)\n setMlijId(data.id)\n }\n }\n )\n }\n\n const reset = () => {\n setFile(null)\n setMlijId(0)\n setVoiceModelId(0)\n }\n\n return {\n file,\n setFile,\n mlijId,\n setMlijId,\n voiceModelId,\n setVoiceModelId,\n data,\n isLoading,\n handleSelectVoice,\n reset,\n isMutating\n }\n}\n\nconst GuestConvertContext = React.createContext({} as ReturnType<typeof useGuestConvert>)\n\nexport const useGuestConvertContext = () => React.useContext(GuestConvertContext)\n\nexport const GuestConvertProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const data = useGuestConvert()\n return (\n <PlayerProvider>\n <GuestConvertContext.Provider value={data}>{children}</GuestConvertContext.Provider>\n </PlayerProvider>\n )\n}\n\nconst StyledButton = styled('button', {\n background: '#ffffff',\n borderRadius: '12px',\n width: '64px',\n height: '64px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n border: 'none',\n outline: 'none',\n transition: 'background 0.2s ease-in-out, transform 0.2s ease-in-out',\n color: '#000000',\n '& > svg': {\n width: '24px',\n height: '24px'\n },\n '&:hover': {\n background: '#ffffff99',\n transform: 'scale(1.05)'\n },\n '&:active': {\n background: '#ffffffcc'\n },\n '&:disabled': {\n background: 'rgba(255, 255, 255, 0.3)',\n transform: 'none',\n cursor: 'not-allowed'\n }\n})\n\nexport const PlayButton = () => {\n const { data, isMutating } = useGuestConvertContext()\n const url = data?.lossyOutputFile?.url\n const { player, playPause } = usePlayback(url)\n return (\n <StyledButton onClick={playPause} disabled={player.isLoading || !url}>\n <RenderWhen>\n <RenderWhen.If isTrue={player.isLoading || data?.jobStatus === 'running' || isMutating}>\n <Spinner />\n </RenderWhen.If>\n <RenderWhen.If isTrue={player.isPlaying}>\n <Pause />\n </RenderWhen.If>\n <RenderWhen.Else>\n <Play />\n </RenderWhen.Else>\n </RenderWhen>\n </StyledButton>\n )\n}\n\nconst MAX_DURATION_S = 30\n\nexport const useFakeProgress = (step: number) => {\n const intervalRef = React.useRef<number>()\n const elementRef = React.useRef<HTMLDivElement>(null)\n React.useEffect(() => {\n let currentProgress = 0\n intervalRef.current = setInterval(() => {\n currentProgress += step\n let progress = Math.round((Math.atan(currentProgress) / (Math.PI / 2)) * 100 * 1000) / 1000\n elementRef.current?.style.setProperty('--progress', `${-100 + progress}%`)\n }, 50)\n return () => clearInterval(intervalRef.current)\n }, [])\n return elementRef\n}\n\nconst FakeProgress = () => {\n const elementRef = useFakeProgress(0.3)\n return (\n <Progress.Root ref={elementRef}>\n <Progress.Bar />\n </Progress.Root>\n )\n}\n\nexport const InferenceProgress = () => {\n const { data } = useGuestConvertContext()\n return <FakeProgress key={data?.id} />\n}\n\nconst maxFileCount = 1\nconst maxSizeBytes = 100 * 1024 * 1024\nconst minSizeBytes = 1\n\nexport const FilePicker: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { setFile } = useGuestConvertContext()\n const onFileAccepted = (files: File[]) => setFile(files[0])\n return (\n <AudioFilePickerRoot\n files={[]}\n onFileAccepted={onFileAccepted}\n maxFileCount={maxFileCount}\n maxSizeBytes={maxSizeBytes}\n minSizeBytes={minSizeBytes}\n maxDurationS={MAX_DURATION_S}\n >\n {children}\n </AudioFilePickerRoot>\n )\n}\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","context","provider","outerName","lazyComponent","payload","init","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","source","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","s","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","value","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","key","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","jsxRuntimeModule","require$$1","t","r","o","u","S","y","B","$","R","z","I","W","j","E","v","T","w","M","C","P","L","A","O","N","D","H","V","G","F","J","U","X","Y","Z","K","ee","re","Box","styled","toHex_1","hex","num","toHex","fromHex","exports","createMatch","leaf","isMatchingNode","tree","path","head","arr","tail","merge","currentByte","currentTree","matchingNode","createNode","typename","bytes","createComplexNode","obj","currentKey","patternTree","tree_1","add","signature","additionalInfo","offset","existing","merged","__importDefault","this","mod","pattern_tree_1","filetypeinfo","guessed","walkTree","index","guessFile","filetypename","filetypemime","filetypeextension","reactIs_production_min","hasSymbol","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","typeOf","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","reactIs_development","reactIsModule","getOwnPropertySymbols","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","order2","test3","letter","objectAssign","target","from","to","symbols","ReactPropTypesSecret","ReactPropTypesSecret_1","text","message","getStack","checkPropTypes_1","ReactIs","require$$2","require$$3","require$$4","emptyFunctionThatReturnsNull","factoryWithTypeCheckers","throwOnDirectAccess","ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","createPrimitiveTypeChecker","createAnyTypeChecker","createArrayOfTypeChecker","createElementTypeChecker","createElementTypeTypeChecker","createInstanceTypeChecker","createNodeChecker","createObjectOfTypeChecker","createEnumTypeChecker","createUnionTypeChecker","createShapeTypeChecker","createStrictShapeTypeChecker","is","PropTypeError","data","createChainableTypeChecker","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","propFullName","secret","cacheKey","chainedCheckType","expectedType","propValue","propType","getPropType","preciseType","getPreciseType","typeChecker","expectedClass","expectedClassName","actualClassName","getClassName","expectedValues","valuesString","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedTypesMessage","isNode","invalidValidatorError","shapeTypes","allKeys","entry","isSymbol","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","getShim","propTypesModule","__awaiter","thisArg","_arguments","generator","adopt","resolve","reject","fulfilled","rejected","result","COMMON_MIME_TYPES","toFileWithPath","file","withMimeType","webkitRelativePath","setObjProp","ext","FILES_TO_IGNORE","fromEvent","evt","isObject","isDataTransfer","getDataTransferFiles","isChangeEvt","getInputFiles","getFsHandleFiles","fromList","handles","dt","items","files","toFilePromises","noIgnoredFiles","flatten","fromDataTransferItem","fromDirEntry","acc","_a","fromEntry","fromFileEntry","reader","entries","readEntries","batch","fwp","es","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","_arrayLikeToArray","ownKeys","enumerableOnly","sym","_objectSpread","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","len","arr2","_i","_arr","_n","_d","_s","_e","accepts","_accepts","FILE_INVALID_TYPE","FILE_TOO_LARGE","FILE_TOO_SMALL","TOO_MANY_FILES","getInvalidTypeRejectionErr","accept","acceptArr","msg","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","fileMatchSize","isDefined","allFilesAccepted","_ref","multiple","maxFiles","validator","_fileAccepted","_fileAccepted2","accepted","_fileMatchSize","_fileMatchSize2","sizeMatch","customErrors","isPropagationStopped","event","isEvtWithFiles","onDocumentDragOver","isIe","userAgent","isEdge","isIeOrEdge","composeEventHandlers","_len","fns","_key","canUseFileSystemAccessAPI","pickerOptionsFromAccept","acceptForPicker","_ref2","_ref3","ok","isMIMEType","isExt","agg","_ref4","_ref5","acceptPropAsAcceptAttr","_ref6","_ref7","isAbort","isSecurityError","_excluded","_excluded2","_excluded3","_excluded4","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","sourceKeys","Dropzone","forwardRef","params","_useDropzone","useDropzone","open","useImperativeHandle","PropTypes","initialState","_defaultProps$props","disabled","getFilesFromEvent","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","onFileDialogCancel","onFileDialogOpen","useFsAccessApi","autoFocus","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","onError","acceptAttr","useMemo","pickerTypes","onFileDialogOpenCb","noop","onFileDialogCancelCb","rootRef","useRef","inputRef","_useReducer","useReducer","reducer","_useReducer2","state","dispatch","isFocused","isFileDialogActive","fsAccessApiWorksRef","onWindowFocus","useEffect","dragTargetsRef","onDocumentDrop","onErrCb","useCallback","onDragEnterCb","stopPropagation","fileCount","isDragAccept","isDragReject","onDragOverCb","hasFiles","onDragLeaveCb","targets","targetIdx","setFiles","fileRejections","acceptError","sizeError","errors","onDropCb","openFileDialog","opts","onKeyDownCb","onFocusCb","onBlurCb","onClickCb","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref2$refKey","refKey","role","onKeyDown","onFocus","onBlur","onClick","rest","onInputElementClick","getInputProps","_ref3$refKey","onChange","inputProps","action","INFERENCE_FILE_TYPES","TIMEOUT_MS","PREFIX","getDurationSeconds","throwError","objectUrl","audio","cleanup","timeout","duration","resolveDuplicates","map","getFileType","fileReader","fileType","getFileWithDuration","fileWithDuration","mimetypeToExtension","mimeTypes","processedKey","setAudioFileNameFromMagicNumber","magicNumber","currentExtension","trueMimeType","trueExtension","newFileName","MaxFileSizeError","MinFileSizeError","MaxDurationError","InvalidFileTypeError","useAudioFilePickerErrors","useAudioFilepickerDropzone","handleDurationError","handleMaxSizeError","handleMinSizeError","handleUnknownError","handleInvalidTypeError","setError","useState","newFiles","validDurationFiles","oldValues","resolved","sliced","AudioFilePickerContext","useAudioFilePickerContext","StyledRoot","AudioFilePickerRoot","dropzoneContext","onFileAccepted","onDelete","maxFileCount","maxSizeBytes","minSizeBytes","maxDurationS","Root","StyledHeader","StyledContent","StyledFooter","Card","ConvertStep","bind","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isBoolean","isPlainObject","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","allOwnKeys","findKey","_global","isContextDefined","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","endsWith","searchString","position","lastIndex","toArray","isTypedArray","TypedArray","forEachEntry","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducedDescriptors","descriptor","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","defaultValue","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","token","callbacks","cb","asap","utils$1","AxiosError","code","request","response","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","id","transitionalDefaults","platform$1","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","normalized","asStrings","first","computed","accessors","defineAccessor","mapped","headerValue","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","min","timestamps","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","timeoutErrorMessage","cancel","protocol","composeSignals","signals","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","pos","end","readBytes","iterable","readStream","stream","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","test","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","res","_","getBodyLength","body","resolveBodyLength","knownAdapters","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validators$1","version","formatMessage","opt","desc","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","callback","isAxiosError","HttpStatusCode","createInstance","defaultConfig","instance","axios","promises","useSyncExternalStoreShim_production_min","objectIs","useLayoutEffect","useDebugValue","didWarnOld18Alpha","didWarnUncachedGetSnapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","cachedValue","_useState","inst","forceUpdate","checkIfSnapshotChanged","handleStoreChange","latestGetSnapshot","prevValue","nextValue","useSyncExternalStore$1","canUseDOM","isServerEnvironment","useSyncExternalStore$2","useSyncExternalStoreShim_development","shimModule","UNDEFINED","OBJECT","mergeObjects","isPromiseLike","table","counter","stableHash","arg","SWRGlobalState","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","hasRequestAnimationFrame","createCacheHelper","prev","online","isOnline","onWindowEvent","offWindowEvent","isVisible","visibilityState","initFocus","initReconnect","onOnline","onOffline","preset","defaultConfigOptions","IS_REACT_LEGACY","IS_SERVER","rAF","useIsomorphicLayoutEffect","navigatorConnection","slowConnection","serialize","__timestamp","getTimestamp","FOCUS_EVENT","RECONNECT_EVENT","MUTATE_EVENT","events","internalMutate","_data","_opts","populateCache","rollbackOnErrorOption","optimisticData","rollbackOnError","throwOnError","keyFilter","matchedKeys","it","mutateByKey","_k","get","set","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","startRevalidate","revalidators","beforeMutationTs","hasOptimisticData","displayedData","currentData","committedData","populateCachedData","revalidateAllKeys","initCache","mutate","unmount","subscriptions","subs","setter","initProvider","releaseFocus","releaseReconnect","onErrorRetry","__","revalidate","maxRetryCount","currentRetryCount","compare","newData","mergeConfigs","u1","f1","u2","f2","SWRConfigContext","createContext","INFINITE_PREFIX","enableDevtools","use","setupDevTools","normalize","useSWRConfig","useContext","middleware","useSWRNext","key_","fetcher_","req","BUILT_IN_MIDDLEWARE","withArgs","hook","fallbackConfig","next","subscribeCallback","keyedRevalidators","withMiddleware","useSWR","uses","ReactExports","WITH_DEDUPE","fetcher","suspense","fallbackData","revalidateOnMount","revalidateIfStale","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","initialMountedRef","unmountedRef","keyRef","fetcherRef","configRef","getConfig","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","fallback","isEqual","current","returnedData","shouldStartRequest","getSelectedCache","snapshot","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","isValidating","isLoading","revalidateOpts","currentFetcher","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","mutationInfo","cacheData","currentConfig","shouldRetryOnError","revalidateEvents","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","interval","execute","startTransition","useStateWithDeps","rerender","stateRef","stateDependenciesRef","setState","shouldRerender","currentState","useSWRMutation","ditchMutationsUntilRef","trigger","serializedKey","resolvedKey","mutationStartedAt","reset","Loading","spin","keyframes","Spinner","Pause","Play","urlHasExpired","query","removeQuery","fullURL","audioUrlsPointToSameFile","url1","url2","usePlayerProvider","generateAudio","generatedAudio","audioRef","src","_b","PlayerContext","usePlayer","isMySrc","isPlaying","currentAudioSrc","usePlayerControls","PlayerProvider","usePlayback","onPlay","onPause","player","hasPlayed","playPause","RenderWhen","limit","isTrue","list","isChildTrue","Else","objectToFormData","appendObject","parentKey","Bar","Progress","_writeStringToArray","aString","targetArray","_writeInt16ToArray","aNumber","_writeInt32ToArray","_floatBits","buf","_writeAudioBufferToArray","audioBuffer","bitDepth","channel","channels","channelData","_getAudioBuffer","blobData","contextOptions","blob","arrayBuffer","getWaveBlobFromAudioBuffer","as32BitFloat","frameLength","numberOfChannels","sampleRate","bitsPerSample","bytesPerSample","byteRate","blockAlign","wavDataByteLength","totalLength","waveFileData","subChunk1Size","subChunk2Size","getWaveBlob","BIT_RATE_KBPS","AudioRecorderService","__publicField","device","track","RECORDED_AUDIO_NAME","MIN_RECORDING_LENGTH_MS","useRecorder","hasMicAccess","setHasMicAccess","isRecording","setIsRecording","hasMinTimeElapsed","setHasMinTimeElapsed","onDeviceChange","hasStarted","createMLIJ","useMLIJ","shouldFetch","useGuestConvert","setFile","mlijId","setMlijId","voiceModelId","setVoiceModelId","isMutating","GuestConvertContext","useGuestConvertContext","GuestConvertProvider","StyledButton","PlayButton","MAX_DURATION_S","useFakeProgress","intervalRef","elementRef","currentProgress","progress","FakeProgress","InferenceProgress","FilePicker"],"mappings":"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,CAAC,EAC5CA,EAAI,OAAQ,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC5CA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC3CA,EAAI,OAAQ,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC5CA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC3CA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC3CA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,O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M,CAAC,EAC7BA,EAAI,QAAS,CAAC,OAAQ,MAAM,CAAC,EAC7BA,EAAI,QAAS,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC7CA,EAAI,KAAM,CAAC,OAAQ,OAAQ,OAAQ,MAAM,EAAG,CACxC,KAAM,yBACN,UAAW,KACf,CAAC,EACDA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,EAAG,CACzC,KAAM,kBACN,UAAW,KACf,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,kBAAmB,CACnB,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,EAAG,CACzC,KAAM,kBACN,UAAW,KACf,CAAC,EACDA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,EAAG,CACzC,KAAM,0BACN,UAAW,KACf,CAAC,EACDA,EAAI,OAAQ,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC5EA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACH,EAAE,CAAE,KAAM,cAAe,UAAW,KAAK,CAAE,EAC5CA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACH,EAAE,CAAE,KAAM,kBAAmB,UAAW,KAAK,CAAE,EAChDA,EAAI,MAAO,CAAC,OAAQ,MAAM,EAAG,CAAE,KAAM,aAAc,UAAW,MAAO,EACrEA,EAAI,MAAO,CAAC,OAAQ,MAAM,EAAG,CAAE,KAAM,aAAc,UAAW,MAAO,EACrEA,EAAI,MAAO,CAAC,OAAQ,MAAM,EAAG,C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","x_google_ignoreList":[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]}
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../../../node_modules/lodash.debounce/index.js","../../../node_modules/usehooks-ts/dist/index.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/@stitches/react/dist/index.mjs","../lib/utils/Box.tsx","../../../node_modules/magic-bytes.js/dist/model/toHex.js","../../../node_modules/magic-bytes.js/dist/model/tree.js","../../../node_modules/magic-bytes.js/dist/model/pattern-tree.js","../../../node_modules/magic-bytes.js/dist/index.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/node_modules/react-is/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/file-selector/dist/es2015/file.js","../node_modules/file-selector/dist/es2015/file-selector.js","../node_modules/attr-accept/dist/es/index.js","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","../lib/GuestConvert/useAudioFilepickerDropzone.tsx","../lib/GuestConvert/AudioFilePicker.tsx","../lib/GuestConvert/ConvertStep.tsx","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/use-sync-external-store/shim/index.js","../../../node_modules/swr/dist/_internal/index.mjs","../../../node_modules/swr/dist/core/index.mjs","../../../node_modules/swr/dist/mutation/index.mjs","../lib/icons.tsx","../lib/utils/PlayerProvider.tsx","../lib/utils/RenderWhen.tsx","../lib/utils/objectToFormData.ts","../lib/GuestConvert/Progress.tsx","../lib/GuestConvert/AudioRecorderService.ts","../lib/GuestConvert/useRecorder.tsx","../lib/GuestConvert/GuestConvert.tsx"],"sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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 objectToString = objectProto.toString;\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 * 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\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 result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\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 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\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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) && objectToString.call(value) == symbolTag);\n}\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 = value.replace(reTrim, '');\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 = debounce;\n","import { useState, useCallback, useLayoutEffect, useEffect, useRef, useMemo } from 'react';\nimport debounce from 'lodash.debounce';\n\n// src/useBoolean/useBoolean.ts\nfunction useBoolean(defaultValue = false) {\n if (typeof defaultValue !== \"boolean\") {\n throw new Error(\"defaultValue must be `true` or `false`\");\n }\n const [value, setValue] = useState(defaultValue);\n const setTrue = useCallback(() => {\n setValue(true);\n }, []);\n const setFalse = useCallback(() => {\n setValue(false);\n }, []);\n const toggle = useCallback(() => {\n setValue((x) => !x);\n }, []);\n return { value, setValue, setTrue, setFalse, toggle };\n}\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/useEventListener/useEventListener.ts\nfunction useEventListener(eventName, handler, element, options) {\n const savedHandler = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n useEffect(() => {\n const targetElement = (element == null ? void 0 : element.current) ?? window;\n if (!(targetElement && targetElement.addEventListener))\n return;\n const listener = (event) => {\n savedHandler.current(event);\n };\n targetElement.addEventListener(eventName, listener, options);\n return () => {\n targetElement.removeEventListener(eventName, listener, options);\n };\n }, [eventName, element, options]);\n}\n\n// src/useClickAnyWhere/useClickAnyWhere.ts\nfunction useClickAnyWhere(handler) {\n useEventListener(\"click\", (event) => {\n handler(event);\n });\n}\nfunction useCopyToClipboard() {\n const [copiedText, setCopiedText] = useState(null);\n const copy = useCallback(async (text) => {\n if (!(navigator == null ? void 0 : navigator.clipboard)) {\n console.warn(\"Clipboard not supported\");\n return false;\n }\n try {\n await navigator.clipboard.writeText(text);\n setCopiedText(text);\n return true;\n } catch (error) {\n console.warn(\"Copy failed\", error);\n setCopiedText(null);\n return false;\n }\n }, []);\n return [copiedText, copy];\n}\nfunction useCounter(initialValue) {\n const [count, setCount] = useState(initialValue ?? 0);\n const increment = useCallback(() => {\n setCount((x) => x + 1);\n }, []);\n const decrement = useCallback(() => {\n setCount((x) => x - 1);\n }, []);\n const reset = useCallback(() => {\n setCount(initialValue ?? 0);\n }, [initialValue]);\n return {\n count,\n increment,\n decrement,\n reset,\n setCount\n };\n}\nfunction useInterval(callback, delay) {\n const savedCallback = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n useEffect(() => {\n if (delay === null) {\n return;\n }\n const id = setInterval(() => {\n savedCallback.current();\n }, delay);\n return () => {\n clearInterval(id);\n };\n }, [delay]);\n}\n\n// src/useCountdown/useCountdown.ts\nfunction useCountdown({\n countStart,\n countStop = 0,\n intervalMs = 1e3,\n isIncrement = false\n}) {\n const {\n count,\n increment,\n decrement,\n reset: resetCounter\n } = useCounter(countStart);\n const {\n value: isCountdownRunning,\n setTrue: startCountdown,\n setFalse: stopCountdown\n } = useBoolean(false);\n const resetCountdown = useCallback(() => {\n stopCountdown();\n resetCounter();\n }, [stopCountdown, resetCounter]);\n const countdownCallback = useCallback(() => {\n if (count === countStop) {\n stopCountdown();\n return;\n }\n if (isIncrement) {\n increment();\n } else {\n decrement();\n }\n }, [count, countStop, decrement, increment, isIncrement, stopCountdown]);\n useInterval(countdownCallback, isCountdownRunning ? intervalMs : null);\n return [count, { startCountdown, stopCountdown, resetCountdown }];\n}\nfunction useEventCallback(fn) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n }, [fn]);\n return useCallback((...args) => {\n var _a;\n return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n }, [ref]);\n}\n\n// src/useLocalStorage/useLocalStorage.ts\nvar IS_SERVER = typeof window === \"undefined\";\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { initializeWithValue = true } = options;\n const serializer = useCallback(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return defaultValue;\n }\n return parsed;\n },\n [options, initialValue]\n );\n const readValue = useCallback(() => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n if (IS_SERVER) {\n return initialValueToUse;\n }\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n } catch (error) {\n console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n return initialValueToUse;\n }\n }, [initialValue, key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n const setValue = useEventCallback((value) => {\n if (IS_SERVER) {\n console.warn(\n `Tried setting localStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n try {\n const newValue = value instanceof Function ? value(readValue()) : value;\n window.localStorage.setItem(key, serializer(newValue));\n setStoredValue(newValue);\n window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n } catch (error) {\n console.warn(`Error setting localStorage key \\u201C${key}\\u201D:`, error);\n }\n });\n const removeValue = useEventCallback(() => {\n if (IS_SERVER) {\n console.warn(\n `Tried removing localStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n window.localStorage.removeItem(key);\n setStoredValue(defaultValue);\n window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"local-storage\", handleStorageChange);\n return [storedValue, setValue, removeValue];\n}\nvar IS_SERVER2 = typeof window === \"undefined\";\nfunction useMediaQuery(query, {\n defaultValue = false,\n initializeWithValue = true\n} = {}) {\n const getMatches = (query2) => {\n if (IS_SERVER2) {\n return defaultValue;\n }\n return window.matchMedia(query2).matches;\n };\n const [matches, setMatches] = useState(() => {\n if (initializeWithValue) {\n return getMatches(query);\n }\n return defaultValue;\n });\n function handleChange() {\n setMatches(getMatches(query));\n }\n useIsomorphicLayoutEffect(() => {\n const matchMedia = window.matchMedia(query);\n handleChange();\n if (matchMedia.addListener) {\n matchMedia.addListener(handleChange);\n } else {\n matchMedia.addEventListener(\"change\", handleChange);\n }\n return () => {\n if (matchMedia.removeListener) {\n matchMedia.removeListener(handleChange);\n } else {\n matchMedia.removeEventListener(\"change\", handleChange);\n }\n };\n }, [query]);\n return matches;\n}\n\n// src/useDarkMode/useDarkMode.ts\nvar COLOR_SCHEME_QUERY = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY = \"usehooks-ts-dark-mode\";\nfunction useDarkMode(options = {}) {\n const {\n defaultValue,\n localStorageKey = LOCAL_STORAGE_KEY,\n initializeWithValue = true\n } = options;\n const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY, {\n initializeWithValue,\n defaultValue\n });\n const [isDarkMode, setDarkMode] = useLocalStorage(\n localStorageKey,\n defaultValue ?? isDarkOS ?? false,\n { initializeWithValue }\n );\n useIsomorphicLayoutEffect(() => {\n if (isDarkOS !== isDarkMode) {\n setDarkMode(isDarkOS);\n }\n }, [isDarkOS]);\n return {\n isDarkMode,\n toggle: () => {\n setDarkMode((prev) => !prev);\n },\n enable: () => {\n setDarkMode(true);\n },\n disable: () => {\n setDarkMode(false);\n },\n set: (value) => {\n setDarkMode(value);\n }\n };\n}\nfunction useUnmount(func) {\n const funcRef = useRef(func);\n funcRef.current = func;\n useEffect(\n () => () => {\n funcRef.current();\n },\n []\n );\n}\n\n// src/useDebounceCallback/useDebounceCallback.ts\nfunction useDebounceCallback(func, delay = 500, options) {\n const debouncedFunc = useRef();\n useUnmount(() => {\n if (debouncedFunc.current) {\n debouncedFunc.current.cancel();\n }\n });\n const debounced = useMemo(() => {\n const debouncedFuncInstance = debounce(func, delay, options);\n const wrappedFunc = (...args) => {\n return debouncedFuncInstance(...args);\n };\n wrappedFunc.cancel = () => {\n debouncedFuncInstance.cancel();\n };\n wrappedFunc.isPending = () => {\n return !!debouncedFunc.current;\n };\n wrappedFunc.flush = () => {\n return debouncedFuncInstance.flush();\n };\n return wrappedFunc;\n }, [func, delay, options]);\n useEffect(() => {\n debouncedFunc.current = debounce(func, delay, options);\n }, [func, delay, options]);\n return debounced;\n}\nfunction useDebounceValue(initialValue, delay, options) {\n const eq = (options == null ? void 0 : options.equalityFn) ?? ((left, right) => left === right);\n const unwrappedInitialValue = initialValue instanceof Function ? initialValue() : initialValue;\n const [debouncedValue, setDebouncedValue] = useState(unwrappedInitialValue);\n const previousValueRef = useRef(unwrappedInitialValue);\n const updateDebouncedValue = useDebounceCallback(\n setDebouncedValue,\n delay,\n options\n );\n if (!eq(previousValueRef.current, unwrappedInitialValue)) {\n updateDebouncedValue(unwrappedInitialValue);\n previousValueRef.current = unwrappedInitialValue;\n }\n return [debouncedValue, updateDebouncedValue];\n}\nfunction useDocumentTitle(title, options = {}) {\n const { preserveTitleOnUnmount = true } = options;\n const defaultTitle = useRef(null);\n useIsomorphicLayoutEffect(() => {\n defaultTitle.current = window.document.title;\n }, []);\n useIsomorphicLayoutEffect(() => {\n window.document.title = title;\n }, [title]);\n useUnmount(() => {\n if (!preserveTitleOnUnmount && defaultTitle.current) {\n window.document.title = defaultTitle.current;\n }\n });\n}\nfunction useHover(elementRef) {\n const [value, setValue] = useState(false);\n const handleMouseEnter = () => {\n setValue(true);\n };\n const handleMouseLeave = () => {\n setValue(false);\n };\n useEventListener(\"mouseenter\", handleMouseEnter, elementRef);\n useEventListener(\"mouseleave\", handleMouseLeave, elementRef);\n return value;\n}\nfunction useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = useState(null);\n const [state, setState] = useState(() => ({\n isIntersecting: initialIsIntersecting,\n entry: void 0\n }));\n const callbackRef = useRef();\n callbackRef.current = onChange;\n const frozen = ((_a = state.entry) == null ? void 0 : _a.isIntersecting) && freezeOnceVisible;\n useEffect(() => {\n if (!ref)\n return;\n if (!(\"IntersectionObserver\" in window))\n return;\n if (frozen)\n return;\n let unobserve;\n const observer = new IntersectionObserver(\n (entries) => {\n const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];\n entries.forEach((entry) => {\n const isIntersecting = entry.isIntersecting && thresholds.some((threshold2) => entry.intersectionRatio >= threshold2);\n setState({ isIntersecting, entry });\n if (callbackRef.current) {\n callbackRef.current(isIntersecting, entry);\n }\n if (isIntersecting && freezeOnceVisible && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n });\n },\n { threshold, root, rootMargin }\n );\n observer.observe(ref);\n return () => {\n observer.disconnect();\n };\n }, [\n ref,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold),\n root,\n rootMargin,\n frozen,\n freezeOnceVisible\n ]);\n const prevRef = useRef(null);\n useEffect(() => {\n var _a2;\n if (!ref && ((_a2 = state.entry) == null ? void 0 : _a2.target) && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {\n prevRef.current = state.entry.target;\n setState({ isIntersecting: initialIsIntersecting, entry: void 0 });\n }\n }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);\n const result = [\n setRef,\n !!state.isIntersecting,\n state.entry\n ];\n result.ref = result[0];\n result.isIntersecting = result[1];\n result.entry = result[2];\n return result;\n}\nfunction useIsClient() {\n const [isClient, setClient] = useState(false);\n useEffect(() => {\n setClient(true);\n }, []);\n return isClient;\n}\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return useCallback(() => isMounted.current, []);\n}\nfunction useMap(initialState = /* @__PURE__ */ new Map()) {\n const [map, setMap] = useState(new Map(initialState));\n const actions = {\n set: useCallback((key, value) => {\n setMap((prev) => {\n const copy = new Map(prev);\n copy.set(key, value);\n return copy;\n });\n }, []),\n setAll: useCallback((entries) => {\n setMap(() => new Map(entries));\n }, []),\n remove: useCallback((key) => {\n setMap((prev) => {\n const copy = new Map(prev);\n copy.delete(key);\n return copy;\n });\n }, []),\n reset: useCallback(() => {\n setMap(() => /* @__PURE__ */ new Map());\n }, [])\n };\n return [map, actions];\n}\n\n// src/useOnClickOutside/useOnClickOutside.ts\nfunction useOnClickOutside(ref, handler, eventType = \"mousedown\", eventListenerOptions = {}) {\n useEventListener(\n eventType,\n (event) => {\n const target = event.target;\n if (!target || !target.isConnected) {\n return;\n }\n const isOutside = Array.isArray(ref) ? ref.filter((r) => Boolean(r.current)).every((r) => r.current && !r.current.contains(target)) : ref.current && !ref.current.contains(target);\n if (isOutside) {\n handler(event);\n }\n },\n void 0,\n eventListenerOptions\n );\n}\nvar IS_SERVER3 = typeof window === \"undefined\";\nfunction useReadLocalStorage(key, options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER3) {\n initializeWithValue = false;\n }\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return null;\n }\n return parsed;\n },\n [options]\n );\n const readValue = useCallback(() => {\n if (IS_SERVER3) {\n return null;\n }\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? deserializer(raw) : null;\n } catch (error) {\n console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n return null;\n }\n }, [key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return void 0;\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"local-storage\", handleStorageChange);\n return storedValue;\n}\nvar initialSize = {\n width: void 0,\n height: void 0\n};\nfunction useResizeObserver(options) {\n const { ref, box = \"content-box\" } = options;\n const [{ width, height }, setSize] = useState(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef({ ...initialSize });\n const onResize = useRef(void 0);\n onResize.current = options.onResize;\n useEffect(() => {\n if (!ref.current)\n return;\n if (typeof window === \"undefined\" || !(\"ResizeObserver\" in window))\n return;\n const observer = new ResizeObserver(([entry]) => {\n const boxProp = box === \"border-box\" ? \"borderBoxSize\" : box === \"device-pixel-content-box\" ? \"devicePixelContentBoxSize\" : \"contentBoxSize\";\n const newWidth = extractSize(entry, boxProp, \"inlineSize\");\n const newHeight = extractSize(entry, boxProp, \"blockSize\");\n const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n if (hasChanged) {\n const newSize = { width: newWidth, height: newHeight };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n if (onResize.current) {\n onResize.current(newSize);\n } else {\n if (isMounted()) {\n setSize(newSize);\n }\n }\n }\n });\n observer.observe(ref.current, { box });\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted]);\n return { width, height };\n}\nfunction extractSize(entry, box, sizeType) {\n if (!entry[box]) {\n if (box === \"contentBoxSize\") {\n return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n }\n return void 0;\n }\n return Array.isArray(entry[box]) ? entry[box][0][sizeType] : (\n // @ts-ignore Support Firefox's non-standard behavior\n entry[box][sizeType]\n );\n}\nvar IS_SERVER4 = typeof window === \"undefined\";\nfunction useScreen(options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER4) {\n initializeWithValue = false;\n }\n const readScreen = () => {\n if (IS_SERVER4) {\n return void 0;\n }\n return window.screen;\n };\n const [screen, setScreen] = useState(() => {\n if (initializeWithValue) {\n return readScreen();\n }\n return void 0;\n });\n const debouncedSetScreen = useDebounceCallback(\n setScreen,\n options.debounceDelay\n );\n function handleSize() {\n const newScreen = readScreen();\n const setSize = options.debounceDelay ? debouncedSetScreen : setScreen;\n if (newScreen) {\n const {\n width,\n height,\n availHeight,\n availWidth,\n colorDepth,\n orientation,\n pixelDepth\n } = newScreen;\n setSize({\n width,\n height,\n availHeight,\n availWidth,\n colorDepth,\n orientation,\n pixelDepth\n });\n }\n }\n useEventListener(\"resize\", handleSize);\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n return screen;\n}\nvar cachedScriptStatuses = /* @__PURE__ */ new Map();\nfunction getScriptNode(src) {\n const node = document.querySelector(\n `script[src=\"${src}\"]`\n );\n const status = node == null ? void 0 : node.getAttribute(\"data-status\");\n return {\n node,\n status\n };\n}\nfunction useScript(src, options) {\n const [status, setStatus] = useState(() => {\n if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n return \"idle\";\n }\n if (typeof window === \"undefined\") {\n return \"loading\";\n }\n return cachedScriptStatuses.get(src) ?? \"loading\";\n });\n useEffect(() => {\n if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n return;\n }\n const cachedScriptStatus = cachedScriptStatuses.get(src);\n if (cachedScriptStatus === \"ready\" || cachedScriptStatus === \"error\") {\n setStatus(cachedScriptStatus);\n return;\n }\n const script = getScriptNode(src);\n let scriptNode = script.node;\n if (!scriptNode) {\n scriptNode = document.createElement(\"script\");\n scriptNode.src = src;\n scriptNode.async = true;\n if (options == null ? void 0 : options.id) {\n scriptNode.id = options.id;\n }\n scriptNode.setAttribute(\"data-status\", \"loading\");\n document.body.appendChild(scriptNode);\n const setAttributeFromEvent = (event) => {\n const scriptStatus = event.type === \"load\" ? \"ready\" : \"error\";\n scriptNode == null ? void 0 : scriptNode.setAttribute(\"data-status\", scriptStatus);\n };\n scriptNode.addEventListener(\"load\", setAttributeFromEvent);\n scriptNode.addEventListener(\"error\", setAttributeFromEvent);\n } else {\n setStatus(script.status ?? cachedScriptStatus ?? \"loading\");\n }\n const setStateFromEvent = (event) => {\n const newStatus = event.type === \"load\" ? \"ready\" : \"error\";\n setStatus(newStatus);\n cachedScriptStatuses.set(src, newStatus);\n };\n scriptNode.addEventListener(\"load\", setStateFromEvent);\n scriptNode.addEventListener(\"error\", setStateFromEvent);\n return () => {\n if (scriptNode) {\n scriptNode.removeEventListener(\"load\", setStateFromEvent);\n scriptNode.removeEventListener(\"error\", setStateFromEvent);\n }\n if (scriptNode && (options == null ? void 0 : options.removeOnUnmount)) {\n scriptNode.remove();\n cachedScriptStatuses.delete(src);\n }\n };\n }, [src, options == null ? void 0 : options.shouldPreventLoad, options == null ? void 0 : options.removeOnUnmount, options == null ? void 0 : options.id]);\n return status;\n}\nvar IS_SERVER5 = typeof window === \"undefined\";\nfunction useScrollLock(options = {}) {\n const { autoLock = true, lockTarget, widthReflow = true } = options;\n const [isLocked, setIsLocked] = useState(false);\n const target = useRef(null);\n const originalStyle = useRef(null);\n const lock = () => {\n if (target.current) {\n const { overflow, paddingRight } = target.current.style;\n originalStyle.current = { overflow, paddingRight };\n if (widthReflow) {\n const offsetWidth = target.current === document.body ? window.innerWidth : target.current.offsetWidth;\n const currentPaddingRight = parseInt(window.getComputedStyle(target.current).paddingRight, 10) || 0;\n const scrollbarWidth = offsetWidth - target.current.scrollWidth;\n target.current.style.paddingRight = `${scrollbarWidth + currentPaddingRight}px`;\n }\n target.current.style.overflow = \"hidden\";\n setIsLocked(true);\n }\n };\n const unlock = () => {\n if (target.current && originalStyle.current) {\n target.current.style.overflow = originalStyle.current.overflow;\n if (widthReflow) {\n target.current.style.paddingRight = originalStyle.current.paddingRight;\n }\n }\n setIsLocked(false);\n };\n useIsomorphicLayoutEffect(() => {\n if (IS_SERVER5)\n return;\n if (lockTarget) {\n target.current = typeof lockTarget === \"string\" ? document.querySelector(lockTarget) : lockTarget;\n }\n if (!target.current) {\n target.current = document.body;\n }\n if (autoLock) {\n lock();\n }\n return () => {\n unlock();\n };\n }, [autoLock, lockTarget, widthReflow]);\n return { isLocked, lock, unlock };\n}\nvar IS_SERVER6 = typeof window === \"undefined\";\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { initializeWithValue = true } = options;\n const serializer = useCallback(\n (value) => {\n if (options.serializer) {\n return options.serializer(value);\n }\n return JSON.stringify(value);\n },\n [options]\n );\n const deserializer = useCallback(\n (value) => {\n if (options.deserializer) {\n return options.deserializer(value);\n }\n if (value === \"undefined\") {\n return void 0;\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n let parsed;\n try {\n parsed = JSON.parse(value);\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return defaultValue;\n }\n return parsed;\n },\n [options, initialValue]\n );\n const readValue = useCallback(() => {\n const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n if (IS_SERVER6) {\n return initialValueToUse;\n }\n try {\n const raw = window.sessionStorage.getItem(key);\n return raw ? deserializer(raw) : initialValueToUse;\n } catch (error) {\n console.warn(`Error reading sessionStorage key \\u201C${key}\\u201D:`, error);\n return initialValueToUse;\n }\n }, [initialValue, key, deserializer]);\n const [storedValue, setStoredValue] = useState(() => {\n if (initializeWithValue) {\n return readValue();\n }\n return initialValue instanceof Function ? initialValue() : initialValue;\n });\n const setValue = useEventCallback((value) => {\n if (IS_SERVER6) {\n console.warn(\n `Tried setting sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n try {\n const newValue = value instanceof Function ? value(readValue()) : value;\n window.sessionStorage.setItem(key, serializer(newValue));\n setStoredValue(newValue);\n window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n } catch (error) {\n console.warn(`Error setting sessionStorage key \\u201C${key}\\u201D:`, error);\n }\n });\n const removeValue = useEventCallback(() => {\n if (IS_SERVER6) {\n console.warn(\n `Tried removing sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n );\n }\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n window.sessionStorage.removeItem(key);\n setStoredValue(defaultValue);\n window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n });\n useEffect(() => {\n setStoredValue(readValue());\n }, [key]);\n const handleStorageChange = useCallback(\n (event) => {\n if (event.key && event.key !== key) {\n return;\n }\n setStoredValue(readValue());\n },\n [key, readValue]\n );\n useEventListener(\"storage\", handleStorageChange);\n useEventListener(\"session-storage\", handleStorageChange);\n return [storedValue, setValue, removeValue];\n}\nfunction useStep(maxStep) {\n const [currentStep, setCurrentStep] = useState(1);\n const canGoToNextStep = currentStep + 1 <= maxStep;\n const canGoToPrevStep = currentStep - 1 > 0;\n const setStep = useCallback(\n (step) => {\n const newStep = step instanceof Function ? step(currentStep) : step;\n if (newStep >= 1 && newStep <= maxStep) {\n setCurrentStep(newStep);\n return;\n }\n throw new Error(\"Step not valid\");\n },\n [maxStep, currentStep]\n );\n const goToNextStep = useCallback(() => {\n if (canGoToNextStep) {\n setCurrentStep((step) => step + 1);\n }\n }, [canGoToNextStep]);\n const goToPrevStep = useCallback(() => {\n if (canGoToPrevStep) {\n setCurrentStep((step) => step - 1);\n }\n }, [canGoToPrevStep]);\n const reset = useCallback(() => {\n setCurrentStep(1);\n }, []);\n return [\n currentStep,\n {\n goToNextStep,\n goToPrevStep,\n canGoToNextStep,\n canGoToPrevStep,\n setStep,\n reset\n }\n ];\n}\n\n// src/useTernaryDarkMode/useTernaryDarkMode.ts\nvar COLOR_SCHEME_QUERY2 = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY2 = \"usehooks-ts-ternary-dark-mode\";\nfunction useTernaryDarkMode({\n defaultValue = \"system\",\n localStorageKey = LOCAL_STORAGE_KEY2,\n initializeWithValue = true\n} = {}) {\n const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY2, { initializeWithValue });\n const [mode, setMode] = useLocalStorage(localStorageKey, defaultValue, {\n initializeWithValue\n });\n const isDarkMode = mode === \"dark\" || mode === \"system\" && isDarkOS;\n const toggleTernaryDarkMode = () => {\n const modes = [\"light\", \"system\", \"dark\"];\n setMode((prevMode) => {\n const nextIndex = (modes.indexOf(prevMode) + 1) % modes.length;\n return modes[nextIndex];\n });\n };\n return {\n isDarkMode,\n ternaryDarkMode: mode,\n setTernaryDarkMode: setMode,\n toggleTernaryDarkMode\n };\n}\nfunction useTimeout(callback, delay) {\n const savedCallback = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n useEffect(() => {\n if (!delay && delay !== 0) {\n return;\n }\n const id = setTimeout(() => {\n savedCallback.current();\n }, delay);\n return () => {\n clearTimeout(id);\n };\n }, [delay]);\n}\nfunction useToggle(defaultValue) {\n const [value, setValue] = useState(!!defaultValue);\n const toggle = useCallback(() => {\n setValue((x) => !x);\n }, []);\n return [value, toggle, setValue];\n}\nvar IS_SERVER7 = typeof window === \"undefined\";\nfunction useWindowSize(options = {}) {\n let { initializeWithValue = true } = options;\n if (IS_SERVER7) {\n initializeWithValue = false;\n }\n const [windowSize, setWindowSize] = useState(() => {\n if (initializeWithValue) {\n return {\n width: window.innerWidth,\n height: window.innerHeight\n };\n }\n return {\n width: void 0,\n height: void 0\n };\n });\n const debouncedSetWindowSize = useDebounceCallback(\n setWindowSize,\n options.debounceDelay\n );\n function handleSize() {\n const setSize = options.debounceDelay ? debouncedSetWindowSize : setWindowSize;\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }\n useEventListener(\"resize\", handleSize);\n useIsomorphicLayoutEffect(() => {\n handleSize();\n }, []);\n return windowSize;\n}\n\nexport { useBoolean, useClickAnyWhere, useCopyToClipboard, useCountdown, useCounter, useDarkMode, useDebounceCallback, useDebounceValue, useDocumentTitle, useEventCallback, useEventListener, useHover, useIntersectionObserver, useInterval, useIsClient, useIsMounted, useIsomorphicLayoutEffect, useLocalStorage, useMap, useMediaQuery, useOnClickOutside, useReadLocalStorage, useResizeObserver, useScreen, useScript, useScrollLock, useSessionStorage, useStep, useTernaryDarkMode, useTimeout, useToggle, useUnmount, useWindowSize };\n","/**\n * @license React\n * react-jsx-runtime.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';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var e=\"colors\",t=\"sizes\",r=\"space\",n={gap:r,gridGap:r,columnGap:r,gridColumnGap:r,rowGap:r,gridRowGap:r,inset:r,insetBlock:r,insetBlockEnd:r,insetBlockStart:r,insetInline:r,insetInlineEnd:r,insetInlineStart:r,margin:r,marginTop:r,marginRight:r,marginBottom:r,marginLeft:r,marginBlock:r,marginBlockEnd:r,marginBlockStart:r,marginInline:r,marginInlineEnd:r,marginInlineStart:r,padding:r,paddingTop:r,paddingRight:r,paddingBottom:r,paddingLeft:r,paddingBlock:r,paddingBlockEnd:r,paddingBlockStart:r,paddingInline:r,paddingInlineEnd:r,paddingInlineStart:r,top:r,right:r,bottom:r,left:r,scrollMargin:r,scrollMarginTop:r,scrollMarginRight:r,scrollMarginBottom:r,scrollMarginLeft:r,scrollMarginX:r,scrollMarginY:r,scrollMarginBlock:r,scrollMarginBlockEnd:r,scrollMarginBlockStart:r,scrollMarginInline:r,scrollMarginInlineEnd:r,scrollMarginInlineStart:r,scrollPadding:r,scrollPaddingTop:r,scrollPaddingRight:r,scrollPaddingBottom:r,scrollPaddingLeft:r,scrollPaddingX:r,scrollPaddingY:r,scrollPaddingBlock:r,scrollPaddingBlockEnd:r,scrollPaddingBlockStart:r,scrollPaddingInline:r,scrollPaddingInlineEnd:r,scrollPaddingInlineStart:r,fontSize:\"fontSizes\",background:e,backgroundColor:e,backgroundImage:e,borderImage:e,border:e,borderBlock:e,borderBlockEnd:e,borderBlockStart:e,borderBottom:e,borderBottomColor:e,borderColor:e,borderInline:e,borderInlineEnd:e,borderInlineStart:e,borderLeft:e,borderLeftColor:e,borderRight:e,borderRightColor:e,borderTop:e,borderTopColor:e,caretColor:e,color:e,columnRuleColor:e,fill:e,outline:e,outlineColor:e,stroke:e,textDecorationColor:e,fontFamily:\"fonts\",fontWeight:\"fontWeights\",lineHeight:\"lineHeights\",letterSpacing:\"letterSpacings\",blockSize:t,minBlockSize:t,maxBlockSize:t,inlineSize:t,minInlineSize:t,maxInlineSize:t,width:t,minWidth:t,maxWidth:t,height:t,minHeight:t,maxHeight:t,flexBasis:t,gridTemplateColumns:t,gridTemplateRows:t,borderWidth:\"borderWidths\",borderTopWidth:\"borderWidths\",borderRightWidth:\"borderWidths\",borderBottomWidth:\"borderWidths\",borderLeftWidth:\"borderWidths\",borderStyle:\"borderStyles\",borderTopStyle:\"borderStyles\",borderRightStyle:\"borderStyles\",borderBottomStyle:\"borderStyles\",borderLeftStyle:\"borderStyles\",borderRadius:\"radii\",borderTopLeftRadius:\"radii\",borderTopRightRadius:\"radii\",borderBottomRightRadius:\"radii\",borderBottomLeftRadius:\"radii\",boxShadow:\"shadows\",textShadow:\"shadows\",transition:\"transitions\",zIndex:\"zIndices\"},i=(e,t)=>\"function\"==typeof t?{\"()\":Function.prototype.toString.call(t)}:t,o=()=>{const e=Object.create(null);return(t,r,...n)=>{const o=(e=>JSON.stringify(e,i))(t);return o in e?e[o]:e[o]=r(t,...n)}},l=Symbol.for(\"sxs.internal\"),s=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),a=e=>{for(const t in e)return!0;return!1},{hasOwnProperty:c}=Object.prototype,d=e=>e.includes(\"-\")?e:e.replace(/[A-Z]/g,(e=>\"-\"+e.toLowerCase())),g=/\\s+(?![^()]*\\))/,p=e=>t=>e(...\"string\"==typeof t?String(t).split(g):[t]),u={appearance:e=>({WebkitAppearance:e,appearance:e}),backfaceVisibility:e=>({WebkitBackfaceVisibility:e,backfaceVisibility:e}),backdropFilter:e=>({WebkitBackdropFilter:e,backdropFilter:e}),backgroundClip:e=>({WebkitBackgroundClip:e,backgroundClip:e}),boxDecorationBreak:e=>({WebkitBoxDecorationBreak:e,boxDecorationBreak:e}),clipPath:e=>({WebkitClipPath:e,clipPath:e}),content:e=>({content:e.includes('\"')||e.includes(\"'\")||/^([A-Za-z]+\\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(e)?e:`\"${e}\"`}),hyphens:e=>({WebkitHyphens:e,hyphens:e}),maskImage:e=>({WebkitMaskImage:e,maskImage:e}),maskSize:e=>({WebkitMaskSize:e,maskSize:e}),tabSize:e=>({MozTabSize:e,tabSize:e}),textSizeAdjust:e=>({WebkitTextSizeAdjust:e,textSizeAdjust:e}),userSelect:e=>({WebkitUserSelect:e,userSelect:e}),marginBlock:p(((e,t)=>({marginBlockStart:e,marginBlockEnd:t||e}))),marginInline:p(((e,t)=>({marginInlineStart:e,marginInlineEnd:t||e}))),maxSize:p(((e,t)=>({maxBlockSize:e,maxInlineSize:t||e}))),minSize:p(((e,t)=>({minBlockSize:e,minInlineSize:t||e}))),paddingBlock:p(((e,t)=>({paddingBlockStart:e,paddingBlockEnd:t||e}))),paddingInline:p(((e,t)=>({paddingInlineStart:e,paddingInlineEnd:t||e})))},h=/([\\d.]+)([^]*)/,f=(e,t)=>e.length?e.reduce(((e,r)=>(e.push(...t.map((e=>e.includes(\"&\")?e.replace(/&/g,/[ +>|~]/.test(r)&&/&.*&/.test(e)?`:is(${r})`:r):r+\" \"+e))),e)),[]):t,m=(e,t)=>e in b&&\"string\"==typeof t?t.replace(/^((?:[^]*[^\\w-])?)(fit-content|stretch)((?:[^\\w-][^]*)?)$/,((t,r,n,i)=>r+(\"stretch\"===n?`-moz-available${i};${d(e)}:${r}-webkit-fill-available`:`-moz-fit-content${i};${d(e)}:${r}fit-content`)+i)):String(t),b={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},S=e=>e?e+\"-\":\"\",k=(e,t,r)=>e.replace(/([+-])?((?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][+-]?\\d+)?)?(\\$|--)([$\\w-]+)/g,((e,n,i,o,l)=>\"$\"==o==!!i?e:(n||\"--\"==o?\"calc(\":\"\")+\"var(--\"+(\"$\"===o?S(t)+(l.includes(\"$\")?\"\":S(r))+l.replace(/\\$/g,\"-\"):l)+\")\"+(n||\"--\"==o?\"*\"+(n||\"\")+(i||\"1\")+\")\":\"\"))),y=/\\s*,\\s*(?![^()]*\\))/,B=Object.prototype.toString,$=(e,t,r,n,i)=>{let o,l,s;const a=(e,t,r)=>{let c,g;const p=e=>{for(c in e){const R=64===c.charCodeAt(0),z=R&&Array.isArray(e[c])?e[c]:[e[c]];for(g of z){const e=/[A-Z]/.test($=c)?$:$.replace(/-[^]/g,(e=>e[1].toUpperCase())),z=\"object\"==typeof g&&g&&g.toString===B&&(!n.utils[e]||!t.length);if(e in n.utils&&!z){const t=n.utils[e];if(t!==l){l=t,p(t(g)),l=null;continue}}else if(e in u){const t=u[e];if(t!==s){s=t,p(t(g)),s=null;continue}}if(R&&(b=c.slice(1)in n.media?\"@media \"+n.media[c.slice(1)]:c,c=b.replace(/\\(\\s*([\\w-]+)\\s*(=|<|<=|>|>=)\\s*([\\w-]+)\\s*(?:(<|<=|>|>=)\\s*([\\w-]+)\\s*)?\\)/g,((e,t,r,n,i,o)=>{const l=h.test(t),s=.0625*(l?-1:1),[a,c]=l?[n,t]:[t,n];return\"(\"+(\"=\"===r[0]?\"\":\">\"===r[0]===l?\"max-\":\"min-\")+a+\":\"+(\"=\"!==r[0]&&1===r.length?c.replace(h,((e,t,n)=>Number(t)+s*(\">\"===r?1:-1)+n)):c)+(i?\") and (\"+(\">\"===i[0]?\"min-\":\"max-\")+a+\":\"+(1===i.length?o.replace(h,((e,t,r)=>Number(t)+s*(\">\"===i?-1:1)+r)):o):\"\")+\")\"}))),z){const e=R?r.concat(c):[...r],n=R?[...t]:f(t,c.split(y));void 0!==o&&i(x(...o)),o=void 0,a(g,n,e)}else void 0===o&&(o=[[],t,r]),c=R||36!==c.charCodeAt(0)?c:`--${S(n.prefix)}${c.slice(1).replace(/\\$/g,\"-\")}`,g=z?g:\"number\"==typeof g?g&&e in I?String(g)+\"px\":String(g):k(m(e,null==g?\"\":g),n.prefix,n.themeMap[e]),o[0].push(`${R?`${c} `:`${d(c)}:`}${g}`)}}var b,$};p(e),void 0!==o&&i(x(...o)),o=void 0};a(e,t,r)},x=(e,t,r)=>`${r.map((e=>`${e}{`)).join(\"\")}${t.length?`${t.join(\",\")}{`:\"\"}${e.join(\";\")}${t.length?\"}\":\"\"}${Array(r.length?r.length+1:0).join(\"}\")}`,I={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},R=e=>String.fromCharCode(e+(e>25?39:97)),z=e=>(e=>{let t,r=\"\";for(t=Math.abs(e);t>52;t=t/52|0)r=R(t%52)+r;return R(t%52)+r})(((e,t)=>{let r=t.length;for(;r;)e=33*e^t.charCodeAt(--r);return e})(5381,JSON.stringify(e))>>>0),W=[\"themed\",\"global\",\"styled\",\"onevar\",\"resonevar\",\"allvar\",\"inline\"],j=e=>{if(e.href&&!e.href.startsWith(location.origin))return!1;try{return!!e.cssRules}catch(e){return!1}},E=e=>{let t;const r=()=>{const{cssRules:e}=t.sheet;return[].map.call(e,((r,n)=>{const{cssText:i}=r;let o=\"\";if(i.startsWith(\"--sxs\"))return\"\";if(e[n-1]&&(o=e[n-1].cssText).startsWith(\"--sxs\")){if(!r.cssRules.length)return\"\";for(const e in t.rules)if(t.rules[e].group===r)return`--sxs{--sxs:${[...t.rules[e].cache].join(\" \")}}${i}`;return r.cssRules.length?`${o}${i}`:\"\"}return i})).join(\"\")},n=()=>{if(t){const{rules:e,sheet:r}=t;if(!r.deleteRule){for(;3===Object(Object(r.cssRules)[0]).type;)r.cssRules.splice(0,1);r.cssRules=[]}for(const t in e)delete e[t]}const i=Object(e).styleSheets||[];for(const e of i)if(j(e)){for(let i=0,o=e.cssRules;o[i];++i){const l=Object(o[i]);if(1!==l.type)continue;const s=Object(o[i+1]);if(4!==s.type)continue;++i;const{cssText:a}=l;if(!a.startsWith(\"--sxs\"))continue;const c=a.slice(14,-3).trim().split(/\\s+/),d=W[c[0]];d&&(t||(t={sheet:e,reset:n,rules:{},toString:r}),t.rules[d]={group:s,index:i,cache:new Set(c)})}if(t)break}if(!t){const i=(e,t)=>({type:t,cssRules:[],insertRule(e,t){this.cssRules.splice(t,0,i(e,{import:3,undefined:1}[(e.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return\"@media{}\"===e?`@media{${[].map.call(this.cssRules,(e=>e.cssText)).join(\"\")}}`:e}});t={sheet:e?(e.head||e).appendChild(document.createElement(\"style\")).sheet:i(\"\",\"text/css\"),rules:{},reset:n,toString:r}}const{sheet:o,rules:l}=t;for(let e=W.length-1;e>=0;--e){const t=W[e];if(!l[t]){const r=W[e+1],n=l[r]?l[r].index:o.cssRules.length;o.insertRule(\"@media{}\",n),o.insertRule(`--sxs{--sxs:${e}}`,n),l[t]={group:o.cssRules[n+1],index:n,cache:new Set([e])}}v(l[t])}};return n(),t},v=e=>{const t=e.group;let r=t.cssRules.length;e.apply=e=>{try{t.insertRule(e,r),++r}catch(e){}}},T=Symbol(),w=o(),M=(e,t)=>w(e,(()=>(...r)=>{let n={type:null,composers:new Set};for(const t of r)if(null!=t)if(t[l]){null==n.type&&(n.type=t[l].type);for(const e of t[l].composers)n.composers.add(e)}else t.constructor!==Object||t.$$typeof?null==n.type&&(n.type=t):n.composers.add(C(t,e));return null==n.type&&(n.type=\"span\"),n.composers.size||n.composers.add([\"PJLV\",{},[],[],{},[]]),P(e,n,t)})),C=({variants:e,compoundVariants:t,defaultVariants:r,...n},i)=>{const o=`${S(i.prefix)}c-${z(n)}`,l=[],s=[],d=Object.create(null),g=[];for(const e in r)d[e]=String(r[e]);if(\"object\"==typeof e&&e)for(const t in e){p=d,u=t,c.call(p,u)||(d[t]=\"undefined\");const r=e[t];for(const e in r){const n={[t]:String(e)};\"undefined\"===String(e)&&g.push(t);const i=r[e],o=[n,i,!a(i)];l.push(o)}}var p,u;if(\"object\"==typeof t&&t)for(const e of t){let{css:t,...r}=e;t=\"object\"==typeof t&&t||{};for(const e in r)r[e]=String(r[e]);const n=[r,t,!a(t)];s.push(n)}return[o,n,l,s,d,g]},P=(e,t,r)=>{const[n,i,o,a]=L(t.composers),c=\"function\"==typeof t.type||t.type.$$typeof?(e=>{function t(){for(let r=0;r<t[T].length;r++){const[n,i]=t[T][r];e.rules[n].apply(i)}return t[T]=[],null}return t[T]=[],t.rules={},W.forEach((e=>t.rules[e]={apply:r=>t[T].push([e,r])})),t})(r):null,d=(c||r).rules,g=`.${n}${i.length>1?`:where(.${i.slice(1).join(\".\")})`:\"\"}`,p=l=>{l=\"object\"==typeof l&&l||A;const{css:s,...p}=l,u={};for(const e in o)if(delete p[e],e in l){let t=l[e];\"object\"==typeof t&&t?u[e]={\"@initial\":o[e],...t}:(t=String(t),u[e]=\"undefined\"!==t||a.has(e)?t:o[e])}else u[e]=o[e];const h=new Set([...i]);for(const[n,i,o,l]of t.composers){r.rules.styled.cache.has(n)||(r.rules.styled.cache.add(n),$(i,[`.${n}`],[],e,(e=>{d.styled.apply(e)})));const t=O(o,u,e.media),s=O(l,u,e.media,!0);for(const i of t)if(void 0!==i)for(const[t,o,l]of i){const i=`${n}-${z(o)}-${t}`;h.add(i);const s=(l?r.rules.resonevar:r.rules.onevar).cache,a=l?d.resonevar:d.onevar;s.has(i)||(s.add(i),$(o,[`.${i}`],[],e,(e=>{a.apply(e)})))}for(const t of s)if(void 0!==t)for(const[i,o]of t){const t=`${n}-${z(o)}-${i}`;h.add(t),r.rules.allvar.cache.has(t)||(r.rules.allvar.cache.add(t),$(o,[`.${t}`],[],e,(e=>{d.allvar.apply(e)})))}}if(\"object\"==typeof s&&s){const t=`${n}-i${z(s)}-css`;h.add(t),r.rules.inline.cache.has(t)||(r.rules.inline.cache.add(t),$(s,[`.${t}`],[],e,(e=>{d.inline.apply(e)})))}for(const e of String(l.className||\"\").trim().split(/\\s+/))e&&h.add(e);const f=p.className=[...h].join(\" \");return{type:t.type,className:f,selector:g,props:p,toString:()=>f,deferredInjector:c}};return s(p,{className:n,selector:g,[l]:t,toString:()=>(r.rules.styled.cache.has(n)||p(),n)})},L=e=>{let t=\"\";const r=[],n={},i=[];for(const[o,,,,l,s]of e){\"\"===t&&(t=o),r.push(o),i.push(...s);for(const e in l){const t=l[e];(void 0===n[e]||\"undefined\"!==t||s.includes(t))&&(n[e]=t)}}return[t,r,n,new Set(i)]},O=(e,t,r,n)=>{const i=[];e:for(let[o,l,s]of e){if(s)continue;let e,a=0,c=!1;for(e in o){const n=o[e];let i=t[e];if(i!==n){if(\"object\"!=typeof i||!i)continue e;{let e,t,o=0;for(const l in i){if(n===String(i[l])){if(\"@initial\"!==l){const e=l.slice(1);(t=t||[]).push(e in r?r[e]:l.replace(/^@media ?/,\"\")),c=!0}a+=o,e=!0}++o}if(t&&t.length&&(l={[\"@media \"+t.join(\", \")]:l}),!e)continue e}}}(i[a]=i[a]||[]).push([n?\"cv\":`${e}-${o[e]}`,l,c])}return i},A={},N=o(),D=(e,t)=>N(e,(()=>(...r)=>{const n=()=>{for(let n of r){n=\"object\"==typeof n&&n||{};let r=z(n);if(!t.rules.global.cache.has(r)){if(t.rules.global.cache.add(r),\"@import\"in n){let e=[].indexOf.call(t.sheet.cssRules,t.rules.themed.group)-1;for(let r of[].concat(n[\"@import\"]))r=r.includes('\"')||r.includes(\"'\")?r:`\"${r}\"`,t.sheet.insertRule(`@import ${r};`,e++);delete n[\"@import\"]}$(n,[],[],e,(e=>{t.rules.global.apply(e)}))}}return\"\"};return s(n,{toString:n})})),H=o(),V=(e,t)=>H(e,(()=>r=>{const n=`${S(e.prefix)}k-${z(r)}`,i=()=>{if(!t.rules.global.cache.has(n)){t.rules.global.cache.add(n);const i=[];$(r,[],[],e,(e=>i.push(e)));const o=`@keyframes ${n}{${i.join(\"\")}}`;t.rules.global.apply(o)}return n};return s(i,{get name(){return i()},toString:i})})),G=class{constructor(e,t,r,n){this.token=null==e?\"\":String(e),this.value=null==t?\"\":String(t),this.scale=null==r?\"\":String(r),this.prefix=null==n?\"\":String(n)}get computedValue(){return\"var(\"+this.variable+\")\"}get variable(){return\"--\"+S(this.prefix)+S(this.scale)+this.token}toString(){return this.computedValue}},F=o(),J=(e,t)=>F(e,(()=>(r,n)=>{n=\"object\"==typeof r&&r||Object(n);const i=`.${r=(r=\"string\"==typeof r?r:\"\")||`${S(e.prefix)}t-${z(n)}`}`,o={},l=[];for(const t in n){o[t]={};for(const r in n[t]){const i=`--${S(e.prefix)}${t}-${r}`,s=k(String(n[t][r]),e.prefix,t);o[t][r]=new G(r,s,t,e.prefix),l.push(`${i}:${s}`)}}const s=()=>{if(l.length&&!t.rules.themed.cache.has(r)){t.rules.themed.cache.add(r);const i=`${n===e.theme?\":root,\":\"\"}.${r}{${l.join(\";\")}}`;t.rules.themed.apply(i)}return r};return{...o,get className(){return s()},selector:i,toString:s}})),U=o();import Z from\"react\";var X,Y=o(),q=e=>{const t=(e=>{let t=!1;const r=U(e,(e=>{t=!0;const r=\"prefix\"in(e=\"object\"==typeof e&&e||{})?String(e.prefix):\"\",i=\"object\"==typeof e.media&&e.media||{},o=\"object\"==typeof e.root?e.root||null:globalThis.document||null,l=\"object\"==typeof e.theme&&e.theme||{},s={prefix:r,media:i,theme:l,themeMap:\"object\"==typeof e.themeMap&&e.themeMap||{...n},utils:\"object\"==typeof e.utils&&e.utils||{}},a=E(o),c={css:M(s,a),globalCss:D(s,a),keyframes:V(s,a),createTheme:J(s,a),reset(){a.reset(),c.theme.toString()},theme:{},sheet:a,config:s,prefix:r,getCssText:a.toString,toString:a.toString};return String(c.theme=c.createTheme(l)),c}));return t||r.reset(),r})(e);return t.styled=(({config:e,sheet:t})=>Y(e,(()=>{const r=M(e,t);return(...e)=>{const t=r(...e),n=t[l].type,i=Z.forwardRef(((e,r)=>{const i=e&&e.as||n,{props:o,deferredInjector:l}=t(e);return delete o.as,o.ref=r,l?Z.createElement(Z.Fragment,null,Z.createElement(i,o),Z.createElement(l,null)):Z.createElement(i,o)}));return i.className=t.className,i.displayName=`Styled.${n.displayName||n.name||n}`,i.selector=t.selector,i.toString=()=>t.selector,i[l]=t[l],i}})))(t),t},K=()=>X||(X=q()),Q=(...e)=>K().createTheme(...e),_=(...e)=>K().globalCss(...e),ee=(...e)=>K().keyframes(...e),te=(...e)=>K().css(...e),re=(...e)=>K().styled(...e);export{q as createStitches,Q as createTheme,te as css,n as defaultThemeMap,_ as globalCss,ee as keyframes,re as styled};\n//# sourceMappingUrl=index.map","import { styled } from '@stitches/react'\n\nexport const Box = styled('div', {\n variants: {\n width: {\n full: { width: '100%' },\n half: { width: '50%' },\n fit: { width: 'fit-content' }\n },\n height: {\n full: { height: '100%' },\n vh: { height: '100vh' }\n },\n minHeight: {\n 240: { minHeight: '240px' },\n vh: { minHeight: '100vh' }\n },\n mb: {\n 0: { mb: '0' },\n 2: { mb: '2' },\n 4: { mb: '4' },\n 8: { mb: '8' },\n 12: { mb: '12' },\n 16: { mb: '16' },\n 20: { mb: '20' },\n 24: { mb: '24' },\n 32: { mb: '32' },\n 48: { mb: '48' },\n 72: { mb: '72' },\n auto: { mb: 'auto' }\n },\n mt: {\n 0: { mt: '0' },\n 2: { mt: '2' },\n 4: { mt: '4' },\n 8: { mt: '8' },\n 12: { mt: '12' },\n 16: { mt: '16' },\n 20: { mt: '20' },\n 24: { mt: '24' },\n 32: { mt: '32' },\n 48: { mt: '48' },\n 72: { mt: '72' },\n auto: { mt: 'auto' }\n },\n mx: {\n 0: { mx: '0' },\n 2: { mx: '2' },\n 4: { mx: '4' },\n 8: { mx: '8' },\n 12: { mx: '12' },\n 16: { mx: '16' },\n 20: { mx: '20' },\n 24: { mx: '24' },\n 32: { mx: '32' },\n 48: { mx: '48' },\n 72: { mx: '72' },\n auto: { mx: 'auto' }\n },\n my: {\n 0: { my: '0' },\n 2: { my: '2' },\n 4: { my: '4' },\n 8: { my: '8' },\n 12: { my: '12' },\n 16: { my: '16' },\n 20: { my: '20' },\n 24: { my: '24' },\n 32: { my: '32' },\n 48: { my: '48' },\n 72: { my: '72' },\n auto: { my: 'auto' }\n },\n ml: {\n 0: { ml: '0' },\n 2: { ml: '2' },\n 4: { ml: '4' },\n 8: { ml: '8' },\n 12: { ml: '12' },\n 16: { ml: '16' },\n 20: { ml: '20' },\n 24: { ml: '24' },\n 32: { ml: '32' },\n 48: { ml: '48' },\n 72: { ml: '72' },\n auto: { ml: 'auto' }\n },\n mr: {\n 0: { mr: '0' },\n 2: { mr: '2' },\n 4: { mr: '4' },\n 8: { mr: '8' },\n 12: { mr: '12' },\n 16: { mr: '16' },\n 20: { mr: '20' },\n 24: { mr: '24' },\n 32: { mr: '32' },\n 48: { mr: '48' },\n 72: { mr: '72' },\n auto: { mr: 'auto' }\n },\n pt: {\n 0: { pt: '0' },\n 2: { pt: '2' },\n 4: { pt: '4' },\n 8: { pt: '8' },\n 12: { pt: '12' },\n 16: { pt: '16' },\n 20: { pt: '20' },\n 24: { pt: '24' },\n 32: { pt: '32' },\n 48: { pt: '48' },\n 72: { pt: '72' }\n },\n pb: {\n 0: { pb: '0' },\n 2: { pb: '2' },\n 4: { pb: '4' },\n 8: { pb: '8' },\n 12: { pb: '12' },\n 16: { pb: '16' },\n 20: { pb: '20' },\n 24: { pb: '24' },\n 32: { pb: '32' },\n 48: { pb: '48' },\n 72: { pb: '72' }\n },\n pr: {\n 0: { pr: '0' },\n 2: { pr: '2' },\n 4: { pr: '4' },\n 8: { pr: '8' },\n 12: { pr: '12' },\n 16: { pr: '16' },\n 20: { pr: '20' },\n 24: { pr: '24' },\n 32: { pr: '32' },\n 48: { pr: '48' },\n 72: { pr: '72' }\n },\n pl: {\n 0: { pl: '0' },\n 2: { pl: '2' },\n 4: { pl: '4' },\n 8: { pl: '8' },\n 12: { pl: '12' },\n 16: { pl: '16' },\n 20: { pl: '20' },\n 24: { pl: '24' },\n 32: { pl: '32' },\n 48: { pl: '48' },\n 72: { pl: '72' }\n },\n px: {\n 0: { px: '0' },\n 2: { px: '2' },\n 4: { px: '4' },\n 8: { px: '8' },\n 12: { px: '12' },\n 16: { px: '16' },\n 20: { px: '20' },\n 24: { px: '24' },\n 32: { px: '32' },\n 48: { px: '48' },\n 72: { px: '72' }\n },\n py: {\n 0: { py: '0' },\n 2: { py: '2' },\n 4: { py: '4' },\n 8: { py: '8' },\n 12: { py: '12' },\n 16: { py: '16' },\n 20: { py: '20' },\n 24: { py: '24' },\n 32: { py: '32' },\n 40: { py: '40' },\n 48: { py: '48' },\n 56: { py: '56' },\n 64: { py: '64' },\n 72: { py: '72' }\n },\n p: {\n 0: { p: '0' },\n 2: { p: '2' },\n 4: { p: '4' },\n 8: { p: '8' },\n 12: { p: '12' },\n 16: { p: '16' },\n 20: { p: '20' },\n 24: { p: '24' },\n 32: { p: '32' },\n 48: { p: '48' },\n 72: { p: '72' }\n },\n m: {\n 0: { m: '0' },\n 2: { m: '2' },\n 4: { m: '4' },\n 8: { m: '8' },\n 12: { m: '12' },\n 16: { m: '16' },\n 20: { m: '20' },\n 24: { m: '24' },\n 32: { m: '32' },\n 48: { m: '48' },\n 72: { m: '72' }\n },\n // flex\n row: {\n true: { display: 'flex', flexDirection: 'row' }\n },\n rowReverse: {\n true: { display: 'flex', flexDirection: 'row-reverse' }\n },\n column: {\n true: { display: 'flex', flexDirection: 'column' }\n },\n columnReverse: {\n true: { display: 'flex', flexDirection: 'column-reverse' }\n },\n center: {\n true: { justifyContent: 'center', alignItems: 'center' }\n },\n wrap: { true: { flexWrap: 'wrap' } },\n flex: {\n 1: { flex: 1 },\n 2: { flex: 2 },\n 3: { flex: 3 },\n 4: { flex: 4 },\n 5: { flex: 5 },\n 6: { flex: 6 },\n 7: { flex: 7 },\n 8: { flex: 8 }\n },\n shrink: {\n 0: { flexShrink: 0 },\n 1: { flexShrink: 1 }\n },\n flexGrow: {\n 1: { flexGrow: 1 }\n },\n flexBasis: {\n 0: { flexBasis: 0 },\n auto: { flexBasis: 'auto' },\n full: { flexBasis: '100%' },\n 50: { flexBasis: '50px' },\n 100: { flexBasis: '100px' },\n 150: { flexBasis: '150px' },\n 200: { flexBasis: '200px' },\n 250: { flexBasis: '250px' },\n 300: { flexBasis: '300px' },\n 350: { flexBasis: '350px' },\n 400: { flexBasis: '400px' },\n 450: { flexBasis: '450px' },\n 500: { flexBasis: '500px' },\n 550: { flexBasis: '550px' },\n 600: { flexBasis: '600px' }\n },\n // justify\n justify: {\n start: { justifyContent: 'flex-start' },\n end: { justifyContent: 'flex-end' },\n center: { justifyContent: 'center' },\n between: { justifyContent: 'space-between' },\n around: { justifyContent: 'space-around' },\n selfCenter: { justifySelf: 'center' }\n },\n // align\n align: {\n start: { alignItems: 'flex-start' },\n end: { alignItems: 'flex-end' },\n center: { alignItems: 'center' },\n stretch: { alignItems: 'stretch' },\n selfCenter: { alignSelf: 'center' }\n },\n justifyBetween: { true: { justifyContent: 'space-between' } },\n justifyCenter: { true: { justifyContent: 'center' } },\n justifyStart: { true: { justifyContent: 'flex-start' } },\n justifyEnd: { true: { justifyContent: 'flex-end' } },\n justifyAround: { true: { justifyContent: 'space-around' } },\n justifySelfCenter: { true: { justifySelf: 'center' } },\n // align\n alignCenter: { true: { alignItems: 'center' } },\n alignStart: { true: { alignItems: 'flex-start' } },\n alignEnd: { true: { alignItems: 'flex-end' } },\n alignStretch: { true: { alignItems: 'stretch' } },\n alignSelfCenter: { true: { alignSelf: 'center' } },\n // text\n textCenter: { true: { textAlign: 'center' } },\n textLeft: { true: { textAlign: 'left' } },\n textRight: { true: { textAlign: 'right' } },\n\n // min width (helpful for flexbox text overflows)\n minWidth: {\n 0: { minWidth: 0 }\n },\n\n // spacing (note that these are not computed but statically defined for performance reasons generating those variants take time and we need instant boot of our library)\n gap: {\n 0: { gap: '0px' },\n 2: { gap: '2px' },\n 4: { gap: '4px' },\n 8: { gap: '8px' },\n 10: { gap: '10px' },\n 12: { gap: '12px' },\n 16: { gap: '16px' },\n 20: { gap: '20px' },\n 24: { gap: '24px' },\n 32: { gap: '32px' },\n 40: { gap: '40px' },\n 48: { gap: '48px' },\n 56: { gap: '56px' }\n },\n rowGap: {\n 0: { rowGap: '0px' },\n 2: { rowGap: '2px' },\n 4: { rowGap: '4px' },\n 8: { rowGap: '8px' },\n 10: { rowGap: '10px' },\n 12: { rowGap: '12px' },\n 16: { rowGap: '16px' },\n 20: { rowGap: '20px' },\n 24: { rowGap: '24px' },\n 32: { rowGap: '32px' },\n 40: { rowGap: '40px' },\n 48: { rowGap: '48px' },\n 56: { rowGap: '56px' }\n },\n columnGap: {\n 0: { columnGap: '0px' },\n 2: { columnGap: '2px' },\n 4: { columnGap: '4px' },\n 8: { columnGap: '8px' },\n 10: { columnGap: '10px' },\n 12: { columnGap: '12px' },\n 16: { columnGap: '16px' },\n 20: { columnGap: '20px' },\n 24: { columnGap: '24px' },\n 32: { columnGap: '32px' },\n 40: { columnGap: '40px' },\n 48: { columnGap: '48px' },\n 56: { columnGap: '56px' }\n }\n }\n})\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromHex = exports.toHex = void 0;\nconst hex = (num) => new Number(num).toString(16).toLowerCase();\nconst toHex = (num) => `0x${hex(num).length === 1 ? \"0\" + hex(num) : hex(num)}`;\nexports.toHex = toHex;\nconst fromHex = (hex) => new Number(hex);\nexports.fromHex = fromHex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createComplexNode = exports.createNode = exports.merge = void 0;\nconst createMatch = (leaf) => ({\n typename: leaf.typename,\n mime: leaf.info.mime,\n extension: leaf.info.extension,\n});\nconst isMatchingNode = (tree, path) => tree && path.length === 0;\nconst head = (arr) => arr[0];\nconst tail = (arr) => arr.slice(1, arr.length);\nconst merge = (node, tree) => {\n if (node.bytes.length === 0)\n return tree;\n const currentByte = head(node.bytes); // 0\n const path = tail(node.bytes); // [1,2]\n const currentTree = tree.bytes[currentByte];\n // traversed to end. Just add key to leaf.\n if (isMatchingNode(currentTree, path)) {\n const matchingNode = tree.bytes[currentByte];\n tree.bytes[currentByte] = {\n ...matchingNode,\n matches: [\n ...(matchingNode.matches ? matchingNode.matches : []),\n createMatch(node),\n ],\n };\n return tree;\n }\n // Path exists already, Merge subtree\n if (tree.bytes[currentByte]) {\n tree.bytes[currentByte] = exports.merge(exports.createNode(node.typename, path, node.info), tree.bytes[currentByte]);\n return tree;\n }\n // Tree did not exist before\n if (!tree.bytes[currentByte]) {\n tree.bytes[currentByte] = {\n ...tree.bytes[currentByte],\n ...exports.createComplexNode(node.typename, path, node.info),\n };\n }\n return tree;\n};\nexports.merge = merge;\nconst createNode = (typename, bytes, info) => {\n return { typename, bytes, info: info ? info : {} };\n};\nexports.createNode = createNode;\nconst createComplexNode = (typename, bytes, info) => {\n let obj = {\n bytes: {},\n matches: undefined,\n };\n const currentKey = head(bytes); // 0\n const path = tail(bytes); // [1,2]\n if (bytes.length === 0) {\n return {\n matches: [\n createMatch({\n typename: typename,\n info: info ? { extension: info.extension, mime: info.mime } : {},\n }),\n ],\n bytes: {},\n };\n }\n obj.bytes[currentKey] = exports.createComplexNode(typename, path, info);\n return obj;\n};\nexports.createComplexNode = createComplexNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst toHex_1 = require(\"./toHex\");\nconst tree_1 = require(\"./tree\");\n// https://en.wikipedia.org/wiki/List_of_file_signatures\nlet tree = {\n noOffset: null,\n offset: {},\n};\nconst add = (typename, signature, additionalInfo, offset) => {\n if (offset) {\n const existing = tree.offset[toHex_1.toHex(offset)];\n if (!existing) {\n tree.offset[toHex_1.toHex(offset)] = tree_1.createComplexNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo);\n }\n else {\n const merged = tree_1.merge(tree_1.createNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo), { ...existing });\n tree.offset[toHex_1.toHex(offset)] = merged;\n }\n }\n else {\n if (tree.noOffset === null) {\n tree.noOffset = tree_1.createComplexNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo);\n }\n else {\n tree.noOffset = tree_1.merge(tree_1.createNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo), tree.noOffset);\n }\n }\n};\nadd(\"gif\", [\"0x47\", \"0x49\", \"0x46\", \"0x38\", \"0x37\", \"0x61\"], {\n mime: \"image/gif\",\n extension: \"gif\",\n});\nadd(\"gif\", [\"0x47\", \"0x49\", \"0x46\", \"0x38\", \"0x39\", \"0x61\"], {\n mime: \"image/gif\",\n extension: \"gif\",\n});\nadd(\"jpg\", [\"0xFF\", \"0xD8\", \"0xFF\"], {\n mime: \"image/jpeg\",\n extension: \"jpeg\",\n});\nadd(\"webp\", [\n \"0x52\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x50\",\n], { mime: \"image/webp\", extension: \"webp\" });\nadd(\"heif\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x6D\", \"0x69\", \"0x66\", \"0x31\"], { mime: \"image/heif\", extension: \"heif\" }, 4);\nadd(\"heif\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x68\", \"0x65\", \"0x69\", \"0x63\"], { mime: \"image/heif\", extension: \"heic\" }, 4);\nadd(\"rpm\", [\"0xed\", \"0xab\", \"0xee\", \"0xdb\"]);\nadd(\"bin\", [\"0x53\", \"0x50\", \"0x30\", \"0x31\"], {\n mime: \"application/octet-stream\",\n extension: \"bin\",\n});\nadd(\"pic\", [\"0x00\"]);\nadd(\"pif\", [\"0x00\"]);\nadd(\"sea\", [\"0x00\"]);\nadd(\"ytr\", [\"0x00\"]);\n// 66747970\n// 6D703432\nadd(\"mp4\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\"], { mime: \"video/mp4\", extension: \"mp4\" }, 0x4);\nadd(\"ttf\", [\"0x00\", \"0x01\", \"0x00\", \"0x00\", \"0x00\"], {\n mime: \"font/ttf\",\n extension: \"ttf\",\n});\nadd(\"otf\", [\"0x4F\", \"0x54\", \"0x54\", \"0x4F\"], {\n mime: \"font/otf\",\n extension: \"otf\",\n});\nadd(\"eot\", [\"0x50\", \"0x4C\"], {\n mime: \"application/vnd.ms-fontobject\",\n extension: \"eot\",\n});\nadd(\"woff\", [\"0x77\", \"0x4F\", \"0x46\", \"0x46\"], {\n mime: \"font/woff\",\n extension: \"woff\",\n});\nadd(\"woff2\", [\"0x77\", \"0x4F\", \"0x46\", \"0x32\"], {\n mime: \"font/woff2\",\n extension: \"woff2\",\n});\nadd(\"pdb\", [\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n]);\nadd(\"dba\", [\"0xBE\", \"0xBA\", \"0xFE\", \"0xCA\"]);\nadd(\"dba2\", [\"0x00\", \"0x01\", \"0x42\", \"0x44\"]);\nadd(\"tda\", [\"0x00\", \"0x01\", \"0x44\", \"0x54\"]);\nadd(\"tda2\", [\"0x00\", \"0x01\", \"0x00\", \"0x00\"]);\nadd(\"ico\", [\"0x00\", \"0x00\", \"0x01\", \"0x00\"], {\n mime: \"image/x-icon\",\n extension: \"ico\",\n});\nadd(\"3gp\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x33\", \"0x67\"]);\nadd(\"z\", [\"0x1F\", \"0x9D\"]);\nadd(\"tar.z\", [\"0x1F\", \"0xA0\"]);\nadd(\"bac\", [\n \"0x42\",\n \"0x41\",\n \"0x43\",\n \"0x4B\",\n \"0x4D\",\n \"0x49\",\n \"0x4B\",\n \"0x45\",\n \"0x44\",\n \"0x49\",\n \"0x53\",\n \"0x4B\",\n]);\nadd(\"bz2\", [\"0x42\", \"0x5A\", \"0x68\"], {\n mime: \"application/x-bzip2\",\n extension: \"bz2\",\n});\nadd(\"tif\", [\"0x49\", \"0x49\", \"0x2A\", \"0x00\"], {\n mime: \"image/tiff\",\n extension: \"tif\",\n});\nadd(\"tiff\", [\"0x4D\", \"0x4D\", \"0x00\", \"0x2A\"], {\n mime: \"image/tiff\",\n extension: \"tiff\",\n});\nadd(\"cr2\", [\n \"0x49\",\n \"0x49\",\n \"0x2A\",\n \"0x00\",\n \"0x10\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x43\",\n \"0x52\",\n]);\nadd(\"cin\", [\"0x80\", \"0x2A\", \"0x5F\", \"0xD7\"]);\nadd(\"cin1\", [\"0x52\", \"0x4E\", \"0x43\", \"0x01\"]);\nadd(\"cin2\", [\"0x52\", \"0x4E\", \"0x43\", \"0x02\"]);\nadd(\"dpx\", [\"0x53\", \"0x44\", \"0x50\", \"0x58\"]);\nadd(\"dpx2\", [\"0x58\", \"0x50\", \"0x44\", \"0x53\"]);\nadd(\"exr\", [\"0x76\", \"0x2F\", \"0x31\", \"0x01\"]);\nadd(\"bpg\", [\"0x42\", \"0x50\", \"0x47\", \"0xFB\"]);\nadd(\"ilbm\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x49\",\n \"0x4C\",\n \"0x42\",\n \"0x4D\",\n]);\nadd(\"8svx\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x38\",\n \"0x53\",\n \"0x56\",\n \"0x58\",\n]);\nadd(\"acbm\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x43\",\n \"0x42\",\n \"0x4D\",\n]);\nadd(\"anbm\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x4E\",\n \"0x42\",\n \"0x4D\",\n]);\nadd(\"anim\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x4E\",\n \"0x49\",\n \"0x4D\",\n]);\nadd(\"faxx\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x46\",\n \"0x41\",\n \"0x58\",\n \"0x58\",\n]);\nadd(\"ftxt\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x46\",\n \"0x54\",\n \"0x58\",\n \"0x54\",\n]);\nadd(\"smus\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x53\",\n \"0x4D\",\n \"0x55\",\n \"0x53\",\n]);\nadd(\"cmus\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x43\",\n \"0x4D\",\n \"0x55\",\n \"0x53\",\n]);\nadd(\"yuvn\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x59\",\n \"0x55\",\n \"0x56\",\n \"0x4E\",\n]);\nadd(\"iff\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x46\",\n \"0x41\",\n \"0x4E\",\n \"0x54\",\n]);\nadd(\"aiff\", [\n \"0x46\",\n \"0x4F\",\n \"0x52\",\n \"0x4D\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n], { mime: \"audio/x-aiff\", extension: \"aiff\" });\nadd(\"idx\", [\"0x49\", \"0x4E\", \"0x44\", \"0x58\"]);\nadd(\"lz\", [\"0x4C\", \"0x5A\", \"0x49\", \"0x50\"]);\nadd(\"exe\", [\"0x4D\", \"0x5A\"]);\nadd(\"zip\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/zip\",\n extension: \"zip\",\n});\nadd(\"zip\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/zip\",\n extension: \"zip\",\n});\nadd(\"zip\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/zip\",\n extension: \"zip\",\n});\nadd(\"jar\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/java-archive\",\n extension: \"jar\",\n});\nadd(\"jar\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/java-archive\",\n extension: \"jar\",\n});\nadd(\"jar\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/java-archive\",\n extension: \"jar\",\n});\nadd(\"odt\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.oasis.opendocument.text\",\n extension: \"odt\",\n});\nadd(\"odt\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.oasis.opendocument.text\",\n extension: \"odt\",\n});\nadd(\"odt\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.oasis.opendocument.text\",\n extension: \"odt\",\n});\nadd(\"ods\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.oasis.opendocument.spreadsheet\",\n extension: \"ods\",\n});\nadd(\"ods\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.oasis.opendocument.spreadsheet\",\n extension: \"ods\",\n});\nadd(\"ods\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.oasis.opendocument.spreadsheet\",\n extension: \"ods\",\n});\nadd(\"odp\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.oasis.opendocument.presentation\",\n extension: \"odp\",\n});\nadd(\"odp\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.oasis.opendocument.presentation\",\n extension: \"odp\",\n});\nadd(\"odp\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.oasis.opendocument.presentation\",\n extension: \"odp\",\n});\nadd(\"docx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n extension: \"docx\",\n});\nadd(\"docx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n extension: \"docx\",\n});\nadd(\"docx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n extension: \"docx\",\n});\nadd(\"xlsx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n extension: \"xlsx\",\n});\nadd(\"xlsx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n extension: \"xlsx\",\n});\nadd(\"xlsx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n extension: \"xlsx\",\n});\nadd(\"pptx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n extension: \"pptx\",\n});\nadd(\"pptx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n extension: \"pptx\",\n});\nadd(\"pptx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n extension: \"pptx\",\n});\nadd(\"vsdx\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.ms-visio.drawing\",\n extension: \"vsdx\",\n});\nadd(\"vsdx\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.ms-visio.drawing\",\n extension: \"vsdx\",\n});\nadd(\"vsdx\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.ms-visio.drawing\",\n extension: \"vsdx\",\n});\nadd(\"apk\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"apk\",\n});\nadd(\"apk\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"apk\",\n});\nadd(\"apk\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"apk\",\n});\nadd(\"aar\", [\"0x50\", \"0x4B\", \"0x03\", \"0x04\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"aar\",\n});\nadd(\"aar\", [\"0x50\", \"0x4B\", \"0x05\", \"0x06\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"aar\",\n});\nadd(\"aar\", [\"0x50\", \"0x4B\", \"0x07\", \"0x08\"], {\n mime: \"application/vnd.android.package-archive\",\n extension: \"aar\",\n});\nadd(\"rar\", [\"0x52\", \"0x61\", \"0x72\", \"0x21\", \"0x1A\", \"0x07\", \"0x00\"], {\n mime: \"application/vnd.rar\",\n extension: \"rar\",\n});\nadd(\"rar\", [\"0x52\", \"0x61\", \"0x72\", \"0x21\", \"0x1A\", \"0x07\", \"0x01\", \"0x00\"], {\n mime: \"application/vnd.rar\",\n extension: \"rar\",\n});\nadd(\"rar\", [\"0x7F\", \"0x45\", \"0x4C\", \"0x46\"], {\n mime: \"application/vnd.rar\",\n extension: \"rar\",\n});\nadd(\"png\", [\"0x89\", \"0x50\", \"0x4E\", \"0x47\", \"0x0D\", \"0x0A\", \"0x1A\", \"0x0A\"], {\n mime: \"image/png\",\n extension: \"png\",\n});\nadd(\"apng\", [\"0x89\", \"0x50\", \"0x4E\", \"0x47\", \"0x0D\", \"0x0A\", \"0x1A\", \"0x0A\"], {\n mime: \"image/apng\",\n extension: \"apng\",\n});\nadd(\"class\", [\"0xCA\", \"0xFE\", \"0xBA\", \"0xBE\"]);\nadd(\"class\", [\"0xEF\", \"0xBB\", \"0xBF\"]);\nadd(\"class\", [\"0xFE\", \"0xed\", \"0xFA\", \"0xCE\"], undefined, 0x1000);\nadd(\"class\", [\"0xFE\", \"0xed\", \"0xFA\", \"0xCF\"], undefined, 0x1000);\nadd(\"class\", [\"0xCE\", \"0xFA\", \"0xed\", \"0xFE\"]);\nadd(\"class\", [\"0xCF\", \"0xFA\", \"0xed\", \"0xFE\"]);\nadd(\"class\", [\"0xFF\", \"0xFE\"]);\nadd(\"class\", [\"0xFF\", \"0xFE\"]);\nadd(\"class\", [\"0xFF\", \"0xFE\", \"0x00\", \"0x00\"]);\nadd(\"ps\", [\"0x25\", \"0x21\", \"0x50\", \"0x53\"], {\n mime: \"application/postscript\",\n extension: \".ps\"\n});\nadd(\"pdf\", [\"0x25\", \"0x50\", \"0x44\", \"0x46\"], {\n mime: \"application/pdf\",\n extension: \"pdf\",\n});\nadd(\"asf\", [\n \"0x30\",\n \"0x26\",\n \"0xB2\",\n \"0x75\",\n \"0x8E\",\n \"0x66\",\n \"0xCF\",\n \"0x11\",\n \"0xA6\",\n \"0xD9\",\n \"0x00\",\n \"0xAA\",\n \"0x00\",\n \"0x62\",\n \"0xCE\",\n \"0x6C\",\n]);\nadd(\"wma\", [\n \"0x30\",\n \"0x26\",\n \"0xB2\",\n \"0x75\",\n \"0x8E\",\n \"0x66\",\n \"0xCF\",\n \"0x11\",\n \"0xA6\",\n \"0xD9\",\n \"0x00\",\n \"0xAA\",\n \"0x00\",\n \"0x62\",\n \"0xCE\",\n \"0x6C\",\n]);\nadd(\"wmv\", [\n \"0x30\",\n \"0x26\",\n \"0xB2\",\n \"0x75\",\n \"0x8E\",\n \"0x66\",\n \"0xCF\",\n \"0x11\",\n \"0xA6\",\n \"0xD9\",\n \"0x00\",\n \"0xAA\",\n \"0x00\",\n \"0x62\",\n \"0xCE\",\n \"0x6C\",\n]);\nadd(\"deploymentimage\", [\n \"0x24\",\n \"0x53\",\n \"0x44\",\n \"0x49\",\n \"0x30\",\n \"0x30\",\n \"0x30\",\n \"0x31\",\n]);\n// ogg video ' theora'\nadd(\"ogv\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x80\",\n \"0x74\",\n \"0x68\",\n \"0x65\",\n \"0x6F\",\n \"0x72\",\n \"0x61\",\n], {\n mime: \"video/ogg\",\n extension: \"ogv\",\n});\n// ogg video '\\x01video'\nadd(\"ogm\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x01\",\n \"0x76\",\n \"0x69\",\n \"0x64\",\n \"0x65\",\n \"0x6F\",\n \"0x00\",\n], {\n mime: \"video/ogg\",\n extension: \"ogm\",\n});\n// ogg audio ' FLAC'\nadd(\"oga\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x7F\",\n \"0x46\",\n \"0x4C\",\n \"0x41\",\n \"0x43\",\n], {\n mime: \"audio/ogg\",\n extension: \"oga\",\n});\n// ogg audio 'Speex '\nadd(\"spx\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x53\",\n \"0x70\",\n \"0x65\",\n \"0x65\",\n \"0x78\",\n \"0x20\",\n \"0x20\",\n], {\n mime: \"audio/ogg\",\n extension: \"spx\",\n});\n// ogg audio '\\x01vorbis '\nadd(\"ogg\", [\n \"0x4F\",\n \"0x67\",\n \"0x67\",\n \"0x53\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x01\",\n \"0x76\",\n \"0x6F\",\n \"0x72\",\n \"0x62\",\n \"0x69\",\n \"0x73\",\n], {\n mime: \"audio/ogg\",\n extension: \"ogg\",\n});\n// default OGG container\nadd(\"ogx\", [\"0x4F\", \"0x67\", \"0x67\", \"0x53\"], {\n mime: \"application/ogg\",\n extension: \"ogx\",\n});\nadd(\"psd\", [\"0x38\", \"0x42\", \"0x50\", \"0x53\"], {\n mime: \"application/x-photoshop\",\n extension: \"psd\",\n});\nadd(\"clip\", [\"0x43\", \"0x53\", \"0x46\", \"0x43\", \"0x48\", \"0x55\", \"0x4e\", \"0x4b\"]);\nadd(\"wav\", [\n \"0x52\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x57\",\n \"0x41\",\n \"0x56\",\n \"0x45\",\n], { mime: \"audio/x-wav\", extension: \"wav\" });\nadd(\"avi\", [\n \"0x52\",\n \"0x49\",\n \"0x46\",\n \"0x46\",\n \"?\",\n \"?\",\n \"?\",\n \"?\",\n \"0x41\",\n \"0x56\",\n \"0x49\",\n \"0x20\",\n], { mime: \"video/x-msvideo\", extension: \"avi\" });\nadd(\"mp3\", [\"0xFF\", \"0xFB\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"mp3\", [\"0xFF\", \"0xF3\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"mp3\", [\"0xFF\", \"0xF2\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"mp3\", [\"0x49\", \"0x44\", \"0x33\"], { mime: \"audio/mpeg\", extension: \"mp3\" });\nadd(\"bmp\", [\"0x42\", \"0x4D\"], { mime: \"image/bmp\", extension: \"bmp\" });\nadd(\"iso\", [\"0x43\", \"0x44\", \"0x30\", \"0x30\", \"0x31\"]);\nadd(\"flac\", [\"0x66\", \"0x4C\", \"0x61\", \"0x43\"]);\nadd(\"mid\", [\"0x4D\", \"0x54\", \"0x68\", \"0x64\"], {\n mime: \"audio/midi\",\n extension: \"mid\",\n});\nadd(\"midi\", [\"0x4D\", \"0x54\", \"0x68\", \"0x64\"], {\n mime: \"audio/midi\",\n extension: \"midi\",\n});\nadd(\"doc\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"], {\n mime: \"application/msword\",\n extension: \"doc\",\n});\nadd(\"xls\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"], {\n mime: \"application/vnd.ms-excel\",\n extension: \"xls\",\n});\nadd(\"ppt\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"], {\n mime: \"application/vnd.ms-powerpoint\",\n extension: \"ppt\",\n});\nadd(\"msg\", [\"0xD0\", \"0xCF\", \"0x11\", \"0xE0\", \"0xA1\", \"0xB1\", \"0x1A\", \"0xE1\"]);\nadd(\"dex\", [\"0x64\", \"0x65\", \"0x78\", \"0x0A\", \"0x30\", \"0x33\", \"0x35\", \"0x00\"]);\nadd(\"vmdk\", [\"0x4B\", \"0x44\", \"0x4D\"]);\nadd(\"crx\", [\"0x43\", \"0x72\", \"0x32\", \"0x34\"]);\nadd(\"fh8\", [\"0x41\", \"0x47\", \"0x44\", \"0x33\"]);\nadd(\"cwk\", [\n \"0x05\",\n \"0x07\",\n \"0x00\",\n \"0x00\",\n \"0x42\",\n \"0x4F\",\n \"0x42\",\n \"0x4F\",\n \"0x05\",\n \"0x07\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x01\",\n]);\nadd(\"cwk\", [\n \"0x06\",\n \"0x07\",\n \"0xE1\",\n \"0x00\",\n \"0x42\",\n \"0x4F\",\n \"0x42\",\n \"0x4F\",\n \"0x06\",\n \"0x07\",\n \"0xE1\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x00\",\n \"0x01\",\n]);\nadd(\"toast\", [\"0x45\", \"0x52\", \"0x02\", \"0x00\", \"0x00\", \"0x00\"]);\nadd(\"toast\", [\"0x8B\", \"0x45\", \"0x52\", \"0x02\", \"0x00\", \"0x00\", \"0x00\"]);\nadd(\"dmg\", [\"0x78\", \"0x01\", \"0x73\", \"0x0D\", \"0x62\", \"0x62\", \"0x60\"]);\nadd(\"xar\", [\"0x78\", \"0x61\", \"0x72\", \"0x21\"]);\nadd(\"dat\", [\"0x50\", \"0x4D\", \"0x4F\", \"0x43\", \"0x43\", \"0x4D\", \"0x4F\", \"0x43\"]);\nadd(\"nes\", [\"0x4E\", \"0x45\", \"0x53\", \"0x1A\"]);\nadd(\"tar\", [\"0x75\", \"0x73\", \"0x74\", \"0x61\", \"0x72\", \"0x00\", \"0x30\", \"0x30\"], {\n // As per Mozilla documentation available at:\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n // or wikipedia page:\n // https://en.wikipedia.org/wiki/List_of_archive_formats\n mime: \"application/x-tar\",\n extension: \"tar\"\n}, 0x101);\nadd(\"tar\", [\"0x75\", \"0x73\", \"0x74\", \"0x61\", \"0x72\", \"0x20\", \"0x20\", \"0x00\"], {\n mime: \"application/x-tar\",\n extension: \"tar\"\n}, 0x101);\nadd(\"tox\", [\"0x74\", \"0x6F\", \"0x78\", \"0x33\"]);\nadd(\"mlv\", [\"0x4D\", \"0x4C\", \"0x56\", \"0x49\"]);\nadd(\"windowsupdate\", [\n \"0x44\",\n \"0x43\",\n \"0x4D\",\n \"0x01\",\n \"0x50\",\n \"0x41\",\n \"0x33\",\n \"0x30\",\n]);\nadd(\"7z\", [\"0x37\", \"0x7A\", \"0xBC\", \"0xAF\", \"0x27\", \"0x1C\"], {\n mime: \"application/x-7z-compressed\",\n extension: \"7z\",\n});\nadd(\"gz\", [\"0x1F\", \"0x8B\"], { mime: \"application/gzip\", extension: \"gz\" });\nadd(\"tar.gz\", [\"0x1F\", \"0x8B\"], {\n mime: \"application/gzip\",\n extension: \"tar.gz\",\n});\nadd(\"xz\", [\"0xFD\", \"0x37\", \"0x7A\", \"0x58\", \"0x5A\", \"0x00\", \"0x00\"], {\n mime: \"application/gzip\",\n extension: \"xz\",\n});\nadd(\"tar.xz\", [\"0xFD\", \"0x37\", \"0x7A\", \"0x58\", \"0x5A\", \"0x00\", \"0x00\"], {\n mime: \"application/gzip\",\n extension: \"tar.xz\",\n});\nadd(\"lz2\", [\"0x04\", \"0x22\", \"0x4D\", \"0x18\"]);\nadd(\"cab\", [\"0x4D\", \"0x53\", \"0x43\", \"0x46\"]);\nadd(\"mkv\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"video/x-matroska\",\n extension: \"mkv\",\n});\nadd(\"mka\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"audio/x-matroska\",\n extension: \"mka\",\n});\nadd(\"mks\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"video/x-matroska\",\n extension: \"mks\",\n});\nadd(\"mk3d\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"]);\nadd(\"webm\", [\"0x1A\", \"0x45\", \"0xDF\", \"0xA3\"], {\n mime: \"audio/webm\",\n extension: \"webm\",\n});\nadd(\"dcm\", [\"0x44\", \"0x49\", \"0x43\", \"0x4D\"], undefined, 0x80);\nadd(\"xml\", [\"0x3C\", \"0x3f\", \"0x78\", \"0x6d\", \"0x6C\", \"0x20\"], {\n mime: \"application/xml\",\n extension: \"xml\",\n});\nadd(\"wasm\", [\"0x00\", \"0x61\", \"0x73\", \"0x6d\"], {\n mime: \"application/wasm\",\n extension: \"wasm\",\n});\nadd(\"lep\", [\"0xCF\", \"0x84\", \"0x01\"]);\nadd(\"swf\", [\"0x43\", \"0x57\", \"0x53\"], {\n mime: \"application/x-shockwave-flash\",\n extension: \"swf\",\n});\nadd(\"swf\", [\"0x46\", \"0x57\", \"0x53\"], {\n mime: \"application/x-shockwave-flash\",\n extension: \"swf\",\n});\nadd(\"deb\", [\"0x21\", \"0x3C\", \"0x61\", \"0x72\", \"0x63\", \"0x68\", \"0x3E\"]);\nadd(\"rtf\", [\"0x7B\", \"0x5C\", \"0x72\", \"0x74\", \"0x66\", \"0x31\"], {\n mime: \"application/rtf\",\n extension: \"rtf\",\n});\nadd(\"m2p\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"]);\nadd(\"vob\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"]);\nadd(\"mpg\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"], {\n mime: \"video/mpeg\",\n extension: \"mpg\",\n});\nadd(\"mpeg\", [\"0x00\", \"0x00\", \"0x01\", \"0xBA\"], {\n mime: \"video/mpeg\",\n extension: \"mpeg\",\n});\nadd(\"mpeg\", [\"0x47\"], { mime: \"video/mpeg\", extension: \"mpeg\" });\nadd(\"mpeg\", [\"0x00\", \"0x00\", \"0x01\", \"0xB3\"], {\n mime: \"video/mpeg\",\n extension: \"mpeg\",\n});\n// mov 'free' TODO: find test file\nadd(\"mov\", [\"0x66\", \"0x72\", \"0x65\", \"0x65\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// mov 'mdat'\nadd(\"mov\", [\"0x6D\", \"0x64\", \"0x61\", \"0x74\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// mov 'moov' TODO: find test file\nadd(\"mov\", [\"0x6D\", \"0x6F\", \"0x6F\", \"0x76\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// move 'wide' TODO: find test file\nadd(\"mov\", [\"0x77\", \"0x69\", \"0x64\", \"0x65\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\n// mov 'ftypqt'\nadd(\"mov\", [\"0x66\", \"0x74\", \"0x79\", \"0x70\", \"0x71\", \"0x74\"], {\n mime: \"video/quicktime\",\n extension: \"mov\",\n}, 0x4);\nadd(\"hl2demo\", [\"0x48\", \"0x4C\", \"0x32\", \"0x44\", \"0x45\", \"0x4D\", \"0x4F\"]);\nadd(\"txt\", [\"0xEF\", \"0xBB\", \"0xBF\"], {\n mime: \"text/plain; charset=UTF-8\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0xFF\", \"0xFE\"], {\n mime: \"text/plain; charset=UTF-16LE\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0xFE\", \"0xFF\"], {\n mime: \"text/plain; charset=UTF-16BE\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0xFF\", \"0xFE\", \"0x00\", \"0x00\"], {\n mime: \"text/plain; charset=UTF-32LE\",\n extension: \"txt\",\n});\nadd(\"txt\", [\"0x00\", \"0x00\", \"0xFE\", \"0xFF\"], {\n mime: \"text/plain; charset=UTF-32BE\",\n extension: \"txt\",\n});\nadd(\"SubRip\", [\"0x31\", \"0x0D\", \"0x0A\", \"0x30\", \"0x30\", \"0x3A\"], {\n mime: \"application/x-subrip\",\n extension: \"srt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x0A\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x0D\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x20\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\n \"0xEF\",\n \"0xBB\",\n \"0xBF\",\n \"0x57\",\n \"0x45\",\n \"0x42\",\n \"0x56\",\n \"0x54\",\n \"0x54\",\n \"0x09\",\n], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x0A\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x0D\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x20\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"WebVTT\", [\"0x57\", \"0x45\", \"0x42\", \"0x56\", \"0x54\", \"0x54\", \"0x09\"], {\n mime: \"text/vtt\",\n extension: \"vtt\",\n});\nadd(\"Json\", [\"0x7B\"], {\n mime: \"application/json\",\n extension: \".json\",\n});\nadd(\"Json\", [\"0x5B\"], {\n mime: \"application/json\",\n extension: \".json\",\n});\nadd(\"ELF\", [\"0x7F\", \"0x45\", \"0x4C\", \"0x46\"], {\n mime: \"application/x-executable\",\n extension: \".elf\",\n});\nadd(\"Mach-O\", [\"0xFE\", \"0xED\", \"0xFA\", \"0xC\"], {\n mime: \"application/x-mach-binary\",\n extension: \".o\",\n});\nadd(\"Mach-O\", [\"0xFE\", \"0xED\", \"0xFA\", \"0xCF\"], {\n mime: \"application/x-executable\",\n extension: \"elf\",\n});\nadd(\"EML\", [\"0x52\", \"0x65\", \"0x63\", \"0x65\", \"0x69\", \"0x76\", \"0x65\", \"0x64\", \"0x3A\"], {\n mime: \"message/rfc822\",\n extension: \".eml\",\n});\nadd(\"SVG\", [\"0x3c\", \"0x73\", \"0x76\", \"0x67\"], {\n mime: \"image/svg+xml\",\n extension: \"svg\",\n});\nexports.default = () => tree;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filetypeextension = exports.filetypemime = exports.filetypename = exports.filetypeinfo = void 0;\nconst pattern_tree_1 = __importDefault(require(\"./model/pattern-tree\"));\nconst toHex_1 = require(\"./model/toHex\");\nconst patternTree = pattern_tree_1.default();\nconst filetypeinfo = (bytes) => {\n let tree = patternTree;\n for (const k of Object.keys(tree.offset)) {\n const offset = toHex_1.fromHex(k);\n const offsetExceedsFile = offset >= bytes.length;\n if (offsetExceedsFile) {\n continue;\n }\n const node = patternTree.offset[k];\n const guessed = walkTree(offset, bytes, node);\n if (guessed.length > 0) {\n return guessed;\n }\n }\n if (tree.noOffset === null) {\n return [];\n }\n return walkTree(0, bytes, tree.noOffset);\n};\nexports.filetypeinfo = filetypeinfo;\nconst walkTree = (index, bytes, node) => {\n let step = node;\n let guessFile = [];\n while (true) {\n const currentByte = toHex_1.toHex(bytes[index]);\n if (step.bytes[\"?\"] && !step.bytes[currentByte]) {\n step = step.bytes[\"?\"];\n }\n else {\n step = step.bytes[currentByte];\n }\n if (!step) {\n return guessFile;\n }\n if (step && step.matches) {\n guessFile = step.matches.slice(0);\n }\n index += 1;\n }\n};\nexports.default = exports.filetypeinfo;\nconst filetypename = (bytes) => exports.filetypeinfo(bytes).map((e) => e.typename);\nexports.filetypename = filetypename;\nconst filetypemime = (bytes) => exports.filetypeinfo(bytes)\n .map((e) => (e.mime ? e.mime : null))\n .filter((x) => x !== null);\nexports.filetypemime = filetypemime;\nconst filetypeextension = (bytes) => exports.filetypeinfo(bytes)\n .map((e) => (e.extension ? e.extension : null))\n .filter((x) => x !== null);\nexports.filetypeextension = filetypeextension;\n","/** @license React v16.13.1\n * react-is.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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export const COMMON_MIME_TYPES = new Map([\n // https://github.com/guzzle/psr7/blob/2d9260799e713f1c475d3c5fdc3d6561ff7441b2/src/MimeType.php\n ['1km', 'application/vnd.1000minds.decision-model+xml'],\n ['3dml', 'text/vnd.in3d.3dml'],\n ['3ds', 'image/x-3ds'],\n ['3g2', 'video/3gpp2'],\n ['3gp', 'video/3gp'],\n ['3gpp', 'video/3gpp'],\n ['3mf', 'model/3mf'],\n ['7z', 'application/x-7z-compressed'],\n ['7zip', 'application/x-7z-compressed'],\n ['123', 'application/vnd.lotus-1-2-3'],\n ['aab', 'application/x-authorware-bin'],\n ['aac', 'audio/x-acc'],\n ['aam', 'application/x-authorware-map'],\n ['aas', 'application/x-authorware-seg'],\n ['abw', 'application/x-abiword'],\n ['ac', 'application/vnd.nokia.n-gage.ac+xml'],\n ['ac3', 'audio/ac3'],\n ['acc', 'application/vnd.americandynamics.acc'],\n ['ace', 'application/x-ace-compressed'],\n ['acu', 'application/vnd.acucobol'],\n ['acutc', 'application/vnd.acucorp'],\n ['adp', 'audio/adpcm'],\n ['aep', 'application/vnd.audiograph'],\n ['afm', 'application/x-font-type1'],\n ['afp', 'application/vnd.ibm.modcap'],\n ['ahead', 'application/vnd.ahead.space'],\n ['ai', 'application/pdf'],\n ['aif', 'audio/x-aiff'],\n ['aifc', 'audio/x-aiff'],\n ['aiff', 'audio/x-aiff'],\n ['air', 'application/vnd.adobe.air-application-installer-package+zip'],\n ['ait', 'application/vnd.dvb.ait'],\n ['ami', 'application/vnd.amiga.ami'],\n ['amr', 'audio/amr'],\n ['apk', 'application/vnd.android.package-archive'],\n ['apng', 'image/apng'],\n ['appcache', 'text/cache-manifest'],\n ['application', 'application/x-ms-application'],\n ['apr', 'application/vnd.lotus-approach'],\n ['arc', 'application/x-freearc'],\n ['arj', 'application/x-arj'],\n ['asc', 'application/pgp-signature'],\n ['asf', 'video/x-ms-asf'],\n ['asm', 'text/x-asm'],\n ['aso', 'application/vnd.accpac.simply.aso'],\n ['asx', 'video/x-ms-asf'],\n ['atc', 'application/vnd.acucorp'],\n ['atom', 'application/atom+xml'],\n ['atomcat', 'application/atomcat+xml'],\n ['atomdeleted', 'application/atomdeleted+xml'],\n ['atomsvc', 'application/atomsvc+xml'],\n ['atx', 'application/vnd.antix.game-component'],\n ['au', 'audio/x-au'],\n ['avi', 'video/x-msvideo'],\n ['avif', 'image/avif'],\n ['aw', 'application/applixware'],\n ['azf', 'application/vnd.airzip.filesecure.azf'],\n ['azs', 'application/vnd.airzip.filesecure.azs'],\n ['azv', 'image/vnd.airzip.accelerator.azv'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['b16', 'image/vnd.pco.b16'],\n ['bat', 'application/x-msdownload'],\n ['bcpio', 'application/x-bcpio'],\n ['bdf', 'application/x-font-bdf'],\n ['bdm', 'application/vnd.syncml.dm+wbxml'],\n ['bdoc', 'application/x-bdoc'],\n ['bed', 'application/vnd.realvnc.bed'],\n ['bh2', 'application/vnd.fujitsu.oasysprs'],\n ['bin', 'application/octet-stream'],\n ['blb', 'application/x-blorb'],\n ['blorb', 'application/x-blorb'],\n ['bmi', 'application/vnd.bmi'],\n ['bmml', 'application/vnd.balsamiq.bmml+xml'],\n ['bmp', 'image/bmp'],\n ['book', 'application/vnd.framemaker'],\n ['box', 'application/vnd.previewsystems.box'],\n ['boz', 'application/x-bzip2'],\n ['bpk', 'application/octet-stream'],\n ['bpmn', 'application/octet-stream'],\n ['bsp', 'model/vnd.valve.source.compiled-map'],\n ['btif', 'image/prs.btif'],\n ['buffer', 'application/octet-stream'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['c', 'text/x-c'],\n ['c4d', 'application/vnd.clonk.c4group'],\n ['c4f', 'application/vnd.clonk.c4group'],\n ['c4g', 'application/vnd.clonk.c4group'],\n ['c4p', 'application/vnd.clonk.c4group'],\n ['c4u', 'application/vnd.clonk.c4group'],\n ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],\n ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],\n ['cab', 'application/vnd.ms-cab-compressed'],\n ['caf', 'audio/x-caf'],\n ['cap', 'application/vnd.tcpdump.pcap'],\n ['car', 'application/vnd.curl.car'],\n ['cat', 'application/vnd.ms-pki.seccat'],\n ['cb7', 'application/x-cbr'],\n ['cba', 'application/x-cbr'],\n ['cbr', 'application/x-cbr'],\n ['cbt', 'application/x-cbr'],\n ['cbz', 'application/x-cbr'],\n ['cc', 'text/x-c'],\n ['cco', 'application/x-cocoa'],\n ['cct', 'application/x-director'],\n ['ccxml', 'application/ccxml+xml'],\n ['cdbcmsg', 'application/vnd.contact.cmsg'],\n ['cda', 'application/x-cdf'],\n ['cdf', 'application/x-netcdf'],\n ['cdfx', 'application/cdfx+xml'],\n ['cdkey', 'application/vnd.mediastation.cdkey'],\n ['cdmia', 'application/cdmi-capability'],\n ['cdmic', 'application/cdmi-container'],\n ['cdmid', 'application/cdmi-domain'],\n ['cdmio', 'application/cdmi-object'],\n ['cdmiq', 'application/cdmi-queue'],\n ['cdr', 'application/cdr'],\n ['cdx', 'chemical/x-cdx'],\n ['cdxml', 'application/vnd.chemdraw+xml'],\n ['cdy', 'application/vnd.cinderella'],\n ['cer', 'application/pkix-cert'],\n ['cfs', 'application/x-cfs-compressed'],\n ['cgm', 'image/cgm'],\n ['chat', 'application/x-chat'],\n ['chm', 'application/vnd.ms-htmlhelp'],\n ['chrt', 'application/vnd.kde.kchart'],\n ['cif', 'chemical/x-cif'],\n ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],\n ['cil', 'application/vnd.ms-artgalry'],\n ['cjs', 'application/node'],\n ['cla', 'application/vnd.claymore'],\n ['class', 'application/octet-stream'],\n ['clkk', 'application/vnd.crick.clicker.keyboard'],\n ['clkp', 'application/vnd.crick.clicker.palette'],\n ['clkt', 'application/vnd.crick.clicker.template'],\n ['clkw', 'application/vnd.crick.clicker.wordbank'],\n ['clkx', 'application/vnd.crick.clicker'],\n ['clp', 'application/x-msclip'],\n ['cmc', 'application/vnd.cosmocaller'],\n ['cmdf', 'chemical/x-cmdf'],\n ['cml', 'chemical/x-cml'],\n ['cmp', 'application/vnd.yellowriver-custom-menu'],\n ['cmx', 'image/x-cmx'],\n ['cod', 'application/vnd.rim.cod'],\n ['coffee', 'text/coffeescript'],\n ['com', 'application/x-msdownload'],\n ['conf', 'text/plain'],\n ['cpio', 'application/x-cpio'],\n ['cpp', 'text/x-c'],\n ['cpt', 'application/mac-compactpro'],\n ['crd', 'application/x-mscardfile'],\n ['crl', 'application/pkix-crl'],\n ['crt', 'application/x-x509-ca-cert'],\n ['crx', 'application/x-chrome-extension'],\n ['cryptonote', 'application/vnd.rig.cryptonote'],\n ['csh', 'application/x-csh'],\n ['csl', 'application/vnd.citationstyles.style+xml'],\n ['csml', 'chemical/x-csml'],\n ['csp', 'application/vnd.commonspace'],\n ['csr', 'application/octet-stream'],\n ['css', 'text/css'],\n ['cst', 'application/x-director'],\n ['csv', 'text/csv'],\n ['cu', 'application/cu-seeme'],\n ['curl', 'text/vnd.curl'],\n ['cww', 'application/prs.cww'],\n ['cxt', 'application/x-director'],\n ['cxx', 'text/x-c'],\n ['dae', 'model/vnd.collada+xml'],\n ['daf', 'application/vnd.mobius.daf'],\n ['dart', 'application/vnd.dart'],\n ['dataless', 'application/vnd.fdsn.seed'],\n ['davmount', 'application/davmount+xml'],\n ['dbf', 'application/vnd.dbf'],\n ['dbk', 'application/docbook+xml'],\n ['dcr', 'application/x-director'],\n ['dcurl', 'text/vnd.curl.dcurl'],\n ['dd2', 'application/vnd.oma.dd2+xml'],\n ['ddd', 'application/vnd.fujixerox.ddd'],\n ['ddf', 'application/vnd.syncml.dmddf+xml'],\n ['dds', 'image/vnd.ms-dds'],\n ['deb', 'application/x-debian-package'],\n ['def', 'text/plain'],\n ['deploy', 'application/octet-stream'],\n ['der', 'application/x-x509-ca-cert'],\n ['dfac', 'application/vnd.dreamfactory'],\n ['dgc', 'application/x-dgc-compressed'],\n ['dic', 'text/x-c'],\n ['dir', 'application/x-director'],\n ['dis', 'application/vnd.mobius.dis'],\n ['disposition-notification', 'message/disposition-notification'],\n ['dist', 'application/octet-stream'],\n ['distz', 'application/octet-stream'],\n ['djv', 'image/vnd.djvu'],\n ['djvu', 'image/vnd.djvu'],\n ['dll', 'application/octet-stream'],\n ['dmg', 'application/x-apple-diskimage'],\n ['dmn', 'application/octet-stream'],\n ['dmp', 'application/vnd.tcpdump.pcap'],\n ['dms', 'application/octet-stream'],\n ['dna', 'application/vnd.dna'],\n ['doc', 'application/msword'],\n ['docm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['dot', 'application/msword'],\n ['dotm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],\n ['dp', 'application/vnd.osgi.dp'],\n ['dpg', 'application/vnd.dpgraph'],\n ['dra', 'audio/vnd.dra'],\n ['drle', 'image/dicom-rle'],\n ['dsc', 'text/prs.lines.tag'],\n ['dssc', 'application/dssc+der'],\n ['dtb', 'application/x-dtbook+xml'],\n ['dtd', 'application/xml-dtd'],\n ['dts', 'audio/vnd.dts'],\n ['dtshd', 'audio/vnd.dts.hd'],\n ['dump', 'application/octet-stream'],\n ['dvb', 'video/vnd.dvb.file'],\n ['dvi', 'application/x-dvi'],\n ['dwd', 'application/atsc-dwd+xml'],\n ['dwf', 'model/vnd.dwf'],\n ['dwg', 'image/vnd.dwg'],\n ['dxf', 'image/vnd.dxf'],\n ['dxp', 'application/vnd.spotfire.dxp'],\n ['dxr', 'application/x-director'],\n ['ear', 'application/java-archive'],\n ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],\n ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],\n ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],\n ['ecma', 'application/ecmascript'],\n ['edm', 'application/vnd.novadigm.edm'],\n ['edx', 'application/vnd.novadigm.edx'],\n ['efif', 'application/vnd.picsel'],\n ['ei6', 'application/vnd.pg.osasli'],\n ['elc', 'application/octet-stream'],\n ['emf', 'image/emf'],\n ['eml', 'message/rfc822'],\n ['emma', 'application/emma+xml'],\n ['emotionml', 'application/emotionml+xml'],\n ['emz', 'application/x-msmetafile'],\n ['eol', 'audio/vnd.digital-winds'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['eps', 'application/postscript'],\n ['epub', 'application/epub+zip'],\n ['es', 'application/ecmascript'],\n ['es3', 'application/vnd.eszigno3+xml'],\n ['esa', 'application/vnd.osgi.subsystem'],\n ['esf', 'application/vnd.epson.esf'],\n ['et3', 'application/vnd.eszigno3+xml'],\n ['etx', 'text/x-setext'],\n ['eva', 'application/x-eva'],\n ['evy', 'application/x-envoy'],\n ['exe', 'application/octet-stream'],\n ['exi', 'application/exi'],\n ['exp', 'application/express'],\n ['exr', 'image/aces'],\n ['ext', 'application/vnd.novadigm.ext'],\n ['ez', 'application/andrew-inset'],\n ['ez2', 'application/vnd.ezpix-album'],\n ['ez3', 'application/vnd.ezpix-package'],\n ['f', 'text/x-fortran'],\n ['f4v', 'video/mp4'],\n ['f77', 'text/x-fortran'],\n ['f90', 'text/x-fortran'],\n ['fbs', 'image/vnd.fastbidsheet'],\n ['fcdt', 'application/vnd.adobe.formscentral.fcdt'],\n ['fcs', 'application/vnd.isac.fcs'],\n ['fdf', 'application/vnd.fdf'],\n ['fdt', 'application/fdt+xml'],\n ['fe_launch', 'application/vnd.denovo.fcselayout-link'],\n ['fg5', 'application/vnd.fujitsu.oasysgp'],\n ['fgd', 'application/x-director'],\n ['fh', 'image/x-freehand'],\n ['fh4', 'image/x-freehand'],\n ['fh5', 'image/x-freehand'],\n ['fh7', 'image/x-freehand'],\n ['fhc', 'image/x-freehand'],\n ['fig', 'application/x-xfig'],\n ['fits', 'image/fits'],\n ['flac', 'audio/x-flac'],\n ['fli', 'video/x-fli'],\n ['flo', 'application/vnd.micrografx.flo'],\n ['flv', 'video/x-flv'],\n ['flw', 'application/vnd.kde.kivio'],\n ['flx', 'text/vnd.fmi.flexstor'],\n ['fly', 'text/vnd.fly'],\n ['fm', 'application/vnd.framemaker'],\n ['fnc', 'application/vnd.frogans.fnc'],\n ['fo', 'application/vnd.software602.filler.form+xml'],\n ['for', 'text/x-fortran'],\n ['fpx', 'image/vnd.fpx'],\n ['frame', 'application/vnd.framemaker'],\n ['fsc', 'application/vnd.fsc.weblaunch'],\n ['fst', 'image/vnd.fst'],\n ['ftc', 'application/vnd.fluxtime.clip'],\n ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],\n ['fvt', 'video/vnd.fvt'],\n ['fxp', 'application/vnd.adobe.fxp'],\n ['fxpl', 'application/vnd.adobe.fxp'],\n ['fzs', 'application/vnd.fuzzysheet'],\n ['g2w', 'application/vnd.geoplan'],\n ['g3', 'image/g3fax'],\n ['g3w', 'application/vnd.geospace'],\n ['gac', 'application/vnd.groove-account'],\n ['gam', 'application/x-tads'],\n ['gbr', 'application/rpki-ghostbusters'],\n ['gca', 'application/x-gca-compressed'],\n ['gdl', 'model/vnd.gdl'],\n ['gdoc', 'application/vnd.google-apps.document'],\n ['geo', 'application/vnd.dynageo'],\n ['geojson', 'application/geo+json'],\n ['gex', 'application/vnd.geometry-explorer'],\n ['ggb', 'application/vnd.geogebra.file'],\n ['ggt', 'application/vnd.geogebra.tool'],\n ['ghf', 'application/vnd.groove-help'],\n ['gif', 'image/gif'],\n ['gim', 'application/vnd.groove-identity-message'],\n ['glb', 'model/gltf-binary'],\n ['gltf', 'model/gltf+json'],\n ['gml', 'application/gml+xml'],\n ['gmx', 'application/vnd.gmx'],\n ['gnumeric', 'application/x-gnumeric'],\n ['gpg', 'application/gpg-keys'],\n ['gph', 'application/vnd.flographit'],\n ['gpx', 'application/gpx+xml'],\n ['gqf', 'application/vnd.grafeq'],\n ['gqs', 'application/vnd.grafeq'],\n ['gram', 'application/srgs'],\n ['gramps', 'application/x-gramps-xml'],\n ['gre', 'application/vnd.geometry-explorer'],\n ['grv', 'application/vnd.groove-injector'],\n ['grxml', 'application/srgs+xml'],\n ['gsf', 'application/x-font-ghostscript'],\n ['gsheet', 'application/vnd.google-apps.spreadsheet'],\n ['gslides', 'application/vnd.google-apps.presentation'],\n ['gtar', 'application/x-gtar'],\n ['gtm', 'application/vnd.groove-tool-message'],\n ['gtw', 'model/vnd.gtw'],\n ['gv', 'text/vnd.graphviz'],\n ['gxf', 'application/gxf'],\n ['gxt', 'application/vnd.geonext'],\n ['gz', 'application/gzip'],\n ['gzip', 'application/gzip'],\n ['h', 'text/x-c'],\n ['h261', 'video/h261'],\n ['h263', 'video/h263'],\n ['h264', 'video/h264'],\n ['hal', 'application/vnd.hal+xml'],\n ['hbci', 'application/vnd.hbci'],\n ['hbs', 'text/x-handlebars-template'],\n ['hdd', 'application/x-virtualbox-hdd'],\n ['hdf', 'application/x-hdf'],\n ['heic', 'image/heic'],\n ['heics', 'image/heic-sequence'],\n ['heif', 'image/heif'],\n ['heifs', 'image/heif-sequence'],\n ['hej2', 'image/hej2k'],\n ['held', 'application/atsc-held+xml'],\n ['hh', 'text/x-c'],\n ['hjson', 'application/hjson'],\n ['hlp', 'application/winhlp'],\n ['hpgl', 'application/vnd.hp-hpgl'],\n ['hpid', 'application/vnd.hp-hpid'],\n ['hps', 'application/vnd.hp-hps'],\n ['hqx', 'application/mac-binhex40'],\n ['hsj2', 'image/hsj2'],\n ['htc', 'text/x-component'],\n ['htke', 'application/vnd.kenameaapp'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['hvd', 'application/vnd.yamaha.hv-dic'],\n ['hvp', 'application/vnd.yamaha.hv-voice'],\n ['hvs', 'application/vnd.yamaha.hv-script'],\n ['i2g', 'application/vnd.intergeo'],\n ['icc', 'application/vnd.iccprofile'],\n ['ice', 'x-conference/x-cooltalk'],\n ['icm', 'application/vnd.iccprofile'],\n ['ico', 'image/x-icon'],\n ['ics', 'text/calendar'],\n ['ief', 'image/ief'],\n ['ifb', 'text/calendar'],\n ['ifm', 'application/vnd.shana.informed.formdata'],\n ['iges', 'model/iges'],\n ['igl', 'application/vnd.igloader'],\n ['igm', 'application/vnd.insors.igm'],\n ['igs', 'model/iges'],\n ['igx', 'application/vnd.micrografx.igx'],\n ['iif', 'application/vnd.shana.informed.interchange'],\n ['img', 'application/octet-stream'],\n ['imp', 'application/vnd.accpac.simply.imp'],\n ['ims', 'application/vnd.ms-ims'],\n ['in', 'text/plain'],\n ['ini', 'text/plain'],\n ['ink', 'application/inkml+xml'],\n ['inkml', 'application/inkml+xml'],\n ['install', 'application/x-install-instructions'],\n ['iota', 'application/vnd.astraea-software.iota'],\n ['ipfix', 'application/ipfix'],\n ['ipk', 'application/vnd.shana.informed.package'],\n ['irm', 'application/vnd.ibm.rights-management'],\n ['irp', 'application/vnd.irepository.package+xml'],\n ['iso', 'application/x-iso9660-image'],\n ['itp', 'application/vnd.shana.informed.formtemplate'],\n ['its', 'application/its+xml'],\n ['ivp', 'application/vnd.immervision-ivp'],\n ['ivu', 'application/vnd.immervision-ivu'],\n ['jad', 'text/vnd.sun.j2me.app-descriptor'],\n ['jade', 'text/jade'],\n ['jam', 'application/vnd.jam'],\n ['jar', 'application/java-archive'],\n ['jardiff', 'application/x-java-archive-diff'],\n ['java', 'text/x-java-source'],\n ['jhc', 'image/jphc'],\n ['jisp', 'application/vnd.jisp'],\n ['jls', 'image/jls'],\n ['jlt', 'application/vnd.hp-jlyt'],\n ['jng', 'image/x-jng'],\n ['jnlp', 'application/x-java-jnlp-file'],\n ['joda', 'application/vnd.joost.joda-archive'],\n ['jp2', 'image/jp2'],\n ['jpe', 'image/jpeg'],\n ['jpeg', 'image/jpeg'],\n ['jpf', 'image/jpx'],\n ['jpg', 'image/jpeg'],\n ['jpg2', 'image/jp2'],\n ['jpgm', 'video/jpm'],\n ['jpgv', 'video/jpeg'],\n ['jph', 'image/jph'],\n ['jpm', 'video/jpm'],\n ['jpx', 'image/jpx'],\n ['js', 'application/javascript'],\n ['json', 'application/json'],\n ['json5', 'application/json5'],\n ['jsonld', 'application/ld+json'],\n // https://jsonlines.org/\n ['jsonl', 'application/jsonl'],\n ['jsonml', 'application/jsonml+json'],\n ['jsx', 'text/jsx'],\n ['jxr', 'image/jxr'],\n ['jxra', 'image/jxra'],\n ['jxrs', 'image/jxrs'],\n ['jxs', 'image/jxs'],\n ['jxsc', 'image/jxsc'],\n ['jxsi', 'image/jxsi'],\n ['jxss', 'image/jxss'],\n ['kar', 'audio/midi'],\n ['karbon', 'application/vnd.kde.karbon'],\n ['kdb', 'application/octet-stream'],\n ['kdbx', 'application/x-keepass2'],\n ['key', 'application/x-iwork-keynote-sffkey'],\n ['kfo', 'application/vnd.kde.kformula'],\n ['kia', 'application/vnd.kidspiration'],\n ['kml', 'application/vnd.google-earth.kml+xml'],\n ['kmz', 'application/vnd.google-earth.kmz'],\n ['kne', 'application/vnd.kinar'],\n ['knp', 'application/vnd.kinar'],\n ['kon', 'application/vnd.kde.kontour'],\n ['kpr', 'application/vnd.kde.kpresenter'],\n ['kpt', 'application/vnd.kde.kpresenter'],\n ['kpxx', 'application/vnd.ds-keypoint'],\n ['ksp', 'application/vnd.kde.kspread'],\n ['ktr', 'application/vnd.kahootz'],\n ['ktx', 'image/ktx'],\n ['ktx2', 'image/ktx2'],\n ['ktz', 'application/vnd.kahootz'],\n ['kwd', 'application/vnd.kde.kword'],\n ['kwt', 'application/vnd.kde.kword'],\n ['lasxml', 'application/vnd.las.las+xml'],\n ['latex', 'application/x-latex'],\n ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],\n ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],\n ['les', 'application/vnd.hhe.lesson-player'],\n ['less', 'text/less'],\n ['lgr', 'application/lgr+xml'],\n ['lha', 'application/octet-stream'],\n ['link66', 'application/vnd.route66.link66+xml'],\n ['list', 'text/plain'],\n ['list3820', 'application/vnd.ibm.modcap'],\n ['listafp', 'application/vnd.ibm.modcap'],\n ['litcoffee', 'text/coffeescript'],\n ['lnk', 'application/x-ms-shortcut'],\n ['log', 'text/plain'],\n ['lostxml', 'application/lost+xml'],\n ['lrf', 'application/octet-stream'],\n ['lrm', 'application/vnd.ms-lrm'],\n ['ltf', 'application/vnd.frogans.ltf'],\n ['lua', 'text/x-lua'],\n ['luac', 'application/x-lua-bytecode'],\n ['lvp', 'audio/vnd.lucent.voice'],\n ['lwp', 'application/vnd.lotus-wordpro'],\n ['lzh', 'application/octet-stream'],\n ['m1v', 'video/mpeg'],\n ['m2a', 'audio/mpeg'],\n ['m2v', 'video/mpeg'],\n ['m3a', 'audio/mpeg'],\n ['m3u', 'text/plain'],\n ['m3u8', 'application/vnd.apple.mpegurl'],\n ['m4a', 'audio/x-m4a'],\n ['m4p', 'application/mp4'],\n ['m4s', 'video/iso.segment'],\n ['m4u', 'application/vnd.mpegurl'],\n ['m4v', 'video/x-m4v'],\n ['m13', 'application/x-msmediaview'],\n ['m14', 'application/x-msmediaview'],\n ['m21', 'application/mp21'],\n ['ma', 'application/mathematica'],\n ['mads', 'application/mads+xml'],\n ['maei', 'application/mmt-aei+xml'],\n ['mag', 'application/vnd.ecowin.chart'],\n ['maker', 'application/vnd.framemaker'],\n ['man', 'text/troff'],\n ['manifest', 'text/cache-manifest'],\n ['map', 'application/json'],\n ['mar', 'application/octet-stream'],\n ['markdown', 'text/markdown'],\n ['mathml', 'application/mathml+xml'],\n ['mb', 'application/mathematica'],\n ['mbk', 'application/vnd.mobius.mbk'],\n ['mbox', 'application/mbox'],\n ['mc1', 'application/vnd.medcalcdata'],\n ['mcd', 'application/vnd.mcd'],\n ['mcurl', 'text/vnd.curl.mcurl'],\n ['md', 'text/markdown'],\n ['mdb', 'application/x-msaccess'],\n ['mdi', 'image/vnd.ms-modi'],\n ['mdx', 'text/mdx'],\n ['me', 'text/troff'],\n ['mesh', 'model/mesh'],\n ['meta4', 'application/metalink4+xml'],\n ['metalink', 'application/metalink+xml'],\n ['mets', 'application/mets+xml'],\n ['mfm', 'application/vnd.mfmp'],\n ['mft', 'application/rpki-manifest'],\n ['mgp', 'application/vnd.osgeo.mapguide.package'],\n ['mgz', 'application/vnd.proteus.magazine'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mie', 'application/x-mie'],\n ['mif', 'application/vnd.mif'],\n ['mime', 'message/rfc822'],\n ['mj2', 'video/mj2'],\n ['mjp2', 'video/mj2'],\n ['mjs', 'application/javascript'],\n ['mk3d', 'video/x-matroska'],\n ['mka', 'audio/x-matroska'],\n ['mkd', 'text/x-markdown'],\n ['mks', 'video/x-matroska'],\n ['mkv', 'video/x-matroska'],\n ['mlp', 'application/vnd.dolby.mlp'],\n ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],\n ['mmf', 'application/vnd.smaf'],\n ['mml', 'text/mathml'],\n ['mmr', 'image/vnd.fujixerox.edmics-mmr'],\n ['mng', 'video/x-mng'],\n ['mny', 'application/x-msmoney'],\n ['mobi', 'application/x-mobipocket-ebook'],\n ['mods', 'application/mods+xml'],\n ['mov', 'video/quicktime'],\n ['movie', 'video/x-sgi-movie'],\n ['mp2', 'audio/mpeg'],\n ['mp2a', 'audio/mpeg'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mp4a', 'audio/mp4'],\n ['mp4s', 'application/mp4'],\n ['mp4v', 'video/mp4'],\n ['mp21', 'application/mp21'],\n ['mpc', 'application/vnd.mophun.certificate'],\n ['mpd', 'application/dash+xml'],\n ['mpe', 'video/mpeg'],\n ['mpeg', 'video/mpeg'],\n ['mpg', 'video/mpeg'],\n ['mpg4', 'video/mp4'],\n ['mpga', 'audio/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['mpm', 'application/vnd.blueice.multipass'],\n ['mpn', 'application/vnd.mophun.application'],\n ['mpp', 'application/vnd.ms-project'],\n ['mpt', 'application/vnd.ms-project'],\n ['mpy', 'application/vnd.ibm.minipay'],\n ['mqy', 'application/vnd.mobius.mqy'],\n ['mrc', 'application/marc'],\n ['mrcx', 'application/marcxml+xml'],\n ['ms', 'text/troff'],\n ['mscml', 'application/mediaservercontrol+xml'],\n ['mseed', 'application/vnd.fdsn.mseed'],\n ['mseq', 'application/vnd.mseq'],\n ['msf', 'application/vnd.epson.msf'],\n ['msg', 'application/vnd.ms-outlook'],\n ['msh', 'model/mesh'],\n ['msi', 'application/x-msdownload'],\n ['msl', 'application/vnd.mobius.msl'],\n ['msm', 'application/octet-stream'],\n ['msp', 'application/octet-stream'],\n ['msty', 'application/vnd.muvee.style'],\n ['mtl', 'model/mtl'],\n ['mts', 'model/vnd.mts'],\n ['mus', 'application/vnd.musician'],\n ['musd', 'application/mmt-usd+xml'],\n ['musicxml', 'application/vnd.recordare.musicxml+xml'],\n ['mvb', 'application/x-msmediaview'],\n ['mvt', 'application/vnd.mapbox-vector-tile'],\n ['mwf', 'application/vnd.mfer'],\n ['mxf', 'application/mxf'],\n ['mxl', 'application/vnd.recordare.musicxml'],\n ['mxmf', 'audio/mobile-xmf'],\n ['mxml', 'application/xv+xml'],\n ['mxs', 'application/vnd.triscape.mxs'],\n ['mxu', 'video/vnd.mpegurl'],\n ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],\n ['n3', 'text/n3'],\n ['nb', 'application/mathematica'],\n ['nbp', 'application/vnd.wolfram.player'],\n ['nc', 'application/x-netcdf'],\n ['ncx', 'application/x-dtbncx+xml'],\n ['nfo', 'text/x-nfo'],\n ['ngdat', 'application/vnd.nokia.n-gage.data'],\n ['nitf', 'application/vnd.nitf'],\n ['nlu', 'application/vnd.neurolanguage.nlu'],\n ['nml', 'application/vnd.enliven'],\n ['nnd', 'application/vnd.noblenet-directory'],\n ['nns', 'application/vnd.noblenet-sealer'],\n ['nnw', 'application/vnd.noblenet-web'],\n ['npx', 'image/vnd.net-fpx'],\n ['nq', 'application/n-quads'],\n ['nsc', 'application/x-conference'],\n ['nsf', 'application/vnd.lotus-notes'],\n ['nt', 'application/n-triples'],\n ['ntf', 'application/vnd.nitf'],\n ['numbers', 'application/x-iwork-numbers-sffnumbers'],\n ['nzb', 'application/x-nzb'],\n ['oa2', 'application/vnd.fujitsu.oasys2'],\n ['oa3', 'application/vnd.fujitsu.oasys3'],\n ['oas', 'application/vnd.fujitsu.oasys'],\n ['obd', 'application/x-msbinder'],\n ['obgx', 'application/vnd.openblox.game+xml'],\n ['obj', 'model/obj'],\n ['oda', 'application/oda'],\n ['odb', 'application/vnd.oasis.opendocument.database'],\n ['odc', 'application/vnd.oasis.opendocument.chart'],\n ['odf', 'application/vnd.oasis.opendocument.formula'],\n ['odft', 'application/vnd.oasis.opendocument.formula-template'],\n ['odg', 'application/vnd.oasis.opendocument.graphics'],\n ['odi', 'application/vnd.oasis.opendocument.image'],\n ['odm', 'application/vnd.oasis.opendocument.text-master'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogex', 'model/vnd.opengex'],\n ['ogg', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['omdoc', 'application/omdoc+xml'],\n ['onepkg', 'application/onenote'],\n ['onetmp', 'application/onenote'],\n ['onetoc', 'application/onenote'],\n ['onetoc2', 'application/onenote'],\n ['opf', 'application/oebps-package+xml'],\n ['opml', 'text/x-opml'],\n ['oprc', 'application/vnd.palm'],\n ['opus', 'audio/ogg'],\n ['org', 'text/x-org'],\n ['osf', 'application/vnd.yamaha.openscoreformat'],\n ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],\n ['osm', 'application/vnd.openstreetmap.data+xml'],\n ['otc', 'application/vnd.oasis.opendocument.chart-template'],\n ['otf', 'font/otf'],\n ['otg', 'application/vnd.oasis.opendocument.graphics-template'],\n ['oth', 'application/vnd.oasis.opendocument.text-web'],\n ['oti', 'application/vnd.oasis.opendocument.image-template'],\n ['otp', 'application/vnd.oasis.opendocument.presentation-template'],\n ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],\n ['ott', 'application/vnd.oasis.opendocument.text-template'],\n ['ova', 'application/x-virtualbox-ova'],\n ['ovf', 'application/x-virtualbox-ovf'],\n ['owl', 'application/rdf+xml'],\n ['oxps', 'application/oxps'],\n ['oxt', 'application/vnd.openofficeorg.extension'],\n ['p', 'text/x-pascal'],\n ['p7a', 'application/x-pkcs7-signature'],\n ['p7b', 'application/x-pkcs7-certificates'],\n ['p7c', 'application/pkcs7-mime'],\n ['p7m', 'application/pkcs7-mime'],\n ['p7r', 'application/x-pkcs7-certreqresp'],\n ['p7s', 'application/pkcs7-signature'],\n ['p8', 'application/pkcs8'],\n ['p10', 'application/x-pkcs10'],\n ['p12', 'application/x-pkcs12'],\n ['pac', 'application/x-ns-proxy-autoconfig'],\n ['pages', 'application/x-iwork-pages-sffpages'],\n ['pas', 'text/x-pascal'],\n ['paw', 'application/vnd.pawaafile'],\n ['pbd', 'application/vnd.powerbuilder6'],\n ['pbm', 'image/x-portable-bitmap'],\n ['pcap', 'application/vnd.tcpdump.pcap'],\n ['pcf', 'application/x-font-pcf'],\n ['pcl', 'application/vnd.hp-pcl'],\n ['pclxl', 'application/vnd.hp-pclxl'],\n ['pct', 'image/x-pict'],\n ['pcurl', 'application/vnd.curl.pcurl'],\n ['pcx', 'image/x-pcx'],\n ['pdb', 'application/x-pilot'],\n ['pde', 'text/x-processing'],\n ['pdf', 'application/pdf'],\n ['pem', 'application/x-x509-user-cert'],\n ['pfa', 'application/x-font-type1'],\n ['pfb', 'application/x-font-type1'],\n ['pfm', 'application/x-font-type1'],\n ['pfr', 'application/font-tdpfr'],\n ['pfx', 'application/x-pkcs12'],\n ['pgm', 'image/x-portable-graymap'],\n ['pgn', 'application/x-chess-pgn'],\n ['pgp', 'application/pgp'],\n ['php', 'application/x-httpd-php'],\n ['php3', 'application/x-httpd-php'],\n ['php4', 'application/x-httpd-php'],\n ['phps', 'application/x-httpd-php-source'],\n ['phtml', 'application/x-httpd-php'],\n ['pic', 'image/x-pict'],\n ['pkg', 'application/octet-stream'],\n ['pki', 'application/pkixcmp'],\n ['pkipath', 'application/pkix-pkipath'],\n ['pkpass', 'application/vnd.apple.pkpass'],\n ['pl', 'application/x-perl'],\n ['plb', 'application/vnd.3gpp.pic-bw-large'],\n ['plc', 'application/vnd.mobius.plc'],\n ['plf', 'application/vnd.pocketlearn'],\n ['pls', 'application/pls+xml'],\n ['pm', 'application/x-perl'],\n ['pml', 'application/vnd.ctc-posml'],\n ['png', 'image/png'],\n ['pnm', 'image/x-portable-anymap'],\n ['portpkg', 'application/vnd.macports.portpkg'],\n ['pot', 'application/vnd.ms-powerpoint'],\n ['potm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],\n ['ppa', 'application/vnd.ms-powerpoint'],\n ['ppam', 'application/vnd.ms-powerpoint.addin.macroEnabled.12'],\n ['ppd', 'application/vnd.cups-ppd'],\n ['ppm', 'image/x-portable-pixmap'],\n ['pps', 'application/vnd.ms-powerpoint'],\n ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'],\n ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],\n ['ppt', 'application/powerpoint'],\n ['pptm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['pqa', 'application/vnd.palm'],\n ['prc', 'application/x-pilot'],\n ['pre', 'application/vnd.lotus-freelance'],\n ['prf', 'application/pics-rules'],\n ['provx', 'application/provenance+xml'],\n ['ps', 'application/postscript'],\n ['psb', 'application/vnd.3gpp.pic-bw-small'],\n ['psd', 'application/x-photoshop'],\n ['psf', 'application/x-font-linux-psf'],\n ['pskcxml', 'application/pskc+xml'],\n ['pti', 'image/prs.pti'],\n ['ptid', 'application/vnd.pvi.ptid1'],\n ['pub', 'application/x-mspublisher'],\n ['pvb', 'application/vnd.3gpp.pic-bw-var'],\n ['pwn', 'application/vnd.3m.post-it-notes'],\n ['pya', 'audio/vnd.ms-playready.media.pya'],\n ['pyv', 'video/vnd.ms-playready.media.pyv'],\n ['qam', 'application/vnd.epson.quickanime'],\n ['qbo', 'application/vnd.intu.qbo'],\n ['qfx', 'application/vnd.intu.qfx'],\n ['qps', 'application/vnd.publishare-delta-tree'],\n ['qt', 'video/quicktime'],\n ['qwd', 'application/vnd.quark.quarkxpress'],\n ['qwt', 'application/vnd.quark.quarkxpress'],\n ['qxb', 'application/vnd.quark.quarkxpress'],\n ['qxd', 'application/vnd.quark.quarkxpress'],\n ['qxl', 'application/vnd.quark.quarkxpress'],\n ['qxt', 'application/vnd.quark.quarkxpress'],\n ['ra', 'audio/x-realaudio'],\n ['ram', 'audio/x-pn-realaudio'],\n ['raml', 'application/raml+yaml'],\n ['rapd', 'application/route-apd+xml'],\n ['rar', 'application/x-rar'],\n ['ras', 'image/x-cmu-raster'],\n ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],\n ['rdf', 'application/rdf+xml'],\n ['rdz', 'application/vnd.data-vision.rdz'],\n ['relo', 'application/p2p-overlay+xml'],\n ['rep', 'application/vnd.businessobjects'],\n ['res', 'application/x-dtbresource+xml'],\n ['rgb', 'image/x-rgb'],\n ['rif', 'application/reginfo+xml'],\n ['rip', 'audio/vnd.rip'],\n ['ris', 'application/x-research-info-systems'],\n ['rl', 'application/resource-lists+xml'],\n ['rlc', 'image/vnd.fujixerox.edmics-rlc'],\n ['rld', 'application/resource-lists-diff+xml'],\n ['rm', 'audio/x-pn-realaudio'],\n ['rmi', 'audio/midi'],\n ['rmp', 'audio/x-pn-realaudio-plugin'],\n ['rms', 'application/vnd.jcp.javame.midlet-rms'],\n ['rmvb', 'application/vnd.rn-realmedia-vbr'],\n ['rnc', 'application/relax-ng-compact-syntax'],\n ['rng', 'application/xml'],\n ['roa', 'application/rpki-roa'],\n ['roff', 'text/troff'],\n ['rp9', 'application/vnd.cloanto.rp9'],\n ['rpm', 'audio/x-pn-realaudio-plugin'],\n ['rpss', 'application/vnd.nokia.radio-presets'],\n ['rpst', 'application/vnd.nokia.radio-preset'],\n ['rq', 'application/sparql-query'],\n ['rs', 'application/rls-services+xml'],\n ['rsa', 'application/x-pkcs7'],\n ['rsat', 'application/atsc-rsat+xml'],\n ['rsd', 'application/rsd+xml'],\n ['rsheet', 'application/urc-ressheet+xml'],\n ['rss', 'application/rss+xml'],\n ['rtf', 'text/rtf'],\n ['rtx', 'text/richtext'],\n ['run', 'application/x-makeself'],\n ['rusd', 'application/route-usd+xml'],\n ['rv', 'video/vnd.rn-realvideo'],\n ['s', 'text/x-asm'],\n ['s3m', 'audio/s3m'],\n ['saf', 'application/vnd.yamaha.smaf-audio'],\n ['sass', 'text/x-sass'],\n ['sbml', 'application/sbml+xml'],\n ['sc', 'application/vnd.ibm.secure-container'],\n ['scd', 'application/x-msschedule'],\n ['scm', 'application/vnd.lotus-screencam'],\n ['scq', 'application/scvp-cv-request'],\n ['scs', 'application/scvp-cv-response'],\n ['scss', 'text/x-scss'],\n ['scurl', 'text/vnd.curl.scurl'],\n ['sda', 'application/vnd.stardivision.draw'],\n ['sdc', 'application/vnd.stardivision.calc'],\n ['sdd', 'application/vnd.stardivision.impress'],\n ['sdkd', 'application/vnd.solent.sdkm+xml'],\n ['sdkm', 'application/vnd.solent.sdkm+xml'],\n ['sdp', 'application/sdp'],\n ['sdw', 'application/vnd.stardivision.writer'],\n ['sea', 'application/octet-stream'],\n ['see', 'application/vnd.seemail'],\n ['seed', 'application/vnd.fdsn.seed'],\n ['sema', 'application/vnd.sema'],\n ['semd', 'application/vnd.semd'],\n ['semf', 'application/vnd.semf'],\n ['senmlx', 'application/senml+xml'],\n ['sensmlx', 'application/sensml+xml'],\n ['ser', 'application/java-serialized-object'],\n ['setpay', 'application/set-payment-initiation'],\n ['setreg', 'application/set-registration-initiation'],\n ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],\n ['sfs', 'application/vnd.spotfire.sfs'],\n ['sfv', 'text/x-sfv'],\n ['sgi', 'image/sgi'],\n ['sgl', 'application/vnd.stardivision.writer-global'],\n ['sgm', 'text/sgml'],\n ['sgml', 'text/sgml'],\n ['sh', 'application/x-sh'],\n ['shar', 'application/x-shar'],\n ['shex', 'text/shex'],\n ['shf', 'application/shf+xml'],\n ['shtml', 'text/html'],\n ['sid', 'image/x-mrsid-image'],\n ['sieve', 'application/sieve'],\n ['sig', 'application/pgp-signature'],\n ['sil', 'audio/silk'],\n ['silo', 'model/mesh'],\n ['sis', 'application/vnd.symbian.install'],\n ['sisx', 'application/vnd.symbian.install'],\n ['sit', 'application/x-stuffit'],\n ['sitx', 'application/x-stuffitx'],\n ['siv', 'application/sieve'],\n ['skd', 'application/vnd.koan'],\n ['skm', 'application/vnd.koan'],\n ['skp', 'application/vnd.koan'],\n ['skt', 'application/vnd.koan'],\n ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],\n ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],\n ['slim', 'text/slim'],\n ['slm', 'text/slim'],\n ['sls', 'application/route-s-tsid+xml'],\n ['slt', 'application/vnd.epson.salt'],\n ['sm', 'application/vnd.stepmania.stepchart'],\n ['smf', 'application/vnd.stardivision.math'],\n ['smi', 'application/smil'],\n ['smil', 'application/smil'],\n ['smv', 'video/x-smv'],\n ['smzip', 'application/vnd.stepmania.package'],\n ['snd', 'audio/basic'],\n ['snf', 'application/x-font-snf'],\n ['so', 'application/octet-stream'],\n ['spc', 'application/x-pkcs7-certificates'],\n ['spdx', 'text/spdx'],\n ['spf', 'application/vnd.yamaha.smaf-phrase'],\n ['spl', 'application/x-futuresplash'],\n ['spot', 'text/vnd.in3d.spot'],\n ['spp', 'application/scvp-vp-response'],\n ['spq', 'application/scvp-vp-request'],\n ['spx', 'audio/ogg'],\n ['sql', 'application/x-sql'],\n ['src', 'application/x-wais-source'],\n ['srt', 'application/x-subrip'],\n ['sru', 'application/sru+xml'],\n ['srx', 'application/sparql-results+xml'],\n ['ssdl', 'application/ssdl+xml'],\n ['sse', 'application/vnd.kodak-descriptor'],\n ['ssf', 'application/vnd.epson.ssf'],\n ['ssml', 'application/ssml+xml'],\n ['sst', 'application/octet-stream'],\n ['st', 'application/vnd.sailingtracker.track'],\n ['stc', 'application/vnd.sun.xml.calc.template'],\n ['std', 'application/vnd.sun.xml.draw.template'],\n ['stf', 'application/vnd.wt.stf'],\n ['sti', 'application/vnd.sun.xml.impress.template'],\n ['stk', 'application/hyperstudio'],\n ['stl', 'model/stl'],\n ['stpx', 'model/step+xml'],\n ['stpxz', 'model/step-xml+zip'],\n ['stpz', 'model/step+zip'],\n ['str', 'application/vnd.pg.format'],\n ['stw', 'application/vnd.sun.xml.writer.template'],\n ['styl', 'text/stylus'],\n ['stylus', 'text/stylus'],\n ['sub', 'text/vnd.dvb.subtitle'],\n ['sus', 'application/vnd.sus-calendar'],\n ['susp', 'application/vnd.sus-calendar'],\n ['sv4cpio', 'application/x-sv4cpio'],\n ['sv4crc', 'application/x-sv4crc'],\n ['svc', 'application/vnd.dvb.service'],\n ['svd', 'application/vnd.svd'],\n ['svg', 'image/svg+xml'],\n ['svgz', 'image/svg+xml'],\n ['swa', 'application/x-director'],\n ['swf', 'application/x-shockwave-flash'],\n ['swi', 'application/vnd.aristanetworks.swi'],\n ['swidtag', 'application/swid+xml'],\n ['sxc', 'application/vnd.sun.xml.calc'],\n ['sxd', 'application/vnd.sun.xml.draw'],\n ['sxg', 'application/vnd.sun.xml.writer.global'],\n ['sxi', 'application/vnd.sun.xml.impress'],\n ['sxm', 'application/vnd.sun.xml.math'],\n ['sxw', 'application/vnd.sun.xml.writer'],\n ['t', 'text/troff'],\n ['t3', 'application/x-t3vm-image'],\n ['t38', 'image/t38'],\n ['taglet', 'application/vnd.mynfc'],\n ['tao', 'application/vnd.tao.intent-module-archive'],\n ['tap', 'image/vnd.tencent.tap'],\n ['tar', 'application/x-tar'],\n ['tcap', 'application/vnd.3gpp2.tcap'],\n ['tcl', 'application/x-tcl'],\n ['td', 'application/urc-targetdesc+xml'],\n ['teacher', 'application/vnd.smart.teacher'],\n ['tei', 'application/tei+xml'],\n ['teicorpus', 'application/tei+xml'],\n ['tex', 'application/x-tex'],\n ['texi', 'application/x-texinfo'],\n ['texinfo', 'application/x-texinfo'],\n ['text', 'text/plain'],\n ['tfi', 'application/thraud+xml'],\n ['tfm', 'application/x-tex-tfm'],\n ['tfx', 'image/tiff-fx'],\n ['tga', 'image/x-tga'],\n ['tgz', 'application/x-tar'],\n ['thmx', 'application/vnd.ms-officetheme'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['tk', 'application/x-tcl'],\n ['tmo', 'application/vnd.tmobile-livetv'],\n ['toml', 'application/toml'],\n ['torrent', 'application/x-bittorrent'],\n ['tpl', 'application/vnd.groove-tool-template'],\n ['tpt', 'application/vnd.trid.tpt'],\n ['tr', 'text/troff'],\n ['tra', 'application/vnd.trueapp'],\n ['trig', 'application/trig'],\n ['trm', 'application/x-msterminal'],\n ['ts', 'video/mp2t'],\n ['tsd', 'application/timestamped-data'],\n ['tsv', 'text/tab-separated-values'],\n ['ttc', 'font/collection'],\n ['ttf', 'font/ttf'],\n ['ttl', 'text/turtle'],\n ['ttml', 'application/ttml+xml'],\n ['twd', 'application/vnd.simtech-mindmapper'],\n ['twds', 'application/vnd.simtech-mindmapper'],\n ['txd', 'application/vnd.genomatix.tuxedo'],\n ['txf', 'application/vnd.mobius.txf'],\n ['txt', 'text/plain'],\n ['u8dsn', 'message/global-delivery-status'],\n ['u8hdr', 'message/global-headers'],\n ['u8mdn', 'message/global-disposition-notification'],\n ['u8msg', 'message/global'],\n ['u32', 'application/x-authorware-bin'],\n ['ubj', 'application/ubjson'],\n ['udeb', 'application/x-debian-package'],\n ['ufd', 'application/vnd.ufdl'],\n ['ufdl', 'application/vnd.ufdl'],\n ['ulx', 'application/x-glulx'],\n ['umj', 'application/vnd.umajin'],\n ['unityweb', 'application/vnd.unity'],\n ['uoml', 'application/vnd.uoml+xml'],\n ['uri', 'text/uri-list'],\n ['uris', 'text/uri-list'],\n ['urls', 'text/uri-list'],\n ['usdz', 'model/vnd.usdz+zip'],\n ['ustar', 'application/x-ustar'],\n ['utz', 'application/vnd.uiq.theme'],\n ['uu', 'text/x-uuencode'],\n ['uva', 'audio/vnd.dece.audio'],\n ['uvd', 'application/vnd.dece.data'],\n ['uvf', 'application/vnd.dece.data'],\n ['uvg', 'image/vnd.dece.graphic'],\n ['uvh', 'video/vnd.dece.hd'],\n ['uvi', 'image/vnd.dece.graphic'],\n ['uvm', 'video/vnd.dece.mobile'],\n ['uvp', 'video/vnd.dece.pd'],\n ['uvs', 'video/vnd.dece.sd'],\n ['uvt', 'application/vnd.dece.ttml+xml'],\n ['uvu', 'video/vnd.uvvu.mp4'],\n ['uvv', 'video/vnd.dece.video'],\n ['uvva', 'audio/vnd.dece.audio'],\n ['uvvd', 'application/vnd.dece.data'],\n ['uvvf', 'application/vnd.dece.data'],\n ['uvvg', 'image/vnd.dece.graphic'],\n ['uvvh', 'video/vnd.dece.hd'],\n ['uvvi', 'image/vnd.dece.graphic'],\n ['uvvm', 'video/vnd.dece.mobile'],\n ['uvvp', 'video/vnd.dece.pd'],\n ['uvvs', 'video/vnd.dece.sd'],\n ['uvvt', 'application/vnd.dece.ttml+xml'],\n ['uvvu', 'video/vnd.uvvu.mp4'],\n ['uvvv', 'video/vnd.dece.video'],\n ['uvvx', 'application/vnd.dece.unspecified'],\n ['uvvz', 'application/vnd.dece.zip'],\n ['uvx', 'application/vnd.dece.unspecified'],\n ['uvz', 'application/vnd.dece.zip'],\n ['vbox', 'application/x-virtualbox-vbox'],\n ['vbox-extpack', 'application/x-virtualbox-vbox-extpack'],\n ['vcard', 'text/vcard'],\n ['vcd', 'application/x-cdlink'],\n ['vcf', 'text/x-vcard'],\n ['vcg', 'application/vnd.groove-vcard'],\n ['vcs', 'text/x-vcalendar'],\n ['vcx', 'application/vnd.vcx'],\n ['vdi', 'application/x-virtualbox-vdi'],\n ['vds', 'model/vnd.sap.vds'],\n ['vhd', 'application/x-virtualbox-vhd'],\n ['vis', 'application/vnd.visionary'],\n ['viv', 'video/vnd.vivo'],\n ['vlc', 'application/videolan'],\n ['vmdk', 'application/x-virtualbox-vmdk'],\n ['vob', 'video/x-ms-vob'],\n ['vor', 'application/vnd.stardivision.writer'],\n ['vox', 'application/x-authorware-bin'],\n ['vrml', 'model/vrml'],\n ['vsd', 'application/vnd.visio'],\n ['vsf', 'application/vnd.vsf'],\n ['vss', 'application/vnd.visio'],\n ['vst', 'application/vnd.visio'],\n ['vsw', 'application/vnd.visio'],\n ['vtf', 'image/vnd.valve.source.texture'],\n ['vtt', 'text/vtt'],\n ['vtu', 'model/vnd.vtu'],\n ['vxml', 'application/voicexml+xml'],\n ['w3d', 'application/x-director'],\n ['wad', 'application/x-doom'],\n ['wadl', 'application/vnd.sun.wadl+xml'],\n ['war', 'application/java-archive'],\n ['wasm', 'application/wasm'],\n ['wav', 'audio/x-wav'],\n ['wax', 'audio/x-ms-wax'],\n ['wbmp', 'image/vnd.wap.wbmp'],\n ['wbs', 'application/vnd.criticaltools.wbs+xml'],\n ['wbxml', 'application/wbxml'],\n ['wcm', 'application/vnd.ms-works'],\n ['wdb', 'application/vnd.ms-works'],\n ['wdp', 'image/vnd.ms-photo'],\n ['weba', 'audio/webm'],\n ['webapp', 'application/x-web-app-manifest+json'],\n ['webm', 'video/webm'],\n ['webmanifest', 'application/manifest+json'],\n ['webp', 'image/webp'],\n ['wg', 'application/vnd.pmi.widget'],\n ['wgt', 'application/widget'],\n ['wks', 'application/vnd.ms-works'],\n ['wm', 'video/x-ms-wm'],\n ['wma', 'audio/x-ms-wma'],\n ['wmd', 'application/x-ms-wmd'],\n ['wmf', 'image/wmf'],\n ['wml', 'text/vnd.wap.wml'],\n ['wmlc', 'application/wmlc'],\n ['wmls', 'text/vnd.wap.wmlscript'],\n ['wmlsc', 'application/vnd.wap.wmlscriptc'],\n ['wmv', 'video/x-ms-wmv'],\n ['wmx', 'video/x-ms-wmx'],\n ['wmz', 'application/x-msmetafile'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['word', 'application/msword'],\n ['wpd', 'application/vnd.wordperfect'],\n ['wpl', 'application/vnd.ms-wpl'],\n ['wps', 'application/vnd.ms-works'],\n ['wqd', 'application/vnd.wqd'],\n ['wri', 'application/x-mswrite'],\n ['wrl', 'model/vrml'],\n ['wsc', 'message/vnd.wfa.wsc'],\n ['wsdl', 'application/wsdl+xml'],\n ['wspolicy', 'application/wspolicy+xml'],\n ['wtb', 'application/vnd.webturbo'],\n ['wvx', 'video/x-ms-wvx'],\n ['x3d', 'model/x3d+xml'],\n ['x3db', 'model/x3d+fastinfoset'],\n ['x3dbz', 'model/x3d+binary'],\n ['x3dv', 'model/x3d-vrml'],\n ['x3dvz', 'model/x3d+vrml'],\n ['x3dz', 'model/x3d+xml'],\n ['x32', 'application/x-authorware-bin'],\n ['x_b', 'model/vnd.parasolid.transmit.binary'],\n ['x_t', 'model/vnd.parasolid.transmit.text'],\n ['xaml', 'application/xaml+xml'],\n ['xap', 'application/x-silverlight-app'],\n ['xar', 'application/vnd.xara'],\n ['xav', 'application/xcap-att+xml'],\n ['xbap', 'application/x-ms-xbap'],\n ['xbd', 'application/vnd.fujixerox.docuworks.binder'],\n ['xbm', 'image/x-xbitmap'],\n ['xca', 'application/xcap-caps+xml'],\n ['xcs', 'application/calendar+xml'],\n ['xdf', 'application/xcap-diff+xml'],\n ['xdm', 'application/vnd.syncml.dm+xml'],\n ['xdp', 'application/vnd.adobe.xdp+xml'],\n ['xdssc', 'application/dssc+xml'],\n ['xdw', 'application/vnd.fujixerox.docuworks'],\n ['xel', 'application/xcap-el+xml'],\n ['xenc', 'application/xenc+xml'],\n ['xer', 'application/patch-ops-error+xml'],\n ['xfdf', 'application/vnd.adobe.xfdf'],\n ['xfdl', 'application/vnd.xfdl'],\n ['xht', 'application/xhtml+xml'],\n ['xhtml', 'application/xhtml+xml'],\n ['xhvml', 'application/xv+xml'],\n ['xif', 'image/vnd.xiff'],\n ['xl', 'application/excel'],\n ['xla', 'application/vnd.ms-excel'],\n ['xlam', 'application/vnd.ms-excel.addin.macroEnabled.12'],\n ['xlc', 'application/vnd.ms-excel'],\n ['xlf', 'application/xliff+xml'],\n ['xlm', 'application/vnd.ms-excel'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'],\n ['xlsm', 'application/vnd.ms-excel.sheet.macroEnabled.12'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xlt', 'application/vnd.ms-excel'],\n ['xltm', 'application/vnd.ms-excel.template.macroEnabled.12'],\n ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],\n ['xlw', 'application/vnd.ms-excel'],\n ['xm', 'audio/xm'],\n ['xml', 'application/xml'],\n ['xns', 'application/xcap-ns+xml'],\n ['xo', 'application/vnd.olpc-sugar'],\n ['xop', 'application/xop+xml'],\n ['xpi', 'application/x-xpinstall'],\n ['xpl', 'application/xproc+xml'],\n ['xpm', 'image/x-xpixmap'],\n ['xpr', 'application/vnd.is-xpr'],\n ['xps', 'application/vnd.ms-xpsdocument'],\n ['xpw', 'application/vnd.intercon.formnet'],\n ['xpx', 'application/vnd.intercon.formnet'],\n ['xsd', 'application/xml'],\n ['xsl', 'application/xml'],\n ['xslt', 'application/xslt+xml'],\n ['xsm', 'application/vnd.syncml+xml'],\n ['xspf', 'application/xspf+xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['xvm', 'application/xv+xml'],\n ['xvml', 'application/xv+xml'],\n ['xwd', 'image/x-xwindowdump'],\n ['xyz', 'chemical/x-xyz'],\n ['xz', 'application/x-xz'],\n ['yaml', 'text/yaml'],\n ['yang', 'application/yang'],\n ['yin', 'application/yin+xml'],\n ['yml', 'text/yaml'],\n ['ymp', 'text/x-suse-ymp'],\n ['z', 'application/x-compress'],\n ['z1', 'application/x-zmachine'],\n ['z2', 'application/x-zmachine'],\n ['z3', 'application/x-zmachine'],\n ['z4', 'application/x-zmachine'],\n ['z5', 'application/x-zmachine'],\n ['z6', 'application/x-zmachine'],\n ['z7', 'application/x-zmachine'],\n ['z8', 'application/x-zmachine'],\n ['zaz', 'application/vnd.zzazz.deck+xml'],\n ['zip', 'application/zip'],\n ['zir', 'application/vnd.zul'],\n ['zirz', 'application/vnd.zul'],\n ['zmm', 'application/vnd.handheld-entertainment+xml'],\n ['zsh', 'text/x-scriptzsh']\n]);\nexport function toFileWithPath(file, path, h) {\n const f = withMimeType(file);\n const { webkitRelativePath } = file;\n const p = typeof path === 'string'\n ? path\n // If <input webkitdirectory> is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : `./${file.name}`;\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n setObjProp(f, 'path', p);\n }\n if (h !== undefined) {\n Object.defineProperty(f, 'handle', {\n value: h,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n // Always populate a relative path so that even electron apps have access to a relativePath value\n setObjProp(f, 'relativePath', p);\n return f;\n}\nfunction withMimeType(file) {\n const { name } = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop().toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n return file;\n}\nfunction setObjProp(f, key, value) {\n Object.defineProperty(f, key, {\n value,\n writable: false,\n configurable: false,\n enumerable: true\n });\n}\n//# sourceMappingURL=file.js.map","import { __awaiter } from \"tslib\";\nimport { toFileWithPath } from './file';\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport function fromEvent(evt) {\n return __awaiter(this, void 0, void 0, function* () {\n if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {\n return getDataTransferFiles(evt.dataTransfer, evt.type);\n }\n else if (isChangeEvt(evt)) {\n return getInputFiles(evt);\n }\n else if (Array.isArray(evt) && evt.every(item => 'getFile' in item && typeof item.getFile === 'function')) {\n return getFsHandleFiles(evt);\n }\n return [];\n });\n}\nfunction isDataTransfer(value) {\n return isObject(value);\n}\nfunction isChangeEvt(value) {\n return isObject(value) && isObject(value.target);\n}\nfunction isObject(v) {\n return typeof v === 'object' && v !== null;\n}\nfunction getInputFiles(evt) {\n return fromList(evt.target.files).map(file => toFileWithPath(file));\n}\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nfunction getFsHandleFiles(handles) {\n return __awaiter(this, void 0, void 0, function* () {\n const files = yield Promise.all(handles.map(h => h.getFile()));\n return files.map(file => toFileWithPath(file));\n });\n}\nfunction getDataTransferFiles(dt, type) {\n return __awaiter(this, void 0, void 0, function* () {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = yield Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n });\n}\nfunction noIgnoredFiles(files) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items) {\n if (items === null) {\n return [];\n }\n const files = [];\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n return files;\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n const entry = item.webkitGetAsEntry();\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry);\n }\n return fromDataTransferItem(item, entry);\n}\nfunction flatten(items) {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\nfunction fromDataTransferItem(item, entry) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n // Check if we're in a secure context; due to a bug in Chrome (as far as we know)\n // the browser crashes when calling this API (yet to be confirmed as a consistent behaviour).\n //\n // See:\n // - https://issues.chromium.org/issues/40186242\n // - https://github.com/react-dropzone/react-dropzone/issues/1397\n if (globalThis.isSecureContext && typeof item.getAsFileSystemHandle === 'function') {\n const h = yield item.getAsFileSystemHandle();\n if (h === null) {\n throw new Error(`${item} is not a File`);\n }\n // It seems that the handle can be `undefined` (see https://github.com/react-dropzone/file-selector/issues/120),\n // so we check if it isn't; if it is, the code path continues to the next API (`getAsFile`).\n if (h !== undefined) {\n const file = yield h.getFile();\n file.handle = h;\n return toFileWithPath(file);\n }\n }\n const file = item.getAsFile();\n if (!file) {\n throw new Error(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file, (_a = entry === null || entry === void 0 ? void 0 : entry.fullPath) !== null && _a !== void 0 ? _a : undefined);\n return fwp;\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nfunction fromEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry) {\n const reader = entry.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries((batch) => __awaiter(this, void 0, void 0, function* () {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = yield Promise.all(entries);\n resolve(files);\n }\n catch (err) {\n reject(err);\n }\n }\n else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n // Continue reading\n readEntries();\n }\n }), (err) => {\n reject(err);\n });\n }\n readEntries();\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nfunction fromFileEntry(entry) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n entry.file((file) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err) => {\n reject(err);\n });\n });\n });\n}\n//# sourceMappingURL=file-selector.js.map","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n\n if (acceptedFilesArray.length === 0) {\n return true;\n }\n\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport _accepts from \"attr-accept\";\nvar accepts = typeof _accepts === \"function\" ? _accepts : _accepts.default; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n};\n/**\n *\n * @param {string} accept\n */\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr() {\n var accept = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var acceptArr = accept.split(\",\");\n var msg = acceptArr.length > 1 ? \"one of \".concat(acceptArr.join(\", \")) : acceptArr[0];\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(msg)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n};\n/**\n * Check if file is accepted.\n *\n * Firefox versions prior to 53 return a bogus MIME type for every file drag,\n * so dragovers with that MIME type will always be accepted.\n *\n * @param {File} file\n * @param {string} accept\n * @returns\n */\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || v === \"application/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.<string, string[]>} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * <Dropzone>\n * {({getRootProps, getInputProps}) => (\n * <div {...getRootProps()}>\n * <input {...getInputProps()} />\n * <p>Drag 'n' drop some files here, or click to select files</p>\n * </div>\n * )}\n * </Dropzone>\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: false,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise<File[]>)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n * <div {...getRootProps()}>\n * <input {...getInputProps()} />\n * <p>Drag and drop some files here, or click to select files</p>\n * </div>\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `<input type=\"file\">` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject<HTMLElement>}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n isDragReject: fileRejections.length > 0,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n border: 0,\n clip: \"rect(0, 0, 0, 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n margin: \"0 -1px -1px 0\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections,\n isDragReject: action.isDragReject\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";","import { filetypemime } from 'magic-bytes.js'\nimport { useState } from 'react'\nimport { useDropzone } from 'react-dropzone'\nimport { Box } from '../utils/Box'\n\nexport const INFERENCE_FILE_TYPES = {\n WAV_MIME_TYPES: ['audio/wav', 'audio/x-wav', 'audio/wave', 'audio/x-pn-wav'],\n MP3_MIME_TYPES: ['audio/mpeg', 'audio/mp3', 'audio/x-mpeg', 'audio/x-mp3', 'audio/x-mpeg-3'],\n FLAC_MIME_TYPES: ['audio/flac']\n}\n\nconst TIMEOUT_MS = 10 * 1000 // 10 seconds\n\nconst PREFIX = '[Audio.getDurationSeconds]'\n\nexport interface GetAudioDurationOptions {\n throwError?: boolean\n}\n\n/**\n * Get length of audio file in seconds. Supports Wav and Mp3, but not Webm.\n * Only usable in the browser. Doesn't have a limit on file size.\n * Has a timeout of 10 seconds, in case of corrupt files. It will resolve to 0 in that case.\n */\nconst getDurationSeconds = async (\n file: File,\n { throwError }: GetAudioDurationOptions = {}\n): Promise<number> =>\n new Promise((resolve, reject) => {\n if (typeof window === 'undefined')\n return reject(new Error('getDurationSeconds is only usable in the browser'))\n\n const objectUrl = URL.createObjectURL(file)\n\n const audio = new Audio()\n\n const cleanup = () => {\n audio.src = ''\n URL.revokeObjectURL(objectUrl)\n }\n\n const timeout = setTimeout(() => {\n cleanup()\n console.error(PREFIX, 'Timeout', file.name, file.size, file.type)\n resolve(0)\n }, TIMEOUT_MS)\n\n audio.addEventListener(\n 'loadedmetadata',\n () => {\n const duration = audio.duration\n clearTimeout(timeout)\n cleanup()\n resolve(duration)\n },\n { once: true }\n )\n\n audio.addEventListener(\n 'error',\n (err) => {\n clearTimeout(timeout)\n cleanup()\n if (throwError) {\n console.error(PREFIX, 'Error', file.name, file.size, file.type, err)\n reject(file)\n } else {\n resolve(0)\n }\n },\n { once: true }\n )\n\n audio.src = objectUrl\n })\n\nconst _Audio = { getDurationSeconds }\n\nexport { _Audio as Audio }\n\n/**\n *\n * @param files file array to resolve duplicates\n * @returns array of files with duplicates removed based on name and size\n */\nexport const resolveDuplicates = (files: File[]) => {\n const map = new Map<string, File>()\n files.forEach((file) => {\n map.set(`${file.name}-${file.size}`, file)\n })\n return Array.from(map.values())\n}\n\nconst getFileType = (file: File) =>\n new Promise<string[]>((resolve) => {\n const fileReader = new FileReader()\n fileReader.onloadend = (f) => {\n const bytes = new Uint8Array(f.target?.result as ArrayBuffer)\n const fileType = filetypemime(bytes)\n resolve(fileType)\n }\n fileReader.readAsArrayBuffer(file)\n })\n\nexport interface FileWithDuration extends File {\n duration: number\n}\n\nexport const getFileWithDuration = async (file: File): Promise<FileWithDuration> => {\n try {\n const duration = await getDurationSeconds(file)\n const fileWithDuration: FileWithDuration = file as FileWithDuration\n fileWithDuration.duration = duration\n return fileWithDuration\n } catch (err) {\n throw new Error(`Failed to get audio duration for ${file.name}`)\n }\n}\n\nexport const mimetypeToExtension = (mimeType: string) => {\n for (const [key, mimeTypes] of Object.entries(INFERENCE_FILE_TYPES)) {\n const processedKey = key.toLowerCase().split('_')[0]\n if (mimeTypes.includes(mimeType)) return processedKey\n }\n return undefined\n}\n\nconst setAudioFileNameFromMagicNumber = async (file: File) => {\n const magicNumber = await getFileType(file)\n const currentExtension = file?.name?.split('.').pop() || ''\n const trueMimeType = magicNumber[0] || file.type\n const trueExtension = mimetypeToExtension(trueMimeType)\n\n if (trueExtension === currentExtension || !trueMimeType || !trueExtension) {\n return file\n }\n\n const newFileName = `${file.name.split('.').slice(0, -1).join('.')}.${trueExtension}`\n const fileCopy = new File([file], newFileName, {\n type: trueMimeType\n })\n return fileCopy\n}\n\nexport class MaxFileSizeError extends Error {\n constructor() {\n super('Max file size exceeded')\n }\n}\n\nexport class MinFileSizeError extends Error {\n constructor() {\n super('Min file size exceeded')\n }\n}\n\nexport class MaxFileCountError extends Error {\n constructor() {\n super('Max file count reached')\n }\n}\n\nexport class MaxDurationError extends Error {\n constructor() {\n super('File duration too long')\n }\n}\n\nexport class InvalidFileTypeError extends Error {\n constructor() {\n super('Invalid file type')\n }\n}\n\nexport type AudioFilePickerError =\n | MaxFileSizeError\n | MaxFileCountError\n | MaxDurationError\n | InvalidFileTypeError\n\nexport interface RootProps extends Omit<React.ComponentProps<typeof Box>, 'onError'> {\n files: File[]\n onFileAccepted: (file: File[]) => void\n onDelete?: (file: File) => void\n maxFileCount: number\n maxSizeBytes: number\n minSizeBytes: number\n maxDurationS: number\n onError?: (error: AudioFilePickerError) => void\n}\n\nconst useAudioFilePickerErrors = (props: Omit<RootProps, 'children'>) => {\n return {\n handleDurationError: (file: File) => {\n console.log('handleDurationError', file)\n props.onError?.(new MaxDurationError())\n },\n handleMaxSizeError: (file: File) => {\n console.log('handleMaxSizeError', file)\n props.onError?.(new MaxFileSizeError())\n },\n handleMinSizeError: (file: File) => {\n console.log('handleMinSizeError', file)\n props.onError?.(new MinFileSizeError())\n },\n handleUnknownError: (error: any) => {\n console.log('handleUnknownError', error)\n props.onError?.(new Error('Unknown error'))\n },\n handleInvalidTypeError: (file: File) => {\n console.log('handleInvalidTypeError', file)\n props.onError?.(new InvalidFileTypeError())\n }\n }\n}\n\nexport const useAudioFilepickerDropzone = (props: Omit<RootProps, 'children'>) => {\n const {\n handleDurationError,\n handleMaxSizeError,\n handleMinSizeError,\n handleUnknownError,\n handleInvalidTypeError\n } = useAudioFilePickerErrors(props)\n\n const [error, setError] = useState<AudioFilePickerError | null>(null)\n\n const dropzone = useDropzone({\n accept: {\n 'audio/wav': ['.wav'],\n 'audio/mp3': ['.mp3'],\n 'audio/flac': ['.flac']\n },\n noClick: true,\n minSize: props.minSizeBytes,\n maxSize: props.maxSizeBytes,\n onDropAccepted: async (files) => {\n const newFiles = await Promise.all(files.map((file) => setAudioFileNameFromMagicNumber(file)))\n try {\n const filesWithDuration = await Promise.all(newFiles.map(getFileWithDuration))\n\n const validDurationFiles = filesWithDuration.filter((file) => {\n const isValidDuration = file.duration <= (props.maxDurationS ?? Infinity)\n if (!isValidDuration) {\n setError(new MaxDurationError())\n handleDurationError(file)\n return false\n }\n return true\n })\n\n const oldValues: File[] = (props.files as any) ?? []\n const resolved = resolveDuplicates([...oldValues, ...validDurationFiles])\n\n const sliced = resolved.slice(0, props.maxFileCount ?? resolved.length)\n props.onFileAccepted(sliced)\n } catch (error) {\n handleUnknownError(error)\n }\n },\n onDropRejected: (fileRejections) => {\n fileRejections.forEach((fileRejections) => {\n for (const error of fileRejections.errors) {\n if (error.code === 'file-too-large') {\n handleMaxSizeError(fileRejections.file)\n }\n\n if (error.code === 'file-too-small') {\n handleMinSizeError(fileRejections.file)\n }\n\n if (error.code === 'file-invalid-type') {\n handleInvalidTypeError(fileRejections.file)\n }\n }\n })\n }\n })\n\n return { dropzone, error, ...props }\n}\n","import { styled } from '@stitches/react'\nimport React from 'react'\nimport { Box } from '../utils/Box'\nimport { RootProps, useAudioFilepickerDropzone } from './useAudioFilepickerDropzone'\n\ninterface AudioFilePickerContextType extends ReturnType<typeof useAudioFilepickerDropzone> {}\n\nconst AudioFilePickerContext = React.createContext<AudioFilePickerContextType>(\n {} as AudioFilePickerContextType\n)\n\nexport const useAudioFilePickerContext = () => React.useContext(AudioFilePickerContext)\n\nconst StyledRoot = styled(Box, {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n gap: '8px',\n height: '100%'\n})\n\nexport const AudioFilePickerRoot: React.FC<RootProps> = ({ children, ...props }) => {\n const dropzoneContext = useAudioFilepickerDropzone(props)\n const {\n files,\n onFileAccepted,\n onDelete,\n maxFileCount,\n maxSizeBytes,\n minSizeBytes,\n maxDurationS,\n onError,\n ...rest\n } = props\n return (\n <AudioFilePickerContext.Provider value={dropzoneContext}>\n <StyledRoot {...rest} {...dropzoneContext.dropzone.getRootProps()}>\n <input {...dropzoneContext.dropzone.getInputProps()} />\n {children}\n </StyledRoot>\n </AudioFilePickerContext.Provider>\n )\n}\n","import { styled } from '@stitches/react'\nimport { Box } from '../utils/Box'\n\nconst Root = styled(Box, {\n width: '100%',\n height: '100%',\n display: 'flex',\n overflow: 'hidden',\n borderRadius: '16px',\n background: '#ffffff10',\n flexDirection: 'column',\n alignItems: 'stretch',\n maxHeight: '500px',\n justifyContent: 'center'\n})\n\nconst StyledHeader = styled(Box, {\n paddingTop: '32px',\n display: 'flex',\n justifyContent: 'center'\n})\n\nconst StyledContent = styled(Box, {\n flex: 1,\n gap: '16px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '16px'\n})\n\nconst StyledFooter = styled(Box, {\n flexWrap: 'wrap',\n borderTop: '1px solid #ffffff10',\n display: 'flex',\n alignItems: 'stretch',\n minHeight: '96px'\n})\n\nconst Card = styled(Box, {\n height: '252px',\n width: '222px',\n borderRadius: '8px',\n border: '1px solid #ffffff10',\n background: '#ffffff10',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n})\n\nexport const ConvertStep = {\n Root,\n Header: StyledHeader,\n Content: StyledContent,\n Footer: StyledFooter,\n Card\n}\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.9\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/**\n * @license React\n * use-sync-external-store-shim.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';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar events = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n const revalidate = isFunction(options.revalidate) ? options.revalidate(get().data, _k) : options.revalidate !== false;\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nconst INFINITE_PREFIX = '$inf$';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { INFINITE_PREFIX, IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, events as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, withArgs, withMiddleware };\n","import 'client-only';\nimport ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import ReactExports, { useRef, useMemo, useCallback, useDebugValue, useState } from 'react';\nimport 'client-only';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT, SWRConfig, defaultConfig, withArgs, SWRGlobalState, serialize, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects, withMiddleware, useSWRConfig } from 'swr/_internal';\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nOBJECT.defineProperty(SWRConfig, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nconst startTransition = IS_REACT_LEGACY ? (cb)=>{\n cb();\n} : ReactExports.startTransition;\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const [, rerender] = useState({});\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n rerender({});\n }\n }, []);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\nconst mutation = ()=>(key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n startTransition(()=>setState({\n data,\n isMutating: false,\n error: undefined\n }));\n options.onSuccess == null ? void 0 : options.onSuccess.call(options, data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n startTransition(()=>setState({\n error: error,\n isMutating: false\n }));\n options.onError == null ? void 0 : options.onError.call(options, error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ const useSWRMutation = withMiddleware(useSWR, mutation);\n\nexport { useSWRMutation as default };\n","import { keyframes, styled } from '@stitches/react'\nimport type { FC, SVGProps } from 'react'\n\nconst Loading: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"currentColor\"\n {...props}\n >\n <path\n opacity=\"0.15\"\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8Z\"\n />\n <path\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2\"\n strokeLinecap=\"round\"\n />\n </svg>\n)\n\nconst spin = keyframes({\n '0%': { transform: 'rotate(0deg)' },\n '100%': { transform: 'rotate(360deg)' }\n})\n\nexport const Spinner = styled(Loading, {\n animation: `${spin} 2s linear infinite`,\n variants: {\n size: {\n sm: { width: '16px', height: '16px', strokeWidth: '1px' },\n md: { width: '24px', height: '24px', strokeWidth: '1.5px' },\n lg: { width: '32px', height: '32px', strokeWidth: '2px' }\n }\n }\n})\n\nexport const Pause: FC<SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M6.04995 2.74998C6.04995 2.44623 5.80371 2.19998 5.49995 2.19998C5.19619 2.19998 4.94995 2.44623 4.94995 2.74998V12.25C4.94995 12.5537 5.19619 12.8 5.49995 12.8C5.80371 12.8 6.04995 12.5537 6.04995 12.25V2.74998ZM10.05 2.74998C10.05 2.44623 9.80371 2.19998 9.49995 2.19998C9.19619 2.19998 8.94995 2.44623 8.94995 2.74998V12.25C8.94995 12.5537 9.19619 12.8 9.49995 12.8C9.80371 12.8 10.05 12.5537 10.05 12.25V2.74998Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </svg>\n)\n\nexport const Play: FC<SVGProps<SVGSVGElement>> = ({ ...props }) => {\n return (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.orkllg/2000/svg\"\n fill=\"currentColor\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.1869 3.71487C5.42703 3.57009 5.72543 3.56159 5.9734 3.69247L20.3734 11.2925C20.6358 11.431 20.8 11.7033 20.8 12C20.8 12.2967 20.6358 12.569 20.3734 12.7075L5.9734 20.3075C5.72543 20.4384 5.42703 20.4299 5.1869 20.2851C4.94679 20.1403 4.79999 19.8803 4.79999 19.6V4.39998C4.79999 4.11959 4.94679 3.85966 5.1869 3.71487Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n","import {\n FC,\n PropsWithChildren,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react'\n\ntype PlayerState = 'playing' | 'paused' | 'loading'\n\nconst urlHasExpired = (url?: string) => {\n if (!url) return false\n const query = url.split('?')[1]\n if (!query) return false\n const params = new URLSearchParams(query)\n const expires = params.get('Expires')\n if (!expires) return false\n return new Date(expires) < new Date()\n}\n\nconst removeQuery = (fullURL?: string) => fullURL && fullURL.split('?')[0]\n\nconst audioUrlsPointToSameFile = (url1?: string, url2?: string) => {\n return removeQuery(url1) === removeQuery(url2)\n}\n\nconst usePlayerProvider = () => {\n const [state, setState] = useState<PlayerState>('paused')\n const generateAudio = () => {\n if (typeof window === 'undefined') return null\n const audio = new Audio()\n audio.addEventListener('play', () => setState('playing'))\n return audio\n }\n const generatedAudio = useMemo(generateAudio, [])\n const audioRef = useRef<HTMLAudioElement>(generatedAudio)\n\n const setAudio = (src: string) =>\n new Promise<void>((resolve) => {\n const audio = audioRef?.current\n if (!audio) return\n audio.setAttribute('src', src)\n setState('loading')\n audio.addEventListener(\n 'loadedmetadata',\n () => {\n setState('paused')\n resolve()\n },\n { once: true }\n )\n })\n\n const play = () => {\n audioRef.current?.play()\n audioRef.current?.addEventListener('ended', () => setState('paused'), { once: true })\n }\n\n const pause = () => {\n audioRef.current?.pause()\n setState('paused')\n }\n\n const stop = () => {\n const audio = audioRef.current\n if (audio) {\n audioRef.current?.pause()\n audioRef.current.currentTime = 0\n }\n setState('paused')\n }\n\n return {\n audioRef,\n state,\n setAudio,\n play,\n pause,\n stop\n }\n}\n\nconst PlayerContext = createContext<ReturnType<typeof usePlayerProvider>>(\n null as any as ReturnType<typeof usePlayerProvider>\n)\n\nexport const usePlayer = (url: string) => {\n const data = useContext(PlayerContext)\n const isMySrc = audioUrlsPointToSameFile(data.audioRef.current?.src, url)\n const isLoading = data.state === 'loading' && isMySrc\n const isPlaying = data.state === 'playing' && isMySrc\n const play = async () => {\n const currentAudioSrc = data.audioRef.current?.src\n if (!isMySrc || urlHasExpired(currentAudioSrc)) {\n await data.setAudio(url)\n }\n data.play()\n }\n return { ...data, isMySrc, isLoading, isPlaying, play }\n}\n\nexport const usePlayerControls = () => useContext(PlayerContext)\n\nexport const PlayerProvider: FC<PropsWithChildren> = ({ children }) => {\n const value = usePlayerProvider()\n return <PlayerContext.Provider value={value}>{children}</PlayerContext.Provider>\n}\n\nexport const usePlayback = (url: string, onPlay?: () => void, onPause?: () => void) => {\n const player = usePlayer(url)\n const hasPlayed = useRef(false)\n\n const playPause = () => {\n // this is to prevent the soundwave from being fetched when the user clicks on the play button multiple times\n if (!hasPlayed.current) {\n hasPlayed.current = true\n }\n if (player.isPlaying) {\n player.pause()\n onPause?.()\n } else {\n player.play()\n onPlay?.()\n }\n }\n\n // pause the player when the component unmounts\n useEffect(() => {\n return () => {\n if (player.isPlaying) player.pause()\n }\n }, [])\n\n return { player, playPause }\n}\n","/* eslint-disable react/jsx-no-useless-fragment */\nimport * as React from 'react'\n\ntype WhenProps = {\n children: React.ReactNode\n isTrue?: boolean\n limit?: number\n}\n\nconst RenderWhen = ({ limit, isTrue, children }: WhenProps) => {\n const list: React.ReactNode[] = []\n\n if (isTrue !== true) {\n return null\n }\n\n React.Children.map(children, (child: any) => {\n const { isTrue: isChildTrue } = child?.props || {}\n\n if (isChildTrue === true && (!limit || list.length < limit)) {\n list.push(child)\n }\n })\n\n return <>{list}</>\n}\n\nRenderWhen.defaultProps = {\n limit: 1,\n isTrue: true\n}\n\n// @ts-ignore\nRenderWhen.If = ({ children, isTrue }) => children\n\nconst Else = ({ children }: any) => children\n\nElse.defaultProps = {\n isTrue: true\n}\n\nRenderWhen.Else = Else\n\nexport { RenderWhen }\n","export const objectToFormData = (object: Record<string, any>) => {\n const isObject = (obj: Record<string, any>) =>\n typeof obj === 'object' && !(obj instanceof Date) && !(obj instanceof File) && obj !== null\n\n const appendObject = (parentKey: string, obj: Record<string, any>, formData: FormData) => {\n for (const key in obj) {\n const value = obj[key]\n\n if (isObject(value)) {\n appendObject(`${parentKey}[${key}]`, value, formData)\n } else if (value !== undefined) {\n formData.append(`${parentKey}[${key}]`, value === null ? '' : value)\n }\n }\n }\n\n const formData = new FormData()\n\n for (const key in object) {\n const value = object[key]\n\n if (value instanceof File) {\n formData.append(key, value, value.name)\n } else if (value !== undefined) {\n if (isObject(value)) {\n appendObject(key, value, formData)\n } else {\n formData.append(key, value === null ? '' : value)\n }\n }\n }\n\n return formData\n}\n","import { styled } from '@stitches/react'\n\nconst Root = styled('div', {\n '--progress': '-100%',\n height: '8px',\n width: '100%',\n background: 'rgba(255, 255, 255, 0.1)',\n borderRadius: '12px',\n position: 'relative',\n overflow: 'hidden'\n})\n\nconst Bar = styled('div', {\n height: '100%',\n width: '100%',\n background: '#ffffff',\n transition: 'transform 0.2s ease-in-out',\n transform: 'translateX(var(--progress))',\n borderRadius: '12px'\n})\n\nexport const Progress = {\n Root,\n Bar\n}\n","function _writeStringToArray(aString: string, targetArray: Uint8Array, offset: number): void {\n for (let i = 0; i < aString.length; ++i) {\n targetArray[offset + i] = aString.charCodeAt(i)\n }\n}\n\nfunction _writeInt16ToArray(aNumber: number, targetArray: Uint8Array, offset: number): void {\n aNumber = Math.floor(aNumber)\n targetArray[offset + 0] = aNumber & 255 // byte 1\n targetArray[offset + 1] = (aNumber >> 8) & 255 // byte 2\n}\n\nfunction _writeInt32ToArray(aNumber: number, targetArray: Uint8Array, offset: number): void {\n aNumber = Math.floor(aNumber)\n targetArray[offset + 0] = aNumber & 255 // byte 1\n targetArray[offset + 1] = (aNumber >> 8) & 255 // byte 2\n targetArray[offset + 2] = (aNumber >> 16) & 255 // byte 3\n targetArray[offset + 3] = (aNumber >> 24) & 255 // byte 4\n}\n\nfunction _floatBits(f: number): number {\n const buf = new ArrayBuffer(4)\n new Float32Array(buf)[0] = f\n const bits = new Uint32Array(buf)[0]\n return bits | 0 // Return as a signed integer.\n}\n\nfunction _writeAudioBufferToArray(\n audioBuffer: AudioBuffer,\n targetArray: Uint8Array,\n offset: number,\n bitDepth: number\n): void {\n let index = 0,\n channel = 0\n const length = audioBuffer.length\n const channels = audioBuffer.numberOfChannels\n let channelData: Float32Array, sample: number\n\n for (index = 0; index < length; ++index) {\n for (channel = 0; channel < channels; ++channel) {\n channelData = audioBuffer.getChannelData(channel)\n\n if (bitDepth === 16) {\n sample = channelData[index] * 32768.0\n sample = Math.max(-32768, Math.min(sample, 32767)) // Clamp sample between -32768 and 32767\n _writeInt16ToArray(sample, targetArray, offset)\n offset += 2\n } else if (bitDepth === 32) {\n sample = _floatBits(channelData[index])\n _writeInt32ToArray(sample, targetArray, offset)\n offset += 4\n } else {\n console.log('Invalid bit depth for PCM encoding.')\n return\n }\n }\n }\n}\n\nasync function _getAudioBuffer(\n blobData: Blob | BlobPart[],\n contextOptions?: AudioContextOptions\n): Promise<AudioBuffer> {\n let blob = blobData instanceof Blob ? blobData : new Blob(blobData)\n\n const url = URL.createObjectURL(blob)\n const response = await fetch(url)\n const arrayBuffer = await response.arrayBuffer()\n const audioContext = new AudioContext(contextOptions)\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer)\n\n return audioBuffer\n}\n\n/**\n * Converts an AudioBuffer to a WAV Blob\n * @param audioBuffer - AudioBuffer to be converted to WAV\n * @param as32BitFloat - Convert to 16-bit or 32-bit file, default is 16-bit\n * @returns A Promise resolving to a Blob of WAV data\n */\nexport async function getWaveBlobFromAudioBuffer(\n audioBuffer: AudioBuffer,\n as32BitFloat: boolean = false\n): Promise<Blob> {\n const frameLength = audioBuffer.length\n const numberOfChannels = audioBuffer.numberOfChannels\n const sampleRate = audioBuffer.sampleRate\n const bitsPerSample = as32BitFloat ? 32 : 16\n const bytesPerSample = bitsPerSample / 8\n const byteRate = (sampleRate * numberOfChannels * bitsPerSample) / 8\n const blockAlign = (numberOfChannels * bitsPerSample) / 8\n const wavDataByteLength = frameLength * numberOfChannels * bytesPerSample\n const headerByteLength = 44\n const totalLength = headerByteLength + wavDataByteLength\n const waveFileData = new Uint8Array(totalLength)\n const subChunk1Size = 16\n const subChunk2Size = wavDataByteLength\n const chunkSize = 4 + (8 + subChunk1Size) + (8 + subChunk2Size)\n\n _writeStringToArray('RIFF', waveFileData, 0)\n _writeInt32ToArray(chunkSize, waveFileData, 4)\n _writeStringToArray('WAVE', waveFileData, 8)\n _writeStringToArray('fmt ', waveFileData, 12)\n\n _writeInt32ToArray(subChunk1Size, waveFileData, 16) // SubChunk1Size (4)\n _writeInt16ToArray(as32BitFloat ? 3 : 1, waveFileData, 20) // AudioFormat (2)\n _writeInt16ToArray(numberOfChannels, waveFileData, 22) // NumChannels (2)\n _writeInt32ToArray(sampleRate, waveFileData, 24) // SampleRate (4)\n _writeInt32ToArray(byteRate, waveFileData, 28) // ByteRate (4)\n _writeInt16ToArray(blockAlign, waveFileData, 32) // BlockAlign (2)\n _writeInt32ToArray(bitsPerSample, waveFileData, 34) // BitsPerSample (4)\n _writeStringToArray('data', waveFileData, 36)\n _writeInt32ToArray(subChunk2Size, waveFileData, 40) // SubChunk2Size (4)\n\n _writeAudioBufferToArray(audioBuffer, waveFileData, 44, bitsPerSample)\n\n return new Blob([waveFileData], { type: 'audio/wave' })\n}\n\n/**\n * Converts Blob data to WAV format\n * @param blobData - Blob or Blob[] to be converted to audio/wave Blob\n * @param as32BitFloat - Convert to 16-bit or 32-bit file, default is 16-bit\n * @param contextOptions - Options to be used for encoding\n * @returns A Promise resolving to a Blob of WAV data\n */\nexport async function getWaveBlob(\n blobData: Blob | Blob[],\n as32BitFloat: boolean = false,\n contextOptions?: AudioContextOptions\n): Promise<Blob> {\n const audioBuffer = await _getAudioBuffer(blobData, contextOptions)\n return getWaveBlobFromAudioBuffer(audioBuffer, as32BitFloat)\n}\n\nconst BIT_RATE_KBPS = 128\n\n/**\n * Service for recording audio from the user's microphone.\n * Better memory management than third party libraries + better control over the recording process.\n */\nclass AudioRecorderService {\n private mediaRecorder: MediaRecorder | null = null\n private stream: MediaStream | null = null\n private __data: Blob | null = null\n\n /**\n * @returns {Promise<boolean>} - true if user has microphone access, false otherwise\n */\n public async checkMicrophonePermission() {\n const devices = await navigator?.mediaDevices?.enumerateDevices()\n const hasMic = !!devices.find((device) => device.kind === 'audioinput' && !!device.label)\n return hasMic\n }\n\n /**\n * @returns {boolean} - true if recording started successfully, false otherwise\n */\n public async startRecording() {\n if (this.mediaRecorder?.state === 'recording') return true\n\n try {\n this.stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false })\n\n this.mediaRecorder = new MediaRecorder(this.stream, {\n bitsPerSecond: BIT_RATE_KBPS * 1000\n })\n\n this.mediaRecorder.ondataavailable = (e) => (this.__data = e.data)\n } catch (err) {\n console.error(err)\n return false\n }\n\n this.mediaRecorder.start()\n return true\n }\n\n /**\n * @returns {Promise<boolean>} - true if recording is stopped, false otherwise\n */\n public stopRecording() {\n return new Promise((resolve) => {\n if (this.mediaRecorder?.state !== 'recording') {\n resolve(true)\n return\n }\n this.mediaRecorder.stop()\n this.mediaRecorder.onstop = () => {\n this.stream?.getTracks().forEach((track) => track.stop())\n this.mediaRecorder = null\n this.stream = null\n resolve(true)\n }\n })\n }\n\n /**\n *\n * @returns {Promise<Blob | null>} - Blob of the recorded audio\n */\n public async getWavBlob() {\n if (!this.__data) return null\n return await getWaveBlob(this.__data)\n }\n}\n\nconst instance = new AudioRecorderService()\n\nexport { instance as AudioRecorderService }\n","import React from 'react'\nimport { AudioRecorderService } from './AudioRecorderService'\n\nexport const RECORDED_AUDIO_NAME = 'Recording.wav'\nexport const MIN_RECORDING_LENGTH_MS = 1500\n\ninterface UseRecorderOptions {\n onFileUpdate: (file: File) => void\n}\n\nexport const useRecorder = (options: UseRecorderOptions) => {\n const [hasMicAccess, setHasMicAccess] = React.useState(false)\n const [isRecording, setIsRecording] = React.useState(false)\n const [hasMinTimeElapsed, setHasMinTimeElapsed] = React.useState(false)\n\n React.useEffect(() => {\n const onDeviceChange = async () => {\n // checking if user has microphone access\n AudioRecorderService.checkMicrophonePermission().then(setHasMicAccess)\n }\n\n onDeviceChange()\n navigator?.mediaDevices?.addEventListener('devicechange', onDeviceChange)\n return () => navigator?.mediaDevices?.removeEventListener('devicechange', onDeviceChange)\n }, [])\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = async () => {\n if (isRecording) {\n if (!hasMinTimeElapsed) {\n return\n }\n\n setIsRecording(false)\n setHasMinTimeElapsed(false)\n\n await AudioRecorderService.stopRecording()\n const blob = await AudioRecorderService.getWavBlob()\n if (!blob) {\n console.log('Failed to get audio blob', blob)\n return\n }\n\n const file = new File([blob], RECORDED_AUDIO_NAME, {\n type: 'audio/mpeg',\n lastModified: Date.now()\n })\n\n options.onFileUpdate(file)\n return\n }\n\n const hasStarted = await AudioRecorderService.startRecording()\n setIsRecording(hasStarted)\n\n // Mp3 encoding fails if the file is less than ~1.5 seconds long\n setTimeout(() => {\n setHasMinTimeElapsed(true)\n }, MIN_RECORDING_LENGTH_MS)\n }\n\n return { hasMicAccess, isRecording, hasMinTimeElapsed, handleClick }\n}\n","import { styled } from '@stitches/react'\nimport axios from 'axios'\nimport React from 'react'\nimport useSWR from 'swr'\nimport useSWRMutation from 'swr/mutation'\nimport { Pause, Play, Spinner } from '../icons'\nimport { PlayerProvider, usePlayback } from '../utils/PlayerProvider'\nimport { RenderWhen } from '../utils/RenderWhen'\nimport { objectToFormData } from '../utils/objectToFormData'\nimport { AudioFilePickerRoot } from './AudioFilePicker'\nimport { Progress } from './Progress'\nimport { RECORDED_AUDIO_NAME } from './useRecorder'\n\nconst API_URL = 'https://arpeggi.io/api/v2/'\n\nconst instance = axios.create({\n baseURL: API_URL\n})\n\nconst createMLIJ = async (_: string, { arg }: { arg: { file: File; voiceModelId: number } }) => {\n const resp = await instance.post(\n '/ml-inference-jobs',\n objectToFormData({\n soundFile: arg.file,\n type: 'audio',\n voiceModelId: arg.voiceModelId,\n metadata: {\n splitInstrumental: true,\n isRecordedAudio: arg.file.name === RECORDED_AUDIO_NAME\n }\n }),\n {\n params: {\n type: 'audio'\n }\n }\n )\n return resp.data\n}\n\nconst fetcher = async (path: string) => {\n if (path === null) return null\n const resp = await instance.get(path)\n return resp.data\n}\n\nconst useMLIJ = (id: number) => {\n const shouldFetch = id > 0\n return useSWR(shouldFetch ? `/ml-inference-jobs/${id}` : null, fetcher, {\n refreshInterval: 1000\n })\n}\n\nconst useGuestConvert = () => {\n const [file, setFile] = React.useState<File | null>(null)\n const [mlijId, setMlijId] = React.useState<number>(0)\n const [voiceModelId, setVoiceModelId] = React.useState<number>(0)\n const { data, isLoading } = useMLIJ(mlijId)\n\n const { trigger, isMutating } = useSWRMutation('/ml-inference-jobs', createMLIJ)\n\n const handleSelectVoice = async (voiceModelId: number) => {\n if (!file) return\n setMlijId(0)\n setVoiceModelId(voiceModelId)\n trigger(\n {\n file,\n voiceModelId\n },\n {\n onSuccess: (data) => {\n console.log('created mlij', data)\n setMlijId(data.id)\n }\n }\n )\n }\n\n const reset = () => {\n setFile(null)\n setMlijId(0)\n setVoiceModelId(0)\n }\n\n return {\n file,\n setFile,\n mlijId,\n setMlijId,\n voiceModelId,\n setVoiceModelId,\n data,\n isLoading,\n handleSelectVoice,\n reset,\n isMutating\n }\n}\n\nconst GuestConvertContext = React.createContext({} as ReturnType<typeof useGuestConvert>)\n\nexport const useGuestConvertContext = () => React.useContext(GuestConvertContext)\n\nexport const GuestConvertProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const data = useGuestConvert()\n return (\n <PlayerProvider>\n <GuestConvertContext.Provider value={data}>{children}</GuestConvertContext.Provider>\n </PlayerProvider>\n )\n}\n\nconst StyledButton = styled('button', {\n background: '#ffffff',\n borderRadius: '12px',\n width: '64px',\n height: '64px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n border: 'none',\n outline: 'none',\n transition: 'background 0.2s ease-in-out, transform 0.2s ease-in-out',\n color: '#000000',\n '& > svg': {\n width: '24px',\n height: '24px'\n },\n '&:hover': {\n background: '#ffffff99',\n transform: 'scale(1.05)'\n },\n '&:active': {\n background: '#ffffffcc'\n },\n '&:disabled': {\n background: 'rgba(255, 255, 255, 0.3)',\n transform: 'none',\n cursor: 'not-allowed'\n }\n})\n\nexport const PlayButton = () => {\n const { data, isMutating } = useGuestConvertContext()\n const url = data?.lossyOutputFile?.url\n const { player, playPause } = usePlayback(url)\n return (\n <StyledButton onClick={playPause} disabled={player.isLoading || !url}>\n <RenderWhen>\n <RenderWhen.If isTrue={player.isLoading || data?.jobStatus === 'running' || isMutating}>\n <Spinner />\n </RenderWhen.If>\n <RenderWhen.If isTrue={player.isPlaying}>\n <Pause />\n </RenderWhen.If>\n <RenderWhen.Else>\n <Play />\n </RenderWhen.Else>\n </RenderWhen>\n </StyledButton>\n )\n}\n\nconst MAX_DURATION_S = 30\n\nexport const useFakeProgress = (step: number) => {\n const intervalRef = React.useRef<number>()\n const elementRef = React.useRef<HTMLDivElement>(null)\n React.useEffect(() => {\n let currentProgress = 0\n intervalRef.current = setInterval(() => {\n currentProgress += step\n let progress = Math.round((Math.atan(currentProgress) / (Math.PI / 2)) * 100 * 1000) / 1000\n elementRef.current?.style.setProperty('--progress', `${-100 + progress}%`)\n }, 50)\n return () => clearInterval(intervalRef.current)\n }, [])\n return elementRef\n}\n\nconst FakeProgress = () => {\n const elementRef = useFakeProgress(0.1)\n return (\n <Progress.Root ref={elementRef}>\n <Progress.Bar />\n </Progress.Root>\n )\n}\n\nconst EmptyProgress = () => {\n return (\n <Progress.Root>\n <Progress.Bar />\n </Progress.Root>\n )\n}\n\nconst FullProgress = () => {\n return (\n <Progress.Root style={{ '--progress': '0%' } as any}>\n <Progress.Bar />\n </Progress.Root>\n )\n}\n\nexport const InferenceProgress = () => {\n const { data } = useGuestConvertContext()\n if (!data) return <EmptyProgress />\n if (data.jobStatus === 'success') return <FullProgress />\n return <FakeProgress key={data?.id} />\n}\n\nconst maxFileCount = 1\nconst maxSizeBytes = 100 * 1024 * 1024\nconst minSizeBytes = 1\n\nexport const FilePicker: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { setFile } = useGuestConvertContext()\n const onFileAccepted = (files: File[]) => setFile(files[0])\n return (\n <AudioFilePickerRoot\n files={[]}\n onFileAccepted={onFileAccepted}\n maxFileCount={maxFileCount}\n maxSizeBytes={maxSizeBytes}\n minSizeBytes={minSizeBytes}\n maxDurationS={MAX_DURATION_S}\n >\n {children}\n </AudioFilePickerRoot>\n )\n}\n"],"names":["FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","global","freeSelf","root","objectProto","objectToString","nativeMax","nativeMin","now","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","toNumber","isObject","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","value","type","isObjectLike","isSymbol","other","isBinary","lodash_debounce","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","IS_SERVER2","useMediaQuery","query","defaultValue","initializeWithValue","getMatches","query2","matches","setMatches","useState","handleChange","matchMedia","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","context","provider","outerName","lazyComponent","payload","init","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","source","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","s","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","key","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","jsxRuntimeModule","require$$1","t","r","o","u","S","y","B","$","R","z","I","W","j","E","v","T","w","M","C","P","L","A","O","N","D","H","V","G","F","J","U","X","Y","Z","K","ee","re","Box","styled","toHex_1","hex","num","toHex","fromHex","exports","createMatch","leaf","isMatchingNode","tree","path","head","arr","tail","merge","currentByte","currentTree","matchingNode","createNode","typename","bytes","createComplexNode","obj","currentKey","patternTree","tree_1","add","signature","additionalInfo","offset","existing","merged","__importDefault","this","mod","pattern_tree_1","filetypeinfo","guessed","walkTree","index","guessFile","filetypename","filetypemime","filetypeextension","reactIs_production_min","hasSymbol","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","typeOf","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","reactIs_development","reactIsModule","getOwnPropertySymbols","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","order2","test3","letter","objectAssign","target","from","to","symbols","ReactPropTypesSecret","ReactPropTypesSecret_1","text","message","getStack","checkPropTypes_1","ReactIs","require$$2","require$$3","require$$4","emptyFunctionThatReturnsNull","factoryWithTypeCheckers","throwOnDirectAccess","ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","createPrimitiveTypeChecker","createAnyTypeChecker","createArrayOfTypeChecker","createElementTypeChecker","createElementTypeTypeChecker","createInstanceTypeChecker","createNodeChecker","createObjectOfTypeChecker","createEnumTypeChecker","createUnionTypeChecker","createShapeTypeChecker","createStrictShapeTypeChecker","is","PropTypeError","data","createChainableTypeChecker","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","propFullName","secret","cacheKey","chainedCheckType","expectedType","propValue","propType","getPropType","preciseType","getPreciseType","typeChecker","expectedClass","expectedClassName","actualClassName","getClassName","expectedValues","valuesString","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedTypesMessage","isNode","invalidValidatorError","shapeTypes","allKeys","entry","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","getShim","propTypesModule","__awaiter","_arguments","generator","adopt","resolve","reject","fulfilled","rejected","COMMON_MIME_TYPES","toFileWithPath","file","withMimeType","webkitRelativePath","setObjProp","ext","FILES_TO_IGNORE","fromEvent","evt","isDataTransfer","getDataTransferFiles","isChangeEvt","getInputFiles","getFsHandleFiles","fromList","handles","dt","items","files","toFilePromises","noIgnoredFiles","flatten","fromDataTransferItem","fromDirEntry","acc","_a","fromEntry","fromFileEntry","reader","entries","readEntries","batch","fwp","es","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","_arrayLikeToArray","ownKeys","enumerableOnly","sym","_objectSpread","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","len","arr2","_i","_arr","_n","_d","_s","_e","accepts","_accepts","FILE_INVALID_TYPE","FILE_TOO_LARGE","FILE_TOO_SMALL","TOO_MANY_FILES","getInvalidTypeRejectionErr","accept","acceptArr","msg","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","fileMatchSize","isDefined","allFilesAccepted","_ref","multiple","maxFiles","validator","_fileAccepted","_fileAccepted2","accepted","_fileMatchSize","_fileMatchSize2","sizeMatch","customErrors","isPropagationStopped","event","isEvtWithFiles","onDocumentDragOver","isIe","userAgent","isEdge","isIeOrEdge","composeEventHandlers","_len","fns","_key","canUseFileSystemAccessAPI","pickerOptionsFromAccept","acceptForPicker","_ref2","_ref3","ok","isMIMEType","isExt","agg","_ref4","_ref5","acceptPropAsAcceptAttr","_ref6","_ref7","isAbort","isSecurityError","_excluded","_excluded2","_excluded3","_excluded4","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","sourceKeys","Dropzone","forwardRef","params","_useDropzone","useDropzone","open","useImperativeHandle","PropTypes","initialState","_defaultProps$props","disabled","getFilesFromEvent","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","onFileDialogCancel","onFileDialogOpen","useFsAccessApi","autoFocus","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","onError","acceptAttr","useMemo","pickerTypes","onFileDialogOpenCb","noop","onFileDialogCancelCb","rootRef","useRef","inputRef","_useReducer","useReducer","reducer","_useReducer2","state","dispatch","isFocused","isFileDialogActive","fsAccessApiWorksRef","onWindowFocus","dragTargetsRef","onDocumentDrop","onErrCb","useCallback","onDragEnterCb","stopPropagation","fileCount","isDragAccept","isDragReject","onDragOverCb","hasFiles","onDragLeaveCb","targets","targetIdx","setFiles","fileRejections","acceptError","sizeError","errors","onDropCb","openFileDialog","opts","onKeyDownCb","onFocusCb","onBlurCb","onClickCb","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","_ref2$refKey","refKey","role","onKeyDown","onFocus","onBlur","onClick","rest","onInputElementClick","getInputProps","_ref3$refKey","onChange","inputProps","action","INFERENCE_FILE_TYPES","TIMEOUT_MS","PREFIX","getDurationSeconds","throwError","objectUrl","audio","cleanup","timeout","duration","resolveDuplicates","map","getFileType","fileReader","fileType","getFileWithDuration","fileWithDuration","mimetypeToExtension","mimeTypes","processedKey","setAudioFileNameFromMagicNumber","magicNumber","currentExtension","trueMimeType","trueExtension","newFileName","MaxFileSizeError","MinFileSizeError","MaxDurationError","InvalidFileTypeError","useAudioFilePickerErrors","useAudioFilepickerDropzone","handleDurationError","handleMaxSizeError","handleMinSizeError","handleUnknownError","handleInvalidTypeError","setError","newFiles","validDurationFiles","oldValues","resolved","sliced","AudioFilePickerContext","useAudioFilePickerContext","StyledRoot","AudioFilePickerRoot","dropzoneContext","onFileAccepted","onDelete","maxFileCount","maxSizeBytes","minSizeBytes","maxDurationS","Root","StyledHeader","StyledContent","StyledFooter","Card","ConvertStep","bind","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","isFunction","isArrayBuffer","isArrayBufferView","isString","isNumber","isBoolean","isPlainObject","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","allOwnKeys","findKey","_global","isContextDefined","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","endsWith","searchString","position","lastIndex","toArray","isTypedArray","TypedArray","forEachEntry","pair","matchAll","regExp","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducedDescriptors","descriptor","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","length","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","token","callbacks","cb","asap","utils$1","AxiosError","code","request","response","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","id","transitionalDefaults","platform$1","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","normalized","asStrings","first","computed","accessors","defineAccessor","mapped","headerValue","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","min","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","timeoutErrorMessage","protocol","composeSignals","signals","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","pos","end","readBytes","iterable","readStream","stream","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","test","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","res","_","getBodyLength","body","resolveBodyLength","knownAdapters","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validators$1","version","formatMessage","opt","desc","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","callback","isAxiosError","HttpStatusCode","createInstance","defaultConfig","instance","axios","promises","useSyncExternalStoreShim_production_min","objectIs","useDebugValue","didWarnOld18Alpha","didWarnUncachedGetSnapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","cachedValue","_useState","inst","forceUpdate","checkIfSnapshotChanged","handleStoreChange","latestGetSnapshot","prevValue","nextValue","useSyncExternalStore$1","canUseDOM","isServerEnvironment","useSyncExternalStore$2","useSyncExternalStoreShim_development","shimModule","UNDEFINED","OBJECT","mergeObjects","isPromiseLike","table","counter","stableHash","arg","SWRGlobalState","EMPTY_CACHE","INITIAL_CACHE","STR_UNDEFINED","isWindowDefined","isDocumentDefined","hasRequestAnimationFrame","createCacheHelper","prev","online","isOnline","onWindowEvent","offWindowEvent","isVisible","visibilityState","initFocus","initReconnect","onOnline","onOffline","preset","defaultConfigOptions","IS_REACT_LEGACY","IS_SERVER","rAF","navigatorConnection","slowConnection","serialize","__timestamp","getTimestamp","FOCUS_EVENT","RECONNECT_EVENT","MUTATE_EVENT","events","internalMutate","_data","_opts","populateCache","rollbackOnErrorOption","optimisticData","rollbackOnError","throwOnError","keyFilter","matchedKeys","it","mutateByKey","_k","get","set","EVENT_REVALIDATORS","MUTATION","FETCH","PRELOAD","startRevalidate","revalidators","beforeMutationTs","hasOptimisticData","displayedData","currentData","committedData","populateCachedData","revalidateAllKeys","initCache","mutate","unmount","subscriptions","subs","setter","initProvider","releaseFocus","releaseReconnect","onErrorRetry","__","revalidate","maxRetryCount","currentRetryCount","compare","newData","mergeConfigs","u1","f1","u2","f2","SWRConfigContext","createContext","INFINITE_PREFIX","enableDevtools","use","setupDevTools","normalize","useSWRConfig","useContext","middleware","useSWRNext","key_","fetcher_","req","BUILT_IN_MIDDLEWARE","withArgs","hook","fallbackConfig","next","subscribeCallback","keyedRevalidators","withMiddleware","useSWR","uses","ReactExports","WITH_DEDUPE","fetcher","suspense","fallbackData","revalidateOnMount","revalidateIfStale","refreshInterval","refreshWhenHidden","refreshWhenOffline","keepPreviousData","fnArg","initialMountedRef","unmountedRef","keyRef","fetcherRef","configRef","getConfig","isActive","getCache","setCache","subscribeCache","getInitialCache","stateDependencies","fallback","isEqual","current","returnedData","shouldStartRequest","getSelectedCache","snapshot","cachedData","initialData","clientSnapshot","serverSnapshot","memorizedSnapshot","newSnapshot","cached","isInitialMount","hasRevalidator","laggyDataRef","shouldDoInitialRevalidation","defaultValidatingState","isValidating","isLoading","revalidateOpts","currentFetcher","startAt","loading","shouldStartNewRequest","callbackSafeguard","finalState","finishRequestAndUpdateState","cleanupState","requestInfo","mutationInfo","cacheData","currentConfig","shouldRetryOnError","revalidateEvents","boundMutate","softRevalidate","nextFocusRevalidatedAt","unsubEvents","interval","execute","startTransition","useStateWithDeps","rerender","stateRef","stateDependenciesRef","setState","shouldRerender","currentState","useSWRMutation","ditchMutationsUntilRef","trigger","serializedKey","resolvedKey","mutationStartedAt","reset","Loading","spin","keyframes","Spinner","Pause","Play","urlHasExpired","removeQuery","fullURL","audioUrlsPointToSameFile","url1","url2","usePlayerProvider","generateAudio","generatedAudio","audioRef","src","_b","PlayerContext","usePlayer","isMySrc","isPlaying","currentAudioSrc","usePlayerControls","PlayerProvider","usePlayback","onPlay","onPause","player","hasPlayed","playPause","RenderWhen","limit","isTrue","list","isChildTrue","Else","objectToFormData","appendObject","parentKey","Bar","Progress","_writeStringToArray","aString","targetArray","_writeInt16ToArray","aNumber","_writeInt32ToArray","_floatBits","buf","_writeAudioBufferToArray","audioBuffer","bitDepth","channel","channels","channelData","_getAudioBuffer","blobData","contextOptions","blob","arrayBuffer","getWaveBlobFromAudioBuffer","as32BitFloat","frameLength","numberOfChannels","sampleRate","bitsPerSample","bytesPerSample","byteRate","blockAlign","wavDataByteLength","totalLength","waveFileData","subChunk1Size","subChunk2Size","getWaveBlob","BIT_RATE_KBPS","AudioRecorderService","__publicField","device","track","RECORDED_AUDIO_NAME","MIN_RECORDING_LENGTH_MS","useRecorder","hasMicAccess","setHasMicAccess","isRecording","setIsRecording","hasMinTimeElapsed","setHasMinTimeElapsed","onDeviceChange","hasStarted","createMLIJ","useMLIJ","shouldFetch","useGuestConvert","setFile","mlijId","setMlijId","voiceModelId","setVoiceModelId","isMutating","GuestConvertContext","useGuestConvertContext","GuestConvertProvider","StyledButton","PlayButton","MAX_DURATION_S","useFakeProgress","intervalRef","elementRef","currentProgress","progress","FakeProgress","EmptyProgress","FullProgress","InferenceProgress","FilePicker"],"mappings":"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EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC3CA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,OAAQ,CACR,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,MACH,EAAE,CAAE,KAAM,eAAgB,UAAW,MAAM,CAAE,EAC9CA,EAAI,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EAC3CA,EAAI,KAAM,CAAC,OAAQ,OAAQ,OAAQ,MAAM,CAAC,EA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OAAQ,MAAM,EAAG,CACzC,KAAM,kBACN,UAAW,KACf,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EACDA,EAAI,kBAAmB,CACnB,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,OACA,MACJ,EAAG,CACC,KAAM,YACN,UAAW,KACf,CAAC,EAEDA,EAAI,MAAO,CACP,OACA,OACA,OACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IA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","x_google_ignoreList":[0,1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84]}
|