{"version":3,"file":"902.314275ce129ce5597f22.js","mappings":"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","sources":["webpack://nuance/./node_modules/decode-uri-component/index.js","webpack://nuance/./node_modules/filter-obj/index.js","webpack://nuance/./node_modules/split-on-first/index.js","webpack://nuance/./node_modules/query-string/base.js","webpack://nuance/./node_modules/query-string/index.js"],"sourcesContent":["const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","import decodeComponent from 'decode-uri-component';\nimport {includeKeys} from 'filter-obj';\nimport splitOnFirst from 'split-on-first';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: decode(value, options).split(options.arrayFormatSeparator);\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options, type) {\n\tif (type === 'string' && typeof value === 'string') {\n\t\treturn value;\n\t}\n\n\tif (typeof type === 'function' && typeof value === 'string') {\n\t\treturn type(value);\n\t}\n\n\tif (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\treturn value.toLowerCase() === 'true';\n\t}\n\n\tif (type === 'number' && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\ttypes: Object.create(null),\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null && options.types[key] !== 'string') {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tconst type = options.types[key] ? options.types[key].replace('[]', '') : undefined;\n\t\t\t\tvalue[key2] = parseValue(value2, options, type);\n\t\t\t}\n\t\t} else if (typeof value === 'object' && value !== null && options.types[key] === 'string') {\n\t\t\treturnValue[key] = Object.values(value).join(options.arrayFormatSeparator);\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options, options.types[key]);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n"],"names":["token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","length","left","slice","right","Array","prototype","concat","call","decode","input","tokens","match","i","decodeUriComponent","encodedURI","TypeError","replaceMap","exec","result","entries","Object","keys","key","replace","customDecodeURIComponent","includeKeys","object","predicate","isArray","descriptor","getOwnPropertyDescriptor","enumerable","defineProperty","Reflect","ownKeys","splitOnFirst","string","separator","separatorIndex","indexOf","isNullOrUndefined","value","strictUriEncode","encodeURIComponent","replaceAll","x","charCodeAt","toString","toUpperCase","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","options","strict","keysSorter","sort","a","b","Number","map","removeHash","hashStart","parseValue","type","parseBooleans","toLowerCase","isNaN","trim","parseNumbers","extract","queryStart","parse","query","arrayFormat","arrayFormatSeparator","types","create","formatter","accumulator","undefined","includes","isEncodedArray","newValue","item","test","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","key2","value2","values","reduce","Boolean","stringify","shouldFilter","skipNull","skipEmptyString","index","keyValueSeparator","encoderForArrayFormat","objectCopy","filter","parseUrl","url","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryString","getHash","urlObjectForFragmentEncode","URL","pick","exclude"],"sourceRoot":""}