{"version":3,"file":"settings-vue-settings-personal-webauthn.js?v=3371ad041f1e244e2c9c","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/bufferToBase64URLString.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/base64URLStringToBuffer.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/browserSupportsWebAuthn.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/toPublicKeyCredentialDescriptor.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnError.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/webAuthnAbortService.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/toAuthenticatorAttachment.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/methods/startRegistration.js","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/components/WebAuthn/AddDevice.vue","webpack:///nextcloud/apps/settings/src/components/WebAuthn/AddDevice.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/service/WebAuthnRegistrationSerice.ts","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/identifyRegistrationError.js","webpack:///nextcloud/node_modules/@simplewebauthn/browser/esm/helpers/isValidDomain.js","webpack://nextcloud/./apps/settings/src/components/WebAuthn/AddDevice.vue?9db1","webpack://nextcloud/./apps/settings/src/components/WebAuthn/AddDevice.vue?5011","webpack://nextcloud/./apps/settings/src/components/WebAuthn/AddDevice.vue?c9ea","webpack://nextcloud/./apps/settings/src/components/WebAuthn/Device.vue?37fa","webpack:///nextcloud/apps/settings/src/components/WebAuthn/Device.vue","webpack:///nextcloud/apps/settings/src/components/WebAuthn/Device.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/WebAuthn/Device.vue?4e51","webpack://nextcloud/./apps/settings/src/components/WebAuthn/Device.vue?06c3","webpack:///nextcloud/apps/settings/src/components/WebAuthn/Section.vue","webpack:///nextcloud/apps/settings/src/components/WebAuthn/Section.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/WebAuthn/Section.vue?b38c","webpack://nextcloud/./apps/settings/src/components/WebAuthn/Section.vue?3346","webpack://nextcloud/./apps/settings/src/components/WebAuthn/Section.vue?ad4f","webpack:///nextcloud/apps/settings/src/main-personal-webauth.js","webpack:///nextcloud/apps/settings/src/components/WebAuthn/AddDevice.vue?vue&type=style&index=0&id=c0c703c4&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/WebAuthn/Device.vue?vue&type=style&index=0&id=60aaa94c&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/components/WebAuthn/Section.vue?vue&type=style&index=0&id=e3727450&prod&scoped=true&lang=css","webpack:///nextcloud/node_modules/lodash/_LazyWrapper.js","webpack:///nextcloud/node_modules/lodash/_LodashWrapper.js","webpack:///nextcloud/node_modules/lodash/_baseEach.js","webpack:///nextcloud/node_modules/lodash/_baseFlatten.js","webpack:///nextcloud/node_modules/lodash/_baseForOwn.js","webpack:///nextcloud/node_modules/lodash/_baseLodash.js","webpack:///nextcloud/node_modules/lodash/_baseMap.js","webpack:///nextcloud/node_modules/lodash/_baseOrderBy.js","webpack:///nextcloud/node_modules/lodash/_baseSetData.js","webpack:///nextcloud/node_modules/lodash/_baseSortBy.js","webpack:///nextcloud/node_modules/lodash/_compareAscending.js","webpack:///nextcloud/node_modules/lodash/_compareMultiple.js","webpack:///nextcloud/node_modules/lodash/_composeArgs.js","webpack:///nextcloud/node_modules/lodash/_composeArgsRight.js","webpack:///nextcloud/node_modules/lodash/_countHolders.js","webpack:///nextcloud/node_modules/lodash/_createBaseEach.js","webpack:///nextcloud/node_modules/lodash/_createBind.js","webpack:///nextcloud/node_modules/lodash/_createCtor.js","webpack:///nextcloud/node_modules/lodash/_createCurry.js","webpack:///nextcloud/node_modules/lodash/_createHybrid.js","webpack:///nextcloud/node_modules/lodash/_createPartial.js","webpack:///nextcloud/node_modules/lodash/_createRecurry.js","webpack:///nextcloud/node_modules/lodash/_createWrap.js","webpack:///nextcloud/node_modules/lodash/_flatRest.js","webpack:///nextcloud/node_modules/lodash/_getData.js","webpack:///nextcloud/node_modules/lodash/_getFuncName.js","webpack:///nextcloud/node_modules/lodash/_getHolder.js","webpack:///nextcloud/node_modules/lodash/_getWrapDetails.js","webpack:///nextcloud/node_modules/lodash/_insertWrapDetails.js","webpack:///nextcloud/node_modules/lodash/_isFlattenable.js","webpack:///nextcloud/node_modules/lodash/_isLaziable.js","webpack:///nextcloud/node_modules/lodash/_mergeData.js","webpack:///nextcloud/node_modules/lodash/_metaMap.js","webpack:///nextcloud/node_modules/lodash/_realNames.js","webpack:///nextcloud/node_modules/lodash/_reorder.js","webpack:///nextcloud/node_modules/lodash/_replaceHolders.js","webpack:///nextcloud/node_modules/lodash/_setData.js","webpack:///nextcloud/node_modules/lodash/_setWrapToString.js","webpack:///nextcloud/node_modules/lodash/_updateWrapDetails.js","webpack:///nextcloud/node_modules/lodash/_wrapperClone.js","webpack:///nextcloud/node_modules/lodash/ary.js","webpack:///nextcloud/node_modules/lodash/curry.js","webpack:///nextcloud/node_modules/lodash/flatten.js","webpack:///nextcloud/node_modules/lodash/fp/_baseConvert.js","webpack:///nextcloud/node_modules/lodash/fp/_mapping.js","webpack:///nextcloud/node_modules/lodash/fp/_util.js","webpack:///nextcloud/node_modules/lodash/fp/convert.js","webpack:///nextcloud/node_modules/lodash/fp/placeholder.js","webpack:///nextcloud/node_modules/lodash/fp/sortBy.js","webpack:///nextcloud/node_modules/lodash/isError.js","webpack:///nextcloud/node_modules/lodash/isWeakMap.js","webpack:///nextcloud/node_modules/lodash/iteratee.js","webpack:///nextcloud/node_modules/lodash/rearg.js","webpack:///nextcloud/node_modules/lodash/sortBy.js","webpack:///nextcloud/node_modules/lodash/toFinite.js","webpack:///nextcloud/node_modules/lodash/toInteger.js","webpack:///nextcloud/node_modules/lodash/toPath.js","webpack:///nextcloud/node_modules/lodash/wrapperLodash.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * Convert the given array buffer into a Base64URL-encoded string. Ideal for converting various\n * credential response ArrayBuffers to string for sending back to the server as JSON.\n *\n * Helper method to compliment `base64URLStringToBuffer`\n */\nexport function bufferToBase64URLString(buffer) {\n const bytes = new Uint8Array(buffer);\n let str = '';\n for (const charCode of bytes) {\n str += String.fromCharCode(charCode);\n }\n const base64String = btoa(str);\n return base64String.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n}\n","/**\n * Convert from a Base64URL-encoded string to an Array Buffer. Best used when converting a\n * credential ID from a JSON string to an ArrayBuffer, like in allowCredentials or\n * excludeCredentials\n *\n * Helper method to compliment `bufferToBase64URLString`\n */\nexport function base64URLStringToBuffer(base64URLString) {\n // Convert from Base64URL to Base64\n const base64 = base64URLString.replace(/-/g, '+').replace(/_/g, '/');\n /**\n * Pad with '=' until it's a multiple of four\n * (4 - (85 % 4 = 1) = 3) % 4 = 3 padding\n * (4 - (86 % 4 = 2) = 2) % 4 = 2 padding\n * (4 - (87 % 4 = 3) = 1) % 4 = 1 padding\n * (4 - (88 % 4 = 0) = 4) % 4 = 0 padding\n */\n const padLength = (4 - (base64.length % 4)) % 4;\n const padded = base64.padEnd(base64.length + padLength, '=');\n // Convert to a binary string\n const binary = atob(padded);\n // Convert binary string to buffer\n const buffer = new ArrayBuffer(binary.length);\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return buffer;\n}\n","/**\n * Determine if the browser is capable of Webauthn\n */\nexport function browserSupportsWebAuthn() {\n return _browserSupportsWebAuthnInternals.stubThis(globalThis?.PublicKeyCredential !== undefined &&\n typeof globalThis.PublicKeyCredential === 'function');\n}\n// Make it possible to stub the return value during testing\nexport const _browserSupportsWebAuthnInternals = {\n stubThis: (value) => value,\n};\n","import { base64URLStringToBuffer } from './base64URLStringToBuffer.js';\nexport function toPublicKeyCredentialDescriptor(descriptor) {\n const { id } = descriptor;\n return {\n ...descriptor,\n id: base64URLStringToBuffer(id),\n /**\n * `descriptor.transports` is an array of our `AuthenticatorTransportFuture` that includes newer\n * transports that TypeScript's DOM lib is ignorant of. Convince TS that our list of transports\n * are fine to pass to WebAuthn since browsers will recognize the new value.\n */\n transports: descriptor.transports,\n };\n}\n","/**\n * A custom Error used to return a more nuanced error detailing _why_ one of the eight documented\n * errors in the spec was raised after calling `navigator.credentials.create()` or\n * `navigator.credentials.get()`:\n *\n * - `AbortError`\n * - `ConstraintError`\n * - `InvalidStateError`\n * - `NotAllowedError`\n * - `NotSupportedError`\n * - `SecurityError`\n * - `TypeError`\n * - `UnknownError`\n *\n * Error messages were determined through investigation of the spec to determine under which\n * scenarios a given error would be raised.\n */\nexport class WebAuthnError extends Error {\n constructor({ message, code, cause, name, }) {\n // @ts-ignore: help Rollup understand that `cause` is okay to set\n super(message, { cause });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = name ?? cause.name;\n this.code = code;\n }\n}\n","class BaseWebAuthnAbortService {\n constructor() {\n Object.defineProperty(this, \"controller\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n /**\n * Prepare an abort signal that will help support multiple auth attempts without needing to\n * reload the page. This is automatically called whenever `startRegistration()` and\n * `startAuthentication()` are called.\n */\n createNewAbortSignal() {\n // Abort any existing calls to navigator.credentials.create() or navigator.credentials.get()\n if (this.controller) {\n const abortError = new Error('Cancelling existing WebAuthn API call for new one');\n abortError.name = 'AbortError';\n this.controller.abort(abortError);\n }\n const newController = new AbortController();\n this.controller = newController;\n return newController.signal;\n }\n /**\n * Manually cancel any active WebAuthn registration or authentication attempt.\n */\n cancelCeremony() {\n if (this.controller) {\n const abortError = new Error('Manually cancelling existing WebAuthn API call');\n abortError.name = 'AbortError';\n this.controller.abort(abortError);\n this.controller = undefined;\n }\n }\n}\n/**\n * A service singleton to help ensure that only a single WebAuthn ceremony is active at a time.\n *\n * Users of **@simplewebauthn/browser** shouldn't typically need to use this, but it can help e.g.\n * developers building projects that use client-side routing to better control the behavior of\n * their UX in response to router navigation events.\n */\nexport const WebAuthnAbortService = new BaseWebAuthnAbortService();\n","const attachments = ['cross-platform', 'platform'];\n/**\n * If possible coerce a `string` value into a known `AuthenticatorAttachment`\n */\nexport function toAuthenticatorAttachment(attachment) {\n if (!attachment) {\n return;\n }\n if (attachments.indexOf(attachment) < 0) {\n return;\n }\n return attachment;\n}\n","import { bufferToBase64URLString } from '../helpers/bufferToBase64URLString.js';\nimport { base64URLStringToBuffer } from '../helpers/base64URLStringToBuffer.js';\nimport { browserSupportsWebAuthn } from '../helpers/browserSupportsWebAuthn.js';\nimport { toPublicKeyCredentialDescriptor } from '../helpers/toPublicKeyCredentialDescriptor.js';\nimport { identifyRegistrationError } from '../helpers/identifyRegistrationError.js';\nimport { WebAuthnAbortService } from '../helpers/webAuthnAbortService.js';\nimport { toAuthenticatorAttachment } from '../helpers/toAuthenticatorAttachment.js';\n/**\n * Begin authenticator \"registration\" via WebAuthn attestation\n *\n * @param optionsJSON Output from **@simplewebauthn/server**'s `generateRegistrationOptions()`\n * @param useAutoRegister (Optional) Try to silently create a passkey with the password manager that the user just signed in with. Defaults to `false`.\n */\nexport async function startRegistration(options) {\n const { optionsJSON, useAutoRegister = false } = options;\n if (!browserSupportsWebAuthn()) {\n throw new Error('WebAuthn is not supported in this browser');\n }\n // We need to convert some values to Uint8Arrays before passing the credentials to the navigator\n const publicKey = {\n ...optionsJSON,\n challenge: base64URLStringToBuffer(optionsJSON.challenge),\n user: {\n ...optionsJSON.user,\n id: base64URLStringToBuffer(optionsJSON.user.id),\n },\n excludeCredentials: optionsJSON.excludeCredentials?.map(toPublicKeyCredentialDescriptor),\n };\n // Prepare options for `.create()`\n const createOptions = {};\n /**\n * Try to use conditional create to register a passkey for the user with the password manager\n * the user just used to authenticate with. The user won't be shown any prominent UI by the\n * browser.\n */\n if (useAutoRegister) {\n // @ts-ignore: `mediation` doesn't yet exist on CredentialCreationOptions but it's possible as of Sept 2024\n createOptions.mediation = 'conditional';\n }\n // Finalize options\n createOptions.publicKey = publicKey;\n // Set up the ability to cancel this request if the user attempts another\n createOptions.signal = WebAuthnAbortService.createNewAbortSignal();\n // Wait for the user to complete attestation\n let credential;\n try {\n credential = (await navigator.credentials.create(createOptions));\n }\n catch (err) {\n throw identifyRegistrationError({ error: err, options: createOptions });\n }\n if (!credential) {\n throw new Error('Registration was not completed');\n }\n const { id, rawId, response, type } = credential;\n // Continue to play it safe with `getTransports()` for now, even when L3 types say it's required\n let transports = undefined;\n if (typeof response.getTransports === 'function') {\n transports = response.getTransports();\n }\n // L3 says this is required, but browser and webview support are still not guaranteed.\n let responsePublicKeyAlgorithm = undefined;\n if (typeof response.getPublicKeyAlgorithm === 'function') {\n try {\n responsePublicKeyAlgorithm = response.getPublicKeyAlgorithm();\n }\n catch (error) {\n warnOnBrokenImplementation('getPublicKeyAlgorithm()', error);\n }\n }\n let responsePublicKey = undefined;\n if (typeof response.getPublicKey === 'function') {\n try {\n const _publicKey = response.getPublicKey();\n if (_publicKey !== null) {\n responsePublicKey = bufferToBase64URLString(_publicKey);\n }\n }\n catch (error) {\n warnOnBrokenImplementation('getPublicKey()', error);\n }\n }\n // L3 says this is required, but browser and webview support are still not guaranteed.\n let responseAuthenticatorData;\n if (typeof response.getAuthenticatorData === 'function') {\n try {\n responseAuthenticatorData = bufferToBase64URLString(response.getAuthenticatorData());\n }\n catch (error) {\n warnOnBrokenImplementation('getAuthenticatorData()', error);\n }\n }\n return {\n id,\n rawId: bufferToBase64URLString(rawId),\n response: {\n attestationObject: bufferToBase64URLString(response.attestationObject),\n clientDataJSON: bufferToBase64URLString(response.clientDataJSON),\n transports,\n publicKeyAlgorithm: responsePublicKeyAlgorithm,\n publicKey: responsePublicKey,\n authenticatorData: responseAuthenticatorData,\n },\n type,\n clientExtensionResults: credential.getClientExtensionResults(),\n authenticatorAttachment: toAuthenticatorAttachment(credential.authenticatorAttachment),\n };\n}\n/**\n * Visibly warn when we detect an issue related to a passkey provider intercepting WebAuthn API\n * calls\n */\nfunction warnOnBrokenImplementation(methodName, cause) {\n console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${methodName}. You should report this error to them.\\n`, cause);\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddDevice.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddDevice.vue?vue&type=script&lang=js\"","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { startRegistration as registerWebAuthn } from '@simplewebauthn/browser';\nimport axios, { isAxiosError } from '@nextcloud/axios';\nimport logger from '../logger';\n/**\n * Start registering a new device\n * @return The device attributes\n */\nexport async function startRegistration() {\n const url = generateUrl('/settings/api/personal/webauthn/registration');\n try {\n logger.debug('Fetching webauthn registration data');\n const { data } = await axios.get(url);\n logger.debug('Start webauthn registration');\n const attrs = await registerWebAuthn(data);\n return attrs;\n }\n catch (e) {\n logger.error(e);\n if (isAxiosError(e)) {\n throw new Error(t('settings', 'Could not register device: Network error'));\n }\n else if (e.name === 'InvalidStateError') {\n throw new Error(t('settings', 'Could not register device: Probably already registered'));\n }\n throw new Error(t('settings', 'Could not register device'));\n }\n}\n/**\n * @param name Name of the device\n * @param data Device attributes\n */\nexport async function finishRegistration(name, data) {\n const url = generateUrl('/settings/api/personal/webauthn/registration');\n const resp = await axios.post(url, { name, data: JSON.stringify(data) });\n return resp.data;\n}\n/**\n * @param id Remove registered device with that id\n */\nexport async function removeRegistration(id) {\n const url = generateUrl(`/settings/api/personal/webauthn/registration/${id}`);\n await axios.delete(url);\n}\n","import { isValidDomain } from './isValidDomain.js';\nimport { WebAuthnError } from './webAuthnError.js';\n/**\n * Attempt to intuit _why_ an error was raised after calling `navigator.credentials.create()`\n */\nexport function identifyRegistrationError({ error, options, }) {\n const { publicKey } = options;\n if (!publicKey) {\n throw Error('options was missing required publicKey property');\n }\n if (error.name === 'AbortError') {\n if (options.signal instanceof AbortSignal) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 16)\n return new WebAuthnError({\n message: 'Registration ceremony was sent an abort signal',\n code: 'ERROR_CEREMONY_ABORTED',\n cause: error,\n });\n }\n }\n else if (error.name === 'ConstraintError') {\n if (publicKey.authenticatorSelection?.requireResidentKey === true) {\n // https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred (Step 4)\n return new WebAuthnError({\n message: 'Discoverable credentials were required but no available authenticator supported it',\n code: 'ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT',\n cause: error,\n });\n }\n else if (\n // @ts-ignore: `mediation` doesn't yet exist on CredentialCreationOptions but it's possible as of Sept 2024\n options.mediation === 'conditional' &&\n publicKey.authenticatorSelection?.userVerification === 'required') {\n // https://w3c.github.io/webauthn/#sctn-createCredential (Step 22.4)\n return new WebAuthnError({\n message: 'User verification was required during automatic registration but it could not be performed',\n code: 'ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE',\n cause: error,\n });\n }\n else if (publicKey.authenticatorSelection?.userVerification === 'required') {\n // https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred (Step 5)\n return new WebAuthnError({\n message: 'User verification was required but no available authenticator supported it',\n code: 'ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT',\n cause: error,\n });\n }\n }\n else if (error.name === 'InvalidStateError') {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 20)\n // https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred (Step 3)\n return new WebAuthnError({\n message: 'The authenticator was previously registered',\n code: 'ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED',\n cause: error,\n });\n }\n else if (error.name === 'NotAllowedError') {\n /**\n * Pass the error directly through. Platforms are overloading this error beyond what the spec\n * defines and we don't want to overwrite potentially useful error messages.\n */\n return new WebAuthnError({\n message: error.message,\n code: 'ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY',\n cause: error,\n });\n }\n else if (error.name === 'NotSupportedError') {\n const validPubKeyCredParams = publicKey.pubKeyCredParams.filter((param) => param.type === 'public-key');\n if (validPubKeyCredParams.length === 0) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 10)\n return new WebAuthnError({\n message: 'No entry in pubKeyCredParams was of type \"public-key\"',\n code: 'ERROR_MALFORMED_PUBKEYCREDPARAMS',\n cause: error,\n });\n }\n // https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred (Step 2)\n return new WebAuthnError({\n message: 'No available authenticator supported any of the specified pubKeyCredParams algorithms',\n code: 'ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG',\n cause: error,\n });\n }\n else if (error.name === 'SecurityError') {\n const effectiveDomain = globalThis.location.hostname;\n if (!isValidDomain(effectiveDomain)) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 7)\n return new WebAuthnError({\n message: `${globalThis.location.hostname} is an invalid domain`,\n code: 'ERROR_INVALID_DOMAIN',\n cause: error,\n });\n }\n else if (publicKey.rp.id !== effectiveDomain) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 8)\n return new WebAuthnError({\n message: `The RP ID \"${publicKey.rp.id}\" is invalid for this domain`,\n code: 'ERROR_INVALID_RP_ID',\n cause: error,\n });\n }\n }\n else if (error.name === 'TypeError') {\n if (publicKey.user.id.byteLength < 1 || publicKey.user.id.byteLength > 64) {\n // https://www.w3.org/TR/webauthn-2/#sctn-createCredential (Step 5)\n return new WebAuthnError({\n message: 'User ID was not between 1 and 64 characters',\n code: 'ERROR_INVALID_USER_ID_LENGTH',\n cause: error,\n });\n }\n }\n else if (error.name === 'UnknownError') {\n // https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred (Step 1)\n // https://www.w3.org/TR/webauthn-2/#sctn-op-make-cred (Step 8)\n return new WebAuthnError({\n message: 'The authenticator was unable to process the specified options, or could not create a new credential',\n code: 'ERROR_AUTHENTICATOR_GENERAL_ERROR',\n cause: error,\n });\n }\n return error;\n}\n","/**\n * A simple test to determine if a hostname is a properly-formatted domain name\n *\n * A \"valid domain\" is defined here: https://url.spec.whatwg.org/#valid-domain\n *\n * Regex sourced from here:\n * https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n */\nexport function isValidDomain(hostname) {\n return (\n // Consider localhost valid as well since it's okay wrt Secure Contexts\n hostname === 'localhost' ||\n /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i.test(hostname));\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddDevice.vue?vue&type=style&index=0&id=c0c703c4&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddDevice.vue?vue&type=style&index=0&id=c0c703c4&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AddDevice.vue?vue&type=template&id=c0c703c4&scoped=true\"\nimport script from \"./AddDevice.vue?vue&type=script&lang=js\"\nexport * from \"./AddDevice.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddDevice.vue?vue&type=style&index=0&id=c0c703c4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c0c703c4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.isHttps && !_vm.isLocalhost)?_c('div',[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('settings', 'Passwordless authentication requires a secure connection.'))+\"\\n\")]):_c('div',[(_vm.step === _vm.RegistrationSteps.READY)?_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.start}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Add WebAuthn device'))+\"\\n\\t\")]):(_vm.step === _vm.RegistrationSteps.REGISTRATION)?_c('div',{staticClass:\"new-webauthn-device\"},[_c('span',{staticClass:\"icon-loading-small webauthn-loading\"}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Please authorize your WebAuthn device.'))+\"\\n\\t\")]):(_vm.step === _vm.RegistrationSteps.NAMING)?_c('div',{staticClass:\"new-webauthn-device\"},[_c('span',{staticClass:\"icon-loading-small webauthn-loading\"}),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('NcTextField',{ref:\"nameInput\",staticClass:\"new-webauthn-device__name\",attrs:{\"label\":_vm.t('settings', 'Device name'),\"value\":_vm.name,\"show-trailing-button\":\"\",\"trailing-button-label\":_vm.t('settings', 'Add'),\"trailing-button-icon\":\"arrowRight\"},on:{\"update:value\":function($event){_vm.name=$event},\"trailing-button-click\":_vm.submit}})],1)]):(_vm.step === _vm.RegistrationSteps.PERSIST)?_c('div',{staticClass:\"new-webauthn-device\"},[_c('span',{staticClass:\"icon-loading-small webauthn-loading\"}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Adding your device …'))+\"\\n\\t\")]):_c('div',[_vm._v(\"\\n\\t\\tInvalid registration step. This should not have happened.\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"webauthn-device\"},[_c('span',{staticClass:\"icon-webauthn-device\"}),_vm._v(\"\\n\\t\"+_vm._s(_vm.name || _vm.t('settings', 'Unnamed device'))+\"\\n\\t\"),_c('NcActions',{attrs:{\"force-menu\":true}},[_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\"},on:{\"click\":function($event){return _vm.$emit('delete')}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete'))+\"\\n\\t\\t\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Device.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Device.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Device.vue?vue&type=style&index=0&id=60aaa94c&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Device.vue?vue&type=style&index=0&id=60aaa94c&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Device.vue?vue&type=template&id=60aaa94c&scoped=true\"\nimport script from \"./Device.vue?vue&type=script&lang=js\"\nexport * from \"./Device.vue?vue&type=script&lang=js\"\nimport style0 from \"./Device.vue?vue&type=style&index=0&id=60aaa94c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60aaa94c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=style&index=0&id=e3727450&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=style&index=0&id=e3727450&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Section.vue?vue&type=template&id=e3727450&scoped=true\"\nimport script from \"./Section.vue?vue&type=script&lang=js\"\nexport * from \"./Section.vue?vue&type=script&lang=js\"\nimport style0 from \"./Section.vue?vue&type=style&index=0&id=e3727450&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3727450\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"section\",attrs:{\"id\":\"security-webauthn\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Passwordless Authentication')))]),_vm._v(\" \"),_c('p',{staticClass:\"settings-hint hidden-when-empty\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Set up your account for passwordless authentication following the FIDO2 standard.'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.devices.length === 0)?_c('NcNoteCard',{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No devices configured.'))+\"\\n\\t\")]):_c('h3',{attrs:{\"id\":\"security-webauthn__active-devices\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'The following devices are configured for your account:'))+\"\\n\\t\")]),_vm._v(\" \"),_c('ul',{staticClass:\"security-webauthn__device-list\",attrs:{\"aria-labelledby\":\"security-webauthn__active-devices\"}},_vm._l((_vm.sortedDevices),function(device){return _c('Device',{key:device.id,attrs:{\"name\":device.name},on:{\"delete\":function($event){return _vm.deleteDevice(device.id)}}})}),1),_vm._v(\" \"),(!_vm.supportsWebauthn)?_c('NcNoteCard',{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Your browser does not support WebAuthn.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.supportsWebauthn)?_c('AddDevice',{attrs:{\"is-https\":_vm.isHttps,\"is-localhost\":_vm.isLocalhost},on:{\"added\":_vm.deviceAdded}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\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 { loadState } from '@nextcloud/initial-state'\n\nimport WebAuthnSection from './components/WebAuthn/Section.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nVue.prototype.t = t\n\nconst View = Vue.extend(WebAuthnSection)\nconst devices = loadState('settings', 'webauthn-devices')\nnew View({\n\tpropsData: {\n\t\tinitialDevices: devices,\n\t\tisHttps: window.location.protocol === 'https:',\n\t\tisLocalhost: window.location.hostname === 'localhost',\n\t},\n}).$mount('#security-webauthn')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.webauthn-loading[data-v-c0c703c4]{display:inline-block;vertical-align:sub;margin-inline:2px}.new-webauthn-device[data-v-c0c703c4]{display:flex;gap:22px;align-items:center}.new-webauthn-device__name[data-v-c0c703c4]{max-width:min(100vw,400px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/WebAuthn/AddDevice.vue\"],\"names\":[],\"mappings\":\"AACA,mCACC,oBAAA,CACA,kBAAA,CACA,iBAAA,CAGD,sCACC,YAAA,CACA,QAAA,CACA,kBAAA,CAEA,4CACC,0BAAA\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.webauthn-device[data-v-60aaa94c] {\n\tline-height: 300%;\n\tdisplay: flex;\n}\n.icon-webauthn-device[data-v-60aaa94c] {\n\tdisplay: inline-block;\n\tbackground-size: 100%;\n\tpadding: 3px;\n\tmargin: 3px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/WebAuthn/Device.vue\"],\"names\":[],\"mappings\":\";AAkDA;CACA,iBAAA;CACA,aAAA;AACA;AAEA;CACA,qBAAA;CACA,qBAAA;CACA,YAAA;CACA,WAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.security-webauthn__device-list[data-v-e3727450] {\n\tmargin-block: 12px 18px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/WebAuthn/Section.vue\"],\"names\":[],\"mappings\":\";AA8GA;CACA,uBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = baseCreate(baseLodash.prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\nmodule.exports = LazyWrapper;\n","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = baseCreate(baseLodash.prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\nmodule.exports = LodashWrapper;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\nmodule.exports = baseLodash;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","var identity = require('./identity'),\n metaMap = require('./_metaMap');\n\n/**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n};\n\nmodule.exports = baseSetData;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\nmodule.exports = composeArgs;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nmodule.exports = composeArgsRight;\n","/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\nmodule.exports = countHolders;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\nmodule.exports = createBind;\n","var baseCreate = require('./_baseCreate'),\n isObject = require('./isObject');\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n}\n\nmodule.exports = createCtor;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n createHybrid = require('./_createHybrid'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createCurry;\n","var composeArgs = require('./_composeArgs'),\n composeArgsRight = require('./_composeArgsRight'),\n countHolders = require('./_countHolders'),\n createCtor = require('./_createCtor'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n reorder = require('./_reorder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\nmodule.exports = createHybrid;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createPartial;\n","var isLaziable = require('./_isLaziable'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nmodule.exports = createRecurry;\n","var baseSetData = require('./_baseSetData'),\n createBind = require('./_createBind'),\n createCurry = require('./_createCurry'),\n createHybrid = require('./_createHybrid'),\n createPartial = require('./_createPartial'),\n getData = require('./_getData'),\n mergeData = require('./_mergeData'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString'),\n toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n}\n\nmodule.exports = createWrap;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var metaMap = require('./_metaMap'),\n noop = require('./noop');\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nmodule.exports = getData;\n","var realNames = require('./_realNames');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\nmodule.exports = getFuncName;\n","/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\nmodule.exports = getHolder;\n","/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\nmodule.exports = getWrapDetails;\n","/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\nmodule.exports = insertWrapDetails;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var LazyWrapper = require('./_LazyWrapper'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n lodash = require('./wrapperLodash');\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n}\n\nmodule.exports = isLaziable;\n","var composeArgs = require('./_composeArgs'),\n composeArgsRight = require('./_composeArgsRight'),\n replaceHolders = require('./_replaceHolders');\n\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\nfunction mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n}\n\nmodule.exports = mergeData;\n","var WeakMap = require('./_WeakMap');\n\n/** Used to store function metadata. */\nvar metaMap = WeakMap && new WeakMap;\n\nmodule.exports = metaMap;\n","/** Used to lookup unminified function names. */\nvar realNames = {};\n\nmodule.exports = realNames;\n","var copyArray = require('./_copyArray'),\n isIndex = require('./_isIndex');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\nmodule.exports = reorder;\n","/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\nmodule.exports = replaceHolders;\n","var baseSetData = require('./_baseSetData'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = shortOut(baseSetData);\n\nmodule.exports = setData;\n","var getWrapDetails = require('./_getWrapDetails'),\n insertWrapDetails = require('./_insertWrapDetails'),\n setToString = require('./_setToString'),\n updateWrapDetails = require('./_updateWrapDetails');\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\n\nmodule.exports = setWrapToString;\n","var arrayEach = require('./_arrayEach'),\n arrayIncludes = require('./_arrayIncludes');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\nmodule.exports = updateWrapDetails;\n","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n copyArray = require('./_copyArray');\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\nmodule.exports = wrapperClone;\n","var createWrap = require('./_createWrap');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_ARY_FLAG = 128;\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\nfunction ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n}\n\nmodule.exports = ary;\n","var createWrap = require('./_createWrap');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nmodule.exports = curry;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var mapping = require('./_mapping'),\n fallbackHolder = require('./placeholder');\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n return n == 2\n ? function(a, b) { return func.apply(undefined, arguments); }\n : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n return n == 2\n ? function(a, b) { return func(a, b); }\n : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n var length = array ? array.length : 0,\n result = Array(length);\n\n while (length--) {\n result[length] = array[length];\n }\n return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n return function(object) {\n return func({}, object);\n };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n return function() {\n var length = arguments.length,\n lastIndex = length - 1,\n args = Array(length);\n\n while (length--) {\n args[length] = arguments[length];\n }\n var array = args[start],\n otherArgs = args.slice(0, start);\n\n if (array) {\n push.apply(otherArgs, array);\n }\n if (start != lastIndex) {\n push.apply(otherArgs, args.slice(start + 1));\n }\n return func.apply(this, otherArgs);\n };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return;\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var result = args[0] = cloner.apply(undefined, args);\n func.apply(undefined, args);\n return result;\n };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n var isLib = typeof name == 'function',\n isObj = name === Object(name);\n\n if (isObj) {\n options = func;\n func = name;\n name = undefined;\n }\n if (func == null) {\n throw new TypeError;\n }\n options || (options = {});\n\n var config = {\n 'cap': 'cap' in options ? options.cap : true,\n 'curry': 'curry' in options ? options.curry : true,\n 'fixed': 'fixed' in options ? options.fixed : true,\n 'immutable': 'immutable' in options ? options.immutable : true,\n 'rearg': 'rearg' in options ? options.rearg : true\n };\n\n var defaultHolder = isLib ? func : fallbackHolder,\n forceCurry = ('curry' in options) && options.curry,\n forceFixed = ('fixed' in options) && options.fixed,\n forceRearg = ('rearg' in options) && options.rearg,\n pristine = isLib ? func.runInContext() : undefined;\n\n var helpers = isLib ? func : {\n 'ary': util.ary,\n 'assign': util.assign,\n 'clone': util.clone,\n 'curry': util.curry,\n 'forEach': util.forEach,\n 'isArray': util.isArray,\n 'isError': util.isError,\n 'isFunction': util.isFunction,\n 'isWeakMap': util.isWeakMap,\n 'iteratee': util.iteratee,\n 'keys': util.keys,\n 'rearg': util.rearg,\n 'toInteger': util.toInteger,\n 'toPath': util.toPath\n };\n\n var ary = helpers.ary,\n assign = helpers.assign,\n clone = helpers.clone,\n curry = helpers.curry,\n each = helpers.forEach,\n isArray = helpers.isArray,\n isError = helpers.isError,\n isFunction = helpers.isFunction,\n isWeakMap = helpers.isWeakMap,\n keys = helpers.keys,\n rearg = helpers.rearg,\n toInteger = helpers.toInteger,\n toPath = helpers.toPath;\n\n var aryMethodKeys = keys(mapping.aryMethod);\n\n var wrappers = {\n 'castArray': function(castArray) {\n return function() {\n var value = arguments[0];\n return isArray(value)\n ? castArray(cloneArray(value))\n : castArray.apply(undefined, arguments);\n };\n },\n 'iteratee': function(iteratee) {\n return function() {\n var func = arguments[0],\n arity = arguments[1],\n result = iteratee(func, arity),\n length = result.length;\n\n if (config.cap && typeof arity == 'number') {\n arity = arity > 2 ? (arity - 2) : 1;\n return (length && length <= arity) ? result : baseAry(result, arity);\n }\n return result;\n };\n },\n 'mixin': function(mixin) {\n return function(source) {\n var func = this;\n if (!isFunction(func)) {\n return mixin(func, Object(source));\n }\n var pairs = [];\n each(keys(source), function(key) {\n if (isFunction(source[key])) {\n pairs.push([key, func.prototype[key]]);\n }\n });\n\n mixin(func, Object(source));\n\n each(pairs, function(pair) {\n var value = pair[1];\n if (isFunction(value)) {\n func.prototype[pair[0]] = value;\n } else {\n delete func.prototype[pair[0]];\n }\n });\n return func;\n };\n },\n 'nthArg': function(nthArg) {\n return function(n) {\n var arity = n < 0 ? 1 : (toInteger(n) + 1);\n return curry(nthArg(n), arity);\n };\n },\n 'rearg': function(rearg) {\n return function(func, indexes) {\n var arity = indexes ? indexes.length : 0;\n return curry(rearg(func, indexes), arity);\n };\n },\n 'runInContext': function(runInContext) {\n return function(context) {\n return baseConvert(util, runInContext(context), options);\n };\n }\n };\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Casts `func` to a function with an arity capped iteratee if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @returns {Function} Returns the cast function.\n */\n function castCap(name, func) {\n if (config.cap) {\n var indexes = mapping.iterateeRearg[name];\n if (indexes) {\n return iterateeRearg(func, indexes);\n }\n var n = !isLib && mapping.iterateeAry[name];\n if (n) {\n return iterateeAry(func, n);\n }\n }\n return func;\n }\n\n /**\n * Casts `func` to a curried function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castCurry(name, func, n) {\n return (forceCurry || (config.curry && n > 1))\n ? curry(func, n)\n : func;\n }\n\n /**\n * Casts `func` to a fixed arity function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the cast function.\n */\n function castFixed(name, func, n) {\n if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n var data = mapping.methodSpread[name],\n start = data && data.start;\n\n return start === undefined ? ary(func, n) : flatSpread(func, start);\n }\n return func;\n }\n\n /**\n * Casts `func` to an rearged function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castRearg(name, func, n) {\n return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n : func;\n }\n\n /**\n * Creates a clone of `object` by `path`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {Array|string} path The path to clone by.\n * @returns {Object} Returns the cloned object.\n */\n function cloneByPath(object, path) {\n path = toPath(path);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n result = clone(Object(object)),\n nested = result;\n\n while (nested != null && ++index < length) {\n var key = path[index],\n value = nested[key];\n\n if (value != null &&\n !(isFunction(value) || isError(value) || isWeakMap(value))) {\n nested[key] = clone(index == lastIndex ? value : Object(value));\n }\n nested = nested[key];\n }\n return result;\n }\n\n /**\n * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied.\n *\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function} Returns the converted `lodash`.\n */\n function convertLib(options) {\n return _.runInContext.convert(options)(undefined);\n }\n\n /**\n * Create a converter function for `func` of `name`.\n *\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @returns {Function} Returns the new converter function.\n */\n function createConverter(name, func) {\n var realName = mapping.aliasToReal[name] || name,\n methodName = mapping.remap[realName] || realName,\n oldOptions = options;\n\n return function(options) {\n var newUtil = isLib ? pristine : helpers,\n newFunc = isLib ? pristine[methodName] : func,\n newOptions = assign(assign({}, oldOptions), options);\n\n return baseConvert(newUtil, realName, newFunc, newOptions);\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n * arguments, ignoring any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap iteratee arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\n function iterateeAry(func, n) {\n return overArg(func, function(func) {\n return typeof func == 'function' ? baseAry(func, n) : func;\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee with arguments\n * arranged according to the specified `indexes` where the argument value at\n * the first index is provided as the first argument, the argument value at\n * the second index is provided as the second argument, and so on.\n *\n * @private\n * @param {Function} func The function to rearrange iteratee arguments for.\n * @param {number[]} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n */\n function iterateeRearg(func, indexes) {\n return overArg(func, function(func) {\n var n = indexes.length;\n return baseArity(rearg(baseAry(func, n), indexes), n);\n });\n }\n\n /**\n * Creates a function that invokes `func` with its first argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return func();\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var index = config.rearg ? 0 : (length - 1);\n args[index] = transform(args[index]);\n return func.apply(undefined, args);\n };\n }\n\n /**\n * Creates a function that wraps `func` and applys the conversions\n * rules by `name`.\n *\n * @private\n * @param {string} name The name of the function to wrap.\n * @param {Function} func The function to wrap.\n * @returns {Function} Returns the converted function.\n */\n function wrap(name, func, placeholder) {\n var result,\n realName = mapping.aliasToReal[name] || name,\n wrapped = func,\n wrapper = wrappers[realName];\n\n if (wrapper) {\n wrapped = wrapper(func);\n }\n else if (config.immutable) {\n if (mapping.mutate.array[realName]) {\n wrapped = wrapImmutable(func, cloneArray);\n }\n else if (mapping.mutate.object[realName]) {\n wrapped = wrapImmutable(func, createCloner(func));\n }\n else if (mapping.mutate.set[realName]) {\n wrapped = wrapImmutable(func, cloneByPath);\n }\n }\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(otherName) {\n if (realName == otherName) {\n var data = mapping.methodSpread[realName],\n afterRearg = data && data.afterRearg;\n\n result = afterRearg\n ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n result = castCap(realName, result);\n result = castCurry(realName, result, aryKey);\n return false;\n }\n });\n return !result;\n });\n\n result || (result = wrapped);\n if (result == func) {\n result = forceCurry ? curry(result, 1) : function() {\n return func.apply(this, arguments);\n };\n }\n result.convert = createConverter(realName, func);\n result.placeholder = func.placeholder = placeholder;\n\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n if (!isObj) {\n return wrap(name, func, defaultHolder);\n }\n var _ = func;\n\n // Convert methods by ary cap.\n var pairs = [];\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(key) {\n var func = _[mapping.remap[key] || key];\n if (func) {\n pairs.push([key, wrap(key, func, _)]);\n }\n });\n });\n\n // Convert remaining methods.\n each(keys(_), function(key) {\n var func = _[key];\n if (typeof func == 'function') {\n var length = pairs.length;\n while (length--) {\n if (pairs[length][0] == key) {\n return;\n }\n }\n func.convert = createConverter(key, func);\n pairs.push([key, func]);\n }\n });\n\n // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n each(pairs, function(pair) {\n _[pair[0]] = pair[1];\n });\n\n _.convert = convertLib;\n _.placeholder = _;\n\n // Assign aliases.\n each(keys(_), function(key) {\n each(mapping.realToAlias[key] || [], function(alias) {\n _[alias] = _[key];\n });\n });\n\n return _;\n}\n\nmodule.exports = baseConvert;\n","/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n // Lodash aliases.\n 'each': 'forEach',\n 'eachRight': 'forEachRight',\n 'entries': 'toPairs',\n 'entriesIn': 'toPairsIn',\n 'extend': 'assignIn',\n 'extendAll': 'assignInAll',\n 'extendAllWith': 'assignInAllWith',\n 'extendWith': 'assignInWith',\n 'first': 'head',\n\n // Methods that are curried variants of others.\n 'conforms': 'conformsTo',\n 'matches': 'isMatch',\n 'property': 'get',\n\n // Ramda aliases.\n '__': 'placeholder',\n 'F': 'stubFalse',\n 'T': 'stubTrue',\n 'all': 'every',\n 'allPass': 'overEvery',\n 'always': 'constant',\n 'any': 'some',\n 'anyPass': 'overSome',\n 'apply': 'spread',\n 'assoc': 'set',\n 'assocPath': 'set',\n 'complement': 'negate',\n 'compose': 'flowRight',\n 'contains': 'includes',\n 'dissoc': 'unset',\n 'dissocPath': 'unset',\n 'dropLast': 'dropRight',\n 'dropLastWhile': 'dropRightWhile',\n 'equals': 'isEqual',\n 'identical': 'eq',\n 'indexBy': 'keyBy',\n 'init': 'initial',\n 'invertObj': 'invert',\n 'juxt': 'over',\n 'omitAll': 'omit',\n 'nAry': 'ary',\n 'path': 'get',\n 'pathEq': 'matchesProperty',\n 'pathOr': 'getOr',\n 'paths': 'at',\n 'pickAll': 'pick',\n 'pipe': 'flow',\n 'pluck': 'map',\n 'prop': 'get',\n 'propEq': 'matchesProperty',\n 'propOr': 'getOr',\n 'props': 'at',\n 'symmetricDifference': 'xor',\n 'symmetricDifferenceBy': 'xorBy',\n 'symmetricDifferenceWith': 'xorWith',\n 'takeLast': 'takeRight',\n 'takeLastWhile': 'takeRightWhile',\n 'unapply': 'rest',\n 'unnest': 'flatten',\n 'useWith': 'overArgs',\n 'where': 'conformsTo',\n 'whereEq': 'isMatch',\n 'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n '1': [\n 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n 'uniqueId', 'words', 'zipAll'\n ],\n '2': [\n 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n 'zipObjectDeep'\n ],\n '3': [\n 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n 'xorWith', 'zipWith'\n ],\n '4': [\n 'fill', 'setWith', 'updateWith'\n ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n '2': [1, 0],\n '3': [2, 0, 1],\n '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n 'dropRightWhile': 1,\n 'dropWhile': 1,\n 'every': 1,\n 'filter': 1,\n 'find': 1,\n 'findFrom': 1,\n 'findIndex': 1,\n 'findIndexFrom': 1,\n 'findKey': 1,\n 'findLast': 1,\n 'findLastFrom': 1,\n 'findLastIndex': 1,\n 'findLastIndexFrom': 1,\n 'findLastKey': 1,\n 'flatMap': 1,\n 'flatMapDeep': 1,\n 'flatMapDepth': 1,\n 'forEach': 1,\n 'forEachRight': 1,\n 'forIn': 1,\n 'forInRight': 1,\n 'forOwn': 1,\n 'forOwnRight': 1,\n 'map': 1,\n 'mapKeys': 1,\n 'mapValues': 1,\n 'partition': 1,\n 'reduce': 2,\n 'reduceRight': 2,\n 'reject': 1,\n 'remove': 1,\n 'some': 1,\n 'takeRightWhile': 1,\n 'takeWhile': 1,\n 'times': 1,\n 'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n 'mapKeys': [1],\n 'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n 'assignInAllWith': [1, 0],\n 'assignInWith': [1, 2, 0],\n 'assignAllWith': [1, 0],\n 'assignWith': [1, 2, 0],\n 'differenceBy': [1, 2, 0],\n 'differenceWith': [1, 2, 0],\n 'getOr': [2, 1, 0],\n 'intersectionBy': [1, 2, 0],\n 'intersectionWith': [1, 2, 0],\n 'isEqualWith': [1, 2, 0],\n 'isMatchWith': [2, 1, 0],\n 'mergeAllWith': [1, 0],\n 'mergeWith': [1, 2, 0],\n 'padChars': [2, 1, 0],\n 'padCharsEnd': [2, 1, 0],\n 'padCharsStart': [2, 1, 0],\n 'pullAllBy': [2, 1, 0],\n 'pullAllWith': [2, 1, 0],\n 'rangeStep': [1, 2, 0],\n 'rangeStepRight': [1, 2, 0],\n 'setWith': [3, 1, 2, 0],\n 'sortedIndexBy': [2, 1, 0],\n 'sortedLastIndexBy': [2, 1, 0],\n 'unionBy': [1, 2, 0],\n 'unionWith': [1, 2, 0],\n 'updateWith': [3, 1, 2, 0],\n 'xorBy': [1, 2, 0],\n 'xorWith': [1, 2, 0],\n 'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n 'assignAll': { 'start': 0 },\n 'assignAllWith': { 'start': 0 },\n 'assignInAll': { 'start': 0 },\n 'assignInAllWith': { 'start': 0 },\n 'defaultsAll': { 'start': 0 },\n 'defaultsDeepAll': { 'start': 0 },\n 'invokeArgs': { 'start': 2 },\n 'invokeArgsMap': { 'start': 2 },\n 'mergeAll': { 'start': 0 },\n 'mergeAllWith': { 'start': 0 },\n 'partial': { 'start': 1 },\n 'partialRight': { 'start': 1 },\n 'without': { 'start': 1 },\n 'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n 'array': {\n 'fill': true,\n 'pull': true,\n 'pullAll': true,\n 'pullAllBy': true,\n 'pullAllWith': true,\n 'pullAt': true,\n 'remove': true,\n 'reverse': true\n },\n 'object': {\n 'assign': true,\n 'assignAll': true,\n 'assignAllWith': true,\n 'assignIn': true,\n 'assignInAll': true,\n 'assignInAllWith': true,\n 'assignInWith': true,\n 'assignWith': true,\n 'defaults': true,\n 'defaultsAll': true,\n 'defaultsDeep': true,\n 'defaultsDeepAll': true,\n 'merge': true,\n 'mergeAll': true,\n 'mergeAllWith': true,\n 'mergeWith': true,\n },\n 'set': {\n 'set': true,\n 'setWith': true,\n 'unset': true,\n 'update': true,\n 'updateWith': true\n }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n object = exports.aliasToReal,\n result = {};\n\n for (var key in object) {\n var value = object[key];\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }\n return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n 'assignAll': 'assign',\n 'assignAllWith': 'assignWith',\n 'assignInAll': 'assignIn',\n 'assignInAllWith': 'assignInWith',\n 'curryN': 'curry',\n 'curryRightN': 'curryRight',\n 'defaultsAll': 'defaults',\n 'defaultsDeepAll': 'defaultsDeep',\n 'findFrom': 'find',\n 'findIndexFrom': 'findIndex',\n 'findLastFrom': 'findLast',\n 'findLastIndexFrom': 'findLastIndex',\n 'getOr': 'get',\n 'includesFrom': 'includes',\n 'indexOfFrom': 'indexOf',\n 'invokeArgs': 'invoke',\n 'invokeArgsMap': 'invokeMap',\n 'lastIndexOfFrom': 'lastIndexOf',\n 'mergeAll': 'merge',\n 'mergeAllWith': 'mergeWith',\n 'padChars': 'pad',\n 'padCharsEnd': 'padEnd',\n 'padCharsStart': 'padStart',\n 'propertyOf': 'get',\n 'rangeStep': 'range',\n 'rangeStepRight': 'rangeRight',\n 'restFrom': 'rest',\n 'spreadFrom': 'spread',\n 'trimChars': 'trim',\n 'trimCharsEnd': 'trimEnd',\n 'trimCharsStart': 'trimStart',\n 'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n 'castArray': true,\n 'flow': true,\n 'flowRight': true,\n 'iteratee': true,\n 'mixin': true,\n 'rearg': true,\n 'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n 'add': true,\n 'assign': true,\n 'assignIn': true,\n 'bind': true,\n 'bindKey': true,\n 'concat': true,\n 'difference': true,\n 'divide': true,\n 'eq': true,\n 'gt': true,\n 'gte': true,\n 'isEqual': true,\n 'lt': true,\n 'lte': true,\n 'matchesProperty': true,\n 'merge': true,\n 'multiply': true,\n 'overArgs': true,\n 'partial': true,\n 'partialRight': true,\n 'propertyOf': true,\n 'random': true,\n 'range': true,\n 'rangeRight': true,\n 'subtract': true,\n 'zip': true,\n 'zipObject': true,\n 'zipObjectDeep': true\n};\n","module.exports = {\n 'ary': require('../ary'),\n 'assign': require('../_baseAssign'),\n 'clone': require('../clone'),\n 'curry': require('../curry'),\n 'forEach': require('../_arrayEach'),\n 'isArray': require('../isArray'),\n 'isError': require('../isError'),\n 'isFunction': require('../isFunction'),\n 'isWeakMap': require('../isWeakMap'),\n 'iteratee': require('../iteratee'),\n 'keys': require('../_baseKeys'),\n 'rearg': require('../rearg'),\n 'toInteger': require('../toInteger'),\n 'toPath': require('../toPath')\n};\n","var baseConvert = require('./_baseConvert'),\n util = require('./_util');\n\n/**\n * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied. If `name` is an object its methods\n * will be converted.\n *\n * @param {string} name The name of the function to wrap.\n * @param {Function} [func] The function to wrap.\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction convert(name, func, options) {\n return baseConvert(util, name, func, options);\n}\n\nmodule.exports = convert;\n","/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n","var convert = require('./convert'),\n func = convert('sortBy', require('../sortBy'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike'),\n isPlainObject = require('./isPlainObject');\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n}\n\nmodule.exports = isError;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar weakMapTag = '[object WeakMap]';\n\n/**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\nfunction isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n}\n\nmodule.exports = isWeakMap;\n","var baseClone = require('./_baseClone'),\n baseIteratee = require('./_baseIteratee');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that invokes `func` with the arguments of the created\n * function. If `func` is a property name, the created function returns the\n * property value for a given element. If `func` is an array or object, the\n * created function returns `true` for elements that contain the equivalent\n * source properties, otherwise it returns `false`.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Util\n * @param {*} [func=_.identity] The value to convert to a callback.\n * @returns {Function} Returns the callback.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, _.iteratee(['user', 'fred']));\n * // => [{ 'user': 'fred', 'age': 40 }]\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, _.iteratee('user'));\n * // => ['barney', 'fred']\n *\n * // Create custom iteratee shorthands.\n * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n * return !_.isRegExp(func) ? iteratee(func) : function(string) {\n * return func.test(string);\n * };\n * });\n *\n * _.filter(['abc', 'def'], /ef/);\n * // => ['def']\n */\nfunction iteratee(func) {\n return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = iteratee;\n","var createWrap = require('./_createWrap'),\n flatRest = require('./_flatRest');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\nvar rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n});\n\nmodule.exports = rearg;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var arrayMap = require('./_arrayMap'),\n copyArray = require('./_copyArray'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol'),\n stringToPath = require('./_stringToPath'),\n toKey = require('./_toKey'),\n toString = require('./toString');\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nmodule.exports = toPath;\n","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n baseLodash = require('./_baseLodash'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike'),\n wrapperClone = require('./_wrapperClone');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\nfunction lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n}\n\n// Ensure wrappers are instances of `baseLodash`.\nlodash.prototype = baseLodash.prototype;\nlodash.prototype.constructor = lodash;\n\nmodule.exports = lodash;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2441\":\"fc741cf57e9647f370a3\",\"5862\":\"7b9b02dc0a1b898066ef\",\"7874\":\"5d0f14697282cbdd7841\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9255;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9255: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(74308)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","buffer","bytes","Uint8Array","str","charCode","String","fromCharCode","btoa","replace","base64URLString","base64","padLength","length","padded","padEnd","binary","atob","ArrayBuffer","i","charCodeAt","_browserSupportsWebAuthnInternals","stubThis","undefined","globalThis","PublicKeyCredential","value","descriptor","id","transports","Error","constructor","message","code","cause","name","super","Object","defineProperty","this","enumerable","configurable","writable","createNewAbortSignal","controller","abortError","abort","newController","AbortController","signal","cancelCeremony","attachments","attachment","indexOf","warnOnBrokenImplementation","methodName","console","warn","getLoggerBuilder","setApp","detectUser","build","logAndPass","text","data","logger","debug","RegistrationSteps","freeze","READY","REGISTRATION","NAMING","PERSIST","components","NcButton","NcTextField","props","httpWarning","Boolean","isHttps","type","default","isLocalhost","setup","credential","step","watch","$nextTick","$refs","nameInput","focus","methods","start","confirmPassword","async","url","generateUrl","axios","get","options","optionsJSON","useAutoRegister","publicKey","challenge","user","excludeCredentials","map","createOptions","mediation","navigator","credentials","create","err","error","AbortSignal","authenticatorSelection","requireResidentKey","userVerification","pubKeyCredParams","filter","param","effectiveDomain","location","hostname","test","rp","byteLength","identifyRegistrationError","rawId","response","responsePublicKeyAlgorithm","responsePublicKey","responseAuthenticatorData","getTransports","getPublicKeyAlgorithm","getPublicKey","_publicKey","getAuthenticatorData","attestationObject","clientDataJSON","publicKeyAlgorithm","authenticatorData","clientExtensionResults","getClientExtensionResults","authenticatorAttachment","registerWebAuthn","e","isAxiosError","t","startRegistration","showError","submit","then","saveRegistrationData","reset","catch","device","post","JSON","stringify","finishRegistration","info","$emit","registrationData","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","attrs","on","_v","_s","staticClass","$event","preventDefault","apply","arguments","ref","NcActionButton","NcActions","required","sortByName","sortBy","AddDevice","Device","NcNoteCard","initialDevices","Array","supportsWebauthn","browserSupportsWebAuthn","devices","computed","sortedDevices","deviceAdded","push","deleteDevice","delete","removeRegistration","d","_l","key","_e","__webpack_nonce__","OC","requestToken","Vue","prototype","extend","WebAuthnSection","propsData","loadState","window","protocol","$mount","___CSS_LOADER_EXPORT___","module","baseCreate","baseLodash","LazyWrapper","__wrapped__","__actions__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","exports","LodashWrapper","chainAll","__chain__","__index__","__values__","baseForOwn","baseEach","createBaseEach","arrayPush","isFlattenable","baseFlatten","array","depth","predicate","isStrict","result","index","baseFor","keys","object","iteratee","isArrayLike","collection","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","identity","isArray","iteratees","orders","other","metaMap","baseSetData","func","set","comparer","sort","isSymbol","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","nativeMax","Math","max","args","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","holdersIndex","rightIndex","rightLength","offset","placeholder","eachFunc","fromRight","iterable","createCtor","root","bitmask","thisArg","isBind","Ctor","wrapper","isObject","thisBinding","createHybrid","createRecurry","getHolder","replaceHolders","arity","composeArgs","composeArgsRight","countHolders","reorder","partialsRight","holdersRight","argPos","ary","isAry","isBindKey","isFlip","holdersCount","newHolders","fn","reverse","isLaziable","setData","setWrapToString","wrapFunc","isCurry","newData","createBind","createCurry","createPartial","getData","mergeData","toInteger","TypeError","flatten","overRest","setToString","noop","realNames","hasOwnProperty","call","otherFunc","reWrapDetails","reSplitDetails","source","match","split","reWrapComment","details","lastIndex","join","Symbol","isArguments","spreadableSymbol","isConcatSpreadable","getFuncName","lodash","funcName","PLACEHOLDER","nativeMin","min","srcBitmask","newBitmask","isCommon","isCombo","WeakMap","copyArray","isIndex","indexes","arrLength","oldArray","resIndex","shortOut","getWrapDetails","insertWrapDetails","updateWrapDetails","reference","arrayEach","arrayIncludes","wrapFlags","pair","clone","createWrap","n","guard","curry","mapping","fallbackHolder","baseAry","a","b","cloneArray","wrapImmutable","cloner","baseConvert","util","isLib","isObj","config","cap","fixed","immutable","rearg","defaultHolder","forceCurry","forceFixed","forceRearg","pristine","runInContext","helpers","assign","forEach","isError","isFunction","isWeakMap","toPath","each","aryMethodKeys","aryMethod","wrappers","castArray","mixin","pairs","nthArg","context","castFixed","skipFixed","methodSpread","otherArgs","slice","flatSpread","castRearg","skipRearg","methodRearg","aryRearg","cloneByPath","path","nested","createConverter","realName","aliasToReal","remap","oldOptions","newUtil","newFunc","newOptions","overArg","transform","wrap","wrapped","mutate","createCloner","aryKey","otherName","afterRearg","castCurry","iterateeRearg","baseArity","iterateeAry","castCap","convert","_","realToAlias","alias","baseGetTag","isObjectLike","isPlainObject","tag","getTag","baseClone","flatRest","baseOrderBy","baseRest","isIterateeCall","toNumber","INFINITY","toFinite","remainder","stringToPath","toKey","toString","wrapperClone","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","getter","__esModule","definition","o","f","chunkId","Promise","all","reduce","promises","u","g","Function","obj","prop","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","target","head","appendChild","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","tagName","toUpperCase","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}rn/simplewebauthn/browser-13.1.0'>dependabot/npm_and_yarn/simplewebauthn/browser-13.1.0 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/api.php
blob: 0f9347e34c6b6e06822d157cf3723d9f26e77663 (plain)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437