-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathmain-CFkIe87Q.chunk.mjs.map
1 lines (1 loc) · 363 KB
/
main-CFkIe87Q.chunk.mjs.map
1
{"version":3,"file":"main-CFkIe87Q.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/Composables/useIsMobile.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.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/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/browser/index.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/axios/index.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js","../node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js","../node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","../node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs","../node_modules/@nextcloud/axios/dist/index.mjs","../src/components/pages/IntroAnimation.vue","../src/components/SlideShow.vue","../src/components/Card.vue","../src/components/AppStoreBadge.vue","../src/components/pages/DeviceIntegration.vue","../src/hub-release.ts","../src/components/pages/HubRelease.vue","../src/components/pages/KeyNotes.vue","../img/facebook.svg?raw","../img/mastodon.svg?raw","../img/x.svg?raw","../src/components/pages/SharePage.vue","../src/pages.ts","../src/views/App.vue","../src/main.js"],"sourcesContent":["import { ref, readonly } from \"vue\";\nconst MOBILE_BREAKPOINT = 1024;\nconst MOBILE_SMALL_BREAKPOINT = MOBILE_BREAKPOINT / 2;\nconst isLessThanBreakpoint = (breakpoint) => document.documentElement.clientWidth < breakpoint;\nconst isMobile = ref(isLessThanBreakpoint(MOBILE_BREAKPOINT));\nconst isSmallMobile = ref(isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT));\nwindow.addEventListener(\"resize\", () => {\n isMobile.value = isLessThanBreakpoint(MOBILE_BREAKPOINT);\n isSmallMobile.value = isLessThanBreakpoint(MOBILE_SMALL_BREAKPOINT);\n}, { passive: true });\nfunction useIsMobile() {\n return readonly(isMobile);\n}\nfunction useIsSmallMobile() {\n return readonly(isSmallMobile);\n}\nconst isMobileState = readonly(isMobile);\nexport {\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n isMobileState,\n useIsMobile,\n useIsSmallMobile\n};\n//# sourceMappingURL=useIsMobile.mjs.map\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\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 isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\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","'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","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","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, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\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, newConfig.allowAbsoluteUrls), 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.8.4\";","'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 // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\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, config.allowAbsoluteUrls);\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","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","import valid from \"semver/functions/valid.js\";\nimport major from \"semver/functions/major.js\";\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.2\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, ...event) {\n this.bus.emit(name, ...event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.2\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h) => h !== handler)\n );\n }\n emit(name, ...event) {\n const handlers = this.handlers.get(name) || [];\n handlers.forEach((h) => {\n try {\n ;\n h(event[0]);\n } catch (e) {\n console.error(\"could not invoke event listener\", e);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction subscribe(name, handler) {\n getBus().subscribe(name, handler);\n}\nfunction unsubscribe(name, handler) {\n getBus().unsubscribe(name, handler);\n}\nfunction emit(name, ...event) {\n getBus().emit(name, ...event);\n}\nexport {\n ProxyBus,\n SimpleBus,\n emit,\n subscribe,\n unsubscribe\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass ScopedStorage {\n constructor(scope, wrapped, persistent) {\n _defineProperty(this, \"scope\", void 0);\n _defineProperty(this, \"wrapped\", void 0);\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n clear() {\n Object.keys(this.wrapped).filter(key => key.startsWith(this.scope)).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n}\nexports.default = ScopedStorage;\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass StorageBuilder {\n constructor(appId) {\n _defineProperty(this, \"appId\", void 0);\n _defineProperty(this, \"persisted\", false);\n _defineProperty(this, \"clearedOnLogout\", false);\n this.appId = appId;\n }\n persist() {\n let persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.persisted = persist;\n return this;\n }\n clearOnLogout() {\n let clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n}\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\nexports.getBuilder = getBuilder;\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/**\n * Get the storage builder for an app\n * @param appId App ID to scope storage\n */\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\n\n/**\n * Clear values from storage\n * @param storage The storage to clear\n * @param pred Callback to check if value should be cleared\n */\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(k => pred ? pred(k) : true).map(storage.removeItem.bind(storage));\n}\n\n/**\n * Clear all values from all storages\n */\nfunction clearAll() {\n const storages = [window.sessionStorage, window.localStorage];\n storages.map(s => clearStorage(s));\n}\n\n/**\n * Clear ony non persistent values\n */\nfunction clearNonPersistent() {\n const storages = [window.sessionStorage, window.localStorage];\n storages.map(s => clearStorage(s, k => !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT)));\n}\n//# sourceMappingURL=index.js.map","import { subscribe } from \"@nextcloud/event-bus\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nlet token;\nconst observers = [];\nfunction getRequestToken() {\n if (token === void 0) {\n token = document.head.dataset.requesttoken ?? null;\n }\n return token;\n}\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n}\nsubscribe(\"csrf-token-update\", (e) => {\n token = e.token;\n observers.forEach((observer) => {\n try {\n observer(token);\n } catch (e2) {\n console.error(\"Error updating CSRF token observer\", e2);\n }\n });\n});\nfunction getCSPNonce() {\n const meta = document?.querySelector('meta[name=\"csp-nonce\"]');\n if (!meta) {\n const token2 = getRequestToken();\n return token2 ? btoa(token2) : void 0;\n }\n return meta.nonce;\n}\nconst browserStorage = getBuilder(\"public\").persist().build();\nfunction getGuestNickname() {\n return browserStorage.getItem(\"guestNickname\");\n}\nfunction setGuestNickname(nickname) {\n browserStorage.setItem(\"guestNickname\", nickname);\n}\nlet currentUser;\nconst getAttribute = (el, attribute) => {\n if (el) {\n return el.getAttribute(attribute);\n }\n return null;\n};\nfunction getCurrentUser() {\n if (currentUser !== void 0) {\n return currentUser;\n }\n const head = document?.getElementsByTagName(\"head\")[0];\n if (!head) {\n return null;\n }\n const uid = getAttribute(head, \"data-user\");\n if (uid === null) {\n currentUser = null;\n return currentUser;\n }\n currentUser = {\n uid,\n displayName: getAttribute(head, \"data-user-displayname\"),\n isAdmin: !!window._oc_isadmin\n };\n return currentUser;\n}\nexport {\n getCSPNonce,\n getCurrentUser,\n getGuestNickname,\n getRequestToken,\n onRequestTokenUpdate,\n setGuestNickname\n};\n","import Axios from \"axios\";\nimport { isAxiosError, isCancel } from \"axios\";\nimport { getRequestToken, onRequestTokenUpdate } from \"@nextcloud/auth\";\nimport { generateUrl } from \"@nextcloud/router\";\nconst RETRY_KEY = Symbol(\"csrf-retry\");\nconst onError$2 = (axios) => async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n if (status === 412 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === \"CSRF check failed\" && config[RETRY_KEY] === void 0) {\n console.warn(\"Request to \".concat(responseURL, \" failed because of a CSRF mismatch. Fetching a new token\"));\n const { data: { token } } = await axios.get(generateUrl(\"/csrftoken\"));\n console.debug(\"New request token \".concat(token, \" fetched\"));\n axios.defaults.headers.requesttoken = token;\n return axios({\n ...config,\n headers: {\n ...config.headers,\n requesttoken: token\n },\n [RETRY_KEY]: true\n });\n }\n return Promise.reject(error);\n};\nconst RETRY_DELAY_KEY = Symbol(\"retryDelay\");\nconst onError$1 = (axios) => async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n const headers = response == null ? void 0 : response.headers;\n if (status === 503 && headers[\"x-nextcloud-maintenance-mode\"] === \"1\" && config.retryIfMaintenanceMode && (!config[RETRY_DELAY_KEY] || config[RETRY_DELAY_KEY] <= 32)) {\n const retryDelay = ((_a2 = config[RETRY_DELAY_KEY]) != null ? _a2 : 1) * 2;\n console.warn(\"Request to \".concat(responseURL, \" failed because of maintenance mode. Retrying in \").concat(retryDelay, \"s\"));\n await new Promise((resolve) => {\n setTimeout(resolve, retryDelay * 1e3);\n });\n return axios({\n ...config,\n [RETRY_DELAY_KEY]: retryDelay\n });\n }\n return Promise.reject(error);\n};\nconst onError = async (error) => {\n var _a2;\n const { config, response, request } = error;\n const responseURL = request == null ? void 0 : request.responseURL;\n const status = response == null ? void 0 : response.status;\n if (status === 401 && ((_a2 = response == null ? void 0 : response.data) == null ? void 0 : _a2.message) === \"Current user is not logged in\" && config.reloadExpiredSession && (window == null ? void 0 : window.location)) {\n console.error(\"Request to \".concat(responseURL, \" failed because the user session expired. Reloading the page …\"));\n window.location.reload();\n }\n return Promise.reject(error);\n};\nvar _a;\nconst client = Axios.create({\n headers: {\n requesttoken: (_a = getRequestToken()) != null ? _a : \"\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n});\nconst cancelableClient = Object.assign(client, {\n CancelToken: Axios.CancelToken,\n isCancel: Axios.isCancel\n});\ncancelableClient.interceptors.response.use((r) => r, onError$2(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onError$1(cancelableClient));\ncancelableClient.interceptors.response.use((r) => r, onError);\nonRequestTokenUpdate((token) => {\n client.defaults.headers.requesttoken = token;\n});\nexport {\n cancelableClient as default,\n isAxiosError,\n isCancel\n};\n","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div :class=\"$style.wrapper\">\n\t\t<video :class=\"$style.video\"\n\t\t\tplaysinline\n\t\t\tautoplay\n\t\t\tmuted\n\t\t\t@ended=\"handleEnded\">\n\t\t\t<source :src=\"videoWebm\" type=\"video/webm\">\n\t\t\t<source :src=\"videoMp4\" type=\"video/mp4\">\n\t\t\t{{ videoFallbackText }}\n\t\t</video>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { translate as t } from '@nextcloud/l10n'\nimport { imagePath } from '@nextcloud/router'\n\nconst emit = defineEmits<{\n\t(e: 'next'): void\n}>()\n\nconst videoMp4 = imagePath('firstrunwizard', 'Nextcloud.mp4')\nconst videoWebm = imagePath('firstrunwizard', 'Nextcloud.webm')\n\nconst videoFallbackText = t('firstrunwizard', 'Welcome to {cloudName}!', { cloudName: window.OC.theme.name })\n\n/**\n * Handle video has ended\n */\nfunction handleEnded() {\n\temit('next')\n}\n</script>\n\n<style module>\n.video {\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n\n.wrapper {\n\tbackground-color: var(--color-primary-element);\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div :class=\"$style.wrapper\">\n\t\t<!-- The \"wave\" background for the logo on the first page-->\n\t\t<Transition :enter-class=\"waveTransitionClasses.enter\"\n\t\t\t:enter-active-class=\"waveTransitionClasses.active\"\n\t\t\t:leave-active-class=\"waveTransitionClasses.active\"\n\t\t\t:leave-to-class=\"waveTransitionClasses.leave\">\n\t\t\t<div v-if=\"isFirstPage\" :class=\"$style.background_circle\" />\n\t\t</Transition>\n\n\t\t<!-- Bar on the modal top -->\n\t\t<div :class=\"$style.background_bar\" />\n\n\t\t<!-- Back button on mobile if not first page -->\n\t\t<NcButton v-if=\"!isFirstPage && isMobile\"\n\t\t\t:aria-label=\"t('firstrunwizard', 'Go to previous page')\"\n\t\t\t:class=\"$style.button_back\"\n\t\t\ttype=\"tertiary\"\n\t\t\t@click=\"$emit('update:current-index', currentIndex - 1)\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiArrowLeft\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<!-- Custom close button to fix color contrast on first page -->\n\t\t<NcButton :aria-label=\"t('firstrunwizard', 'Close')\"\n\t\t\t:class=\"$style.button_close\"\n\t\t\t:type=\"isFirstPage ? 'primary' : 'tertiary'\"\n\t\t\t@click=\"$emit('update:current-index', -1)\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiClose\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<!-- The first page has the logo within a \"wave\" style background -->\n\t\t<div v-if=\"isFirstPage\" :class=\"$style.logo\" />\n\n\t\t<!-- The page that is currently show wrapped in a slide transition -->\n\t\t<Transition mode=\"out-in\"\n\t\t\t:enter-class=\"transitionClasses.enter\"\n\t\t\t:enter-active-class=\"transitionClasses.active\"\n\t\t\t:leave-active-class=\"transitionClasses.active\"\n\t\t\t:leave-to-class=\"transitionClasses.leave\">\n\t\t\t<component :is=\"currentPage.component\" :scroller-classes=\"isFirstPage ? $style.first_page_scroller : ''\" />\n\t\t</Transition>\n\n\t\t<!-- Next button(s) -->\n\t\t<div :class=\"$style.button_wrapper\">\n\t\t\t<NcButton v-for=\"button, index of currentPage.buttons\"\n\t\t\t\t:key=\"button.to\"\n\t\t\t\talignment=\"center-reverse\"\n\t\t\t\t:type=\"index === currentPage.buttons.length - 1 ? 'primary' : 'secondary'\"\n\t\t\t\t:wide=\"index === currentPage.buttons.length - 1\"\n\t\t\t\t@click=\"goToPage(button.to)\">\n\t\t\t\t<template v-if=\"!isLastPage\" #icon>\n\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiArrowRight\" />\n\t\t\t\t</template>\n\t\t\t\t{{ button.label }}\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport type { IPage } from '../pages'\n\nimport { translate as t } from '@nextcloud/l10n'\nimport { imagePath } from '@nextcloud/router'\nimport { mdiArrowLeft, mdiArrowRight, mdiClose } from '@mdi/js'\nimport { useIsSmallMobile } from '@nextcloud/vue/dist/Composables/useIsMobile.js'\nimport { computed, ref, useCssModule, watch } from 'vue'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\n\nconst props = defineProps<{\n\tpages: IPage[]\n\tcurrentIndex: number\n}>()\n\nconst emit = defineEmits<{\n\t(e: 'update:current-index', index: number): void\n}>()\n\nconst isMobile = useIsSmallMobile()\n\n/**\n * True if the transition effect should be reversed (e.g. going back)\n */\nconst reverseTransition = ref(false)\n\nconst currentPage = computed(() => props.pages[props.currentIndex])\nconst isFirstPage = computed(() => props.currentIndex === 0)\nconst isLastPage = computed(() => props.currentIndex === (props.pages.length - 1))\n\nconst cssLogoUrl = `url('${imagePath('firstrunwizard', 'nextcloudLogo.svg')}')`\n\nconst transitions = useCssModule('transitions')\n\n/**\n * The transition effect to use for the page change\n */\nconst transitionClasses = computed(() => {\n\tconst direction = reverseTransition.value ? 'right' : 'left'\n\n\treturn {\n\t\tactive: transitions['slide-active'],\n\t\tenter: transitions[`slide-${direction}-enter`],\n\t\tleave: transitions[`slide-${direction}-leave-to`],\n\t}\n})\n\n/**\n * The transition effect for the wave on the first page\n */\nconst waveTransitionClasses = computed(() => {\n\tconst direction = reverseTransition.value ? 'down' : 'up'\n\treturn {\n\t\tactive: transitions['slide-active'],\n\t\tenter: transitions[`slide-${direction}-enter`],\n\t\tleave: transitions[`slide-${direction}-leave-to`],\n\t}\n})\n\n/**\n * When we show a previous page we want to reverse the transition\n */\nwatch(() => props.currentIndex, (newPage, oldPage) => {\n\tif (newPage < oldPage) {\n\t\treverseTransition.value = true\n\t} else {\n\t\treverseTransition.value = false\n\t}\n})\n\n/**\n * Move to page with given ID\n * @param pageId ID of the page to got to\n */\nfunction goToPage(pageId: string) {\n\tconst id = props.pages.findIndex((page) => page.id === pageId)\n\temit('update:current-index', id)\n}\n</script>\n\n<style module lang=\"scss\">\n.wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tpadding: calc(var(--default-grid-baseline) * 5);\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\twidth: 100%;\n}\n\n.background_circle {\n\theight: 6000px;\n\twidth: 6000px;\n\tborder-radius: 3000px;\n\tbackground-color: var(--color-primary-element);\n\tposition: absolute;\n\ttop: -5900px;\n\tleft: calc( -3000px + 50%);\n}\n\n.background_bar {\n\tposition:absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 10px;\n\tbackground-color: var(--color-primary-element);\n}\n\n.button_back {\n\tposition: absolute!important;\n\ttop: var(--default-grid-baseline);\n\tleft: var(--default-grid-baseline);\n}\n\n.button_close {\n\tposition: absolute!important;\n\ttop: var(--default-grid-baseline);\n\tright: var(--default-grid-baseline);\n}\n\n.button_wrapper {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 22px;\n\twidth: 100%;\n\n\t// Do not change width of buttons\n\t> * {\n\t\tflex: 0 0 fit-content;\n\t}\n\n\t// stretch the last one\n\t> *:last-of-type {\n\t\tflex: 1 0 fit-content;\n\t}\n}\n\n.logo {\n\theight: 70px;\n\tbackground-image: var(--image-logoheader, var(--image-logo, v-bind(cssLogoUrl)));\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n\tbackground-size: 100px;\n\tmargin: auto;\n\tposition: absolute;\n\tleft: 0;\n\twidth: 100%;\n\tpointer-events: none;\n}\n\n// Compensate logo height on first page\n.first_page_scroller {\n\tmargin-top: calc(var(--default-grid-baseline) * 8 + 70px) !important;\n}\n</style>\n\n<style module=\"transitions\">\n/**\n * The transition classes\n */\n.slide-active {\n\ttransition: all .2s;\n}\n\n.slide-left-enter {\n\topacity: 0;\n\ttransform: translateX(30%);\n}\n\n.slide-left-leave-to {\n\topacity: 0;\n\ttransform: translateX(-30%);\n}\n\n.slide-right-enter {\n\topacity: 0;\n\ttransform: translateX(-30%);\n}\n\n.slide-right-leave-to {\n\topacity: 0;\n\ttransform: translateX(30%);\n}\n\n.slide-up-enter {\n\ttop: calc(-5900px);\n}\n\n.slide-up-leave-to {\n\ttop: calc(-5900px - 80px);\n}\n\n.slide-down-enter {\n\ttop: calc(-5900px - 80px);\n}\n\n.slide-down-leave-to {\n\ttop: calc(-5900px);\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<element :is=\"isLink ? 'a' : 'div'\"\n\t\t:href=\"href || undefined\"\n\t\t:class=\"[$style.card, { [$style.link]: isLink }]\"\n\t\t:target=\"!isLink ? undefined : '_blank'\"\n\t\t:rel=\"!isLink ? undefined : 'noreferrer'\">\n\t\t<div :class=\"$style.icon\">\n\t\t\t<slot />\n\t\t</div>\n\t\t<div :class=\"$style.text\">\n\t\t\t<h3 :class=\"$style.heading\">\n\t\t\t\t{{ title }}\n\t\t\t</h3>\n\t\t\t<p v-if=\"subtitle !== undefined\" v-text=\"subtitle\" />\n\t\t</div>\n\t</element>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst props = defineProps<{\n\ttitle: string\n\tsubtitle?: string\n\thref?: string\n}>()\n\nconst isLink = computed(() => !!props.href)\n</script>\n\n<style module lang=\"scss\">\n.card {\n\tdisplay: flex;\n\tmax-width: 250px;\n\tbox-sizing: border-box;\n\theight: auto;\n}\n\n.icon {\n\tdisplay: flex;\n\tflex: 0 0 var(--default-clickable-area);\n\talign-items: start;\n\n\t&:empty {\n\t\tdisplay: none;\n\t}\n}\n\n.heading {\n\t// While this is semantically a heading, visually it should be bold text\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmargin: 0;\n}\n\n.link {\n\tbox-shadow: 0px 0px 10px 0px var(--color-box-shadow);\n\tborder-radius: var(--border-radius-large);\n\tpadding: calc(var(--default-grid-baseline) * 4);\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text);\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background);\n\t}\n}\n\n.text {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<a :class=\"$style.badge\"\n\t\t:aria-label=\"ariaLabel\"\n\t\ttarget=\"_blank\"\n\t\trel=\"noreferrer\"\n\t\t:href=\"href\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport { imagePath } from '@nextcloud/router'\nimport { computed } from 'vue'\n\nconst props = defineProps<{\n\ttype: 'ios' | 'android'\n}>()\n\nconst android = loadState<string>('firstrunwizard', 'android')\nconst ios = loadState<string>('firstrunwizard', 'ios')\n\n/**\n * Path to the app store badge image\n */\nconst badgeImagePath = computed(() => {\n\tif (props.type === 'ios') {\n\t\treturn imagePath('firstrunwizard', 'iosBadge.png')\n\t} else if (props.type === 'android') {\n\t\treturn imagePath('firstrunwizard', 'androidBadge.png')\n\t}\n\treturn undefined\n})\n\n/**\n * The badge image as CSS source URL\n */\nconst cssBackgroundImage = computed(() => `url('${badgeImagePath.value}')`)\n\nconst href = computed(() => {\n\tif (props.type === 'ios') {\n\t\treturn ios\n\t} else if (props.type === 'android') {\n\t\treturn android\n\t}\n\treturn undefined\n})\n\nconst ariaLabel = computed(() => {\n\tif (props.type === 'ios') {\n\t\treturn t('firstrunwizard', 'Download on Apple app store')\n\t} else if (props.type === 'android') {\n\t\treturn t('firstrunwizard', 'Download on Google play store')\n\t}\n\treturn undefined\n})\n</script>\n\n<style module lang=\"scss\">\n.badge {\n\theight: 74px;\n\twidth: 250px;\n\tbackground-image: v-bind(cssBackgroundImage);\n\tbackground-size: contain;\n\tbackground-repeat: no-repeat;\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text);\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background);\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<WizardPage :title=\"t('firstrunwizard', 'Seamless integration with your devices.')\"\n\t\t:subtitle=\"t('firstrunwizard', 'Sync your files across your devices with the desktop and mobile apps, and connect your calendar and contacts.')\">\n\t\t<AppStoreBadge type=\"android\" />\n\t\t<AppStoreBadge type=\"ios\" />\n\t\t<Card :href=\"desktop\"\n\t\t\t:title=\"t('firstrunwizard', 'Desktop app ↗')\"\n\t\t\t:subtitle=\"t('firstrunwizard', 'Download For Windows, Mac OS and Linux.')\" />\n\t\t<Card :href=\"syncClientsUrl\"\n\t\t\t:title=\"t('firstrunwizard', 'Calendar and contacts ↗')\"\n\t\t\t:subtitle=\"t('firstrunwizard', 'Connect your calendar and contacts with your devices.')\" />\n\t</WizardPage>\n</template>\n\n<script setup lang=\"ts\">\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\n\nimport AppStoreBadge from '../AppStoreBadge.vue'\nimport Card from '../Card.vue'\nimport WizardPage from '../WizardPage.vue'\n\nconst desktop = loadState<string>('firstrunwizard', 'desktop')\nconst syncClientsUrl = generateUrl('settings/user/sync-clients')\n</script>\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { t } from '@nextcloud/l10n'\n\n/* How to do a new release?\n * 1. Update the `version` to the current HUB release\n * 2. Update the `link` for further information\n * 3. Add release notes, each entry is a new point.\n * 4. Update the alt text for the animation if needed.\n */\nexport default {\n\t/** The HUB release version */\n\tversion: '10',\n\n\t/** Link to further information (e.g. blog post) */\n\tlink: 'https://nextcloud.com/blog/nextcloud-hub10/',\n\n\t/** Release notes in list format */\n\treleaseNotes: [\n\t\t'🔒 ' + t('firstrunwizard', 'End-to-end encryption in calls and web'),\n\n\t\t'⚡ ' + t('firstrunwizard', 'Performance improvements across all our products'),\n\n\t\t'⚙️ ' + t('firstrunwizard', 'Thousands of tweaks for improved UX and stability'),\n\n\t\t'✨ ' + t('firstrunwizard', 'Your own new personal assistant'),\n\n\t\t'🔄 ' + t('firstrunwizard', 'Seamless file conversions'),\n\n\t\t'👥 ' + t('firstrunwizard', 'Smarter team sharing with Team folders'),\n\n\t\t'💬 ' + t('firstrunwizard', 'Schedule meetings directly in Talk'),\n\n\t\t'📧 ' + t('firstrunwizard', 'Mail you love again: translations, summaries, and mentions'),\n\t],\n\n\t/** Alternative text for the release animation */\n\tvideoAltText: t('firstrunwizard', 'Get to know the new features of Hub {version}', { version: '10' }),\n\n\t/** Subject that is used when sharing the post */\n\tshareSubject: t('firstrunwizard', 'Nextcloud Hub 10 is here – your modular & unified digital workspace! 💫'),\n}\n","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<WizardPage :title=\"t('firstrunwizard', 'Introducing Nextcloud Hub {version}', { version: HUBRelease.version })\">\n\t\t<a :href=\"HUBRelease.link\" :class=\"$style.anchor\" target=\"_blank\">\n\t\t\t<video :class=\"$style.animation\"\n\t\t\t\tplaysinline\n\t\t\t\tautoplay\n\t\t\t\tmuted>\n\t\t\t\t<source :src=\"videoWebm\" type=\"video/webm;codecs=vp9\">\n\t\t\t\t<source :src=\"videoMp4\" type=\"video/mp4\">\n\t\t\t\t{{ HUBRelease.videoAltText }}\n\t\t\t</video>\n\t\t</a>\n\t</WizardPage>\n</template>\n\n<script setup lang=\"ts\">\nimport { translate as t } from '@nextcloud/l10n'\nimport { imagePath } from '@nextcloud/router'\n\nimport HUBRelease from '../../hub-release'\nimport WizardPage from '../WizardPage.vue'\n\nconst videoMp4 = imagePath('firstrunwizard', 'nextcloudHub.mp4')\nconst videoWebm = imagePath('firstrunwizard', 'nextcloudHub.webm')\n</script>\n\n<style module>\n.anchor {\n\twidth: 100%;\n}\n\n.animation {\n\tborder-radius: var(--border-radius-rounded);\n\tobject-fit: contain;\n\twidth: 100%;\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<WizardPage :scroller-classes=\"scrollerClasses\"\n\t\t:title=\"t('firstrunwizard', 'A collaboration platform that puts you in control')\">\n\t\t<Card :title=\"t('firstrunwizard', 'Privacy')\"\n\t\t\t:subtitle=\"t('firstrunwizard', 'Host your data and files where you decide.')\">\n\t\t\t<NcIconSvgWrapper :class=\"$style.icon\" inline :path=\"mdiLock\" />\n\t\t</Card>\n\t\t<Card :title=\"t('firstrunwizard', 'Productivity')\"\n\t\t\t:subtitle=\"t('firstrunwizard', 'Collaborate and communicate across any platform.')\">\n\t\t\t<NcIconSvgWrapper :class=\"$style.icon\" inline :path=\"mdiBriefcaseCheck\" />\n\t\t</Card>\n\t\t<Card :title=\"t('firstrunwizard', 'Interoperability')\"\n\t\t\t:subtitle=\"t('firstrunwizard', 'Import and export anything you want with open standards.')\">\n\t\t\t<NcIconSvgWrapper :class=\"$style.icon\" inline :path=\"mdiSwapHorizontal\" />\n\t\t</Card>\n\t\t<Card :title=\"t('firstrunwizard', 'Community')\"\n\t\t\t:subtitle=\"t('firstrunwizard', 'Enjoy constant improvements from a thriving open-source community.')\">\n\t\t\t<NcIconSvgWrapper :class=\"$style.icon\" inline :path=\"mdiAccountGroup\" />\n\t\t</Card>\n\n\t\t<p :class=\"$style.version\">\n\t\t\t{{ versionNumber }}\n\t\t</p>\n\t</WizardPage>\n</template>\n\n<script setup lang=\"ts\">\nimport { mdiAccountGroup, mdiBriefcaseCheck, mdiLock, mdiSwapHorizontal } from '@mdi/js'\nimport { translate as t } from '@nextcloud/l10n'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\n\nimport Card from '../Card.vue'\nimport WizardPage from '../WizardPage.vue'\n\ndefineProps<{\n\tscrollerClasses?: string | string[] | Record<string, boolean>\n}>()\n\nconst versionNumber = t('firstrunwizard', 'This Nextcloud is on version {version}', { version: window.OC.config.versionstring })\n</script>\n\n<style module>\n.icon {\n\tmargin-block: calc((1lh - 20px) / 2);\n}\n\n.version {\n\tcolor: var(--color-text-maxcontrast);\n\tmargin-block: calc(var(--default-grid-baseline) * 4) 0;\n\ttext-align: center;\n}\n</style>\n","export default \"<svg viewBox=\\\"0 0 32 32\\\" height=\\\"32\\\" width=\\\"32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xml:space=\\\"preserve\\\" style=\\\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\\\"><path d=\\\"M0 1.831c0-138.071-111.929-250-250-250s-250 111.929-250 250c0 117.245 80.715 215.622 189.606 242.638V78.227h-51.552V1.831h51.552v-32.919c0-85.092 38.508-124.532 122.048-124.532 15.838 0 43.167 3.105 54.347 6.211v69.254c-5.901-.621-16.149-.932-28.882-.932-40.993 0-56.832 15.528-56.832 55.9V1.831h81.659l-14.028 76.396h-67.631V250C-95.927 235.049 0 129.649 0 1.831\\\" style=\\\"fill-rule:nonzero\\\" transform=\\\"matrix(.064 0 0 .064 32 15.883)\\\"/></svg>\"","export default \"<svg viewBox=\\\"0 0 74 79\\\" fill=\\\"currentColor\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M73.7014 17.9592C72.5616 9.62034 65.1774 3.04876 56.424 1.77536C54.9472 1.56019 49.3517 0.7771 36.3901 0.7771H36.2933C23.3281 0.7771 20.5465 1.56019 19.0697 1.77536C10.56 3.01348 2.78877 8.91838 0.903306 17.356C-0.00357857 21.5113 -0.100361 26.1181 0.068112 30.3439C0.308275 36.404 0.354874 42.4535 0.91406 48.489C1.30064 52.498 1.97502 56.4751 2.93215 60.3905C4.72441 67.6217 11.9795 73.6395 19.0876 76.0945C26.6979 78.6548 34.8821 79.0799 42.724 77.3221C43.5866 77.1245 44.4398 76.8953 45.2833 76.6342C47.1867 76.0381 49.4199 75.3714 51.0616 74.2003C51.0841 74.1839 51.1026 74.1627 51.1156 74.1382C51.1286 74.1138 51.1359 74.0868 51.1368 74.0592V68.2108C51.1364 68.185 51.1302 68.1596 51.1185 68.1365C51.1069 68.1134 51.0902 68.0932 51.0695 68.0773C51.0489 68.0614 51.0249 68.0503 50.9994 68.0447C50.9738 68.0391 50.9473 68.0392 50.9218 68.045C45.8976 69.226 40.7491 69.818 35.5836 69.8087C26.694 69.8087 24.3031 65.6569 23.6184 63.9285C23.0681 62.4347 22.7186 60.8764 22.5789 59.2934C22.5775 59.2669 22.5825 59.2403 22.5934 59.216C22.6043 59.1916 22.621 59.1702 22.6419 59.1533C22.6629 59.1365 22.6876 59.1248 22.714 59.1191C22.7404 59.1134 22.7678 59.1139 22.794 59.1206C27.7345 60.2936 32.799 60.8856 37.8813 60.8843C39.1036 60.8843 40.3223 60.8843 41.5447 60.8526C46.6562 60.7115 52.0437 60.454 57.0728 59.4874C57.1983 59.4628 57.3237 59.4416 57.4313 59.4098C65.3638 57.9107 72.9128 53.2051 73.6799 41.2895C73.7086 40.8204 73.7803 36.3758 73.7803 35.889C73.7839 34.2347 74.3216 24.1533 73.7014 17.9592ZM61.4925 47.6918H53.1514V27.5855C53.1514 23.3526 51.3591 21.1938 47.7136 21.1938C43.7061 21.1938 41.6988 23.7476 41.6988 28.7919V39.7974H33.4078V28.7919C33.4078 23.7476 31.3969 21.1938 27.3894 21.1938C23.7654 21.1938 21.9552 23.3526 21.9516 27.5855V47.6918H13.6176V26.9752C13.6176 22.7423 14.7157 19.3795 16.9118 16.8868C19.1772 14.4 22.1488 13.1231 25.8373 13.1231C30.1064 13.1231 33.3325 14.7386 35.4832 17.9662L37.5587 21.3949L39.6377 17.9662C41.7884 14.7386 45.0145 13.1231 49.2765 13.1231C52.9614 13.1231 55.9329 14.4 58.2055 16.8868C60.4017 19.3772 61.4997 22.74 61.4997 26.9752L61.4925 47.6918Z\\\" fill=\\\"inherit\\\"/></svg>\\n\"","export default \"<svg viewBox=\\\"0 0 1200 1227\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z\\\" fill=\\\"currentColor\\\"/></svg>\\n\"","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<WizardPage :title=\"t('firstrunwizard', 'Find out more on the blog')\">\n\t\t<NcButton :href=\"HubRelease.link\" target=\"_blank\">\n\t\t\t{{ t('firstrunwizard', 'Read the Nextcloud Hub {version} blog', { version: HubRelease.version}) }} ↗\n\t\t</NcButton>\n\n\t\t<section :class=\"$style.share_section\">\n\t\t\t<h3 :class=\"$style.heading\">\n\t\t\t\t{{ t('firstrunwizard', 'Share your opinion about Nextcloud Hub {version}', { version: HubRelease.version }) }}\n\t\t\t</h3>\n\t\t\t<div :class=\"$style.share_wrapper\">\n\t\t\t\t<Card v-for=\"entry of shareLinks\"\n\t\t\t\t\t:key=\"entry.id\"\n\t\t\t\t\t:class=\"$style.card\"\n\t\t\t\t\t:href=\"entry.link\"\n\t\t\t\t\t:title=\"entry.id === 'email' ? t('firstrunwizard', 'Share via email') : t('firstrunwizard', 'Share on {socialMedia}', { socialMedia: entry.name })\">\n\t\t\t\t\t<NcIconSvgWrapper v-if=\"entry.icon\"\n\t\t\t\t\t\t:svg=\"entry.id !== 'email' ? entry.icon : undefined\"\n\t\t\t\t\t\t:path=\"entry.id === 'email' ? entry.icon : undefined\" />\n\t\t\t\t</Card>\n\t\t\t</div>\n\t\t</section>\n\t</WizardPage>\n</template>\n\n<script setup lang=\"ts\">\nimport { mdiEmail } from '@mdi/js'\nimport { translate as t } from '@nextcloud/l10n'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\n\nimport facebookSvg from '../../../img/facebook.svg?raw'\nimport mastodonSvg from '../../../img/mastodon.svg?raw'\nimport xSvg from '../../../img/x.svg?raw'\n\nimport HubRelease from '../../hub-release'\nimport WizardPage from '../WizardPage.vue'\nimport Card from '../Card.vue'\n\nconst encodedLink = encodeURIComponent(encodeURI(HubRelease.link))\nconst mailSubject = encodeURIComponent(HubRelease.shareSubject ?? t('firstrunwizard', 'Nextcloud Hub {version} release', { version: HubRelease.version }))\nconst mailBody = encodeURIComponent(t('firstrunwizard', 'Read more about it on the Nextcloud Hub {version} blog', { version: HubRelease.version }) + '\\n' + HubRelease.link)\n\nconst shareLinks = [\n\t{\n\t\tid: 'facebook',\n\t\tname: 'Facebook',\n\t\tlink: `https://www.facebook.com/sharer/sharer.php?u=${encodedLink}`,\n\t\ticon: facebookSvg,\n\t},\n\t{\n\t\tid: 'x',\n\t\tname: 'X',\n\t\tlink: `https://x.com/intent/post?url=${encodedLink}&via=Nextclouders&text=${encodeURIComponent(HubRelease.shareSubject ?? '')}`,\n\t\ticon: xSvg,\n\t},\n\t{\n\t\tid: 'mastodon',\n\t\tname: 'Mastodon',\n\t\tlink: `https://mastodon.social/share?text=${encodedLink}`,\n\t\ticon: mastodonSvg,\n\t},\n\t{\n\t\tid: 'email',\n\t\tname: 'EMail',\n\t\tlink: `mailto:?subject=${mailSubject}&body=${mailBody}`,\n\t\ticon: mdiEmail,\n\t},\n]\n</script>\n\n<style module>\n.share_section {\n\twidth: 100%;\n}\n\n.share_wrapper {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tgap: calc(var(--default-grid-baseline) * 4);\n\tjustify-content: space-around;\n\twidth: 100%;\n}\n\n.card {\n\tflex: 1 1 auto;\n\tmin-width: calc(50% - var(--default-grid-baseline) * 10);\n\n\t/* Reduce padding a bit as we only have a single line of text with icon */\n\tpadding: calc(var(--default-grid-baseline) * 2) !important;\n}\n\n.heading {\n\t/* Semantically a heading but visually bold text */\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Component } from 'vue'\n\nimport { translate as t } from '@nextcloud/l10n'\n\nimport AboutNextcloudPage from './components/pages/AboutNextcloud.vue'\nimport DeviceIntegrationPage from './components/pages/DeviceIntegration.vue'\nimport HubReleasePage from './components/pages/HubRelease.vue'\nimport KeyNotesPage from './components/pages/KeyNotes.vue'\nimport SharePage from './components/pages/SharePage.vue'\nimport WhatsNewPage from './components/pages/WhatsNew.vue'\n\nimport HubRelease from './hub-release'\n\ninterface IPageButton {\n\tto: string\n\tlabel: string\n}\n\nexport interface IPage {\n\tid: string\n\tcomponent: Component\n\tbuttons: IPageButton[]\n}\n\nexport default [\n\t{\n\t\tid: 'key-aspects',\n\t\tcomponent: KeyNotesPage,\n\t\tbuttons: [{\n\t\t\tto: 'hub-release',\n\t\t\tlabel: t('firstrunwizard', 'What\\'s new?'),\n\t\t}, {\n\t\t\tto: 'devices',\n\t\t\tlabel: t('firstrunwizard', 'Nextcloud on all your devices'),\n\t\t}],\n\t},\n\n\t{\n\t\tid: 'devices',\n\t\tcomponent: DeviceIntegrationPage,\n\t\tbuttons: [{\n\t\t\tto: 'about',\n\t\t\tlabel: t('firstrunwizard', 'More about Nextcloud'),\n\t\t}],\n\t},\n\n\t{\n\t\tid: 'about',\n\t\tcomponent: AboutNextcloudPage,\n\t\tbuttons: [{\n\t\t\tto: 'hub-release',\n\t\t\tlabel: t('firstrunwizard', 'Nextcloud Hub {version}', { version: HubRelease.version }),\n\t\t}],\n\t},\n\n\t{\n\t\tid: 'hub-release',\n\t\tcomponent: HubReleasePage,\n\t\tbuttons: [{\n\t\t\tto: 'whats-new',\n\t\t\tlabel: t('firstrunwizard', 'Read more'),\n\t\t}],\n\t},\n\n\t{\n\t\tid: 'whats-new',\n\t\tcomponent: WhatsNewPage,\n\t\tbuttons: [{\n\t\t\tto: 'share',\n\t\t\tlabel: t('firstrunwizard', 'Share on social media'),\n\t\t}],\n\t},\n\n\t{\n\t\tid: 'share',\n\t\tcomponent: SharePage,\n\t\tbuttons: [{\n\t\t\tto: 'close',\n\t\t\tlabel: t('firstrunwizard', 'Get started!'),\n\t\t}],\n\t},\n\n] as IPage[]\n","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<!-- The dark prop is set to prevent backdrop \"hit\" when the first real page is shown -->\n\t<NcModal v-if=\"showModal\"\n\t\tid=\"firstrunwizard\"\n\t\tclass=\"first-run-wizard\"\n\t\tsize=\"normal\"\n\t\t:dark=\"!isMobile\"\n\t\t:has-next=\"hasNext\"\n\t\t:has-previous=\"hasPrevious\"\n\t\t:set-return-focus=\"setReturnFocus\"\n\t\t@close=\"close\"\n\t\t@next=\"currentPage += 1\"\n\t\t@previous=\"currentPage -= 1\">\n\t\t<IntroAnimation v-if=\"currentPage === null\" @next=\"currentPage = showChangelogOnly ? changelogPage : 0\" />\n\t\t<SlideShow v-else :pages=\"pages\" :current-index.sync=\"currentPage\" />\n\t</NcModal>\n</template>\n\n<script setup lang=\"ts\">\nimport { generateUrl } from '@nextcloud/router'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport { useIsSmallMobile } from '@nextcloud/vue/dist/Composables/useIsMobile.js'\nimport { computed, ref, watchEffect } from 'vue'\nimport axios from '@nextcloud/axios'\n\nimport IntroAnimation from '../components/pages/IntroAnimation.vue'\nimport SlideShow from '../components/SlideShow.vue'\nimport pages from '../pages'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst isMobile = useIsSmallMobile()\n/** This is set to true in case the user already received the wizard but Nextcloud was updated to show the changelog only */\nconst showChangelogOnly = loadState<boolean>('firstrunwizard', 'changelogOnly', false)\n/** The index of the changelog page for first run on updated Nextcloud Hub only */\nconst changelogPage = Math.min(pages.findIndex((page) => page.id === 'hub-release'), 0)\n\nconst showModal = ref(false)\nconst currentPage = ref<number|null>(null)\nconst setReturnFocus = ref<HTMLElement | SVGElement | string>()\n\n/**\n * If the \"previous\" button of the modal should be shown\n * Disable on mobile and only show if there is a previous page (the intro animation does not count)\n */\nconst hasPrevious = computed(() => !isMobile.value && currentPage.value !== null && currentPage.value > 0)\n/**\n * If the \"next\" button of the modal should be shown\n * Disable on mobile and only show if there is a next page\n */\nconst hasNext = computed(() => !isMobile.value && currentPage.value !== null && currentPage.value < (pages.length - 1))\n\n/**\n * Open the first run wizard modal\n * @param focusReturn The element to return focus after the modal is closed\n */\nfunction open(focusReturn?: HTMLElement | SVGElement | string) {\n\tsetReturnFocus.value = focusReturn\n\tcurrentPage.value = null\n\tshowModal.value = true\n}\n\n/**\n * Close the modal\n */\nfunction close() {\n\tcurrentPage.value = null\n\tshowModal.value = false\n\n\t// Important: Do not show again automatically\n\taxios.delete(generateUrl('/apps/firstrunwizard/wizard'))\n}\n// Exposes open and close functions from the component\ndefineExpose({ open, close })\n\n// If the current page index is set to -1 then close the modal\nwatchEffect(() => {\n\tif (currentPage.value === -1) {\n\t\tclose()\n\t}\n})\n</script>\n\n<style lang=\"scss\">\n/**\n * Global styles to override vue component styles of the modal\n */\n\n.first-run-wizard .modal-wrapper {\n\t.modal-container {\n\t\toverflow: hidden;\n\n\t\t&__content {\n\t\t\toverflow: hidden;\n\t\t\theight: 100%;\n\t\t\tdisplay: contents;\n\t\t}\n\n\t\t// Hide the default close button in favor of our custom one\n\t\t&__close {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: 512px) {\n\t.first-run-wizard {\n\t\t.modal-wrapper .modal-container {\n\t\t\theight: 100dvh;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t.modal-header {\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { translate, translatePlural } from '@nextcloud/l10n'\n\nimport App from './views/App.vue'\n\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n// eslint-disable-next-line\nVue.prototype.oc_defaults = window.oc_defaults\n\nconst el = document.createElement('div')\nel.id = 'firstrunwizard'\ndocument.querySelector('body').appendChild(el)\n\nconst View = Vue.extend(App)\nconst vm = new View().$mount(el)\n\nexport const open = vm.open\n"],"names":["MOBILE_BREAKPOINT","MOBILE_SMALL_BREAKPOINT","isLessThanBreakpoint","breakpoint","isMobile","ref","isSmallMobile","useIsSmallMobile","readonly","bind","fn","thisArg","toString","getPrototypeOf","kindOf","cache","thing","str","kindOfTest","type","typeOfTest","isArray","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isArrayBufferView","result","isString","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","trim","forEach","obj","allOwnKeys","i","l","keys","len","key","findKey","_key","_global","global","isContextDefined","context","merge","caseless","assignValue","targetKey","extend","a","b","stripBOM","content","inherits","constructor","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","lastIndex","toArray","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","m","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","name","ret","freezeMethods","value","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","token","callbacks","data","cb","asap","process","utils$1","buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","e","eLen","eMax","eBias","nBits","d","s","c","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","length","buf","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","size","alloc","fill","encoding","checked","string","actual","fromArrayLike","array","arrayView","copy","byteOffset","numberIsNaN","x","y","list","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","max","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","msg","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","alphabet","table","i16","BufferBigIntNotDefined","AxiosError","message","config","request","response","utils","error","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","path","dots","isFlatArray","predicates","toFormData","formData","options","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","index","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","h","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","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","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders$1","valueOrRewrite","rewrite","self","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","computed","accessors","defineAccessor","AxiosHeaders","mapped","headerValue","transformData","fns","isCancel","CanceledError","settle","resolve","reject","validateStatus","parseProtocol","speedometer","samplesCount","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","args","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","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","done","onloadend","responseHeaders","err","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","test","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","_","getBodyLength","body","resolveBodyLength","fetchAdapter","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","flush","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","correctSpelling","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","fullPath","Axios","generateHTTPMethod","isForm","CancelToken$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","callback","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","instance","axios","promises","all","Cancel","formToJSON","getAdapter","debug_1","define_process_env_default","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","constants","require$$0","debug","require$$1","module","re","safeRe","t","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","createToken","isGlobal","safe","looseOption","emptyOpts","parseOptions_1","numeric","compareIdentifiers","anum","bnum","identifiers","require$$2","parseOptions","require$$3","require$$4","SemVer","other","release","identifier","identifierBase","base","prerelease","semver","parse_1","throwErrors","er","parse","valid_1","v","major_1","loose","ProxyBus","bus2","valid","major","handler","event","SimpleBus","bus","getBus","subscribe","scopedstorage","_defineProperty","_toPropertyKey","_toPrimitive","r","ScopedStorage","scope","wrapped","persistent","storagebuilder","_scopedstorage","_interopRequireDefault","StorageBuilder","appId","persist","clear","dist","clearAll","clearNonPersistent","getBuilder","_storagebuilder","clearStorage","storage","pred","k","observers","getRequestToken","onRequestTokenUpdate","observer","e2","RETRY_KEY","onError$2","_a2","responseURL","generateUrl","RETRY_DELAY_KEY","onError$1","retryDelay","onError","_a","client","cancelableClient","videoMp4","imagePath","videoWebm","videoFallbackText","handleEnded","emit","reverseTransition","currentPage","isFirstPage","isLastPage","cssLogoUrl","transitions","useCssModule","transitionClasses","direction","waveTransitionClasses","watch","newPage","oldPage","goToPage","pageId","page","isLink","android","loadState","ios","badgeImagePath","cssBackgroundImage","href","ariaLabel","desktop","syncClientsUrl","HubRelease","facebookSvg","mastodonSvg","xSvg","encodedLink","mailSubject","mailBody","shareLinks","mdiEmail","pages","KeyNotesPage","DeviceIntegrationPage","AboutNextcloudPage","HubReleasePage","WhatsNewPage","SharePage","showChangelogOnly","changelogPage","showModal","setReturnFocus","hasPrevious","hasNext","open","focusReturn","close","expose","watchEffect","Vue","translate","translatePlural","View","App","vm"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,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]}