{"version":3,"sources":["webpack:///./node_modules/path-browserify/index.js"],"names":["process","normalizeArray","parts","allowAboveRoot","up","i","length","last","splice","unshift","splitPathRe","splitPath","filename","exec","slice","filter","xs","f","res","push","exports","resolve","resolvedPath","resolvedAbsolute","arguments","path","cwd","TypeError","charAt","split","p","join","normalize","isAbsolute","trailingSlash","substr","paths","Array","prototype","call","index","relative","from","to","trim","arr","start","end","fromParts","toParts","Math","min","samePartsLength","outputParts","concat","sep","delimiter","dirname","result","root","dir","basename","ext","extname","str","len"],"mappings":"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","file":"app/js/npm.path-browserify.9308d2ed.js","sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar splitPath = function(filename) {\n return splitPathRe.exec(filename).slice(1);\n};\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function(path) {\n var result = splitPath(path),\n root = result[0],\n dir = result[1];\n\n if (!root && !dir) {\n // No dirname whatsoever\n return '.';\n }\n\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n\n return root + dir;\n};\n\n\nexports.basename = function(path, ext) {\n var f = splitPath(path)[2];\n // TODO: make this comparison case-insensitive on windows?\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\n\nexports.extname = function(path) {\n return splitPath(path)[3];\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n"],"sourceRoot":""}