From 1f7c21d630440f80a941da3d28517889cacc5268 Mon Sep 17 00:00:00 2001 From: Stanescu Eduard-Dan Date: Fri, 2 Aug 2024 10:54:21 +0300 Subject: [PATCH] Update version to 4.1.1 --- dist/elmahio.js | 2 +- dist/elmahio.js.map | 2 +- dist/elmahio.min.js | 4 +- dist/elmahio.min.js.map | 2 +- elmah.io.javascript.nuspec | 2 +- package-lock.json | 8240 ++++++++++++++++++------------------ package.json | 5 +- src/elmahio.js | 2 +- 8 files changed, 4050 insertions(+), 4209 deletions(-) diff --git a/dist/elmahio.js b/dist/elmahio.js index e27e1d4..eafaca0 100644 --- a/dist/elmahio.js +++ b/dist/elmahio.js @@ -1,5 +1,5 @@ /*! - * elmah.io Javascript Logger - version 4.1.0 + * elmah.io Javascript Logger - version 4.1.1 * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io */ (function(root, factory) { diff --git a/dist/elmahio.js.map b/dist/elmahio.js.map index cdf2ac4..f97add2 100644 --- a/dist/elmahio.js.map +++ b/dist/elmahio.js.map @@ -1 +1 @@ -{"version":3,"names":[],"mappings":"","sources":["elmahio.js"],"sourcesContent":["/*!\n * elmah.io Javascript Logger - version 4.1.0\n * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io\n */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Elmahio = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n //\n // ==== STACKFRAME ====\n //\n\n var StackFrame = (function () {\n \"use strict\";\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = [\"isConstructor\", \"isEval\", \"isNative\", \"isToplevel\"];\n var numericProps = [\"columnNumber\", \"lineNumber\"];\n var stringProps = [\"fileName\", \"functionName\", \"source\"];\n var arrayProps = [\"args\"];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this[\"set\" + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== \"[object Array]\") {\n throw new TypeError(\"Args must be an Array\");\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError(\"Eval Origin must be an Object or StackFrame\");\n }\n },\n toString: function () {\n var functionName = this.getFunctionName() || \"{anonymous}\";\n var args = \"(\" + (this.getArgs() || []).join(\",\") + \")\";\n var fileName = this.getFileName() ? \"@\" + this.getFileName() : \"\";\n var lineNumber = _isNumber(this.getLineNumber()) ? \":\" + this.getLineNumber() : \"\";\n var columnNumber = _isNumber(this.getColumnNumber()) ? \":\" + this.getColumnNumber() : \"\";\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf(\"(\");\n var argsEndIndex = str.lastIndexOf(\")\");\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(\",\");\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf(\"@\") === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, \"\");\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype[\"get\" + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype[\"set\" + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype[\"get\" + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype[\"set\" + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + \" must be a Number\");\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype[\"get\" + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype[\"set\" + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n })();\n\n //\n // ==== ERROR STACK PARSER ====\n //\n\n var ErrorStackParser = (function () {\n 'use strict';\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n })();\n\n //\n // ==== STACKTRACE-GPS ====\n //\n\n var SourceMap = function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={exports:{},id:t,loaded:!1};return e[t].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.m=e,r.c=n,r.p=\"\",r(0)}([function(e,n,r){var t=r(1),o=r(2),i=r(3).ArraySet,a=r(4),s=r(6).quickSort;function u(e){var n=e;return\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\"))),null!=n.sections?new c(n):new l(n)}function l(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sources\"),a=t.getArg(n,\"names\",[]),s=t.getArg(n,\"sourceRoot\",null),u=t.getArg(n,\"sourcesContent\",null),l=t.getArg(n,\"mappings\"),g=t.getArg(n,\"file\",null);if(r!=this._version)throw new Error(\"Unsupported version: \"+r);o=o.map(String).map(t.normalize).map(function(e){return s&&t.isAbsolute(s)&&t.isAbsolute(e)?t.relative(s,e):e}),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(o,!0),this.sourceRoot=s,this.sourcesContent=u,this._mappings=l,this.file=g}function g(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function c(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sections\");if(r!=this._version)throw new Error(\"Unsupported version: \"+r);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=o.map(function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var n=t.getArg(e,\"offset\"),r=t.getArg(n,\"line\"),o=t.getArg(n,\"column\");if(r=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a];else for(var l=s.originalColumn;s&&s.originalLine===n&&s.originalColumn==l;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a]}return i},n.SourceMapConsumer=u,l.prototype=Object.create(u.prototype),l.prototype.consumer=u,l.fromSourceMap=function(e){var n=Object.create(l.prototype),r=n._names=i.fromArray(e._names.toArray(),!0),o=n._sources=i.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file;for(var a=e._mappings.toArray().slice(),u=n.__generatedMappings=[],c=n.__originalMappings=[],p=0,h=a.length;p1&&(r.source=d+i[1],d+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+i[3],f=r.originalColumn,i.length>4&&(r.name=m+i[4],m+=i[4])),L.push(r),\"number\"==typeof r.originalLine&&y.push(r)}s(L,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=L,s(y,t.compareByOriginalPositions),this.__originalMappings=y},l.prototype._findMapping=function(e,n,r,t,i,a){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[t]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[t]);return o.search(e,n,i,a)},l.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=t.getArg(o,\"source\",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=t.join(this.sourceRoot,i)));var a=t.getArg(o,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:i,line:t.getArg(o,\"originalLine\",null),column:t.getArg(o,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},l.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=t.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=t.urlParse(this.sourceRoot))){var o=e.replace(/^file:\\/\\//,\"\");if(\"file\"==r.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!r.path||\"/\"==r.path)&&this._sources.has(\"/\"+e))return this.sourcesContent[this._sources.indexOf(\"/\"+e)]}if(n)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var n=t.getArg(e,\"source\");if(null!=this.sourceRoot&&(n=t.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var r={source:n=this._sources.indexOf(n),originalLine:t.getArg(e,\"line\"),originalColumn:t.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",t.compareByOriginalPositions,t.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:t.getArg(i,\"generatedLine\",null),column:t.getArg(i,\"generatedColumn\",null),lastColumn:t.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=l,c.prototype=Object.create(u.prototype),c.prototype.constructor=u,c.prototype._version=3,Object.defineProperty(c.prototype,\"sources\",{get:function(){for(var e=[],n=0;n=0;g--)\".\"===(a=u[g])?u.splice(g,1):\"..\"===a?l++:l>0&&(\"\"===a?(u.splice(g+1,l),l=0):(u.splice(g,2),l--));return\"\"===(r=u.join(\"/\"))&&(r=s?\"/\":\".\"),t?(t.path=r,i(t)):r}n.urlParse=o,n.urlGenerate=i,n.normalize=a,n.join=function(e,n){\"\"===e&&(e=\".\"),\"\"===n&&(n=\".\");var r=o(n),s=o(e);if(s&&(e=s.path||\"/\"),r&&!r.scheme)return s&&(r.scheme=s.scheme),i(r);if(r||n.match(t))return n;if(s&&!s.host&&!s.path)return s.host=n,i(s);var u=\"/\"===n.charAt(0)?n:a(e.replace(/\\/+$/,\"\")+\"/\"+n);return s?(s.path=u,i(s)):u},n.isAbsolute=function(e){return\"/\"===e.charAt(0)||!!e.match(r)},n.relative=function(e,n){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==n.indexOf(e+\"/\");){var t=e.lastIndexOf(\"/\");if(t<0)return n;if((e=e.slice(0,t)).match(/^([^\\/]+:\\/)?\\/*$/))return n;++r}return Array(r+1).join(\"../\")+n.substr(e.length+1)};var s=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function g(e,n){return e===n?0:e>n?1:-1}n.toSetString=s?u:function(e){return l(e)?\"$\"+e:e},n.fromSetString=s?u:function(e){return l(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,r){var t=e.source-n.source;return 0!==t?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)||r?t:0!=(t=e.generatedColumn-n.generatedColumn)?t:0!=(t=e.generatedLine-n.generatedLine)?t:e.name-n.name},n.compareByGeneratedPositionsDeflated=function(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t?t:0!=(t=e.generatedColumn-n.generatedColumn)||r?t:0!=(t=e.source-n.source)?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)?t:e.name-n.name},n.compareByGeneratedPositionsInflated=function(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-n.generatedColumn)?r:0!==(r=g(e.source,n.source))?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)?r:g(e.name,n.name)}},function(e,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,r,t,o){if(0===r.length)return-1;var i=function e(r,t,o,i,a,s){var u=Math.floor((t-r)/2)+r,l=a(o,i[u],!0);return 0===l?u:l>0?t-u>1?e(u,t,o,i,a,s):s==n.LEAST_UPPER_BOUND?t1?e(r,u,o,i,a,s):s==n.LEAST_UPPER_BOUND?u:r<0?-1:r}(-1,r.length,e,r,t,o||n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===t(r[i],r[i-1],!0);)--i;return i}},function(e,n,r){var t=r(1),o=Object.prototype.hasOwnProperty;function i(){this._array=[],this._set=Object.create(null)}i.fromArray=function(e,n){for(var r=new i,t=0,o=e.length;t=0&&e>>=5)>0&&(n|=32),o+=t.encode(n)}while(i>0);return o},n.decode=function(e,n,r){var o,i,a,s,u=e.length,l=0,g=0;do{if(n>=u)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&i),l+=(i&=31)<>1,1==(1&a)?-s:s),r.rest=n}},function(e,n){var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");n.encode=function(e){if(0<=e&&e= 200 && req.status < 300 || url.substr(0, 7) === \"file://\" && req.responseText) {\n resolve(req.responseText);\n } else {\n reject(new Error(\"HTTP status: \" + req.status + \" retrieving \" + url));\n }\n }\n };\n req.send();\n });\n }\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== \"undefined\" && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error(\"You must supply a polyfill for window.atob in this environment\");\n }\n }\n function _parseJson(string) {\n if (typeof JSON !== \"undefined\" && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error(\"You must supply a polyfill for JSON.parse in this environment\");\n }\n }\n function _findFunctionName(source, lineNumber) {\n var syntaxes = [ // {name} = function ({args}) TODO args capture\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/, // function {name}({args}) m[1]=name m[2]=args\n /function\\s+([^('\"`]*?)\\s*\\(([^)]*)\\)/, // {name} = eval()\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/, // fn_name() {\n /\\b(?!(?:if|for|switch|while|with|catch)\\b)(?:(?:static)\\s+)?(\\S+)\\s*\\(.*?\\)\\s*\\{/, // {name} = () => {\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*\\(.*?\\)\\s*=>/];\n var lines = source.split(\"\\n\");\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = \"\";\n var maxLines = Math.min(lineNumber, 20);\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf(\"//\");\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n if (line) {\n code = line + code;\n var len = syntaxes.length;\n for (var index = 0; index < len; index++) {\n var m = syntaxes[index].exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n }\n return undefined;\n }\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== \"function\" || typeof Object.create !== \"function\") {\n throw new Error(\"Unable to consume source maps in older browsers\");\n }\n }\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== \"object\") {\n throw new TypeError(\"Given StackFrame is not an object\");\n } else if (typeof stackframe.fileName !== \"string\") {\n throw new TypeError(\"Given file name is not a String\");\n } else if (typeof stackframe.lineNumber !== \"number\" || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) {\n throw new TypeError(\"Given line number must be a positive integer\");\n } else if (typeof stackframe.columnNumber !== \"number\" || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) {\n throw new TypeError(\"Given column number must be a non-negative integer\");\n }\n return true;\n }\n function _findSourceMappingURL(source) {\n var sourceMappingUrlRegExp = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/gm;\n var lastSourceMappingUrl;\n var matchSourceMappingUrl;\n while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) {\n // jshint ignore:line\n lastSourceMappingUrl = matchSourceMappingUrl[1];\n }\n if (lastSourceMappingUrl) {\n return lastSourceMappingUrl;\n } else {\n throw new Error(\"sourceMappingURL not found\");\n }\n }\n function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) {\n return new Promise(function (resolve, reject) {\n var loc = sourceMapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n if (loc.source) {\n // cache mapped sources\n var mappedSource = sourceMapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(// given stackframe and source location, update stackframe\n new StackFrame({\n functionName: loc.name || stackframe.functionName,\n args: stackframe.args,\n fileName: loc.source,\n lineNumber: loc.line,\n columnNumber: loc.column\n }));\n } else {\n reject(new Error(\"Could not get original source for given stackframe and source map\"));\n }\n });\n }\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer}\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n this.sourceCache = opts.sourceCache || {};\n this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {};\n this.ajax = opts.ajax || _xdr;\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function (resolve, reject) {\n var isDataUrl = location.substr(0, 5) === \"data:\";\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error(\"Cannot make network requests in offline mode\"));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp = /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error(\"The encoding of the inline sourcemap is not supported\"));\n }\n } else {\n var xhrPromise = this.ajax(location, {\n method: \"get\"\n });\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n /**\n * Creating SourceMapConsumers is expensive, so this wraps the creation of a\n * SourceMapConsumer in a per-instance cache.\n *\n * @param {String} sourceMappingURL = URL to fetch source map from\n * @param {String} defaultSourceRoot = Default source root for source map if undefined\n * @returns {Promise} that resolves a SourceMapConsumer\n */\n this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) {\n return new Promise(function (resolve, reject) {\n if (this.sourceMapConsumerCache[sourceMappingURL]) {\n resolve(this.sourceMapConsumerCache[sourceMappingURL]);\n } else {\n var sourceMapConsumerPromise = new Promise(function (resolve, reject) {\n return this._get(sourceMappingURL).then(function (sourceMapSource) {\n if (typeof sourceMapSource === \"string\") {\n sourceMapSource = _parseJson(sourceMapSource.replace(/^\\)\\]\\}'/, \"\"));\n }\n if (typeof sourceMapSource.sourceRoot === \"undefined\") {\n sourceMapSource.sourceRoot = defaultSourceRoot;\n }\n resolve(new SourceMap.SourceMapConsumer(sourceMapSource));\n }, reject);\n }.bind(this));\n this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise;\n resolve(sourceMapConsumerPromise);\n }\n }.bind(this));\n };\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function (resolve, reject) {\n this.getMappedLocation(stackframe).then(function (mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n this.findFunctionName(mappedStackFrame).then(resolve, resolveMappedStackFrame)[\"catch\"](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame({\n functionName: guessedFunctionName,\n args: stackframe.args,\n fileName: stackframe.fileName,\n lineNumber: lineNumber,\n columnNumber: columnNumber\n }));\n } else {\n resolve(stackframe);\n }\n }, reject)[\"catch\"](reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function (source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === \"data:\";\n var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf(\"/\") + 1);\n if (sourceMappingURL[0] !== \"/\" && !isDataUrl && !/^https?:\\/\\/|^\\/\\//i.test(sourceMappingURL)) {\n sourceMappingURL = defaultSourceRoot + sourceMappingURL;\n }\n return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot).then(function (sourceMapConsumer) {\n return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache).then(resolve)[\"catch\"](function () {\n resolve(stackframe);\n });\n });\n }.bind(this), reject)[\"catch\"](reject);\n }.bind(this));\n };\n };\n })(SourceMap, StackFrame);\n\n //\n // Shared Variables\n //\n\n var myScript = null;\n var scriptFile = document.getElementsByTagName('script');\n \n for (var i = 0; i < scriptFile.length; ++i) {\n if(isMe(scriptFile[i])) {\n myScript = scriptFile[i];\n }\n }\n\n var queryString = myScript != null ? myScript.src.replace(/^[^\\?]+\\??/, '') : null;\n var params = parseQuery(queryString);\n var paramsLength = objectLength(params);\n\n var debugSettings = {\n label: ' elmah.io debugger : On ',\n labelCSS: 'background: #06a89c; color: #ffffff; display: inline-block; font-size: 14px;',\n successCSS: 'background: #d4edda; color: #155724; display: inline-block; font-size: 13px;',\n errorCSS: 'background: #f8d7da; color: #721c24; display: inline-block; font-size: 13px;',\n warningCSS: 'background: #fff3cd; color: #856404; display: inline-block; font-size: 13px;',\n lightCSS: 'background: #e2e3e5; color: #383d41; display: inline-block; font-size: 13px;'\n };\n\n var defaults = {\n apiKey: null,\n logId: null,\n debug: false,\n application: null,\n filter: null,\n captureConsoleMinimumLevel: 'none',\n breadcrumbs: false,\n breadcrumbsNumber: 10\n };\n\n var breadcrumbsDelay = 100;\n\n //\n // Shared Methods\n //\n\n var extend = function () {\n\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n // If property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n\n };\n\n //\n // Helpers\n //\n\n function isMe(scriptElem){\n if(scriptElem.getAttribute('src') != null) {\n return scriptElem.getAttribute('src').indexOf('elmahio') != -1 && scriptElem.getAttribute('src').indexOf('apiKey') != -1 && scriptElem.getAttribute('src').indexOf('logId') != -1;\n }\n }\n\n function isInt(n){\n return Number(n) === n && n % 1 === 0;\n }\n\n function isFloat(n){\n return Number(n) === n && n % 1 !== 0;\n }\n\n function parseQuery(query) {\n var Params = new Object();\n if (!query) return Params; // return empty object\n var Pairs = query.split(/[;&]/);\n for (var i = 0; i < Pairs.length; i++) {\n var KeyVal = Pairs[i].split('=');\n if (!KeyVal || KeyVal.length !== 2) continue;\n var key = unescape(KeyVal[0]);\n var val = unescape(KeyVal[1]);\n val = val.replace(/\\+/g, ' ');\n Params[key] = val;\n }\n return Params;\n }\n\n function objectLength(obj) {\n var size = 0, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) size++;\n }\n return size;\n };\n\n function getSearchParameters() {\n var prmstr = window.location.search.substr(1);\n return prmstr !== null && prmstr !== \"\" ? transformToAssocArray(prmstr) : {};\n }\n\n function transformToAssocArray(prmstr) {\n var params = [];\n var prmarr = prmstr.split(\"&\");\n for (var i = 0; i < prmarr.length; i++) {\n var tmparr = prmarr[i].split(\"=\");\n params.push({\n 'key': tmparr[0],\n 'value': tmparr[1]\n });\n }\n return params;\n }\n\n function merge_objects(obj1, obj2) {\n var obj3 = {};\n for (var attrname1 in obj1) {\n obj3[attrname1] = obj1[attrname1];\n }\n for (var attrname2 in obj2) {\n obj3[attrname2] = obj2[attrname2];\n }\n\n return obj3;\n }\n\n function isString(what) {\n return Object.prototype.toString.call(what) === '[object String]';\n }\n\n function cssSelectorString(elem) {\n var MAX_TRAVERSE_HEIGHT = 5,\n MAX_OUTPUT_LEN = 80,\n out = [],\n height = 0,\n len = 0,\n separator = ' > ',\n sepLength = separator.length,\n nextStr;\n while (elem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = htmlElementAsString(elem);\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n elem = elem.parentNode;\n }\n return out.reverse().join(separator);\n }\n \n function htmlElementAsString(elem) {\n var out = [], className, classes, key, attr, i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push('#' + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push('.' + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push('[' + key + '=\"' + attr + '\"]');\n }\n }\n return out.join('');\n }\n\n var parseHash = function(url) {\n return url.split('#')[1] || '';\n };\n\n //\n // Constructor\n //\n\n var Constructor = function (options) {\n\n //\n // Variables\n //\n\n var publicAPIs = {};\n var settings;\n var breadcrumbs = [];\n var lastHref = window.location && window.location.href;\n\n function getPayload() {\n var payload = {\n \"url\": document.location.pathname || '/',\n \"application\": settings.application\n };\n\n var payload_data = [];\n\n if (document.documentMode) payload_data.push({ \"key\": \"Document-Mode\", \"value\": document.documentMode });\n if (window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth) payload_data.push({ \"key\": \"Browser-Width\", \"value\": window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth });\n if (window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight) payload_data.push({ \"key\": \"Browser-Height\", \"value\": window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight });\n if ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type) !== undefined) payload_data.push({ \"key\": \"Screen-Orientation\", \"value\": ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type).split(\"-\"))[0] });\n if (screen.width) payload_data.push({ \"key\": \"Screen-Width\", \"value\": screen.width });\n if (screen.height) payload_data.push({ \"key\": \"Screen-Height\", \"value\": screen.height });\n if (screen.colorDepth) payload_data.push({ \"key\": \"Color-Depth\", \"value\": screen.colorDepth });\n payload_data.push({ \"key\": \"X-ELMAHIO-SEARCH-isClientside\", \"value\": \"true\" });\n\n payload.data = payload_data;\n\n var payload_serverVariables = [];\n if (navigator.language) payload_serverVariables.push({ \"key\": \"User-Language\", \"value\": navigator.language });\n if (navigator.userAgent) payload_serverVariables.push({ \"key\": \"User-Agent\", \"value\": navigator.userAgent });\n if (document.referrer) payload_serverVariables.push({ \"key\": \"Referer\", \"value\": document.referrer });\n if (document.location.protocol === \"https:\") payload_serverVariables.push({ \"key\": \"HTTPS\", \"value\": 'on' });\n if (document.location.hostname) payload_serverVariables.push({ \"key\": \"Host\", \"value\": document.location.hostname });\n\n payload.serverVariables = payload_serverVariables;\n\n return payload;\n }\n\n function confirmResponse(status, response) {\n if (settings.debug) {\n if (status === 'error') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created ', debugSettings.lightCSS, debugSettings.errorCSS);\n } else if (status === 'success') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2714 ' + response + ' at ' + new Date().toLocaleString() + ' ', debugSettings.lightCSS, debugSettings.successCSS);\n } else {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created. Title should not be undefined, null or empty ! ', debugSettings.lightCSS, debugSettings.errorCSS);\n }\n }\n }\n\n function generateErrorObject(error) {\n return {\n error: error,\n type: error.name,\n message: error.message,\n inner: error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? generateErrorObject(error.cause) : []\n }\n }\n\n function getErrorTypeSource(error) {\n var object = generateErrorObject(error);\n var type = null;\n var source = null;\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n var stack = obj[key] ? ErrorStackParser.parse(obj[key]) : null;\n source = stack && stack.length > 0 ? stack[0].fileName : null;\n }\n }\n if (key === \"type\") {\n type = obj[key];\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n return { type: type, source: source };\n }\n\n function GenerateNewFrames(errorMessage, newFrames, cause, fileName) {\n var lastInnerFileName = null;\n\n newFrames.forEach(function(stackFrame, i) {\n if (stackFrame.functionName) {\n var fn = stackFrame.functionName + ' ';\n } else {\n var fn = '';\n }\n var stackString = ' at ' + fn + '(' + stackFrame.fileName + ':' + stackFrame.lineNumber + ':' + stackFrame.columnNumber + ')';\n newFrames[i] = stackString;\n if (i === 0) {\n lastInnerFileName = stackFrame.fileName || null;\n }\n });\n \n if (!cause) {\n newFrames.unshift(errorMessage);\n } else {\n newFrames.unshift(\"\\nCaused by: \" + errorMessage);\n }\n\n if (fileName) {\n return {\n newFrames: newFrames,\n fileName: lastInnerFileName\n }\n }\n \n return newFrames;\n }\n\n function GPSPromise(stackframes) {\n if (stackframes) {\n var gps = new StackTraceGPS();\n\n return new Promise(function(resolve) {\n resolve(Promise.all(stackframes.map(function(sf) {\n return new Promise(function(resolve) {\n function resolveOriginal() {\n resolve(sf);\n }\n gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);\n });\n })));\n });\n }\n\n return new Promise(function(resolve) {\n return resolve([]);\n });\n }\n\n function stackGPS(error, xhr, jsonData) {\n var object = generateErrorObject(error);\n var messagesArr = [];\n var promiseArr = [];\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n messagesArr.push(obj[key].toString().split(\"\\n\")[0]);\n promiseArr.push(GPSPromise(ErrorStackParser.parse(obj[key])));\n }\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n Promise.all(promiseArr).then((values) => {\n values.forEach(function(stackframe, index) {\n if (index === 0) {\n jsonData.detail = GenerateNewFrames(messagesArr[index], stackframe, false).join(\"\\n\");\n } else {\n jsonData.detail += GenerateNewFrames(messagesArr[index], stackframe, true).join(\"\\n\");\n }\n });\n }).then(function() {\n xhr.send(JSON.stringify(jsonData));\n });\n }\n\n function stackString(error) {\n \tvar typeOF = typeof error.error;\n \tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \treturn typeOFCapitalized + ': ' + error.error + '\\n' + ' at ' + '(' + error.source + ':' + error.lineno + ':' + error.colno + ')';\n }\n\n function manipulateStack (errorStack, severity, message) {\n var stack = [];\n for (var i = 0; i < errorStack.length; i++) {\n if(errorStack[i] === \"Error\") {\n stack.push(severity + \": \" + message);\n }\n if(!errorStack[i].match(/elmahio.js|elmahio.min.js/g) && errorStack[i] !== \"Error\") {\n stack.push(errorStack[i]);\n }\n }\n return stack.join('\\n');\n }\n\n function guid() {\n var s4 = function() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1).toUpperCase();\n }\n return s4() + s4();\n }\n\n function inspectorObj (error, fullError) {\n var obj = {};\n obj.Id = guid();\n\n if (typeof error === \"object\" && error !== null) {\n var stack = error && objectLength(error.stack) !== 0 && typeof error === \"object\" ? ErrorStackParser.parse(error) : '';\n obj.Type = error.name || null;\n obj.Message = error.message || null;\n obj.StackTrace = objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n obj.Source = stack && stack.length > 0 ? stack[0].fileName : null;\n obj.Inners = error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? [inspectorObj(error.cause)] : [];\n\n if (error.cause && obj.Inners instanceof Array && obj.Inners.length === 0) {\n if (typeof error.cause === \"number\" || typeof error.cause === \"string\" || typeof error.cause === \"boolean\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause }];\n }\n if (typeof error.cause === \"bigint\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() + \"n\" }];\n }\n if (typeof error.cause === \"symbol\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() }];\n }\n if (typeof error.cause === \"object\") {\n if (!(Object.keys(obj).length === 0 && obj.constructor === Object)) {\n let objEntries = [];\n for (const [key, value] of Object.entries(error.cause)) {\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") {\n objEntries.push({ key: key, value: value });\n }\n if (typeof value === \"bigint\") {\n objEntries.push({ key: key, value: value.toString() + \"n\" });\n }\n if (typeof value === \"symbol\") {\n objEntries.push({ key: key, value: value.toString() });\n }\n }\n obj.ExceptionSpecific = objEntries;\n }\n }\n }\n\n } else {\n obj.Type = typeof fullError.error || null;\n obj.Message = fullError.message || null;\n obj.StackTrace = stackString(fullError);\n obj.Source = fullError.source || null;\n obj.Inners = [];\n }\n\n return obj;\n }\n\n function inspectorGPS (error) {\n var inspectorObject = inspectorObj(error);\n var promiseArr = [];\n\n function iterateObj(obj, final) {\n Object.keys(obj).forEach(function(key){\n if (key === \"StackTrace\") {\n if (!final) {\n obj[key] = GPSPromise(obj[key]);\n promiseArr.push(obj[key]);\n } else {\n obj[key].then(result => {\n var generateNewFrames = GenerateNewFrames(obj.Type + ': ' + obj.Message, result, false, true);\n obj[key] = generateNewFrames.newFrames.join(\"\\n\");\n obj['Source'] = generateNewFrames.fileName || null;\n });\n }\n }\n if (key === \"Inners\" && obj[key].length !== 0) {\n iterateObj(obj[key][0], final);\n }\n });\n }\n\n iterateObj(inspectorObject, false);\n\n return new Promise(function(resolve, reject) {\n Promise.all(promiseArr).then(function(values) {\n iterateObj(inspectorObject, true);\n }).then(function() {\n resolve(inspectorObject);\n });\n });\n }\n\n // Private methods\n\n var recordBreadcrumb = function(obj) {\n var crumb = merge_objects({'dateTime': new Date().toISOString()}, obj),\n breadcrumbs_number = 10;\n \n breadcrumbs.push(crumb);\n \n if(options.breadcrumbsNumber >= 0 && typeof options.breadcrumbsNumber === \"number\" ) {\n if(options.breadcrumbsNumber > 25) {\n breadcrumbs_number = 25;\n } else if(options.breadcrumbsNumber <= 25) {\n breadcrumbs_number = options.breadcrumbsNumber;\n }\n }\n \n if (breadcrumbs.length > breadcrumbs_number) {\n breadcrumbs.shift();\n }\n }\n\n var breadcrumbClickEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Click\",\n \"message\": target\n });\n }\n\n var breadcrumbFormSubmitEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Form submit\",\n \"message\": target\n });\n }\n\n var breadcrumbWindowEventHandler = function(evt) {\n var type = evt.type,\n message = null;\n\n switch (type) {\n case \"load\":\n message = \"Page loaded\"; break;\n case \"DOMContentLoaded\":\n message = \"DOMContentLoaded\"; break;\n case \"pageshow\":\n message = \"Page shown\"; break;\n case \"pagehide\":\n message = \"Page hidden\"; break;\n case \"popstate\":\n message = \"Navigated from: \" + lastHref + \" to: \" + window.location.href; break;\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": message\n });\n }\n\n var breadcrumbHashChangeEventHandler = function(evt) {\n var oldURL = evt.oldURL,\n newURL = evt.newURL,\n from = null,\n to = null,\n message = null;\n\n if (oldURL && newURL) {\n from = parseHash(oldURL);\n to = parseHash(newURL);\n message = \"from: '\" + from + \"' to: '\" + to + \"'\";\n } else {\n to = location.hash;\n message = \"to: '\" + to + \"'\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": \"Hash changed \" + message\n });\n }\n\n var breadcrumbXHRHandler = function(evt, method, url) {\n var status = evt && evt.target ? evt.target.status : 0,\n severity = null,\n method = method.toUpperCase(),\n url = url,\n regex = /https:\\/\\/api.elmah.io/g;\n\n if(url.match(regex) == null) { \n if (status > 0 && status < 400) {\n severity = \"Information\";\n } else if (status > 399 && status < 500) {\n severity = \"Warning\";\n } else if (status >= 500) {\n severity = \"Error\";\n }\n\n var statusCode = status > 0 ? \" (\" + status + \")\" : \"\";\n\n recordBreadcrumb({\n \"severity\": severity,\n \"action\": \"Request\",\n \"message\": \"[\" + method + \"] \" + url + statusCode\n });\n }\n }\n\n var sendPayload = function (apiKey, logId, callback, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n error = errorLog,\n send = 1,\n queryParams = getSearchParameters(),\n stack = error.error && objectLength(error.error.stack) !== 0 && typeof error.error === \"object\" ? ErrorStackParser.parse(error.error) : '';\n\n // Ignoring error from an external script\n if (error && error.colno === 0 && error.lineno === 0 && (!stack || stack === '') && error.message && (error.message === \"Script error.\" || error.message === \"Script error\")) {\n\t\t\t if (settings.debug) {\n\t\t\t console.log('%c \\u2BC8 Error log: ' + '%c \\uD83D\\uDEC8 Ignoring error from external script ', debugSettings.lightCSS, debugSettings.warningCSS);\n\t\t\t }\n\t\t\t return;\n\t\t\t}\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"detail\": error.error ? error.error.stack : null,\n \"title\": error.message || 'Unspecified error',\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"severity\": \"Error\",\n \"type\": error.error ? error.error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if error sent is a string and not an object\n // Then create the articifial stacktrace and pass source & type of the error\n if(error.error && (objectLength(error.error.stack) === 0) && typeof jsonData.detail === \"undefined\") {\n \tvar typeOF = typeof errorLog.error;\n \t\t\tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \tjsonData.detail = stackString(errorLog);\n \tjsonData.source = errorLog.source;\n jsonData.title = \"Uncaught \" + typeOFCapitalized + \": \" + errorLog.error;\n }\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error.error && error.error.cause && typeof error.error.cause === \"object\" && error.error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error.error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error.error && typeof error.error === \"object\" && objectLength(error.error.stack) !== 0 && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error.error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error.error, xhr, jsonData);\n });\n\t } else {\n // Add inspector to jsonData\n if (jsonData.detail) {\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(inspectorObj(error.error, errorLog)) });\n }\n\n // send message\n \txhr.send(JSON.stringify(jsonData));\n\t }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendManualPayload = function (apiKey, logId, callback, logType, messageLog, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n type = logType,\n error = errorLog,\n message = messageLog,\n send = 1,\n queryParams = getSearchParameters();\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n if (type !== \"Log\") {\n\n var stack = error && error instanceof Error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n\n var jsonData = {\n \"title\": message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": type,\n \"type\": error ? error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n } else {\n\n var jsonData = error;\n \n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n // If message contains breadcrumbs\n if(jsonData.breadcrumbs && jsonData.breadcrumbs.length > 0) {\n breadcrumbs = breadcrumbs.reverse();\n for (var i = 0; i < breadcrumbs.length; i++) {\n // Add breadcrumbs to jsonData object\n jsonData.breadcrumbs.unshift(breadcrumbs[i]);\n }\n } else {\n jsonData.breadcrumbs = breadcrumbs;\n }\n \n // Reset breadcrumbs\n breadcrumbs = [];\n }\n\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error && error instanceof Error && type !== \"Log\" && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n // send message\n if(jsonData.errorObject && jsonData.errorObject instanceof Error) {\n error = jsonData.errorObject;\n delete jsonData.errorObject;\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n delete jsonData.errorObject;\n xhr.send(JSON.stringify(jsonData));\n }\n }\n\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPayloadFromConsole = function (apiKey, logId, callback, logType, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n message = errorLog.message,\n messageTemplate = errorLog.message,\n type = logType,\n args = Object.values(errorLog.arguments),\n send = 1,\n queryParams = getSearchParameters();\n\n function format(f, args) {\n var formatRegExp = /%[sdif]/g;\n var str = f;\n\n if(args.length > 1) {\n // If message has placeholders (%s, %d, %i, %f), check for arguments and replace them\n if(String(f).match(/%[sdif]/g)) {\n var i = 0;\n str = String(f).replace(formatRegExp, function(x) {\n switch (x) {\n case '%s': i++; return args[i] ? String(args[i]) : '%s';\n case '%d': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%d';\n case '%i': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%i';\n case '%f': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseFloat(args[i]) : 'NaN' : '%f';\n default: return x;\n }\n });\n\n for (var len = args.length, x = args[++i]; i < len; x = args[++i]) {\n if (x === null || typeof x !== 'object') {\n str += ' ' + x;\n } else {\n str += ' ' + String(Object.prototype.toString.call(x));\n }\n }\n } else {\n str = args.join(' ');\n }\n }\n\n return str;\n }\n\n message = format(message, args);\n\n if(typeof message !== \"string\" && message !== undefined){\n message = message.toString();\n }\n\n if(typeof messageTemplate !== \"string\" && messageTemplate !== undefined) {\n messageTemplate = messageTemplate.toString();\n }\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"title\": message,\n \"titleTemplate\": messageTemplate,\n \"detail\": manipulateStack(new Error().stack.split('\\n'), type, message),\n \"severity\": type,\n \"type\": null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n // on message event\n publicAPIs.emit('message', jsonData);\n // send message\n xhr.send(JSON.stringify(jsonData));\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPrefilledLogMessage = function(errorLog) {\n // without error object\n if(!errorLog) return getPayload();\n\n // with error object\n var error = errorLog;\n var stack = error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n var jsonData = {\n \"title\": error.message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": \"Error\",\n \"type\": error ? error.name : null,\n \"errorObject\": error\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n jsonData = merge_objects(jsonData, getPayload());\n \n return jsonData;\n };\n\n // Some public methods\n\n publicAPIs.error = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Error', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.verbose = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Verbose', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.debug = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Debug', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.information = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Information', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.warning = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Warning', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.fatal = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Fatal', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.log = function (obj) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Log', null, obj); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.message = function(error) {\n return sendPrefilledLogMessage(error);\n };\n publicAPIs.addBreadcrumb = function(msg, severity, evt) {\n recordBreadcrumb({\n \"severity\": (severity != undefined && isString(severity)) ? severity : \"Information\",\n \"action\": (evt != undefined && isString(evt)) ? evt : \"Log\",\n \"message\": (msg != undefined && isString(msg)) ? msg : \"This is just a test message.\"\n });\n };\n\n publicAPIs.on = function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n };\n\n publicAPIs.emit = function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n };\n\n publicAPIs.init = function (options) {\n\n // -- Merge options into defaults\n settings = extend(defaults, options || {});\n\n // -- Breadcrumbs\n if (settings.breadcrumbs) {\n // Breadcrumbs - Click & Submit form\n if (document.addEventListener) {\n document.addEventListener('click', breadcrumbClickEventHandler, false);\n document.addEventListener('submit', breadcrumbFormSubmitEventHandler, false);\n } else if (document.attachEvent) {\n document.attachEvent('click', breadcrumbClickEventHandler, false);\n document.attachEvent('submit', breadcrumbFormSubmitEventHandler, false);\n }\n\n // Breadcrumbs - Navigation\n if (window.addEventListener) {\n window.addEventListener('load', breadcrumbWindowEventHandler, false);\n window.addEventListener('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.addEventListener('pageshow', breadcrumbWindowEventHandler, false);\n window.addEventListener('pagehide', breadcrumbWindowEventHandler, false);\n window.addEventListener('hashchange', breadcrumbHashChangeEventHandler, false);\n } else if (window.attachEvent) {\n window.attachEvent('load', breadcrumbWindowEventHandler, false);\n window.attachEvent('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.attachEvent('pageshow', breadcrumbWindowEventHandler, false);\n window.attachEvent('pagehide', breadcrumbWindowEventHandler, false);\n window.attachEvent('hashchange', breadcrumbHashChangeEventHandler, false);\n }\n\n if(window.history && window.history.pushState && window.history.replaceState) {\n var old_onpopstate = window.onpopstate;\n window.onpopstate = function(evt) {\n breadcrumbWindowEventHandler(evt);\n if (old_onpopstate) {\n return old_onpopstate.apply(this, arguments);\n }\n };\n }\n\n // Breadcrumbs - XHR\n if(window.XMLHttpRequest && window.XMLHttpRequest.prototype) {\n // Store a reference to the native method\n var open = XMLHttpRequest.prototype.open;\n \n // Overwrite the native method\n XMLHttpRequest.prototype.open = function(method, url) {\n // Assign an event listener\n this.addEventListener(\"loadend\", function(event) { breadcrumbXHRHandler(event, method, url); }, false);\n // Call the stored reference to the native method\n open.apply(this, arguments);\n };\n }\n }\n\n // -- Log on window error\n window.onerror = function (message, source, lineno, colno, error) {\n var errorLog = {\n 'message': message,\n 'source': source,\n 'lineno': lineno,\n 'colno': colno,\n 'error': error\n };\n \n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Log on window unhandled rejection\n window.onunhandledrejection = function (event) {\n var errorLog = {\n 'message': event.reason && event.reason.message ? event.reason.message : undefined,\n 'error': event.reason && event.reason.message && event.reason.stack ? event.reason : undefined\n };\n\n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Overriding console methods\n // -- Then log messages into the app.elmah.io\n if(options && options.captureConsoleMinimumLevel !== \"none\") {\n\n // If captureConsoleMinimumLevel: info or debug is set (error, warn)\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"warn\" || options.captureConsoleMinimumLevel === \"error\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console errors\n var _error = console.error;\n console.error = function(errMessage){\n var errorLog = {\n \t\t'message': errMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Error', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _error.apply(console, arguments);\n };\n if(options.captureConsoleMinimumLevel !== \"error\") {\n // Log console warnings\n var _warning = console.warn;\n console.warn = function(warnMessage){\n var errorLog = {\n 'message': warnMessage,\n 'arguments': arguments\n }\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Warning', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _warning.apply(console, arguments);\n };\n }\n }\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console info\n var _info = console.info;\n console.info = function(infoMessage){\n var errorLog = {\n \t\t'message': infoMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Information', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _info.apply(console, arguments);\n };\n }\n if(options.captureConsoleMinimumLevel === \"debug\") {\n // Log console debug\n var _debug = console.debug;\n console.debug = function(debugMessage){\n var errorLog = {\n \t\t'message': debugMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Debug', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _debug.apply(console, arguments);\n };\n }\n }\n };\n\n // Initialize the plugin\n publicAPIs.init(options);\n\n if (settings.debug) {\n console.log('%c' + debugSettings.label, debugSettings.labelCSS);\n }\n\n // Return the public APIs\n return publicAPIs;\n\n };\n\n\n //\n // Return the constructor\n //\n\n if (paramsLength && params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n // Immediately-Invoked Function Expression (IIFE)\n return new Constructor;\n } else {\n // UMD Constructor\n return Constructor;\n }\n\n});"],"file":"elmahio.js"} \ No newline at end of file +{"version":3,"names":[],"mappings":"","sources":["elmahio.js"],"sourcesContent":["/*!\n * elmah.io Javascript Logger - version 4.1.1\n * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io\n */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Elmahio = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n //\n // ==== STACKFRAME ====\n //\n\n var StackFrame = (function () {\n \"use strict\";\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = [\"isConstructor\", \"isEval\", \"isNative\", \"isToplevel\"];\n var numericProps = [\"columnNumber\", \"lineNumber\"];\n var stringProps = [\"fileName\", \"functionName\", \"source\"];\n var arrayProps = [\"args\"];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this[\"set\" + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== \"[object Array]\") {\n throw new TypeError(\"Args must be an Array\");\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError(\"Eval Origin must be an Object or StackFrame\");\n }\n },\n toString: function () {\n var functionName = this.getFunctionName() || \"{anonymous}\";\n var args = \"(\" + (this.getArgs() || []).join(\",\") + \")\";\n var fileName = this.getFileName() ? \"@\" + this.getFileName() : \"\";\n var lineNumber = _isNumber(this.getLineNumber()) ? \":\" + this.getLineNumber() : \"\";\n var columnNumber = _isNumber(this.getColumnNumber()) ? \":\" + this.getColumnNumber() : \"\";\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf(\"(\");\n var argsEndIndex = str.lastIndexOf(\")\");\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(\",\");\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf(\"@\") === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, \"\");\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype[\"get\" + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype[\"set\" + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype[\"get\" + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype[\"set\" + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + \" must be a Number\");\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype[\"get\" + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype[\"set\" + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n })();\n\n //\n // ==== ERROR STACK PARSER ====\n //\n\n var ErrorStackParser = (function () {\n 'use strict';\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n })();\n\n //\n // ==== STACKTRACE-GPS ====\n //\n\n var SourceMap = function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={exports:{},id:t,loaded:!1};return e[t].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.m=e,r.c=n,r.p=\"\",r(0)}([function(e,n,r){var t=r(1),o=r(2),i=r(3).ArraySet,a=r(4),s=r(6).quickSort;function u(e){var n=e;return\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\"))),null!=n.sections?new c(n):new l(n)}function l(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sources\"),a=t.getArg(n,\"names\",[]),s=t.getArg(n,\"sourceRoot\",null),u=t.getArg(n,\"sourcesContent\",null),l=t.getArg(n,\"mappings\"),g=t.getArg(n,\"file\",null);if(r!=this._version)throw new Error(\"Unsupported version: \"+r);o=o.map(String).map(t.normalize).map(function(e){return s&&t.isAbsolute(s)&&t.isAbsolute(e)?t.relative(s,e):e}),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(o,!0),this.sourceRoot=s,this.sourcesContent=u,this._mappings=l,this.file=g}function g(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function c(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sections\");if(r!=this._version)throw new Error(\"Unsupported version: \"+r);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=o.map(function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var n=t.getArg(e,\"offset\"),r=t.getArg(n,\"line\"),o=t.getArg(n,\"column\");if(r=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a];else for(var l=s.originalColumn;s&&s.originalLine===n&&s.originalColumn==l;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a]}return i},n.SourceMapConsumer=u,l.prototype=Object.create(u.prototype),l.prototype.consumer=u,l.fromSourceMap=function(e){var n=Object.create(l.prototype),r=n._names=i.fromArray(e._names.toArray(),!0),o=n._sources=i.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file;for(var a=e._mappings.toArray().slice(),u=n.__generatedMappings=[],c=n.__originalMappings=[],p=0,h=a.length;p1&&(r.source=d+i[1],d+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+i[3],f=r.originalColumn,i.length>4&&(r.name=m+i[4],m+=i[4])),L.push(r),\"number\"==typeof r.originalLine&&y.push(r)}s(L,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=L,s(y,t.compareByOriginalPositions),this.__originalMappings=y},l.prototype._findMapping=function(e,n,r,t,i,a){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[t]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[t]);return o.search(e,n,i,a)},l.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=t.getArg(o,\"source\",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=t.join(this.sourceRoot,i)));var a=t.getArg(o,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:i,line:t.getArg(o,\"originalLine\",null),column:t.getArg(o,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},l.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=t.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=t.urlParse(this.sourceRoot))){var o=e.replace(/^file:\\/\\//,\"\");if(\"file\"==r.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!r.path||\"/\"==r.path)&&this._sources.has(\"/\"+e))return this.sourcesContent[this._sources.indexOf(\"/\"+e)]}if(n)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var n=t.getArg(e,\"source\");if(null!=this.sourceRoot&&(n=t.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var r={source:n=this._sources.indexOf(n),originalLine:t.getArg(e,\"line\"),originalColumn:t.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",t.compareByOriginalPositions,t.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:t.getArg(i,\"generatedLine\",null),column:t.getArg(i,\"generatedColumn\",null),lastColumn:t.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=l,c.prototype=Object.create(u.prototype),c.prototype.constructor=u,c.prototype._version=3,Object.defineProperty(c.prototype,\"sources\",{get:function(){for(var e=[],n=0;n=0;g--)\".\"===(a=u[g])?u.splice(g,1):\"..\"===a?l++:l>0&&(\"\"===a?(u.splice(g+1,l),l=0):(u.splice(g,2),l--));return\"\"===(r=u.join(\"/\"))&&(r=s?\"/\":\".\"),t?(t.path=r,i(t)):r}n.urlParse=o,n.urlGenerate=i,n.normalize=a,n.join=function(e,n){\"\"===e&&(e=\".\"),\"\"===n&&(n=\".\");var r=o(n),s=o(e);if(s&&(e=s.path||\"/\"),r&&!r.scheme)return s&&(r.scheme=s.scheme),i(r);if(r||n.match(t))return n;if(s&&!s.host&&!s.path)return s.host=n,i(s);var u=\"/\"===n.charAt(0)?n:a(e.replace(/\\/+$/,\"\")+\"/\"+n);return s?(s.path=u,i(s)):u},n.isAbsolute=function(e){return\"/\"===e.charAt(0)||!!e.match(r)},n.relative=function(e,n){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==n.indexOf(e+\"/\");){var t=e.lastIndexOf(\"/\");if(t<0)return n;if((e=e.slice(0,t)).match(/^([^\\/]+:\\/)?\\/*$/))return n;++r}return Array(r+1).join(\"../\")+n.substr(e.length+1)};var s=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function g(e,n){return e===n?0:e>n?1:-1}n.toSetString=s?u:function(e){return l(e)?\"$\"+e:e},n.fromSetString=s?u:function(e){return l(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,r){var t=e.source-n.source;return 0!==t?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)||r?t:0!=(t=e.generatedColumn-n.generatedColumn)?t:0!=(t=e.generatedLine-n.generatedLine)?t:e.name-n.name},n.compareByGeneratedPositionsDeflated=function(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t?t:0!=(t=e.generatedColumn-n.generatedColumn)||r?t:0!=(t=e.source-n.source)?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)?t:e.name-n.name},n.compareByGeneratedPositionsInflated=function(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-n.generatedColumn)?r:0!==(r=g(e.source,n.source))?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)?r:g(e.name,n.name)}},function(e,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,r,t,o){if(0===r.length)return-1;var i=function e(r,t,o,i,a,s){var u=Math.floor((t-r)/2)+r,l=a(o,i[u],!0);return 0===l?u:l>0?t-u>1?e(u,t,o,i,a,s):s==n.LEAST_UPPER_BOUND?t1?e(r,u,o,i,a,s):s==n.LEAST_UPPER_BOUND?u:r<0?-1:r}(-1,r.length,e,r,t,o||n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===t(r[i],r[i-1],!0);)--i;return i}},function(e,n,r){var t=r(1),o=Object.prototype.hasOwnProperty;function i(){this._array=[],this._set=Object.create(null)}i.fromArray=function(e,n){for(var r=new i,t=0,o=e.length;t=0&&e>>=5)>0&&(n|=32),o+=t.encode(n)}while(i>0);return o},n.decode=function(e,n,r){var o,i,a,s,u=e.length,l=0,g=0;do{if(n>=u)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&i),l+=(i&=31)<>1,1==(1&a)?-s:s),r.rest=n}},function(e,n){var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");n.encode=function(e){if(0<=e&&e= 200 && req.status < 300 || url.substr(0, 7) === \"file://\" && req.responseText) {\n resolve(req.responseText);\n } else {\n reject(new Error(\"HTTP status: \" + req.status + \" retrieving \" + url));\n }\n }\n };\n req.send();\n });\n }\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== \"undefined\" && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error(\"You must supply a polyfill for window.atob in this environment\");\n }\n }\n function _parseJson(string) {\n if (typeof JSON !== \"undefined\" && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error(\"You must supply a polyfill for JSON.parse in this environment\");\n }\n }\n function _findFunctionName(source, lineNumber) {\n var syntaxes = [ // {name} = function ({args}) TODO args capture\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/, // function {name}({args}) m[1]=name m[2]=args\n /function\\s+([^('\"`]*?)\\s*\\(([^)]*)\\)/, // {name} = eval()\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/, // fn_name() {\n /\\b(?!(?:if|for|switch|while|with|catch)\\b)(?:(?:static)\\s+)?(\\S+)\\s*\\(.*?\\)\\s*\\{/, // {name} = () => {\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*\\(.*?\\)\\s*=>/];\n var lines = source.split(\"\\n\");\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = \"\";\n var maxLines = Math.min(lineNumber, 20);\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf(\"//\");\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n if (line) {\n code = line + code;\n var len = syntaxes.length;\n for (var index = 0; index < len; index++) {\n var m = syntaxes[index].exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n }\n return undefined;\n }\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== \"function\" || typeof Object.create !== \"function\") {\n throw new Error(\"Unable to consume source maps in older browsers\");\n }\n }\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== \"object\") {\n throw new TypeError(\"Given StackFrame is not an object\");\n } else if (typeof stackframe.fileName !== \"string\") {\n throw new TypeError(\"Given file name is not a String\");\n } else if (typeof stackframe.lineNumber !== \"number\" || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) {\n throw new TypeError(\"Given line number must be a positive integer\");\n } else if (typeof stackframe.columnNumber !== \"number\" || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) {\n throw new TypeError(\"Given column number must be a non-negative integer\");\n }\n return true;\n }\n function _findSourceMappingURL(source) {\n var sourceMappingUrlRegExp = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/gm;\n var lastSourceMappingUrl;\n var matchSourceMappingUrl;\n while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) {\n // jshint ignore:line\n lastSourceMappingUrl = matchSourceMappingUrl[1];\n }\n if (lastSourceMappingUrl) {\n return lastSourceMappingUrl;\n } else {\n throw new Error(\"sourceMappingURL not found\");\n }\n }\n function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) {\n return new Promise(function (resolve, reject) {\n var loc = sourceMapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n if (loc.source) {\n // cache mapped sources\n var mappedSource = sourceMapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(// given stackframe and source location, update stackframe\n new StackFrame({\n functionName: loc.name || stackframe.functionName,\n args: stackframe.args,\n fileName: loc.source,\n lineNumber: loc.line,\n columnNumber: loc.column\n }));\n } else {\n reject(new Error(\"Could not get original source for given stackframe and source map\"));\n }\n });\n }\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer}\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n this.sourceCache = opts.sourceCache || {};\n this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {};\n this.ajax = opts.ajax || _xdr;\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function (resolve, reject) {\n var isDataUrl = location.substr(0, 5) === \"data:\";\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error(\"Cannot make network requests in offline mode\"));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp = /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error(\"The encoding of the inline sourcemap is not supported\"));\n }\n } else {\n var xhrPromise = this.ajax(location, {\n method: \"get\"\n });\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n /**\n * Creating SourceMapConsumers is expensive, so this wraps the creation of a\n * SourceMapConsumer in a per-instance cache.\n *\n * @param {String} sourceMappingURL = URL to fetch source map from\n * @param {String} defaultSourceRoot = Default source root for source map if undefined\n * @returns {Promise} that resolves a SourceMapConsumer\n */\n this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) {\n return new Promise(function (resolve, reject) {\n if (this.sourceMapConsumerCache[sourceMappingURL]) {\n resolve(this.sourceMapConsumerCache[sourceMappingURL]);\n } else {\n var sourceMapConsumerPromise = new Promise(function (resolve, reject) {\n return this._get(sourceMappingURL).then(function (sourceMapSource) {\n if (typeof sourceMapSource === \"string\") {\n sourceMapSource = _parseJson(sourceMapSource.replace(/^\\)\\]\\}'/, \"\"));\n }\n if (typeof sourceMapSource.sourceRoot === \"undefined\") {\n sourceMapSource.sourceRoot = defaultSourceRoot;\n }\n resolve(new SourceMap.SourceMapConsumer(sourceMapSource));\n }, reject);\n }.bind(this));\n this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise;\n resolve(sourceMapConsumerPromise);\n }\n }.bind(this));\n };\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function (resolve, reject) {\n this.getMappedLocation(stackframe).then(function (mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n this.findFunctionName(mappedStackFrame).then(resolve, resolveMappedStackFrame)[\"catch\"](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame({\n functionName: guessedFunctionName,\n args: stackframe.args,\n fileName: stackframe.fileName,\n lineNumber: lineNumber,\n columnNumber: columnNumber\n }));\n } else {\n resolve(stackframe);\n }\n }, reject)[\"catch\"](reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function (source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === \"data:\";\n var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf(\"/\") + 1);\n if (sourceMappingURL[0] !== \"/\" && !isDataUrl && !/^https?:\\/\\/|^\\/\\//i.test(sourceMappingURL)) {\n sourceMappingURL = defaultSourceRoot + sourceMappingURL;\n }\n return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot).then(function (sourceMapConsumer) {\n return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache).then(resolve)[\"catch\"](function () {\n resolve(stackframe);\n });\n });\n }.bind(this), reject)[\"catch\"](reject);\n }.bind(this));\n };\n };\n })(SourceMap, StackFrame);\n\n //\n // Shared Variables\n //\n\n var myScript = null;\n var scriptFile = document.getElementsByTagName('script');\n \n for (var i = 0; i < scriptFile.length; ++i) {\n if(isMe(scriptFile[i])) {\n myScript = scriptFile[i];\n }\n }\n\n var queryString = myScript != null ? myScript.src.replace(/^[^\\?]+\\??/, '') : null;\n var params = parseQuery(queryString);\n var paramsLength = objectLength(params);\n\n var debugSettings = {\n label: ' elmah.io debugger : On ',\n labelCSS: 'background: #06a89c; color: #ffffff; display: inline-block; font-size: 14px;',\n successCSS: 'background: #d4edda; color: #155724; display: inline-block; font-size: 13px;',\n errorCSS: 'background: #f8d7da; color: #721c24; display: inline-block; font-size: 13px;',\n warningCSS: 'background: #fff3cd; color: #856404; display: inline-block; font-size: 13px;',\n lightCSS: 'background: #e2e3e5; color: #383d41; display: inline-block; font-size: 13px;'\n };\n\n var defaults = {\n apiKey: null,\n logId: null,\n debug: false,\n application: null,\n filter: null,\n captureConsoleMinimumLevel: 'none',\n breadcrumbs: false,\n breadcrumbsNumber: 10\n };\n\n var breadcrumbsDelay = 100;\n\n //\n // Shared Methods\n //\n\n var extend = function () {\n\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n // If property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n\n };\n\n //\n // Helpers\n //\n\n function isMe(scriptElem){\n if(scriptElem.getAttribute('src') != null) {\n return scriptElem.getAttribute('src').indexOf('elmahio') != -1 && scriptElem.getAttribute('src').indexOf('apiKey') != -1 && scriptElem.getAttribute('src').indexOf('logId') != -1;\n }\n }\n\n function isInt(n){\n return Number(n) === n && n % 1 === 0;\n }\n\n function isFloat(n){\n return Number(n) === n && n % 1 !== 0;\n }\n\n function parseQuery(query) {\n var Params = new Object();\n if (!query) return Params; // return empty object\n var Pairs = query.split(/[;&]/);\n for (var i = 0; i < Pairs.length; i++) {\n var KeyVal = Pairs[i].split('=');\n if (!KeyVal || KeyVal.length !== 2) continue;\n var key = unescape(KeyVal[0]);\n var val = unescape(KeyVal[1]);\n val = val.replace(/\\+/g, ' ');\n Params[key] = val;\n }\n return Params;\n }\n\n function objectLength(obj) {\n var size = 0, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) size++;\n }\n return size;\n };\n\n function getSearchParameters() {\n var prmstr = window.location.search.substr(1);\n return prmstr !== null && prmstr !== \"\" ? transformToAssocArray(prmstr) : {};\n }\n\n function transformToAssocArray(prmstr) {\n var params = [];\n var prmarr = prmstr.split(\"&\");\n for (var i = 0; i < prmarr.length; i++) {\n var tmparr = prmarr[i].split(\"=\");\n params.push({\n 'key': tmparr[0],\n 'value': tmparr[1]\n });\n }\n return params;\n }\n\n function merge_objects(obj1, obj2) {\n var obj3 = {};\n for (var attrname1 in obj1) {\n obj3[attrname1] = obj1[attrname1];\n }\n for (var attrname2 in obj2) {\n obj3[attrname2] = obj2[attrname2];\n }\n\n return obj3;\n }\n\n function isString(what) {\n return Object.prototype.toString.call(what) === '[object String]';\n }\n\n function cssSelectorString(elem) {\n var MAX_TRAVERSE_HEIGHT = 5,\n MAX_OUTPUT_LEN = 80,\n out = [],\n height = 0,\n len = 0,\n separator = ' > ',\n sepLength = separator.length,\n nextStr;\n while (elem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = htmlElementAsString(elem);\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n elem = elem.parentNode;\n }\n return out.reverse().join(separator);\n }\n \n function htmlElementAsString(elem) {\n var out = [], className, classes, key, attr, i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push('#' + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push('.' + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push('[' + key + '=\"' + attr + '\"]');\n }\n }\n return out.join('');\n }\n\n var parseHash = function(url) {\n return url.split('#')[1] || '';\n };\n\n //\n // Constructor\n //\n\n var Constructor = function (options) {\n\n //\n // Variables\n //\n\n var publicAPIs = {};\n var settings;\n var breadcrumbs = [];\n var lastHref = window.location && window.location.href;\n\n function getPayload() {\n var payload = {\n \"url\": document.location.pathname || '/',\n \"application\": settings.application\n };\n\n var payload_data = [];\n\n if (document.documentMode) payload_data.push({ \"key\": \"Document-Mode\", \"value\": document.documentMode });\n if (window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth) payload_data.push({ \"key\": \"Browser-Width\", \"value\": window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth });\n if (window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight) payload_data.push({ \"key\": \"Browser-Height\", \"value\": window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight });\n if ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type) !== undefined) payload_data.push({ \"key\": \"Screen-Orientation\", \"value\": ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type).split(\"-\"))[0] });\n if (screen.width) payload_data.push({ \"key\": \"Screen-Width\", \"value\": screen.width });\n if (screen.height) payload_data.push({ \"key\": \"Screen-Height\", \"value\": screen.height });\n if (screen.colorDepth) payload_data.push({ \"key\": \"Color-Depth\", \"value\": screen.colorDepth });\n payload_data.push({ \"key\": \"X-ELMAHIO-SEARCH-isClientside\", \"value\": \"true\" });\n\n payload.data = payload_data;\n\n var payload_serverVariables = [];\n if (navigator.language) payload_serverVariables.push({ \"key\": \"User-Language\", \"value\": navigator.language });\n if (navigator.userAgent) payload_serverVariables.push({ \"key\": \"User-Agent\", \"value\": navigator.userAgent });\n if (document.referrer) payload_serverVariables.push({ \"key\": \"Referer\", \"value\": document.referrer });\n if (document.location.protocol === \"https:\") payload_serverVariables.push({ \"key\": \"HTTPS\", \"value\": 'on' });\n if (document.location.hostname) payload_serverVariables.push({ \"key\": \"Host\", \"value\": document.location.hostname });\n\n payload.serverVariables = payload_serverVariables;\n\n return payload;\n }\n\n function confirmResponse(status, response) {\n if (settings.debug) {\n if (status === 'error') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created ', debugSettings.lightCSS, debugSettings.errorCSS);\n } else if (status === 'success') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2714 ' + response + ' at ' + new Date().toLocaleString() + ' ', debugSettings.lightCSS, debugSettings.successCSS);\n } else {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created. Title should not be undefined, null or empty ! ', debugSettings.lightCSS, debugSettings.errorCSS);\n }\n }\n }\n\n function generateErrorObject(error) {\n return {\n error: error,\n type: error.name,\n message: error.message,\n inner: error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? generateErrorObject(error.cause) : []\n }\n }\n\n function getErrorTypeSource(error) {\n var object = generateErrorObject(error);\n var type = null;\n var source = null;\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n var stack = obj[key] ? ErrorStackParser.parse(obj[key]) : null;\n source = stack && stack.length > 0 ? stack[0].fileName : null;\n }\n }\n if (key === \"type\") {\n type = obj[key];\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n return { type: type, source: source };\n }\n\n function GenerateNewFrames(errorMessage, newFrames, cause, fileName) {\n var lastInnerFileName = null;\n\n newFrames.forEach(function(stackFrame, i) {\n if (stackFrame.functionName) {\n var fn = stackFrame.functionName + ' ';\n } else {\n var fn = '';\n }\n var stackString = ' at ' + fn + '(' + stackFrame.fileName + ':' + stackFrame.lineNumber + ':' + stackFrame.columnNumber + ')';\n newFrames[i] = stackString;\n if (i === 0) {\n lastInnerFileName = stackFrame.fileName || null;\n }\n });\n \n if (!cause) {\n newFrames.unshift(errorMessage);\n } else {\n newFrames.unshift(\"\\nCaused by: \" + errorMessage);\n }\n\n if (fileName) {\n return {\n newFrames: newFrames,\n fileName: lastInnerFileName\n }\n }\n \n return newFrames;\n }\n\n function GPSPromise(stackframes) {\n if (stackframes) {\n var gps = new StackTraceGPS();\n\n return new Promise(function(resolve) {\n resolve(Promise.all(stackframes.map(function(sf) {\n return new Promise(function(resolve) {\n function resolveOriginal() {\n resolve(sf);\n }\n gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);\n });\n })));\n });\n }\n\n return new Promise(function(resolve) {\n return resolve([]);\n });\n }\n\n function stackGPS(error, xhr, jsonData) {\n var object = generateErrorObject(error);\n var messagesArr = [];\n var promiseArr = [];\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n messagesArr.push(obj[key].toString().split(\"\\n\")[0]);\n promiseArr.push(GPSPromise(ErrorStackParser.parse(obj[key])));\n }\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n Promise.all(promiseArr).then((values) => {\n values.forEach(function(stackframe, index) {\n if (index === 0) {\n jsonData.detail = GenerateNewFrames(messagesArr[index], stackframe, false).join(\"\\n\");\n } else {\n jsonData.detail += GenerateNewFrames(messagesArr[index], stackframe, true).join(\"\\n\");\n }\n });\n }).then(function() {\n xhr.send(JSON.stringify(jsonData));\n });\n }\n\n function stackString(error) {\n \tvar typeOF = typeof error.error;\n \tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \treturn typeOFCapitalized + ': ' + error.error + '\\n' + ' at ' + '(' + error.source + ':' + error.lineno + ':' + error.colno + ')';\n }\n\n function manipulateStack (errorStack, severity, message) {\n var stack = [];\n for (var i = 0; i < errorStack.length; i++) {\n if(errorStack[i] === \"Error\") {\n stack.push(severity + \": \" + message);\n }\n if(!errorStack[i].match(/elmahio.js|elmahio.min.js/g) && errorStack[i] !== \"Error\") {\n stack.push(errorStack[i]);\n }\n }\n return stack.join('\\n');\n }\n\n function guid() {\n var s4 = function() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1).toUpperCase();\n }\n return s4() + s4();\n }\n\n function inspectorObj (error, fullError) {\n var obj = {};\n obj.Id = guid();\n\n if (typeof error === \"object\" && error !== null) {\n var stack = error && objectLength(error.stack) !== 0 && typeof error === \"object\" ? ErrorStackParser.parse(error) : '';\n obj.Type = error.name || null;\n obj.Message = error.message || null;\n obj.StackTrace = objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n obj.Source = stack && stack.length > 0 ? stack[0].fileName : null;\n obj.Inners = error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? [inspectorObj(error.cause)] : [];\n\n if (error.cause && obj.Inners instanceof Array && obj.Inners.length === 0) {\n if (typeof error.cause === \"number\" || typeof error.cause === \"string\" || typeof error.cause === \"boolean\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause }];\n }\n if (typeof error.cause === \"bigint\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() + \"n\" }];\n }\n if (typeof error.cause === \"symbol\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() }];\n }\n if (typeof error.cause === \"object\") {\n if (!(Object.keys(obj).length === 0 && obj.constructor === Object)) {\n let objEntries = [];\n for (const [key, value] of Object.entries(error.cause)) {\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") {\n objEntries.push({ key: key, value: value });\n }\n if (typeof value === \"bigint\") {\n objEntries.push({ key: key, value: value.toString() + \"n\" });\n }\n if (typeof value === \"symbol\") {\n objEntries.push({ key: key, value: value.toString() });\n }\n }\n obj.ExceptionSpecific = objEntries;\n }\n }\n }\n\n } else {\n obj.Type = typeof fullError.error || null;\n obj.Message = fullError.message || null;\n obj.StackTrace = stackString(fullError);\n obj.Source = fullError.source || null;\n obj.Inners = [];\n }\n\n return obj;\n }\n\n function inspectorGPS (error) {\n var inspectorObject = inspectorObj(error);\n var promiseArr = [];\n\n function iterateObj(obj, final) {\n Object.keys(obj).forEach(function(key){\n if (key === \"StackTrace\") {\n if (!final) {\n obj[key] = GPSPromise(obj[key]);\n promiseArr.push(obj[key]);\n } else {\n obj[key].then(result => {\n var generateNewFrames = GenerateNewFrames(obj.Type + ': ' + obj.Message, result, false, true);\n obj[key] = generateNewFrames.newFrames.join(\"\\n\");\n obj['Source'] = generateNewFrames.fileName || null;\n });\n }\n }\n if (key === \"Inners\" && obj[key].length !== 0) {\n iterateObj(obj[key][0], final);\n }\n });\n }\n\n iterateObj(inspectorObject, false);\n\n return new Promise(function(resolve, reject) {\n Promise.all(promiseArr).then(function(values) {\n iterateObj(inspectorObject, true);\n }).then(function() {\n resolve(inspectorObject);\n });\n });\n }\n\n // Private methods\n\n var recordBreadcrumb = function(obj) {\n var crumb = merge_objects({'dateTime': new Date().toISOString()}, obj),\n breadcrumbs_number = 10;\n \n breadcrumbs.push(crumb);\n \n if(options.breadcrumbsNumber >= 0 && typeof options.breadcrumbsNumber === \"number\" ) {\n if(options.breadcrumbsNumber > 25) {\n breadcrumbs_number = 25;\n } else if(options.breadcrumbsNumber <= 25) {\n breadcrumbs_number = options.breadcrumbsNumber;\n }\n }\n \n if (breadcrumbs.length > breadcrumbs_number) {\n breadcrumbs.shift();\n }\n }\n\n var breadcrumbClickEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Click\",\n \"message\": target\n });\n }\n\n var breadcrumbFormSubmitEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Form submit\",\n \"message\": target\n });\n }\n\n var breadcrumbWindowEventHandler = function(evt) {\n var type = evt.type,\n message = null;\n\n switch (type) {\n case \"load\":\n message = \"Page loaded\"; break;\n case \"DOMContentLoaded\":\n message = \"DOMContentLoaded\"; break;\n case \"pageshow\":\n message = \"Page shown\"; break;\n case \"pagehide\":\n message = \"Page hidden\"; break;\n case \"popstate\":\n message = \"Navigated from: \" + lastHref + \" to: \" + window.location.href; break;\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": message\n });\n }\n\n var breadcrumbHashChangeEventHandler = function(evt) {\n var oldURL = evt.oldURL,\n newURL = evt.newURL,\n from = null,\n to = null,\n message = null;\n\n if (oldURL && newURL) {\n from = parseHash(oldURL);\n to = parseHash(newURL);\n message = \"from: '\" + from + \"' to: '\" + to + \"'\";\n } else {\n to = location.hash;\n message = \"to: '\" + to + \"'\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": \"Hash changed \" + message\n });\n }\n\n var breadcrumbXHRHandler = function(evt, method, url) {\n var status = evt && evt.target ? evt.target.status : 0,\n severity = null,\n method = method.toUpperCase(),\n url = url,\n regex = /https:\\/\\/api.elmah.io/g;\n\n if(url.match(regex) == null) { \n if (status > 0 && status < 400) {\n severity = \"Information\";\n } else if (status > 399 && status < 500) {\n severity = \"Warning\";\n } else if (status >= 500) {\n severity = \"Error\";\n }\n\n var statusCode = status > 0 ? \" (\" + status + \")\" : \"\";\n\n recordBreadcrumb({\n \"severity\": severity,\n \"action\": \"Request\",\n \"message\": \"[\" + method + \"] \" + url + statusCode\n });\n }\n }\n\n var sendPayload = function (apiKey, logId, callback, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n error = errorLog,\n send = 1,\n queryParams = getSearchParameters(),\n stack = error.error && objectLength(error.error.stack) !== 0 && typeof error.error === \"object\" ? ErrorStackParser.parse(error.error) : '';\n\n // Ignoring error from an external script\n if (error && error.colno === 0 && error.lineno === 0 && (!stack || stack === '') && error.message && (error.message === \"Script error.\" || error.message === \"Script error\")) {\n\t\t\t if (settings.debug) {\n\t\t\t console.log('%c \\u2BC8 Error log: ' + '%c \\uD83D\\uDEC8 Ignoring error from external script ', debugSettings.lightCSS, debugSettings.warningCSS);\n\t\t\t }\n\t\t\t return;\n\t\t\t}\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"detail\": error.error ? error.error.stack : null,\n \"title\": error.message || 'Unspecified error',\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"severity\": \"Error\",\n \"type\": error.error ? error.error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if error sent is a string and not an object\n // Then create the articifial stacktrace and pass source & type of the error\n if(error.error && (objectLength(error.error.stack) === 0) && typeof jsonData.detail === \"undefined\") {\n \tvar typeOF = typeof errorLog.error;\n \t\t\tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \tjsonData.detail = stackString(errorLog);\n \tjsonData.source = errorLog.source;\n jsonData.title = \"Uncaught \" + typeOFCapitalized + \": \" + errorLog.error;\n }\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error.error && error.error.cause && typeof error.error.cause === \"object\" && error.error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error.error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error.error && typeof error.error === \"object\" && objectLength(error.error.stack) !== 0 && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error.error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error.error, xhr, jsonData);\n });\n\t } else {\n // Add inspector to jsonData\n if (jsonData.detail) {\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(inspectorObj(error.error, errorLog)) });\n }\n\n // send message\n \txhr.send(JSON.stringify(jsonData));\n\t }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendManualPayload = function (apiKey, logId, callback, logType, messageLog, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n type = logType,\n error = errorLog,\n message = messageLog,\n send = 1,\n queryParams = getSearchParameters();\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n if (type !== \"Log\") {\n\n var stack = error && error instanceof Error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n\n var jsonData = {\n \"title\": message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": type,\n \"type\": error ? error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n } else {\n\n var jsonData = error;\n \n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n // If message contains breadcrumbs\n if(jsonData.breadcrumbs && jsonData.breadcrumbs.length > 0) {\n breadcrumbs = breadcrumbs.reverse();\n for (var i = 0; i < breadcrumbs.length; i++) {\n // Add breadcrumbs to jsonData object\n jsonData.breadcrumbs.unshift(breadcrumbs[i]);\n }\n } else {\n jsonData.breadcrumbs = breadcrumbs;\n }\n \n // Reset breadcrumbs\n breadcrumbs = [];\n }\n\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error && error instanceof Error && type !== \"Log\" && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n // send message\n if(jsonData.errorObject && jsonData.errorObject instanceof Error) {\n error = jsonData.errorObject;\n delete jsonData.errorObject;\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n delete jsonData.errorObject;\n xhr.send(JSON.stringify(jsonData));\n }\n }\n\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPayloadFromConsole = function (apiKey, logId, callback, logType, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n message = errorLog.message,\n messageTemplate = errorLog.message,\n type = logType,\n args = Object.values(errorLog.arguments),\n send = 1,\n queryParams = getSearchParameters();\n\n function format(f, args) {\n var formatRegExp = /%[sdif]/g;\n var str = f;\n\n if(args.length > 1) {\n // If message has placeholders (%s, %d, %i, %f), check for arguments and replace them\n if(String(f).match(/%[sdif]/g)) {\n var i = 0;\n str = String(f).replace(formatRegExp, function(x) {\n switch (x) {\n case '%s': i++; return args[i] ? String(args[i]) : '%s';\n case '%d': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%d';\n case '%i': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%i';\n case '%f': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseFloat(args[i]) : 'NaN' : '%f';\n default: return x;\n }\n });\n\n for (var len = args.length, x = args[++i]; i < len; x = args[++i]) {\n if (x === null || typeof x !== 'object') {\n str += ' ' + x;\n } else {\n str += ' ' + String(Object.prototype.toString.call(x));\n }\n }\n } else {\n str = args.join(' ');\n }\n }\n\n return str;\n }\n\n message = format(message, args);\n\n if(typeof message !== \"string\" && message !== undefined){\n message = message.toString();\n }\n\n if(typeof messageTemplate !== \"string\" && messageTemplate !== undefined) {\n messageTemplate = messageTemplate.toString();\n }\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"title\": message,\n \"titleTemplate\": messageTemplate,\n \"detail\": manipulateStack(new Error().stack.split('\\n'), type, message),\n \"severity\": type,\n \"type\": null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n // on message event\n publicAPIs.emit('message', jsonData);\n // send message\n xhr.send(JSON.stringify(jsonData));\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPrefilledLogMessage = function(errorLog) {\n // without error object\n if(!errorLog) return getPayload();\n\n // with error object\n var error = errorLog;\n var stack = error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n var jsonData = {\n \"title\": error.message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": \"Error\",\n \"type\": error ? error.name : null,\n \"errorObject\": error\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n jsonData = merge_objects(jsonData, getPayload());\n \n return jsonData;\n };\n\n // Some public methods\n\n publicAPIs.error = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Error', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.verbose = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Verbose', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.debug = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Debug', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.information = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Information', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.warning = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Warning', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.fatal = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Fatal', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.log = function (obj) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Log', null, obj); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.message = function(error) {\n return sendPrefilledLogMessage(error);\n };\n publicAPIs.addBreadcrumb = function(msg, severity, evt) {\n recordBreadcrumb({\n \"severity\": (severity != undefined && isString(severity)) ? severity : \"Information\",\n \"action\": (evt != undefined && isString(evt)) ? evt : \"Log\",\n \"message\": (msg != undefined && isString(msg)) ? msg : \"This is just a test message.\"\n });\n };\n\n publicAPIs.on = function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n };\n\n publicAPIs.emit = function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n };\n\n publicAPIs.init = function (options) {\n\n // -- Merge options into defaults\n settings = extend(defaults, options || {});\n\n // -- Breadcrumbs\n if (settings.breadcrumbs) {\n // Breadcrumbs - Click & Submit form\n if (document.addEventListener) {\n document.addEventListener('click', breadcrumbClickEventHandler, false);\n document.addEventListener('submit', breadcrumbFormSubmitEventHandler, false);\n } else if (document.attachEvent) {\n document.attachEvent('click', breadcrumbClickEventHandler, false);\n document.attachEvent('submit', breadcrumbFormSubmitEventHandler, false);\n }\n\n // Breadcrumbs - Navigation\n if (window.addEventListener) {\n window.addEventListener('load', breadcrumbWindowEventHandler, false);\n window.addEventListener('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.addEventListener('pageshow', breadcrumbWindowEventHandler, false);\n window.addEventListener('pagehide', breadcrumbWindowEventHandler, false);\n window.addEventListener('hashchange', breadcrumbHashChangeEventHandler, false);\n } else if (window.attachEvent) {\n window.attachEvent('load', breadcrumbWindowEventHandler, false);\n window.attachEvent('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.attachEvent('pageshow', breadcrumbWindowEventHandler, false);\n window.attachEvent('pagehide', breadcrumbWindowEventHandler, false);\n window.attachEvent('hashchange', breadcrumbHashChangeEventHandler, false);\n }\n\n if(window.history && window.history.pushState && window.history.replaceState) {\n var old_onpopstate = window.onpopstate;\n window.onpopstate = function(evt) {\n breadcrumbWindowEventHandler(evt);\n if (old_onpopstate) {\n return old_onpopstate.apply(this, arguments);\n }\n };\n }\n\n // Breadcrumbs - XHR\n if(window.XMLHttpRequest && window.XMLHttpRequest.prototype) {\n // Store a reference to the native method\n var open = XMLHttpRequest.prototype.open;\n \n // Overwrite the native method\n XMLHttpRequest.prototype.open = function(method, url) {\n // Assign an event listener\n this.addEventListener(\"loadend\", function(event) { breadcrumbXHRHandler(event, method, url); }, false);\n // Call the stored reference to the native method\n open.apply(this, arguments);\n };\n }\n }\n\n // -- Log on window error\n window.onerror = function (message, source, lineno, colno, error) {\n var errorLog = {\n 'message': message,\n 'source': source,\n 'lineno': lineno,\n 'colno': colno,\n 'error': error\n };\n \n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Log on window unhandled rejection\n window.onunhandledrejection = function (event) {\n var errorLog = {\n 'message': event.reason && event.reason.message ? event.reason.message : undefined,\n 'error': event.reason && event.reason.message && event.reason.stack ? event.reason : undefined\n };\n\n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Overriding console methods\n // -- Then log messages into the app.elmah.io\n if(options && options.captureConsoleMinimumLevel !== \"none\") {\n\n // If captureConsoleMinimumLevel: info or debug is set (error, warn)\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"warn\" || options.captureConsoleMinimumLevel === \"error\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console errors\n var _error = console.error;\n console.error = function(errMessage){\n var errorLog = {\n \t\t'message': errMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Error', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _error.apply(console, arguments);\n };\n if(options.captureConsoleMinimumLevel !== \"error\") {\n // Log console warnings\n var _warning = console.warn;\n console.warn = function(warnMessage){\n var errorLog = {\n 'message': warnMessage,\n 'arguments': arguments\n }\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Warning', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _warning.apply(console, arguments);\n };\n }\n }\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console info\n var _info = console.info;\n console.info = function(infoMessage){\n var errorLog = {\n \t\t'message': infoMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Information', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _info.apply(console, arguments);\n };\n }\n if(options.captureConsoleMinimumLevel === \"debug\") {\n // Log console debug\n var _debug = console.debug;\n console.debug = function(debugMessage){\n var errorLog = {\n \t\t'message': debugMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Debug', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _debug.apply(console, arguments);\n };\n }\n }\n };\n\n // Initialize the plugin\n publicAPIs.init(options);\n\n if (settings.debug) {\n console.log('%c' + debugSettings.label, debugSettings.labelCSS);\n }\n\n // Return the public APIs\n return publicAPIs;\n\n };\n\n\n //\n // Return the constructor\n //\n\n if (paramsLength && params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n // Immediately-Invoked Function Expression (IIFE)\n return new Constructor;\n } else {\n // UMD Constructor\n return Constructor;\n }\n\n});"],"file":"elmahio.js"} \ No newline at end of file diff --git a/dist/elmahio.min.js b/dist/elmahio.min.js index aea4490..2d60ae9 100644 --- a/dist/elmahio.min.js +++ b/dist/elmahio.min.js @@ -1,6 +1,6 @@ /*! - * elmah.io Javascript Logger - version 4.1.0 + * elmah.io Javascript Logger - version 4.1.1 * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io */ -!function(e,n){"function"==typeof define&&define.amd?define([],function(){return n(e)}):"object"==typeof exports?module.exports=n(e):e.Elmahio=n(e)}("undefined"!=typeof global?global:"undefined"!=typeof window?window:this,function(e){"use strict";for(var n,t,r,o=function(){function e(e){return!isNaN(parseFloat(e))&&isFinite(e)}function n(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var r=["isConstructor","isEval","isNative","isToplevel"],o=["columnNumber","lineNumber"],i=["fileName","functionName","source"],a=r.concat(o,i,["args"]);function s(e){if(e instanceof Object)for(var t=0;t-1&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var n=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),t=n.match(/ (\(.+\)$)/);n=t?n.replace(t[0],""):n;var r=this.extractLocation(t?t[1]:n),i=t&&n||void 0,a=["eval",""].indexOf(r[0])>-1?void 0:r[0];return new o({functionName:i,fileName:a,lineNumber:r[1],columnNumber:r[2],source:e})},this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter(function(e){return!e.match(r)},this).map(function(e){if(e.indexOf(" > eval")>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===e.indexOf("@")&&-1===e.indexOf(":"))return new o({functionName:e});var n=/((.*".+"[^@]*)?[^@]*)(?:@)/,t=e.match(n),r=t&&t[1]?t[1]:void 0,i=this.extractLocation(e.replace(n,""));return new o({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var n=/Line (\d+).*script (?:in )?(\S+)/i,t=e.message.split("\n"),r=[],i=2,a=t.length;i/,"$2").replace(/\([^)]*\)/g,"")||void 0;i.match(/\(([^)]*)\)/)&&(n=i.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var s=void 0===n||"[arguments not available]"===n?void 0:n.split(",");return new o({functionName:a,args:s,fileName:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)}}),a=function(n,t){function r(e){return new Promise(function(n,t){var r=new XMLHttpRequest;r.open("get",e),r.onerror=t,r.onreadystatechange=function(){4===r.readyState&&(r.status>=200&&r.status<300||"file://"===e.substr(0,7)&&r.responseText?n(r.responseText):t(new Error("HTTP status: "+r.status+" retrieving "+e)))},r.send()})}function o(n){if(void 0!==e&&e.atob)return e.atob(n);throw new Error("You must supply a polyfill for window.atob in this environment")}function i(e){if("object"!=typeof e)throw new TypeError("Given StackFrame is not an object");if("string"!=typeof e.fileName)throw new TypeError("Given file name is not a String");if("number"!=typeof e.lineNumber||e.lineNumber%1!=0||e.lineNumber<1)throw new TypeError("Given line number must be a positive integer");if("number"!=typeof e.columnNumber||e.columnNumber%1!=0||e.columnNumber<0)throw new TypeError("Given column number must be a non-negative integer");return!0}return function e(a){if(!(this instanceof e))return new e(a);a=a||{},this.sourceCache=a.sourceCache||{},this.sourceMapConsumerCache=a.sourceMapConsumerCache||{},this.ajax=a.ajax||r,this._atob=a.atob||o,this._get=function(e){return new Promise(function(n,t){var r="data:"===e.substr(0,5);if(this.sourceCache[e])n(this.sourceCache[e]);else if(a.offline&&!r)t(new Error("Cannot make network requests in offline mode"));else if(r){var o=e.match(/^data:application\/json;([\w=:"-]+;)*base64,/);if(o){var i=o[0].length,s=e.substr(i),u=this._atob(s);this.sourceCache[e]=u,n(u)}else t(new Error("The encoding of the inline sourcemap is not supported"))}else{var c=this.ajax(e,{method:"get"});this.sourceCache[e]=c,c.then(n,t)}}.bind(this))},this._getSourceMapConsumer=function(e,t){return new Promise(function(r,o){if(this.sourceMapConsumerCache[e])r(this.sourceMapConsumerCache[e]);else{var i=new Promise(function(r,o){return this._get(e).then(function(e){"string"==typeof e&&(e=function(e){if("undefined"!=typeof JSON&&JSON.parse)return JSON.parse(e);throw new Error("You must supply a polyfill for JSON.parse in this environment")}(e.replace(/^\)\]\}'/,""))),void 0===e.sourceRoot&&(e.sourceRoot=t),r(new n.SourceMapConsumer(e))},o)}.bind(this));this.sourceMapConsumerCache[e]=i,r(i)}}.bind(this))},this.pinpoint=function(e){return new Promise(function(n,t){this.getMappedLocation(e).then(function(e){function t(){n(e)}this.findFunctionName(e).then(n,t).catch(t)}.bind(this),t)}.bind(this))},this.findFunctionName=function(e){return new Promise(function(n,r){i(e),this._get(e.fileName).then(function(r){var o=e.lineNumber,i=e.columnNumber,a=function(e,n){for(var t=[/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/,/function\s+([^('"`]*?)\s*\(([^)]*)\)/,/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/,/\b(?!(?:if|for|switch|while|with|catch)\b)(?:(?:static)\s+)?(\S+)\s*\(.*?\)\s*\{/,/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*\(.*?\)\s*=>/],r=e.split("\n"),o="",i=Math.min(n,20),a=0;a=0&&(s=s.substr(0,u)),s){o=s+o;for(var c=t.length,l=0;l=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)i.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++a];else for(var c=s.originalColumn;s&&s.originalLine===n&&s.originalColumn==c;)i.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++a]}return i},n.SourceMapConsumer=u,c.prototype=Object.create(u.prototype),c.prototype.consumer=u,c.fromSourceMap=function(e){var n=Object.create(c.prototype),t=n._names=i.fromArray(e._names.toArray(),!0),o=n._sources=i.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file;for(var a=e._mappings.toArray().slice(),u=n.__generatedMappings=[],p=n.__originalMappings=[],g=0,f=a.length;g1&&(t.source=m+i[1],m+=i[1],t.originalLine=f+i[2],f=t.originalLine,t.originalLine+=1,t.originalColumn=h+i[3],h=t.originalColumn,i.length>4&&(t.name=d+i[4],d+=i[4])),C.push(t),"number"==typeof t.originalLine&&_.push(t)}s(C,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=C,s(_,r.compareByOriginalPositions),this.__originalMappings=_},c.prototype._findMapping=function(e,n,t,r,i,a){if(e[t]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[t]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return o.search(e,n,i,a)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[t];if(o.generatedLine===n.generatedLine){var i=r.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=r.join(this.sourceRoot,i)));var a=r.getArg(o,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:r.getArg(o,"originalLine",null),column:r.getArg(o,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e})},c.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=r.urlParse(this.sourceRoot))){var o=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!t.path||"/"==t.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(n)return null;throw new Error('"'+e+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(e){var n=r.getArg(e,"source");if(null!=this.sourceRoot&&(n=r.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var t={source:n=this._sources.indexOf(n),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},o=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===t.source)return{line:r.getArg(i,"generatedLine",null),column:r.getArg(i,"generatedColumn",null),lastColumn:r.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=c,p.prototype=Object.create(u.prototype),p.prototype.constructor=u,p.prototype._version=3,Object.defineProperty(p.prototype,"sources",{get:function(){for(var e=[],n=0;n=0;l--)"."===(a=u[l])?u.splice(l,1):".."===a?c++:c>0&&(""===a?(u.splice(l+1,c),c=0):(u.splice(l,2),c--));return""===(t=u.join("/"))&&(t=s?"/":"."),r?(r.path=t,i(r)):t}n.urlParse=o,n.urlGenerate=i,n.normalize=a,n.join=function(e,n){""===e&&(e="."),""===n&&(n=".");var t=o(n),s=o(e);if(s&&(e=s.path||"/"),t&&!t.scheme)return s&&(t.scheme=s.scheme),i(t);if(t||n.match(r))return n;if(s&&!s.host&&!s.path)return s.host=n,i(s);var u="/"===n.charAt(0)?n:a(e.replace(/\/+$/,"")+"/"+n);return s?(s.path=u,i(s)):u},n.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(t)},n.relative=function(e,n){""===e&&(e="."),e=e.replace(/\/$/,"");for(var t=0;0!==n.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return n;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return n;++t}return Array(t+1).join("../")+n.substr(e.length+1)};var s=!("__proto__"in Object.create(null));function u(e){return e}function c(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var t=n-10;t>=0;t--)if(36!==e.charCodeAt(t))return!1;return!0}function l(e,n){return e===n?0:e>n?1:-1}n.toSetString=s?u:function(e){return c(e)?"$"+e:e},n.fromSetString=s?u:function(e){return c(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,t){var r=e.source-n.source;return 0!==r?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)||t?r:0!=(r=e.generatedColumn-n.generatedColumn)?r:0!=(r=e.generatedLine-n.generatedLine)?r:e.name-n.name},n.compareByGeneratedPositionsDeflated=function(e,n,t){var r=e.generatedLine-n.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-n.generatedColumn)||t?r:0!=(r=e.source-n.source)?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)?r:e.name-n.name},n.compareByGeneratedPositionsInflated=function(e,n){var t=e.generatedLine-n.generatedLine;return 0!==t?t:0!=(t=e.generatedColumn-n.generatedColumn)?t:0!==(t=l(e.source,n.source))?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)?t:l(e.name,n.name)}},function(e,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,r,o){if(0===t.length)return-1;var i=function e(t,r,o,i,a,s){var u=Math.floor((r-t)/2)+t,c=a(o,i[u],!0);return 0===c?u:c>0?r-u>1?e(u,r,o,i,a,s):s==n.LEAST_UPPER_BOUND?r1?e(t,u,o,i,a,s):s==n.LEAST_UPPER_BOUND?u:t<0?-1:t}(-1,t.length,e,t,r,o||n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===r(t[i],t[i-1],!0);)--i;return i}},function(e,n,t){var r=t(1),o=Object.prototype.hasOwnProperty;function i(){this._array=[],this._set=Object.create(null)}i.fromArray=function(e,n){for(var t=new i,r=0,o=e.length;r=0&&e>>=5)>0&&(n|=32),o+=r.encode(n)}while(i>0);return o},n.decode=function(e,n,t){var o,i,a,s,u=e.length,c=0,l=0;do{if(n>=u)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=r.decode(e.charCodeAt(n++))))throw new Error("Invalid base64 digit: "+e.charAt(n-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-s:s),t.rest=n}},function(e,n){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e ".length;e&&r++<5&&!("html"===(n=S(e))||r>1&&o+t.length*i+n.length>=80);)t.push(n),o+=n.length,e=e.parentNode;return t.reverse().join(" > ")}function S(e){var n,t,r,o,i,a=[];if(!e||!e.tagName)return"";if(a.push(e.tagName.toLowerCase()),e.id&&a.push("#"+e.id),(n=e.className)&&_(n))for(t=n.split(/\s+/),i=0;i0?a[0].fileName:null}"type"===o&&(t=n[o]),"inner"===o&&0!==n[o].length&&e(n[o])})}(n),{type:t,source:r}}function E(e,n,t,r){var o=null;return n.forEach(function(e,t){if(e.functionName)var r=e.functionName+" ";else r="";var i=" at "+r+"("+e.fileName+":"+e.lineNumber+":"+e.columnNumber+")";n[t]=i,0===t&&(o=e.fileName||null)}),t?n.unshift("\nCaused by: "+e):n.unshift(e),r?{newFrames:n,fileName:o}:n}function N(e){if(e){var n=new a;return new Promise(function(t){t(Promise.all(e.map(function(e){return new Promise(function(t){function r(){t(e)}n.pinpoint(e).then(t,r).catch(r)})})))})}return new Promise(function(e){return e([])})}function L(e,n,t){var r=m(e),o=[],a=[];!function e(n){Object.keys(n).forEach(function(t){"error"===t&&0!==y(n[t].stack)&&(o.push(n[t].toString().split("\n")[0]),a.push(N(i.parse(n[t])))),"inner"===t&&0!==n[t].length&&e(n[t])})}(r),Promise.all(a).then(e=>{e.forEach(function(e,n){0===n?t.detail=E(o[n],e,!1).join("\n"):t.detail+=E(o[n],e,!0).join("\n")})}).then(function(){n.send(JSON.stringify(t))})}function A(e){var n=typeof e.error;return n.charAt(0).toUpperCase()+n.slice(1)+": "+e.error+"\n at ("+e.source+":"+e.lineno+":"+e.colno+")"}function M(e,n){var t,r={};if(r.Id=(t=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1).toUpperCase()})()+t(),"object"==typeof e&&null!==e){var o=e&&0!==y(e.stack)&&"object"==typeof e?i.parse(e):"";if(r.Type=e.name||null,r.Message=e.message||null,r.StackTrace=0!==y(e.stack)?i.parse(e):null,r.Source=o&&o.length>0?o[0].fileName:null,r.Inners=e.cause&&"object"==typeof e.cause&&e.cause instanceof Error?[M(e.cause)]:[],e.cause&&r.Inners instanceof Array&&0===r.Inners.length&&("number"!=typeof e.cause&&"string"!=typeof e.cause&&"boolean"!=typeof e.cause||(r.ExceptionSpecific=[{key:"cause",value:e.cause}]),"bigint"==typeof e.cause&&(r.ExceptionSpecific=[{key:"cause",value:e.cause.toString()+"n"}]),"symbol"==typeof e.cause&&(r.ExceptionSpecific=[{key:"cause",value:e.cause.toString()}]),"object"==typeof e.cause&&(0!==Object.keys(r).length||r.constructor!==Object))){let n=[];for(const[t,r]of Object.entries(e.cause))"number"!=typeof r&&"string"!=typeof r&&"boolean"!=typeof r||n.push({key:t,value:r}),"bigint"==typeof r&&n.push({key:t,value:r.toString()+"n"}),"symbol"==typeof r&&n.push({key:t,value:r.toString()});r.ExceptionSpecific=n}}else r.Type=typeof n.error||null,r.Message=n.message||null,r.StackTrace=A(n),r.Source=n.source||null,r.Inners=[];return r}function T(e){var n=M(e),t=[];function r(e,n){Object.keys(e).forEach(function(o){"StackTrace"===o&&(n?e[o].then(n=>{var t=E(e.Type+": "+e.Message,n,!1,!0);e[o]=t.newFrames.join("\n"),e.Source=t.fileName||null}):(e[o]=N(e[o]),t.push(e[o]))),"Inners"===o&&0!==e[o].length&&r(e[o][0],n)})}return r(n,!1),new Promise(function(e,o){Promise.all(t).then(function(e){r(n,!0)}).then(function(){e(n)})})}var k=function(e){var t=O({dateTime:(new Date).toISOString()},e),r=10;o.push(t),n.breadcrumbsNumber>=0&&"number"==typeof n.breadcrumbsNumber&&(n.breadcrumbsNumber>25?r=25:n.breadcrumbsNumber<=25&&(r=n.breadcrumbsNumber)),o.length>r&&o.shift()},x=function(e){var n;try{n=C(e.target)}catch(e){n=""}k({severity:"Information",action:"Click",message:n})},P=function(e){var n;try{n=C(e.target)}catch(e){n=""}k({severity:"Information",action:"Form submit",message:n})},j=function(n){var t=null;switch(n.type){case"load":t="Page loaded";break;case"DOMContentLoaded":t="DOMContentLoaded";break;case"pageshow":t="Page shown";break;case"pagehide":t="Page hidden";break;case"popstate":t="Navigated from: "+s+" to: "+e.location.href}k({severity:"Information",action:"Navigation",message:t})},R=function(e){var n=e.oldURL,t=e.newURL,r=null;r=n&&t?"from: '"+w(n)+"' to: '"+w(t)+"'":"to: '"+location.hash+"'",k({severity:"Information",action:"Navigation",message:"Hash changed "+r})},I=function(e,n,a,s){var c=e,f=n,h=s,m=1,d=b(),v=h.error&&0!==y(h.error.stack)&&"object"==typeof h.error?i.parse(h.error):"";if(!h||0!==h.colno||0!==h.lineno||v&&""!==v||!h.message||"Script error."!==h.message&&"Script error"!==h.message){if((null===c||null===f)&&2!==p)return console.log("Login api error");l.hasOwnProperty("apiKey")&&l.hasOwnProperty("logId")&&(c=l.apiKey,f=l.logId);var _=new XMLHttpRequest;_.open("POST","https://api.elmah.io/v3/messages/"+f+"?api_key="+c,!0),_.setRequestHeader("Content-type","application/json"),_.onload=function(e){4===_.readyState&&(201===_.status&&a("success",_.statusText),_.status>=400&&_.status<=499&&(a("error",_.statusText),r.emit("error",_.status,_.statusText)))},_.onerror=function(e){a("error",_.statusText),r.emit("error",_.status,_.statusText)};var C={detail:h.error?h.error.stack:null,title:h.message||"Unspecified error",source:v&&v.length>0?v[0].fileName:null,severity:"Error",type:h.error?h.error.name:null,queryString:JSON.parse(JSON.stringify(d))};if(h.error&&0===y(h.error.stack)&&void 0===C.detail){var w=typeof s.error,E=w.charAt(0).toUpperCase()+w.slice(1);C.detail=A(s),C.source=s.source,C.title="Uncaught "+E+": "+s.error}if(h.error&&h.error.cause&&"object"==typeof h.error.cause&&h.error.cause instanceof Error){var N=S(h.error);C.type=N.type,C.source=N.source}C=O(C,u()),o.length>0&&(C.breadcrumbs=o,o=[]),null!==t.filter&&t.filter(C)&&(m=0),1===m&&(r.emit("message",C),h.error&&"object"==typeof h.error&&0!==y(h.error.stack)&&"undefined"!=typeof Promise&&-1!==Promise.toString().indexOf("[native code]")?T(h.error).then(e=>{C.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(e)}),L(h.error,_,C)}):(C.detail&&C.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(M(h.error,s))}),_.send(JSON.stringify(C))))}else t.debug&&console.log("%c ⯈ Error log: %c 🛈 Ignoring error from external script ",g.lightCSS,g.warningCSS)},D=function(e,n,a,s,c,g){var f=e,h=n,m=s,d=g,v=c,_=1,C=b();if((null===f||null===h)&&2!==p)return console.log("Login api error");l.hasOwnProperty("apiKey")&&l.hasOwnProperty("logId")&&(f=l.apiKey,h=l.logId);var w=new XMLHttpRequest;if(w.open("POST","https://api.elmah.io/v3/messages/"+h+"?api_key="+f,!0),w.setRequestHeader("Content-type","application/json"),w.onload=function(e){4===w.readyState&&(201===w.status&&a("success",w.statusText),w.status>=400&&w.status<=499&&(a("error",w.statusText),r.emit("error",w.status,w.statusText)))},w.onerror=function(e){a("error",w.statusText),r.emit("error",w.status,w.statusText)},"Log"!==m){var E=d&&d instanceof Error&&0!==y(d.stack)?i.parse(d):null,N={title:v,source:E&&E.length>0?E[0].fileName:null,detail:d?d.stack:null,severity:m,type:d?d.name:null,queryString:JSON.parse(JSON.stringify(C))};if(d&&d.cause&&"object"==typeof d.cause&&d.cause instanceof Error){var A=S(d);N.type=A.type,N.source=A.source}N=O(N,u())}else N=d;if(null!==t.filter&&t.filter(N)&&(_=0),1===_)if(N.title){if(o.length>0){if(N.breadcrumbs&&N.breadcrumbs.length>0){o=o.reverse();for(var M=0;M{N.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(e)}),L(d,w,N)}):N.errorObject&&N.errorObject instanceof Error?(d=N.errorObject,delete N.errorObject,T(d).then(e=>{N.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(e)}),L(d,w,N)})):(delete N.errorObject,w.send(JSON.stringify(N)))}else a("missing-title",w.statusText)},F=function(e,n,i,a,s){var c=e,g=n,f=s.message,h=s.message,m=a,y=Object.values(s.arguments),_=1,C=b();if("string"!=typeof(f=function(e,n){var t=e;if(n.length>1)if(String(e).match(/%[sdif]/g)){var r=0;t=String(e).replace(/%[sdif]/g,function(e){switch(e){case"%s":return n[++r]?String(n[r]):"%s";case"%d":return n[++r]?d(n[r])||v(n[r])?parseInt(n[r]):"NaN":"%d";case"%i":return n[++r]?d(n[r])||v(n[r])?parseInt(n[r]):"NaN":"%i";case"%f":return n[++r]?d(n[r])||v(n[r])?parseFloat(n[r]):"NaN":"%f";default:return e}});for(var o=n.length,i=n[++r];r=400&&S.status<=499&&(i("error",S.statusText),r.emit("error",S.status,S.statusText)))},S.onerror=function(e){i("error",S.statusText),r.emit("error",S.status,S.statusText)};var w={title:f,titleTemplate:h,detail:function(e,n,t){for(var r=[],o=0;o0&&(w.breadcrumbs=o,o=[]),null!==t.filter&&t.filter(w)&&(_=0),1===_&&(w.title?(r.emit("message",w),S.send(JSON.stringify(w))):i("missing-title",S.statusText))};return r.error=function(e,n){setTimeout(function(){D(t.apiKey,t.logId,c,"Error",e,n)},t.breadcrumbs?100:0)},r.verbose=function(e,n){setTimeout(function(){D(t.apiKey,t.logId,c,"Verbose",e,n)},t.breadcrumbs?100:0)},r.debug=function(e,n){setTimeout(function(){D(t.apiKey,t.logId,c,"Debug",e,n)},t.breadcrumbs?100:0)},r.information=function(e,n){setTimeout(function(){D(t.apiKey,t.logId,c,"Information",e,n)},t.breadcrumbs?100:0)},r.warning=function(e,n){setTimeout(function(){D(t.apiKey,t.logId,c,"Warning",e,n)},t.breadcrumbs?100:0)},r.fatal=function(e,n){setTimeout(function(){D(t.apiKey,t.logId,c,"Fatal",e,n)},t.breadcrumbs?100:0)},r.log=function(e){setTimeout(function(){D(t.apiKey,t.logId,c,"Log",null,e)},t.breadcrumbs?100:0)},r.message=function(e){return function(e){if(!e)return u();var n=e,t=n&&0!==y(n.stack)?i.parse(n):null,r={title:n.message,source:t&&t.length>0?t[0].fileName:null,detail:n?n.stack:null,severity:"Error",type:n?n.name:null,errorObject:n};if(n&&n.cause&&"object"==typeof n.cause&&n.cause instanceof Error){var o=S(n);r.type=o.type,r.source=o.source}return r=O(r,u())}(e)},r.addBreadcrumb=function(e,n,t){k({severity:null!=n&&_(n)?n:"Information",action:null!=t&&_(t)?t:"Log",message:null!=e&&_(e)?e:"This is just a test message."})},r.on=function(e,n,t){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:n,ctx:t}),this},r.emit=function(e){for(var n=[].slice.call(arguments,1),t=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=t.length;r0&&r<400?o="Information":r>399&&r<500?o="Warning":r>=500&&(o="Error"),k({severity:o,action:"Request",message:"["+n+"] "+t+(r>0?" ("+r+")":"")}))}(t,e,n)},!1),o.apply(this,arguments)}}}if(e.onerror=function(e,n,r,o,i){var a={message:e,source:n,lineno:r,colno:o,error:i};return setTimeout(function(){I(t.apiKey,t.logId,c,a)},t.breadcrumbs?100:0),!1},e.onunhandledrejection=function(e){var n={message:e.reason&&e.reason.message?e.reason.message:void 0,error:e.reason&&e.reason.message&&e.reason.stack?e.reason:void 0};return setTimeout(function(){I(t.apiKey,t.logId,c,n)},t.breadcrumbs?100:0),!1},n&&"none"!==n.captureConsoleMinimumLevel){if("info"===n.captureConsoleMinimumLevel||"warn"===n.captureConsoleMinimumLevel||"error"===n.captureConsoleMinimumLevel||"debug"===n.captureConsoleMinimumLevel){var i=console.error;if(console.error=function(e){var n={message:e,arguments:arguments};setTimeout(function(){F(t.apiKey,t.logId,c,"Error",n)},t.breadcrumbs?100:0),i.apply(console,arguments)},"error"!==n.captureConsoleMinimumLevel){var a=console.warn;console.warn=function(e){var n={message:e,arguments:arguments};setTimeout(function(){F(t.apiKey,t.logId,c,"Warning",n)},t.breadcrumbs?100:0),a.apply(console,arguments)}}}if("info"===n.captureConsoleMinimumLevel||"debug"===n.captureConsoleMinimumLevel){var s=console.info;console.info=function(e){var n={message:e,arguments:arguments};setTimeout(function(){F(t.apiKey,t.logId,c,"Information",n)},t.breadcrumbs?100:0),s.apply(console,arguments)}}if("debug"===n.captureConsoleMinimumLevel){var u=console.debug;console.debug=function(e){var n={message:e,arguments:arguments};setTimeout(function(){F(t.apiKey,t.logId,c,"Debug",n)},t.breadcrumbs?100:0),u.apply(console,arguments)}}}},r.init(n),t.debug&&console.log("%c"+g.label,g.labelCSS),r};return p&&l.hasOwnProperty("apiKey")&&l.hasOwnProperty("logId")?new E:E}); +!function(e,n){"function"==typeof define&&define.amd?define([],function(){return n(e)}):"object"==typeof exports?module.exports=n(e):e.Elmahio=n(e)}("undefined"!=typeof global?global:"undefined"!=typeof window?window:this,function(e){"use strict";for(var n,t,r,o=function(){function e(e){return!isNaN(parseFloat(e))&&isFinite(e)}function n(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var r=["isConstructor","isEval","isNative","isToplevel"],o=["columnNumber","lineNumber"],i=["fileName","functionName","source"],a=r.concat(o,i,["args"]);function s(e){if(e instanceof Object)for(var t=0;t-1&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var n=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),t=n.match(/ (\(.+\)$)/);n=t?n.replace(t[0],""):n;var r=this.extractLocation(t?t[1]:n),i=t&&n||void 0,a=["eval",""].indexOf(r[0])>-1?void 0:r[0];return new o({functionName:i,fileName:a,lineNumber:r[1],columnNumber:r[2],source:e})},this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter(function(e){return!e.match(r)},this).map(function(e){if(e.indexOf(" > eval")>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===e.indexOf("@")&&-1===e.indexOf(":"))return new o({functionName:e});var n=/((.*".+"[^@]*)?[^@]*)(?:@)/,t=e.match(n),r=t&&t[1]?t[1]:void 0,i=this.extractLocation(e.replace(n,""));return new o({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var n=/Line (\d+).*script (?:in )?(\S+)/i,t=e.message.split("\n"),r=[],i=2,a=t.length;i/,"$2").replace(/\([^)]*\)/g,"")||void 0;i.match(/\(([^)]*)\)/)&&(n=i.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var s=void 0===n||"[arguments not available]"===n?void 0:n.split(",");return new o({functionName:a,args:s,fileName:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)}}),a=function(n,t){function r(e){return new Promise(function(n,t){var r=new XMLHttpRequest;r.open("get",e),r.onerror=t,r.onreadystatechange=function(){4===r.readyState&&(r.status>=200&&r.status<300||"file://"===e.substr(0,7)&&r.responseText?n(r.responseText):t(new Error("HTTP status: "+r.status+" retrieving "+e)))},r.send()})}function o(n){if(void 0!==e&&e.atob)return e.atob(n);throw new Error("You must supply a polyfill for window.atob in this environment")}function i(e){if("object"!=typeof e)throw new TypeError("Given StackFrame is not an object");if("string"!=typeof e.fileName)throw new TypeError("Given file name is not a String");if("number"!=typeof e.lineNumber||e.lineNumber%1!=0||e.lineNumber<1)throw new TypeError("Given line number must be a positive integer");if("number"!=typeof e.columnNumber||e.columnNumber%1!=0||e.columnNumber<0)throw new TypeError("Given column number must be a non-negative integer");return!0}return function e(a){if(!(this instanceof e))return new e(a);a=a||{},this.sourceCache=a.sourceCache||{},this.sourceMapConsumerCache=a.sourceMapConsumerCache||{},this.ajax=a.ajax||r,this._atob=a.atob||o,this._get=function(e){return new Promise(function(n,t){var r="data:"===e.substr(0,5);if(this.sourceCache[e])n(this.sourceCache[e]);else if(a.offline&&!r)t(new Error("Cannot make network requests in offline mode"));else if(r){var o=e.match(/^data:application\/json;([\w=:"-]+;)*base64,/);if(o){var i=o[0].length,s=e.substr(i),u=this._atob(s);this.sourceCache[e]=u,n(u)}else t(new Error("The encoding of the inline sourcemap is not supported"))}else{var c=this.ajax(e,{method:"get"});this.sourceCache[e]=c,c.then(n,t)}}.bind(this))},this._getSourceMapConsumer=function(e,t){return new Promise(function(r,o){if(this.sourceMapConsumerCache[e])r(this.sourceMapConsumerCache[e]);else{var i=new Promise(function(r,o){return this._get(e).then(function(e){"string"==typeof e&&(e=function(e){if("undefined"!=typeof JSON&&JSON.parse)return JSON.parse(e);throw new Error("You must supply a polyfill for JSON.parse in this environment")}(e.replace(/^\)\]\}'/,""))),void 0===e.sourceRoot&&(e.sourceRoot=t),r(new n.SourceMapConsumer(e))},o)}.bind(this));this.sourceMapConsumerCache[e]=i,r(i)}}.bind(this))},this.pinpoint=function(e){return new Promise(function(n,t){this.getMappedLocation(e).then(function(e){function t(){n(e)}this.findFunctionName(e).then(n,t).catch(t)}.bind(this),t)}.bind(this))},this.findFunctionName=function(e){return new Promise(function(n,r){i(e),this._get(e.fileName).then(function(r){var o=e.lineNumber,i=e.columnNumber,a=function(e,n){for(var t=[/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/,/function\s+([^('"`]*?)\s*\(([^)]*)\)/,/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/,/\b(?!(?:if|for|switch|while|with|catch)\b)(?:(?:static)\s+)?(\S+)\s*\(.*?\)\s*\{/,/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*\(.*?\)\s*=>/],r=e.split("\n"),o="",i=Math.min(n,20),a=0;a=0&&(s=s.substr(0,u)),s){o=s+o;for(var c=t.length,l=0;l=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)i.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++a];else for(var c=s.originalColumn;s&&s.originalLine===n&&s.originalColumn==c;)i.push({line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++a]}return i},n.SourceMapConsumer=u,c.prototype=Object.create(u.prototype),c.prototype.consumer=u,c.fromSourceMap=function(e){var n=Object.create(c.prototype),t=n._names=i.fromArray(e._names.toArray(),!0),o=n._sources=i.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file;for(var a=e._mappings.toArray().slice(),u=n.__generatedMappings=[],p=n.__originalMappings=[],g=0,f=a.length;g1&&(t.source=m+i[1],m+=i[1],t.originalLine=f+i[2],f=t.originalLine,t.originalLine+=1,t.originalColumn=h+i[3],h=t.originalColumn,i.length>4&&(t.name=d+i[4],d+=i[4])),C.push(t),"number"==typeof t.originalLine&&_.push(t)}s(C,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=C,s(_,r.compareByOriginalPositions),this.__originalMappings=_},c.prototype._findMapping=function(e,n,t,r,i,a){if(e[t]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[t]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return o.search(e,n,i,a)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[t];if(o.generatedLine===n.generatedLine){var i=r.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=r.join(this.sourceRoot,i)));var a=r.getArg(o,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:r.getArg(o,"originalLine",null),column:r.getArg(o,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e})},c.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=r.urlParse(this.sourceRoot))){var o=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!t.path||"/"==t.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(n)return null;throw new Error('"'+e+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(e){var n=r.getArg(e,"source");if(null!=this.sourceRoot&&(n=r.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var t={source:n=this._sources.indexOf(n),originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},o=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===t.source)return{line:r.getArg(i,"generatedLine",null),column:r.getArg(i,"generatedColumn",null),lastColumn:r.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=c,p.prototype=Object.create(u.prototype),p.prototype.constructor=u,p.prototype._version=3,Object.defineProperty(p.prototype,"sources",{get:function(){for(var e=[],n=0;n=0;l--)"."===(a=u[l])?u.splice(l,1):".."===a?c++:c>0&&(""===a?(u.splice(l+1,c),c=0):(u.splice(l,2),c--));return""===(t=u.join("/"))&&(t=s?"/":"."),r?(r.path=t,i(r)):t}n.urlParse=o,n.urlGenerate=i,n.normalize=a,n.join=function(e,n){""===e&&(e="."),""===n&&(n=".");var t=o(n),s=o(e);if(s&&(e=s.path||"/"),t&&!t.scheme)return s&&(t.scheme=s.scheme),i(t);if(t||n.match(r))return n;if(s&&!s.host&&!s.path)return s.host=n,i(s);var u="/"===n.charAt(0)?n:a(e.replace(/\/+$/,"")+"/"+n);return s?(s.path=u,i(s)):u},n.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(t)},n.relative=function(e,n){""===e&&(e="."),e=e.replace(/\/$/,"");for(var t=0;0!==n.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return n;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return n;++t}return Array(t+1).join("../")+n.substr(e.length+1)};var s=!("__proto__"in Object.create(null));function u(e){return e}function c(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var t=n-10;t>=0;t--)if(36!==e.charCodeAt(t))return!1;return!0}function l(e,n){return e===n?0:e>n?1:-1}n.toSetString=s?u:function(e){return c(e)?"$"+e:e},n.fromSetString=s?u:function(e){return c(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,t){var r=e.source-n.source;return 0!==r?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)||t?r:0!=(r=e.generatedColumn-n.generatedColumn)?r:0!=(r=e.generatedLine-n.generatedLine)?r:e.name-n.name},n.compareByGeneratedPositionsDeflated=function(e,n,t){var r=e.generatedLine-n.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-n.generatedColumn)||t?r:0!=(r=e.source-n.source)?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)?r:e.name-n.name},n.compareByGeneratedPositionsInflated=function(e,n){var t=e.generatedLine-n.generatedLine;return 0!==t?t:0!=(t=e.generatedColumn-n.generatedColumn)?t:0!==(t=l(e.source,n.source))?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)?t:l(e.name,n.name)}},function(e,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,r,o){if(0===t.length)return-1;var i=function e(t,r,o,i,a,s){var u=Math.floor((r-t)/2)+t,c=a(o,i[u],!0);return 0===c?u:c>0?r-u>1?e(u,r,o,i,a,s):s==n.LEAST_UPPER_BOUND?r1?e(t,u,o,i,a,s):s==n.LEAST_UPPER_BOUND?u:t<0?-1:t}(-1,t.length,e,t,r,o||n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===r(t[i],t[i-1],!0);)--i;return i}},function(e,n,t){var r=t(1),o=Object.prototype.hasOwnProperty;function i(){this._array=[],this._set=Object.create(null)}i.fromArray=function(e,n){for(var t=new i,r=0,o=e.length;r=0&&e>>=5)>0&&(n|=32),o+=r.encode(n)}while(i>0);return o},n.decode=function(e,n,t){var o,i,a,s,u=e.length,c=0,l=0;do{if(n>=u)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=r.decode(e.charCodeAt(n++))))throw new Error("Invalid base64 digit: "+e.charAt(n-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-s:s),t.rest=n}},function(e,n){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e ".length;e&&r++<5&&!("html"===(n=S(e))||r>1&&o+t.length*i+n.length>=80);)t.push(n),o+=n.length,e=e.parentNode;return t.reverse().join(" > ")}function S(e){var n,t,r,o,i,a=[];if(!e||!e.tagName)return"";if(a.push(e.tagName.toLowerCase()),e.id&&a.push("#"+e.id),(n=e.className)&&_(n))for(t=n.split(/\s+/),i=0;i0?a[0].fileName:null}"type"===o&&(t=n[o]),"inner"===o&&0!==n[o].length&&e(n[o])})}(n),{type:t,source:r}}function E(e,n,t,r){var o=null;return n.forEach(function(e,t){if(e.functionName)var r=e.functionName+" ";else r="";var i=" at "+r+"("+e.fileName+":"+e.lineNumber+":"+e.columnNumber+")";n[t]=i,0===t&&(o=e.fileName||null)}),t?n.unshift("\nCaused by: "+e):n.unshift(e),r?{newFrames:n,fileName:o}:n}function N(e){if(e){var n=new a;return new Promise(function(t){t(Promise.all(e.map(function(e){return new Promise(function(t){function r(){t(e)}n.pinpoint(e).then(t,r).catch(r)})})))})}return new Promise(function(e){return e([])})}function L(e,n,t){var r=m(e),o=[],a=[];!function e(n){Object.keys(n).forEach(function(t){"error"===t&&0!==y(n[t].stack)&&(o.push(n[t].toString().split("\n")[0]),a.push(N(i.parse(n[t])))),"inner"===t&&0!==n[t].length&&e(n[t])})}(r),Promise.all(a).then(e=>{e.forEach(function(e,n){0===n?t.detail=E(o[n],e,!1).join("\n"):t.detail+=E(o[n],e,!0).join("\n")})}).then(function(){n.send(JSON.stringify(t))})}function A(e){var n=typeof e.error;return n.charAt(0).toUpperCase()+n.slice(1)+": "+e.error+"\n at ("+e.source+":"+e.lineno+":"+e.colno+")"}function M(e,n,t){for(var r=[],o=0;o0?o[0].fileName:null,r.Inners=e.cause&&"object"==typeof e.cause&&e.cause instanceof Error?[T(e.cause)]:[],e.cause&&r.Inners instanceof Array&&0===r.Inners.length&&("number"!=typeof e.cause&&"string"!=typeof e.cause&&"boolean"!=typeof e.cause||(r.ExceptionSpecific=[{key:"cause",value:e.cause}]),"bigint"==typeof e.cause&&(r.ExceptionSpecific=[{key:"cause",value:e.cause.toString()+"n"}]),"symbol"==typeof e.cause&&(r.ExceptionSpecific=[{key:"cause",value:e.cause.toString()}]),"object"==typeof e.cause&&(0!==Object.keys(r).length||r.constructor!==Object))){let n=[];for(const[t,r]of Object.entries(e.cause))"number"!=typeof r&&"string"!=typeof r&&"boolean"!=typeof r||n.push({key:t,value:r}),"bigint"==typeof r&&n.push({key:t,value:r.toString()+"n"}),"symbol"==typeof r&&n.push({key:t,value:r.toString()});r.ExceptionSpecific=n}}else r.Type=typeof n.error||null,r.Message=n.message||null,r.StackTrace=A(n),r.Source=n.source||null,r.Inners=[];return r}function k(e){var n=T(e),t=[];function r(e,n){Object.keys(e).forEach(function(o){"StackTrace"===o&&(n?e[o].then(n=>{var t=E(e.Type+": "+e.Message,n,!1,!0);e[o]=t.newFrames.join("\n"),e.Source=t.fileName||null}):(e[o]=N(e[o]),t.push(e[o]))),"Inners"===o&&0!==e[o].length&&r(e[o][0],n)})}return r(n,!1),new Promise(function(e,o){Promise.all(t).then(function(e){r(n,!0)}).then(function(){e(n)})})}var x=function(e){var t=O({dateTime:(new Date).toISOString()},e),r=10;o.push(t),n.breadcrumbsNumber>=0&&"number"==typeof n.breadcrumbsNumber&&(n.breadcrumbsNumber>25?r=25:n.breadcrumbsNumber<=25&&(r=n.breadcrumbsNumber)),o.length>r&&o.shift()},P=function(e){var n;try{n=C(e.target)}catch(e){n=""}x({severity:"Information",action:"Click",message:n})},j=function(e){var n;try{n=C(e.target)}catch(e){n=""}x({severity:"Information",action:"Form submit",message:n})},R=function(n){var t=null;switch(n.type){case"load":t="Page loaded";break;case"DOMContentLoaded":t="DOMContentLoaded";break;case"pageshow":t="Page shown";break;case"pagehide":t="Page hidden";break;case"popstate":t="Navigated from: "+s+" to: "+e.location.href}x({severity:"Information",action:"Navigation",message:t})},I=function(e){var n=e.oldURL,t=e.newURL,r=null;r=n&&t?"from: '"+w(n)+"' to: '"+w(t)+"'":"to: '"+location.hash+"'",x({severity:"Information",action:"Navigation",message:"Hash changed "+r})},D=function(e,n,a,s){var c=e,f=n,h=s,m=1,d=b(),v=h.error&&0!==y(h.error.stack)&&"object"==typeof h.error?i.parse(h.error):"";if(!h||0!==h.colno||0!==h.lineno||v&&""!==v||!h.message||"Script error."!==h.message&&"Script error"!==h.message){if((null===c||null===f)&&2!==p)return console.log("Login api error");l.hasOwnProperty("apiKey")&&l.hasOwnProperty("logId")&&(c=l.apiKey,f=l.logId);var _=new XMLHttpRequest;_.open("POST","https://api.elmah.io/v3/messages/"+f+"?api_key="+c,!0),_.setRequestHeader("Content-type","application/json"),_.onload=function(e){4===_.readyState&&(201===_.status&&a("success",_.statusText),_.status>=400&&_.status<=499&&(a("error",_.statusText),r.emit("error",_.status,_.statusText)))},_.onerror=function(e){a("error",_.statusText),r.emit("error",_.status,_.statusText)};var C={detail:h.error?h.error.stack:null,title:h.message||"Unspecified error",source:v&&v.length>0?v[0].fileName:null,severity:"Error",type:h.error?h.error.name:null,queryString:JSON.parse(JSON.stringify(d))};if(h.error&&0===y(h.error.stack)&&void 0===C.detail){var w=typeof s.error,E=w.charAt(0).toUpperCase()+w.slice(1);C.detail=A(s),C.source=s.source,C.title="Uncaught "+E+": "+s.error}if(h.error&&h.error.cause&&"object"==typeof h.error.cause&&h.error.cause instanceof Error){var N=S(h.error);C.type=N.type,C.source=N.source}C=O(C,u()),o.length>0&&(C.breadcrumbs=o,o=[]),null!==t.filter&&t.filter(C)&&(m=0),1===m&&(r.emit("message",C),h.error&&"object"==typeof h.error&&0!==y(h.error.stack)&&"undefined"!=typeof Promise&&-1!==Promise.toString().indexOf("[native code]")?k(h.error).then(e=>{C.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(e)}),L(h.error,_,C)}):(C.detail&&C.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(T(h.error,s))}),_.send(JSON.stringify(C))))}else t.debug&&console.log("%c ⯈ Error log: %c 🛈 Ignoring error from external script ",g.lightCSS,g.warningCSS)},F=function(e,n,a,s,c,g){var f=e,h=n,m=s,d=g,v=c,_=1,C=b();if((null===f||null===h)&&2!==p)return console.log("Login api error");l.hasOwnProperty("apiKey")&&l.hasOwnProperty("logId")&&(f=l.apiKey,h=l.logId);var w=new XMLHttpRequest;if(w.open("POST","https://api.elmah.io/v3/messages/"+h+"?api_key="+f,!0),w.setRequestHeader("Content-type","application/json"),w.onload=function(e){4===w.readyState&&(201===w.status&&a("success",w.statusText),w.status>=400&&w.status<=499&&(a("error",w.statusText),r.emit("error",w.status,w.statusText)))},w.onerror=function(e){a("error",w.statusText),r.emit("error",w.status,w.statusText)},"Log"!==m){var E=d&&d instanceof Error&&0!==y(d.stack)?i.parse(d):null,N={title:v,source:E&&E.length>0?E[0].fileName:null,detail:d?d.stack:null,severity:m,type:d?d.name:null,queryString:JSON.parse(JSON.stringify(C))};if(d&&d.cause&&"object"==typeof d.cause&&d.cause instanceof Error){var A=S(d);N.type=A.type,N.source=A.source}N=O(N,u())}else N=d;if(null!==t.filter&&t.filter(N)&&(_=0),1===_)if(N.title){if(o.length>0){if(N.breadcrumbs&&N.breadcrumbs.length>0){o=o.reverse();for(var M=0;M{N.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(e)}),L(d,w,N)}):N.errorObject&&N.errorObject instanceof Error?(d=N.errorObject,delete N.errorObject,k(d).then(e=>{N.data.push({key:"X-ELMAHIO-EXCEPTIONINSPECTOR",value:JSON.stringify(e)}),L(d,w,N)})):(delete N.errorObject,w.send(JSON.stringify(N)))}else a("missing-title",w.statusText)},B=function(e,n,i,a,s){var c=e,g=n,f=s.message,h=s.message,m=a,y=Object.values(s.arguments),_=1,C=b();if("string"!=typeof(f=function(e,n){var t=e;if(n.length>1)if(String(e).match(/%[sdif]/g)){var r=0;t=String(e).replace(/%[sdif]/g,function(e){switch(e){case"%s":return n[++r]?String(n[r]):"%s";case"%d":return n[++r]?d(n[r])||v(n[r])?parseInt(n[r]):"NaN":"%d";case"%i":return n[++r]?d(n[r])||v(n[r])?parseInt(n[r]):"NaN":"%i";case"%f":return n[++r]?d(n[r])||v(n[r])?parseFloat(n[r]):"NaN":"%f";default:return e}});for(var o=n.length,i=n[++r];r=400&&S.status<=499&&(i("error",S.statusText),r.emit("error",S.status,S.statusText)))},S.onerror=function(e){i("error",S.statusText),r.emit("error",S.status,S.statusText)};var w={title:f,titleTemplate:h,detail:M((new Error).stack.split("\n"),m,f),severity:m,type:null,queryString:JSON.parse(JSON.stringify(C))};w=O(w,u()),o.length>0&&(w.breadcrumbs=o,o=[]),null!==t.filter&&t.filter(w)&&(_=0),1===_&&(w.title?(r.emit("message",w),S.send(JSON.stringify(w))):i("missing-title",S.statusText))};return r.error=function(e,n){setTimeout(function(){F(t.apiKey,t.logId,c,"Error",e,n)},t.breadcrumbs?100:0)},r.verbose=function(e,n){setTimeout(function(){F(t.apiKey,t.logId,c,"Verbose",e,n)},t.breadcrumbs?100:0)},r.debug=function(e,n){setTimeout(function(){F(t.apiKey,t.logId,c,"Debug",e,n)},t.breadcrumbs?100:0)},r.information=function(e,n){setTimeout(function(){F(t.apiKey,t.logId,c,"Information",e,n)},t.breadcrumbs?100:0)},r.warning=function(e,n){setTimeout(function(){F(t.apiKey,t.logId,c,"Warning",e,n)},t.breadcrumbs?100:0)},r.fatal=function(e,n){setTimeout(function(){F(t.apiKey,t.logId,c,"Fatal",e,n)},t.breadcrumbs?100:0)},r.log=function(e){setTimeout(function(){F(t.apiKey,t.logId,c,"Log",null,e)},t.breadcrumbs?100:0)},r.message=function(e){return function(e){if(!e)return u();var n=e,t=n&&0!==y(n.stack)?i.parse(n):null,r={title:n.message,source:t&&t.length>0?t[0].fileName:null,detail:n?n.stack:null,severity:"Error",type:n?n.name:null,errorObject:n};if(n&&n.cause&&"object"==typeof n.cause&&n.cause instanceof Error){var o=S(n);r.type=o.type,r.source=o.source}return r=O(r,u())}(e)},r.addBreadcrumb=function(e,n,t){x({severity:null!=n&&_(n)?n:"Information",action:null!=t&&_(t)?t:"Log",message:null!=e&&_(e)?e:"This is just a test message."})},r.on=function(e,n,t){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:n,ctx:t}),this},r.emit=function(e){for(var n=[].slice.call(arguments,1),t=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=t.length;r0&&r<400?o="Information":r>399&&r<500?o="Warning":r>=500&&(o="Error"),x({severity:o,action:"Request",message:"["+n+"] "+t+(r>0?" ("+r+")":"")}))}(t,e,n)},!1),o.apply(this,arguments)}}}if(e.onerror=function(e,n,r,o,i){var a={message:e,source:n,lineno:r,colno:o,error:i};return setTimeout(function(){D(t.apiKey,t.logId,c,a)},t.breadcrumbs?100:0),!1},e.onunhandledrejection=function(e){var n={message:e.reason&&e.reason.message?e.reason.message:void 0,error:e.reason&&e.reason.message&&e.reason.stack?e.reason:void 0};return setTimeout(function(){D(t.apiKey,t.logId,c,n)},t.breadcrumbs?100:0),!1},n&&"none"!==n.captureConsoleMinimumLevel){if("info"===n.captureConsoleMinimumLevel||"warn"===n.captureConsoleMinimumLevel||"error"===n.captureConsoleMinimumLevel||"debug"===n.captureConsoleMinimumLevel){var i=console.error;if(console.error=function(e){var n={message:e,arguments:arguments};setTimeout(function(){B(t.apiKey,t.logId,c,"Error",n)},t.breadcrumbs?100:0),i.apply(console,arguments)},"error"!==n.captureConsoleMinimumLevel){var a=console.warn;console.warn=function(e){var n={message:e,arguments:arguments};setTimeout(function(){B(t.apiKey,t.logId,c,"Warning",n)},t.breadcrumbs?100:0),a.apply(console,arguments)}}}if("info"===n.captureConsoleMinimumLevel||"debug"===n.captureConsoleMinimumLevel){var s=console.info;console.info=function(e){var n={message:e,arguments:arguments};setTimeout(function(){B(t.apiKey,t.logId,c,"Information",n)},t.breadcrumbs?100:0),s.apply(console,arguments)}}if("debug"===n.captureConsoleMinimumLevel){var u=console.debug;console.debug=function(e){var n={message:e,arguments:arguments};setTimeout(function(){B(t.apiKey,t.logId,c,"Debug",n)},t.breadcrumbs?100:0),u.apply(console,arguments)}}}},r.init(n),t.debug&&console.log("%c"+g.label,g.labelCSS),r};return p&&l.hasOwnProperty("apiKey")&&l.hasOwnProperty("logId")?new E:E}); //# sourceMappingURL=elmahio.min.js.map diff --git a/dist/elmahio.min.js.map b/dist/elmahio.min.js.map index f0e00c5..168feb8 100644 --- a/dist/elmahio.min.js.map +++ b/dist/elmahio.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["elmahio.js"],"names":["root","factory","define","amd","exports","module","Elmahio","global","window","this","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","StackFrame","_isNumber","n","isNaN","parseFloat","isFinite","_capitalize","str","charAt","toUpperCase","substring","_getter","p","booleanProps","numericProps","stringProps","props","concat","obj","Object","i","length","hasOwnProperty","undefined","prototype","getArgs","args","setArgs","v","toString","call","TypeError","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","join","getFileName","getLineNumber","getColumnNumber","fromString","argsStartIndex","indexOf","argsEndIndex","lastIndexOf","functionName","split","locationString","parts","exec","fileName","lineNumber","columnNumber","Boolean","j","Number","k","String","ErrorStackParser","parse","error","stacktrace","parseOpera","stack","match","parseV8OrIE","parseFFOrSafari","Error","extractLocation","urlLike","replace","filter","line","map","sanitizedLine","location","locationParts","source","functionNameRegex","matches","e","message","parseOpera9","parseOpera11","parseOpera10","lineRE","lines","result","len","push","argsRaw","tokens","pop","functionCall","shift","StackTraceGPS","SourceMap","_xdr","url","Promise","resolve","reject","req","XMLHttpRequest","open","onerror","onreadystatechange","readyState","status","substr","responseText","send","_atob","b64str","atob","_ensureStackFrameIsLegit","stackframe","opts","sourceCache","sourceMapConsumerCache","ajax","_get","isDataUrl","offline","sourceMapStart","encodedSource","xhrPromise","method","then","bind","_getSourceMapConsumer","sourceMappingURL","defaultSourceRoot","sourceMapConsumerPromise","sourceMapSource","string","JSON","_parseJson","sourceRoot","SourceMapConsumer","pinpoint","getMappedLocation","mappedStackFrame","resolveMappedStackFrame","findFunctionName","guessedFunctionName","syntaxes","code","maxLines","Math","min","commentPos","index","m","_findFunctionName","defineProperty","create","_ensureSupportedEnvironment","lastSourceMappingUrl","matchSourceMappingUrl","sourceMappingUrlRegExp","_findSourceMappingURL","test","sourceMapConsumer","loc","originalPositionFor","column","mappedSource","sourceContentFor","name","_extractLocationInfoFromSourceMapSource","r","t","o","id","loaded","c","ArraySet","a","s","quickSort","u","sections","l","getArg","g","_version","normalize","isAbsolute","relative","_names","fromArray","_sources","sourcesContent","_mappings","file","generatedLine","generatedColumn","originalLine","originalColumn","_sections","generatedOffset","consumer","fromSourceMap","__generatedMappings","get","_parseMappings","__originalMappings","_charIsMappingSeparator","GENERATED_ORDER","ORIGINAL_ORDER","GREATEST_LOWER_BOUND","LEAST_UPPER_BOUND","eachMapping","_generatedMappings","_originalMappings","at","forEach","allGeneratedPositionsFor","has","_findMapping","compareByOriginalPositions","lastColumn","toArray","_sourceRoot","_generateSourcesContent","_file","slice","h","f","d","_","C","A","y","L","decode","value","rest","compareByGeneratedPositionsDeflated","search","computeColumnSpans","lastGeneratedColumn","hasContentsOfAllSources","size","some","urlParse","scheme","path","generatedPositionFor","BasicSourceMapConsumer","constructor","sources","bias","every","add","IndexedSourceMapConsumer","arguments","auth","host","port","splice","urlGenerate","Array","charCodeAt","toSetString","fromSetString","compareByGeneratedPositionsInflated","floor","_array","_set","getOwnPropertyNames","encode","round","random","myScript","scriptFile","document","getElementsByTagName","isMe","params","query","Params","Pairs","KeyVal","key","unescape","val","parseQuery","src","paramsLength","objectLength","debugSettings","label","labelCSS","successCSS","errorCSS","warningCSS","lightCSS","defaults","apiKey","logId","debug","application","captureConsoleMinimumLevel","breadcrumbs","breadcrumbsNumber","extend","extended","deep","merge","prop","scriptElem","getAttribute","isInt","isFloat","getSearchParameters","prmstr","prmarr","tmparr","transformToAssocArray","merge_objects","obj1","obj2","obj3","attrname1","attrname2","isString","what","cssSelectorString","elem","nextStr","out","height","sepLength","htmlElementAsString","parentNode","reverse","className","classes","attr","tagName","toLowerCase","attrWhitelist","parseHash","Constructor","options","settings","publicAPIs","lastHref","href","getPayload","payload","pathname","payload_data","documentMode","innerWidth","documentElement","clientWidth","innerHeight","clientHeight","screen","msOrientation","orientation","mozOrientation","type","width","colorDepth","data","payload_serverVariables","navigator","language","userAgent","referrer","protocol","hostname","serverVariables","confirmResponse","response","console","log","Date","toLocaleString","generateErrorObject","inner","cause","getErrorTypeSource","object","iterateObj","keys","GenerateNewFrames","errorMessage","newFrames","lastInnerFileName","stackFrame","fn","stackString","unshift","GPSPromise","stackframes","gps","all","sf","resolveOriginal","stackGPS","xhr","jsonData","messagesArr","promiseArr","values","detail","stringify","typeOF","lineno","colno","inspectorObj","fullError","s4","Id","Type","Message","StackTrace","Source","Inners","ExceptionSpecific","objEntries","entries","inspectorGPS","inspectorObject","final","generateNewFrames","recordBreadcrumb","crumb","dateTime","toISOString","breadcrumbs_number","breadcrumbClickEventHandler","evt","target","severity","action","breadcrumbFormSubmitEventHandler","breadcrumbWindowEventHandler","breadcrumbHashChangeEventHandler","oldURL","newURL","hash","sendPayload","callback","errorLog","api_key","log_id","queryParams","setRequestHeader","onload","statusText","emit","title","queryString","typeOFCapitalized","typeAndSource","sendManualPayload","logType","messageLog","errorObject","sendPayloadFromConsole","messageTemplate","x","parseInt","format","titleTemplate","errorStack","manipulateStack","msg","setTimeout","verbose","information","warning","fatal","sendPrefilledLogMessage","addBreadcrumb","on","ctx","evtArr","apply","init","addEventListener","attachEvent","history","pushState","replaceState","old_onpopstate","onpopstate","event","breadcrumbXHRHandler","onunhandledrejection","reason","_error","errMessage","_warning","warn","warnMessage","_info","info","infoMessage","_debug","debugMessage"],"mappings":"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","sourcesContent":["/*!\n * elmah.io Javascript Logger - version 4.1.0\n * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io\n */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Elmahio = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n //\n // ==== STACKFRAME ====\n //\n\n var StackFrame = (function () {\n \"use strict\";\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = [\"isConstructor\", \"isEval\", \"isNative\", \"isToplevel\"];\n var numericProps = [\"columnNumber\", \"lineNumber\"];\n var stringProps = [\"fileName\", \"functionName\", \"source\"];\n var arrayProps = [\"args\"];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this[\"set\" + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== \"[object Array]\") {\n throw new TypeError(\"Args must be an Array\");\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError(\"Eval Origin must be an Object or StackFrame\");\n }\n },\n toString: function () {\n var functionName = this.getFunctionName() || \"{anonymous}\";\n var args = \"(\" + (this.getArgs() || []).join(\",\") + \")\";\n var fileName = this.getFileName() ? \"@\" + this.getFileName() : \"\";\n var lineNumber = _isNumber(this.getLineNumber()) ? \":\" + this.getLineNumber() : \"\";\n var columnNumber = _isNumber(this.getColumnNumber()) ? \":\" + this.getColumnNumber() : \"\";\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf(\"(\");\n var argsEndIndex = str.lastIndexOf(\")\");\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(\",\");\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf(\"@\") === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, \"\");\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype[\"get\" + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype[\"set\" + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype[\"get\" + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype[\"set\" + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + \" must be a Number\");\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype[\"get\" + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype[\"set\" + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n })();\n\n //\n // ==== ERROR STACK PARSER ====\n //\n\n var ErrorStackParser = (function () {\n 'use strict';\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n })();\n\n //\n // ==== STACKTRACE-GPS ====\n //\n\n var SourceMap = function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={exports:{},id:t,loaded:!1};return e[t].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.m=e,r.c=n,r.p=\"\",r(0)}([function(e,n,r){var t=r(1),o=r(2),i=r(3).ArraySet,a=r(4),s=r(6).quickSort;function u(e){var n=e;return\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\"))),null!=n.sections?new c(n):new l(n)}function l(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sources\"),a=t.getArg(n,\"names\",[]),s=t.getArg(n,\"sourceRoot\",null),u=t.getArg(n,\"sourcesContent\",null),l=t.getArg(n,\"mappings\"),g=t.getArg(n,\"file\",null);if(r!=this._version)throw new Error(\"Unsupported version: \"+r);o=o.map(String).map(t.normalize).map(function(e){return s&&t.isAbsolute(s)&&t.isAbsolute(e)?t.relative(s,e):e}),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(o,!0),this.sourceRoot=s,this.sourcesContent=u,this._mappings=l,this.file=g}function g(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function c(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sections\");if(r!=this._version)throw new Error(\"Unsupported version: \"+r);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=o.map(function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var n=t.getArg(e,\"offset\"),r=t.getArg(n,\"line\"),o=t.getArg(n,\"column\");if(r=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a];else for(var l=s.originalColumn;s&&s.originalLine===n&&s.originalColumn==l;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a]}return i},n.SourceMapConsumer=u,l.prototype=Object.create(u.prototype),l.prototype.consumer=u,l.fromSourceMap=function(e){var n=Object.create(l.prototype),r=n._names=i.fromArray(e._names.toArray(),!0),o=n._sources=i.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file;for(var a=e._mappings.toArray().slice(),u=n.__generatedMappings=[],c=n.__originalMappings=[],p=0,h=a.length;p1&&(r.source=d+i[1],d+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+i[3],f=r.originalColumn,i.length>4&&(r.name=m+i[4],m+=i[4])),L.push(r),\"number\"==typeof r.originalLine&&y.push(r)}s(L,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=L,s(y,t.compareByOriginalPositions),this.__originalMappings=y},l.prototype._findMapping=function(e,n,r,t,i,a){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[t]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[t]);return o.search(e,n,i,a)},l.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=t.getArg(o,\"source\",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=t.join(this.sourceRoot,i)));var a=t.getArg(o,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:i,line:t.getArg(o,\"originalLine\",null),column:t.getArg(o,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},l.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=t.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=t.urlParse(this.sourceRoot))){var o=e.replace(/^file:\\/\\//,\"\");if(\"file\"==r.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!r.path||\"/\"==r.path)&&this._sources.has(\"/\"+e))return this.sourcesContent[this._sources.indexOf(\"/\"+e)]}if(n)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var n=t.getArg(e,\"source\");if(null!=this.sourceRoot&&(n=t.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var r={source:n=this._sources.indexOf(n),originalLine:t.getArg(e,\"line\"),originalColumn:t.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",t.compareByOriginalPositions,t.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:t.getArg(i,\"generatedLine\",null),column:t.getArg(i,\"generatedColumn\",null),lastColumn:t.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=l,c.prototype=Object.create(u.prototype),c.prototype.constructor=u,c.prototype._version=3,Object.defineProperty(c.prototype,\"sources\",{get:function(){for(var e=[],n=0;n=0;g--)\".\"===(a=u[g])?u.splice(g,1):\"..\"===a?l++:l>0&&(\"\"===a?(u.splice(g+1,l),l=0):(u.splice(g,2),l--));return\"\"===(r=u.join(\"/\"))&&(r=s?\"/\":\".\"),t?(t.path=r,i(t)):r}n.urlParse=o,n.urlGenerate=i,n.normalize=a,n.join=function(e,n){\"\"===e&&(e=\".\"),\"\"===n&&(n=\".\");var r=o(n),s=o(e);if(s&&(e=s.path||\"/\"),r&&!r.scheme)return s&&(r.scheme=s.scheme),i(r);if(r||n.match(t))return n;if(s&&!s.host&&!s.path)return s.host=n,i(s);var u=\"/\"===n.charAt(0)?n:a(e.replace(/\\/+$/,\"\")+\"/\"+n);return s?(s.path=u,i(s)):u},n.isAbsolute=function(e){return\"/\"===e.charAt(0)||!!e.match(r)},n.relative=function(e,n){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==n.indexOf(e+\"/\");){var t=e.lastIndexOf(\"/\");if(t<0)return n;if((e=e.slice(0,t)).match(/^([^\\/]+:\\/)?\\/*$/))return n;++r}return Array(r+1).join(\"../\")+n.substr(e.length+1)};var s=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function g(e,n){return e===n?0:e>n?1:-1}n.toSetString=s?u:function(e){return l(e)?\"$\"+e:e},n.fromSetString=s?u:function(e){return l(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,r){var t=e.source-n.source;return 0!==t?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)||r?t:0!=(t=e.generatedColumn-n.generatedColumn)?t:0!=(t=e.generatedLine-n.generatedLine)?t:e.name-n.name},n.compareByGeneratedPositionsDeflated=function(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t?t:0!=(t=e.generatedColumn-n.generatedColumn)||r?t:0!=(t=e.source-n.source)?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)?t:e.name-n.name},n.compareByGeneratedPositionsInflated=function(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-n.generatedColumn)?r:0!==(r=g(e.source,n.source))?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)?r:g(e.name,n.name)}},function(e,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,r,t,o){if(0===r.length)return-1;var i=function e(r,t,o,i,a,s){var u=Math.floor((t-r)/2)+r,l=a(o,i[u],!0);return 0===l?u:l>0?t-u>1?e(u,t,o,i,a,s):s==n.LEAST_UPPER_BOUND?t1?e(r,u,o,i,a,s):s==n.LEAST_UPPER_BOUND?u:r<0?-1:r}(-1,r.length,e,r,t,o||n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===t(r[i],r[i-1],!0);)--i;return i}},function(e,n,r){var t=r(1),o=Object.prototype.hasOwnProperty;function i(){this._array=[],this._set=Object.create(null)}i.fromArray=function(e,n){for(var r=new i,t=0,o=e.length;t=0&&e>>=5)>0&&(n|=32),o+=t.encode(n)}while(i>0);return o},n.decode=function(e,n,r){var o,i,a,s,u=e.length,l=0,g=0;do{if(n>=u)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&i),l+=(i&=31)<>1,1==(1&a)?-s:s),r.rest=n}},function(e,n){var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");n.encode=function(e){if(0<=e&&e= 200 && req.status < 300 || url.substr(0, 7) === \"file://\" && req.responseText) {\n resolve(req.responseText);\n } else {\n reject(new Error(\"HTTP status: \" + req.status + \" retrieving \" + url));\n }\n }\n };\n req.send();\n });\n }\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== \"undefined\" && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error(\"You must supply a polyfill for window.atob in this environment\");\n }\n }\n function _parseJson(string) {\n if (typeof JSON !== \"undefined\" && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error(\"You must supply a polyfill for JSON.parse in this environment\");\n }\n }\n function _findFunctionName(source, lineNumber) {\n var syntaxes = [ // {name} = function ({args}) TODO args capture\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/, // function {name}({args}) m[1]=name m[2]=args\n /function\\s+([^('\"`]*?)\\s*\\(([^)]*)\\)/, // {name} = eval()\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/, // fn_name() {\n /\\b(?!(?:if|for|switch|while|with|catch)\\b)(?:(?:static)\\s+)?(\\S+)\\s*\\(.*?\\)\\s*\\{/, // {name} = () => {\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*\\(.*?\\)\\s*=>/];\n var lines = source.split(\"\\n\");\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = \"\";\n var maxLines = Math.min(lineNumber, 20);\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf(\"//\");\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n if (line) {\n code = line + code;\n var len = syntaxes.length;\n for (var index = 0; index < len; index++) {\n var m = syntaxes[index].exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n }\n return undefined;\n }\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== \"function\" || typeof Object.create !== \"function\") {\n throw new Error(\"Unable to consume source maps in older browsers\");\n }\n }\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== \"object\") {\n throw new TypeError(\"Given StackFrame is not an object\");\n } else if (typeof stackframe.fileName !== \"string\") {\n throw new TypeError(\"Given file name is not a String\");\n } else if (typeof stackframe.lineNumber !== \"number\" || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) {\n throw new TypeError(\"Given line number must be a positive integer\");\n } else if (typeof stackframe.columnNumber !== \"number\" || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) {\n throw new TypeError(\"Given column number must be a non-negative integer\");\n }\n return true;\n }\n function _findSourceMappingURL(source) {\n var sourceMappingUrlRegExp = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/gm;\n var lastSourceMappingUrl;\n var matchSourceMappingUrl;\n while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) {\n // jshint ignore:line\n lastSourceMappingUrl = matchSourceMappingUrl[1];\n }\n if (lastSourceMappingUrl) {\n return lastSourceMappingUrl;\n } else {\n throw new Error(\"sourceMappingURL not found\");\n }\n }\n function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) {\n return new Promise(function (resolve, reject) {\n var loc = sourceMapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n if (loc.source) {\n // cache mapped sources\n var mappedSource = sourceMapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(// given stackframe and source location, update stackframe\n new StackFrame({\n functionName: loc.name || stackframe.functionName,\n args: stackframe.args,\n fileName: loc.source,\n lineNumber: loc.line,\n columnNumber: loc.column\n }));\n } else {\n reject(new Error(\"Could not get original source for given stackframe and source map\"));\n }\n });\n }\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer}\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n this.sourceCache = opts.sourceCache || {};\n this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {};\n this.ajax = opts.ajax || _xdr;\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function (resolve, reject) {\n var isDataUrl = location.substr(0, 5) === \"data:\";\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error(\"Cannot make network requests in offline mode\"));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp = /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error(\"The encoding of the inline sourcemap is not supported\"));\n }\n } else {\n var xhrPromise = this.ajax(location, {\n method: \"get\"\n });\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n /**\n * Creating SourceMapConsumers is expensive, so this wraps the creation of a\n * SourceMapConsumer in a per-instance cache.\n *\n * @param {String} sourceMappingURL = URL to fetch source map from\n * @param {String} defaultSourceRoot = Default source root for source map if undefined\n * @returns {Promise} that resolves a SourceMapConsumer\n */\n this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) {\n return new Promise(function (resolve, reject) {\n if (this.sourceMapConsumerCache[sourceMappingURL]) {\n resolve(this.sourceMapConsumerCache[sourceMappingURL]);\n } else {\n var sourceMapConsumerPromise = new Promise(function (resolve, reject) {\n return this._get(sourceMappingURL).then(function (sourceMapSource) {\n if (typeof sourceMapSource === \"string\") {\n sourceMapSource = _parseJson(sourceMapSource.replace(/^\\)\\]\\}'/, \"\"));\n }\n if (typeof sourceMapSource.sourceRoot === \"undefined\") {\n sourceMapSource.sourceRoot = defaultSourceRoot;\n }\n resolve(new SourceMap.SourceMapConsumer(sourceMapSource));\n }, reject);\n }.bind(this));\n this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise;\n resolve(sourceMapConsumerPromise);\n }\n }.bind(this));\n };\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function (resolve, reject) {\n this.getMappedLocation(stackframe).then(function (mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n this.findFunctionName(mappedStackFrame).then(resolve, resolveMappedStackFrame)[\"catch\"](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame({\n functionName: guessedFunctionName,\n args: stackframe.args,\n fileName: stackframe.fileName,\n lineNumber: lineNumber,\n columnNumber: columnNumber\n }));\n } else {\n resolve(stackframe);\n }\n }, reject)[\"catch\"](reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function (source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === \"data:\";\n var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf(\"/\") + 1);\n if (sourceMappingURL[0] !== \"/\" && !isDataUrl && !/^https?:\\/\\/|^\\/\\//i.test(sourceMappingURL)) {\n sourceMappingURL = defaultSourceRoot + sourceMappingURL;\n }\n return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot).then(function (sourceMapConsumer) {\n return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache).then(resolve)[\"catch\"](function () {\n resolve(stackframe);\n });\n });\n }.bind(this), reject)[\"catch\"](reject);\n }.bind(this));\n };\n };\n })(SourceMap, StackFrame);\n\n //\n // Shared Variables\n //\n\n var myScript = null;\n var scriptFile = document.getElementsByTagName('script');\n \n for (var i = 0; i < scriptFile.length; ++i) {\n if(isMe(scriptFile[i])) {\n myScript = scriptFile[i];\n }\n }\n\n var queryString = myScript != null ? myScript.src.replace(/^[^\\?]+\\??/, '') : null;\n var params = parseQuery(queryString);\n var paramsLength = objectLength(params);\n\n var debugSettings = {\n label: ' elmah.io debugger : On ',\n labelCSS: 'background: #06a89c; color: #ffffff; display: inline-block; font-size: 14px;',\n successCSS: 'background: #d4edda; color: #155724; display: inline-block; font-size: 13px;',\n errorCSS: 'background: #f8d7da; color: #721c24; display: inline-block; font-size: 13px;',\n warningCSS: 'background: #fff3cd; color: #856404; display: inline-block; font-size: 13px;',\n lightCSS: 'background: #e2e3e5; color: #383d41; display: inline-block; font-size: 13px;'\n };\n\n var defaults = {\n apiKey: null,\n logId: null,\n debug: false,\n application: null,\n filter: null,\n captureConsoleMinimumLevel: 'none',\n breadcrumbs: false,\n breadcrumbsNumber: 10\n };\n\n var breadcrumbsDelay = 100;\n\n //\n // Shared Methods\n //\n\n var extend = function () {\n\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n // If property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n\n };\n\n //\n // Helpers\n //\n\n function isMe(scriptElem){\n if(scriptElem.getAttribute('src') != null) {\n return scriptElem.getAttribute('src').indexOf('elmahio') != -1 && scriptElem.getAttribute('src').indexOf('apiKey') != -1 && scriptElem.getAttribute('src').indexOf('logId') != -1;\n }\n }\n\n function isInt(n){\n return Number(n) === n && n % 1 === 0;\n }\n\n function isFloat(n){\n return Number(n) === n && n % 1 !== 0;\n }\n\n function parseQuery(query) {\n var Params = new Object();\n if (!query) return Params; // return empty object\n var Pairs = query.split(/[;&]/);\n for (var i = 0; i < Pairs.length; i++) {\n var KeyVal = Pairs[i].split('=');\n if (!KeyVal || KeyVal.length !== 2) continue;\n var key = unescape(KeyVal[0]);\n var val = unescape(KeyVal[1]);\n val = val.replace(/\\+/g, ' ');\n Params[key] = val;\n }\n return Params;\n }\n\n function objectLength(obj) {\n var size = 0, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) size++;\n }\n return size;\n };\n\n function getSearchParameters() {\n var prmstr = window.location.search.substr(1);\n return prmstr !== null && prmstr !== \"\" ? transformToAssocArray(prmstr) : {};\n }\n\n function transformToAssocArray(prmstr) {\n var params = [];\n var prmarr = prmstr.split(\"&\");\n for (var i = 0; i < prmarr.length; i++) {\n var tmparr = prmarr[i].split(\"=\");\n params.push({\n 'key': tmparr[0],\n 'value': tmparr[1]\n });\n }\n return params;\n }\n\n function merge_objects(obj1, obj2) {\n var obj3 = {};\n for (var attrname1 in obj1) {\n obj3[attrname1] = obj1[attrname1];\n }\n for (var attrname2 in obj2) {\n obj3[attrname2] = obj2[attrname2];\n }\n\n return obj3;\n }\n\n function isString(what) {\n return Object.prototype.toString.call(what) === '[object String]';\n }\n\n function cssSelectorString(elem) {\n var MAX_TRAVERSE_HEIGHT = 5,\n MAX_OUTPUT_LEN = 80,\n out = [],\n height = 0,\n len = 0,\n separator = ' > ',\n sepLength = separator.length,\n nextStr;\n while (elem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = htmlElementAsString(elem);\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n elem = elem.parentNode;\n }\n return out.reverse().join(separator);\n }\n \n function htmlElementAsString(elem) {\n var out = [], className, classes, key, attr, i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push('#' + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push('.' + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push('[' + key + '=\"' + attr + '\"]');\n }\n }\n return out.join('');\n }\n\n var parseHash = function(url) {\n return url.split('#')[1] || '';\n };\n\n //\n // Constructor\n //\n\n var Constructor = function (options) {\n\n //\n // Variables\n //\n\n var publicAPIs = {};\n var settings;\n var breadcrumbs = [];\n var lastHref = window.location && window.location.href;\n\n function getPayload() {\n var payload = {\n \"url\": document.location.pathname || '/',\n \"application\": settings.application\n };\n\n var payload_data = [];\n\n if (document.documentMode) payload_data.push({ \"key\": \"Document-Mode\", \"value\": document.documentMode });\n if (window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth) payload_data.push({ \"key\": \"Browser-Width\", \"value\": window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth });\n if (window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight) payload_data.push({ \"key\": \"Browser-Height\", \"value\": window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight });\n if ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type) !== undefined) payload_data.push({ \"key\": \"Screen-Orientation\", \"value\": ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type).split(\"-\"))[0] });\n if (screen.width) payload_data.push({ \"key\": \"Screen-Width\", \"value\": screen.width });\n if (screen.height) payload_data.push({ \"key\": \"Screen-Height\", \"value\": screen.height });\n if (screen.colorDepth) payload_data.push({ \"key\": \"Color-Depth\", \"value\": screen.colorDepth });\n payload_data.push({ \"key\": \"X-ELMAHIO-SEARCH-isClientside\", \"value\": \"true\" });\n\n payload.data = payload_data;\n\n var payload_serverVariables = [];\n if (navigator.language) payload_serverVariables.push({ \"key\": \"User-Language\", \"value\": navigator.language });\n if (navigator.userAgent) payload_serverVariables.push({ \"key\": \"User-Agent\", \"value\": navigator.userAgent });\n if (document.referrer) payload_serverVariables.push({ \"key\": \"Referer\", \"value\": document.referrer });\n if (document.location.protocol === \"https:\") payload_serverVariables.push({ \"key\": \"HTTPS\", \"value\": 'on' });\n if (document.location.hostname) payload_serverVariables.push({ \"key\": \"Host\", \"value\": document.location.hostname });\n\n payload.serverVariables = payload_serverVariables;\n\n return payload;\n }\n\n function confirmResponse(status, response) {\n if (settings.debug) {\n if (status === 'error') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created ', debugSettings.lightCSS, debugSettings.errorCSS);\n } else if (status === 'success') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2714 ' + response + ' at ' + new Date().toLocaleString() + ' ', debugSettings.lightCSS, debugSettings.successCSS);\n } else {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created. Title should not be undefined, null or empty ! ', debugSettings.lightCSS, debugSettings.errorCSS);\n }\n }\n }\n\n function generateErrorObject(error) {\n return {\n error: error,\n type: error.name,\n message: error.message,\n inner: error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? generateErrorObject(error.cause) : []\n }\n }\n\n function getErrorTypeSource(error) {\n var object = generateErrorObject(error);\n var type = null;\n var source = null;\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n var stack = obj[key] ? ErrorStackParser.parse(obj[key]) : null;\n source = stack && stack.length > 0 ? stack[0].fileName : null;\n }\n }\n if (key === \"type\") {\n type = obj[key];\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n return { type: type, source: source };\n }\n\n function GenerateNewFrames(errorMessage, newFrames, cause, fileName) {\n var lastInnerFileName = null;\n\n newFrames.forEach(function(stackFrame, i) {\n if (stackFrame.functionName) {\n var fn = stackFrame.functionName + ' ';\n } else {\n var fn = '';\n }\n var stackString = ' at ' + fn + '(' + stackFrame.fileName + ':' + stackFrame.lineNumber + ':' + stackFrame.columnNumber + ')';\n newFrames[i] = stackString;\n if (i === 0) {\n lastInnerFileName = stackFrame.fileName || null;\n }\n });\n \n if (!cause) {\n newFrames.unshift(errorMessage);\n } else {\n newFrames.unshift(\"\\nCaused by: \" + errorMessage);\n }\n\n if (fileName) {\n return {\n newFrames: newFrames,\n fileName: lastInnerFileName\n }\n }\n \n return newFrames;\n }\n\n function GPSPromise(stackframes) {\n if (stackframes) {\n var gps = new StackTraceGPS();\n\n return new Promise(function(resolve) {\n resolve(Promise.all(stackframes.map(function(sf) {\n return new Promise(function(resolve) {\n function resolveOriginal() {\n resolve(sf);\n }\n gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);\n });\n })));\n });\n }\n\n return new Promise(function(resolve) {\n return resolve([]);\n });\n }\n\n function stackGPS(error, xhr, jsonData) {\n var object = generateErrorObject(error);\n var messagesArr = [];\n var promiseArr = [];\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n messagesArr.push(obj[key].toString().split(\"\\n\")[0]);\n promiseArr.push(GPSPromise(ErrorStackParser.parse(obj[key])));\n }\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n Promise.all(promiseArr).then((values) => {\n values.forEach(function(stackframe, index) {\n if (index === 0) {\n jsonData.detail = GenerateNewFrames(messagesArr[index], stackframe, false).join(\"\\n\");\n } else {\n jsonData.detail += GenerateNewFrames(messagesArr[index], stackframe, true).join(\"\\n\");\n }\n });\n }).then(function() {\n xhr.send(JSON.stringify(jsonData));\n });\n }\n\n function stackString(error) {\n \tvar typeOF = typeof error.error;\n \tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \treturn typeOFCapitalized + ': ' + error.error + '\\n' + ' at ' + '(' + error.source + ':' + error.lineno + ':' + error.colno + ')';\n }\n\n function manipulateStack (errorStack, severity, message) {\n var stack = [];\n for (var i = 0; i < errorStack.length; i++) {\n if(errorStack[i] === \"Error\") {\n stack.push(severity + \": \" + message);\n }\n if(!errorStack[i].match(/elmahio.js|elmahio.min.js/g) && errorStack[i] !== \"Error\") {\n stack.push(errorStack[i]);\n }\n }\n return stack.join('\\n');\n }\n\n function guid() {\n var s4 = function() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1).toUpperCase();\n }\n return s4() + s4();\n }\n\n function inspectorObj (error, fullError) {\n var obj = {};\n obj.Id = guid();\n\n if (typeof error === \"object\" && error !== null) {\n var stack = error && objectLength(error.stack) !== 0 && typeof error === \"object\" ? ErrorStackParser.parse(error) : '';\n obj.Type = error.name || null;\n obj.Message = error.message || null;\n obj.StackTrace = objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n obj.Source = stack && stack.length > 0 ? stack[0].fileName : null;\n obj.Inners = error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? [inspectorObj(error.cause)] : [];\n\n if (error.cause && obj.Inners instanceof Array && obj.Inners.length === 0) {\n if (typeof error.cause === \"number\" || typeof error.cause === \"string\" || typeof error.cause === \"boolean\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause }];\n }\n if (typeof error.cause === \"bigint\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() + \"n\" }];\n }\n if (typeof error.cause === \"symbol\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() }];\n }\n if (typeof error.cause === \"object\") {\n if (!(Object.keys(obj).length === 0 && obj.constructor === Object)) {\n let objEntries = [];\n for (const [key, value] of Object.entries(error.cause)) {\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") {\n objEntries.push({ key: key, value: value });\n }\n if (typeof value === \"bigint\") {\n objEntries.push({ key: key, value: value.toString() + \"n\" });\n }\n if (typeof value === \"symbol\") {\n objEntries.push({ key: key, value: value.toString() });\n }\n }\n obj.ExceptionSpecific = objEntries;\n }\n }\n }\n\n } else {\n obj.Type = typeof fullError.error || null;\n obj.Message = fullError.message || null;\n obj.StackTrace = stackString(fullError);\n obj.Source = fullError.source || null;\n obj.Inners = [];\n }\n\n return obj;\n }\n\n function inspectorGPS (error) {\n var inspectorObject = inspectorObj(error);\n var promiseArr = [];\n\n function iterateObj(obj, final) {\n Object.keys(obj).forEach(function(key){\n if (key === \"StackTrace\") {\n if (!final) {\n obj[key] = GPSPromise(obj[key]);\n promiseArr.push(obj[key]);\n } else {\n obj[key].then(result => {\n var generateNewFrames = GenerateNewFrames(obj.Type + ': ' + obj.Message, result, false, true);\n obj[key] = generateNewFrames.newFrames.join(\"\\n\");\n obj['Source'] = generateNewFrames.fileName || null;\n });\n }\n }\n if (key === \"Inners\" && obj[key].length !== 0) {\n iterateObj(obj[key][0], final);\n }\n });\n }\n\n iterateObj(inspectorObject, false);\n\n return new Promise(function(resolve, reject) {\n Promise.all(promiseArr).then(function(values) {\n iterateObj(inspectorObject, true);\n }).then(function() {\n resolve(inspectorObject);\n });\n });\n }\n\n // Private methods\n\n var recordBreadcrumb = function(obj) {\n var crumb = merge_objects({'dateTime': new Date().toISOString()}, obj),\n breadcrumbs_number = 10;\n \n breadcrumbs.push(crumb);\n \n if(options.breadcrumbsNumber >= 0 && typeof options.breadcrumbsNumber === \"number\" ) {\n if(options.breadcrumbsNumber > 25) {\n breadcrumbs_number = 25;\n } else if(options.breadcrumbsNumber <= 25) {\n breadcrumbs_number = options.breadcrumbsNumber;\n }\n }\n \n if (breadcrumbs.length > breadcrumbs_number) {\n breadcrumbs.shift();\n }\n }\n\n var breadcrumbClickEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Click\",\n \"message\": target\n });\n }\n\n var breadcrumbFormSubmitEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Form submit\",\n \"message\": target\n });\n }\n\n var breadcrumbWindowEventHandler = function(evt) {\n var type = evt.type,\n message = null;\n\n switch (type) {\n case \"load\":\n message = \"Page loaded\"; break;\n case \"DOMContentLoaded\":\n message = \"DOMContentLoaded\"; break;\n case \"pageshow\":\n message = \"Page shown\"; break;\n case \"pagehide\":\n message = \"Page hidden\"; break;\n case \"popstate\":\n message = \"Navigated from: \" + lastHref + \" to: \" + window.location.href; break;\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": message\n });\n }\n\n var breadcrumbHashChangeEventHandler = function(evt) {\n var oldURL = evt.oldURL,\n newURL = evt.newURL,\n from = null,\n to = null,\n message = null;\n\n if (oldURL && newURL) {\n from = parseHash(oldURL);\n to = parseHash(newURL);\n message = \"from: '\" + from + \"' to: '\" + to + \"'\";\n } else {\n to = location.hash;\n message = \"to: '\" + to + \"'\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": \"Hash changed \" + message\n });\n }\n\n var breadcrumbXHRHandler = function(evt, method, url) {\n var status = evt && evt.target ? evt.target.status : 0,\n severity = null,\n method = method.toUpperCase(),\n url = url,\n regex = /https:\\/\\/api.elmah.io/g;\n\n if(url.match(regex) == null) { \n if (status > 0 && status < 400) {\n severity = \"Information\";\n } else if (status > 399 && status < 500) {\n severity = \"Warning\";\n } else if (status >= 500) {\n severity = \"Error\";\n }\n\n var statusCode = status > 0 ? \" (\" + status + \")\" : \"\";\n\n recordBreadcrumb({\n \"severity\": severity,\n \"action\": \"Request\",\n \"message\": \"[\" + method + \"] \" + url + statusCode\n });\n }\n }\n\n var sendPayload = function (apiKey, logId, callback, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n error = errorLog,\n send = 1,\n queryParams = getSearchParameters(),\n stack = error.error && objectLength(error.error.stack) !== 0 && typeof error.error === \"object\" ? ErrorStackParser.parse(error.error) : '';\n\n // Ignoring error from an external script\n if (error && error.colno === 0 && error.lineno === 0 && (!stack || stack === '') && error.message && (error.message === \"Script error.\" || error.message === \"Script error\")) {\n\t\t\t if (settings.debug) {\n\t\t\t console.log('%c \\u2BC8 Error log: ' + '%c \\uD83D\\uDEC8 Ignoring error from external script ', debugSettings.lightCSS, debugSettings.warningCSS);\n\t\t\t }\n\t\t\t return;\n\t\t\t}\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"detail\": error.error ? error.error.stack : null,\n \"title\": error.message || 'Unspecified error',\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"severity\": \"Error\",\n \"type\": error.error ? error.error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if error sent is a string and not an object\n // Then create the articifial stacktrace and pass source & type of the error\n if(error.error && (objectLength(error.error.stack) === 0) && typeof jsonData.detail === \"undefined\") {\n \tvar typeOF = typeof errorLog.error;\n \t\t\tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \tjsonData.detail = stackString(errorLog);\n \tjsonData.source = errorLog.source;\n jsonData.title = \"Uncaught \" + typeOFCapitalized + \": \" + errorLog.error;\n }\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error.error && error.error.cause && typeof error.error.cause === \"object\" && error.error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error.error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error.error && typeof error.error === \"object\" && objectLength(error.error.stack) !== 0 && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error.error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error.error, xhr, jsonData);\n });\n\t } else {\n // Add inspector to jsonData\n if (jsonData.detail) {\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(inspectorObj(error.error, errorLog)) });\n }\n\n // send message\n \txhr.send(JSON.stringify(jsonData));\n\t }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendManualPayload = function (apiKey, logId, callback, logType, messageLog, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n type = logType,\n error = errorLog,\n message = messageLog,\n send = 1,\n queryParams = getSearchParameters();\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n if (type !== \"Log\") {\n\n var stack = error && error instanceof Error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n\n var jsonData = {\n \"title\": message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": type,\n \"type\": error ? error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n } else {\n\n var jsonData = error;\n \n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n // If message contains breadcrumbs\n if(jsonData.breadcrumbs && jsonData.breadcrumbs.length > 0) {\n breadcrumbs = breadcrumbs.reverse();\n for (var i = 0; i < breadcrumbs.length; i++) {\n // Add breadcrumbs to jsonData object\n jsonData.breadcrumbs.unshift(breadcrumbs[i]);\n }\n } else {\n jsonData.breadcrumbs = breadcrumbs;\n }\n \n // Reset breadcrumbs\n breadcrumbs = [];\n }\n\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error && error instanceof Error && type !== \"Log\" && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n // send message\n if(jsonData.errorObject && jsonData.errorObject instanceof Error) {\n error = jsonData.errorObject;\n delete jsonData.errorObject;\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n delete jsonData.errorObject;\n xhr.send(JSON.stringify(jsonData));\n }\n }\n\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPayloadFromConsole = function (apiKey, logId, callback, logType, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n message = errorLog.message,\n messageTemplate = errorLog.message,\n type = logType,\n args = Object.values(errorLog.arguments),\n send = 1,\n queryParams = getSearchParameters();\n\n function format(f, args) {\n var formatRegExp = /%[sdif]/g;\n var str = f;\n\n if(args.length > 1) {\n // If message has placeholders (%s, %d, %i, %f), check for arguments and replace them\n if(String(f).match(/%[sdif]/g)) {\n var i = 0;\n str = String(f).replace(formatRegExp, function(x) {\n switch (x) {\n case '%s': i++; return args[i] ? String(args[i]) : '%s';\n case '%d': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%d';\n case '%i': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%i';\n case '%f': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseFloat(args[i]) : 'NaN' : '%f';\n default: return x;\n }\n });\n\n for (var len = args.length, x = args[++i]; i < len; x = args[++i]) {\n if (x === null || typeof x !== 'object') {\n str += ' ' + x;\n } else {\n str += ' ' + String(Object.prototype.toString.call(x));\n }\n }\n } else {\n str = args.join(' ');\n }\n }\n\n return str;\n }\n\n message = format(message, args);\n\n if(typeof message !== \"string\" && message !== undefined){\n message = message.toString();\n }\n\n if(typeof messageTemplate !== \"string\" && messageTemplate !== undefined) {\n messageTemplate = messageTemplate.toString();\n }\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"title\": message,\n \"titleTemplate\": messageTemplate,\n \"detail\": manipulateStack(new Error().stack.split('\\n'), type, message),\n \"severity\": type,\n \"type\": null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n // on message event\n publicAPIs.emit('message', jsonData);\n // send message\n xhr.send(JSON.stringify(jsonData));\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPrefilledLogMessage = function(errorLog) {\n // without error object\n if(!errorLog) return getPayload();\n\n // with error object\n var error = errorLog;\n var stack = error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n var jsonData = {\n \"title\": error.message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": \"Error\",\n \"type\": error ? error.name : null,\n \"errorObject\": error\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n jsonData = merge_objects(jsonData, getPayload());\n \n return jsonData;\n };\n\n // Some public methods\n\n publicAPIs.error = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Error', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.verbose = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Verbose', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.debug = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Debug', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.information = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Information', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.warning = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Warning', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.fatal = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Fatal', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.log = function (obj) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Log', null, obj); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.message = function(error) {\n return sendPrefilledLogMessage(error);\n };\n publicAPIs.addBreadcrumb = function(msg, severity, evt) {\n recordBreadcrumb({\n \"severity\": (severity != undefined && isString(severity)) ? severity : \"Information\",\n \"action\": (evt != undefined && isString(evt)) ? evt : \"Log\",\n \"message\": (msg != undefined && isString(msg)) ? msg : \"This is just a test message.\"\n });\n };\n\n publicAPIs.on = function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n };\n\n publicAPIs.emit = function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n };\n\n publicAPIs.init = function (options) {\n\n // -- Merge options into defaults\n settings = extend(defaults, options || {});\n\n // -- Breadcrumbs\n if (settings.breadcrumbs) {\n // Breadcrumbs - Click & Submit form\n if (document.addEventListener) {\n document.addEventListener('click', breadcrumbClickEventHandler, false);\n document.addEventListener('submit', breadcrumbFormSubmitEventHandler, false);\n } else if (document.attachEvent) {\n document.attachEvent('click', breadcrumbClickEventHandler, false);\n document.attachEvent('submit', breadcrumbFormSubmitEventHandler, false);\n }\n\n // Breadcrumbs - Navigation\n if (window.addEventListener) {\n window.addEventListener('load', breadcrumbWindowEventHandler, false);\n window.addEventListener('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.addEventListener('pageshow', breadcrumbWindowEventHandler, false);\n window.addEventListener('pagehide', breadcrumbWindowEventHandler, false);\n window.addEventListener('hashchange', breadcrumbHashChangeEventHandler, false);\n } else if (window.attachEvent) {\n window.attachEvent('load', breadcrumbWindowEventHandler, false);\n window.attachEvent('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.attachEvent('pageshow', breadcrumbWindowEventHandler, false);\n window.attachEvent('pagehide', breadcrumbWindowEventHandler, false);\n window.attachEvent('hashchange', breadcrumbHashChangeEventHandler, false);\n }\n\n if(window.history && window.history.pushState && window.history.replaceState) {\n var old_onpopstate = window.onpopstate;\n window.onpopstate = function(evt) {\n breadcrumbWindowEventHandler(evt);\n if (old_onpopstate) {\n return old_onpopstate.apply(this, arguments);\n }\n };\n }\n\n // Breadcrumbs - XHR\n if(window.XMLHttpRequest && window.XMLHttpRequest.prototype) {\n // Store a reference to the native method\n var open = XMLHttpRequest.prototype.open;\n \n // Overwrite the native method\n XMLHttpRequest.prototype.open = function(method, url) {\n // Assign an event listener\n this.addEventListener(\"loadend\", function(event) { breadcrumbXHRHandler(event, method, url); }, false);\n // Call the stored reference to the native method\n open.apply(this, arguments);\n };\n }\n }\n\n // -- Log on window error\n window.onerror = function (message, source, lineno, colno, error) {\n var errorLog = {\n 'message': message,\n 'source': source,\n 'lineno': lineno,\n 'colno': colno,\n 'error': error\n };\n \n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Log on window unhandled rejection\n window.onunhandledrejection = function (event) {\n var errorLog = {\n 'message': event.reason && event.reason.message ? event.reason.message : undefined,\n 'error': event.reason && event.reason.message && event.reason.stack ? event.reason : undefined\n };\n\n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Overriding console methods\n // -- Then log messages into the app.elmah.io\n if(options && options.captureConsoleMinimumLevel !== \"none\") {\n\n // If captureConsoleMinimumLevel: info or debug is set (error, warn)\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"warn\" || options.captureConsoleMinimumLevel === \"error\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console errors\n var _error = console.error;\n console.error = function(errMessage){\n var errorLog = {\n \t\t'message': errMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Error', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _error.apply(console, arguments);\n };\n if(options.captureConsoleMinimumLevel !== \"error\") {\n // Log console warnings\n var _warning = console.warn;\n console.warn = function(warnMessage){\n var errorLog = {\n 'message': warnMessage,\n 'arguments': arguments\n }\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Warning', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _warning.apply(console, arguments);\n };\n }\n }\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console info\n var _info = console.info;\n console.info = function(infoMessage){\n var errorLog = {\n \t\t'message': infoMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Information', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _info.apply(console, arguments);\n };\n }\n if(options.captureConsoleMinimumLevel === \"debug\") {\n // Log console debug\n var _debug = console.debug;\n console.debug = function(debugMessage){\n var errorLog = {\n \t\t'message': debugMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Debug', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _debug.apply(console, arguments);\n };\n }\n }\n };\n\n // Initialize the plugin\n publicAPIs.init(options);\n\n if (settings.debug) {\n console.log('%c' + debugSettings.label, debugSettings.labelCSS);\n }\n\n // Return the public APIs\n return publicAPIs;\n\n };\n\n\n //\n // Return the constructor\n //\n\n if (paramsLength && params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n // Immediately-Invoked Function Expression (IIFE)\n return new Constructor;\n } else {\n // UMD Constructor\n return Constructor;\n }\n\n});"],"file":"elmahio.min.js"} \ No newline at end of file +{"version":3,"sources":["elmahio.js"],"names":["root","factory","define","amd","exports","module","Elmahio","global","window","this","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","StackFrame","_isNumber","n","isNaN","parseFloat","isFinite","_capitalize","str","charAt","toUpperCase","substring","_getter","p","booleanProps","numericProps","stringProps","props","concat","obj","Object","i","length","hasOwnProperty","undefined","prototype","getArgs","args","setArgs","v","toString","call","TypeError","getEvalOrigin","evalOrigin","setEvalOrigin","getFunctionName","join","getFileName","getLineNumber","getColumnNumber","fromString","argsStartIndex","indexOf","argsEndIndex","lastIndexOf","functionName","split","locationString","parts","exec","fileName","lineNumber","columnNumber","Boolean","j","Number","k","String","ErrorStackParser","parse","error","stacktrace","parseOpera","stack","match","parseV8OrIE","parseFFOrSafari","Error","extractLocation","urlLike","replace","filter","line","map","sanitizedLine","location","locationParts","source","functionNameRegex","matches","e","message","parseOpera9","parseOpera11","parseOpera10","lineRE","lines","result","len","push","argsRaw","tokens","pop","functionCall","shift","StackTraceGPS","SourceMap","_xdr","url","Promise","resolve","reject","req","XMLHttpRequest","open","onerror","onreadystatechange","readyState","status","substr","responseText","send","_atob","b64str","atob","_ensureStackFrameIsLegit","stackframe","opts","sourceCache","sourceMapConsumerCache","ajax","_get","isDataUrl","offline","sourceMapStart","encodedSource","xhrPromise","method","then","bind","_getSourceMapConsumer","sourceMappingURL","defaultSourceRoot","sourceMapConsumerPromise","sourceMapSource","string","JSON","_parseJson","sourceRoot","SourceMapConsumer","pinpoint","getMappedLocation","mappedStackFrame","resolveMappedStackFrame","findFunctionName","guessedFunctionName","syntaxes","code","maxLines","Math","min","commentPos","index","m","_findFunctionName","defineProperty","create","_ensureSupportedEnvironment","lastSourceMappingUrl","matchSourceMappingUrl","sourceMappingUrlRegExp","_findSourceMappingURL","test","sourceMapConsumer","loc","originalPositionFor","column","mappedSource","sourceContentFor","name","_extractLocationInfoFromSourceMapSource","r","t","o","id","loaded","c","ArraySet","a","s","quickSort","u","sections","l","getArg","g","_version","normalize","isAbsolute","relative","_names","fromArray","_sources","sourcesContent","_mappings","file","generatedLine","generatedColumn","originalLine","originalColumn","_sections","generatedOffset","consumer","fromSourceMap","__generatedMappings","get","_parseMappings","__originalMappings","_charIsMappingSeparator","GENERATED_ORDER","ORIGINAL_ORDER","GREATEST_LOWER_BOUND","LEAST_UPPER_BOUND","eachMapping","_generatedMappings","_originalMappings","at","forEach","allGeneratedPositionsFor","has","_findMapping","compareByOriginalPositions","lastColumn","toArray","_sourceRoot","_generateSourcesContent","_file","slice","h","f","d","_","C","A","y","L","decode","value","rest","compareByGeneratedPositionsDeflated","search","computeColumnSpans","lastGeneratedColumn","hasContentsOfAllSources","size","some","urlParse","scheme","path","generatedPositionFor","BasicSourceMapConsumer","constructor","sources","bias","every","add","IndexedSourceMapConsumer","arguments","auth","host","port","splice","urlGenerate","Array","charCodeAt","toSetString","fromSetString","compareByGeneratedPositionsInflated","floor","_array","_set","getOwnPropertyNames","encode","round","random","myScript","scriptFile","document","getElementsByTagName","isMe","params","query","Params","Pairs","KeyVal","key","unescape","val","parseQuery","src","paramsLength","objectLength","debugSettings","label","labelCSS","successCSS","errorCSS","warningCSS","lightCSS","defaults","apiKey","logId","debug","application","captureConsoleMinimumLevel","breadcrumbs","breadcrumbsNumber","extend","extended","deep","merge","prop","scriptElem","getAttribute","isInt","isFloat","getSearchParameters","prmstr","prmarr","tmparr","transformToAssocArray","merge_objects","obj1","obj2","obj3","attrname1","attrname2","isString","what","cssSelectorString","elem","nextStr","out","height","sepLength","htmlElementAsString","parentNode","reverse","className","classes","attr","tagName","toLowerCase","attrWhitelist","parseHash","Constructor","options","settings","publicAPIs","lastHref","href","getPayload","payload","pathname","payload_data","documentMode","innerWidth","documentElement","clientWidth","innerHeight","clientHeight","screen","msOrientation","orientation","mozOrientation","type","width","colorDepth","data","payload_serverVariables","navigator","language","userAgent","referrer","protocol","hostname","serverVariables","confirmResponse","response","console","log","Date","toLocaleString","generateErrorObject","inner","cause","getErrorTypeSource","object","iterateObj","keys","GenerateNewFrames","errorMessage","newFrames","lastInnerFileName","stackFrame","fn","stackString","unshift","GPSPromise","stackframes","gps","all","sf","resolveOriginal","stackGPS","xhr","jsonData","messagesArr","promiseArr","values","detail","stringify","typeOF","lineno","colno","manipulateStack","errorStack","severity","inspectorObj","fullError","s4","Id","Type","Message","StackTrace","Source","Inners","ExceptionSpecific","objEntries","entries","inspectorGPS","inspectorObject","final","generateNewFrames","recordBreadcrumb","crumb","dateTime","toISOString","breadcrumbs_number","breadcrumbClickEventHandler","evt","target","action","breadcrumbFormSubmitEventHandler","breadcrumbWindowEventHandler","breadcrumbHashChangeEventHandler","oldURL","newURL","hash","sendPayload","callback","errorLog","api_key","log_id","queryParams","setRequestHeader","onload","statusText","emit","title","queryString","typeOFCapitalized","typeAndSource","sendManualPayload","logType","messageLog","errorObject","sendPayloadFromConsole","messageTemplate","x","parseInt","format","titleTemplate","msg","setTimeout","verbose","information","warning","fatal","sendPrefilledLogMessage","addBreadcrumb","on","ctx","evtArr","apply","init","addEventListener","attachEvent","history","pushState","replaceState","old_onpopstate","onpopstate","event","breadcrumbXHRHandler","onunhandledrejection","reason","_error","errMessage","_warning","warn","warnMessage","_info","info","infoMessage","_debug","debugMessage"],"mappings":"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","sourcesContent":["/*!\n * elmah.io Javascript Logger - version 4.1.1\n * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io\n */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Elmahio = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n //\n // ==== STACKFRAME ====\n //\n\n var StackFrame = (function () {\n \"use strict\";\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = [\"isConstructor\", \"isEval\", \"isNative\", \"isToplevel\"];\n var numericProps = [\"columnNumber\", \"lineNumber\"];\n var stringProps = [\"fileName\", \"functionName\", \"source\"];\n var arrayProps = [\"args\"];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this[\"set\" + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== \"[object Array]\") {\n throw new TypeError(\"Args must be an Array\");\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError(\"Eval Origin must be an Object or StackFrame\");\n }\n },\n toString: function () {\n var functionName = this.getFunctionName() || \"{anonymous}\";\n var args = \"(\" + (this.getArgs() || []).join(\",\") + \")\";\n var fileName = this.getFileName() ? \"@\" + this.getFileName() : \"\";\n var lineNumber = _isNumber(this.getLineNumber()) ? \":\" + this.getLineNumber() : \"\";\n var columnNumber = _isNumber(this.getColumnNumber()) ? \":\" + this.getColumnNumber() : \"\";\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf(\"(\");\n var argsEndIndex = str.lastIndexOf(\")\");\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(\",\");\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf(\"@\") === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, \"\");\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype[\"get\" + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype[\"set\" + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype[\"get\" + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype[\"set\" + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + \" must be a Number\");\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype[\"get\" + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype[\"set\" + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n })();\n\n //\n // ==== ERROR STACK PARSER ====\n //\n\n var ErrorStackParser = (function () {\n 'use strict';\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(//, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n })();\n\n //\n // ==== STACKTRACE-GPS ====\n //\n\n var SourceMap = function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={exports:{},id:t,loaded:!1};return e[t].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.m=e,r.c=n,r.p=\"\",r(0)}([function(e,n,r){var t=r(1),o=r(2),i=r(3).ArraySet,a=r(4),s=r(6).quickSort;function u(e){var n=e;return\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\"))),null!=n.sections?new c(n):new l(n)}function l(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sources\"),a=t.getArg(n,\"names\",[]),s=t.getArg(n,\"sourceRoot\",null),u=t.getArg(n,\"sourcesContent\",null),l=t.getArg(n,\"mappings\"),g=t.getArg(n,\"file\",null);if(r!=this._version)throw new Error(\"Unsupported version: \"+r);o=o.map(String).map(t.normalize).map(function(e){return s&&t.isAbsolute(s)&&t.isAbsolute(e)?t.relative(s,e):e}),this._names=i.fromArray(a.map(String),!0),this._sources=i.fromArray(o,!0),this.sourceRoot=s,this.sourcesContent=u,this._mappings=l,this.file=g}function g(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function c(e){var n=e;\"string\"==typeof e&&(n=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var r=t.getArg(n,\"version\"),o=t.getArg(n,\"sections\");if(r!=this._version)throw new Error(\"Unsupported version: \"+r);this._sources=new i,this._names=new i;var a={line:-1,column:0};this._sections=o.map(function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var n=t.getArg(e,\"offset\"),r=t.getArg(n,\"line\"),o=t.getArg(n,\"column\");if(r=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a];else for(var l=s.originalColumn;s&&s.originalLine===n&&s.originalColumn==l;)i.push({line:t.getArg(s,\"generatedLine\",null),column:t.getArg(s,\"generatedColumn\",null),lastColumn:t.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a]}return i},n.SourceMapConsumer=u,l.prototype=Object.create(u.prototype),l.prototype.consumer=u,l.fromSourceMap=function(e){var n=Object.create(l.prototype),r=n._names=i.fromArray(e._names.toArray(),!0),o=n._sources=i.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file;for(var a=e._mappings.toArray().slice(),u=n.__generatedMappings=[],c=n.__originalMappings=[],p=0,h=a.length;p1&&(r.source=d+i[1],d+=i[1],r.originalLine=h+i[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+i[3],f=r.originalColumn,i.length>4&&(r.name=m+i[4],m+=i[4])),L.push(r),\"number\"==typeof r.originalLine&&y.push(r)}s(L,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=L,s(y,t.compareByOriginalPositions),this.__originalMappings=y},l.prototype._findMapping=function(e,n,r,t,i,a){if(e[r]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[r]);if(e[t]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[t]);return o.search(e,n,i,a)},l.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=t.getArg(o,\"source\",null);null!==i&&(i=this._sources.at(i),null!=this.sourceRoot&&(i=t.join(this.sourceRoot,i)));var a=t.getArg(o,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:i,line:t.getArg(o,\"originalLine\",null),column:t.getArg(o,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},l.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=t.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var r;if(null!=this.sourceRoot&&(r=t.urlParse(this.sourceRoot))){var o=e.replace(/^file:\\/\\//,\"\");if(\"file\"==r.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!r.path||\"/\"==r.path)&&this._sources.has(\"/\"+e))return this.sourcesContent[this._sources.indexOf(\"/\"+e)]}if(n)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var n=t.getArg(e,\"source\");if(null!=this.sourceRoot&&(n=t.relative(this.sourceRoot,n)),!this._sources.has(n))return{line:null,column:null,lastColumn:null};var r={source:n=this._sources.indexOf(n),originalLine:t.getArg(e,\"line\"),originalColumn:t.getArg(e,\"column\")},o=this._findMapping(r,this._originalMappings,\"originalLine\",\"originalColumn\",t.compareByOriginalPositions,t.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:t.getArg(i,\"generatedLine\",null),column:t.getArg(i,\"generatedColumn\",null),lastColumn:t.getArg(i,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=l,c.prototype=Object.create(u.prototype),c.prototype.constructor=u,c.prototype._version=3,Object.defineProperty(c.prototype,\"sources\",{get:function(){for(var e=[],n=0;n=0;g--)\".\"===(a=u[g])?u.splice(g,1):\"..\"===a?l++:l>0&&(\"\"===a?(u.splice(g+1,l),l=0):(u.splice(g,2),l--));return\"\"===(r=u.join(\"/\"))&&(r=s?\"/\":\".\"),t?(t.path=r,i(t)):r}n.urlParse=o,n.urlGenerate=i,n.normalize=a,n.join=function(e,n){\"\"===e&&(e=\".\"),\"\"===n&&(n=\".\");var r=o(n),s=o(e);if(s&&(e=s.path||\"/\"),r&&!r.scheme)return s&&(r.scheme=s.scheme),i(r);if(r||n.match(t))return n;if(s&&!s.host&&!s.path)return s.host=n,i(s);var u=\"/\"===n.charAt(0)?n:a(e.replace(/\\/+$/,\"\")+\"/\"+n);return s?(s.path=u,i(s)):u},n.isAbsolute=function(e){return\"/\"===e.charAt(0)||!!e.match(r)},n.relative=function(e,n){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var r=0;0!==n.indexOf(e+\"/\");){var t=e.lastIndexOf(\"/\");if(t<0)return n;if((e=e.slice(0,t)).match(/^([^\\/]+:\\/)?\\/*$/))return n;++r}return Array(r+1).join(\"../\")+n.substr(e.length+1)};var s=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function g(e,n){return e===n?0:e>n?1:-1}n.toSetString=s?u:function(e){return l(e)?\"$\"+e:e},n.fromSetString=s?u:function(e){return l(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,n,r){var t=e.source-n.source;return 0!==t?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)||r?t:0!=(t=e.generatedColumn-n.generatedColumn)?t:0!=(t=e.generatedLine-n.generatedLine)?t:e.name-n.name},n.compareByGeneratedPositionsDeflated=function(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t?t:0!=(t=e.generatedColumn-n.generatedColumn)||r?t:0!=(t=e.source-n.source)?t:0!=(t=e.originalLine-n.originalLine)?t:0!=(t=e.originalColumn-n.originalColumn)?t:e.name-n.name},n.compareByGeneratedPositionsInflated=function(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-n.generatedColumn)?r:0!==(r=g(e.source,n.source))?r:0!=(r=e.originalLine-n.originalLine)?r:0!=(r=e.originalColumn-n.originalColumn)?r:g(e.name,n.name)}},function(e,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,r,t,o){if(0===r.length)return-1;var i=function e(r,t,o,i,a,s){var u=Math.floor((t-r)/2)+r,l=a(o,i[u],!0);return 0===l?u:l>0?t-u>1?e(u,t,o,i,a,s):s==n.LEAST_UPPER_BOUND?t1?e(r,u,o,i,a,s):s==n.LEAST_UPPER_BOUND?u:r<0?-1:r}(-1,r.length,e,r,t,o||n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&0===t(r[i],r[i-1],!0);)--i;return i}},function(e,n,r){var t=r(1),o=Object.prototype.hasOwnProperty;function i(){this._array=[],this._set=Object.create(null)}i.fromArray=function(e,n){for(var r=new i,t=0,o=e.length;t=0&&e>>=5)>0&&(n|=32),o+=t.encode(n)}while(i>0);return o},n.decode=function(e,n,r){var o,i,a,s,u=e.length,l=0,g=0;do{if(n>=u)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(i=t.decode(e.charCodeAt(n++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(n-1));o=!!(32&i),l+=(i&=31)<>1,1==(1&a)?-s:s),r.rest=n}},function(e,n){var r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");n.encode=function(e){if(0<=e&&e= 200 && req.status < 300 || url.substr(0, 7) === \"file://\" && req.responseText) {\n resolve(req.responseText);\n } else {\n reject(new Error(\"HTTP status: \" + req.status + \" retrieving \" + url));\n }\n }\n };\n req.send();\n });\n }\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== \"undefined\" && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error(\"You must supply a polyfill for window.atob in this environment\");\n }\n }\n function _parseJson(string) {\n if (typeof JSON !== \"undefined\" && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error(\"You must supply a polyfill for JSON.parse in this environment\");\n }\n }\n function _findFunctionName(source, lineNumber) {\n var syntaxes = [ // {name} = function ({args}) TODO args capture\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/, // function {name}({args}) m[1]=name m[2]=args\n /function\\s+([^('\"`]*?)\\s*\\(([^)]*)\\)/, // {name} = eval()\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/, // fn_name() {\n /\\b(?!(?:if|for|switch|while|with|catch)\\b)(?:(?:static)\\s+)?(\\S+)\\s*\\(.*?\\)\\s*\\{/, // {name} = () => {\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*\\(.*?\\)\\s*=>/];\n var lines = source.split(\"\\n\");\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = \"\";\n var maxLines = Math.min(lineNumber, 20);\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf(\"//\");\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n if (line) {\n code = line + code;\n var len = syntaxes.length;\n for (var index = 0; index < len; index++) {\n var m = syntaxes[index].exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n }\n return undefined;\n }\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== \"function\" || typeof Object.create !== \"function\") {\n throw new Error(\"Unable to consume source maps in older browsers\");\n }\n }\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== \"object\") {\n throw new TypeError(\"Given StackFrame is not an object\");\n } else if (typeof stackframe.fileName !== \"string\") {\n throw new TypeError(\"Given file name is not a String\");\n } else if (typeof stackframe.lineNumber !== \"number\" || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) {\n throw new TypeError(\"Given line number must be a positive integer\");\n } else if (typeof stackframe.columnNumber !== \"number\" || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) {\n throw new TypeError(\"Given column number must be a non-negative integer\");\n }\n return true;\n }\n function _findSourceMappingURL(source) {\n var sourceMappingUrlRegExp = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/gm;\n var lastSourceMappingUrl;\n var matchSourceMappingUrl;\n while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) {\n // jshint ignore:line\n lastSourceMappingUrl = matchSourceMappingUrl[1];\n }\n if (lastSourceMappingUrl) {\n return lastSourceMappingUrl;\n } else {\n throw new Error(\"sourceMappingURL not found\");\n }\n }\n function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) {\n return new Promise(function (resolve, reject) {\n var loc = sourceMapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n if (loc.source) {\n // cache mapped sources\n var mappedSource = sourceMapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(// given stackframe and source location, update stackframe\n new StackFrame({\n functionName: loc.name || stackframe.functionName,\n args: stackframe.args,\n fileName: loc.source,\n lineNumber: loc.line,\n columnNumber: loc.column\n }));\n } else {\n reject(new Error(\"Could not get original source for given stackframe and source map\"));\n }\n });\n }\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer}\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n this.sourceCache = opts.sourceCache || {};\n this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {};\n this.ajax = opts.ajax || _xdr;\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function (resolve, reject) {\n var isDataUrl = location.substr(0, 5) === \"data:\";\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error(\"Cannot make network requests in offline mode\"));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp = /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error(\"The encoding of the inline sourcemap is not supported\"));\n }\n } else {\n var xhrPromise = this.ajax(location, {\n method: \"get\"\n });\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n /**\n * Creating SourceMapConsumers is expensive, so this wraps the creation of a\n * SourceMapConsumer in a per-instance cache.\n *\n * @param {String} sourceMappingURL = URL to fetch source map from\n * @param {String} defaultSourceRoot = Default source root for source map if undefined\n * @returns {Promise} that resolves a SourceMapConsumer\n */\n this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) {\n return new Promise(function (resolve, reject) {\n if (this.sourceMapConsumerCache[sourceMappingURL]) {\n resolve(this.sourceMapConsumerCache[sourceMappingURL]);\n } else {\n var sourceMapConsumerPromise = new Promise(function (resolve, reject) {\n return this._get(sourceMappingURL).then(function (sourceMapSource) {\n if (typeof sourceMapSource === \"string\") {\n sourceMapSource = _parseJson(sourceMapSource.replace(/^\\)\\]\\}'/, \"\"));\n }\n if (typeof sourceMapSource.sourceRoot === \"undefined\") {\n sourceMapSource.sourceRoot = defaultSourceRoot;\n }\n resolve(new SourceMap.SourceMapConsumer(sourceMapSource));\n }, reject);\n }.bind(this));\n this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise;\n resolve(sourceMapConsumerPromise);\n }\n }.bind(this));\n };\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function (resolve, reject) {\n this.getMappedLocation(stackframe).then(function (mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n this.findFunctionName(mappedStackFrame).then(resolve, resolveMappedStackFrame)[\"catch\"](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame({\n functionName: guessedFunctionName,\n args: stackframe.args,\n fileName: stackframe.fileName,\n lineNumber: lineNumber,\n columnNumber: columnNumber\n }));\n } else {\n resolve(stackframe);\n }\n }, reject)[\"catch\"](reject);\n }.bind(this));\n };\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function (source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === \"data:\";\n var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf(\"/\") + 1);\n if (sourceMappingURL[0] !== \"/\" && !isDataUrl && !/^https?:\\/\\/|^\\/\\//i.test(sourceMappingURL)) {\n sourceMappingURL = defaultSourceRoot + sourceMappingURL;\n }\n return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot).then(function (sourceMapConsumer) {\n return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache).then(resolve)[\"catch\"](function () {\n resolve(stackframe);\n });\n });\n }.bind(this), reject)[\"catch\"](reject);\n }.bind(this));\n };\n };\n })(SourceMap, StackFrame);\n\n //\n // Shared Variables\n //\n\n var myScript = null;\n var scriptFile = document.getElementsByTagName('script');\n \n for (var i = 0; i < scriptFile.length; ++i) {\n if(isMe(scriptFile[i])) {\n myScript = scriptFile[i];\n }\n }\n\n var queryString = myScript != null ? myScript.src.replace(/^[^\\?]+\\??/, '') : null;\n var params = parseQuery(queryString);\n var paramsLength = objectLength(params);\n\n var debugSettings = {\n label: ' elmah.io debugger : On ',\n labelCSS: 'background: #06a89c; color: #ffffff; display: inline-block; font-size: 14px;',\n successCSS: 'background: #d4edda; color: #155724; display: inline-block; font-size: 13px;',\n errorCSS: 'background: #f8d7da; color: #721c24; display: inline-block; font-size: 13px;',\n warningCSS: 'background: #fff3cd; color: #856404; display: inline-block; font-size: 13px;',\n lightCSS: 'background: #e2e3e5; color: #383d41; display: inline-block; font-size: 13px;'\n };\n\n var defaults = {\n apiKey: null,\n logId: null,\n debug: false,\n application: null,\n filter: null,\n captureConsoleMinimumLevel: 'none',\n breadcrumbs: false,\n breadcrumbsNumber: 10\n };\n\n var breadcrumbsDelay = 100;\n\n //\n // Shared Methods\n //\n\n var extend = function () {\n\n // Variables\n var extended = {};\n var deep = false;\n var i = 0;\n\n // Check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n\n // Merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n // If property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = extend(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n // Loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n var obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n\n };\n\n //\n // Helpers\n //\n\n function isMe(scriptElem){\n if(scriptElem.getAttribute('src') != null) {\n return scriptElem.getAttribute('src').indexOf('elmahio') != -1 && scriptElem.getAttribute('src').indexOf('apiKey') != -1 && scriptElem.getAttribute('src').indexOf('logId') != -1;\n }\n }\n\n function isInt(n){\n return Number(n) === n && n % 1 === 0;\n }\n\n function isFloat(n){\n return Number(n) === n && n % 1 !== 0;\n }\n\n function parseQuery(query) {\n var Params = new Object();\n if (!query) return Params; // return empty object\n var Pairs = query.split(/[;&]/);\n for (var i = 0; i < Pairs.length; i++) {\n var KeyVal = Pairs[i].split('=');\n if (!KeyVal || KeyVal.length !== 2) continue;\n var key = unescape(KeyVal[0]);\n var val = unescape(KeyVal[1]);\n val = val.replace(/\\+/g, ' ');\n Params[key] = val;\n }\n return Params;\n }\n\n function objectLength(obj) {\n var size = 0, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) size++;\n }\n return size;\n };\n\n function getSearchParameters() {\n var prmstr = window.location.search.substr(1);\n return prmstr !== null && prmstr !== \"\" ? transformToAssocArray(prmstr) : {};\n }\n\n function transformToAssocArray(prmstr) {\n var params = [];\n var prmarr = prmstr.split(\"&\");\n for (var i = 0; i < prmarr.length; i++) {\n var tmparr = prmarr[i].split(\"=\");\n params.push({\n 'key': tmparr[0],\n 'value': tmparr[1]\n });\n }\n return params;\n }\n\n function merge_objects(obj1, obj2) {\n var obj3 = {};\n for (var attrname1 in obj1) {\n obj3[attrname1] = obj1[attrname1];\n }\n for (var attrname2 in obj2) {\n obj3[attrname2] = obj2[attrname2];\n }\n\n return obj3;\n }\n\n function isString(what) {\n return Object.prototype.toString.call(what) === '[object String]';\n }\n\n function cssSelectorString(elem) {\n var MAX_TRAVERSE_HEIGHT = 5,\n MAX_OUTPUT_LEN = 80,\n out = [],\n height = 0,\n len = 0,\n separator = ' > ',\n sepLength = separator.length,\n nextStr;\n while (elem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = htmlElementAsString(elem);\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n elem = elem.parentNode;\n }\n return out.reverse().join(separator);\n }\n \n function htmlElementAsString(elem) {\n var out = [], className, classes, key, attr, i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push('#' + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push('.' + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push('[' + key + '=\"' + attr + '\"]');\n }\n }\n return out.join('');\n }\n\n var parseHash = function(url) {\n return url.split('#')[1] || '';\n };\n\n //\n // Constructor\n //\n\n var Constructor = function (options) {\n\n //\n // Variables\n //\n\n var publicAPIs = {};\n var settings;\n var breadcrumbs = [];\n var lastHref = window.location && window.location.href;\n\n function getPayload() {\n var payload = {\n \"url\": document.location.pathname || '/',\n \"application\": settings.application\n };\n\n var payload_data = [];\n\n if (document.documentMode) payload_data.push({ \"key\": \"Document-Mode\", \"value\": document.documentMode });\n if (window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth) payload_data.push({ \"key\": \"Browser-Width\", \"value\": window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth });\n if (window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight) payload_data.push({ \"key\": \"Browser-Height\", \"value\": window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight });\n if ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type) !== undefined) payload_data.push({ \"key\": \"Screen-Orientation\", \"value\": ((screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type).split(\"-\"))[0] });\n if (screen.width) payload_data.push({ \"key\": \"Screen-Width\", \"value\": screen.width });\n if (screen.height) payload_data.push({ \"key\": \"Screen-Height\", \"value\": screen.height });\n if (screen.colorDepth) payload_data.push({ \"key\": \"Color-Depth\", \"value\": screen.colorDepth });\n payload_data.push({ \"key\": \"X-ELMAHIO-SEARCH-isClientside\", \"value\": \"true\" });\n\n payload.data = payload_data;\n\n var payload_serverVariables = [];\n if (navigator.language) payload_serverVariables.push({ \"key\": \"User-Language\", \"value\": navigator.language });\n if (navigator.userAgent) payload_serverVariables.push({ \"key\": \"User-Agent\", \"value\": navigator.userAgent });\n if (document.referrer) payload_serverVariables.push({ \"key\": \"Referer\", \"value\": document.referrer });\n if (document.location.protocol === \"https:\") payload_serverVariables.push({ \"key\": \"HTTPS\", \"value\": 'on' });\n if (document.location.hostname) payload_serverVariables.push({ \"key\": \"Host\", \"value\": document.location.hostname });\n\n payload.serverVariables = payload_serverVariables;\n\n return payload;\n }\n\n function confirmResponse(status, response) {\n if (settings.debug) {\n if (status === 'error') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created ', debugSettings.lightCSS, debugSettings.errorCSS);\n } else if (status === 'success') {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2714 ' + response + ' at ' + new Date().toLocaleString() + ' ', debugSettings.lightCSS, debugSettings.successCSS);\n } else {\n console.log('%c \\u2BC8 Error log: ' + '%c \\u2715 Not created. Title should not be undefined, null or empty ! ', debugSettings.lightCSS, debugSettings.errorCSS);\n }\n }\n }\n\n function generateErrorObject(error) {\n return {\n error: error,\n type: error.name,\n message: error.message,\n inner: error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? generateErrorObject(error.cause) : []\n }\n }\n\n function getErrorTypeSource(error) {\n var object = generateErrorObject(error);\n var type = null;\n var source = null;\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n var stack = obj[key] ? ErrorStackParser.parse(obj[key]) : null;\n source = stack && stack.length > 0 ? stack[0].fileName : null;\n }\n }\n if (key === \"type\") {\n type = obj[key];\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n return { type: type, source: source };\n }\n\n function GenerateNewFrames(errorMessage, newFrames, cause, fileName) {\n var lastInnerFileName = null;\n\n newFrames.forEach(function(stackFrame, i) {\n if (stackFrame.functionName) {\n var fn = stackFrame.functionName + ' ';\n } else {\n var fn = '';\n }\n var stackString = ' at ' + fn + '(' + stackFrame.fileName + ':' + stackFrame.lineNumber + ':' + stackFrame.columnNumber + ')';\n newFrames[i] = stackString;\n if (i === 0) {\n lastInnerFileName = stackFrame.fileName || null;\n }\n });\n \n if (!cause) {\n newFrames.unshift(errorMessage);\n } else {\n newFrames.unshift(\"\\nCaused by: \" + errorMessage);\n }\n\n if (fileName) {\n return {\n newFrames: newFrames,\n fileName: lastInnerFileName\n }\n }\n \n return newFrames;\n }\n\n function GPSPromise(stackframes) {\n if (stackframes) {\n var gps = new StackTraceGPS();\n\n return new Promise(function(resolve) {\n resolve(Promise.all(stackframes.map(function(sf) {\n return new Promise(function(resolve) {\n function resolveOriginal() {\n resolve(sf);\n }\n gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);\n });\n })));\n });\n }\n\n return new Promise(function(resolve) {\n return resolve([]);\n });\n }\n\n function stackGPS(error, xhr, jsonData) {\n var object = generateErrorObject(error);\n var messagesArr = [];\n var promiseArr = [];\n\n function iterateObj(obj) {\n Object.keys(obj).forEach(function(key){\n if (key === \"error\") {\n if (objectLength(obj[key].stack) !== 0) {\n messagesArr.push(obj[key].toString().split(\"\\n\")[0]);\n promiseArr.push(GPSPromise(ErrorStackParser.parse(obj[key])));\n }\n }\n if (key === \"inner\" && obj[key].length !== 0) {\n iterateObj(obj[key]);\n }\n });\n }\n\n iterateObj(object);\n\n Promise.all(promiseArr).then((values) => {\n values.forEach(function(stackframe, index) {\n if (index === 0) {\n jsonData.detail = GenerateNewFrames(messagesArr[index], stackframe, false).join(\"\\n\");\n } else {\n jsonData.detail += GenerateNewFrames(messagesArr[index], stackframe, true).join(\"\\n\");\n }\n });\n }).then(function() {\n xhr.send(JSON.stringify(jsonData));\n });\n }\n\n function stackString(error) {\n \tvar typeOF = typeof error.error;\n \tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \treturn typeOFCapitalized + ': ' + error.error + '\\n' + ' at ' + '(' + error.source + ':' + error.lineno + ':' + error.colno + ')';\n }\n\n function manipulateStack (errorStack, severity, message) {\n var stack = [];\n for (var i = 0; i < errorStack.length; i++) {\n if(errorStack[i] === \"Error\") {\n stack.push(severity + \": \" + message);\n }\n if(!errorStack[i].match(/elmahio.js|elmahio.min.js/g) && errorStack[i] !== \"Error\") {\n stack.push(errorStack[i]);\n }\n }\n return stack.join('\\n');\n }\n\n function guid() {\n var s4 = function() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1).toUpperCase();\n }\n return s4() + s4();\n }\n\n function inspectorObj (error, fullError) {\n var obj = {};\n obj.Id = guid();\n\n if (typeof error === \"object\" && error !== null) {\n var stack = error && objectLength(error.stack) !== 0 && typeof error === \"object\" ? ErrorStackParser.parse(error) : '';\n obj.Type = error.name || null;\n obj.Message = error.message || null;\n obj.StackTrace = objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n obj.Source = stack && stack.length > 0 ? stack[0].fileName : null;\n obj.Inners = error.cause && typeof error.cause === \"object\" && error.cause instanceof Error ? [inspectorObj(error.cause)] : [];\n\n if (error.cause && obj.Inners instanceof Array && obj.Inners.length === 0) {\n if (typeof error.cause === \"number\" || typeof error.cause === \"string\" || typeof error.cause === \"boolean\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause }];\n }\n if (typeof error.cause === \"bigint\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() + \"n\" }];\n }\n if (typeof error.cause === \"symbol\") {\n obj.ExceptionSpecific = [{ key: \"cause\", value: error.cause.toString() }];\n }\n if (typeof error.cause === \"object\") {\n if (!(Object.keys(obj).length === 0 && obj.constructor === Object)) {\n let objEntries = [];\n for (const [key, value] of Object.entries(error.cause)) {\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") {\n objEntries.push({ key: key, value: value });\n }\n if (typeof value === \"bigint\") {\n objEntries.push({ key: key, value: value.toString() + \"n\" });\n }\n if (typeof value === \"symbol\") {\n objEntries.push({ key: key, value: value.toString() });\n }\n }\n obj.ExceptionSpecific = objEntries;\n }\n }\n }\n\n } else {\n obj.Type = typeof fullError.error || null;\n obj.Message = fullError.message || null;\n obj.StackTrace = stackString(fullError);\n obj.Source = fullError.source || null;\n obj.Inners = [];\n }\n\n return obj;\n }\n\n function inspectorGPS (error) {\n var inspectorObject = inspectorObj(error);\n var promiseArr = [];\n\n function iterateObj(obj, final) {\n Object.keys(obj).forEach(function(key){\n if (key === \"StackTrace\") {\n if (!final) {\n obj[key] = GPSPromise(obj[key]);\n promiseArr.push(obj[key]);\n } else {\n obj[key].then(result => {\n var generateNewFrames = GenerateNewFrames(obj.Type + ': ' + obj.Message, result, false, true);\n obj[key] = generateNewFrames.newFrames.join(\"\\n\");\n obj['Source'] = generateNewFrames.fileName || null;\n });\n }\n }\n if (key === \"Inners\" && obj[key].length !== 0) {\n iterateObj(obj[key][0], final);\n }\n });\n }\n\n iterateObj(inspectorObject, false);\n\n return new Promise(function(resolve, reject) {\n Promise.all(promiseArr).then(function(values) {\n iterateObj(inspectorObject, true);\n }).then(function() {\n resolve(inspectorObject);\n });\n });\n }\n\n // Private methods\n\n var recordBreadcrumb = function(obj) {\n var crumb = merge_objects({'dateTime': new Date().toISOString()}, obj),\n breadcrumbs_number = 10;\n \n breadcrumbs.push(crumb);\n \n if(options.breadcrumbsNumber >= 0 && typeof options.breadcrumbsNumber === \"number\" ) {\n if(options.breadcrumbsNumber > 25) {\n breadcrumbs_number = 25;\n } else if(options.breadcrumbsNumber <= 25) {\n breadcrumbs_number = options.breadcrumbsNumber;\n }\n }\n \n if (breadcrumbs.length > breadcrumbs_number) {\n breadcrumbs.shift();\n }\n }\n\n var breadcrumbClickEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Click\",\n \"message\": target\n });\n }\n\n var breadcrumbFormSubmitEventHandler = function(evt) {\n var target;\n try {\n target = cssSelectorString(evt.target);\n } catch (e) {\n target = \"\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Form submit\",\n \"message\": target\n });\n }\n\n var breadcrumbWindowEventHandler = function(evt) {\n var type = evt.type,\n message = null;\n\n switch (type) {\n case \"load\":\n message = \"Page loaded\"; break;\n case \"DOMContentLoaded\":\n message = \"DOMContentLoaded\"; break;\n case \"pageshow\":\n message = \"Page shown\"; break;\n case \"pagehide\":\n message = \"Page hidden\"; break;\n case \"popstate\":\n message = \"Navigated from: \" + lastHref + \" to: \" + window.location.href; break;\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": message\n });\n }\n\n var breadcrumbHashChangeEventHandler = function(evt) {\n var oldURL = evt.oldURL,\n newURL = evt.newURL,\n from = null,\n to = null,\n message = null;\n\n if (oldURL && newURL) {\n from = parseHash(oldURL);\n to = parseHash(newURL);\n message = \"from: '\" + from + \"' to: '\" + to + \"'\";\n } else {\n to = location.hash;\n message = \"to: '\" + to + \"'\";\n }\n\n recordBreadcrumb({\n \"severity\": \"Information\",\n \"action\": \"Navigation\",\n \"message\": \"Hash changed \" + message\n });\n }\n\n var breadcrumbXHRHandler = function(evt, method, url) {\n var status = evt && evt.target ? evt.target.status : 0,\n severity = null,\n method = method.toUpperCase(),\n url = url,\n regex = /https:\\/\\/api.elmah.io/g;\n\n if(url.match(regex) == null) { \n if (status > 0 && status < 400) {\n severity = \"Information\";\n } else if (status > 399 && status < 500) {\n severity = \"Warning\";\n } else if (status >= 500) {\n severity = \"Error\";\n }\n\n var statusCode = status > 0 ? \" (\" + status + \")\" : \"\";\n\n recordBreadcrumb({\n \"severity\": severity,\n \"action\": \"Request\",\n \"message\": \"[\" + method + \"] \" + url + statusCode\n });\n }\n }\n\n var sendPayload = function (apiKey, logId, callback, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n error = errorLog,\n send = 1,\n queryParams = getSearchParameters(),\n stack = error.error && objectLength(error.error.stack) !== 0 && typeof error.error === \"object\" ? ErrorStackParser.parse(error.error) : '';\n\n // Ignoring error from an external script\n if (error && error.colno === 0 && error.lineno === 0 && (!stack || stack === '') && error.message && (error.message === \"Script error.\" || error.message === \"Script error\")) {\n\t\t\t if (settings.debug) {\n\t\t\t console.log('%c \\u2BC8 Error log: ' + '%c \\uD83D\\uDEC8 Ignoring error from external script ', debugSettings.lightCSS, debugSettings.warningCSS);\n\t\t\t }\n\t\t\t return;\n\t\t\t}\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"detail\": error.error ? error.error.stack : null,\n \"title\": error.message || 'Unspecified error',\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"severity\": \"Error\",\n \"type\": error.error ? error.error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if error sent is a string and not an object\n // Then create the articifial stacktrace and pass source & type of the error\n if(error.error && (objectLength(error.error.stack) === 0) && typeof jsonData.detail === \"undefined\") {\n \tvar typeOF = typeof errorLog.error;\n \t\t\tvar typeOFCapitalized = typeOF.charAt(0).toUpperCase() + typeOF.slice(1);\n\n \tjsonData.detail = stackString(errorLog);\n \tjsonData.source = errorLog.source;\n jsonData.title = \"Uncaught \" + typeOFCapitalized + \": \" + errorLog.error;\n }\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error.error && error.error.cause && typeof error.error.cause === \"object\" && error.error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error.error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error.error && typeof error.error === \"object\" && objectLength(error.error.stack) !== 0 && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error.error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error.error, xhr, jsonData);\n });\n\t } else {\n // Add inspector to jsonData\n if (jsonData.detail) {\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(inspectorObj(error.error, errorLog)) });\n }\n\n // send message\n \txhr.send(JSON.stringify(jsonData));\n\t }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendManualPayload = function (apiKey, logId, callback, logType, messageLog, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n type = logType,\n error = errorLog,\n message = messageLog,\n send = 1,\n queryParams = getSearchParameters();\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n if (type !== \"Log\") {\n\n var stack = error && error instanceof Error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n\n var jsonData = {\n \"title\": message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": type,\n \"type\": error ? error.name : null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n } else {\n\n var jsonData = error;\n \n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n // If message contains breadcrumbs\n if(jsonData.breadcrumbs && jsonData.breadcrumbs.length > 0) {\n breadcrumbs = breadcrumbs.reverse();\n for (var i = 0; i < breadcrumbs.length; i++) {\n // Add breadcrumbs to jsonData object\n jsonData.breadcrumbs.unshift(breadcrumbs[i]);\n }\n } else {\n jsonData.breadcrumbs = breadcrumbs;\n }\n \n // Reset breadcrumbs\n breadcrumbs = [];\n }\n\n // on message event\n publicAPIs.emit('message', jsonData);\n\n if (error && error instanceof Error && type !== \"Log\" && typeof Promise !== \"undefined\" && Promise.toString().indexOf(\"[native code]\") !== -1) {\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n // send message\n if(jsonData.errorObject && jsonData.errorObject instanceof Error) {\n error = jsonData.errorObject;\n delete jsonData.errorObject;\n // try to pinpoint stackframes from error object\n inspectorGPS(error).then((result) => {\n // Add inspector to jsonData\n jsonData.data.push({ \"key\": \"X-ELMAHIO-EXCEPTIONINSPECTOR\", \"value\": JSON.stringify(result) });\n // send message trying to pinpoint stackframes\n stackGPS(error, xhr, jsonData);\n });\n } else {\n delete jsonData.errorObject;\n xhr.send(JSON.stringify(jsonData));\n }\n }\n\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPayloadFromConsole = function (apiKey, logId, callback, logType, errorLog) {\n var api_key = apiKey,\n log_id = logId,\n message = errorLog.message,\n messageTemplate = errorLog.message,\n type = logType,\n args = Object.values(errorLog.arguments),\n send = 1,\n queryParams = getSearchParameters();\n\n function format(f, args) {\n var formatRegExp = /%[sdif]/g;\n var str = f;\n\n if(args.length > 1) {\n // If message has placeholders (%s, %d, %i, %f), check for arguments and replace them\n if(String(f).match(/%[sdif]/g)) {\n var i = 0;\n str = String(f).replace(formatRegExp, function(x) {\n switch (x) {\n case '%s': i++; return args[i] ? String(args[i]) : '%s';\n case '%d': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%d';\n case '%i': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseInt(args[i]) : 'NaN' : '%i';\n case '%f': i++; return args[i] ? (isInt(args[i]) || isFloat(args[i])) ? parseFloat(args[i]) : 'NaN' : '%f';\n default: return x;\n }\n });\n\n for (var len = args.length, x = args[++i]; i < len; x = args[++i]) {\n if (x === null || typeof x !== 'object') {\n str += ' ' + x;\n } else {\n str += ' ' + String(Object.prototype.toString.call(x));\n }\n }\n } else {\n str = args.join(' ');\n }\n }\n\n return str;\n }\n\n message = format(message, args);\n\n if(typeof message !== \"string\" && message !== undefined){\n message = message.toString();\n }\n\n if(typeof messageTemplate !== \"string\" && messageTemplate !== undefined) {\n messageTemplate = messageTemplate.toString();\n }\n\n if ((api_key !== null && log_id !== null) || (paramsLength === 2)) {\n\n // Priority for parameters\n if (params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n api_key = params['apiKey'];\n log_id = params['logId'];\n }\n\n // get new XHR object\n var xhr = new XMLHttpRequest();\n xhr.open(\"POST\", \"https://api.elmah.io/v3/messages/\" + log_id + \"?api_key=\" + api_key, true);\n xhr.setRequestHeader('Content-type', 'application/json');\n\n xhr.onload = function (e) {\n if (xhr.readyState === 4) {\n if (xhr.status === 201) {\n callback('success', xhr.statusText);\n }\n\n if(xhr.status >= 400 && xhr.status <= 499) {\n callback('error', xhr.statusText);\n\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n }\n };\n\n xhr.onerror = function (e) {\n callback('error', xhr.statusText);\n // on error event\n publicAPIs.emit('error', xhr.status, xhr.statusText);\n }\n\n var jsonData = {\n \"title\": message,\n \"titleTemplate\": messageTemplate,\n \"detail\": manipulateStack(new Error().stack.split('\\n'), type, message),\n \"severity\": type,\n \"type\": null,\n \"queryString\": JSON.parse(JSON.stringify(queryParams))\n };\n\n // Add payload to jsonData\n jsonData = merge_objects(jsonData, getPayload());\n\n // Add breadcrumbs to jsonData\n if(breadcrumbs.length > 0) {\n jsonData.breadcrumbs = breadcrumbs;\n breadcrumbs = [];\n }\n\n // filter callback\n if (settings.filter !== null) {\n if (settings.filter(jsonData)) {\n send = 0;\n }\n }\n\n if (send === 1) {\n if (jsonData.title) {\n // on message event\n publicAPIs.emit('message', jsonData);\n // send message\n xhr.send(JSON.stringify(jsonData));\n } else {\n callback('missing-title', xhr.statusText);\n }\n }\n\n } else {\n return console.log('Login api error');\n }\n };\n\n var sendPrefilledLogMessage = function(errorLog) {\n // without error object\n if(!errorLog) return getPayload();\n\n // with error object\n var error = errorLog;\n var stack = error && objectLength(error.stack) !== 0 ? ErrorStackParser.parse(error) : null;\n var jsonData = {\n \"title\": error.message,\n \"source\": stack && stack.length > 0 ? stack[0].fileName : null,\n \"detail\": error ? error.stack : null,\n \"severity\": \"Error\",\n \"type\": error ? error.name : null,\n \"errorObject\": error\n };\n\n // Check if the error sent has a cause\n // Then change the type and source with the most inner error type\n if(error && error.cause && typeof error.cause === \"object\" && error.cause instanceof Error) {\n var typeAndSource = getErrorTypeSource(error);\n jsonData.type = typeAndSource.type;\n jsonData.source = typeAndSource.source;\n }\n\n jsonData = merge_objects(jsonData, getPayload());\n \n return jsonData;\n };\n\n // Some public methods\n\n publicAPIs.error = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Error', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.verbose = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Verbose', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.debug = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Debug', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.information = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Information', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.warning = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Warning', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.fatal = function (msg, error) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Fatal', msg, error); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.log = function (obj) {\n setTimeout(function() { sendManualPayload(settings.apiKey, settings.logId, confirmResponse, 'Log', null, obj); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n };\n publicAPIs.message = function(error) {\n return sendPrefilledLogMessage(error);\n };\n publicAPIs.addBreadcrumb = function(msg, severity, evt) {\n recordBreadcrumb({\n \"severity\": (severity != undefined && isString(severity)) ? severity : \"Information\",\n \"action\": (evt != undefined && isString(evt)) ? evt : \"Log\",\n \"message\": (msg != undefined && isString(msg)) ? msg : \"This is just a test message.\"\n });\n };\n\n publicAPIs.on = function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n };\n\n publicAPIs.emit = function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n };\n\n publicAPIs.init = function (options) {\n\n // -- Merge options into defaults\n settings = extend(defaults, options || {});\n\n // -- Breadcrumbs\n if (settings.breadcrumbs) {\n // Breadcrumbs - Click & Submit form\n if (document.addEventListener) {\n document.addEventListener('click', breadcrumbClickEventHandler, false);\n document.addEventListener('submit', breadcrumbFormSubmitEventHandler, false);\n } else if (document.attachEvent) {\n document.attachEvent('click', breadcrumbClickEventHandler, false);\n document.attachEvent('submit', breadcrumbFormSubmitEventHandler, false);\n }\n\n // Breadcrumbs - Navigation\n if (window.addEventListener) {\n window.addEventListener('load', breadcrumbWindowEventHandler, false);\n window.addEventListener('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.addEventListener('pageshow', breadcrumbWindowEventHandler, false);\n window.addEventListener('pagehide', breadcrumbWindowEventHandler, false);\n window.addEventListener('hashchange', breadcrumbHashChangeEventHandler, false);\n } else if (window.attachEvent) {\n window.attachEvent('load', breadcrumbWindowEventHandler, false);\n window.attachEvent('DOMContentLoaded', breadcrumbWindowEventHandler, false);\n window.attachEvent('pageshow', breadcrumbWindowEventHandler, false);\n window.attachEvent('pagehide', breadcrumbWindowEventHandler, false);\n window.attachEvent('hashchange', breadcrumbHashChangeEventHandler, false);\n }\n\n if(window.history && window.history.pushState && window.history.replaceState) {\n var old_onpopstate = window.onpopstate;\n window.onpopstate = function(evt) {\n breadcrumbWindowEventHandler(evt);\n if (old_onpopstate) {\n return old_onpopstate.apply(this, arguments);\n }\n };\n }\n\n // Breadcrumbs - XHR\n if(window.XMLHttpRequest && window.XMLHttpRequest.prototype) {\n // Store a reference to the native method\n var open = XMLHttpRequest.prototype.open;\n \n // Overwrite the native method\n XMLHttpRequest.prototype.open = function(method, url) {\n // Assign an event listener\n this.addEventListener(\"loadend\", function(event) { breadcrumbXHRHandler(event, method, url); }, false);\n // Call the stored reference to the native method\n open.apply(this, arguments);\n };\n }\n }\n\n // -- Log on window error\n window.onerror = function (message, source, lineno, colno, error) {\n var errorLog = {\n 'message': message,\n 'source': source,\n 'lineno': lineno,\n 'colno': colno,\n 'error': error\n };\n \n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Log on window unhandled rejection\n window.onunhandledrejection = function (event) {\n var errorLog = {\n 'message': event.reason && event.reason.message ? event.reason.message : undefined,\n 'error': event.reason && event.reason.message && event.reason.stack ? event.reason : undefined\n };\n\n setTimeout(function() { sendPayload(settings.apiKey, settings.logId, confirmResponse, errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n\n return false;\n }\n\n // -- Overriding console methods\n // -- Then log messages into the app.elmah.io\n if(options && options.captureConsoleMinimumLevel !== \"none\") {\n\n // If captureConsoleMinimumLevel: info or debug is set (error, warn)\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"warn\" || options.captureConsoleMinimumLevel === \"error\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console errors\n var _error = console.error;\n console.error = function(errMessage){\n var errorLog = {\n \t\t'message': errMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Error', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _error.apply(console, arguments);\n };\n if(options.captureConsoleMinimumLevel !== \"error\") {\n // Log console warnings\n var _warning = console.warn;\n console.warn = function(warnMessage){\n var errorLog = {\n 'message': warnMessage,\n 'arguments': arguments\n }\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Warning', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _warning.apply(console, arguments);\n };\n }\n }\n if(options.captureConsoleMinimumLevel === \"info\" || options.captureConsoleMinimumLevel === \"debug\") {\n // Log console info\n var _info = console.info;\n console.info = function(infoMessage){\n var errorLog = {\n \t\t'message': infoMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Information', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _info.apply(console, arguments);\n };\n }\n if(options.captureConsoleMinimumLevel === \"debug\") {\n // Log console debug\n var _debug = console.debug;\n console.debug = function(debugMessage){\n var errorLog = {\n \t\t'message': debugMessage,\n \t\t'arguments': arguments\n \t}\n setTimeout(function() { sendPayloadFromConsole(settings.apiKey, settings.logId, confirmResponse, 'Debug', errorLog); }, settings.breadcrumbs ? breadcrumbsDelay : 0);\n _debug.apply(console, arguments);\n };\n }\n }\n };\n\n // Initialize the plugin\n publicAPIs.init(options);\n\n if (settings.debug) {\n console.log('%c' + debugSettings.label, debugSettings.labelCSS);\n }\n\n // Return the public APIs\n return publicAPIs;\n\n };\n\n\n //\n // Return the constructor\n //\n\n if (paramsLength && params.hasOwnProperty('apiKey') && params.hasOwnProperty('logId')) {\n // Immediately-Invoked Function Expression (IIFE)\n return new Constructor;\n } else {\n // UMD Constructor\n return Constructor;\n }\n\n});"],"file":"elmahio.min.js"} \ No newline at end of file diff --git a/elmah.io.javascript.nuspec b/elmah.io.javascript.nuspec index 00cdf76..7f3c926 100644 --- a/elmah.io.javascript.nuspec +++ b/elmah.io.javascript.nuspec @@ -1,7 +1,7 @@  - 4.1.0 + 4.1.1 elmah.io elmah.io elmah.io.javascript diff --git a/package-lock.json b/package-lock.json index 350995f..cc70715 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "elmah.io.javascript", - "version": "4.1.0", + "version": "4.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "elmah.io.javascript", - "version": "4.1.0", + "version": "4.1.1", "license": "Apache-2.0", "devDependencies": { "gulp": "^4.0.2", @@ -33,11 +33,14 @@ "node": ">= 0.10" } }, - "node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/@gulp-sourcemaps/identity-map/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, "engines": { "node": ">=0.10.0" } @@ -45,7 +48,7 @@ "node_modules/@gulp-sourcemaps/map-sources": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", - "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", + "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==", "dev": true, "dependencies": { "normalize-path": "^2.0.1", @@ -55,32 +58,64 @@ "node": ">= 0.10" } }, - "node_modules/@types/commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/@types/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-0QEFiR8ljcHp9bAbWxecjVRuAMr16ivPiGOw6KFQBVrVd0RQIcM3xKdRisH2EDWgVWujiYtHwhSkSUoAAGzH7Q==", - "deprecated": "This is a stub types definition for commander (https://github.com/tj/commander.js). commander provides its own type definitions, so you don't need @types/commander installed!", + "node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { - "commander": "*" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@types/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/acorn": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", - "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -89,15 +124,6 @@ "node": ">=0.4.0" } }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -113,7 +139,7 @@ "node_modules/ansi-cyan": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "integrity": "sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==", "dev": true, "dependencies": { "ansi-wrap": "0.1.0" @@ -125,7 +151,7 @@ "node_modules/ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", "dev": true, "dependencies": { "ansi-wrap": "0.1.0" @@ -137,7 +163,7 @@ "node_modules/ansi-red": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", "dev": true, "dependencies": { "ansi-wrap": "0.1.0" @@ -147,18 +173,33 @@ } }, "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -174,10 +215,22 @@ "normalize-path": "^2.1.1" } }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/append-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", "dev": true, "dependencies": { "buffer-equal": "^1.0.0" @@ -189,13 +242,13 @@ "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -204,7 +257,7 @@ "node_modules/arr-filter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", "dev": true, "dependencies": { "make-iterator": "^1.0.0" @@ -225,7 +278,7 @@ "node_modules/arr-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", "dev": true, "dependencies": { "make-iterator": "^1.0.0" @@ -235,9 +288,9 @@ } }, "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -246,7 +299,7 @@ "node_modules/array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -255,7 +308,7 @@ "node_modules/array-initial": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", "dev": true, "dependencies": { "array-slice": "^1.0.0", @@ -318,19 +371,10 @@ "node": ">=0.10.0" } }, - "node_modules/array-sort/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -339,7 +383,7 @@ "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -361,15 +405,21 @@ } }, "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] }, "node_modules/async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", "dev": true, "dependencies": { "async-done": "^1.2.2" @@ -393,7 +443,7 @@ "node_modules/bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", "dev": true, "dependencies": { "arr-filter": "^1.1.1", @@ -411,9 +461,9 @@ } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/base": { @@ -437,7 +487,7 @@ "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" @@ -446,44 +496,6 @@ "node": ">=0.10.0" } }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -534,31 +546,22 @@ "node": ">=0.10.0" } }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/cache-base": { @@ -581,10 +584,29 @@ "node": ">=0.10.0" } }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -613,15 +635,6 @@ "fsevents": "^1.2.7" } }, - "node_modules/chokidar/node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -637,10 +650,19 @@ "node": ">=0.10.0" } }, + "node_modules/class-utils/node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -649,10 +671,23 @@ "node": ">=0.10.0" } }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "dev": true, "dependencies": { "string-width": "^1.0.1", @@ -660,10 +695,70 @@ "wrap-ansi": "^2.0.0" } }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, "engines": { "node": ">=0.8" @@ -672,7 +767,7 @@ "node_modules/clone-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", "dev": true, "engines": { "node": ">= 0.10" @@ -681,13 +776,13 @@ "node_modules/clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", "dev": true }, "node_modules/cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dev": true, "dependencies": { "inherits": "^2.0.1", @@ -695,40 +790,10 @@ "readable-stream": "^2.3.5" } }, - "node_modules/cloneable-readable/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/cloneable-readable/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/cloneable-readable/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -737,7 +802,7 @@ "node_modules/collection-map": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", "dev": true, "dependencies": { "arr-map": "^2.0.2", @@ -751,7 +816,7 @@ "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "dependencies": { "map-visit": "^1.0.0", @@ -761,6 +826,24 @@ "node": ">=0.10.0" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -771,21 +854,27 @@ } }, "node_modules/commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } }, "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "node_modules/concat-stream": { @@ -804,9 +893,9 @@ } }, "node_modules/config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "dependencies": { "ini": "^1.3.4", @@ -814,76 +903,82 @@ } }, "node_modules/convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", "dev": true, "dependencies": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/css": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", - "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "source-map": "^0.1.38", - "source-map-resolve": "^0.5.1", - "urix": "^0.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/css/node_modules/source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" } }, "node_modules/d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "dev": true, "dependencies": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "node_modules/debug-fabulous": { @@ -897,46 +992,28 @@ "object-assign": "4.X" } }, - "node_modules/debug-fabulous/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/debug-fabulous/node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/decomment": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.2.tgz", - "integrity": "sha512-sblyUmOJZxiL7oJ2ogJS6jtl/67+CTOW87SrYE/96u3PhDYikYoLCdLzcnceToiQejOLlqNnLCkaxx/+nE/ehg==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.5.tgz", + "integrity": "sha512-h0TZ8t6Dp49duwyDHo3iw67mnh9/UpFiSSiOb5gDK1sqoXzrfX/SQxIUQd2R2QEiSnqib0KF2fnKnGfAhAs6lg==", "dev": true, "dependencies": { "esprima": "4.0.1" @@ -958,82 +1035,57 @@ "node": ">=0.10.0" } }, - "node_modules/default-compare/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/default-resolution": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", "dev": true, "engines": { "node": ">= 0.10" } }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" + "node": ">= 0.4" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" @@ -1042,7 +1094,7 @@ "node_modules/detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1051,7 +1103,7 @@ "node_modules/detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1079,42 +1131,72 @@ "object.defaults": "^1.1.0" } }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/editorconfig": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.0.tgz", - "integrity": "sha512-j7JBoj/bpNzvoTQylfRZSc85MlLNKWQiq5y6gwKhmqD2h1eZ+tH4AXbkhEJD468gjDna/XMx2YtSkCxBRX9OGg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", "dev": true, "dependencies": { - "@types/commander": "^2.11.0", - "@types/semver": "^5.4.0", - "commander": "^2.11.0", - "lru-cache": "^4.1.1", - "semver": "^5.4.1", - "sigmund": "^1.0.1" + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" }, "bin": { "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" } }, - "node_modules/editorconfig/node_modules/lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "node_modules/editorconfig/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "balanced-match": "^1.0.0" } }, - "node_modules/editorconfig/node_modules/semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1133,21 +1215,47 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es5-ext": { - "version": "0.10.46", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", - "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "dev": true, + "hasInstallScript": true, "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dev": true, "dependencies": { "d": "1", @@ -1156,27 +1264,45 @@ } }, "node_modules/es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "dev": true, "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, "dependencies": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -1193,7 +1319,7 @@ "node_modules/event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "dev": true, "dependencies": { "d": "1", @@ -1203,7 +1329,7 @@ "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "dependencies": { "debug": "^2.3.3", @@ -1218,10 +1344,19 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -1230,22 +1365,29 @@ "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, "dependencies": { "homedir-polyfill": "^1.0.1" @@ -1254,6 +1396,15 @@ "node": ">=0.10.0" } }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "dependencies": { + "type": "^2.7.2" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1261,25 +1412,12 @@ "dev": true }, "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" @@ -1307,7 +1445,7 @@ "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" @@ -1316,56 +1454,6 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", @@ -1381,6 +1469,12 @@ "node": ">= 0.10" } }, + "node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", + "dev": true + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -1391,7 +1485,7 @@ "node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", @@ -1403,22 +1497,10 @@ "node": ">=0.10.0" } }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dev": true, "dependencies": { "path-exists": "^2.0.0", @@ -1459,6 +1541,18 @@ "node": ">= 0.10" } }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/flagged-respawn": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", @@ -1481,7 +1575,7 @@ "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1490,7 +1584,7 @@ "node_modules/for-own": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "dev": true, "dependencies": { "for-in": "^1.0.1" @@ -1499,22 +1593,38 @@ "node": ">=0.10.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, "dependencies": { - "map-cache": "^0.2.2" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=0.10.0" - } + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/fs-mkdirp-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", "dev": true, "dependencies": { "graceful-fs": "^4.1.11", @@ -1527,17 +1637,14 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "node_modules/fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "bundleDependencies": [ - "node-pre-gyp" - ], - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, "hasInstallScript": true, "optional": true, @@ -1546,190 +1653,129 @@ ], "dependencies": { "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" + "nan": "^2.12.1" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/fsevents/node_modules/abbrev": { - "version": "1.1.1", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/ansi-regex": { - "version": "2.1.1", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "node": ">= 4.0" } }, - "node_modules/fsevents/node_modules/aproba": { - "version": "1.2.0", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/are-we-there-yet": { - "version": "1.1.5", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fsevents/node_modules/balanced-match": { - "version": "1.0.0", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true }, - "node_modules/fsevents/node_modules/brace-expansion": { - "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fsevents/node_modules/chownr": { - "version": "1.1.3", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/code-point-at": { - "version": "1.1.0", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "inBundle": true, - "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/concat-map": { - "version": "0.0.1", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/console-control-strings": { - "version": "1.1.0", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/core-util-is": { - "version": "1.0.2", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/debug": { - "version": "3.2.6", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/fsevents/node_modules/deep-extend": { - "version": "0.6.0", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fsevents/node_modules/delegates": { - "version": "1.0.0", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/detect-libc": { - "version": "1.0.3", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "inBundle": true, - "optional": true, + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, "bin": { - "detect-libc": "bin/detect-libc.js" + "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=0.10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fsevents/node_modules/fs-minipass": { - "version": "1.2.7", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "minipass": "^2.6.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "node_modules/fsevents/node_modules/fs.realpath": { - "version": "1.0.0", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, - "inBundle": true, - "optional": true + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/fsevents/node_modules/gauge": { - "version": "2.7.4", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/glob": { - "version": "7.1.6", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/glob-stream/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -1740,1156 +1786,1096 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fsevents/node_modules/has-unicode": { - "version": "2.0.1", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/iconv-lite": { - "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/ignore-walk": { - "version": "3.0.3", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "minimatch": "^3.0.4" + "balanced-match": "^1.0.0" } }, - "node_modules/fsevents/node_modules/inflight": { - "version": "1.0.6", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/fsevents/node_modules/inherits": { - "version": "2.0.4", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/ini": { - "version": "1.3.5", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", - "dev": true, - "inBundle": true, - "optional": true, + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "node_modules/global-modules": { "version": "1.0.0", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "number-is-nan": "^1.0.0" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/isarray": { - "version": "1.0.0", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/minimatch": { - "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "brace-expansion": "^1.1.7" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/minimist": { - "version": "0.0.8", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/minipass": { - "version": "2.9.0", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/fsevents/node_modules/minizlib": { - "version": "1.3.3", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "minipass": "^2.9.0" + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/mkdirp": { - "version": "0.5.1", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "minimist": "0.0.8" + "get-intrinsic": "^1.1.3" }, - "bin": { - "mkdirp": "bin/cmd.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fsevents/node_modules/ms": { - "version": "2.1.2", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, - "node_modules/fsevents/node_modules/needle": { - "version": "2.4.0", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" }, "bin": { - "needle": "bin/needle" + "gulp": "bin/gulp.js" }, "engines": { - "node": ">= 4.4.x" + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/node-pre-gyp": { - "version": "0.14.0", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future", + "node_modules/gulp-beautify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/gulp-beautify/-/gulp-beautify-2.0.1.tgz", + "integrity": "sha512-wMvSPF+C/S43+EtIRF9JpibNU4w2ghoUluXd3WEKF3XiYLdSoO8laE0gs/XgpIfNLpAuwdOnn2I/CPQGCwei/A==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" + "js-beautify": "^1.5.10", + "rcloader": "^0.2.1", + "through2": "^2.0.0" }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" + "engines": { + "node": ">= 0.9.0" } }, - "node_modules/fsevents/node_modules/nopt": { - "version": "4.0.1", - "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==", + "node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" }, "bin": { - "nopt": "bin/nopt.js" + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/npm-bundled": { - "version": "1.1.1", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "node_modules/gulp-minify": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-minify/-/gulp-minify-3.1.0.tgz", + "integrity": "sha512-ixF41aYg+NQikI8hpoHdEclYcQkbGdXQu1CBdHaU7Epg8H6e8d2jWXw1+rBPgYwl/XpKgjHj7NI6gkhoSNSSAg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "ansi-colors": "^1.0.1", + "minimatch": "^3.0.2", + "plugin-error": "^0.1.2", + "terser": "^3.7.6", + "through2": "^2.0.3", + "vinyl": "^2.1.0" } }, - "node_modules/fsevents/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/npm-packlist": { - "version": "1.4.7", - "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "node_modules/gulp-sourcemaps": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz", + "integrity": "sha512-SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "@gulp-sourcemaps/identity-map": "1.X", + "@gulp-sourcemaps/map-sources": "1.X", + "acorn": "5.X", + "convert-source-map": "1.X", + "css": "2.X", + "debug-fabulous": "1.X", + "detect-newline": "2.X", + "graceful-fs": "4.X", + "source-map": "~0.6.0", + "strip-bom-string": "1.X", + "through2": "2.X" + }, + "engines": { + "node": ">=4" } }, - "node_modules/fsevents/node_modules/npmlog": { - "version": "4.1.2", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "node_modules/gulp-strip-comments": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/gulp-strip-comments/-/gulp-strip-comments-2.6.0.tgz", + "integrity": "sha512-tl3xM5zAcdgvyXxd70riKn4l9mroU/4WMYbMzyYJB8/NJNcW/Z78FRGMYwcHvAfHH7v5K7MF4kumdZ0JAXKjag==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "decomment": "^0.9.5", + "plugin-error": "^2.0.1", + "through2": "^4.0.2" } }, - "node_modules/fsevents/node_modules/number-is-nan": { - "version": "1.0.1", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "node_modules/gulp-strip-comments/node_modules/plugin-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", + "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "ansi-colors": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/fsevents/node_modules/object-assign": { - "version": "4.1.1", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/gulp-strip-comments/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/fsevents/node_modules/once": { - "version": "1.4.0", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/gulp-strip-comments/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "wrappy": "1" + "readable-stream": "3" } }, - "node_modules/fsevents/node_modules/os-homedir": { - "version": "1.0.2", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "glogg": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/os-tmpdir": { + "node_modules/has-property-descriptors": { "version": "1.0.2", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "inBundle": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/osenv": { - "version": "0.1.5", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fsevents/node_modules/path-is-absolute": { - "version": "1.0.1", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, - "inBundle": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fsevents/node_modules/process-nextick-args": { - "version": "2.0.1", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "inBundle": true, - "optional": true + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/fsevents/node_modules/rc": { - "version": "1.2.8", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, - "bin": { - "rc": "cli.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/rc/node_modules/minimist": { - "version": "1.2.0", - "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/readable-stream": { - "version": "2.3.6", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/rimraf": { - "version": "2.7.1", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "glob": "^7.1.3" + "is-buffer": "^1.1.5" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/safe-buffer": { - "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "inBundle": true, - "optional": true + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/fsevents/node_modules/safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, - "inBundle": true, - "optional": true + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/fsevents/node_modules/sax": { - "version": "1.2.4", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, - "node_modules/fsevents/node_modules/semver": { - "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "inBundle": true, - "optional": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/fsevents/node_modules/set-blocking": { - "version": "2.0.0", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, - "node_modules/fsevents/node_modules/signal-exit": { - "version": "3.0.2", - "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, - "node_modules/fsevents/node_modules/string_decoder": { - "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/string-width": { - "version": "1.0.2", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", "dev": true, - "inBundle": true, - "optional": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/strip-ansi": { - "version": "3.0.1", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "ansi-regex": "^2.0.0" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/strip-json-comments": { - "version": "2.0.1", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, - "inBundle": true, - "optional": true, + "dependencies": { + "hasown": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/fsevents/node_modules/tar": { - "version": "4.4.13", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "binary-extensions": "^1.0.0" }, "engines": { - "node": ">=4.5" + "node": ">=0.10.0" } }, - "node_modules/fsevents/node_modules/util-deprecate": { - "version": "1.0.2", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "inBundle": true, - "optional": true + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, - "node_modules/fsevents/node_modules/wide-align": { - "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, - "inBundle": true, - "optional": true, "dependencies": { - "string-width": "^1.0.2 || 2" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fsevents/node_modules/wrappy": { - "version": "1.0.2", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/fsevents/node_modules/yallist": { - "version": "3.1.1", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "inBundle": true, - "optional": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.4" } }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "dependencies": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" - }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/glob-watcher": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", - "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "object.defaults": "^1.1.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/global-modules": { + "node_modules/is-negated-glob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "sparkles": "^1.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", "dev": true }, - "node_modules/gulp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", - "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "dependencies": { - "glob-watcher": "^5.0.3", - "gulp-cli": "^2.2.0", - "undertaker": "^1.2.1", - "vinyl-fs": "^3.0.0" - }, - "bin": { - "gulp": "bin/gulp.js" + "is-unc-path": "^1.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/gulp-beautify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/gulp-beautify/-/gulp-beautify-2.0.1.tgz", - "integrity": "sha1-1bfBTQAgMrpa6mFvAt1cktnmV+w=", + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "dependencies": { - "js-beautify": "^1.5.10", - "rcloader": "^0.2.1", - "through2": "^2.0.0" + "unc-path-regex": "^0.1.2" }, "engines": { - "node": ">= 0.9.0" + "node": ">=0.10.0" } }, - "node_modules/gulp-minify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/gulp-minify/-/gulp-minify-3.1.0.tgz", - "integrity": "sha512-ixF41aYg+NQikI8hpoHdEclYcQkbGdXQu1CBdHaU7Epg8H6e8d2jWXw1+rBPgYwl/XpKgjHj7NI6gkhoSNSSAg==", + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", "dev": true, - "dependencies": { - "ansi-colors": "^1.0.1", - "minimatch": "^3.0.2", - "plugin-error": "^0.1.2", - "terser": "^3.7.6", - "through2": "^2.0.3", - "vinyl": "^2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/gulp-minify/node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, "engines": { - "node": ">=0.8" + "node": ">=0.10.0" } }, - "node_modules/gulp-minify/node_modules/clone-stats": { + "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, - "node_modules/gulp-minify/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/gulp-minify/node_modules/replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "engines": { - "node": ">= 0.10" + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/gulp-minify/node_modules/vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "node_modules/js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", "dev": true, "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" }, "engines": { - "node": ">= 0.10" + "node": ">=14" } }, - "node_modules/gulp-sourcemaps": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz", - "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=", + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", "dev": true, - "dependencies": { - "@gulp-sourcemaps/identity-map": "1.X", - "@gulp-sourcemaps/map-sources": "1.X", - "acorn": "5.X", - "convert-source-map": "1.X", - "css": "2.X", - "debug-fabulous": "1.X", - "detect-newline": "2.X", - "graceful-fs": "4.X", - "source-map": "~0.6.0", - "strip-bom-string": "1.X", - "through2": "2.X" - }, "engines": { - "node": ">=4" + "node": ">=14" } }, - "node_modules/gulp-sourcemaps/node_modules/graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true }, - "node_modules/gulp-sourcemaps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/gulp-strip-comments": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/gulp-strip-comments/-/gulp-strip-comments-2.5.2.tgz", - "integrity": "sha512-lb1bW7rsPWDD8f4ZPSguDvmCdjKmjr5HR4yZb9ros3sLl5AfW7oUj8KzY9/VRisT7dG8dL7hVHzNpQEVxfwZGQ==", - "dev": true, - "dependencies": { - "decomment": "^0.9.0", - "plugin-error": "^0.1.2", - "through2": "^2.0.3" - } - }, - "node_modules/gulp/node_modules/gulp-cli": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", - "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", "dev": true, "dependencies": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.1.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.0.1", - "yargs": "^7.1.0" - }, - "bin": { - "gulp": "bin/gulp.js" + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" }, "engines": { "node": ">= 0.10" } }, - "node_modules/gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, "dependencies": { - "glogg": "^1.0.0" + "readable-stream": "^2.0.5" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.6.3" } }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "invert-kv": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/has-value": { + "node_modules/lead": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "flush-write-stream": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "dev": true, "dependencies": { - "parse-passwd": "^1.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", + "dev": true }, - "node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", "dev": true }, - "node_modules/ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "node_modules/lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "es5-ext": "~0.10.2" } }, - "node_modules/interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "node_modules/make-iterator/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", "dev": true, "dependencies": { - "binary-extensions": "^1.0.0" + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "is-extglob": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/memoizee": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz", + "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "d": "^1.0.2", + "es5-ext": "^0.10.64", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12" } }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "node_modules/micromatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/micromatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { + "node_modules/mixin-deep/node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", @@ -2901,1418 +2887,1331 @@ "node": ">=0.10.0" } }, - "node_modules/is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "dependencies": { - "is-unc-path": "^1.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "dependencies": { - "unc-path-regex": "^0.1.2" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "node_modules/is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "node_modules/nanomatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/js-beautify": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.1.tgz", - "integrity": "sha512-e6Ij+fcwlnhxwfEWH148AV240ocW6z6LTZtWc9V7QEOUMu7pe2EINYbO1sM4GPHFwTVWMUWBCXGgsJGRpaQPLQ==", + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", "dev": true, "dependencies": { - "config-chain": "~1.1.5", - "editorconfig": "^0.15.0", - "mkdirp": "~0.5.0", - "nopt": "~4.0.1" + "abbrev": "^2.0.0" }, "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } }, - "node_modules/just-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", - "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", - "dev": true + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "node_modules/now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", "dev": true, "dependencies": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" + "once": "^1.3.2" }, "engines": { "node": ">= 0.10" } }, - "node_modules/lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, "engines": { - "node": ">= 0.6.3" + "node": ">=0.10.0" } }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/lead": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "dependencies": { - "flush-write-stream": "^1.0.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/liftoff": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", - "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "extend": "^3.0.0", - "findup-sync": "^3.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "node_modules/lodash.isobject": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", - "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", - "dev": true - }, - "node_modules/lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", - "dev": true, - "dependencies": { - "es5-ext": "~0.10.2" + "node": ">= 0.4" } }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "dependencies": { - "object-visit": "^1.0.0" + "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/matchdep/node_modules/findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/matchdep/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", "dev": true, "dependencies": { - "is-extglob": "^2.1.0" + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/memoizee": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", - "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "dependencies": { - "d": "1", - "es5-ext": "^0.10.45", - "es6-weak-map": "^2.0.2", - "event-emitter": "^0.3.5", - "is-promise": "^2.1", - "lru-queue": "0.1", - "next-tick": "1", - "timers-ext": "^0.1.5" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "wrappy": "1" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", "dev": true, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, - "node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dev": true, "dependencies": { - "minimist": "0.0.8" + "error-ex": "^1.2.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mkdirp/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/mute-stdout": { + "node_modules/parse-node-version": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", - "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, "engines": { "node": ">= 0.10" } }, - "node_modules/nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, - "optional": true + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true }, - "node_modules/nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "dev": true, "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" + "pinkie-promise": "^2.0.0" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/now-and-later": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", - "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, "dependencies": { - "once": "^1.3.2" + "path-root-regex": "^0.1.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "dependencies": { - "isobject": "^3.0.0" + "pinkie": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "node_modules/plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==", "dev": true, "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/object.defaults": { + "node_modules/plugin-error/node_modules/arr-diff": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==", "dev": true, "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "node_modules/plugin-error/node_modules/array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==", "dev": true, - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/plugin-error/node_modules/extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "kind-of": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.reduce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "node_modules/plugin-error/node_modules/kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==", "dev": true, - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", "dev": true, - "dependencies": { - "lcid": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "node_modules/rcfinder": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz", + "integrity": "sha512-rhSo812VIVaX7cxl33KkllHRwfLvjZL3lQedWEpQ27YlMFKZbFZsiVdCcQn/Z0FauLWxIpKrNREGuHbJFSi0Lw==", "dev": true, "dependencies": { - "error-ex": "^1.2.0" + "lodash.clonedeep": "^4.3.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "node_modules/rcloader": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz", + "integrity": "sha512-hSkFcFiLb5buT0X1fNI023M6tn0ywblKzF0hGzVCkTjEggT5tQUZI+fCG71utA7NiEyiBEc3trl/LDFFHzGIrw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "dev": true, + "dependencies": { + "lodash.assign": "^4.2.0", + "lodash.isobject": "^3.0.2", + "lodash.merge": "^4.6.0", + "rcfinder": "^0.1.6" + }, "engines": { "node": ">= 0.10" } }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "dependencies": { - "path-root-regex": "^0.1.0" + "resolve": "^1.1.6" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/pinkie": { + "node_modules/regex-not/node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", "dev": true, "dependencies": { - "pinkie": "^2.0.0" + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", "dev": true, "dependencies": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/plugin-error/node_modules/arr-diff": { + "node_modules/remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "dependencies": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/plugin-error/node_modules/arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/plugin-error/node_modules/array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/plugin-error/node_modules/extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", "dev": true, "dependencies": { - "kind-of": "^1.1.0" + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/plugin-error/node_modules/kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", "dev": true, + "dependencies": { + "value-or-function": "^3.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, - "node_modules/process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, - "node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "engines": { + "node": ">=0.12" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "ret": "~0.1.10" } }, - "node_modules/rcfinder": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz", - "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=", + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lodash.clonedeep": "^4.3.2" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10" + "node": ">=10" } }, - "node_modules/rcloader": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz", - "integrity": "sha1-WNIpi0YtC5v9ITPSoex0+9cFxxc=", + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", "dev": true, "dependencies": { - "lodash.assign": "^4.2.0", - "lodash.isobject": "^3.0.2", - "lodash.merge": "^4.6.0", - "rcfinder": "^0.1.6" + "sver-compat": "^1.5.0" }, "engines": { "node": ">= 0.10" } }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/remove-bom-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", - "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5", - "is-utf8": "^0.2.1" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/remove-bom-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "dependencies": { - "remove-bom-buffer": "^3.0.0", - "safe-buffer": "^5.1.0", - "through2": "^2.0.3" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/replace-ext": { + "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/replace-homedir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "dependencies": { - "homedir-polyfill": "^1.0.1", - "is-absolute": "^1.0.0", - "remove-trailing-separator": "^1.1.0" + "kind-of": "^3.2.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ms": "2.0.0" } }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/resolve-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "value-or-function": "^3.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { - "node": ">=0.12" + "node": ">=0.10.0" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "ret": "~0.1.10" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "node_modules/semver-greatest-satisfied-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "sver-compat": "^1.5.0" - }, - "engines": { - "node": ">= 0.10" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "dev": true }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "extend-shallow": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/split-string/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/define-property": { + "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -4321,205 +4220,140 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", "dev": true }, - "node_modules/sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true }, - "node_modules/spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "extend-shallow": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-exhaust": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", - "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dev": true, "dependencies": { "is-utf8": "^0.2.0" @@ -4531,16 +4365,28 @@ "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/sver-compat": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", "dev": true, "dependencies": { "es6-iterator": "^2.0.1", @@ -4548,38 +4394,35 @@ } }, "node_modules/terser": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.8.2.tgz", - "integrity": "sha512-FGSBXiBJe2TSXy6pWwXpY0YcEWEK35UKL64BBbxX3aHqM4Nj0RMqXvqBuoSGfyd80t8MKQ5JwYm5jRRGTSEFNg==", + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", "dev": true, "dependencies": { - "commander": "~2.17.1", + "commander": "^2.19.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.6" + "source-map-support": "~0.5.10" }, "bin": { "terser": "bin/uglifyjs" }, "engines": { - "node": ">=0.8.0" + "node": ">=6.0.0" } }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { - "readable-stream": "^2.1.5", + "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, @@ -4593,59 +4436,32 @@ "xtend": "~4.0.0" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/timers-ext": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz", - "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", + "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", "dev": true, "dependencies": { - "es5-ext": "~0.10.14", - "next-tick": "1" + "es5-ext": "^0.10.64", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", "dev": true, "dependencies": { "is-absolute": "^1.0.0", @@ -4658,7 +4474,7 @@ "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "dependencies": { "kind-of": "^3.0.2" @@ -4670,7 +4486,7 @@ "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { "is-buffer": "^1.1.5" @@ -4697,7 +4513,7 @@ "node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { "is-number": "^3.0.0", @@ -4707,10 +4523,47 @@ "node": ">=0.10.0" } }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/to-through": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", "dev": true, "dependencies": { "through2": "^2.0.3" @@ -4719,25 +4572,31 @@ "node": ">= 0.10" } }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "dev": true + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "node_modules/unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/undertaker": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", - "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", "dev": true, "dependencies": { "arr-flatten": "^1.0.1", @@ -4745,6 +4604,7 @@ "bach": "^1.0.0", "collection-map": "^1.0.0", "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", "last-run": "^1.1.0", "object.defaults": "^1.0.0", "object.reduce": "^1.0.0", @@ -4757,7 +4617,7 @@ "node_modules/undertaker-registry": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", "dev": true, "engines": { "node": ">= 0.10" @@ -4778,6 +4638,15 @@ "node": ">=0.10.0" } }, + "node_modules/union-value/node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/unique-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", @@ -4791,7 +4660,7 @@ "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "dependencies": { "has-value": "^0.3.1", @@ -4804,7 +4673,7 @@ "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "dependencies": { "get-value": "^2.0.3", @@ -4818,7 +4687,7 @@ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "dependencies": { "isarray": "1.0.0" @@ -4830,7 +4699,7 @@ "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -4849,7 +4718,7 @@ "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, @@ -4865,13 +4734,13 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "node_modules/v8flags": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", - "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, "dependencies": { "homedir-polyfill": "^1.0.1" @@ -4893,16 +4762,16 @@ "node_modules/value-or-function": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", "dev": true, "engines": { "node": ">= 0.10" } }, "node_modules/vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, "dependencies": { "clone": "^2.1.1", @@ -4947,7 +4816,7 @@ "node_modules/vinyl-sourcemap": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", "dev": true, "dependencies": { "append-buffer": "^1.0.2", @@ -4962,68 +4831,155 @@ "node": ">= 0.10" } }, + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", "dev": true }, "node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "node_modules/xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, "engines": { "node": ">=0.4" } }, "node_modules/y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true }, "node_modules/yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", "dev": true, "dependencies": { "camelcase": "^3.0.0", @@ -5038,16 +4994,64 @@ "string-width": "^1.0.2", "which-module": "^1.0.0", "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "yargs-parser": "^5.0.1" } }, "node_modules/yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "dependencies": { - "camelcase": "^3.0.0" + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } } }, @@ -5065,55 +5069,75 @@ "through2": "^2.0.3" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } } } }, "@gulp-sourcemaps/map-sources": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", - "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", + "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==", "dev": true, "requires": { "normalize-path": "^2.0.1", "through2": "^2.0.3" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, - "@types/commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/@types/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-0QEFiR8ljcHp9bAbWxecjVRuAMr16ivPiGOw6KFQBVrVd0RQIcM3xKdRisH2EDWgVWujiYtHwhSkSUoAAGzH7Q==", + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "requires": { - "commander": "*" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, - "@types/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==", + "@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "dev": true }, "acorn": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz", - "integrity": "sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw==", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "ansi-colors": { @@ -5128,7 +5152,7 @@ "ansi-cyan": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "integrity": "sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==", "dev": true, "requires": { "ansi-wrap": "0.1.0" @@ -5137,7 +5161,7 @@ "ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", "dev": true, "requires": { "ansi-wrap": "0.1.0" @@ -5146,22 +5170,28 @@ "ansi-red": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", "dev": true, "requires": { "ansi-wrap": "0.1.0" } }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, "ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", "dev": true }, "anymatch": { @@ -5172,12 +5202,23 @@ "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "append-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", "dev": true, "requires": { "buffer-equal": "^1.0.0" @@ -5186,19 +5227,19 @@ "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-filter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", "dev": true, "requires": { "make-iterator": "^1.0.0" @@ -5213,28 +5254,28 @@ "arr-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", "dev": true, "requires": { "make-iterator": "^1.0.0" } }, "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==", "dev": true }, "array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true }, "array-initial": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", "dev": true, "requires": { "array-slice": "^1.0.0", @@ -5281,26 +5322,18 @@ "default-compare": "^1.0.0", "get-value": "^2.0.6", "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } } }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "async-done": { @@ -5316,15 +5349,15 @@ } }, "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true }, "async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", "dev": true, "requires": { "async-done": "^1.2.2" @@ -5339,7 +5372,7 @@ "bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", "dev": true, "requires": { "arr-filter": "^1.1.1", @@ -5354,9 +5387,9 @@ } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -5377,40 +5410,11 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -5456,29 +5460,18 @@ "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } } }, "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "cache-base": { @@ -5498,10 +5491,23 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", "dev": true }, "chokidar": { @@ -5522,14 +5528,6 @@ "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - } } }, "class-utils": { @@ -5544,99 +5542,130 @@ "static-extend": "^0.1.1" }, "dependencies": { + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } } } }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + } } }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true }, "clone-buffer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", "dev": true }, "clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", "dev": true }, "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dev": true, "requires": { "inherits": "^2.0.1", "process-nextick-args": "^2.0.0", "readable-stream": "^2.3.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "dev": true }, "collection-map": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", "dev": true, "requires": { "arr-map": "^2.0.2", @@ -5647,13 +5676,28 @@ "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -5661,21 +5705,21 @@ "dev": true }, "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true }, "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "concat-stream": { @@ -5691,9 +5735,9 @@ } }, "config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "requires": { "ini": "^1.3.4", @@ -5701,72 +5745,73 @@ } }, "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", "dev": true, "requires": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "css": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", - "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "source-map": "^0.1.38", - "source-map-resolve": "^0.5.1", + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } } }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.64", + "type": "^2.7.2" } }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "debug-fabulous": { @@ -5778,41 +5823,24 @@ "debug": "3.X", "memoizee": "0.4.X", "object-assign": "4.X" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "decomment": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.2.tgz", - "integrity": "sha512-sblyUmOJZxiL7oJ2ogJS6jtl/67+CTOW87SrYE/96u3PhDYikYoLCdLzcnceToiQejOLlqNnLCkaxx/+nE/ehg==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.5.tgz", + "integrity": "sha512-h0TZ8t6Dp49duwyDHo3iw67mnh9/UpFiSSiOb5gDK1sqoXzrfX/SQxIUQd2R2QEiSnqib0KF2fnKnGfAhAs6lg==", "dev": true, "requires": { "esprima": "4.0.1" @@ -5825,29 +5853,34 @@ "dev": true, "requires": { "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } } }, "default-resolution": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", "dev": true }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -5858,49 +5891,18 @@ "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } } }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true }, "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", "dev": true }, "duplexify": { @@ -5923,40 +5925,63 @@ "requires": { "is-plain-object": "^2.0.1", "object.defaults": "^1.1.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "editorconfig": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.0.tgz", - "integrity": "sha512-j7JBoj/bpNzvoTQylfRZSc85MlLNKWQiq5y6gwKhmqD2h1eZ+tH4AXbkhEJD468gjDna/XMx2YtSkCxBRX9OGg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", "dev": true, "requires": { - "@types/commander": "^2.11.0", - "@types/semver": "^5.4.0", - "commander": "^2.11.0", - "lru-cache": "^4.1.1", - "semver": "^5.4.1", - "sigmund": "^1.0.1" + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" }, "dependencies": { - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "balanced-match": "^1.0.0" } }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", - "dev": true + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } } } }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -5975,21 +6000,37 @@ "is-arrayish": "^0.2.1" } }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, "es5-ext": { - "version": "0.10.46", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", - "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" } }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dev": true, "requires": { "d": "1", @@ -5998,27 +6039,39 @@ } }, "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.2", + "ext": "^1.7.0" } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, + "esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + } + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -6028,7 +6081,7 @@ "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "dev": true, "requires": { "d": "1", @@ -6038,7 +6091,7 @@ "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", @@ -6050,35 +6103,60 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" } }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "requires": { + "type": "^2.7.2" + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6086,24 +6164,12 @@ "dev": true }, "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "is-extendable": "^0.1.0" } }, "extglob": { @@ -6125,49 +6191,11 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -6183,6 +6211,12 @@ "time-stamp": "^1.0.0" } }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", + "dev": true + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -6193,30 +6227,19 @@ "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } } }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dev": true, "requires": { "path-exists": "^2.0.0", @@ -6225,714 +6248,121 @@ }, "findup-sync": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", - "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.3", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "3.2.6", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.9.0", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.2", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.4.0", - "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.1", - "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.7", - "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.1", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==", - "bundled": true, - "dev": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.13", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "bundled": true, + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "optional": true, "requires": { - "string-width": "^1.0.2 || 2" + "isobject": "^3.0.1" } - }, - "wrappy": { - "version": "1.0.2", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.1.1", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "bundled": true, - "dev": true, - "optional": true } } }, - "function-bind": { + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "get-caller-file": { @@ -6941,30 +6371,63 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, "requires": { "is-glob": "^3.1.0", @@ -6974,7 +6437,7 @@ "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "requires": { "is-extglob": "^2.1.0" @@ -6985,7 +6448,7 @@ "glob-stream": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", "dev": true, "requires": { "extend": "^3.0.0", @@ -6998,12 +6461,28 @@ "remove-trailing-separator": "^1.0.1", "to-absolute-glob": "^2.0.0", "unique-stream": "^2.0.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "glob-watcher": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", - "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", "dev": true, "requires": { "anymatch": "^2.0.0", @@ -7011,6 +6490,7 @@ "chokidar": "^2.0.0", "is-negated-glob": "^1.0.0", "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", "object.defaults": "^1.1.0" } }, @@ -7028,7 +6508,7 @@ "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, "requires": { "expand-tilde": "^2.0.2", @@ -7036,6 +6516,17 @@ "ini": "^1.3.4", "is-windows": "^1.0.1", "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "glogg": { @@ -7047,10 +6538,19 @@ "sparkles": "^1.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "gulp": { @@ -7063,40 +6563,12 @@ "gulp-cli": "^2.2.0", "undertaker": "^1.2.1", "vinyl-fs": "^3.0.0" - }, - "dependencies": { - "gulp-cli": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", - "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", - "dev": true, - "requires": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.1.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.0.1", - "yargs": "^7.1.0" - } - } } }, "gulp-beautify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/gulp-beautify/-/gulp-beautify-2.0.1.tgz", - "integrity": "sha1-1bfBTQAgMrpa6mFvAt1cktnmV+w=", + "integrity": "sha512-wMvSPF+C/S43+EtIRF9JpibNU4w2ghoUluXd3WEKF3XiYLdSoO8laE0gs/XgpIfNLpAuwdOnn2I/CPQGCwei/A==", "dev": true, "requires": { "js-beautify": "^1.5.10", @@ -7104,6 +6576,32 @@ "through2": "^2.0.0" } }, + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + } + }, "gulp-minify": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/gulp-minify/-/gulp-minify-3.1.0.tgz", @@ -7116,55 +6614,12 @@ "terser": "^3.7.6", "through2": "^2.0.3", "vinyl": "^2.1.0" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } } }, "gulp-sourcemaps": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz", - "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz", + "integrity": "sha512-SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==", "dev": true, "requires": { "@gulp-sourcemaps/identity-map": "1.X", @@ -7178,52 +6633,84 @@ "source-map": "~0.6.0", "strip-bom-string": "1.X", "through2": "2.X" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "gulp-strip-comments": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/gulp-strip-comments/-/gulp-strip-comments-2.5.2.tgz", - "integrity": "sha512-lb1bW7rsPWDD8f4ZPSguDvmCdjKmjr5HR4yZb9ros3sLl5AfW7oUj8KzY9/VRisT7dG8dL7hVHzNpQEVxfwZGQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/gulp-strip-comments/-/gulp-strip-comments-2.6.0.tgz", + "integrity": "sha512-tl3xM5zAcdgvyXxd70riKn4l9mroU/4WMYbMzyYJB8/NJNcW/Z78FRGMYwcHvAfHH7v5K7MF4kumdZ0JAXKjag==", "dev": true, "requires": { - "decomment": "^0.9.0", - "plugin-error": "^0.1.2", - "through2": "^2.0.3" + "decomment": "^0.9.5", + "plugin-error": "^2.0.1", + "through2": "^4.0.2" + }, + "dependencies": { + "plugin-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", + "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } } }, "gulplog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", "dev": true, "requires": { "glogg": "^1.0.0" } }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true + }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", @@ -7234,7 +6721,7 @@ "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -7244,7 +6731,7 @@ "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -7252,6 +6739,15 @@ } } }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -7262,15 +6758,15 @@ } }, "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -7278,69 +6774,58 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", "dev": true }, "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "requires": { + "hasown": "^2.0.0" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, "requires": { "binary-extensions": "^1.0.0" @@ -7352,70 +6837,56 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dev": true, + "requires": { + "hasown": "^2.0.2" + } + }, "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "hasown": "^2.0.0" } }, "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -7424,13 +6895,13 @@ "is-negated-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", "dev": true }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -7439,7 +6910,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -7448,18 +6919,15 @@ } }, "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true }, "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", "dev": true }, "is-relative": { @@ -7483,13 +6951,13 @@ "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", "dev": true }, "is-valid-glob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", "dev": true }, "is-windows": { @@ -7501,55 +6969,72 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "js-beautify": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.1.tgz", - "integrity": "sha512-e6Ij+fcwlnhxwfEWH148AV240ocW6z6LTZtWc9V7QEOUMu7pe2EINYbO1sM4GPHFwTVWMUWBCXGgsJGRpaQPLQ==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", "dev": true, "requires": { - "config-chain": "~1.1.5", - "editorconfig": "^0.15.0", - "mkdirp": "~0.5.0", - "nopt": "~4.0.1" + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" } }, + "js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true + }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, "just-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", - "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", "dev": true }, "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true }, "last-run": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", "dev": true, "requires": { "default-resolution": "^2.0.0", @@ -7557,9 +7042,9 @@ } }, "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, "requires": { "readable-stream": "^2.0.5" @@ -7568,7 +7053,7 @@ "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -7577,7 +7062,7 @@ "lead": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", "dev": true, "requires": { "flush-write-stream": "^1.0.2" @@ -7597,12 +7082,23 @@ "object.map": "^1.0.0", "rechoir": "^0.6.2", "resolve": "^1.1.7" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -7613,39 +7109,45 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", "dev": true }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", "dev": true }, "lodash.isobject": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", - "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", "dev": true }, "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, "lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", "dev": true, "requires": { "es5-ext": "~0.10.2" @@ -7658,18 +7160,26 @@ "dev": true, "requires": { "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -7678,7 +7188,7 @@ "matchdep": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", "dev": true, "requires": { "findup-sync": "^2.0.0", @@ -7690,7 +7200,7 @@ "findup-sync": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", "dev": true, "requires": { "detect-file": "^1.0.0", @@ -7702,7 +7212,7 @@ "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, "requires": { "is-extglob": "^2.1.0" @@ -7711,19 +7221,19 @@ } }, "memoizee": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", - "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz", + "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.45", - "es6-weak-map": "^2.0.2", + "d": "^1.0.2", + "es5-ext": "^0.10.64", + "es6-weak-map": "^2.0.3", "event-emitter": "^0.3.5", - "is-promise": "^2.1", - "lru-queue": "0.1", - "next-tick": "1", - "timers-ext": "^0.1.5" + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" } }, "micromatch": { @@ -7745,17 +7255,59 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -7774,30 +7326,22 @@ "requires": { "is-plain-object": "^2.0.4" } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } } } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "mute-stdout": { @@ -7807,9 +7351,9 @@ "dev": true }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", "dev": true, "optional": true }, @@ -7830,22 +7374,57 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", "dev": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "^2.0.0" } }, "normalize-package-data": { @@ -7858,16 +7437,21 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "now-and-later": { "version": "2.0.1", @@ -7881,13 +7465,19 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -7898,16 +7488,26 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -7924,28 +7524,28 @@ "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, "object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, "requires": { "array-each": "^1.0.1", @@ -7957,7 +7557,7 @@ "object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", "dev": true, "requires": { "for-own": "^1.0.0", @@ -7967,7 +7567,7 @@ "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -7976,7 +7576,7 @@ "object.reduce": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", "dev": true, "requires": { "for-own": "^1.0.0", @@ -7986,7 +7586,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -7995,47 +7595,31 @@ "ordered-read-streams": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", "dev": true, "requires": { "readable-stream": "^2.0.1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", "dev": true, "requires": { "lcid": "^1.0.0" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, "requires": { "is-absolute": "^1.0.0", @@ -8046,7 +7630,7 @@ "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dev": true, "requires": { "error-ex": "^1.2.0" @@ -8061,25 +7645,25 @@ "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "dev": true }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -8088,19 +7672,25 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, "requires": { "path-root-regex": "^0.1.0" @@ -8109,13 +7699,23 @@ "path-root-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -8126,19 +7726,19 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "requires": { "pinkie": "^2.0.0" @@ -8147,7 +7747,7 @@ "plugin-error": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==", "dev": true, "requires": { "ansi-cyan": "^0.1.1", @@ -8160,29 +7760,23 @@ "arr-diff": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==", "dev": true, "requires": { "arr-flatten": "^1.0.1", "array-slice": "^0.2.3" } }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==", "dev": true }, "extend-shallow": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==", "dev": true, "requires": { "kind-of": "^1.1.0" @@ -8191,7 +7785,7 @@ "kind-of": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==", "dev": true } } @@ -8199,31 +7793,25 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true }, "pump": { @@ -8250,7 +7838,7 @@ "rcfinder": { "version": "0.1.9", "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz", - "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=", + "integrity": "sha512-rhSo812VIVaX7cxl33KkllHRwfLvjZL3lQedWEpQ27YlMFKZbFZsiVdCcQn/Z0FauLWxIpKrNREGuHbJFSi0Lw==", "dev": true, "requires": { "lodash.clonedeep": "^4.3.2" @@ -8259,7 +7847,7 @@ "rcloader": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz", - "integrity": "sha1-WNIpi0YtC5v9ITPSoex0+9cFxxc=", + "integrity": "sha512-hSkFcFiLb5buT0X1fNI023M6tn0ywblKzF0hGzVCkTjEggT5tQUZI+fCG71utA7NiEyiBEc3trl/LDFFHzGIrw==", "dev": true, "requires": { "lodash.assign": "^4.2.0", @@ -8271,7 +7859,7 @@ "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -8282,7 +7870,7 @@ "read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "dev": true, "requires": { "find-up": "^1.0.0", @@ -8290,9 +7878,9 @@ } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -8318,7 +7906,7 @@ "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "requires": { "resolve": "^1.1.6" @@ -8332,6 +7920,36 @@ "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "remove-bom-buffer": { @@ -8347,7 +7965,7 @@ "remove-bom-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", "dev": true, "requires": { "remove-bom-buffer": "^3.0.0", @@ -8358,31 +7976,31 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true }, "replace-homedir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1", @@ -8393,28 +8011,30 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { - "path-parse": "^1.0.6" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, "requires": { "expand-tilde": "^2.0.0", @@ -8424,7 +8044,7 @@ "resolve-options": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", "dev": true, "requires": { "value-or-function": "^3.0.0" @@ -8433,7 +8053,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "ret": { @@ -8451,22 +8071,22 @@ "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true }, "semver-greatest-satisfied-range": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", "dev": true, "requires": { "sver-compat": "^1.5.0" @@ -8475,9 +8095,23 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -8490,21 +8124,36 @@ "split-string": "^3.0.1" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "isobject": "^3.0.1" } } } }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true }, "snapdragon": { @@ -8523,23 +8172,45 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true } } }, @@ -8557,40 +8228,11 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -8606,7 +8248,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -8615,18 +8257,18 @@ } }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -8634,27 +8276,19 @@ } }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "sparkles": { @@ -8664,9 +8298,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -8674,15 +8308,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -8690,9 +8324,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", "dev": true }, "split-string": { @@ -8702,18 +8336,48 @@ "dev": true, "requires": { "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "dev": true }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -8723,11 +8387,21 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } } } }, @@ -8738,9 +8412,9 @@ "dev": true }, "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "dev": true }, "string_decoder": { @@ -8753,29 +8427,80 @@ } }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } } }, "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -8784,13 +8509,19 @@ "strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "sver-compat": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", "dev": true, "requires": { "es6-iterator": "^2.0.1", @@ -8798,64 +8529,32 @@ } }, "terser": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.8.2.tgz", - "integrity": "sha512-FGSBXiBJe2TSXy6pWwXpY0YcEWEK35UKL64BBbxX3aHqM4Nj0RMqXvqBuoSGfyd80t8MKQ5JwYm5jRRGTSEFNg==", + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", "dev": true, "requires": { - "commander": "~2.17.1", + "commander": "^2.19.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.6" + "source-map-support": "~0.5.10" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true } } }, "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { - "readable-stream": "^2.1.5", + "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "through2-filter": { @@ -8871,23 +8570,23 @@ "time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", "dev": true }, "timers-ext": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz", - "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", + "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", "dev": true, "requires": { - "es5-ext": "~0.10.14", - "next-tick": "1" + "es5-ext": "^0.10.64", + "next-tick": "^1.1.0" } }, "to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", "dev": true, "requires": { "is-absolute": "^1.0.0", @@ -8897,7 +8596,7 @@ "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" @@ -8906,7 +8605,7 @@ "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -8924,12 +8623,42 @@ "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", @@ -8939,28 +8668,34 @@ "to-through": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", "dev": true, "requires": { "through2": "^2.0.3" } }, + "type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true }, "undertaker": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", - "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", "dev": true, "requires": { "arr-flatten": "^1.0.1", @@ -8968,6 +8703,7 @@ "bach": "^1.0.0", "collection-map": "^1.0.0", "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", "last-run": "^1.1.0", "object.defaults": "^1.0.0", "object.reduce": "^1.0.0", @@ -8977,7 +8713,7 @@ "undertaker-registry": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", "dev": true }, "union-value": { @@ -8990,6 +8726,14 @@ "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "dependencies": { + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + } } }, "unique-stream": { @@ -9005,7 +8749,7 @@ "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -9015,7 +8759,7 @@ "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -9026,7 +8770,7 @@ "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -9037,7 +8781,7 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true } } @@ -9051,7 +8795,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "use": { @@ -9063,13 +8807,13 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "v8flags": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", - "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" @@ -9088,13 +8832,13 @@ "value-or-function": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", "dev": true }, "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, "requires": { "clone": "^2.1.1", @@ -9133,7 +8877,7 @@ "vinyl-sourcemap": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", "dev": true, "requires": { "append-buffer": "^1.0.2", @@ -9143,12 +8887,23 @@ "now-and-later": "^2.0.0", "remove-bom-buffer": "^3.0.0", "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -9157,47 +8912,96 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", "dev": true }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true }, "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", "dev": true, "requires": { "camelcase": "^3.0.0", @@ -9212,16 +9016,54 @@ "string-width": "^1.0.2", "which-module": "^1.0.0", "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "yargs-parser": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", "dev": true, "requires": { - "camelcase": "^3.0.0" + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" } } } diff --git a/package.json b/package.json index 0ff3f74..58120ba 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "elmah.io.javascript", "description": "elmah.io javascript logger.", - "version": "4.1.0", + "version": "4.1.1", "repository": "https://github.com/elmahio/elmah.io.javascript", "license": "Apache-2.0", "main": "dist/elmahio.js", @@ -23,6 +23,5 @@ "gulp-sourcemaps": "^2.6.4", "gulp-strip-comments": "^2.5.2", "lodash": "~4.17.10" - }, - "dependencies": {} + } } diff --git a/src/elmahio.js b/src/elmahio.js index ad041b2..97cb2dd 100644 --- a/src/elmahio.js +++ b/src/elmahio.js @@ -1,5 +1,5 @@ /*! - * elmah.io Javascript Logger - version 4.1.0 + * elmah.io Javascript Logger - version 4.1.1 * (c) 2018 elmah.io, Apache 2.0 License, https://elmah.io */