{ "meta": { "date": "2017-09-07T23:02:38.077Z", "title": "npm", "nodeVersion": "8.1.4", "arch": "x64", "platform": "darwin", "pid": 3481, "execPath": "/usr/local/bin/node", "mainModule": "/usr/local/lib/node_modules/npm/bin/npm-cli.js", "moarVersion": "1.8.1" }, "nodes": [ { "id": 1, "callFrame": { "functionName": "(root)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2, 24, 46, 564, 572, 592, 628, 1653, 1654, 1656, 2012, 3438, 3478, 3485, 3496, 3497, 3537, 3646, 4102 ] }, { "id": 2, "callFrame": { "functionName": "", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 9, "columnNumber": 9 }, "hitCount": 0, "children": [ 3 ] }, { "id": 3, "callFrame": { "functionName": "startup", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 11, "columnNumber": 18 }, "hitCount": 0, "children": [ 4, 25, 33, 36, 39, 40, 59 ] }, { "id": 4, "callFrame": { "functionName": "setupGlobalVariables", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 214, "columnNumber": 31 }, "hitCount": 0, "children": [ 5 ] }, { "id": 5, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 6 ] }, { "id": 6, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 7, 10 ] }, { "id": 7, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 0, "children": [ 8 ] }, { "id": 8, "callFrame": { "functionName": "runInThisContext", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 9 ] }, { "id": 9, "callFrame": { "functionName": "", "scriptId": "24", "url": "util.js", "lineNumber": 0, "columnNumber": 0 }, "hitCount": 0 }, { "id": 10, "callFrame": { "functionName": "", "scriptId": "24", "url": "util.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 11 ] }, { "id": 11, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 12 ] }, { "id": 12, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 13, 14 ] }, { "id": 13, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 14, "callFrame": { "functionName": "", "scriptId": "25", "url": "buffer.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 15 ] }, { "id": 15, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 16 ] }, { "id": 16, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 17, 18 ] }, { "id": 17, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 18, "callFrame": { "functionName": "", "scriptId": "26", "url": "internal/util.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 19 ] }, { "id": 19, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 20 ] }, { "id": 20, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 21 ] }, { "id": 21, "callFrame": { "functionName": "", "scriptId": "27", "url": "internal/errors.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 22 ] }, { "id": 22, "callFrame": { "functionName": "E", "scriptId": "27", "url": "internal/errors.js", "lineNumber": 86, "columnNumber": 10 }, "hitCount": 0, "children": [ 23 ] }, { "id": 23, "callFrame": { "functionName": "set", "scriptId": "10", "url": "native collection.js", "lineNumber": 246, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 247, "ticks": 1 } ] }, { "id": 25, "callFrame": { "functionName": "setupGlobalTimeouts", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 259, "columnNumber": 30 }, "hitCount": 0, "children": [ 26 ] }, { "id": 26, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 27 ] }, { "id": 27, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 28, 29 ] }, { "id": 28, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 29, "callFrame": { "functionName": "", "scriptId": "29", "url": "timers.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 30 ] }, { "id": 30, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 31 ] }, { "id": 31, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 32 ] }, { "id": 32, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 33, "callFrame": { "functionName": "setup_hrtime", "scriptId": "33", "url": "internal/process.js", "lineNumber": 69, "columnNumber": 21 }, "hitCount": 0, "children": [ 34 ] }, { "id": 34, "callFrame": { "functionName": "Uint32ArrayConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 35 ] }, { "id": 35, "callFrame": { "functionName": "Uint32ArrayConstructByLength", "scriptId": "9", "url": "native typedarray.js", "lineNumber": 743, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 744, "ticks": 1 } ] }, { "id": 36, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 37 ] }, { "id": 37, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 38, 45, 47 ] }, { "id": 38, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 4, "positionTicks": [ { "line": 466, "ticks": 4 } ] }, { "id": 45, "callFrame": { "functionName": "", "scriptId": "38", "url": "internal/url.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 14, "ticks": 1 } ] }, { "id": 47, "callFrame": { "functionName": "", "scriptId": "42", "url": "module.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 48 ] }, { "id": 48, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 49 ] }, { "id": 49, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 50, 51 ] }, { "id": 50, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 2, "positionTicks": [ { "line": 466, "ticks": 2 } ] }, { "id": 51, "callFrame": { "functionName": "", "scriptId": "45", "url": "fs.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 52 ] }, { "id": 52, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 53 ] }, { "id": 53, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 54, 55 ] }, { "id": 54, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 55, "callFrame": { "functionName": "", "scriptId": "46", "url": "stream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 56 ] }, { "id": 56, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 57 ] }, { "id": 57, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 58 ] }, { "id": 58, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 2, "positionTicks": [ { "line": 466, "ticks": 2 } ] }, { "id": 39, "callFrame": { "functionName": "setupNextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 12, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 18, "ticks": 1 } ] }, { "id": 40, "callFrame": { "functionName": "setupSignalHandlers", "scriptId": "33", "url": "internal/process.js", "lineNumber": 188, "columnNumber": 28 }, "hitCount": 0, "children": [ 41 ] }, { "id": 41, "callFrame": { "functionName": "addListener", "scriptId": "23", "url": "events.js", "lineNumber": 296, "columnNumber": 57 }, "hitCount": 0, "children": [ 42 ] }, { "id": 42, "callFrame": { "functionName": "_addListener", "scriptId": "23", "url": "events.js", "lineNumber": 231, "columnNumber": 21 }, "hitCount": 0, "children": [ 43 ] }, { "id": 43, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 44 ] }, { "id": 44, "callFrame": { "functionName": "emitTwo", "scriptId": "23", "url": "events.js", "lineNumber": 122, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 124, "ticks": 1 } ] }, { "id": 59, "callFrame": { "functionName": "Module.runMain", "scriptId": "42", "url": "module.js", "lineNumber": 602, "columnNumber": 25 }, "hitCount": 1, "children": [ 60, 563 ], "positionTicks": [ { "line": 607, "ticks": 1 } ] }, { "id": 60, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 61 ] }, { "id": 61, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 62 ] }, { "id": 62, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 63 ] }, { "id": 63, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 64, 67 ] }, { "id": 64, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 65 ] }, { "id": 65, "callFrame": { "functionName": "tryCreateBuffer", "scriptId": "45", "url": "fs.js", "lineNumber": 525, "columnNumber": 24 }, "hitCount": 0, "children": [ 66 ] }, { "id": 66, "callFrame": { "functionName": "Buffer.allocUnsafe", "scriptId": "25", "url": "buffer.js", "lineNumber": 207, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 209, "ticks": 1 } ] }, { "id": 67, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 68, 70 ] }, { "id": 68, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 69 ] }, { "id": 69, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 70, "callFrame": { "functionName": "", "scriptId": "56", "url": "/usr/local/lib/node_modules/npm/bin/npm-cli.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 71 ] }, { "id": 71, "callFrame": { "functionName": "", "scriptId": "56", "url": "/usr/local/lib/node_modules/npm/bin/npm-cli.js", "lineNumber": 1, "columnNumber": 11 }, "hitCount": 0, "children": [ 72, 73, 94, 275, 293, 389, 555, 562 ] }, { "id": 72, "callFrame": { "functionName": "set title", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 13, "positionTicks": [ { "line": 92, "ticks": 13 } ] }, { "id": 73, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 74 ] }, { "id": 74, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 75 ] }, { "id": 75, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 76 ] }, { "id": 76, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 77 ] }, { "id": 77, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 78 ] }, { "id": 78, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 79 ] }, { "id": 79, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 80, 115, 277, 401, 403, 545 ] }, { "id": 80, "callFrame": { "functionName": "", "scriptId": "57", "url": "/usr/local/lib/node_modules/npm/lib/utils/unsupported.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 81 ] }, { "id": 81, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 82 ] }, { "id": 82, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 83 ] }, { "id": 83, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 84, 87 ] }, { "id": 84, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 85 ] }, { "id": 85, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 86 ] }, { "id": 86, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 114, "ticks": 1 } ] }, { "id": 87, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 88 ] }, { "id": 88, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 89 ] }, { "id": 89, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 90 ] }, { "id": 90, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 91, 93 ] }, { "id": 91, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 92 ] }, { "id": 92, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 93, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 213, "ticks": 1 } ] }, { "id": 115, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 116, 255, 274 ], "positionTicks": [ { "line": 41, "ticks": 1 } ] }, { "id": 116, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 117 ] }, { "id": 117, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 118 ] }, { "id": 118, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 119, 123 ] }, { "id": 119, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 120 ] }, { "id": 120, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 121 ] }, { "id": 121, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 122 ] }, { "id": 122, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 1182, "ticks": 1 } ] }, { "id": 123, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 124 ] }, { "id": 124, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 125 ] }, { "id": 125, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 126 ] }, { "id": 126, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 127, 177 ] }, { "id": 127, "callFrame": { "functionName": "", "scriptId": "60", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 128 ] }, { "id": 128, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 129 ] }, { "id": 129, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 130 ] }, { "id": 130, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 131 ] }, { "id": 131, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 132 ] }, { "id": 132, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 133 ] }, { "id": 133, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 134 ] }, { "id": 134, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 135, 137 ] }, { "id": 135, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 136 ] }, { "id": 136, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 137, "callFrame": { "functionName": "", "scriptId": "61", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 138, 176 ] }, { "id": 138, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 139 ] }, { "id": 139, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 140 ] }, { "id": 140, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 141 ] }, { "id": 141, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 142 ] }, { "id": 142, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 143 ] }, { "id": 143, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 144 ] }, { "id": 144, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 145 ] }, { "id": 145, "callFrame": { "functionName": "", "scriptId": "64", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 146 ] }, { "id": 146, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 147 ] }, { "id": 147, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 148 ] }, { "id": 148, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 149, 151 ] }, { "id": 149, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 150 ] }, { "id": 150, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 197, "ticks": 1 } ] }, { "id": 151, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 152 ] }, { "id": 152, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 153 ] }, { "id": 153, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 154 ] }, { "id": 154, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 155 ] }, { "id": 155, "callFrame": { "functionName": "", "scriptId": "65", "url": "/usr/local/lib/node_modules/npm/node_modules/readable-stream/readable.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 156 ] }, { "id": 156, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 157 ] }, { "id": 157, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 158 ] }, { "id": 158, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 159, 172 ] }, { "id": 159, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 160 ] }, { "id": 160, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 161 ] }, { "id": 161, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 162 ] }, { "id": 162, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 163, 165 ] }, { "id": 163, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 164 ] }, { "id": 164, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 2, "positionTicks": [ { "line": 74, "ticks": 2 } ] }, { "id": 165, "callFrame": { "functionName": "", "scriptId": "66", "url": "/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 166 ], "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 166, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 167 ] }, { "id": 167, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 168 ] }, { "id": 168, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 169 ] }, { "id": 169, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 170 ] }, { "id": 170, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 171 ] }, { "id": 171, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 46, "ticks": 1 } ] }, { "id": 172, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 173 ] }, { "id": 173, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 174 ] }, { "id": 174, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 175 ] }, { "id": 175, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1643, "ticks": 1 } ] }, { "id": 176, "callFrame": { "functionName": "exports.inherits", "scriptId": "24", "url": "util.js", "lineNumber": 953, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 970, "ticks": 1 } ] }, { "id": 177, "callFrame": { "functionName": "", "scriptId": "80", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 178 ] }, { "id": 178, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 179 ] }, { "id": 179, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 180 ] }, { "id": 180, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 181 ] }, { "id": 181, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 182 ] }, { "id": 182, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 183, 254 ] }, { "id": 183, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 184, 235 ] }, { "id": 184, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 185, 239 ] }, { "id": 185, "callFrame": { "functionName": "", "scriptId": "81", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/plumbing.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 186 ] }, { "id": 186, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 187 ] }, { "id": 187, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 188 ] }, { "id": 188, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 189 ] }, { "id": 189, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 190 ] }, { "id": 190, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 191 ] }, { "id": 191, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 192 ] }, { "id": 192, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 193, 194 ] }, { "id": 193, "callFrame": { "functionName": "", "scriptId": "82", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 64, "ticks": 1 } ] }, { "id": 194, "callFrame": { "functionName": "", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 195 ] }, { "id": 195, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 196 ] }, { "id": 196, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 197 ] }, { "id": 197, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 198, 220 ] }, { "id": 198, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 199 ] }, { "id": 199, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 200 ] }, { "id": 200, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 201 ] }, { "id": 201, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 202, 229 ] }, { "id": 202, "callFrame": { "functionName": "", "scriptId": "84", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 203 ] }, { "id": 203, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 204 ] }, { "id": 204, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 205 ] }, { "id": 205, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 206 ] }, { "id": 206, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 207 ] }, { "id": 207, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 208 ] }, { "id": 208, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 209, 211 ] }, { "id": 209, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 210 ] }, { "id": 210, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 652, "ticks": 1 } ] }, { "id": 211, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 212 ] }, { "id": 212, "callFrame": { "functionName": "", "scriptId": "85", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 213 ] }, { "id": 213, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 214 ] }, { "id": 214, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 215 ] }, { "id": 215, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 216 ] }, { "id": 216, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 217 ] }, { "id": 217, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 218 ] }, { "id": 218, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 219 ] }, { "id": 219, "callFrame": { "functionName": "stripBOM", "scriptId": "43", "url": "internal/module.js", "lineNumber": 37, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 38, "ticks": 1 } ] }, { "id": 229, "callFrame": { "functionName": "", "scriptId": "95", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/template-item.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 230 ] }, { "id": 230, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 231 ] }, { "id": 231, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 232 ] }, { "id": 232, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 233 ] }, { "id": 233, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 234 ] }, { "id": 234, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 350, "ticks": 1 } ] }, { "id": 220, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 221, 227 ] }, { "id": 221, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 222 ] }, { "id": 222, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 223 ] }, { "id": 223, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 224 ] }, { "id": 224, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 225 ] }, { "id": 225, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 0, "children": [ 226 ] }, { "id": 226, "callFrame": { "functionName": "getOptions", "scriptId": "45", "url": "fs.js", "lineNumber": 63, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 64, "ticks": 1 } ] }, { "id": 227, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 0, "children": [ 228 ] }, { "id": 228, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 1185, "ticks": 1 } ] }, { "id": 239, "callFrame": { "functionName": "", "scriptId": "101", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/themes.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 240 ] }, { "id": 240, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 241 ] }, { "id": 241, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 242 ] }, { "id": 242, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 243 ] }, { "id": 243, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 244 ] }, { "id": 244, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 245 ] }, { "id": 245, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 246 ] }, { "id": 246, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 247 ] }, { "id": 247, "callFrame": { "functionName": "", "scriptId": "102", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/theme-set.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 248 ] }, { "id": 248, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 249 ] }, { "id": 249, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 250 ] }, { "id": 250, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 251 ] }, { "id": 251, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 252 ] }, { "id": 252, "callFrame": { "functionName": "NativeModule.nonInternalExists", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 527, "columnNumber": 45 }, "hitCount": 0, "children": [ 253 ] }, { "id": 253, "callFrame": { "functionName": "NativeModule.exists", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 514, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 517, "ticks": 1 } ] }, { "id": 235, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 236 ] }, { "id": 236, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 0, "children": [ 237 ] }, { "id": 237, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": 156, "columnNumber": 18 }, "hitCount": 0, "children": [ 238 ] }, { "id": 238, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 254, "callFrame": { "functionName": "Module._nodeModulePaths", "scriptId": "42", "url": "module.js", "lineNumber": 287, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 304, "ticks": 1 } ] }, { "id": 255, "callFrame": { "functionName": "module.exports", "scriptId": "109", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/set-blocking/index.js", "lineNumber": 0, "columnNumber": 88 }, "hitCount": 0, "children": [ 256, 271 ] }, { "id": 256, "callFrame": { "functionName": "getStdout", "scriptId": "37", "url": "internal/process/stdio.js", "lineNumber": 17, "columnNumber": 20 }, "hitCount": 0, "children": [ 257 ] }, { "id": 257, "callFrame": { "functionName": "createWritableStdioStream", "scriptId": "37", "url": "internal/process/stdio.js", "lineNumber": 150, "columnNumber": 34 }, "hitCount": 0, "children": [ 258, 267 ] }, { "id": 258, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 259 ] }, { "id": 259, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 260, 261 ] }, { "id": 260, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 261, "callFrame": { "functionName": "", "scriptId": "110", "url": "tty.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 262 ] }, { "id": 262, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 263 ] }, { "id": 263, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 264, 265 ] }, { "id": 264, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 265, "callFrame": { "functionName": "", "scriptId": "111", "url": "net.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 266 ] }, { "id": 266, "callFrame": { "functionName": "binding", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 32, "ticks": 1 } ] }, { "id": 267, "callFrame": { "functionName": "WriteStream", "scriptId": "110", "url": "tty.js", "lineNumber": 65, "columnNumber": 20 }, "hitCount": 2, "children": [ 268 ], "positionTicks": [ { "line": 72, "ticks": 2 } ] }, { "id": 268, "callFrame": { "functionName": "Socket", "scriptId": "111", "url": "net.js", "lineNumber": 179, "columnNumber": 15 }, "hitCount": 0, "children": [ 269 ] }, { "id": 269, "callFrame": { "functionName": "Duplex", "scriptId": "52", "url": "_stream_duplex.js", "lineNumber": 43, "columnNumber": 15 }, "hitCount": 0, "children": [ 270 ] }, { "id": 270, "callFrame": { "functionName": "Writable", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 177, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 211, "ticks": 1 } ] }, { "id": 271, "callFrame": { "functionName": "getStderr", "scriptId": "37", "url": "internal/process/stdio.js", "lineNumber": 33, "columnNumber": 20 }, "hitCount": 0, "children": [ 272 ] }, { "id": 272, "callFrame": { "functionName": "createWritableStdioStream", "scriptId": "37", "url": "internal/process/stdio.js", "lineNumber": 150, "columnNumber": 34 }, "hitCount": 0, "children": [ 273 ] }, { "id": 273, "callFrame": { "functionName": "WriteStream", "scriptId": "110", "url": "tty.js", "lineNumber": 65, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 72, "ticks": 1 } ] }, { "id": 274, "callFrame": { "functionName": "Gauge", "scriptId": "80", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 18, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 66, "ticks": 1 } ] }, { "id": 277, "callFrame": { "functionName": "", "scriptId": "113", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 278 ] }, { "id": 278, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 279 ] }, { "id": 279, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 280 ] }, { "id": 280, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 281 ] }, { "id": 281, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 282 ] }, { "id": 282, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 283, 284 ] }, { "id": 283, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 284, "callFrame": { "functionName": "", "scriptId": "114", "url": "child_process.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 285 ] }, { "id": 285, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 286 ] }, { "id": 286, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 287 ] }, { "id": 287, "callFrame": { "functionName": "", "scriptId": "115", "url": "internal/child_process.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 288 ] }, { "id": 288, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 289 ] }, { "id": 289, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 290 ] }, { "id": 290, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 0, "children": [ 291 ] }, { "id": 291, "callFrame": { "functionName": "Script.runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 0, "children": [ 292 ] }, { "id": 292, "callFrame": { "functionName": "runInThisContext", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 401, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 402 ] }, { "id": 402, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 2, "positionTicks": [ { "line": 74, "ticks": 2 } ] }, { "id": 403, "callFrame": { "functionName": "", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 404 ] }, { "id": 404, "callFrame": { "functionName": "", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 0, "columnNumber": 73 }, "hitCount": 1, "children": [ 405, 543, 544 ], "positionTicks": [ { "line": 383, "ticks": 1 } ] }, { "id": 405, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 406 ] }, { "id": 406, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 407 ] }, { "id": 407, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 408, 518 ] }, { "id": 408, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 409 ] }, { "id": 409, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 410 ] }, { "id": 410, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 411 ] }, { "id": 411, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 412, 414, 487, 524 ] }, { "id": 412, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 413, 542 ] }, { "id": 413, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 2, "positionTicks": [ { "line": 74, "ticks": 2 } ] }, { "id": 542, "callFrame": { "functionName": "Script.runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 414, "callFrame": { "functionName": "", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 415 ] }, { "id": 415, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 416 ] }, { "id": 416, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 417 ] }, { "id": 417, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 418 ] }, { "id": 418, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 419 ] }, { "id": 419, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 420 ] }, { "id": 420, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 421, 446 ] }, { "id": 421, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 422, 449, 465, 467, 477 ] }, { "id": 422, "callFrame": { "functionName": "", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 423 ] }, { "id": 423, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 424 ] }, { "id": 424, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 425 ] }, { "id": 425, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 426, 430 ] }, { "id": 426, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 427 ] }, { "id": 427, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 428 ] }, { "id": 428, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 429 ] }, { "id": 429, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 430, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 431 ] }, { "id": 431, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 432, 433 ] }, { "id": 432, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 2, "positionTicks": [ { "line": 466, "ticks": 2 } ] }, { "id": 433, "callFrame": { "functionName": "", "scriptId": "147", "url": "http.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 434 ] }, { "id": 434, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 435 ] }, { "id": 435, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 436, 437 ] }, { "id": 436, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 2, "positionTicks": [ { "line": 466, "ticks": 2 } ] }, { "id": 437, "callFrame": { "functionName": "", "scriptId": "149", "url": "_http_client.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 438 ] }, { "id": 438, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 439 ] }, { "id": 439, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 440, 444 ] }, { "id": 440, "callFrame": { "functionName": "", "scriptId": "150", "url": "_http_common.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 441 ] }, { "id": 441, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 442 ] }, { "id": 442, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 443 ] }, { "id": 443, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 444, "callFrame": { "functionName": "", "scriptId": "154", "url": "_http_outgoing.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 445 ] }, { "id": 445, "callFrame": { "functionName": "Buffer.from", "scriptId": "25", "url": "buffer.js", "lineNumber": 147, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 149, "ticks": 1 } ] }, { "id": 449, "callFrame": { "functionName": "", "scriptId": "156", "url": "/usr/local/lib/node_modules/npm/lib/config/defaults.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 450, 461 ] }, { "id": 450, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 451 ] }, { "id": 451, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 452 ] }, { "id": 452, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 453, 459 ] }, { "id": 453, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 454 ] }, { "id": 454, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 455 ] }, { "id": 455, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 456 ] }, { "id": 456, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 457 ] }, { "id": 457, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 458 ] }, { "id": 458, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 459, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 460 ] }, { "id": 460, "callFrame": { "functionName": "ToBooleanICStubUndefined|Boolean|String", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 461, "callFrame": { "functionName": "exports.(anonymous function)", "scriptId": "159", "url": "/usr/local/lib/node_modules/npm/node_modules/osenv/osenv.js", "lineNumber": 13, "columnNumber": 26 }, "hitCount": 0, "children": [ 462 ] }, { "id": 462, "callFrame": { "functionName": "", "scriptId": "159", "url": "/usr/local/lib/node_modules/npm/node_modules/osenv/osenv.js", "lineNumber": 48, "columnNumber": 24 }, "hitCount": 0, "children": [ 463 ] }, { "id": 463, "callFrame": { "functionName": "module.exports", "scriptId": "160", "url": "/usr/local/lib/node_modules/npm/node_modules/osenv/node_modules/os-tmpdir/index.js", "lineNumber": 5, "columnNumber": 26 }, "hitCount": 0, "children": [ 464 ] }, { "id": 464, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 0 }, { "id": 465, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 466 ] }, { "id": 466, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 467, "callFrame": { "functionName": "", "scriptId": "168", "url": "/usr/local/lib/node_modules/npm/lib/config/load-prefix.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 468 ] }, { "id": 468, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 469 ] }, { "id": 469, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 470 ] }, { "id": 470, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 471 ] }, { "id": 471, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 472 ] }, { "id": 472, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 473 ] }, { "id": 473, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 474 ] }, { "id": 474, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 475 ] }, { "id": 475, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 476 ] }, { "id": 476, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 477, "callFrame": { "functionName": "", "scriptId": "174", "url": "/usr/local/lib/node_modules/npm/lib/config/get-credentials-by-uri.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 478 ] }, { "id": 478, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 479 ] }, { "id": 479, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 480 ] }, { "id": 480, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 481 ] }, { "id": 481, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 482 ] }, { "id": 482, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 483 ] }, { "id": 483, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 484 ] }, { "id": 484, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 485 ] }, { "id": 485, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 486 ] }, { "id": 486, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 446, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 447 ] }, { "id": 447, "callFrame": { "functionName": "Buffer.toString", "scriptId": "25", "url": "buffer.js", "lineNumber": 568, "columnNumber": 36 }, "hitCount": 0, "children": [ 448 ] }, { "id": 448, "callFrame": { "functionName": "stringSlice", "scriptId": "25", "url": "buffer.js", "lineNumber": 514, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 521, "ticks": 1 } ] }, { "id": 487, "callFrame": { "functionName": "", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 488 ] }, { "id": 488, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 489 ] }, { "id": 489, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 490 ] }, { "id": 490, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 491 ] }, { "id": 491, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 492 ] }, { "id": 492, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 493 ] }, { "id": 493, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 494 ] }, { "id": 494, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 495, 500, 502 ] }, { "id": 495, "callFrame": { "functionName": "", "scriptId": "182", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/fs.realpath/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 496 ] }, { "id": 496, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 497 ] }, { "id": 497, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 498 ] }, { "id": 498, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 499 ] }, { "id": 499, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 482, "ticks": 1 } ] }, { "id": 500, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 501 ] }, { "id": 501, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 2, "positionTicks": [ { "line": 74, "ticks": 2 } ] }, { "id": 502, "callFrame": { "functionName": "", "scriptId": "184", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 503 ] }, { "id": 503, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 504 ] }, { "id": 504, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 505 ] }, { "id": 505, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 506 ] }, { "id": 506, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 507 ] }, { "id": 507, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 508 ] }, { "id": 508, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 509 ] }, { "id": 509, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 510 ] }, { "id": 510, "callFrame": { "functionName": "", "scriptId": "185", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 511 ] }, { "id": 511, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 512 ] }, { "id": 512, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 513 ] }, { "id": 513, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 514 ] }, { "id": 514, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 515 ] }, { "id": 515, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 516 ] }, { "id": 516, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 517 ] }, { "id": 517, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 524, "callFrame": { "functionName": "", "scriptId": "198", "url": "/usr/local/lib/node_modules/npm/lib/utils/metrics.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 525 ] }, { "id": 525, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 526 ] }, { "id": 526, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 527 ] }, { "id": 527, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 528 ] }, { "id": 528, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 529 ] }, { "id": 529, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 530 ] }, { "id": 530, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 531 ] }, { "id": 531, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 532 ] }, { "id": 532, "callFrame": { "functionName": "", "scriptId": "199", "url": "/usr/local/lib/node_modules/npm/node_modules/uuid/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 533 ] }, { "id": 533, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 534 ] }, { "id": 534, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 535 ] }, { "id": 535, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 536 ] }, { "id": 536, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 537 ] }, { "id": 537, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 538 ] }, { "id": 538, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 539 ] }, { "id": 539, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 540 ] }, { "id": 540, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 541 ] }, { "id": 541, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1632, "ticks": 1 } ] }, { "id": 518, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 519 ] }, { "id": 519, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 520 ] }, { "id": 520, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 521 ] }, { "id": 521, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 0, "children": [ 522 ] }, { "id": 522, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 523 ] }, { "id": 523, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 543, "callFrame": { "functionName": "Buffer.toString", "scriptId": "25", "url": "buffer.js", "lineNumber": 568, "columnNumber": 36 }, "hitCount": 0 }, { "id": 544, "callFrame": { "functionName": "abbrev", "scriptId": "158", "url": "/usr/local/lib/node_modules/npm/node_modules/abbrev/abbrev.js", "lineNumber": 16, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 545, "callFrame": { "functionName": "", "scriptId": "205", "url": "/usr/local/lib/node_modules/npm/lib/utils/error-handler.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 546 ] }, { "id": 546, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 547 ] }, { "id": 547, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 548 ] }, { "id": 548, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 549 ] }, { "id": 549, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 550 ] }, { "id": 550, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 551 ] }, { "id": 551, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 552 ] }, { "id": 552, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 553 ] }, { "id": 553, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 554 ] }, { "id": 554, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 94, "callFrame": { "functionName": "exports.checkForBrokenNode", "scriptId": "57", "url": "/usr/local/lib/node_modules/npm/lib/utils/unsupported.js", "lineNumber": 13, "columnNumber": 38 }, "hitCount": 0, "children": [ 95 ] }, { "id": 95, "callFrame": { "functionName": "exports.checkVersion", "scriptId": "57", "url": "/usr/local/lib/node_modules/npm/lib/utils/unsupported.js", "lineNumber": 5, "columnNumber": 51 }, "hitCount": 0, "children": [ 96 ] }, { "id": 96, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 97 ] }, { "id": 97, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 98 ] }, { "id": 98, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 99 ] }, { "id": 99, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 100 ] }, { "id": 100, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 101 ] }, { "id": 101, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 102, 110 ] }, { "id": 102, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 1, "children": [ 103 ], "positionTicks": [ { "line": 770, "ticks": 1 } ] }, { "id": 103, "callFrame": { "functionName": "parseComparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 798, "columnNumber": 24 }, "hitCount": 0, "children": [ 104 ] }, { "id": 104, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 105 ] }, { "id": 105, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 106 ] }, { "id": 106, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 107 ] }, { "id": 107, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 108 ] }, { "id": 108, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 109 ] }, { "id": 109, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 927, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 976, "ticks": 1 } ] }, { "id": 110, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 778, "columnNumber": 24 }, "hitCount": 0, "children": [ 111 ] }, { "id": 111, "callFrame": { "functionName": "Comparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 648, "columnNumber": 19 }, "hitCount": 0, "children": [ 112 ] }, { "id": 112, "callFrame": { "functionName": "Comparator.parse", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 672, "columnNumber": 37 }, "hitCount": 0, "children": [ 113 ] }, { "id": 113, "callFrame": { "functionName": "SemVer", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 271, "columnNumber": 15 }, "hitCount": 0, "children": [ 114 ] }, { "id": 114, "callFrame": { "functionName": "SemVer.format", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 327, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 328, "ticks": 1 } ] }, { "id": 275, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 274, "columnNumber": 25 }, "hitCount": 0, "children": [ 276 ] }, { "id": 276, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 169, "columnNumber": 19 }, "hitCount": 1, "children": [ 556 ], "positionTicks": [ { "line": 209, "ticks": 1 } ] }, { "id": 556, "callFrame": { "functionName": "exports.format", "scriptId": "24", "url": "util.js", "lineNumber": 63, "columnNumber": 25 }, "hitCount": 0, "children": [ 557 ] }, { "id": 557, "callFrame": { "functionName": "inspect", "scriptId": "24", "url": "util.js", "lineNumber": 174, "columnNumber": 16 }, "hitCount": 1, "children": [ 558 ], "positionTicks": [ { "line": 196, "ticks": 1 } ] }, { "id": 558, "callFrame": { "functionName": "formatValue", "scriptId": "24", "url": "util.js", "lineNumber": 284, "columnNumber": 20 }, "hitCount": 0, "children": [ 559 ] }, { "id": 559, "callFrame": { "functionName": "formatArray", "scriptId": "24", "url": "util.js", "lineNumber": 646, "columnNumber": 20 }, "hitCount": 0, "children": [ 560 ] }, { "id": 560, "callFrame": { "functionName": "formatProperty", "scriptId": "24", "url": "util.js", "lineNumber": 767, "columnNumber": 23 }, "hitCount": 0, "children": [ 561 ] }, { "id": 561, "callFrame": { "functionName": "formatValue", "scriptId": "24", "url": "util.js", "lineNumber": 284, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 586, "ticks": 1 } ] }, { "id": 293, "callFrame": { "functionName": "module.exports.options", "scriptId": "113", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/index.js", "lineNumber": 141, "columnNumber": 17 }, "hitCount": 1, "children": [ 294 ], "positionTicks": [ { "line": 144, "ticks": 1 } ] }, { "id": 294, "callFrame": { "functionName": "UpdateNotifier", "scriptId": "113", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/index.js", "lineNumber": 16, "columnNumber": 12 }, "hitCount": 0, "children": [ 295, 382 ] }, { "id": 295, "callFrame": { "functionName": "", "scriptId": "119", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req/index.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 296 ] }, { "id": 296, "callFrame": { "functionName": "lazy", "scriptId": "119", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req/index.js", "lineNumber": 1, "columnNumber": 13 }, "hitCount": 0, "children": [ 297 ] }, { "id": 297, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 298 ] }, { "id": 298, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 299 ] }, { "id": 299, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 300, 302 ] }, { "id": 300, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 301 ] }, { "id": 301, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 350, "ticks": 1 } ] }, { "id": 302, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 303 ] }, { "id": 303, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 304 ] }, { "id": 304, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 305 ] }, { "id": 305, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 306 ] }, { "id": 306, "callFrame": { "functionName": "", "scriptId": "120", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 307 ] }, { "id": 307, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 308 ] }, { "id": 308, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 309 ] }, { "id": 309, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 310, 333 ] }, { "id": 310, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 311 ] }, { "id": 311, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 312 ] }, { "id": 312, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 313 ] }, { "id": 313, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 314, 338, 340, 354, 364 ] }, { "id": 314, "callFrame": { "functionName": "", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 315, 331 ] }, { "id": 315, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 316 ] }, { "id": 316, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 317 ] }, { "id": 317, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 318 ] }, { "id": 318, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 319 ] }, { "id": 319, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 320 ] }, { "id": 320, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 321 ] }, { "id": 321, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 322, 324 ] }, { "id": 322, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 323 ] }, { "id": 323, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 324, "callFrame": { "functionName": "", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 325 ] }, { "id": 325, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 326 ] }, { "id": 326, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 327 ] }, { "id": 327, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 328 ] }, { "id": 328, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 329 ] }, { "id": 329, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 330 ] }, { "id": 330, "callFrame": { "functionName": "", "scriptId": "124", "url": "constants.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 32, "ticks": 1 } ] }, { "id": 331, "callFrame": { "functionName": "patch", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 55, "columnNumber": 15 }, "hitCount": 0, "children": [ 332 ] }, { "id": 332, "callFrame": { "functionName": "patch", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 25, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 37, "ticks": 1 } ] }, { "id": 338, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 339, 363 ] }, { "id": 339, "callFrame": { "functionName": "Script.runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 363, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 340, "callFrame": { "functionName": "", "scriptId": "128", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/write-file-atomic/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 341 ] }, { "id": 341, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 342 ] }, { "id": 342, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 343 ] }, { "id": 343, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 344, 348 ] }, { "id": 344, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 345 ] }, { "id": 345, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 346 ] }, { "id": 346, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 347 ] }, { "id": 347, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 348, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 349 ] }, { "id": 349, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 350 ] }, { "id": 350, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 351 ] }, { "id": 351, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 352 ] }, { "id": 352, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 353 ] }, { "id": 353, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 354, "callFrame": { "functionName": "", "scriptId": "134", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/dot-prop/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 355 ] }, { "id": 355, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 356 ] }, { "id": 356, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 357 ] }, { "id": 357, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 358 ] }, { "id": 358, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 359 ] }, { "id": 359, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 360 ] }, { "id": 360, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 361 ] }, { "id": 361, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 362 ] }, { "id": 362, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 144, "ticks": 1 } ] }, { "id": 364, "callFrame": { "functionName": "", "scriptId": "136", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 365 ] }, { "id": 365, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 366 ] }, { "id": 366, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 367 ] }, { "id": 367, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 368 ] }, { "id": 368, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 369 ] }, { "id": 369, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 370 ] }, { "id": 370, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 371 ] }, { "id": 371, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 372 ] }, { "id": 372, "callFrame": { "functionName": "", "scriptId": "137", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string/node_modules/crypto-random-string/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 373 ] }, { "id": 373, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 374 ] }, { "id": 374, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 375 ] }, { "id": 375, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 376 ] }, { "id": 376, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 377 ] }, { "id": 377, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 378, 379 ] }, { "id": 378, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 379, "callFrame": { "functionName": "", "scriptId": "138", "url": "crypto.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 380, 381 ], "positionTicks": [ { "line": 34, "ticks": 1 } ] }, { "id": 380, "callFrame": { "functionName": "binding", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 34, "ticks": 1 } ] }, { "id": 381, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 481, "ticks": 1 } ] }, { "id": 333, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 334 ] }, { "id": 334, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 335 ] }, { "id": 335, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 336 ] }, { "id": 336, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 337 ] }, { "id": 337, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 382, "callFrame": { "functionName": "Configstore", "scriptId": "120", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/index.js", "lineNumber": 16, "columnNumber": 12 }, "hitCount": 0, "children": [ 383 ] }, { "id": 383, "callFrame": { "functionName": "set all", "scriptId": "120", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/index.js", "lineNumber": 50, "columnNumber": 8 }, "hitCount": 0, "children": [ 384 ] }, { "id": 384, "callFrame": { "functionName": "writeFileSync", "scriptId": "128", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/write-file-atomic/index.js", "lineNumber": 86, "columnNumber": 23 }, "hitCount": 0, "children": [ 385, 386, 387, 388 ] }, { "id": 385, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 0 }, { "id": 386, "callFrame": { "functionName": "getTmpname", "scriptId": "128", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/write-file-atomic/index.js", "lineNumber": 11, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 387, "callFrame": { "functionName": "fs.fsyncSync", "scriptId": "45", "url": "fs.js", "lineNumber": 869, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 872, "ticks": 1 } ] }, { "id": 388, "callFrame": { "functionName": "fs.renameSync", "scriptId": "45", "url": "fs.js", "lineNumber": 765, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 771, "ticks": 1 } ] }, { "id": 389, "callFrame": { "functionName": "notify", "scriptId": "113", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/index.js", "lineNumber": 104, "columnNumber": 7 }, "hitCount": 0, "children": [ 390 ] }, { "id": 390, "callFrame": { "functionName": "", "scriptId": "119", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req/index.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 391 ] }, { "id": 391, "callFrame": { "functionName": "lazy", "scriptId": "119", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req/index.js", "lineNumber": 1, "columnNumber": 13 }, "hitCount": 0, "children": [ 392 ] }, { "id": 392, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 393 ] }, { "id": 393, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 394 ] }, { "id": 394, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 395 ] }, { "id": 395, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 396 ] }, { "id": 396, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 397 ] }, { "id": 397, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 398 ] }, { "id": 398, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 399 ] }, { "id": 399, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 400 ] }, { "id": 400, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": 72, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 555, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 0 }, { "id": 562, "callFrame": { "functionName": "nopt", "scriptId": "157", "url": "/usr/local/lib/node_modules/npm/node_modules/nopt/lib/nopt.js", "lineNumber": 25, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 45, "ticks": 1 } ] }, { "id": 563, "callFrame": { "functionName": "_tickCallback", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 132, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 136, "ticks": 1 } ] }, { "id": 24, "callFrame": { "functionName": "(program)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 729 }, { "id": 46, "callFrame": { "functionName": "(garbage collector)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 108 }, { "id": 564, "callFrame": { "functionName": "", "scriptId": "45", "url": "fs.js", "lineNumber": 150, "columnNumber": 17 }, "hitCount": 0, "children": [ 565, 2044 ] }, { "id": 565, "callFrame": { "functionName": "", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 282, "columnNumber": 42 }, "hitCount": 1, "children": [ 566, 593, 1639, 1754, 3872 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 287, "ticks": 1 } ] }, { "id": 566, "callFrame": { "functionName": "", "scriptId": "180", "url": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js", "lineNumber": 6, "columnNumber": 25 }, "hitCount": 0, "children": [ 567 ] }, { "id": 567, "callFrame": { "functionName": "", "scriptId": "179", "url": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 0, "children": [ 568 ] }, { "id": 568, "callFrame": { "functionName": "", "scriptId": "178", "url": "/usr/local/lib/node_modules/npm/node_modules/which/which.js", "lineNumber": 81, "columnNumber": 55 }, "hitCount": 0, "children": [ 569 ] }, { "id": 569, "callFrame": { "functionName": "", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 239, "columnNumber": 36 }, "hitCount": 0, "children": [ 570 ] }, { "id": 570, "callFrame": { "functionName": "load", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 38, "columnNumber": 14 }, "hitCount": 0, "children": [ 571 ] }, { "id": 571, "callFrame": { "functionName": "Conf", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 207, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 217, "ticks": 1 } ] }, { "id": 593, "callFrame": { "functionName": "", "scriptId": "126", "url": "/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js", "lineNumber": 43, "columnNumber": 37 }, "hitCount": 0, "children": [ 594 ] }, { "id": 594, "callFrame": { "functionName": "afterExtras", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 176, "columnNumber": 23 }, "hitCount": 0, "children": [ 595, 600 ] }, { "id": 595, "callFrame": { "functionName": "validate", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 424, "columnNumber": 18 }, "hitCount": 0, "children": [ 596 ] }, { "id": 596, "callFrame": { "functionName": "clean", "scriptId": "157", "url": "/usr/local/lib/node_modules/npm/node_modules/nopt/lib/nopt.js", "lineNumber": 52, "columnNumber": 15 }, "hitCount": 0, "children": [ 597 ] }, { "id": 597, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 598 ] }, { "id": 598, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 599 ] }, { "id": 599, "callFrame": { "functionName": "", "scriptId": "157", "url": "/usr/local/lib/node_modules/npm/node_modules/nopt/lib/nopt.js", "lineNumber": 57, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 120, "ticks": 1 } ] }, { "id": 600, "callFrame": { "functionName": "finalize", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 191, "columnNumber": 20 }, "hitCount": 0, "children": [ 601 ] }, { "id": 601, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 602 ] }, { "id": 602, "callFrame": { "functionName": "", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 74, "columnNumber": 21 }, "hitCount": 0, "children": [ 603 ] }, { "id": 603, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 604 ] }, { "id": 604, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 605 ] }, { "id": 605, "callFrame": { "functionName": "", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 79, "columnNumber": 29 }, "hitCount": 0, "children": [ 606 ] }, { "id": 606, "callFrame": { "functionName": "", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 248, "columnNumber": 42 }, "hitCount": 0, "children": [ 607, 609, 617, 620, 627 ] }, { "id": 607, "callFrame": { "functionName": "log.enableProgress", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 78, "columnNumber": 30 }, "hitCount": 0, "children": [ 608 ] }, { "id": 608, "callFrame": { "functionName": "Gauge.enable", "scriptId": "80", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 128, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 133, "ticks": 1 } ] }, { "id": 609, "callFrame": { "functionName": "glob", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 64, "columnNumber": 14 }, "hitCount": 0, "children": [ 610 ] }, { "id": 610, "callFrame": { "functionName": "Glob", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 119, "columnNumber": 14 }, "hitCount": 0, "children": [ 611 ] }, { "id": 611, "callFrame": { "functionName": "setopts", "scriptId": "190", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/common.js", "lineNumber": 52, "columnNumber": 17 }, "hitCount": 0, "children": [ 612 ] }, { "id": 612, "callFrame": { "functionName": "Minimatch", "scriptId": "184", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 109, "columnNumber": 19 }, "hitCount": 0, "children": [ 613 ] }, { "id": 613, "callFrame": { "functionName": "make", "scriptId": "184", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 141, "columnNumber": 14 }, "hitCount": 0, "children": [ 614 ] }, { "id": 614, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 615 ] }, { "id": 615, "callFrame": { "functionName": "", "scriptId": "184", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 180, "columnNumber": 25 }, "hitCount": 0, "children": [ 616 ] }, { "id": 616, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 617, "callFrame": { "functionName": "log.resume", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 152, "columnNumber": 22 }, "hitCount": 0, "children": [ 618 ] }, { "id": 618, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 619 ] }, { "id": 619, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 620, "callFrame": { "functionName": "getProjectScope", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 459, "columnNumber": 27 }, "hitCount": 0, "children": [ 621 ] }, { "id": 621, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 622, 625 ] }, { "id": 622, "callFrame": { "functionName": "tryReadSync", "scriptId": "45", "url": "fs.js", "lineNumber": 537, "columnNumber": 20 }, "hitCount": 0, "children": [ 623 ] }, { "id": 623, "callFrame": { "functionName": "", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 133, "columnNumber": 58 }, "hitCount": 0, "children": [ 624 ] }, { "id": 624, "callFrame": { "functionName": "fs.readSync", "scriptId": "45", "url": "fs.js", "lineNumber": 674, "columnNumber": 22 }, "hitCount": 0 }, { "id": 625, "callFrame": { "functionName": "", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 47, "columnNumber": 58 }, "hitCount": 0, "children": [ 626 ] }, { "id": 626, "callFrame": { "functionName": "fs.closeSync", "scriptId": "45", "url": "fs.js", "lineNumber": 615, "columnNumber": 23 }, "hitCount": 0 }, { "id": 627, "callFrame": { "functionName": "startMetrics", "scriptId": "198", "url": "/usr/local/lib/node_modules/npm/lib/utils/metrics.js", "lineNumber": 13, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 19, "ticks": 1 } ] }, { "id": 1639, "callFrame": { "functionName": "gotStat", "scriptId": "45", "url": "fs.js", "lineNumber": 1783, "columnNumber": 18 }, "hitCount": 4, "children": [ 1640, 2048 ], "positionTicks": [ { "line": 1792, "ticks": 3 }, { "line": 1799, "ticks": 1 } ] }, { "id": 1640, "callFrame": { "functionName": "nextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 231, "columnNumber": 19 }, "hitCount": 3, "children": [ 1641, 2046 ], "positionTicks": [ { "line": 232, "ticks": 2 }, { "line": 249, "ticks": 1 } ] }, { "id": 1641, "callFrame": { "functionName": "setupInit", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 220, "columnNumber": 20 }, "hitCount": 2, "positionTicks": [ { "line": 222, "ticks": 1 }, { "line": 223, "ticks": 1 } ] }, { "id": 2046, "callFrame": { "functionName": "push", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2048, "callFrame": { "functionName": "thenReaddir", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 135, "columnNumber": 23 }, "hitCount": 0, "children": [ 2049 ] }, { "id": 2049, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2050 ] }, { "id": 2050, "callFrame": { "functionName": "thenProcessChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 194, "columnNumber": 31 }, "hitCount": 0, "children": [ 2051, 2147 ] }, { "id": 2051, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 2, "positionTicks": [ { "line": 768, "ticks": 2 } ] }, { "id": 2147, "callFrame": { "functionName": "asyncForEach", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 8, "columnNumber": 22 }, "hitCount": 1, "children": [ 2148 ], "positionTicks": [ { "line": 9, "ticks": 1 } ] }, { "id": 2148, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2149 ] }, { "id": 2149, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 15, "columnNumber": 26 }, "hitCount": 0, "children": [ 2150 ] }, { "id": 2150, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2151 ] }, { "id": 2151, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 15, "columnNumber": 26 }, "hitCount": 0, "children": [ 2152 ] }, { "id": 2152, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2153 ] }, { "id": 2153, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 15, "columnNumber": 26 }, "hitCount": 0, "children": [ 2154 ] }, { "id": 2154, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2155 ] }, { "id": 2155, "callFrame": { "functionName": "thenHandleErrors", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 233, "columnNumber": 28 }, "hitCount": 0, "children": [ 2156, 3821 ] }, { "id": 2156, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 61, "columnNumber": 18 }, "hitCount": 0, "children": [ 2157, 2606 ] }, { "id": 2157, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 0, "children": [ 2158, 2180, 2233 ] }, { "id": 2158, "callFrame": { "functionName": "exports.reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 59, "columnNumber": 25 }, "hitCount": 0, "children": [ 2159 ] }, { "id": 2159, "callFrame": { "functionName": "reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 63, "columnNumber": 15 }, "hitCount": 0, "children": [ 2160, 2164 ] }, { "id": 2160, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 2161 ] }, { "id": 2161, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2162 ] }, { "id": 2162, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2163 ] }, { "id": 2163, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 39, "ticks": 1 } ] }, { "id": 2164, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2165 ] }, { "id": 2165, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 2166 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 2166, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 79, "columnNumber": 34 }, "hitCount": 0, "children": [ 2167 ] }, { "id": 2167, "callFrame": { "functionName": "reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 63, "columnNumber": 15 }, "hitCount": 1, "children": [ 2168 ], "positionTicks": [ { "line": 65, "ticks": 1 } ] }, { "id": 2168, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2169 ] }, { "id": 2169, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2170 ] }, { "id": 2170, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 79, "columnNumber": 34 }, "hitCount": 0, "children": [ 2171 ] }, { "id": 2171, "callFrame": { "functionName": "reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 63, "columnNumber": 15 }, "hitCount": 0, "children": [ 2172 ] }, { "id": 2172, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 2173 ] }, { "id": 2173, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2174 ] }, { "id": 2174, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2175 ] }, { "id": 2175, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 0, "children": [ 2176 ] }, { "id": 2176, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 2177 ] }, { "id": 2177, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2178 ] }, { "id": 2178, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2179 ] }, { "id": 2179, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 2180, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 2181, 2193, 2208 ] }, { "id": 2181, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 2182 ] }, { "id": 2182, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 2183, 2185, 2189, 2194 ] }, { "id": 2183, "callFrame": { "functionName": "Result", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 80, "columnNumber": 16 }, "hitCount": 0, "children": [ 2184 ] }, { "id": 2184, "callFrame": { "functionName": "Result.setName", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 102, "columnNumber": 36 }, "hitCount": 1, "children": [ 2232 ], "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 2232, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 10, "ticks": 1 } ] }, { "id": 2185, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 2186 ] }, { "id": 2186, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2187 ] }, { "id": 2187, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 0, "children": [ 2188 ] }, { "id": 2188, "callFrame": { "functionName": "module.exports", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 4, "columnNumber": 40 }, "hitCount": 0 }, { "id": 2189, "callFrame": { "functionName": "fromHostedGit", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 180, "columnNumber": 23 }, "hitCount": 1, "children": [ 2190 ], "positionTicks": [ { "line": 186, "ticks": 1 } ] }, { "id": 2190, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 111, "columnNumber": 38 }, "hitCount": 0, "children": [ 2191 ] }, { "id": 2191, "callFrame": { "functionName": "GitHost.shortcut", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 89, "columnNumber": 38 }, "hitCount": 0, "children": [ 2192 ] }, { "id": 2192, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0 }, { "id": 2194, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 2195 ] }, { "id": 2195, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 2196 ] }, { "id": 2196, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2197 ] }, { "id": 2197, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2198 ] }, { "id": 2198, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2199 ] }, { "id": 2199, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2200 ] }, { "id": 2200, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2201 ] }, { "id": 2201, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2202 ] }, { "id": 2202, "callFrame": { "functionName": "parseComparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 798, "columnNumber": 24 }, "hitCount": 0, "children": [ 2203 ] }, { "id": 2203, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 0, "children": [ 2204 ] }, { "id": 2204, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2205 ] }, { "id": 2205, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 822, "columnNumber": 46 }, "hitCount": 0, "children": [ 2206 ] }, { "id": 2206, "callFrame": { "functionName": "replaceTilde", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 827, "columnNumber": 21 }, "hitCount": 0, "children": [ 2207 ] }, { "id": 2207, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2193, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 1, "children": [ 2212, 2225 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 538, "ticks": 1 } ] }, { "id": 2212, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 30, "ticks": 1 } ] }, { "id": 2225, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 2226 ] }, { "id": 2226, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 0, "children": [ 2227 ] }, { "id": 2227, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 2228 ] }, { "id": 2228, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 2229 ] }, { "id": 2229, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 2230 ] }, { "id": 2230, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2231 ] }, { "id": 2231, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 49, "ticks": 1 } ] }, { "id": 2208, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2209 ] }, { "id": 2209, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2210 ] }, { "id": 2210, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2211, 2213 ] }, { "id": 2211, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 0 }, { "id": 2213, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 2214 ] }, { "id": 2214, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 2215 ] }, { "id": 2215, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 2216 ] }, { "id": 2216, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2217 ] }, { "id": 2217, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2218 ] }, { "id": 2218, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2219 ] }, { "id": 2219, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2220 ] }, { "id": 2220, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2221 ] }, { "id": 2221, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2222 ] }, { "id": 2222, "callFrame": { "functionName": "parseComparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 798, "columnNumber": 24 }, "hitCount": 0, "children": [ 2223 ] }, { "id": 2223, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2224 ] }, { "id": 2224, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2233, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2234 ] }, { "id": 2234, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2235 ] }, { "id": 2235, "callFrame": { "functionName": "tree.children.filter.forEach", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 75 }, "hitCount": 0, "children": [ 2236 ] }, { "id": 2236, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 3, "children": [ 2237, 2249, 2554 ], "positionTicks": [ { "line": 113, "ticks": 1 }, { "line": 114, "ticks": 1 }, { "line": 94, "ticks": 1 } ] }, { "id": 2237, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2238 ] }, { "id": 2238, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2239 ] }, { "id": 2239, "callFrame": { "functionName": "tree.children.filter.forEach", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 75 }, "hitCount": 0, "children": [ 2240 ] }, { "id": 2240, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 0, "children": [ 2241, 2291, 2525 ] }, { "id": 2241, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 2242, 2358 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2242, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 2243 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2243, "callFrame": { "functionName": "flatName", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 30, "columnNumber": 18 }, "hitCount": 0, "children": [ 2244 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2244, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2245 ] }, { "id": 2245, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2246 ] }, { "id": 2246, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2247 ] }, { "id": 2247, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 50, "columnNumber": 47 }, "hitCount": 0, "children": [ 2248 ] }, { "id": 2248, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 9, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 10, "ticks": 1 } ] }, { "id": 2358, "callFrame": { "functionName": "flatName", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 30, "columnNumber": 18 }, "hitCount": 0, "children": [ 2359 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2359, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2360 ] }, { "id": 2360, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2361 ] }, { "id": 2361, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2362 ] }, { "id": 2362, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 2363 ] }, { "id": 2363, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2291, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 2292, 2305, 2451 ] }, { "id": 2292, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2293 ] }, { "id": 2293, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2294, 2460 ] }, { "id": 2294, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2295 ] }, { "id": 2295, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2296 ] }, { "id": 2296, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2297, 2377 ] }, { "id": 2297, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 2298 ] }, { "id": 2298, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 2299 ] }, { "id": 2299, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 2300 ] }, { "id": 2300, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 2301 ] }, { "id": 2301, "callFrame": { "functionName": "testSet", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1044, "columnNumber": 16 }, "hitCount": 0, "children": [ 2302 ] }, { "id": 2302, "callFrame": { "functionName": "Comparator.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 694, "columnNumber": 36 }, "hitCount": 0, "children": [ 2303 ] }, { "id": 2303, "callFrame": { "functionName": "cmp", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 623, "columnNumber": 12 }, "hitCount": 0, "children": [ 2304 ] }, { "id": 2304, "callFrame": { "functionName": "gte", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 613, "columnNumber": 12 }, "hitCount": 1, "positionTicks": [ { "line": 614, "ticks": 1 } ] }, { "id": 2377, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 650, "ticks": 1 } ] }, { "id": 2460, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2461 ] }, { "id": 2461, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "children": [ 2462, 2524 ], "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 2462, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 2463 ] }, { "id": 2463, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 2464 ] }, { "id": 2464, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 1, "children": [ 2483 ], "positionTicks": [ { "line": 1079, "ticks": 1 } ] }, { "id": 2483, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2484, 2541 ] }, { "id": 2484, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2485 ] }, { "id": 2485, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2486 ] }, { "id": 2486, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2487, 2497 ] }, { "id": 2487, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2488 ] }, { "id": 2488, "callFrame": { "functionName": "RegExp: ^\\s*([v=\\s]*(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*)))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)?)?)\\s+-\\s+([v=\\s]*(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*)))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)?)?)\\s*$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2497, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2541, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2542 ] }, { "id": 2542, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 2524, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 651, "ticks": 1 } ] }, { "id": 2305, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 0, "children": [ 2306 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2306, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 2307, 2472 ] }, { "id": 2307, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 0, "children": [ 2308, 2498 ] }, { "id": 2308, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 2309 ] }, { "id": 2309, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 2310, 2489 ] }, { "id": 2310, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 2311 ] }, { "id": 2311, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 2312 ] }, { "id": 2312, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2313, 2491, 2499 ] }, { "id": 2313, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2491, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2492 ] }, { "id": 2492, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2493 ] }, { "id": 2493, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2494 ] }, { "id": 2494, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 2505 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2505, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2506 ] }, { "id": 2506, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2507 ] }, { "id": 2507, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2508 ] }, { "id": 2508, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 2509 ] }, { "id": 2509, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 2510 ] }, { "id": 2510, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2499, "callFrame": { "functionName": "Range.format", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2500 ] }, { "id": 2500, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2501 ] }, { "id": 2501, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 734, "columnNumber": 36 }, "hitCount": 0, "children": [ 2502 ] }, { "id": 2502, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 2503 ] }, { "id": 2503, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 2504 ] }, { "id": 2504, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 121, "ticks": 1 } ] }, { "id": 2489, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 2490 ] }, { "id": 2490, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2498, "callFrame": { "functionName": "isDevDep", "scriptId": "557", "url": "/usr/local/lib/node_modules/npm/lib/install/is-dev-dep.js", "lineNumber": 3, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 7, "ticks": 1 } ] }, { "id": 2472, "callFrame": { "functionName": "replaceModuleByPath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 552, "columnNumber": 29 }, "hitCount": 0, "children": [ 2473 ], "deoptReason": "Inlining bailed out" }, { "id": 2473, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 2474 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2474, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2475 ] }, { "id": 2475, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2476 ] }, { "id": 2476, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2477 ] }, { "id": 2477, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 2451, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 2452 ] }, { "id": 2452, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 2453, 2478, 2495 ] }, { "id": 2453, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 2454 ] }, { "id": 2454, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 2455 ] }, { "id": 2455, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2456 ] }, { "id": 2456, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2457 ] }, { "id": 2457, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2458 ] }, { "id": 2458, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2459, 2465 ] }, { "id": 2459, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2465, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2466, 2521 ] }, { "id": 2466, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2467, 2515 ] }, { "id": 2467, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 2468 ] }, { "id": 2468, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2469 ] }, { "id": 2469, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 863, "columnNumber": 46 }, "hitCount": 0, "children": [ 2470 ] }, { "id": 2470, "callFrame": { "functionName": "replaceCaret", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 868, "columnNumber": 21 }, "hitCount": 0, "children": [ 2471 ] }, { "id": 2471, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2515, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2516 ] }, { "id": 2516, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2517 ] }, { "id": 2517, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 2518 ] }, { "id": 2518, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 2519 ] }, { "id": 2519, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2520 ] }, { "id": 2520, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 927, "columnNumber": 33 }, "hitCount": 0 }, { "id": 2521, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 778, "columnNumber": 24 }, "hitCount": 0, "children": [ 2522 ] }, { "id": 2522, "callFrame": { "functionName": "Comparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 648, "columnNumber": 19 }, "hitCount": 0, "children": [ 2523 ] }, { "id": 2523, "callFrame": { "functionName": "Comparator.parse", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 672, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 685, "ticks": 1 } ] }, { "id": 2478, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 2479 ] }, { "id": 2479, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2480 ] }, { "id": 2480, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 2481 ] }, { "id": 2481, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "children": [ 2482 ], "positionTicks": [ { "line": 348, "ticks": 1 } ] }, { "id": 2482, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2495, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 2496, 2511 ] }, { "id": 2496, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2511, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2512 ] }, { "id": 2512, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2513 ] }, { "id": 2513, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 2514 ] }, { "id": 2514, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 2525, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2526 ] }, { "id": 2526, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2527 ] }, { "id": 2527, "callFrame": { "functionName": "tree.children.filter.forEach", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 75 }, "hitCount": 0, "children": [ 2528 ] }, { "id": 2528, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 0, "children": [ 2529 ] }, { "id": 2529, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 2530, 2536 ] }, { "id": 2530, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2531 ] }, { "id": 2531, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2532 ] }, { "id": 2532, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2533 ] }, { "id": 2533, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2534 ] }, { "id": 2534, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2535 ] }, { "id": 2535, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 650, "ticks": 1 } ] }, { "id": 2536, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 2537 ] }, { "id": 2537, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 2538 ] }, { "id": 2538, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 2539 ] }, { "id": 2539, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2540 ] }, { "id": 2540, "callFrame": { "functionName": "RegExp: [~'!()*]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2249, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 2250, 2267, 2331 ] }, { "id": 2250, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2251, 2402, 2408 ] }, { "id": 2251, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 2252, 2444 ] }, { "id": 2252, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2253 ] }, { "id": 2253, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 3, "children": [ 2254, 2314 ], "positionTicks": [ { "line": 755, "ticks": 3 } ] }, { "id": 2254, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 2255 ] }, { "id": 2255, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 2, "children": [ 2256 ], "positionTicks": [ { "line": 81, "ticks": 1 }, { "line": 39, "ticks": 1 } ] }, { "id": 2256, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 2257, 2543 ] }, { "id": 2257, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 1, "children": [ 2258, 2592 ], "positionTicks": [ { "line": 719, "ticks": 1 } ] }, { "id": 2258, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2259 ] }, { "id": 2259, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2260 ] }, { "id": 2260, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2261, 2388, 2411 ] }, { "id": 2261, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2262, 2412 ] }, { "id": 2262, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2263, 2378, 2414, 2435 ] }, { "id": 2263, "callFrame": { "functionName": "parseComparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 798, "columnNumber": 24 }, "hitCount": 0, "children": [ 2264 ] }, { "id": 2264, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 0, "children": [ 2265 ] }, { "id": 2265, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2266 ] }, { "id": 2266, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 822, "columnNumber": 46 }, "hitCount": 1, "positionTicks": [ { "line": 823, "ticks": 1 } ] }, { "id": 2378, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 2379 ] }, { "id": 2379, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 2380 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2380, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 863, "columnNumber": 46 }, "hitCount": 0, "children": [ 2381 ] }, { "id": 2381, "callFrame": { "functionName": "replaceCaret", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 868, "columnNumber": 21 }, "hitCount": 0, "children": [ 2382 ] }, { "id": 2382, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 3 }, { "id": 2414, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2415 ] }, { "id": 2415, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 2416 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2416, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 2417 ] }, { "id": 2417, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 2418 ] }, { "id": 2418, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2419 ] }, { "id": 2419, "callFrame": { "functionName": "RegExp: ^((?:<|>)?=?)\\s*[v=\\s]*(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*)))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)?)?$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2435, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 0, "children": [ 2436, 2563 ] }, { "id": 2436, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2437 ] }, { "id": 2437, "callFrame": { "functionName": "RegExp: \\s+", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2563, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2564 ] }, { "id": 2564, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 822, "columnNumber": 46 }, "hitCount": 0, "children": [ 2565 ] }, { "id": 2565, "callFrame": { "functionName": "replaceTilde", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 827, "columnNumber": 21 }, "hitCount": 0, "children": [ 2566 ] }, { "id": 2566, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2412, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 778, "columnNumber": 24 }, "hitCount": 0, "children": [ 2413, 2575 ] }, { "id": 2413, "callFrame": { "functionName": "Comparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 780, "ticks": 1 } ] }, { "id": 2575, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 2388, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2389 ] }, { "id": 2389, "callFrame": { "functionName": "RegExp: \\s+", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2411, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 2592, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2593 ] }, { "id": 2593, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 2543, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 2544 ] }, { "id": 2544, "callFrame": { "functionName": "testSet", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1044, "columnNumber": 16 }, "hitCount": 0, "children": [ 2545 ] }, { "id": 2545, "callFrame": { "functionName": "Comparator.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 694, "columnNumber": 36 }, "hitCount": 0, "children": [ 2546 ] }, { "id": 2546, "callFrame": { "functionName": "cmp", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 623, "columnNumber": 12 }, "hitCount": 1, "positionTicks": [ { "line": 639, "ticks": 1 } ] }, { "id": 2314, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 20, "positionTicks": [ { "line": 650, "ticks": 9 }, { "line": 651, "ticks": 11 } ] }, { "id": 2444, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2445 ] }, { "id": 2445, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2446 ] }, { "id": 2446, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2447 ] }, { "id": 2447, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 2448 ] }, { "id": 2448, "callFrame": { "functionName": "addSchema", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 2402, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2403 ] }, { "id": 2403, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2404, 2547 ] }, { "id": 2404, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 2547, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2548 ] }, { "id": 2548, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 50, "columnNumber": 47 }, "hitCount": 1, "positionTicks": [ { "line": 54, "ticks": 1 } ] }, { "id": 2408, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2409 ] }, { "id": 2409, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2410 ] }, { "id": 2410, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 651, "ticks": 1 } ] }, { "id": 2267, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 0, "children": [ 2268, 2598 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2268, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 2269, 2325, 2420 ] }, { "id": 2269, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 1, "children": [ 2270, 2271 ], "positionTicks": [ { "line": 133, "ticks": 1 } ] }, { "id": 2270, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 2, "children": [ 2281 ], "positionTicks": [ { "line": 84, "ticks": 1 }, { "line": 85, "ticks": 1 } ] }, { "id": 2281, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 3, "children": [ 2282, 2383, 2425, 2549 ], "positionTicks": [ { "line": 64, "ticks": 1 }, { "line": 44, "ticks": 2 } ] }, { "id": 2282, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 2283, 2449 ] }, { "id": 2283, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 2284 ] }, { "id": 2284, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2285, 2315 ] }, { "id": 2285, "callFrame": { "functionName": "Range.format", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 733, "columnNumber": 33 }, "hitCount": 0, "children": [ 2286 ] }, { "id": 2286, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2287 ] }, { "id": 2287, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 734, "columnNumber": 36 }, "hitCount": 0, "children": [ 2288 ] }, { "id": 2288, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 2289 ] }, { "id": 2289, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 2290 ] }, { "id": 2290, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 1, "children": [ 2580 ], "positionTicks": [ { "line": 121, "ticks": 1 } ] }, { "id": 2580, "callFrame": { "functionName": "DoJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 95, "columnNumber": 15 }, "hitCount": 0, "children": [ 2581 ] }, { "id": 2581, "callFrame": { "functionName": "ConvertToString", "scriptId": "6", "url": "native array.js", "lineNumber": 133, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 134, "ticks": 1 } ] }, { "id": 2315, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2316 ] }, { "id": 2316, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2317 ] }, { "id": 2317, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2318, 2396, 2604 ] }, { "id": 2318, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2319, 2594 ] }, { "id": 2319, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2320, 2371, 2587 ] }, { "id": 2320, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2321 ] }, { "id": 2321, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 2322 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2322, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 2323 ] }, { "id": 2323, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 2324 ] }, { "id": 2324, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 7 }, { "id": 2371, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 2372 ] }, { "id": 2372, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2373 ] }, { "id": 2373, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 863, "columnNumber": 46 }, "hitCount": 0, "children": [ 2374 ] }, { "id": 2374, "callFrame": { "functionName": "replaceCaret", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 868, "columnNumber": 21 }, "hitCount": 0, "children": [ 2375 ] }, { "id": 2375, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "children": [ 2376 ] }, { "id": 2376, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 871, "columnNumber": 33 }, "hitCount": 1, "children": [ 2407 ], "positionTicks": [ { "line": 872, "ticks": 1 } ] }, { "id": 2407, "callFrame": { "functionName": "BinaryOpWithAllocationSiteStub(ADD_CreateAllocationMementos:String*Smi->String)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2587, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 0, "children": [ 2588 ] }, { "id": 2588, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2589 ] }, { "id": 2589, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 822, "columnNumber": 46 }, "hitCount": 0, "children": [ 2590 ] }, { "id": 2590, "callFrame": { "functionName": "replaceTilde", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 827, "columnNumber": 21 }, "hitCount": 0, "children": [ 2591 ] }, { "id": 2591, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2594, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 778, "columnNumber": 24 }, "hitCount": 0, "children": [ 2595 ] }, { "id": 2595, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 2596 ] }, { "id": 2596, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2396, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2397 ] }, { "id": 2397, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2398 ] }, { "id": 2398, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 774, "columnNumber": 29 }, "hitCount": 0, "children": [ 2399 ] }, { "id": 2399, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 2400 ] }, { "id": 2400, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2401 ] }, { "id": 2401, "callFrame": { "functionName": "RegExp: ^((?:<|>)?=?)\\s*([v=\\s]*([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-?((?:[0-9]+|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:[0-9]+|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)$|^$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2604, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 2605 ] }, { "id": 2605, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 275, "ticks": 1 } ] }, { "id": 2449, "callFrame": { "functionName": "valid", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2450 ] }, { "id": 2450, "callFrame": { "functionName": "parse", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 235, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 236, "ticks": 1 } ] }, { "id": 2383, "callFrame": { "functionName": "Result.setName", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 102, "columnNumber": 36 }, "hitCount": 0, "children": [ 2384 ] }, { "id": 2384, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 2385 ] }, { "id": 2385, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2386 ] }, { "id": 2386, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2387 ] }, { "id": 2387, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 1, "positionTicks": [ { "line": 55, "ticks": 1 } ] }, { "id": 2425, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 2426, 2430 ] }, { "id": 2426, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 2427 ] }, { "id": 2427, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 2428, 2602 ] }, { "id": 2428, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 511, "ticks": 1 } ] }, { "id": 2602, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 0, "children": [ 2603 ] }, { "id": 2603, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2430, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2431 ] }, { "id": 2431, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 2432 ] }, { "id": 2432, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 2433 ] }, { "id": 2433, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 0, "children": [ 2434 ] }, { "id": 2434, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2549, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 2550 ] }, { "id": 2550, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2551 ] }, { "id": 2551, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2552, 2578 ] }, { "id": 2552, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 2553 ] }, { "id": 2553, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 2578, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 45, "columnNumber": 29 }, "hitCount": 0, "children": [ 2579 ] }, { "id": 2579, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 2271, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 2272 ] }, { "id": 2272, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 2273, 2438 ] }, { "id": 2273, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 2274 ] }, { "id": 2274, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2275 ] }, { "id": 2275, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2276 ] }, { "id": 2276, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2277, 2348 ] }, { "id": 2277, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2278 ] }, { "id": 2278, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2279, 2350 ] }, { "id": 2279, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 2280 ] }, { "id": 2280, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2350, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2351 ] }, { "id": 2351, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 2570 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2570, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 2571 ] }, { "id": 2571, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 1, "children": [ 2572 ], "positionTicks": [ { "line": 927, "ticks": 1 } ] }, { "id": 2572, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2348, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2349 ] }, { "id": 2349, "callFrame": { "functionName": "RegExp: (\\s*)((?:<|>)?=?)\\s*([v=\\s]*([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-?((?:[0-9]+|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:[0-9]+|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?|[v=\\s]*(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*)))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)?)?)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2438, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 2439 ] }, { "id": 2439, "callFrame": { "functionName": "testSet", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1044, "columnNumber": 16 }, "hitCount": 0, "children": [ 2440 ] }, { "id": 2440, "callFrame": { "functionName": "Comparator.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 694, "columnNumber": 36 }, "hitCount": 0, "children": [ 2441 ] }, { "id": 2441, "callFrame": { "functionName": "cmp", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 623, "columnNumber": 12 }, "hitCount": 0, "children": [ 2442 ] }, { "id": 2442, "callFrame": { "functionName": "lt", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 598, "columnNumber": 11 }, "hitCount": 0, "children": [ 2443 ] }, { "id": 2443, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2325, "callFrame": { "functionName": "replaceModuleByName", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 559, "columnNumber": 29 }, "hitCount": 0, "children": [ 2326 ] }, { "id": 2326, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 2327 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2327, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2328 ] }, { "id": 2328, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2329, 2597 ] }, { "id": 2329, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2330 ] }, { "id": 2330, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 50, "columnNumber": 47 }, "hitCount": 1, "children": [ 2576 ], "positionTicks": [ { "line": 52, "ticks": 1 } ] }, { "id": 2576, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 12, "columnNumber": 39 }, "hitCount": 0, "children": [ 2577 ] }, { "id": 2577, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 8, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 9, "ticks": 1 } ] }, { "id": 2597, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 2420, "callFrame": { "functionName": "replaceModuleByPath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 552, "columnNumber": 29 }, "hitCount": 0, "children": [ 2421 ], "deoptReason": "Inlining bailed out" }, { "id": 2421, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 2422 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2422, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 1, "children": [ 2423 ], "positionTicks": [ { "line": 24, "ticks": 1 } ] }, { "id": 2423, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2424 ] }, { "id": 2424, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 2567 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 2567, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 2568 ] }, { "id": 2568, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2569 ] }, { "id": 2569, "callFrame": { "functionName": "RegExp: E.*E", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2598, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2599 ] }, { "id": 2599, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2600 ] }, { "id": 2600, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2601 ] }, { "id": 2601, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 2331, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 2332 ] }, { "id": 2332, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 1, "children": [ 2333, 2338, 2364, 2365, 2405 ], "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 2333, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 2334 ] }, { "id": 2334, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 1, "children": [ 2335 ], "positionTicks": [ { "line": 1107, "ticks": 1 } ] }, { "id": 2335, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 1, "children": [ 2336, 2341 ], "positionTicks": [ { "line": 709, "ticks": 1 } ] }, { "id": 2336, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2337 ] }, { "id": 2337, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 2341, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2342 ] }, { "id": 2342, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 2343 ] }, { "id": 2343, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 2344, 2561 ] }, { "id": 2344, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2345 ] }, { "id": 2345, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 2346, 2352, 2390, 2582 ] }, { "id": 2346, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 1, "children": [ 2347 ], "positionTicks": [ { "line": 823, "ticks": 1 } ] }, { "id": 2347, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 2352, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 2353 ] }, { "id": 2353, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 2354 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 2354, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 2355 ] }, { "id": 2355, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 2356 ] }, { "id": 2356, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 2357, 2429 ] }, { "id": 2357, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 927, "columnNumber": 33 }, "hitCount": 0 }, { "id": 2429, "callFrame": { "functionName": "RegExp: ^((?:<|>)?=?)\\s*[v=\\s]*([0-9]+|x|X|\\*)(?:\\.([0-9]+|x|X|\\*)(?:\\.([0-9]+|x|X|\\*)(?:(?:-?((?:[0-9]+|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:[0-9]+|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*)))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)?)?$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2390, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 2391 ] }, { "id": 2391, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2392 ] }, { "id": 2392, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 863, "columnNumber": 46 }, "hitCount": 0, "children": [ 2393 ] }, { "id": 2393, "callFrame": { "functionName": "replaceCaret", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 868, "columnNumber": 21 }, "hitCount": 0, "children": [ 2394 ] }, { "id": 2394, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 2395 ] }, { "id": 2395, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 871, "columnNumber": 33 }, "hitCount": 0 }, { "id": 2582, "callFrame": { "functionName": "parseComparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2583 ] }, { "id": 2583, "callFrame": { "functionName": "replaceStars", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2584 ] }, { "id": 2584, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2585 ] }, { "id": 2585, "callFrame": { "functionName": "RegExp: (<|>)?=?\\s*\\*", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2561, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2562 ] }, { "id": 2562, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 2338, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 2339, 2573, 2586 ] }, { "id": 2339, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 2340 ] }, { "id": 2340, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 401, "ticks": 1 } ] }, { "id": 2573, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2574 ] }, { "id": 2574, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 37, "ticks": 1 } ] }, { "id": 2586, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2364, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 2365, "callFrame": { "functionName": "Result", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 80, "columnNumber": 16 }, "hitCount": 0, "children": [ 2366 ] }, { "id": 2366, "callFrame": { "functionName": "Result.setName", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 102, "columnNumber": 36 }, "hitCount": 0, "children": [ 2367 ] }, { "id": 2367, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 2368 ] }, { "id": 2368, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2369 ] }, { "id": 2369, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 2370 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 2370, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 1, "positionTicks": [ { "line": 55, "ticks": 1 } ] }, { "id": 2405, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 2406 ] }, { "id": 2406, "callFrame": { "functionName": "done", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 20, "ticks": 1 } ] }, { "id": 2554, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 1, "children": [ 2555 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 2555, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 2556 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2556, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2557 ] }, { "id": 2557, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2558 ] }, { "id": 2558, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2559 ] }, { "id": 2559, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 2560 ] }, { "id": 2560, "callFrame": { "functionName": "addSchema", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 2606, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 77, "columnNumber": 51 }, "hitCount": 0, "children": [ 2607, 2676 ] }, { "id": 2607, "callFrame": { "functionName": "module.exports", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 29, "columnNumber": 54 }, "hitCount": 0, "children": [ 2608, 2627, 2632 ] }, { "id": 2608, "callFrame": { "functionName": "exports.validateAllPeerDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 632, "columnNumber": 39 }, "hitCount": 0, "children": [ 2609 ] }, { "id": 2609, "callFrame": { "functionName": "validateAllPeerDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 636, "columnNumber": 29 }, "hitCount": 0, "children": [ 2610, 2617 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2610, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2611 ] }, { "id": 2611, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2612 ] }, { "id": 2612, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2613 ] }, { "id": 2613, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 50, "columnNumber": 47 }, "hitCount": 0, "children": [ 2614 ] }, { "id": 2614, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 12, "columnNumber": 39 }, "hitCount": 0, "children": [ 2615 ] }, { "id": 2615, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 8, "columnNumber": 38 }, "hitCount": 0, "children": [ 2616 ] }, { "id": 2616, "callFrame": { "functionName": "isArguments", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 2, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 5, "ticks": 1 } ] }, { "id": 2617, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2618 ] }, { "id": 2618, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2619 ] }, { "id": 2619, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 641, "columnNumber": 33 }, "hitCount": 0, "children": [ 2620 ] }, { "id": 2620, "callFrame": { "functionName": "validateAllPeerDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 636, "columnNumber": 29 }, "hitCount": 0, "children": [ 2621, 2622 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2621, "callFrame": { "functionName": "exports.validatePeerDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 623, "columnNumber": 59 }, "hitCount": 1, "positionTicks": [ { "line": 624, "ticks": 1 } ] }, { "id": 2622, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 1, "children": [ 2623 ], "positionTicks": [ { "line": 794, "ticks": 1 } ] }, { "id": 2623, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2624 ] }, { "id": 2624, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 641, "columnNumber": 33 }, "hitCount": 0, "children": [ 2625 ] }, { "id": 2625, "callFrame": { "functionName": "validateAllPeerDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 636, "columnNumber": 29 }, "hitCount": 0, "children": [ 2626 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2626, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 24, "ticks": 1 } ] }, { "id": 2627, "callFrame": { "functionName": "flattenTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 8, "columnNumber": 21 }, "hitCount": 1, "children": [ 2628 ], "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 2628, "callFrame": { "functionName": "flatName", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 30, "columnNumber": 18 }, "hitCount": 0, "children": [ 2629 ], "deoptReason": "Bad value context for arguments value" }, { "id": 2629, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 2630 ] }, { "id": 2630, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2631 ] }, { "id": 2631, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 2632, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2633 ] }, { "id": 2633, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2634 ] }, { "id": 2634, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 0, "children": [ 2635, 2637, 2651 ] }, { "id": 2635, "callFrame": { "functionName": "isDisconnectedCycle", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 15, "columnNumber": 29 }, "hitCount": 2, "children": [ 2636 ], "positionTicks": [ { "line": 18, "ticks": 1 }, { "line": 23, "ticks": 1 } ] }, { "id": 2636, "callFrame": { "functionName": "every", "scriptId": "6", "url": "native array.js", "lineNumber": 825, "columnNumber": 19 }, "hitCount": 3, "children": [ 2655 ], "positionTicks": [ { "line": 826, "ticks": 3 } ] }, { "id": 2655, "callFrame": { "functionName": "InnerArrayEvery", "scriptId": "6", "url": "native array.js", "lineNumber": 815, "columnNumber": 24 }, "hitCount": 0, "children": [ 2656 ] }, { "id": 2656, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 23, "columnNumber": 42 }, "hitCount": 0, "children": [ 2657 ] }, { "id": 2657, "callFrame": { "functionName": "isDisconnectedCycle", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 15, "columnNumber": 29 }, "hitCount": 0, "children": [ 2658 ] }, { "id": 2658, "callFrame": { "functionName": "every", "scriptId": "6", "url": "native array.js", "lineNumber": 825, "columnNumber": 19 }, "hitCount": 0, "children": [ 2659 ] }, { "id": 2659, "callFrame": { "functionName": "InnerArrayEvery", "scriptId": "6", "url": "native array.js", "lineNumber": 815, "columnNumber": 24 }, "hitCount": 0, "children": [ 2660 ] }, { "id": 2660, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 23, "columnNumber": 42 }, "hitCount": 0, "children": [ 2661 ] }, { "id": 2661, "callFrame": { "functionName": "isDisconnectedCycle", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 15, "columnNumber": 29 }, "hitCount": 0, "children": [ 2662 ] }, { "id": 2662, "callFrame": { "functionName": "every", "scriptId": "6", "url": "native array.js", "lineNumber": 825, "columnNumber": 19 }, "hitCount": 0, "children": [ 2663 ] }, { "id": 2663, "callFrame": { "functionName": "InnerArrayEvery", "scriptId": "6", "url": "native array.js", "lineNumber": 815, "columnNumber": 24 }, "hitCount": 0, "children": [ 2664 ] }, { "id": 2664, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 23, "columnNumber": 42 }, "hitCount": 0, "children": [ 2665, 2675 ] }, { "id": 2665, "callFrame": { "functionName": "isDisconnectedCycle", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 15, "columnNumber": 29 }, "hitCount": 0, "children": [ 2666 ] }, { "id": 2666, "callFrame": { "functionName": "every", "scriptId": "6", "url": "native array.js", "lineNumber": 825, "columnNumber": 19 }, "hitCount": 0, "children": [ 2667 ] }, { "id": 2667, "callFrame": { "functionName": "InnerArrayEvery", "scriptId": "6", "url": "native array.js", "lineNumber": 815, "columnNumber": 24 }, "hitCount": 0, "children": [ 2668 ] }, { "id": 2668, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 23, "columnNumber": 42 }, "hitCount": 0, "children": [ 2669 ] }, { "id": 2669, "callFrame": { "functionName": "isDisconnectedCycle", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 15, "columnNumber": 29 }, "hitCount": 1, "children": [ 2670 ], "positionTicks": [ { "line": 16, "ticks": 1 } ] }, { "id": 2670, "callFrame": { "functionName": "every", "scriptId": "6", "url": "native array.js", "lineNumber": 825, "columnNumber": 19 }, "hitCount": 0, "children": [ 2671 ] }, { "id": 2671, "callFrame": { "functionName": "InnerArrayEvery", "scriptId": "6", "url": "native array.js", "lineNumber": 815, "columnNumber": 24 }, "hitCount": 0, "children": [ 2672 ] }, { "id": 2672, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 23, "columnNumber": 42 }, "hitCount": 0, "children": [ 2673 ] }, { "id": 2673, "callFrame": { "functionName": "isDisconnectedCycle", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 15, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 2675, "callFrame": { "functionName": "create", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2637, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2638 ] }, { "id": 2638, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 2639 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 2639, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 59, "columnNumber": 37 }, "hitCount": 0, "children": [ 2640 ] }, { "id": 2640, "callFrame": { "functionName": "", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 713, "columnNumber": 17 }, "hitCount": 0, "children": [ 2641 ] }, { "id": 2641, "callFrame": { "functionName": "apply", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 52, "columnNumber": 14 }, "hitCount": 1, "children": [ 2642 ], "positionTicks": [ { "line": 60, "ticks": 1 } ] }, { "id": 2642, "callFrame": { "functionName": "", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 904, "columnNumber": 29 }, "hitCount": 0, "children": [ 2643, 2645 ] }, { "id": 2643, "callFrame": { "functionName": "baseFlatten", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 664, "columnNumber": 20 }, "hitCount": 1, "children": [ 2644, 2674 ], "positionTicks": [ { "line": 674, "ticks": 1 } ] }, { "id": 2644, "callFrame": { "functionName": "isArrayLikeObject", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 1047, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 1050, "ticks": 1 } ] }, { "id": 2674, "callFrame": { "functionName": "arrayPush", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 105, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 114, "ticks": 1 } ] }, { "id": 2645, "callFrame": { "functionName": "baseUniq", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 741, "columnNumber": 17 }, "hitCount": 0, "children": [ 2646 ] }, { "id": 2646, "callFrame": { "functionName": "createSet", "scriptId": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "lineNumber": 800, "columnNumber": 91 }, "hitCount": 0, "children": [ 2647 ] }, { "id": 2647, "callFrame": { "functionName": "SetConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 2648 ] }, { "id": 2648, "callFrame": { "functionName": "add", "scriptId": "10", "url": "native collection.js", "lineNumber": 110, "columnNumber": 15 }, "hitCount": 0, "children": [ 2649 ] }, { "id": 2649, "callFrame": { "functionName": "GetHash", "scriptId": "10", "url": "native collection.js", "lineNumber": 85, "columnNumber": 16 }, "hitCount": 0, "children": [ 2650 ] }, { "id": 2650, "callFrame": { "functionName": "GetExistingHash", "scriptId": "10", "url": "native collection.js", "lineNumber": 69, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 70, "ticks": 1 } ] }, { "id": 2651, "callFrame": { "functionName": "", "scriptId": "576", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.without/index.js", "lineNumber": 726, "columnNumber": 17 }, "hitCount": 0, "children": [ 2652 ] }, { "id": 2652, "callFrame": { "functionName": "apply", "scriptId": "576", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.without/index.js", "lineNumber": 50, "columnNumber": 14 }, "hitCount": 0, "children": [ 2653 ] }, { "id": 2653, "callFrame": { "functionName": "", "scriptId": "576", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.without/index.js", "lineNumber": 837, "columnNumber": 31 }, "hitCount": 1, "children": [ 2654 ], "positionTicks": [ { "line": 838, "ticks": 1 } ] }, { "id": 2654, "callFrame": { "functionName": "baseDifference", "scriptId": "576", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.without/index.js", "lineNumber": 655, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 685, "ticks": 1 } ] }, { "id": 2676, "callFrame": { "functionName": "outdated_", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 196, "columnNumber": 19 }, "hitCount": 0, "children": [ 2677, 2680 ] }, { "id": 2677, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2678 ] }, { "id": 2678, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2679 ] }, { "id": 2679, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 266, "columnNumber": 54 }, "hitCount": 1, "positionTicks": [ { "line": 269, "ticks": 1 } ] }, { "id": 2680, "callFrame": { "functionName": "asyncMap", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 2681 ] }, { "id": 2681, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2682 ] }, { "id": 2682, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 2683 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 2683, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 50, "columnNumber": 24 }, "hitCount": 0, "children": [ 2684 ] }, { "id": 2684, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2685 ] }, { "id": 2685, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2686 ] }, { "id": 2686, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 51, "columnNumber": 27 }, "hitCount": 0, "children": [ 2687 ] }, { "id": 2687, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 288, "columnNumber": 26 }, "hitCount": 0, "children": [ 2688 ] }, { "id": 2688, "callFrame": { "functionName": "shouldUpdate", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 301, "columnNumber": 22 }, "hitCount": 0, "children": [ 2689, 3423 ] }, { "id": 2689, "callFrame": { "functionName": "mapToRegistry", "scriptId": "629", "url": "/usr/local/lib/node_modules/npm/lib/utils/map-to-registry.js", "lineNumber": 7, "columnNumber": 23 }, "hitCount": 0, "children": [ 2690, 2691, 2696, 2705, 3427 ] }, { "id": 2690, "callFrame": { "functionName": "ConfigChain.get", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 139, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 147, "ticks": 1 } ] }, { "id": 2691, "callFrame": { "functionName": "getCredentialsByURI", "scriptId": "174", "url": "/usr/local/lib/node_modules/npm/lib/config/get-credentials-by-uri.js", "lineNumber": 6, "columnNumber": 29 }, "hitCount": 0, "children": [ 2692 ] }, { "id": 2692, "callFrame": { "functionName": "toNerfDart", "scriptId": "175", "url": "/usr/local/lib/node_modules/npm/lib/config/nerf-dart.js", "lineNumber": 13, "columnNumber": 20 }, "hitCount": 0, "children": [ 2693 ] }, { "id": 2693, "callFrame": { "functionName": "urlResolve", "scriptId": "146", "url": "url.js", "lineNumber": 650, "columnNumber": 19 }, "hitCount": 0, "children": [ 2694, 3432 ] }, { "id": 2694, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 2695 ] }, { "id": 2695, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 222, "ticks": 1 } ] }, { "id": 3432, "callFrame": { "functionName": "resolve", "scriptId": "146", "url": "url.js", "lineNumber": 654, "columnNumber": 40 }, "hitCount": 0, "children": [ 3433 ] }, { "id": 3433, "callFrame": { "functionName": "resolveObject", "scriptId": "146", "url": "url.js", "lineNumber": 663, "columnNumber": 52 }, "hitCount": 0, "children": [ 3434 ] }, { "id": 3434, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 572, "ticks": 1 } ] }, { "id": 2696, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 274, "columnNumber": 25 }, "hitCount": 0, "children": [ 2697 ] }, { "id": 2697, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 169, "columnNumber": 19 }, "hitCount": 0, "children": [ 2698 ] }, { "id": 2698, "callFrame": { "functionName": "exports.format", "scriptId": "24", "url": "util.js", "lineNumber": 63, "columnNumber": 25 }, "hitCount": 0, "children": [ 2699 ] }, { "id": 2699, "callFrame": { "functionName": "inspect", "scriptId": "24", "url": "util.js", "lineNumber": 174, "columnNumber": 16 }, "hitCount": 0, "children": [ 2700 ] }, { "id": 2700, "callFrame": { "functionName": "formatValue", "scriptId": "24", "url": "util.js", "lineNumber": 284, "columnNumber": 20 }, "hitCount": 0, "children": [ 2701 ] }, { "id": 2701, "callFrame": { "functionName": "formatObject", "scriptId": "24", "url": "util.js", "lineNumber": 639, "columnNumber": 21 }, "hitCount": 0, "children": [ 2702 ] }, { "id": 2702, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2703 ] }, { "id": 2703, "callFrame": { "functionName": "", "scriptId": "24", "url": "util.js", "lineNumber": 640, "columnNumber": 26 }, "hitCount": 0, "children": [ 2704 ] }, { "id": 2704, "callFrame": { "functionName": "formatProperty", "scriptId": "24", "url": "util.js", "lineNumber": 767, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 771, "ticks": 1 } ] }, { "id": 2705, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 337, "columnNumber": 42 }, "hitCount": 1, "children": [ 2706, 3401 ], "positionTicks": [ { "line": 341, "ticks": 1 } ] }, { "id": 2706, "callFrame": { "functionName": "get", "scriptId": "193", "url": "/usr/local/lib/node_modules/npm/node_modules/lazy-property/lazyProperty.js", "lineNumber": 4, "columnNumber": 17 }, "hitCount": 0, "children": [ 2707 ] }, { "id": 2707, "callFrame": { "functionName": "", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 344, "columnNumber": 47 }, "hitCount": 0, "children": [ 2708, 2865 ] }, { "id": 2708, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2709 ] }, { "id": 2709, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2710 ] }, { "id": 2710, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2711 ] }, { "id": 2711, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2712 ] }, { "id": 2712, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2713 ] }, { "id": 2713, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2714 ] }, { "id": 2714, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2715 ] }, { "id": 2715, "callFrame": { "functionName": "", "scriptId": "631", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2716 ] }, { "id": 2716, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2717 ] }, { "id": 2717, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2718 ] }, { "id": 2718, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2719 ] }, { "id": 2719, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2720 ] }, { "id": 2720, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2721 ] }, { "id": 2721, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2722 ] }, { "id": 2722, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2723, 2725 ] }, { "id": 2723, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2724 ] }, { "id": 2724, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2725, "callFrame": { "functionName": "", "scriptId": "632", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/log.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2726, 2853, 2862 ] }, { "id": 2726, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2727 ] }, { "id": 2727, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2728 ] }, { "id": 2728, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2729 ] }, { "id": 2729, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2730 ] }, { "id": 2730, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2731 ] }, { "id": 2731, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2732, 2851 ] }, { "id": 2732, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2733, 2761 ] }, { "id": 2733, "callFrame": { "functionName": "", "scriptId": "633", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2734 ] }, { "id": 2734, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2735 ] }, { "id": 2735, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2736 ] }, { "id": 2736, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2737 ] }, { "id": 2737, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2738 ] }, { "id": 2738, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2739 ] }, { "id": 2739, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2740 ] }, { "id": 2740, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2741, 2743 ] }, { "id": 2741, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2742 ] }, { "id": 2742, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2743, "callFrame": { "functionName": "", "scriptId": "634", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2744 ] }, { "id": 2744, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2745 ] }, { "id": 2745, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2746 ] }, { "id": 2746, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2747 ] }, { "id": 2747, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2748 ] }, { "id": 2748, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2749 ] }, { "id": 2749, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2750 ] }, { "id": 2750, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2751 ] }, { "id": 2751, "callFrame": { "functionName": "", "scriptId": "637", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2752 ] }, { "id": 2752, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2753 ] }, { "id": 2753, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2754 ] }, { "id": 2754, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2755 ] }, { "id": 2755, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2756 ] }, { "id": 2756, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2757 ] }, { "id": 2757, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2758 ] }, { "id": 2758, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2759 ] }, { "id": 2759, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2760 ] }, { "id": 2760, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2761, "callFrame": { "functionName": "", "scriptId": "639", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2762 ] }, { "id": 2762, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2763 ] }, { "id": 2763, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2764 ] }, { "id": 2764, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2765 ] }, { "id": 2765, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2766 ] }, { "id": 2766, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2767 ] }, { "id": 2767, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2768 ] }, { "id": 2768, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2769, 2817, 2827 ] }, { "id": 2769, "callFrame": { "functionName": "", "scriptId": "640", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/plumbing.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2770 ] }, { "id": 2770, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2771 ] }, { "id": 2771, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 1, "children": [ 2772 ], "positionTicks": [ { "line": 513, "ticks": 1 } ] }, { "id": 2772, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2773 ] }, { "id": 2773, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2774 ] }, { "id": 2774, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2775 ] }, { "id": 2775, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2776 ] }, { "id": 2776, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2777 ] }, { "id": 2777, "callFrame": { "functionName": "", "scriptId": "642", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2778 ] }, { "id": 2778, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2779 ] }, { "id": 2779, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2780 ] }, { "id": 2780, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2781 ] }, { "id": 2781, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2782 ] }, { "id": 2782, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2783 ] }, { "id": 2783, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2784, 2815 ] }, { "id": 2784, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2785 ] }, { "id": 2785, "callFrame": { "functionName": "", "scriptId": "643", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2786 ] }, { "id": 2786, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2787 ] }, { "id": 2787, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2788 ] }, { "id": 2788, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2789, 2795 ] }, { "id": 2789, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2790 ] }, { "id": 2790, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2791 ] }, { "id": 2791, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 2792 ] }, { "id": 2792, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 0, "children": [ 2793 ] }, { "id": 2793, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 2794 ] }, { "id": 2794, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 2795, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2796 ] }, { "id": 2796, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2797 ] }, { "id": 2797, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2798 ] }, { "id": 2798, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2799 ] }, { "id": 2799, "callFrame": { "functionName": "", "scriptId": "644", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2800 ] }, { "id": 2800, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2801 ] }, { "id": 2801, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2802 ] }, { "id": 2802, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2803 ] }, { "id": 2803, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2804 ] }, { "id": 2804, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2805 ] }, { "id": 2805, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2806 ] }, { "id": 2806, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2807 ] }, { "id": 2807, "callFrame": { "functionName": "", "scriptId": "647", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2808 ] }, { "id": 2808, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2809 ] }, { "id": 2809, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2810 ] }, { "id": 2810, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2811 ] }, { "id": 2811, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2812 ] }, { "id": 2812, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2813 ] }, { "id": 2813, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 2814 ] }, { "id": 2814, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 2815, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 2816 ] }, { "id": 2816, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 651, "ticks": 1 } ] }, { "id": 2817, "callFrame": { "functionName": "", "scriptId": "656", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2818 ] }, { "id": 2818, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2819 ] }, { "id": 2819, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2820 ] }, { "id": 2820, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2821 ] }, { "id": 2821, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2822 ] }, { "id": 2822, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2823 ] }, { "id": 2823, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2824 ] }, { "id": 2824, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2825 ] }, { "id": 2825, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2826 ] }, { "id": 2826, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2827, "callFrame": { "functionName": "", "scriptId": "658", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/themes.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2828 ] }, { "id": 2828, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2829 ] }, { "id": 2829, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2830 ] }, { "id": 2830, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2831 ] }, { "id": 2831, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2832 ] }, { "id": 2832, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2833 ] }, { "id": 2833, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2834 ] }, { "id": 2834, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2835 ] }, { "id": 2835, "callFrame": { "functionName": "", "scriptId": "659", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/theme-set.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2836 ] }, { "id": 2836, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2837 ] }, { "id": 2837, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2838 ] }, { "id": 2838, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2839 ] }, { "id": 2839, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2840 ] }, { "id": 2840, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2841 ] }, { "id": 2841, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2842 ] }, { "id": 2842, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2843 ] }, { "id": 2843, "callFrame": { "functionName": "", "scriptId": "660", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/base-theme.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2844 ] }, { "id": 2844, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2845 ] }, { "id": 2845, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2846 ] }, { "id": 2846, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2847 ] }, { "id": 2847, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2848 ] }, { "id": 2848, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2849 ] }, { "id": 2849, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2850 ] }, { "id": 2850, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 526, "ticks": 1 } ] }, { "id": 2851, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 2852 ] }, { "id": 2852, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 651, "ticks": 1 } ] }, { "id": 2853, "callFrame": { "functionName": "Gauge", "scriptId": "639", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 18, "columnNumber": 15 }, "hitCount": 0, "children": [ 2854 ] }, { "id": 2854, "callFrame": { "functionName": "module.exports", "scriptId": "656", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js", "lineNumber": 21, "columnNumber": 26 }, "hitCount": 0, "children": [ 2855 ] }, { "id": 2855, "callFrame": { "functionName": "load", "scriptId": "656", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js", "lineNumber": 98, "columnNumber": 14 }, "hitCount": 0, "children": [ 2856, 2861 ] }, { "id": 2856, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 2857 ] }, { "id": 2857, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 2858 ] }, { "id": 2858, "callFrame": { "functionName": "", "scriptId": "656", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js", "lineNumber": 110, "columnNumber": 36 }, "hitCount": 0, "children": [ 2859 ] }, { "id": 2859, "callFrame": { "functionName": "addListener", "scriptId": "23", "url": "events.js", "lineNumber": 296, "columnNumber": 57 }, "hitCount": 0, "children": [ 2860 ] }, { "id": 2860, "callFrame": { "functionName": "_addListener", "scriptId": "23", "url": "events.js", "lineNumber": 231, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 265, "ticks": 1 } ] }, { "id": 2861, "callFrame": { "functionName": "load", "scriptId": "656", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js", "lineNumber": 98, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 121, "ticks": 1 } ] }, { "id": 2862, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2863 ] }, { "id": 2863, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2864 ] }, { "id": 2864, "callFrame": { "functionName": "", "scriptId": "632", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/log.js", "lineNumber": 120, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 122, "ticks": 1 } ] }, { "id": 2865, "callFrame": { "functionName": "RegClient", "scriptId": "631", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/index.js", "lineNumber": 22, "columnNumber": 19 }, "hitCount": 0, "children": [ 2866 ] }, { "id": 2866, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2867 ] }, { "id": 2867, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2868 ] }, { "id": 2868, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2869, 2874 ] }, { "id": 2869, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2870 ] }, { "id": 2870, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2871 ] }, { "id": 2871, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2872, 2877 ] }, { "id": 2872, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 2873 ] }, { "id": 2873, "callFrame": { "functionName": "tryStatSync", "scriptId": "45", "url": "fs.js", "lineNumber": 514, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 515, "ticks": 1 } ] }, { "id": 2877, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2878, 3364, 3366 ] }, { "id": 2878, "callFrame": { "functionName": "", "scriptId": "680", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/fetch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2879 ] }, { "id": 2879, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2880 ] }, { "id": 2880, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2881 ] }, { "id": 2881, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2882, 2890 ] }, { "id": 2882, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2883 ] }, { "id": 2883, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2884 ] }, { "id": 2884, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 2885 ] }, { "id": 2885, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 2886 ] }, { "id": 2886, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 2887 ] }, { "id": 2887, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 0, "children": [ 2888 ] }, { "id": 2888, "callFrame": { "functionName": "get", "scriptId": "10", "url": "native collection.js", "lineNumber": 233, "columnNumber": 15 }, "hitCount": 0, "children": [ 2889 ] }, { "id": 2889, "callFrame": { "functionName": "GetExistingHash", "scriptId": "10", "url": "native collection.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 234, "ticks": 1 } ] }, { "id": 2890, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2891 ] }, { "id": 2891, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2892 ] }, { "id": 2892, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2893 ] }, { "id": 2893, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2894 ] }, { "id": 2894, "callFrame": { "functionName": "", "scriptId": "681", "url": "/usr/local/lib/node_modules/npm/node_modules/request/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2895 ] }, { "id": 2895, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2896 ] }, { "id": 2896, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2897 ] }, { "id": 2897, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2898 ] }, { "id": 2898, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2899 ] }, { "id": 2899, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2900 ] }, { "id": 2900, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2901 ] }, { "id": 2901, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2902, 2937, 2945, 2947 ] }, { "id": 2902, "callFrame": { "functionName": "", "scriptId": "683", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/cookies.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2903 ] }, { "id": 2903, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2904 ] }, { "id": 2904, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2905 ] }, { "id": 2905, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2906, 2911 ] }, { "id": 2906, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2907 ] }, { "id": 2907, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2908 ] }, { "id": 2908, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 2909 ] }, { "id": 2909, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 2910 ] }, { "id": 2910, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 136, "ticks": 1 } ] }, { "id": 2911, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2912 ] }, { "id": 2912, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2913 ] }, { "id": 2913, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2914 ] }, { "id": 2914, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2915, 2917 ] }, { "id": 2915, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2916 ] }, { "id": 2916, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2917, "callFrame": { "functionName": "", "scriptId": "684", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/lib/cookie.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 2918 ], "positionTicks": [ { "line": 54, "ticks": 1 } ] }, { "id": 2918, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2919 ] }, { "id": 2919, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2920 ] }, { "id": 2920, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2921, 2934 ] }, { "id": 2921, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2922 ] }, { "id": 2922, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2923 ] }, { "id": 2923, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2924 ] }, { "id": 2924, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2925, 2927 ] }, { "id": 2925, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2926 ] }, { "id": 2926, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 4, "positionTicks": [ { "line": 116, "ticks": 4 } ] }, { "id": 2927, "callFrame": { "functionName": "", "scriptId": "685", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 3, "children": [ 2928 ], "positionTicks": [ { "line": 100, "ticks": 3 } ] }, { "id": 2928, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2929 ] }, { "id": 2929, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2930 ] }, { "id": 2930, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2931 ] }, { "id": 2931, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 2932 ] }, { "id": 2932, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 2933 ] }, { "id": 2933, "callFrame": { "functionName": "", "scriptId": "686", "url": "punycode.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 431, "ticks": 1 } ] }, { "id": 2934, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2935 ] }, { "id": 2935, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2936 ] }, { "id": 2936, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 144, "ticks": 1 } ] }, { "id": 2937, "callFrame": { "functionName": "", "scriptId": "691", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/helpers.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2938 ] }, { "id": 2938, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2939 ] }, { "id": 2939, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2940 ] }, { "id": 2940, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2941 ] }, { "id": 2941, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2942 ] }, { "id": 2942, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2943 ] }, { "id": 2943, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 2944 ] }, { "id": 2944, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 2945, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2946 ] }, { "id": 2946, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 116, "ticks": 2 } ] }, { "id": 2947, "callFrame": { "functionName": "", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2948 ] }, { "id": 2948, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2949 ] }, { "id": 2949, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2950 ] }, { "id": 2950, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2951, 2964, 3016, 3241 ] }, { "id": 2951, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 2952 ] }, { "id": 2952, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 2953, 2954 ] }, { "id": 2953, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 2954, "callFrame": { "functionName": "", "scriptId": "695", "url": "https.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2955, 2961 ] }, { "id": 2955, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 2956 ] }, { "id": 2956, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 2957 ] }, { "id": 2957, "callFrame": { "functionName": "", "scriptId": "696", "url": "tls.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2958 ] }, { "id": 2958, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 2959 ] }, { "id": 2959, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 2960 ] }, { "id": 2960, "callFrame": { "functionName": "", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 329, "ticks": 1 } ] }, { "id": 2961, "callFrame": { "functionName": "Agent", "scriptId": "695", "url": "https.js", "lineNumber": 121, "columnNumber": 14 }, "hitCount": 0, "children": [ 2962 ] }, { "id": 2962, "callFrame": { "functionName": "Agent", "scriptId": "148", "url": "_http_agent.js", "lineNumber": 42, "columnNumber": 14 }, "hitCount": 0, "children": [ 2963 ] }, { "id": 2963, "callFrame": { "functionName": "Agent", "scriptId": "695", "url": "https.js", "lineNumber": 121, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 133, "ticks": 1 } ] }, { "id": 2964, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2965 ] }, { "id": 2965, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2966 ] }, { "id": 2966, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2967, 3361 ] }, { "id": 2967, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2968, 3014, 3020, 3205, 3224, 3243, 3261, 3343, 3351, 3363 ] }, { "id": 2968, "callFrame": { "functionName": "", "scriptId": "701", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2969 ] }, { "id": 2969, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2970 ] }, { "id": 2970, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2971 ] }, { "id": 2971, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2972, 2986 ] }, { "id": 2972, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2973 ] }, { "id": 2973, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2974 ] }, { "id": 2974, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2975 ] }, { "id": 2975, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2976, 2989, 3004 ] }, { "id": 2976, "callFrame": { "functionName": "", "scriptId": "702", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2977 ] }, { "id": 2977, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2978 ] }, { "id": 2978, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2979 ] }, { "id": 2979, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2980 ] }, { "id": 2980, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2981 ] }, { "id": 2981, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2982 ] }, { "id": 2982, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2983 ] }, { "id": 2983, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2984 ] }, { "id": 2984, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 2985 ] }, { "id": 2985, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2989, "callFrame": { "functionName": "", "scriptId": "705", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2990 ] }, { "id": 2990, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2991 ] }, { "id": 2991, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 2992 ] }, { "id": 2992, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 2993 ] }, { "id": 2993, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 2994 ] }, { "id": 2994, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 2995 ] }, { "id": 2995, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 2996 ] }, { "id": 2996, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 2997 ] }, { "id": 2997, "callFrame": { "functionName": "", "scriptId": "706", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 2998 ] }, { "id": 2998, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 2999 ] }, { "id": 2999, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3000 ] }, { "id": 3000, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3001 ] }, { "id": 3001, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 3002 ] }, { "id": 3002, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 3003 ] }, { "id": 3003, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 3004, "callFrame": { "functionName": "", "scriptId": "708", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/server.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3005 ] }, { "id": 3005, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3006 ] }, { "id": 3006, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3007 ] }, { "id": 3007, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3008 ] }, { "id": 3008, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3009 ] }, { "id": 3009, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3010 ] }, { "id": 3010, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3011 ] }, { "id": 3011, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3012 ] }, { "id": 3012, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3013 ] }, { "id": 3013, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 2986, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2987 ] }, { "id": 2987, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2988 ] }, { "id": 2988, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 3014, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3015, 3350 ] }, { "id": 3015, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 4, "positionTicks": [ { "line": 116, "ticks": 4 } ] }, { "id": 3350, "callFrame": { "functionName": "Script.runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 3020, "callFrame": { "functionName": "", "scriptId": "716", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3021 ] }, { "id": 3021, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3022 ] }, { "id": 3022, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3023 ] }, { "id": 3023, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3024 ] }, { "id": 3024, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3025 ] }, { "id": 3025, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3026 ] }, { "id": 3026, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3027 ] }, { "id": 3027, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3028, 3176, 3178 ] }, { "id": 3028, "callFrame": { "functionName": "", "scriptId": "717", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/parser.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3029 ] }, { "id": 3029, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3030 ] }, { "id": 3030, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3031 ] }, { "id": 3031, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3032 ] }, { "id": 3032, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3033 ] }, { "id": 3033, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3034 ] }, { "id": 3034, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3035 ] }, { "id": 3035, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3036, 3037 ] }, { "id": 3036, "callFrame": { "functionName": "", "scriptId": "718", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 208, "ticks": 1 } ] }, { "id": 3037, "callFrame": { "functionName": "", "scriptId": "719", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/utils.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3038 ] }, { "id": 3038, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3039 ] }, { "id": 3039, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3040 ] }, { "id": 3040, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3041 ] }, { "id": 3041, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3042 ] }, { "id": 3042, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3043 ] }, { "id": 3043, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3044 ] }, { "id": 3044, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3045 ] }, { "id": 3045, "callFrame": { "functionName": "", "scriptId": "720", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3046 ] }, { "id": 3046, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3047 ] }, { "id": 3047, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3048 ] }, { "id": 3048, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3049 ] }, { "id": 3049, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3050 ] }, { "id": 3050, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3051 ] }, { "id": 3051, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3052 ] }, { "id": 3052, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3053, 3055 ] }, { "id": 3053, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3054 ] }, { "id": 3054, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3055, "callFrame": { "functionName": "", "scriptId": "721", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/key.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3056 ] }, { "id": 3056, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3057 ] }, { "id": 3057, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3058 ] }, { "id": 3058, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3059, 3174 ] }, { "id": 3059, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3060 ] }, { "id": 3060, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3061 ] }, { "id": 3061, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3062 ] }, { "id": 3062, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3063, 3064 ] }, { "id": 3063, "callFrame": { "functionName": "", "scriptId": "723", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/algs.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 149, "ticks": 1 } ] }, { "id": 3064, "callFrame": { "functionName": "", "scriptId": "724", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/fingerprint.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3065 ] }, { "id": 3065, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3066 ] }, { "id": 3066, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3067 ] }, { "id": 3067, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3068 ] }, { "id": 3068, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3069 ] }, { "id": 3069, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3070 ] }, { "id": 3070, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3071 ] }, { "id": 3071, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3072, 3074 ] }, { "id": 3072, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3073 ] }, { "id": 3073, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3074, "callFrame": { "functionName": "", "scriptId": "726", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/certificate.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3075 ] }, { "id": 3075, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3076 ] }, { "id": 3076, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3077 ] }, { "id": 3077, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3078 ] }, { "id": 3078, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3079 ] }, { "id": 3079, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3080 ] }, { "id": 3080, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3081 ] }, { "id": 3081, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3082, 3172 ] }, { "id": 3082, "callFrame": { "functionName": "", "scriptId": "727", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/signature.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3083 ] }, { "id": 3083, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3084 ] }, { "id": 3084, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3085 ] }, { "id": 3085, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3086 ] }, { "id": 3086, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3087 ] }, { "id": 3087, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3088 ] }, { "id": 3088, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3089 ] }, { "id": 3089, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3090 ] }, { "id": 3090, "callFrame": { "functionName": "", "scriptId": "728", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/utils.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3091 ] }, { "id": 3091, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3092 ] }, { "id": 3092, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3093 ] }, { "id": 3093, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3094 ] }, { "id": 3094, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3095 ] }, { "id": 3095, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3096 ] }, { "id": 3096, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3097 ] }, { "id": 3097, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3098 ] }, { "id": 3098, "callFrame": { "functionName": "", "scriptId": "729", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/private-key.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3099 ] }, { "id": 3099, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3100 ] }, { "id": 3100, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3101 ] }, { "id": 3101, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3102, 3108 ] }, { "id": 3102, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3103 ] }, { "id": 3103, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3104 ] }, { "id": 3104, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 3105 ] }, { "id": 3105, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 3106 ] }, { "id": 3106, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 3107 ] }, { "id": 3107, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1659, "ticks": 1 } ] }, { "id": 3108, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3109 ] }, { "id": 3109, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3110 ] }, { "id": 3110, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3111 ] }, { "id": 3111, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3112 ] }, { "id": 3112, "callFrame": { "functionName": "", "scriptId": "732", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/auto.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3113 ] }, { "id": 3113, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3114 ] }, { "id": 3114, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3115 ] }, { "id": 3115, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3116 ] }, { "id": 3116, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3117 ] }, { "id": 3117, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3118 ] }, { "id": 3118, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3119 ] }, { "id": 3119, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3120 ] }, { "id": 3120, "callFrame": { "functionName": "", "scriptId": "733", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pem.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3121 ] }, { "id": 3121, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3122 ] }, { "id": 3122, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3123 ] }, { "id": 3123, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3124, 3130 ] }, { "id": 3124, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3125 ] }, { "id": 3125, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3126 ] }, { "id": 3126, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 3127 ] }, { "id": 3127, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 3128 ] }, { "id": 3128, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 3129 ] }, { "id": 3129, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1659, "ticks": 1 } ] }, { "id": 3130, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3131 ] }, { "id": 3131, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3132 ] }, { "id": 3132, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3133 ] }, { "id": 3133, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3134, 3152, 3162 ] }, { "id": 3134, "callFrame": { "functionName": "", "scriptId": "734", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3135 ] }, { "id": 3135, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3136 ] }, { "id": 3136, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3137 ] }, { "id": 3137, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3138 ] }, { "id": 3138, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3139 ] }, { "id": 3139, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3140 ] }, { "id": 3140, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3141 ] }, { "id": 3141, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3142 ] }, { "id": 3142, "callFrame": { "functionName": "", "scriptId": "735", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3143 ] }, { "id": 3143, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3144 ] }, { "id": 3144, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3145 ] }, { "id": 3145, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3146 ] }, { "id": 3146, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3147 ] }, { "id": 3147, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3148 ] }, { "id": 3148, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 3149 ] }, { "id": 3149, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 3150 ] }, { "id": 3150, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 3151 ] }, { "id": 3151, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1642, "ticks": 1 } ] }, { "id": 3152, "callFrame": { "functionName": "", "scriptId": "740", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pkcs1.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3153 ] }, { "id": 3153, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3154 ] }, { "id": 3154, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3155 ] }, { "id": 3155, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3156 ] }, { "id": 3156, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3157 ] }, { "id": 3157, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3158 ] }, { "id": 3158, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3159 ] }, { "id": 3159, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3160 ] }, { "id": 3160, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3161 ] }, { "id": 3161, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3162, "callFrame": { "functionName": "", "scriptId": "742", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/ssh-private.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3163 ] }, { "id": 3163, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3164 ] }, { "id": 3164, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3165 ] }, { "id": 3165, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3166 ] }, { "id": 3166, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3167 ] }, { "id": 3167, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3168 ] }, { "id": 3168, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3169 ] }, { "id": 3169, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3170 ] }, { "id": 3170, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3171 ] }, { "id": 3171, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3172, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3173 ] }, { "id": 3173, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3174, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3175 ] }, { "id": 3175, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 168, "ticks": 1 } ] }, { "id": 3176, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3177 ] }, { "id": 3177, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 116, "ticks": 2 } ] }, { "id": 3178, "callFrame": { "functionName": "", "scriptId": "750", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/signer.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3179 ] }, { "id": 3179, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3180 ] }, { "id": 3180, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3181 ] }, { "id": 3181, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3182 ] }, { "id": 3182, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3183 ] }, { "id": 3183, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3184 ] }, { "id": 3184, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3185 ] }, { "id": 3185, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3186, 3188 ] }, { "id": 3186, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3187 ] }, { "id": 3187, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3188, "callFrame": { "functionName": "", "scriptId": "751", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/lib/jsprim.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3189 ] }, { "id": 3189, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3190 ] }, { "id": 3190, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3191 ] }, { "id": 3191, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3192, 3202 ] }, { "id": 3192, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3193 ] }, { "id": 3193, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3194 ] }, { "id": 3194, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3195 ] }, { "id": 3195, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3196, 3198 ] }, { "id": 3196, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3197 ] }, { "id": 3197, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3198, "callFrame": { "functionName": "", "scriptId": "752", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/assert-plus/assert.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3199 ] }, { "id": 3199, "callFrame": { "functionName": "_setExports", "scriptId": "752", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/assert-plus/assert.js", "lineNumber": 97, "columnNumber": 20 }, "hitCount": 0, "children": [ 3200 ] }, { "id": 3200, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3201 ] }, { "id": 3201, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 3202, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3203 ] }, { "id": 3203, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 3204 ] }, { "id": 3204, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 3205, "callFrame": { "functionName": "", "scriptId": "757", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3206, 3220 ] }, { "id": 3206, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3207 ] }, { "id": 3207, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3208 ] }, { "id": 3208, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3209 ] }, { "id": 3209, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3210 ] }, { "id": 3210, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3211 ] }, { "id": 3211, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3212 ] }, { "id": 3212, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3213 ] }, { "id": 3213, "callFrame": { "functionName": "", "scriptId": "758", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3214 ] }, { "id": 3214, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3215 ] }, { "id": 3215, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3216 ] }, { "id": 3216, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3217 ] }, { "id": 3217, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3218 ] }, { "id": 3218, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3219 ] }, { "id": 3219, "callFrame": { "functionName": "Module._extensions..json", "scriptId": "42", "url": "module.js", "lineNumber": 584, "columnNumber": 38 }, "hitCount": 2, "positionTicks": [ { "line": 588, "ticks": 2 } ] }, { "id": 3220, "callFrame": { "functionName": "populateMaps", "scriptId": "757", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/index.js", "lineNumber": 153, "columnNumber": 22 }, "hitCount": 0, "children": [ 3221 ] }, { "id": 3221, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3222 ] }, { "id": 3222, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3223 ] }, { "id": 3223, "callFrame": { "functionName": "forEachMimeType", "scriptId": "757", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/index.js", "lineNumber": 157, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 158, "ticks": 1 } ] }, { "id": 3224, "callFrame": { "functionName": "", "scriptId": "762", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/form-data/lib/form_data.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3225 ] }, { "id": 3225, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3226 ] }, { "id": 3226, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3227 ] }, { "id": 3227, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3228 ] }, { "id": 3228, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3229 ] }, { "id": 3229, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3230 ] }, { "id": 3230, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3231 ] }, { "id": 3231, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3232 ] }, { "id": 3232, "callFrame": { "functionName": "", "scriptId": "763", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream/lib/combined_stream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3233 ] }, { "id": 3233, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3234 ] }, { "id": 3234, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3235 ] }, { "id": 3235, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3236 ] }, { "id": 3236, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3237 ] }, { "id": 3237, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3238 ] }, { "id": 3238, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3239 ] }, { "id": 3239, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3240 ] }, { "id": 3240, "callFrame": { "functionName": "", "scriptId": "764", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 41, "ticks": 1 } ] }, { "id": 3243, "callFrame": { "functionName": "", "scriptId": "779", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/querystring.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3244 ] }, { "id": 3244, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3245 ] }, { "id": 3245, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3246 ] }, { "id": 3246, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3247 ] }, { "id": 3247, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3248 ] }, { "id": 3248, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3249 ] }, { "id": 3249, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3250 ] }, { "id": 3250, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3251 ] }, { "id": 3251, "callFrame": { "functionName": "", "scriptId": "780", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/qs/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3252 ] }, { "id": 3252, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3253 ] }, { "id": 3253, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3254 ] }, { "id": 3254, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3255 ] }, { "id": 3255, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3256 ] }, { "id": 3256, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3257 ] }, { "id": 3257, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3258 ] }, { "id": 3258, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3259 ] }, { "id": 3259, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3260 ] }, { "id": 3260, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3261, "callFrame": { "functionName": "", "scriptId": "785", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/har.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3262 ] }, { "id": 3262, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3263 ] }, { "id": 3263, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3264 ] }, { "id": 3264, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3265 ] }, { "id": 3265, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3266 ] }, { "id": 3266, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3267 ] }, { "id": 3267, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3268 ] }, { "id": 3268, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3269 ] }, { "id": 3269, "callFrame": { "functionName": "", "scriptId": "786", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/lib/node4/promise.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3270 ] }, { "id": 3270, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3271 ] }, { "id": 3271, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3272 ] }, { "id": 3272, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3273 ] }, { "id": 3273, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3274 ] }, { "id": 3274, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3275 ] }, { "id": 3275, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3276, 3340 ] }, { "id": 3276, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3277, 3283 ] }, { "id": 3277, "callFrame": { "functionName": "", "scriptId": "787", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/har-schema/lib/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3278 ] }, { "id": 3278, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3279 ] }, { "id": 3279, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3280 ] }, { "id": 3280, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3281 ] }, { "id": 3281, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3282 ] }, { "id": 3282, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 3283, "callFrame": { "functionName": "", "scriptId": "788", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/ajv.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3284 ] }, { "id": 3284, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 1, "children": [ 3285 ], "positionTicks": [ { "line": 8, "ticks": 1 } ] }, { "id": 3285, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3286 ] }, { "id": 3286, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3287 ] }, { "id": 3287, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3288 ] }, { "id": 3288, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3289 ] }, { "id": 3289, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3290 ] }, { "id": 3290, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3291, 3293, 3321 ] }, { "id": 3291, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3292 ] }, { "id": 3292, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3293, "callFrame": { "functionName": "", "scriptId": "789", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/compile/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3294 ] }, { "id": 3294, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3295 ] }, { "id": 3295, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3296 ] }, { "id": 3296, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3297 ] }, { "id": 3297, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3298 ] }, { "id": 3298, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3299, 3320 ] }, { "id": 3299, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3300 ] }, { "id": 3300, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3301, 3318 ] }, { "id": 3301, "callFrame": { "functionName": "", "scriptId": "790", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/compile/resolve.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3302 ] }, { "id": 3302, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3303 ] }, { "id": 3303, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3304 ] }, { "id": 3304, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3305 ] }, { "id": 3305, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3306 ] }, { "id": 3306, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3307 ] }, { "id": 3307, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3308 ] }, { "id": 3308, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3309 ] }, { "id": 3309, "callFrame": { "functionName": "", "scriptId": "792", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/compile/util.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3310 ] }, { "id": 3310, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3311 ] }, { "id": 3311, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3312 ] }, { "id": 3312, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3313 ] }, { "id": 3313, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3314 ] }, { "id": 3314, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3315 ] }, { "id": 3315, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3316 ] }, { "id": 3316, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 3317 ] }, { "id": 3317, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 651, "ticks": 1 } ] }, { "id": 3318, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3319 ] }, { "id": 3319, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3320, "callFrame": { "functionName": "Module._nodeModulePaths", "scriptId": "42", "url": "module.js", "lineNumber": 287, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 313, "ticks": 1 } ] }, { "id": 3321, "callFrame": { "functionName": "", "scriptId": "802", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/compile/rules.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3322 ] }, { "id": 3322, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3323 ] }, { "id": 3323, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3324 ] }, { "id": 3324, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3325 ] }, { "id": 3325, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3326 ] }, { "id": 3326, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3327 ] }, { "id": 3327, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3328 ] }, { "id": 3328, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3329 ] }, { "id": 3329, "callFrame": { "functionName": "", "scriptId": "803", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/compile/_rules.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3330 ] }, { "id": 3330, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3331 ] }, { "id": 3331, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3332 ] }, { "id": 3332, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3333 ] }, { "id": 3333, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3334 ] }, { "id": 3334, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3335 ] }, { "id": 3335, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3336 ] }, { "id": 3336, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3337 ] }, { "id": 3337, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3338 ] }, { "id": 3338, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 3, "children": [ 3339 ], "positionTicks": [ { "line": 116, "ticks": 3 } ] }, { "id": 3339, "callFrame": { "functionName": "ContextifyScript", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3340, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 3341 ] }, { "id": 3341, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 0, "children": [ 3342 ] }, { "id": 3342, "callFrame": { "functionName": "getPathFromURL", "scriptId": "38", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 650, "ticks": 1 } ] }, { "id": 3343, "callFrame": { "functionName": "", "scriptId": "827", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/oauth.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3344 ] }, { "id": 3344, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3345 ] }, { "id": 3345, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3346 ] }, { "id": 3346, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3347 ] }, { "id": 3347, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3348 ] }, { "id": 3348, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 3349 ] }, { "id": 3349, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 3351, "callFrame": { "functionName": "", "scriptId": "831", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/tunnel.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3352 ] }, { "id": 3352, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3353 ] }, { "id": 3353, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3354 ] }, { "id": 3354, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3355 ] }, { "id": 3355, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3356 ] }, { "id": 3356, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3357 ] }, { "id": 3357, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3358 ] }, { "id": 3358, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3359 ] }, { "id": 3359, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3360 ] }, { "id": 3360, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3363, "callFrame": { "functionName": "makeRequireFunction", "scriptId": "43", "url": "internal/module.js", "lineNumber": 4, "columnNumber": 28 }, "hitCount": 1, "positionTicks": [ { "line": 5, "ticks": 1 } ] }, { "id": 3361, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 3362 ] }, { "id": 3362, "callFrame": { "functionName": "getOptions", "scriptId": "45", "url": "fs.js", "lineNumber": 63, "columnNumber": 19 }, "hitCount": 0 }, { "id": 3016, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3017 ] }, { "id": 3017, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3018 ] }, { "id": 3018, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 3019 ] }, { "id": 3019, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 3241, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3242 ] }, { "id": 3242, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 3364, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3365 ] }, { "id": 3365, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 116, "ticks": 2 } ] }, { "id": 3366, "callFrame": { "functionName": "", "scriptId": "839", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/publish.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3367 ] }, { "id": 3367, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3368 ] }, { "id": 3368, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3369 ] }, { "id": 3369, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3370 ] }, { "id": 3370, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3371 ] }, { "id": 3371, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3372 ] }, { "id": 3372, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3373 ] }, { "id": 3373, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3374, 3376 ] }, { "id": 3374, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3375 ] }, { "id": 3375, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3376, "callFrame": { "functionName": "", "scriptId": "840", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3377 ] }, { "id": 3377, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3378 ] }, { "id": 3378, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3379 ] }, { "id": 3379, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3380 ] }, { "id": 3380, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3381 ] }, { "id": 3381, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3382 ] }, { "id": 3382, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3383 ] }, { "id": 3383, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3384 ] }, { "id": 3384, "callFrame": { "functionName": "", "scriptId": "841", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/readable.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3385 ] }, { "id": 3385, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3386 ] }, { "id": 3386, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3387 ] }, { "id": 3387, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3388 ] }, { "id": 3388, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3389 ] }, { "id": 3389, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3390, 3394 ] }, { "id": 3390, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3391 ] }, { "id": 3391, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3392, 3395 ] }, { "id": 3392, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3393 ] }, { "id": 3393, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 116, "ticks": 2 } ] }, { "id": 3395, "callFrame": { "functionName": "", "scriptId": "848", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3396 ] }, { "id": 3396, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3397 ] }, { "id": 3397, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3398 ] }, { "id": 3398, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3399 ] }, { "id": 3399, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3400 ] }, { "id": 3400, "callFrame": { "functionName": "CompareICStub", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3394, "callFrame": { "functionName": "Module._nodeModulePaths", "scriptId": "42", "url": "module.js", "lineNumber": 287, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 288, "ticks": 1 } ] }, { "id": 2874, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 2875 ] }, { "id": 2875, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 2876 ] }, { "id": 2876, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 3401, "callFrame": { "functionName": "get", "scriptId": "834", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js", "lineNumber": 9, "columnNumber": 13 }, "hitCount": 0, "children": [ 3402 ] }, { "id": 3402, "callFrame": { "functionName": "regRequest", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 16, "columnNumber": 20 }, "hitCount": 0, "children": [ 3403 ] }, { "id": 3403, "callFrame": { "functionName": "attempt", "scriptId": "669", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/attempt.js", "lineNumber": 4, "columnNumber": 17 }, "hitCount": 1, "children": [ 3404, 3410 ], "positionTicks": [ { "line": 20, "ticks": 1 } ] }, { "id": 3404, "callFrame": { "functionName": "exports.operation", "scriptId": "671", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry/lib/retry.js", "lineNumber": 2, "columnNumber": 28 }, "hitCount": 0, "children": [ 3405 ] }, { "id": 3405, "callFrame": { "functionName": "exports.timeouts", "scriptId": "671", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry/lib/retry.js", "lineNumber": 10, "columnNumber": 27 }, "hitCount": 0, "children": [ 3406 ] }, { "id": 3406, "callFrame": { "functionName": "sort", "scriptId": "6", "url": "native array.js", "lineNumber": 748, "columnNumber": 18 }, "hitCount": 0, "children": [ 3407 ] }, { "id": 3407, "callFrame": { "functionName": "InnerArraySort", "scriptId": "6", "url": "native array.js", "lineNumber": 529, "columnNumber": 23 }, "hitCount": 0, "children": [ 3408 ] }, { "id": 3408, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 3409 ] }, { "id": 3409, "callFrame": { "functionName": "InsertionSort", "scriptId": "6", "url": "native array.js", "lineNumber": 542, "columnNumber": 22 }, "hitCount": 0 }, { "id": 3410, "callFrame": { "functionName": "RetryOperation.attempt", "scriptId": "672", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry/lib/retry_operation.js", "lineNumber": 77, "columnNumber": 43 }, "hitCount": 0, "children": [ 3411 ] }, { "id": 3411, "callFrame": { "functionName": "", "scriptId": "669", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/attempt.js", "lineNumber": 10, "columnNumber": 29 }, "hitCount": 0, "children": [ 3412, 3418 ] }, { "id": 3412, "callFrame": { "functionName": "toLocaleTimeString", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1305, "columnNumber": 43 }, "hitCount": 0, "children": [ 3413 ] }, { "id": 3413, "callFrame": { "functionName": "toLocaleDateTime", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1280, "columnNumber": 25 }, "hitCount": 0, "children": [ 3414 ] }, { "id": 3414, "callFrame": { "functionName": "cachedOrNewService", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1201, "columnNumber": 27 }, "hitCount": 0, "children": [ 3415 ] }, { "id": 3415, "callFrame": { "functionName": "DateTimeFormatConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3416 ] }, { "id": 3416, "callFrame": { "functionName": "IntlConstruct", "scriptId": "19", "url": "native i18n.js", "lineNumber": 64, "columnNumber": 22 }, "hitCount": 0, "children": [ 3417 ] }, { "id": 3417, "callFrame": { "functionName": "CreateDateTimeFormat", "scriptId": "19", "url": "native i18n.js", "lineNumber": 956, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 957, "ticks": 1 } ] }, { "id": 3418, "callFrame": { "functionName": "", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 66, "columnNumber": 24 }, "hitCount": 0, "children": [ 3419 ] }, { "id": 3419, "callFrame": { "functionName": "makeRequest", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 95, "columnNumber": 21 }, "hitCount": 0, "children": [ 3420 ] }, { "id": 3420, "callFrame": { "functionName": "request", "scriptId": "681", "url": "/usr/local/lib/node_modules/npm/node_modules/request/index.js", "lineNumber": 42, "columnNumber": 17 }, "hitCount": 0, "children": [ 3421 ] }, { "id": 3421, "callFrame": { "functionName": "Request", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 95, "columnNumber": 17 }, "hitCount": 2, "children": [ 3422 ], "positionTicks": [ { "line": 130, "ticks": 1 }, { "line": 116, "ticks": 1 } ] }, { "id": 3422, "callFrame": { "functionName": "Request.init", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 143, "columnNumber": 34 }, "hitCount": 1, "children": [ 3437 ], "positionTicks": [ { "line": 307, "ticks": 1 } ] }, { "id": 3437, "callFrame": { "functionName": "module.exports.httpify", "scriptId": "760", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/caseless/index.js", "lineNumber": 49, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 62, "ticks": 1 } ] }, { "id": 3427, "callFrame": { "functionName": "npa", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 17, "columnNumber": 13 }, "hitCount": 0, "children": [ 3428 ] }, { "id": 3428, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 3429 ] }, { "id": 3429, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 3430 ] }, { "id": 3430, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 3431 ] }, { "id": 3431, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 728, "ticks": 1 } ] }, { "id": 3423, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 3424 ] }, { "id": 3424, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 3425, 3435 ] }, { "id": 3425, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3426 ] }, { "id": 3426, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 0 }, { "id": 3435, "callFrame": { "functionName": "fixupUnqualifiedGist", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 79, "columnNumber": 30 }, "hitCount": 0, "children": [ 3436 ] }, { "id": 3436, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 2, "positionTicks": [ { "line": 96, "ticks": 2 } ] }, { "id": 3821, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 3822 ] }, { "id": 3822, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 629, "columnNumber": 51 }, "hitCount": 0, "children": [ 3823 ] }, { "id": 3823, "callFrame": { "functionName": "readShrinkwrap", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 15, "columnNumber": 24 }, "hitCount": 0, "children": [ 3824 ] }, { "id": 3824, "callFrame": { "functionName": "maybeReadFile", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 43, "columnNumber": 23 }, "hitCount": 0, "children": [ 3825, 3830 ] }, { "id": 3825, "callFrame": { "functionName": "ret", "scriptId": "319", "url": "", "lineNumber": 3, "columnNumber": 27 }, "hitCount": 1, "children": [ 3826 ], "positionTicks": [ { "line": 9, "ticks": 1 } ] }, { "id": 3826, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 3827 ] }, { "id": 3827, "callFrame": { "functionName": "readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 65, "columnNumber": 20 }, "hitCount": 0, "children": [ 3828 ] }, { "id": 3828, "callFrame": { "functionName": "go$readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 71, "columnNumber": 25 }, "hitCount": 0, "children": [ 3829 ] }, { "id": 3829, "callFrame": { "functionName": "fs.readFile", "scriptId": "45", "url": "fs.js", "lineNumber": 334, "columnNumber": 22 }, "hitCount": 0 }, { "id": 3830, "callFrame": { "functionName": "Promise.caught.Promise.catch", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 87, "columnNumber": 65 }, "hitCount": 0, "children": [ 3831 ] }, { "id": 3831, "callFrame": { "functionName": "Promise.then", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 113, "columnNumber": 34 }, "hitCount": 0, "children": [ 3832 ] }, { "id": 3832, "callFrame": { "functionName": "Promise._then", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 218, "columnNumber": 35 }, "hitCount": 0, "children": [ 3833 ] }, { "id": 3833, "callFrame": { "functionName": "Promise._addCallbacks", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 380, "columnNumber": 43 }, "hitCount": 0, "children": [ 3834 ] }, { "id": 3834, "callFrame": { "functionName": "Promise._setLength", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 287, "columnNumber": 40 }, "hitCount": 1, "positionTicks": [ { "line": 290, "ticks": 1 } ] }, { "id": 1754, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 1, "children": [ 1755 ], "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 1755, "callFrame": { "functionName": "RES", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 17, "columnNumber": 27 }, "hitCount": 7, "children": [ 1756 ], "positionTicks": [ { "line": 18, "ticks": 2 }, { "line": 21, "ticks": 2 }, { "line": 38, "ticks": 3 } ] }, { "id": 1756, "callFrame": { "functionName": "lstatcb_", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 729, "columnNumber": 20 }, "hitCount": 1, "children": [ 1757 ], "positionTicks": [ { "line": 730, "ticks": 1 } ] }, { "id": 1757, "callFrame": { "functionName": "Glob._stat2", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 745, "columnNumber": 33 }, "hitCount": 1, "children": [ 1758 ], "positionTicks": [ { "line": 730, "ticks": 1 } ] }, { "id": 1758, "callFrame": { "functionName": "", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 651, "columnNumber": 30 }, "hitCount": 1, "children": [ 1759 ], "positionTicks": [ { "line": 653, "ticks": 1 } ] }, { "id": 1759, "callFrame": { "functionName": "Glob._processSimple2", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 655, "columnNumber": 42 }, "hitCount": 2, "children": [ 1760, 1928 ], "positionTicks": [ { "line": 656, "ticks": 1 }, { "line": 664, "ticks": 1 } ] }, { "id": 1760, "callFrame": { "functionName": "done", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 168, "columnNumber": 16 }, "hitCount": 0, "children": [ 1761 ] }, { "id": 1761, "callFrame": { "functionName": "Glob._finish", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 175, "columnNumber": 34 }, "hitCount": 0, "children": [ 1762, 2098 ] }, { "id": 1762, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 1763 ] }, { "id": 1763, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 1764 ] }, { "id": 1764, "callFrame": { "functionName": "", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 144, "columnNumber": 28 }, "hitCount": 0, "children": [ 1765 ] }, { "id": 1765, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 1, "children": [ 1766, 2104 ], "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 1766, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 169, "columnNumber": 43 }, "hitCount": 0, "children": [ 1767 ] }, { "id": 1767, "callFrame": { "functionName": "serverjs_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 175, "columnNumber": 19 }, "hitCount": 0, "children": [ 1768 ] }, { "id": 1768, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 0, "children": [ 1769 ] }, { "id": 1769, "callFrame": { "functionName": "final", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 339, "columnNumber": 15 }, "hitCount": 0, "children": [ 1770 ] }, { "id": 1770, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 0, "children": [ 1771 ] }, { "id": 1771, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1772 ] }, { "id": 1772, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1773 ] }, { "id": 1773, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 0, "children": [ 1774, 1909, 3738 ] }, { "id": 1774, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 1775 ] }, { "id": 1775, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 0, "children": [ 1776 ] }, { "id": 1776, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 1777 ] }, { "id": 1777, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 0, "children": [ 1778 ], "deoptReason": "Bad value context for arguments value" }, { "id": 1778, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1779 ] }, { "id": 1779, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 539, "columnNumber": 16 }, "hitCount": 1, "children": [ 3803 ], "positionTicks": [ { "line": 541, "ticks": 1 } ] }, { "id": 3803, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 0, "children": [ 3804 ] }, { "id": 3804, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3805 ] }, { "id": 3805, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3806 ] }, { "id": 3806, "callFrame": { "functionName": "RegExp: ^(?:ICU)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1909, "callFrame": { "functionName": "fixPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 196, "columnNumber": 21 }, "hitCount": 0, "children": [ 1910 ] }, { "id": 1910, "callFrame": { "functionName": "modifyPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 339, "columnNumber": 22 }, "hitCount": 0, "children": [ 1911 ] }, { "id": 1911, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1912 ] }, { "id": 1912, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1913 ] }, { "id": 1913, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 341, "columnNumber": 52 }, "hitCount": 0, "children": [ 1914 ] }, { "id": 1914, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1915 ] }, { "id": 1915, "callFrame": { "functionName": "parsePerson", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 358, "columnNumber": 21 }, "hitCount": 1, "children": [ 2079 ], "positionTicks": [ { "line": 359, "ticks": 1 } ] }, { "id": 2079, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 2080 ] }, { "id": 2080, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2081 ] }, { "id": 2081, "callFrame": { "functionName": "RegExp: <([^>]+)>", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3738, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 3739 ] }, { "id": 3739, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 3740 ] }, { "id": 3740, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3741 ] }, { "id": 3741, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 0, "children": [ 3742 ] }, { "id": 3742, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2104, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 207, "columnNumber": 47 }, "hitCount": 1, "children": [ 3780, 3809 ], "positionTicks": [ { "line": 217, "ticks": 1 } ] }, { "id": 3780, "callFrame": { "functionName": "readme_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 235, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 238, "ticks": 1 } ] }, { "id": 3809, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 3810 ] }, { "id": 3810, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 99, "ticks": 1 } ] }, { "id": 2098, "callFrame": { "functionName": "finish", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 115, "columnNumber": 16 }, "hitCount": 2, "children": [ 2099 ], "positionTicks": [ { "line": 154, "ticks": 1 }, { "line": 133, "ticks": 1 } ] }, { "id": 2099, "callFrame": { "functionName": "Glob._mark", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 241, "columnNumber": 32 }, "hitCount": 0, "children": [ 2100 ] }, { "id": 2100, "callFrame": { "functionName": "mark", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 168, "columnNumber": 14 }, "hitCount": 0, "children": [ 2101 ] }, { "id": 2101, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 0, "children": [ 2102 ] }, { "id": 2102, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 2103 ] }, { "id": 2103, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 1928, "callFrame": { "functionName": "Glob._emitMatch", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 441, "columnNumber": 37 }, "hitCount": 0, "children": [ 1929, 1931, 3779 ] }, { "id": 1929, "callFrame": { "functionName": "Glob._mark", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 241, "columnNumber": 32 }, "hitCount": 0, "children": [ 1930 ] }, { "id": 1930, "callFrame": { "functionName": "mark", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 168, "columnNumber": 14 }, "hitCount": 3, "children": [ 2096 ], "positionTicks": [ { "line": 171, "ticks": 3 } ] }, { "id": 2096, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 0, "children": [ 2097 ] }, { "id": 2097, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 1157, "ticks": 1 } ] }, { "id": 1931, "callFrame": { "functionName": "Glob._makeAbs", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 245, "columnNumber": 35 }, "hitCount": 0, "children": [ 1932 ] }, { "id": 1932, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 0, "children": [ 1933 ] }, { "id": 1933, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 1, "children": [ 1934 ], "positionTicks": [ { "line": 1175, "ticks": 1 } ] }, { "id": 1934, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 104, "ticks": 1 } ] }, { "id": 3779, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 1, "positionTicks": [ { "line": 187, "ticks": 1 } ] }, { "id": 3872, "callFrame": { "functionName": "fs.stat", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 201, "columnNumber": 53 }, "hitCount": 0, "children": [ 3873 ] }, { "id": 3873, "callFrame": { "functionName": "limited", "scriptId": "323", "url": "/usr/local/lib/node_modules/npm/node_modules/call-limit/call-limit.js", "lineNumber": 8, "columnNumber": 26 }, "hitCount": 0, "children": [ 3874 ] }, { "id": 3874, "callFrame": { "functionName": "fetchPackageMetadata", "scriptId": "321", "url": "/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js", "lineNumber": 34, "columnNumber": 30 }, "hitCount": 0, "children": [ 3875, 3880, 4011 ] }, { "id": 3875, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 3876 ] }, { "id": 3876, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3877 ] }, { "id": 3877, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3878 ] }, { "id": 3878, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 3879 ] }, { "id": 3879, "callFrame": { "functionName": "addSchema", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 18, "columnNumber": 19 }, "hitCount": 0 }, { "id": 3880, "callFrame": { "functionName": "pacoteOpts", "scriptId": "591", "url": "/usr/local/lib/node_modules/npm/lib/config/pacote.js", "lineNumber": 16, "columnNumber": 20 }, "hitCount": 1, "children": [ 3881 ], "positionTicks": [ { "line": 90, "ticks": 1 } ] }, { "id": 3881, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3882 ] }, { "id": 3882, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3883 ] }, { "id": 3883, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3884 ] }, { "id": 3884, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3885 ] }, { "id": 3885, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3886 ] }, { "id": 3886, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3887 ] }, { "id": 3887, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3888 ] }, { "id": 3888, "callFrame": { "functionName": "", "scriptId": "859", "url": "/usr/local/lib/node_modules/npm/lib/pack.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3889, 3895 ] }, { "id": 3889, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 3890 ] }, { "id": 3890, "callFrame": { "functionName": "promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 262, "columnNumber": 18 }, "hitCount": 0, "children": [ 3891 ] }, { "id": 3891, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 1, "children": [ 3892 ], "positionTicks": [ { "line": 194, "ticks": 1 } ] }, { "id": 3892, "callFrame": { "functionName": "generateArgumentSwitchCase", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 134, "columnNumber": 39 }, "hitCount": 0, "children": [ 3893 ] }, { "id": 3893, "callFrame": { "functionName": "generateCallForArgumentCount", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 120, "columnNumber": 41 }, "hitCount": 0, "children": [ 3894 ] }, { "id": 3894, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0 }, { "id": 3895, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3896 ] }, { "id": 3896, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3897 ] }, { "id": 3897, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3898 ] }, { "id": 3898, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3899 ] }, { "id": 3899, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3900 ] }, { "id": 3900, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3901 ] }, { "id": 3901, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3902 ] }, { "id": 3902, "callFrame": { "functionName": "", "scriptId": "861", "url": "/usr/local/lib/node_modules/npm/lib/utils/tar.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3903 ] }, { "id": 3903, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3904 ] }, { "id": 3904, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3905 ] }, { "id": 3905, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3906, 3910 ] }, { "id": 3906, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3907 ] }, { "id": 3907, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3908 ] }, { "id": 3908, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 3909 ] }, { "id": 3909, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 92, "ticks": 1 } ] }, { "id": 3910, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3911 ] }, { "id": 3911, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3912 ] }, { "id": 3912, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3913 ] }, { "id": 3913, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3914, 3987, 3989 ] }, { "id": 3914, "callFrame": { "functionName": "", "scriptId": "862", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/tar.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3915 ] }, { "id": 3915, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3916 ] }, { "id": 3916, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3917 ] }, { "id": 3917, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3918 ] }, { "id": 3918, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3919 ] }, { "id": 3919, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3920 ] }, { "id": 3920, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3921 ] }, { "id": 3921, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3922, 3924, 3977 ] }, { "id": 3922, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3923 ] }, { "id": 3923, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3924, "callFrame": { "functionName": "", "scriptId": "863", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/pack.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3925 ] }, { "id": 3925, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3926 ] }, { "id": 3926, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3927 ] }, { "id": 3927, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3928 ] }, { "id": 3928, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3929 ] }, { "id": 3929, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3930 ] }, { "id": 3930, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3931 ] }, { "id": 3931, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3932, 3969 ] }, { "id": 3932, "callFrame": { "functionName": "", "scriptId": "864", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/entry-writer.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3933 ] }, { "id": 3933, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3934 ] }, { "id": 3934, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3935 ] }, { "id": 3935, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3936 ] }, { "id": 3936, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3937 ] }, { "id": 3937, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3938 ] }, { "id": 3938, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3939 ] }, { "id": 3939, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3940, 3942 ] }, { "id": 3940, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3941 ] }, { "id": 3941, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3942, "callFrame": { "functionName": "", "scriptId": "866", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/entry.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3943 ] }, { "id": 3943, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3944 ] }, { "id": 3944, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3945 ] }, { "id": 3945, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3946 ] }, { "id": 3946, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3947 ] }, { "id": 3947, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3948 ] }, { "id": 3948, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3949 ] }, { "id": 3949, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3950 ] }, { "id": 3950, "callFrame": { "functionName": "", "scriptId": "867", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream/fstream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3951 ] }, { "id": 3951, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3952 ] }, { "id": 3952, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3953 ] }, { "id": 3953, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3954, 3966 ] }, { "id": 3954, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3955 ] }, { "id": 3955, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3956 ] }, { "id": 3956, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3957 ] }, { "id": 3957, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3958, 3965 ] }, { "id": 3958, "callFrame": { "functionName": "", "scriptId": "869", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream/lib/reader.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3959 ] }, { "id": 3959, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3960 ] }, { "id": 3960, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3961 ] }, { "id": 3961, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3962 ] }, { "id": 3962, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3963 ] }, { "id": 3963, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3964 ] }, { "id": 3964, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 3965, "callFrame": { "functionName": "", "scriptId": "872", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 1, "ticks": 1 } ] }, { "id": 3966, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3967 ] }, { "id": 3967, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3968 ] }, { "id": 3968, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 142, "ticks": 1 } ] }, { "id": 3969, "callFrame": { "functionName": "", "scriptId": "882", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/global-header-writer.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3970 ] }, { "id": 3970, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3971 ] }, { "id": 3971, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3972 ] }, { "id": 3972, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3973 ] }, { "id": 3973, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 3974 ] }, { "id": 3974, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 3975 ] }, { "id": 3975, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 3976 ] }, { "id": 3976, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1634, "ticks": 1 } ] }, { "id": 3977, "callFrame": { "functionName": "", "scriptId": "884", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/parse.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3978 ] }, { "id": 3978, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3979 ] }, { "id": 3979, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3980 ] }, { "id": 3980, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3981 ] }, { "id": 3981, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3982 ] }, { "id": 3982, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3983 ] }, { "id": 3983, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3984 ] }, { "id": 3984, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3985 ] }, { "id": 3985, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3986 ] }, { "id": 3986, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3987, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 3988 ] }, { "id": 3988, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 3989, "callFrame": { "functionName": "", "scriptId": "888", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/fstream-npm.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3990 ] }, { "id": 3990, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3991 ] }, { "id": 3991, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 3992 ] }, { "id": 3992, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 3993 ] }, { "id": 3993, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 3994 ] }, { "id": 3994, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 3995 ] }, { "id": 3995, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 3996 ] }, { "id": 3996, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 3997 ] }, { "id": 3997, "callFrame": { "functionName": "", "scriptId": "889", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/ignore.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 3998 ] }, { "id": 3998, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 3999 ] }, { "id": 3999, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 4000 ] }, { "id": 4000, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 4001 ] }, { "id": 4001, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 4002 ] }, { "id": 4002, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 4003 ] }, { "id": 4003, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 4004 ] }, { "id": 4004, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 4005 ] }, { "id": 4005, "callFrame": { "functionName": "", "scriptId": "890", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/node_modules/minimatch/minimatch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 4006 ] }, { "id": 4006, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 4007 ] }, { "id": 4007, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 4008 ] }, { "id": 4008, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 4009 ] }, { "id": 4009, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 4010 ] }, { "id": 4010, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 501, "ticks": 1 } ] }, { "id": 4011, "callFrame": { "functionName": "manifest", "scriptId": "534", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/manifest.js", "lineNumber": 9, "columnNumber": 18 }, "hitCount": 0, "children": [ 4012 ] }, { "id": 4012, "callFrame": { "functionName": "inflight", "scriptId": "339", "url": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight/inflight.js", "lineNumber": 12, "columnNumber": 18 }, "hitCount": 0, "children": [ 4013 ] }, { "id": 4013, "callFrame": { "functionName": "Promise.all", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 187, "columnNumber": 23 }, "hitCount": 0, "children": [ 4014 ] }, { "id": 4014, "callFrame": { "functionName": "PromiseArray", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 14, "columnNumber": 21 }, "hitCount": 0, "children": [ 4015 ] }, { "id": 4015, "callFrame": { "functionName": "init", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 35, "columnNumber": 44 }, "hitCount": 0, "children": [ 4016 ] }, { "id": 4016, "callFrame": { "functionName": "PromiseArray._iterate", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 80, "columnNumber": 42 }, "hitCount": 1, "positionTicks": [ { "line": 114, "ticks": 1 } ] }, { "id": 2044, "callFrame": { "functionName": "statsFromValues", "scriptId": "45", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2045 ] }, { "id": 2045, "callFrame": { "functionName": "Stats", "scriptId": "45", "url": "fs.js", "lineNumber": 173, "columnNumber": 14 }, "hitCount": 4, "positionTicks": [ { "line": 204, "ticks": 3 }, { "line": 174, "ticks": 1 } ] }, { "id": 572, "callFrame": { "functionName": "readFileAfterClose", "scriptId": "45", "url": "fs.js", "lineNumber": 483, "columnNumber": 27 }, "hitCount": 0, "children": [ 573, 4277 ] }, { "id": 573, "callFrame": { "functionName": "tryToString", "scriptId": "45", "url": "fs.js", "lineNumber": 505, "columnNumber": 20 }, "hitCount": 0, "children": [ 574, 1705 ] }, { "id": 574, "callFrame": { "functionName": "", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 72, "columnNumber": 49 }, "hitCount": 4, "children": [ 575, 1545, 1581, 1935, 3694, 4152 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 73, "ticks": 1 }, { "line": 78, "ticks": 2 }, { "line": 79, "ticks": 1 } ] }, { "id": 575, "callFrame": { "functionName": "", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 317, "columnNumber": 37 }, "hitCount": 0, "children": [ 576 ] }, { "id": 576, "callFrame": { "functionName": "ConfigChain.addString", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 241, "columnNumber": 43 }, "hitCount": 0, "children": [ 577, 582 ] }, { "id": 577, "callFrame": { "functionName": "Conf.parse", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 327, "columnNumber": 32 }, "hitCount": 0, "children": [ 578 ] }, { "id": 578, "callFrame": { "functionName": "exports.parse", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 41, "columnNumber": 37 }, "hitCount": 0, "children": [ 579 ] }, { "id": 579, "callFrame": { "functionName": "decode", "scriptId": "145", "url": "/usr/local/lib/node_modules/npm/node_modules/ini/ini.js", "lineNumber": 68, "columnNumber": 16 }, "hitCount": 0, "children": [ 580 ] }, { "id": 580, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 581 ] }, { "id": 581, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 582, "callFrame": { "functionName": "Conf.add", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 331, "columnNumber": 30 }, "hitCount": 0, "children": [ 583 ] }, { "id": 583, "callFrame": { "functionName": "ConfigChain.add", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 247, "columnNumber": 37 }, "hitCount": 0, "children": [ 584 ] }, { "id": 584, "callFrame": { "functionName": "ConfigChain._resolve", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 278, "columnNumber": 42 }, "hitCount": 0, "children": [ 585 ] }, { "id": 585, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 586 ] }, { "id": 586, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 587 ] }, { "id": 587, "callFrame": { "functionName": "", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 94, "columnNumber": 25 }, "hitCount": 0, "children": [ 588 ] }, { "id": 588, "callFrame": { "functionName": "load_", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 100, "columnNumber": 15 }, "hitCount": 0, "children": [ 589 ] }, { "id": 589, "callFrame": { "functionName": "Conf.add", "scriptId": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "lineNumber": 331, "columnNumber": 30 }, "hitCount": 0, "children": [ 590 ] }, { "id": 590, "callFrame": { "functionName": "ConfigChain.add", "scriptId": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "lineNumber": 247, "columnNumber": 37 }, "hitCount": 0, "children": [ 591 ] }, { "id": 591, "callFrame": { "functionName": "nextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 231, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 247, "ticks": 1 } ] }, { "id": 1545, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 46, "columnNumber": 37 }, "hitCount": 0, "children": [ 1546 ] }, { "id": 1546, "callFrame": { "functionName": "parseJson", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 59, "columnNumber": 19 }, "hitCount": 3, "children": [ 1547, 1661 ], "positionTicks": [ { "line": 60, "ticks": 3 } ] }, { "id": 1547, "callFrame": { "functionName": "extras", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 99, "columnNumber": 16 }, "hitCount": 0, "children": [ 1548 ] }, { "id": 1548, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1549 ] }, { "id": 1549, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1550 ] }, { "id": 1550, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 115, "columnNumber": 23 }, "hitCount": 1, "children": [ 1551, 1559, 1567, 1658, 1665, 1685, 1708, 2071 ], "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1551, "callFrame": { "functionName": "gypfile", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 145, "columnNumber": 17 }, "hitCount": 0, "children": [ 1552 ] }, { "id": 1552, "callFrame": { "functionName": "glob", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 63, "columnNumber": 14 }, "hitCount": 0, "children": [ 1553 ] }, { "id": 1553, "callFrame": { "functionName": "Glob", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 114, "columnNumber": 14 }, "hitCount": 0, "children": [ 1554, 1557, 1694, 1703 ] }, { "id": 1554, "callFrame": { "functionName": "setopts", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 52, "columnNumber": 17 }, "hitCount": 2, "children": [ 1555 ], "positionTicks": [ { "line": 53, "ticks": 2 } ] }, { "id": 1555, "callFrame": { "functionName": "Minimatch", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 109, "columnNumber": 19 }, "hitCount": 2, "children": [ 1556 ], "positionTicks": [ { "line": 136, "ticks": 1 }, { "line": 120, "ticks": 1 } ] }, { "id": 1556, "callFrame": { "functionName": "make", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 141, "columnNumber": 14 }, "hitCount": 1, "children": [ 1691 ], "positionTicks": [ { "line": 163, "ticks": 1 } ] }, { "id": 1691, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1692, 3692 ] }, { "id": 1692, "callFrame": { "functionName": "", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 180, "columnNumber": 25 }, "hitCount": 1, "children": [ 1693 ], "positionTicks": [ { "line": 181, "ticks": 1 } ] }, { "id": 1693, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 3692, "callFrame": { "functionName": "", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 173, "columnNumber": 42 }, "hitCount": 1, "positionTicks": [ { "line": 175, "ticks": 1 } ] }, { "id": 1557, "callFrame": { "functionName": "Glob._process", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 285, "columnNumber": 35 }, "hitCount": 0, "children": [ 1558, 2073 ] }, { "id": 1558, "callFrame": { "functionName": "Glob._processReaddir", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 355, "columnNumber": 42 }, "hitCount": 2, "children": [ 1687, 2061 ], "positionTicks": [ { "line": 356, "ticks": 1 }, { "line": 357, "ticks": 1 } ] }, { "id": 1687, "callFrame": { "functionName": "Glob._readdir", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1688, 2077 ] }, { "id": 1688, "callFrame": { "functionName": "readdir", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 129, "columnNumber": 19 }, "hitCount": 0, "children": [ 1689 ] }, { "id": 1689, "callFrame": { "functionName": "go$readdir", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 154, "columnNumber": 22 }, "hitCount": 1, "children": [ 1690 ], "positionTicks": [ { "line": 156, "ticks": 1 } ] }, { "id": 1690, "callFrame": { "functionName": "fs.readdir", "scriptId": "45", "url": "fs.js", "lineNumber": 893, "columnNumber": 21 }, "hitCount": 3, "children": [ 3680 ], "positionTicks": [ { "line": 898, "ticks": 1 }, { "line": 902, "ticks": 1 }, { "line": 895, "ticks": 1 } ] }, { "id": 3680, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": 156, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 157, "ticks": 1 } ] }, { "id": 2077, "callFrame": { "functionName": "ownProp", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2078 ] }, { "id": 2078, "callFrame": { "functionName": "hasOwnProperty", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2061, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 0, "children": [ 2062 ] }, { "id": 2062, "callFrame": { "functionName": "inflight", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 6, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 7, "ticks": 1 } ] }, { "id": 2073, "callFrame": { "functionName": "Glob._makeAbs", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 245, "columnNumber": 35 }, "hitCount": 0, "children": [ 2074 ] }, { "id": 2074, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 0, "children": [ 2075 ] }, { "id": 2075, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 2076 ] }, { "id": 2076, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 2, "positionTicks": [ { "line": 148, "ticks": 1 }, { "line": 142, "ticks": 1 } ] }, { "id": 1694, "callFrame": { "functionName": "addListener", "scriptId": "23", "url": "events.js", "lineNumber": 296, "columnNumber": 57 }, "hitCount": 0, "children": [ 1695 ] }, { "id": 1695, "callFrame": { "functionName": "_addListener", "scriptId": "23", "url": "events.js", "lineNumber": 231, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 243, "ticks": 1 } ] }, { "id": 1703, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 19, "ticks": 1 } ] }, { "id": 1559, "callFrame": { "functionName": "readme", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 203, "columnNumber": 16 }, "hitCount": 2, "children": [ 1560 ], "positionTicks": [ { "line": 204, "ticks": 2 } ] }, { "id": 1560, "callFrame": { "functionName": "glob", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 63, "columnNumber": 14 }, "hitCount": 0, "children": [ 1561 ] }, { "id": 1561, "callFrame": { "functionName": "Glob", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 114, "columnNumber": 14 }, "hitCount": 1, "children": [ 1562, 2066 ], "positionTicks": [ { "line": 156, "ticks": 1 } ] }, { "id": 1562, "callFrame": { "functionName": "setopts", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 52, "columnNumber": 17 }, "hitCount": 1, "children": [ 1563 ], "positionTicks": [ { "line": 53, "ticks": 1 } ] }, { "id": 1563, "callFrame": { "functionName": "Minimatch", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 109, "columnNumber": 19 }, "hitCount": 0, "children": [ 1564 ] }, { "id": 1564, "callFrame": { "functionName": "make", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 141, "columnNumber": 14 }, "hitCount": 2, "children": [ 1565, 3799 ], "positionTicks": [ { "line": 163, "ticks": 1 }, { "line": 142, "ticks": 1 } ] }, { "id": 1565, "callFrame": { "functionName": "braceExpand", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 232, "columnNumber": 21 }, "hitCount": 0, "children": [ 1566, 3797 ] }, { "id": 1566, "callFrame": { "functionName": "expandTop", "scriptId": "217", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "lineNumber": 64, "columnNumber": 18 }, "hitCount": 1, "children": [ 1696, 2063 ], "positionTicks": [ { "line": 79, "ticks": 1 } ] }, { "id": 1696, "callFrame": { "functionName": "expand", "scriptId": "217", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "lineNumber": 99, "columnNumber": 15 }, "hitCount": 0, "children": [ 1697, 1707, 2060, 3681 ] }, { "id": 1697, "callFrame": { "functionName": "balanced", "scriptId": "219", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js", "lineNumber": 1, "columnNumber": 17 }, "hitCount": 1, "children": [ 1698 ], "positionTicks": [ { "line": 13, "ticks": 1 } ] }, { "id": 1698, "callFrame": { "functionName": "range", "scriptId": "219", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js", "lineNumber": 22, "columnNumber": 14 }, "hitCount": 3, "positionTicks": [ { "line": 23, "ticks": 3 } ] }, { "id": 1707, "callFrame": { "functionName": "module.exports", "scriptId": "218", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js", "lineNumber": 0, "columnNumber": 88 }, "hitCount": 1, "positionTicks": [ { "line": 1, "ticks": 1 } ] }, { "id": 2060, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3681, "callFrame": { "functionName": "parseCommaParts", "scriptId": "217", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "lineNumber": 37, "columnNumber": 24 }, "hitCount": 1, "children": [ 3682 ], "positionTicks": [ { "line": 38, "ticks": 1 } ] }, { "id": 3682, "callFrame": { "functionName": "balanced", "scriptId": "219", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js", "lineNumber": 1, "columnNumber": 17 }, "hitCount": 0, "children": [ 3683 ] }, { "id": 3683, "callFrame": { "functionName": "range", "scriptId": "219", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js", "lineNumber": 22, "columnNumber": 14 }, "hitCount": 0, "children": [ 3684 ] }, { "id": 3684, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2063, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 2064 ] }, { "id": 2064, "callFrame": { "functionName": "unescapeBraces", "scriptId": "217", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "lineNumber": 25, "columnNumber": 23 }, "hitCount": 0, "children": [ 2065 ] }, { "id": 2065, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3797, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3798 ] }, { "id": 3798, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3799, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3800 ] }, { "id": 3800, "callFrame": { "functionName": "", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 180, "columnNumber": 25 }, "hitCount": 0, "children": [ 3801 ] }, { "id": 3801, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3802 ] }, { "id": 3802, "callFrame": { "functionName": "parse", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 270, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 486, "ticks": 1 } ] }, { "id": 2066, "callFrame": { "functionName": "Glob._process", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 285, "columnNumber": 35 }, "hitCount": 0, "children": [ 2067, 3695 ] }, { "id": 2067, "callFrame": { "functionName": "Glob._makeAbs", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 245, "columnNumber": 35 }, "hitCount": 0, "children": [ 2068 ] }, { "id": 2068, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 0, "children": [ 2069 ] }, { "id": 2069, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 2070 ] }, { "id": 2070, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 3695, "callFrame": { "functionName": "Glob._processReaddir", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 355, "columnNumber": 42 }, "hitCount": 0, "children": [ 3696 ] }, { "id": 3696, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 0, "children": [ 3697 ] }, { "id": 3697, "callFrame": { "functionName": "inflight", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 6, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 7, "ticks": 1 } ] }, { "id": 1567, "callFrame": { "functionName": "githead", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 289, "columnNumber": 17 }, "hitCount": 1, "children": [ 1568 ], "positionTicks": [ { "line": 290, "ticks": 1 } ] }, { "id": 1568, "callFrame": { "functionName": "readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 65, "columnNumber": 20 }, "hitCount": 0, "children": [ 1569 ] }, { "id": 1569, "callFrame": { "functionName": "go$readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 71, "columnNumber": 25 }, "hitCount": 0, "children": [ 1570 ] }, { "id": 1570, "callFrame": { "functionName": "fs.readFile", "scriptId": "45", "url": "fs.js", "lineNumber": 334, "columnNumber": 22 }, "hitCount": 2, "children": [ 1571, 1675 ], "positionTicks": [ { "line": 360, "ticks": 2 } ] }, { "id": 1571, "callFrame": { "functionName": "isFd", "scriptId": "45", "url": "fs.js", "lineNumber": 168, "columnNumber": 13 }, "hitCount": 0, "children": [ 1572 ] }, { "id": 1572, "callFrame": { "functionName": "BinaryOpICStub(SHR:Generic*Smi->Smi)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1675, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": 156, "columnNumber": 18 }, "hitCount": 0, "children": [ 1676 ] }, { "id": 1676, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1658, "callFrame": { "functionName": "authors", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 183, "columnNumber": 17 }, "hitCount": 1, "children": [ 1659, 1662, 2056 ], "positionTicks": [ { "line": 185, "ticks": 1 } ] }, { "id": 1659, "callFrame": { "functionName": "dirname", "scriptId": "41", "url": "path.js", "lineNumber": 1343, "columnNumber": 27 }, "hitCount": 0, "children": [ 1660 ] }, { "id": 1660, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 41, "ticks": 1 } ] }, { "id": 1662, "callFrame": { "functionName": "readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 65, "columnNumber": 20 }, "hitCount": 1, "children": [ 1663 ], "positionTicks": [ { "line": 68, "ticks": 1 } ] }, { "id": 1663, "callFrame": { "functionName": "go$readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 71, "columnNumber": 25 }, "hitCount": 0, "children": [ 1664 ] }, { "id": 1664, "callFrame": { "functionName": "fs.readFile", "scriptId": "45", "url": "fs.js", "lineNumber": 334, "columnNumber": 22 }, "hitCount": 8, "children": [ 2058, 3698 ], "positionTicks": [ { "line": 360, "ticks": 6 }, { "line": 357, "ticks": 1 }, { "line": 335, "ticks": 1 } ] }, { "id": 2058, "callFrame": { "functionName": "isFd", "scriptId": "45", "url": "fs.js", "lineNumber": 168, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 169, "ticks": 1 } ] }, { "id": 3698, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": 156, "columnNumber": 18 }, "hitCount": 0, "children": [ 3699 ] }, { "id": 3699, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2056, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 2057 ] }, { "id": 2057, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 2, "positionTicks": [ { "line": 105, "ticks": 1 }, { "line": 99, "ticks": 1 } ] }, { "id": 1665, "callFrame": { "functionName": "serverjs", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 165, "columnNumber": 18 }, "hitCount": 1, "children": [ 1666 ], "positionTicks": [ { "line": 174, "ticks": 1 } ] }, { "id": 1666, "callFrame": { "functionName": "glob", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 63, "columnNumber": 14 }, "hitCount": 0, "children": [ 1667 ] }, { "id": 1667, "callFrame": { "functionName": "Glob", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 114, "columnNumber": 14 }, "hitCount": 2, "children": [ 1668, 1677 ], "positionTicks": [ { "line": 130, "ticks": 1 }, { "line": 115, "ticks": 1 } ] }, { "id": 1668, "callFrame": { "functionName": "Glob._process", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 285, "columnNumber": 35 }, "hitCount": 1, "children": [ 1669 ], "positionTicks": [ { "line": 286, "ticks": 1 } ] }, { "id": 1669, "callFrame": { "functionName": "Glob._processSimple", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 647, "columnNumber": 41 }, "hitCount": 0, "children": [ 1670 ] }, { "id": 1670, "callFrame": { "functionName": "Glob._stat", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 686, "columnNumber": 32 }, "hitCount": 2, "children": [ 1671, 1684, 1699 ], "positionTicks": [ { "line": 728, "ticks": 1 }, { "line": 687, "ticks": 1 } ] }, { "id": 1671, "callFrame": { "functionName": "", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 281, "columnNumber": 18 }, "hitCount": 0, "children": [ 1672 ] }, { "id": 1672, "callFrame": { "functionName": "fs.lstat", "scriptId": "45", "url": "fs.js", "lineNumber": 917, "columnNumber": 19 }, "hitCount": 13, "children": [ 1673, 2059 ], "positionTicks": [ { "line": 918, "ticks": 13 } ] }, { "id": 1673, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1674 ] }, { "id": 1674, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2059, "callFrame": { "functionName": "getPathFromURL", "scriptId": "38", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 922, "ticks": 1 } ] }, { "id": 1684, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 1, "children": [ 1704, 3693 ], "positionTicks": [ { "line": 21, "ticks": 1 } ] }, { "id": 1704, "callFrame": { "functionName": "inflight", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 6, "columnNumber": 18 }, "hitCount": 2, "children": [ 3794 ], "positionTicks": [ { "line": 12, "ticks": 1 }, { "line": 7, "ticks": 1 } ] }, { "id": 3794, "callFrame": { "functionName": "makeres", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 16, "columnNumber": 17 }, "hitCount": 0, "children": [ 3795 ] }, { "id": 3795, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 21, "ticks": 1 } ] }, { "id": 3693, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 794, "ticks": 1 } ] }, { "id": 1699, "callFrame": { "functionName": "Glob._makeAbs", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 245, "columnNumber": 35 }, "hitCount": 0, "children": [ 1700 ] }, { "id": 1700, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 1, "children": [ 1701 ], "positionTicks": [ { "line": 199, "ticks": 1 } ] }, { "id": 1701, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 1702 ] }, { "id": 1702, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 104, "ticks": 1 } ] }, { "id": 1677, "callFrame": { "functionName": "setopts", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 52, "columnNumber": 17 }, "hitCount": 1, "children": [ 1678, 3796 ], "positionTicks": [ { "line": 71, "ticks": 1 } ] }, { "id": 1678, "callFrame": { "functionName": "Minimatch", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 109, "columnNumber": 19 }, "hitCount": 0, "children": [ 1679 ] }, { "id": 1679, "callFrame": { "functionName": "make", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 141, "columnNumber": 14 }, "hitCount": 0, "children": [ 1680, 1709 ] }, { "id": 1680, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1681 ] }, { "id": 1681, "callFrame": { "functionName": "", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 180, "columnNumber": 25 }, "hitCount": 0, "children": [ 1682 ] }, { "id": 1682, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1683 ] }, { "id": 1683, "callFrame": { "functionName": "parse", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 270, "columnNumber": 15 }, "hitCount": 1, "children": [ 3690 ], "positionTicks": [ { "line": 491, "ticks": 1 } ] }, { "id": 3690, "callFrame": { "functionName": "globUnescape", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 916, "columnNumber": 22 }, "hitCount": 0, "children": [ 3691 ] }, { "id": 3691, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1709, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 1710 ] }, { "id": 1710, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 3796, "callFrame": { "functionName": "create", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1685, "callFrame": { "functionName": "bins", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 264, "columnNumber": 14 }, "hitCount": 0, "children": [ 1686 ] }, { "id": 1686, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 120, "ticks": 1 } ] }, { "id": 1708, "callFrame": { "functionName": "scriptpath", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 127, "columnNumber": 20 }, "hitCount": 2, "children": [ 3685 ], "positionTicks": [ { "line": 131, "ticks": 1 }, { "line": 132, "ticks": 1 } ] }, { "id": 3685, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3686 ] }, { "id": 3686, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3687 ] }, { "id": 3687, "callFrame": { "functionName": "scriptpath_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 134, "columnNumber": 21 }, "hitCount": 0, "children": [ 3688 ] }, { "id": 3688, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3689 ] }, { "id": 3689, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2071, "callFrame": { "functionName": "mans", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 246, "columnNumber": 14 }, "hitCount": 0, "children": [ 2072 ] }, { "id": 2072, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 120, "ticks": 1 } ] }, { "id": 1661, "callFrame": { "functionName": "parse", "scriptId": "236", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/index.js", "lineNumber": 4, "columnNumber": 14 }, "hitCount": 22, "positionTicks": [ { "line": 5, "ticks": 22 } ] }, { "id": 1581, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 306, "columnNumber": 41 }, "hitCount": 0, "children": [ 1582 ] }, { "id": 1582, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 0, "children": [ 1583 ] }, { "id": 1583, "callFrame": { "functionName": "final", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 339, "columnNumber": 15 }, "hitCount": 0, "children": [ 1584, 1610 ] }, { "id": 1584, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 0, "children": [ 1585 ] }, { "id": 1585, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1586 ] }, { "id": 1586, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1587 ] }, { "id": 1587, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 1, "children": [ 1588, 1589, 1596, 1606 ], "positionTicks": [ { "line": 33, "ticks": 1 } ] }, { "id": 1588, "callFrame": { "functionName": "fixNameField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 201, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 216, "ticks": 1 } ] }, { "id": 1589, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 1590, 1591 ] }, { "id": 1590, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 28, "ticks": 1 } ] }, { "id": 1591, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 111, "columnNumber": 38 }, "hitCount": 0, "children": [ 1592 ] }, { "id": 1592, "callFrame": { "functionName": "GitHost.https", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 81, "columnNumber": 35 }, "hitCount": 0, "children": [ 1593 ] }, { "id": 1593, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 1594 ] }, { "id": 1594, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1595 ] }, { "id": 1595, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 1596, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 1597 ] }, { "id": 1597, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 0, "children": [ 1598 ] }, { "id": 1598, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 1599 ] }, { "id": 1599, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 0, "children": [ 1600 ], "deoptReason": "Bad value context for arguments value" }, { "id": 1600, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1601 ] }, { "id": 1601, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 539, "columnNumber": 16 }, "hitCount": 0, "children": [ 1602 ] }, { "id": 1602, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 0, "children": [ 1603, 1605 ] }, { "id": 1603, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 1604 ] }, { "id": 1604, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1605, "callFrame": { "functionName": "test_match", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 409, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 1606, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 1607 ] }, { "id": 1607, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1608 ] }, { "id": 1608, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1609 ] }, { "id": 1609, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 136, "columnNumber": 56 }, "hitCount": 1, "children": [ 3643 ], "positionTicks": [ { "line": 153, "ticks": 1 } ] }, { "id": 3643, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3644 ] }, { "id": 3644, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 3645 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 3645, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 143, "columnNumber": 47 }, "hitCount": 0 }, { "id": 1610, "callFrame": { "functionName": "checkBinReferences_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 318, "columnNumber": 29 }, "hitCount": 0, "children": [ 1611 ] }, { "id": 1611, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1612 ] }, { "id": 1612, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 1935, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 237, "columnNumber": 35 }, "hitCount": 1, "children": [ 1936 ], "positionTicks": [ { "line": 244, "ticks": 1 } ] }, { "id": 1936, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 0, "children": [ 1937 ] }, { "id": 1937, "callFrame": { "functionName": "final", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 339, "columnNumber": 15 }, "hitCount": 0, "children": [ 1938, 1977, 2105 ] }, { "id": 1938, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 3, "children": [ 1939 ], "positionTicks": [ { "line": 25, "ticks": 1 }, { "line": 30, "ticks": 1 }, { "line": 23, "ticks": 1 } ] }, { "id": 1939, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1940 ] }, { "id": 1940, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 1941 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 1941, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 5, "children": [ 1942, 1951, 1961, 1965, 1973, 1990, 1996, 2010, 3781 ], "positionTicks": [ { "line": 32, "ticks": 2 }, { "line": 31, "ticks": 3 } ] }, { "id": 1942, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 1943 ] }, { "id": 1943, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1944 ] }, { "id": 1944, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1945 ] }, { "id": 1945, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 136, "columnNumber": 56 }, "hitCount": 1, "children": [ 1946 ], "positionTicks": [ { "line": 142, "ticks": 1 } ] }, { "id": 1946, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1947 ] }, { "id": 1947, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1948 ] }, { "id": 1948, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 143, "columnNumber": 47 }, "hitCount": 0, "children": [ 1949 ] }, { "id": 1949, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 1950, 1982, 3786 ] }, { "id": 1950, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 2, "children": [ 3784 ], "positionTicks": [ { "line": 832, "ticks": 2 } ] }, { "id": 3784, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 33, "ticks": 1 } ] }, { "id": 1982, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1983 ] }, { "id": 1983, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 3, "children": [ 1984, 3789 ], "positionTicks": [ { "line": 184, "ticks": 1 }, { "line": 114, "ticks": 1 }, { "line": 126, "ticks": 1 } ] }, { "id": 1984, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 0 }, { "id": 3789, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 0, "children": [ 3790 ] }, { "id": 3790, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3786, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3787 ] }, { "id": 3787, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3788 ] }, { "id": 3788, "callFrame": { "functionName": "RegExp: ^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1951, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 1952 ] }, { "id": 1952, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 0, "children": [ 1953 ] }, { "id": 1953, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 1954 ] }, { "id": 1954, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 3, "children": [ 1955, 1995, 2001 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 131, "ticks": 2 }, { "line": 134, "ticks": 1 } ] }, { "id": 1955, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1956 ] }, { "id": 1956, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1957 ] }, { "id": 1957, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 2, "children": [ 1958, 2008 ], "positionTicks": [ { "line": 499, "ticks": 2 } ] }, { "id": 1958, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 1, "children": [ 1959 ], "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 1959, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 5, "children": [ 1960, 2007, 2132, 3814 ] }, { "id": 1960, "callFrame": { "functionName": "RegExp: ^(?:OLDAP-2\\.0\\.1)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2007, "callFrame": { "functionName": "RegExp: ^(?:Classpath-exception-2\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2132, "callFrame": { "functionName": "RegExp: ^(?:xinetd)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3814, "callFrame": { "functionName": "RegExp: ^(?:JSON)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2008, "callFrame": { "functionName": "test_match", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 409, "columnNumber": 20 }, "hitCount": 0, "children": [ 2009 ] }, { "id": 2009, "callFrame": { "functionName": "anonymous", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 592, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 1026, "ticks": 1 } ] }, { "id": 1995, "callFrame": { "functionName": "push", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2001, "callFrame": { "functionName": "anonymous", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 80, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 107, "ticks": 1 } ] }, { "id": 1961, "callFrame": { "functionName": "fixScriptsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 47, "columnNumber": 27 }, "hitCount": 0, "children": [ 1962 ] }, { "id": 1962, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1963 ] }, { "id": 1963, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1964 ] }, { "id": 1964, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 54, "columnNumber": 47 }, "hitCount": 1, "positionTicks": [ { "line": 55, "ticks": 1 } ] }, { "id": 1965, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 1966, 1986 ] }, { "id": 1966, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 111, "columnNumber": 38 }, "hitCount": 0, "children": [ 1967, 2002, 2122 ] }, { "id": 1967, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 1968, 3819 ] }, { "id": 1968, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 1, "children": [ 1969 ], "positionTicks": [ { "line": 55, "ticks": 1 } ] }, { "id": 1969, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1970 ] }, { "id": 1970, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1971, 2134 ] }, { "id": 1971, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 0, "children": [ 1972, 2121 ] }, { "id": 1972, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 3 }, { "id": 2121, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 2134, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 2, "children": [ 2135 ], "positionTicks": [ { "line": 35, "ticks": 1 }, { "line": 36, "ticks": 1 } ] }, { "id": 2135, "callFrame": { "functionName": "toString", "scriptId": "6", "url": "native array.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 2136 ] }, { "id": 2136, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 1, "children": [ 3785 ], "positionTicks": [ { "line": 121, "ticks": 1 } ] }, { "id": 3785, "callFrame": { "functionName": "DoJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 95, "columnNumber": 15 }, "hitCount": 2, "children": [ 3812 ], "positionTicks": [ { "line": 96, "ticks": 2 } ] }, { "id": 3812, "callFrame": { "functionName": "ConvertToString", "scriptId": "6", "url": "native array.js", "lineNumber": 133, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 134, "ticks": 1 } ] }, { "id": 3819, "callFrame": { "functionName": "keys", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2002, "callFrame": { "functionName": "GitHost.sshurl", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 65, "columnNumber": 36 }, "hitCount": 0, "children": [ 2003 ] }, { "id": 2003, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 2004 ] }, { "id": 2004, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2005 ] }, { "id": 2005, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2006 ] }, { "id": 2006, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 28, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 2122, "callFrame": { "functionName": "GitHost.https", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 81, "columnNumber": 35 }, "hitCount": 0, "children": [ 2123 ] }, { "id": 2123, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 1, "children": [ 2124 ], "positionTicks": [ { "line": 29, "ticks": 1 } ] }, { "id": 2124, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2125 ] }, { "id": 2125, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2126, 2127, 3811 ] }, { "id": 2126, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 52, "ticks": 1 } ] }, { "id": 2127, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 6, "positionTicks": [ { "line": 35, "ticks": 2 }, { "line": 36, "ticks": 4 } ] }, { "id": 3811, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 28, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 29, "ticks": 1 } ] }, { "id": 1986, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 1, "children": [ 1987, 1993, 2129, 3813 ], "positionTicks": [ { "line": 33, "ticks": 1 } ] }, { "id": 1987, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1988 ] }, { "id": 1988, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 1989, 3818 ] }, { "id": 1989, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 2, "positionTicks": [ { "line": 570, "ticks": 2 } ] }, { "id": 3818, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 450, "ticks": 1 } ] }, { "id": 1993, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1994, 2128 ] }, { "id": 1994, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 2128, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 56, "ticks": 1 } ] }, { "id": 2129, "callFrame": { "functionName": "isGitHubShorthand", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2130 ] }, { "id": 2130, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2131 ] }, { "id": 2131, "callFrame": { "functionName": "RegExp: ^[^:@%/\\s.-][^:@%/\\s]*[/][^:@\\s/%]+(?:#.*)?$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3813, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1973, "callFrame": { "functionName": "fixBugsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 238, "columnNumber": 24 }, "hitCount": 0, "children": [ 1974 ] }, { "id": 1974, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1975 ] }, { "id": 1975, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "children": [ 1976 ], "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1976, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 447, "ticks": 1 } ] }, { "id": 1990, "callFrame": { "functionName": "fixKeywordsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 162, "columnNumber": 29 }, "hitCount": 0, "children": [ 1991 ] }, { "id": 1991, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 1992 ] }, { "id": 1992, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 1996, "callFrame": { "functionName": "fixPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 196, "columnNumber": 21 }, "hitCount": 0, "children": [ 1997 ] }, { "id": 1997, "callFrame": { "functionName": "modifyPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 339, "columnNumber": 22 }, "hitCount": 1, "children": [ 1998, 3820 ], "positionTicks": [ { "line": 341, "ticks": 1 } ] }, { "id": 1998, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1999 ] }, { "id": 1999, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2000 ] }, { "id": 2000, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 341, "columnNumber": 52 }, "hitCount": 1, "positionTicks": [ { "line": 342, "ticks": 1 } ] }, { "id": 3820, "callFrame": { "functionName": "parsePerson", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 358, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 367, "ticks": 1 } ] }, { "id": 2010, "callFrame": { "functionName": "fixVersionField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 181, "columnNumber": 27 }, "hitCount": 2, "children": [ 2011, 3815 ], "positionTicks": [ { "line": 193, "ticks": 1 }, { "line": 191, "ticks": 1 } ] }, { "id": 2011, "callFrame": { "functionName": "valid", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 2133 ], "positionTicks": [ { "line": 191, "ticks": 1 } ] }, { "id": 2133, "callFrame": { "functionName": "parse", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 235, "columnNumber": 14 }, "hitCount": 1, "positionTicks": [ { "line": 236, "ticks": 1 } ] }, { "id": 3815, "callFrame": { "functionName": "clean", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 264, "columnNumber": 14 }, "hitCount": 0, "children": [ 3816 ] }, { "id": 3816, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3817 ] }, { "id": 3817, "callFrame": { "functionName": "RegExp: ^[=v]+", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3781, "callFrame": { "functionName": "fixHomepageField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 279, "columnNumber": 28 }, "hitCount": 0, "children": [ 3782 ] }, { "id": 3782, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 3783 ] }, { "id": 3783, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 348, "ticks": 1 } ] }, { "id": 1977, "callFrame": { "functionName": "checkBinReferences_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 318, "columnNumber": 29 }, "hitCount": 0, "children": [ 1978, 1985 ] }, { "id": 1978, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1979 ] }, { "id": 1979, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1980 ] }, { "id": 1980, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 331, "columnNumber": 24 }, "hitCount": 0, "children": [ 1981 ] }, { "id": 1981, "callFrame": { "functionName": "fs.exists", "scriptId": "45", "url": "fs.js", "lineNumber": 302, "columnNumber": 20 }, "hitCount": 2, "positionTicks": [ { "line": 303, "ticks": 2 } ] }, { "id": 1985, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 353, "columnNumber": 49 }, "hitCount": 2, "children": [ 2141 ], "positionTicks": [ { "line": 354, "ticks": 1 }, { "line": 355, "ticks": 1 } ] }, { "id": 2141, "callFrame": { "functionName": "thenCreateNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 111, "columnNumber": 26 }, "hitCount": 0, "children": [ 2142 ] }, { "id": 2142, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 157, "columnNumber": 20 }, "hitCount": 0, "children": [ 2143 ] }, { "id": 2143, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 15, "columnNumber": 26 }, "hitCount": 0, "children": [ 2144 ] }, { "id": 2144, "callFrame": { "functionName": "thenSortChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 164, "columnNumber": 28 }, "hitCount": 0, "children": [ 2145 ] }, { "id": 2145, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2146 ] }, { "id": 2146, "callFrame": { "functionName": "thenProcessChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 194, "columnNumber": 31 }, "hitCount": 0 }, { "id": 2105, "callFrame": { "functionName": "thenCreateNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 111, "columnNumber": 26 }, "hitCount": 0, "children": [ 2106 ] }, { "id": 2106, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 157, "columnNumber": 20 }, "hitCount": 0, "children": [ 2107 ] }, { "id": 2107, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 15, "columnNumber": 26 }, "hitCount": 0, "children": [ 2108 ] }, { "id": 2108, "callFrame": { "functionName": "thenSortChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 164, "columnNumber": 28 }, "hitCount": 0, "children": [ 2109 ] }, { "id": 2109, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2110 ] }, { "id": 2110, "callFrame": { "functionName": "thenProcessChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 194, "columnNumber": 31 }, "hitCount": 0, "children": [ 2111 ] }, { "id": 2111, "callFrame": { "functionName": "asyncForEach", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 8, "columnNumber": 22 }, "hitCount": 0, "children": [ 2112 ] }, { "id": 2112, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2113 ] }, { "id": 2113, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2114 ] }, { "id": 2114, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 12, "columnNumber": 25 }, "hitCount": 0, "children": [ 2115 ] }, { "id": 2115, "callFrame": { "functionName": "loadTreeForKid", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 203, "columnNumber": 26 }, "hitCount": 0, "children": [ 2116 ] }, { "id": 2116, "callFrame": { "functionName": "loadTree", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 178, "columnNumber": 18 }, "hitCount": 0, "children": [ 2117 ] }, { "id": 2117, "callFrame": { "functionName": "loadChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 124, "columnNumber": 22 }, "hitCount": 0, "children": [ 2118 ] }, { "id": 2118, "callFrame": { "functionName": "realpath", "scriptId": "45", "url": "fs.js", "lineNumber": 1707, "columnNumber": 31 }, "hitCount": 0, "children": [ 2119 ] }, { "id": 2119, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2120 ] }, { "id": 2120, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3694, "callFrame": { "functionName": "retry", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 255, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 256, "ticks": 1 } ] }, { "id": 4152, "callFrame": { "functionName": "", "scriptId": "267", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/nodeback.js", "lineNumber": 34, "columnNumber": 19 }, "hitCount": 0, "children": [ 4153 ] }, { "id": 4153, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4154 ] }, { "id": 4154, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4155 ] }, { "id": 4155, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4156 ] }, { "id": 4156, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4157 ] }, { "id": 4157, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4158 ] }, { "id": 4158, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4159 ] }, { "id": 4159, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4160 ] }, { "id": 4160, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4161 ] }, { "id": 4161, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4162 ] }, { "id": 4162, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4163 ] }, { "id": 4163, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4164 ] }, { "id": 4164, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4165 ] }, { "id": 4165, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4166 ] }, { "id": 4166, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4167 ] }, { "id": 4167, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4168 ] }, { "id": 4168, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4169 ] }, { "id": 4169, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4170 ] }, { "id": 4170, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4171 ] }, { "id": 4171, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4172 ] }, { "id": 4172, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4173 ] }, { "id": 4173, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4174 ] }, { "id": 4174, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4175 ] }, { "id": 4175, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4176 ] }, { "id": 4176, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4177 ] }, { "id": 4177, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4178 ] }, { "id": 4178, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4179 ] }, { "id": 4179, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4180 ] }, { "id": 4180, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4181 ] }, { "id": 4181, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4182 ] }, { "id": 4182, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4183 ] }, { "id": 4183, "callFrame": { "functionName": "Promise._fulfillPromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 661, "columnNumber": 46 }, "hitCount": 0, "children": [ 4184 ] }, { "id": 4184, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4185 ] }, { "id": 4185, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4186 ] }, { "id": 4186, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4187 ] }, { "id": 4187, "callFrame": { "functionName": "pacote.manifest.then", "scriptId": "321", "url": "/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js", "lineNumber": 64, "columnNumber": 4 }, "hitCount": 0, "children": [ 4188 ] }, { "id": 4188, "callFrame": { "functionName": "", "scriptId": "321", "url": "/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js", "lineNumber": 19, "columnNumber": 9 }, "hitCount": 1, "positionTicks": [ { "line": 25, "ticks": 1 } ] }, { "id": 1705, "callFrame": { "functionName": "Buffer.toString", "scriptId": "25", "url": "buffer.js", "lineNumber": 568, "columnNumber": 36 }, "hitCount": 0, "children": [ 1706 ] }, { "id": 1706, "callFrame": { "functionName": "stringSlice", "scriptId": "25", "url": "buffer.js", "lineNumber": 514, "columnNumber": 20 }, "hitCount": 5, "positionTicks": [ { "line": 521, "ticks": 5 } ] }, { "id": 4277, "callFrame": { "functionName": "", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 72, "columnNumber": 49 }, "hitCount": 0, "children": [ 4278 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4278, "callFrame": { "functionName": "", "scriptId": "267", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/nodeback.js", "lineNumber": 34, "columnNumber": 19 }, "hitCount": 0, "children": [ 4279 ] }, { "id": 4279, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4280 ] }, { "id": 4280, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4281 ] }, { "id": 4281, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4282 ] }, { "id": 4282, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4283 ] }, { "id": 4283, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4284 ] }, { "id": 4284, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4285 ] }, { "id": 4285, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4286 ] }, { "id": 4286, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4287 ] }, { "id": 4287, "callFrame": { "functionName": "", "scriptId": "278", "url": "", "lineNumber": 0, "columnNumber": 9 }, "hitCount": 0, "children": [ 4288 ] }, { "id": 4288, "callFrame": { "functionName": "Holder$3.checkFulfillment", "scriptId": "280", "url": "", "lineNumber": 22, "columnNumber": 58 }, "hitCount": 0, "children": [ 4289 ] }, { "id": 4289, "callFrame": { "functionName": "Holder$3._callFunction", "scriptId": "280", "url": "", "lineNumber": 11, "columnNumber": 55 }, "hitCount": 0, "children": [ 4290, 4295 ] }, { "id": 4290, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4291 ] }, { "id": 4291, "callFrame": { "functionName": "BB.join", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 22, "columnNumber": 4 }, "hitCount": 0, "children": [ 4292 ] }, { "id": 4292, "callFrame": { "functionName": "module.exports", "scriptId": "194", "url": "/usr/local/lib/node_modules/npm/lib/utils/parse-json.js", "lineNumber": 1, "columnNumber": 42 }, "hitCount": 0, "children": [ 4293 ] }, { "id": 4293, "callFrame": { "functionName": "stripBOM", "scriptId": "194", "url": "/usr/local/lib/node_modules/npm/lib/utils/parse-json.js", "lineNumber": 14, "columnNumber": 18 }, "hitCount": 0, "children": [ 4294 ] }, { "id": 4294, "callFrame": { "functionName": "Buffer.toString", "scriptId": "25", "url": "buffer.js", "lineNumber": 568, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 594, "ticks": 1 } ] }, { "id": 4295, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4296 ] }, { "id": 4296, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4297 ] }, { "id": 4297, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4298 ] }, { "id": 4298, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4299 ] }, { "id": 4299, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4300 ] }, { "id": 4300, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4301 ] }, { "id": 4301, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4302 ] }, { "id": 4302, "callFrame": { "functionName": "BB.join.then", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 40, "columnNumber": 9 }, "hitCount": 0, "children": [ 4303 ] }, { "id": 4303, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4304 ] }, { "id": 4304, "callFrame": { "functionName": "", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 54, "columnNumber": 45 }, "hitCount": 0, "children": [ 4305 ] }, { "id": 4305, "callFrame": { "functionName": "module.exports", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 16, "columnNumber": 26 }, "hitCount": 0, "children": [ 4306 ] }, { "id": 4306, "callFrame": { "functionName": "inflateShrinkwrap", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 35, "columnNumber": 27 }, "hitCount": 0, "children": [ 4307, 4311 ] }, { "id": 4307, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4308 ] }, { "id": 4308, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4309 ] }, { "id": 4309, "callFrame": { "functionName": "tree.children.forEach", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 39, "columnNumber": 24 }, "hitCount": 1, "children": [ 4310 ], "positionTicks": [ { "line": 42, "ticks": 1 } ] }, { "id": 4310, "callFrame": { "functionName": "moduleName", "scriptId": "315", "url": "/usr/local/lib/node_modules/npm/lib/utils/module-name.js", "lineNumber": 22, "columnNumber": 20 }, "hitCount": 0 }, { "id": 4311, "callFrame": { "functionName": "Promise.each", "scriptId": "311", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "lineNumber": 22, "columnNumber": 24 }, "hitCount": 0, "children": [ 4312 ] }, { "id": 4312, "callFrame": { "functionName": "Promise.reduce", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 115, "columnNumber": 26 }, "hitCount": 0, "children": [ 4313 ] }, { "id": 4313, "callFrame": { "functionName": "reduce", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 127, "columnNumber": 15 }, "hitCount": 0, "children": [ 4314 ] }, { "id": 4314, "callFrame": { "functionName": "ReductionPromiseArray", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 11, "columnNumber": 30 }, "hitCount": 0, "children": [ 4315 ] }, { "id": 4315, "callFrame": { "functionName": "init", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 35, "columnNumber": 44 }, "hitCount": 0, "children": [ 4316 ] }, { "id": 4316, "callFrame": { "functionName": "ReductionPromiseArray._iterate", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 76, "columnNumber": 52 }, "hitCount": 1, "positionTicks": [ { "line": 93, "ticks": 1 } ] }, { "id": 592, "callFrame": { "functionName": "", "scriptId": "45", "url": "fs.js", "lineNumber": 133, "columnNumber": 17 }, "hitCount": 2, "children": [ 1522 ], "positionTicks": [ { "line": 135, "ticks": 2 } ] }, { "id": 1522, "callFrame": { "functionName": "go$readdir$cb", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 140, "columnNumber": 27 }, "hitCount": 1, "children": [ 1523, 1573, 1613, 1835 ], "positionTicks": [ { "line": 149, "ticks": 1 } ] }, { "id": 1523, "callFrame": { "functionName": "", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 550, "columnNumber": 18 }, "hitCount": 1, "children": [ 1524 ], "positionTicks": [ { "line": 555, "ticks": 1 } ] }, { "id": 1524, "callFrame": { "functionName": "Glob._readdirEntries", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 558, "columnNumber": 42 }, "hitCount": 0, "children": [ 1525 ] }, { "id": 1525, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 1526 ] }, { "id": 1526, "callFrame": { "functionName": "RES", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 17, "columnNumber": 27 }, "hitCount": 0, "children": [ 1527 ] }, { "id": 1527, "callFrame": { "functionName": "", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 369, "columnNumber": 42 }, "hitCount": 0, "children": [ 1528 ] }, { "id": 1528, "callFrame": { "functionName": "Glob._processReaddir2", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 374, "columnNumber": 43 }, "hitCount": 0, "children": [ 1529 ] }, { "id": 1529, "callFrame": { "functionName": "done", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 173, "columnNumber": 16 }, "hitCount": 0, "children": [ 1530 ] }, { "id": 1530, "callFrame": { "functionName": "Glob._finish", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 187, "columnNumber": 34 }, "hitCount": 0, "children": [ 1531, 1541 ] }, { "id": 1531, "callFrame": { "functionName": "finish", "scriptId": "190", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/common.js", "lineNumber": 121, "columnNumber": 16 }, "hitCount": 0, "children": [ 1532 ] }, { "id": 1532, "callFrame": { "functionName": "sort", "scriptId": "6", "url": "native array.js", "lineNumber": 748, "columnNumber": 18 }, "hitCount": 0, "children": [ 1533 ] }, { "id": 1533, "callFrame": { "functionName": "InnerArraySort", "scriptId": "6", "url": "native array.js", "lineNumber": 529, "columnNumber": 23 }, "hitCount": 0, "children": [ 1534 ] }, { "id": 1534, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 1535 ] }, { "id": 1535, "callFrame": { "functionName": "InsertionSort", "scriptId": "6", "url": "native array.js", "lineNumber": 542, "columnNumber": 22 }, "hitCount": 0, "children": [ 1536 ] }, { "id": 1536, "callFrame": { "functionName": "alphasort", "scriptId": "190", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/common.js", "lineNumber": 23, "columnNumber": 19 }, "hitCount": 0, "children": [ 1537 ] }, { "id": 1537, "callFrame": { "functionName": "localeCompare", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1228, "columnNumber": 38 }, "hitCount": 0, "children": [ 1538 ] }, { "id": 1538, "callFrame": { "functionName": "cachedOrNewService", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1201, "columnNumber": 27 }, "hitCount": 0, "children": [ 1539 ] }, { "id": 1539, "callFrame": { "functionName": "CollatorConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1540 ] }, { "id": 1540, "callFrame": { "functionName": "IntlConstruct", "scriptId": "19", "url": "native i18n.js", "lineNumber": 64, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 65, "ticks": 1 } ] }, { "id": 1541, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 1542 ] }, { "id": 1542, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 1543 ] }, { "id": 1543, "callFrame": { "functionName": "", "scriptId": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "lineNumber": 149, "columnNumber": 28 }, "hitCount": 0, "children": [ 1544 ] }, { "id": 1544, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 25, "ticks": 1 } ] }, { "id": 1573, "callFrame": { "functionName": "", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 535, "columnNumber": 18 }, "hitCount": 0, "children": [ 1574 ] }, { "id": 1574, "callFrame": { "functionName": "Glob._readdirEntries", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 543, "columnNumber": 42 }, "hitCount": 3, "children": [ 1575 ], "positionTicks": [ { "line": 538, "ticks": 3 } ] }, { "id": 1575, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 1576 ] }, { "id": 1576, "callFrame": { "functionName": "RES", "scriptId": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "lineNumber": 17, "columnNumber": 27 }, "hitCount": 3, "children": [ 1577 ], "positionTicks": [ { "line": 21, "ticks": 2 }, { "line": 38, "ticks": 1 } ] }, { "id": 1577, "callFrame": { "functionName": "", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 357, "columnNumber": 42 }, "hitCount": 1, "children": [ 1578 ], "positionTicks": [ { "line": 359, "ticks": 1 } ] }, { "id": 1578, "callFrame": { "functionName": "Glob._processReaddir2", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 362, "columnNumber": 43 }, "hitCount": 8, "children": [ 1579, 1849, 3716 ], "positionTicks": [ { "line": 363, "ticks": 6 }, { "line": 381, "ticks": 2 } ] }, { "id": 1579, "callFrame": { "functionName": "done", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 168, "columnNumber": 16 }, "hitCount": 0, "children": [ 1580 ] }, { "id": 1580, "callFrame": { "functionName": "Glob._finish", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 175, "columnNumber": 34 }, "hitCount": 2, "children": [ 1867, 1904 ], "positionTicks": [ { "line": 184, "ticks": 1 }, { "line": 171, "ticks": 1 } ] }, { "id": 1867, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 1868 ] }, { "id": 1868, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 1869 ] }, { "id": 1869, "callFrame": { "functionName": "", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 144, "columnNumber": 28 }, "hitCount": 0, "children": [ 1870 ] }, { "id": 1870, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 1871 ] }, { "id": 1871, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 150, "columnNumber": 39 }, "hitCount": 0, "children": [ 1872 ] }, { "id": 1872, "callFrame": { "functionName": "gypfile_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1873 ] }, { "id": 1873, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 0, "children": [ 1874 ] }, { "id": 1874, "callFrame": { "functionName": "final", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 339, "columnNumber": 15 }, "hitCount": 0, "children": [ 1875 ] }, { "id": 1875, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 0, "children": [ 1876 ] }, { "id": 1876, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1877 ] }, { "id": 1877, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1878 ] }, { "id": 1878, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 0, "children": [ 1879, 1893, 3722, 3768, 3770 ] }, { "id": 1879, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 1880, 3702 ] }, { "id": 1880, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 1881 ] }, { "id": 1881, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 1882 ] }, { "id": 1882, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1883 ] }, { "id": 1883, "callFrame": { "functionName": "RegExp: ^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3702, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 111, "columnNumber": 38 }, "hitCount": 0, "children": [ 3703, 3774 ] }, { "id": 3703, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 3704 ] }, { "id": 3704, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 3705 ] }, { "id": 3705, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3706 ] }, { "id": 3706, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3707, 3745 ] }, { "id": 3707, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 28, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 3745, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 35, "ticks": 1 } ] }, { "id": 3774, "callFrame": { "functionName": "GitHost.https", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 81, "columnNumber": 35 }, "hitCount": 0, "children": [ 3775 ] }, { "id": 3775, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 3776 ] }, { "id": 3776, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3777 ] }, { "id": 3777, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3778 ] }, { "id": 3778, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 35, "ticks": 1 } ] }, { "id": 1893, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 1894 ] }, { "id": 1894, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 0, "children": [ 1895 ] }, { "id": 1895, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 1896 ] }, { "id": 1896, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 1, "children": [ 1897 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 131, "ticks": 1 } ] }, { "id": 1897, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1898 ] }, { "id": 1898, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1899 ] }, { "id": 1899, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 0, "children": [ 1900, 3758 ] }, { "id": 1900, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 1901 ] }, { "id": 1901, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 1902 ] }, { "id": 1902, "callFrame": { "functionName": "RegExp: ^(?:LPPL-1\\.3a)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3758, "callFrame": { "functionName": "test_match", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 409, "columnNumber": 20 }, "hitCount": 0, "children": [ 3759 ] }, { "id": 3759, "callFrame": { "functionName": "anonymous", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 592, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 656, "ticks": 1 } ] }, { "id": 3722, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 3723, 3743 ] }, { "id": 3723, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3724 ] }, { "id": 3724, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3725 ] }, { "id": 3725, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 136, "columnNumber": 56 }, "hitCount": 0, "children": [ 3726 ] }, { "id": 3726, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3727 ] }, { "id": 3727, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3728 ] }, { "id": 3728, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 143, "columnNumber": 47 }, "hitCount": 0, "children": [ 3729 ] }, { "id": 3729, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 3730, 3762 ] }, { "id": 3730, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 3731 ] }, { "id": 3731, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 115, "ticks": 1 } ] }, { "id": 3762, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 3763 ] }, { "id": 3763, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 3743, "callFrame": { "functionName": "addOptionalDepsToDeps", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 370, "columnNumber": 31 }, "hitCount": 0, "children": [ 3744 ] }, { "id": 3744, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 794, "ticks": 1 } ] }, { "id": 3768, "callFrame": { "functionName": "fixPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 196, "columnNumber": 21 }, "hitCount": 0, "children": [ 3769 ] }, { "id": 3769, "callFrame": { "functionName": "modifyPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 339, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 340, "ticks": 1 } ] }, { "id": 3770, "callFrame": { "functionName": "fixBugsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 238, "columnNumber": 24 }, "hitCount": 0, "children": [ 3771 ] }, { "id": 3771, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 3772 ] }, { "id": 3772, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1904, "callFrame": { "functionName": "finish", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 115, "columnNumber": 16 }, "hitCount": 2, "children": [ 1905 ], "positionTicks": [ { "line": 146, "ticks": 1 }, { "line": 116, "ticks": 1 } ] }, { "id": 1905, "callFrame": { "functionName": "sort", "scriptId": "6", "url": "native array.js", "lineNumber": 748, "columnNumber": 18 }, "hitCount": 0, "children": [ 1906 ] }, { "id": 1906, "callFrame": { "functionName": "InnerArraySort", "scriptId": "6", "url": "native array.js", "lineNumber": 529, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 530, "ticks": 1 } ] }, { "id": 1849, "callFrame": { "functionName": "Glob._process", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 285, "columnNumber": 35 }, "hitCount": 0, "children": [ 1850 ] }, { "id": 1850, "callFrame": { "functionName": "Glob._processSimple", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 647, "columnNumber": 41 }, "hitCount": 0, "children": [ 1851 ] }, { "id": 1851, "callFrame": { "functionName": "Glob._stat", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 686, "columnNumber": 32 }, "hitCount": 1, "children": [ 1852, 2093 ], "positionTicks": [ { "line": 695, "ticks": 1 } ] }, { "id": 1852, "callFrame": { "functionName": "Glob._makeAbs", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1853 ] }, { "id": 1853, "callFrame": { "functionName": "makeAbs", "scriptId": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "lineNumber": 192, "columnNumber": 17 }, "hitCount": 0, "children": [ 1854 ] }, { "id": 1854, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 1855 ] }, { "id": 1855, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 2093, "callFrame": { "functionName": "", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 281, "columnNumber": 18 }, "hitCount": 0, "children": [ 2094 ] }, { "id": 2094, "callFrame": { "functionName": "fs.lstat", "scriptId": "45", "url": "fs.js", "lineNumber": 917, "columnNumber": 19 }, "hitCount": 2, "positionTicks": [ { "line": 918, "ticks": 2 } ] }, { "id": 3716, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3717 ] }, { "id": 3717, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 3718 ] }, { "id": 3718, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3719 ] }, { "id": 3719, "callFrame": { "functionName": "RegExp: ^(?!\\.)(?=.)[^/]*?\\.gyp$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1613, "callFrame": { "functionName": "", "scriptId": "241", "url": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules/readdir.js", "lineNumber": 9, "columnNumber": 30 }, "hitCount": 0, "children": [ 1614 ] }, { "id": 1614, "callFrame": { "functionName": "readScopes", "scriptId": "241", "url": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules/readdir.js", "lineNumber": 30, "columnNumber": 20 }, "hitCount": 1, "children": [ 1615 ], "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 1615, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 0, "children": [ 1616 ] }, { "id": 1616, "callFrame": { "functionName": "dezalgo", "scriptId": "238", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/dezalgo.js", "lineNumber": 5, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 8, "ticks": 1 } ] }, { "id": 1835, "callFrame": { "functionName": "sort", "scriptId": "6", "url": "native array.js", "lineNumber": 748, "columnNumber": 18 }, "hitCount": 1, "children": [ 1884 ], "positionTicks": [ { "line": 749, "ticks": 1 } ] }, { "id": 1884, "callFrame": { "functionName": "InnerArraySort", "scriptId": "6", "url": "native array.js", "lineNumber": 529, "columnNumber": 23 }, "hitCount": 1, "children": [ 1885 ], "positionTicks": [ { "line": 530, "ticks": 1 } ] }, { "id": 1885, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 1886 ] }, { "id": 1886, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 1887 ] }, { "id": 1887, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 1888 ] }, { "id": 1888, "callFrame": { "functionName": "InsertionSort", "scriptId": "6", "url": "native array.js", "lineNumber": 542, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 543, "ticks": 1 } ] }, { "id": 628, "callFrame": { "functionName": "_tickCallback", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 132, "columnNumber": 24 }, "hitCount": 4, "children": [ 629, 2047, 2139 ], "positionTicks": [ { "line": 155, "ticks": 1 }, { "line": 163, "ticks": 3 } ] }, { "id": 629, "callFrame": { "functionName": "_combinedTickCallback", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 92, "columnNumber": 32 }, "hitCount": 0, "children": [ 630, 1617, 1635, 3458, 3461, 3510, 4189 ] }, { "id": 630, "callFrame": { "functionName": "", "scriptId": "56", "url": "/usr/local/lib/node_modules/npm/bin/npm-cli.js", "lineNumber": 81, "columnNumber": 26 }, "hitCount": 0, "children": [ 631, 1516 ] }, { "id": 631, "callFrame": { "functionName": "get", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 102, "columnNumber": 59 }, "hitCount": 0, "children": [ 632 ] }, { "id": 632, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 633 ] }, { "id": 633, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 634 ] }, { "id": 634, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 635 ] }, { "id": 635, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 636 ] }, { "id": 636, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 637 ] }, { "id": 637, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 638 ] }, { "id": 638, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 639 ] }, { "id": 639, "callFrame": { "functionName": "", "scriptId": "210", "url": "/usr/local/lib/node_modules/npm/lib/update.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 640, 1473 ] }, { "id": 640, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 641 ] }, { "id": 641, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 642 ] }, { "id": 642, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 643 ] }, { "id": 643, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 644 ] }, { "id": 644, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 645 ] }, { "id": 645, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 646 ] }, { "id": 646, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 647, 649 ] }, { "id": 647, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 648 ] }, { "id": 648, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 649, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 650 ] }, { "id": 650, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 1, "children": [ 651 ], "positionTicks": [ { "line": 8, "ticks": 1 } ] }, { "id": 651, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 652 ] }, { "id": 652, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 653, 659 ] }, { "id": 653, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 654, 786 ] }, { "id": 654, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 655 ] }, { "id": 655, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 656 ] }, { "id": 656, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 657 ] }, { "id": 657, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 658 ] }, { "id": 658, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1638, "ticks": 1 } ] }, { "id": 786, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 0, "children": [ 787 ] }, { "id": 787, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 788 ] }, { "id": 788, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 148, "ticks": 1 } ] }, { "id": 659, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 660 ] }, { "id": 660, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 661 ] }, { "id": 661, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 662 ] }, { "id": 662, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 663, 774, 776, 789, 866, 1367, 1376, 1385, 1401 ] }, { "id": 663, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 664 ] }, { "id": 664, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 665 ] }, { "id": 665, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 666 ] }, { "id": 666, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 667, 762 ] }, { "id": 667, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 668 ] }, { "id": 668, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 669 ] }, { "id": 669, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 670 ] }, { "id": 670, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 671, 673, 766 ] }, { "id": 671, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 672 ] }, { "id": 672, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 673, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 674 ] }, { "id": 674, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 675 ] }, { "id": 675, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 676 ] }, { "id": 676, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 677 ] }, { "id": 677, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 678 ] }, { "id": 678, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 679 ] }, { "id": 679, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 680 ] }, { "id": 680, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 681, 683, 711, 754 ] }, { "id": 681, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 682 ] }, { "id": 682, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 683, "callFrame": { "functionName": "", "scriptId": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 684 ] }, { "id": 684, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 685 ] }, { "id": 685, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 686 ] }, { "id": 686, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 687, 699 ] }, { "id": 687, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 688 ] }, { "id": 688, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 689 ] }, { "id": 689, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 690 ] }, { "id": 690, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 691, 701 ] }, { "id": 691, "callFrame": { "functionName": "", "scriptId": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 692 ] }, { "id": 692, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 693 ] }, { "id": 693, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 694 ] }, { "id": 694, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 695 ] }, { "id": 695, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 696 ] }, { "id": 696, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 697 ] }, { "id": 697, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 698 ] }, { "id": 698, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 701, "callFrame": { "functionName": "", "scriptId": "221", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/sync.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 702 ] }, { "id": 702, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 703 ] }, { "id": 703, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 704 ] }, { "id": 704, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 705 ] }, { "id": 705, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 706 ] }, { "id": 706, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 707 ] }, { "id": 707, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 708 ] }, { "id": 708, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 709 ] }, { "id": 709, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 710 ] }, { "id": 710, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 699, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 700 ] }, { "id": 700, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 168, "ticks": 1 } ] }, { "id": 711, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 712 ] }, { "id": 712, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 713 ] }, { "id": 713, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 714 ] }, { "id": 714, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 715 ] }, { "id": 715, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 716 ] }, { "id": 716, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 717 ] }, { "id": 717, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 718 ] }, { "id": 718, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 719, 721 ] }, { "id": 719, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 720 ] }, { "id": 720, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 721, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 722 ] }, { "id": 722, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 723 ] }, { "id": 723, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 724 ] }, { "id": 724, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 725 ] }, { "id": 725, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 726 ] }, { "id": 726, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 727, 753 ] }, { "id": 727, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 728 ] }, { "id": 728, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 729, 747 ] }, { "id": 729, "callFrame": { "functionName": "", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 730 ] }, { "id": 730, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 731 ] }, { "id": 731, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 732 ] }, { "id": 732, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 733 ] }, { "id": 733, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 734 ] }, { "id": 734, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 735 ] }, { "id": 735, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 736 ] }, { "id": 736, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 737 ] }, { "id": 737, "callFrame": { "functionName": "", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 738 ] }, { "id": 738, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 739 ] }, { "id": 739, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 740 ] }, { "id": 740, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 741 ] }, { "id": 741, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 742 ] }, { "id": 742, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 743 ] }, { "id": 743, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 744 ] }, { "id": 744, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 745 ] }, { "id": 745, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 746 ] }, { "id": 746, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 747, "callFrame": { "functionName": "", "scriptId": "232", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 748 ] }, { "id": 748, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 749 ] }, { "id": 749, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 750 ] }, { "id": 750, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 751 ] }, { "id": 751, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 752 ] }, { "id": 752, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 168, "ticks": 1 } ] }, { "id": 753, "callFrame": { "functionName": "Module._extensions..json", "scriptId": "42", "url": "module.js", "lineNumber": 584, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 588, "ticks": 1 } ] }, { "id": 754, "callFrame": { "functionName": "", "scriptId": "236", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 755 ] }, { "id": 755, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 756 ] }, { "id": 756, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 757 ] }, { "id": 757, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 758 ] }, { "id": 758, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 759 ] }, { "id": 759, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 760 ] }, { "id": 760, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 761 ] }, { "id": 761, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 766, "callFrame": { "functionName": "", "scriptId": "241", "url": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules/readdir.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 767 ] }, { "id": 767, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 768 ] }, { "id": 768, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 769 ] }, { "id": 769, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 770 ] }, { "id": 770, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 771 ] }, { "id": 771, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 772 ] }, { "id": 772, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 773 ] }, { "id": 773, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 762, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 763 ] }, { "id": 763, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 764 ] }, { "id": 764, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 765 ] }, { "id": 765, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 774, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 775, 865 ] }, { "id": 775, "callFrame": { "functionName": "Script.runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 865, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 116, "ticks": 2 } ] }, { "id": 776, "callFrame": { "functionName": "", "scriptId": "245", "url": "/usr/local/lib/node_modules/npm/lib/utils/locker.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 777 ] }, { "id": 777, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 778 ] }, { "id": 778, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 779 ] }, { "id": 779, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 780 ] }, { "id": 780, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 781 ] }, { "id": 781, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 782 ] }, { "id": 782, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 783 ] }, { "id": 783, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 784 ] }, { "id": 784, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 785 ] }, { "id": 785, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 789, "callFrame": { "functionName": "", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 790, 863 ] }, { "id": 790, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 791 ] }, { "id": 791, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 792 ] }, { "id": 792, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 793 ] }, { "id": 793, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 794 ] }, { "id": 794, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 795 ] }, { "id": 795, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 796 ] }, { "id": 796, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 797, 850 ] }, { "id": 797, "callFrame": { "functionName": "", "scriptId": "252", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/bluebird.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 798, 807 ], "positionTicks": [ { "line": 9, "ticks": 1 } ] }, { "id": 798, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 799 ] }, { "id": 799, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 800 ] }, { "id": 800, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 801 ] }, { "id": 801, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 802 ] }, { "id": 802, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 803 ] }, { "id": 803, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 804 ] }, { "id": 804, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 805 ] }, { "id": 805, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 806 ] }, { "id": 806, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 807, "callFrame": { "functionName": "module.exports", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 1, "columnNumber": 25 }, "hitCount": 4, "children": [ 808, 835, 842, 848 ], "positionTicks": [ { "line": 738, "ticks": 1 }, { "line": 52, "ticks": 1 }, { "line": 741, "ticks": 1 }, { "line": 750, "ticks": 1 } ] }, { "id": 808, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 809 ] }, { "id": 809, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 810 ] }, { "id": 810, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 1, "children": [ 811, 836, 845 ], "positionTicks": [ { "line": 453, "ticks": 1 } ] }, { "id": 811, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 812 ] }, { "id": 812, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 813 ] }, { "id": 813, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 814 ] }, { "id": 814, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 815, 819, 830, 833 ] }, { "id": 815, "callFrame": { "functionName": "", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 816 ] }, { "id": 816, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 817 ] }, { "id": 817, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 818 ] }, { "id": 818, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 432, "ticks": 1 } ] }, { "id": 819, "callFrame": { "functionName": "", "scriptId": "256", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 820 ] }, { "id": 820, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 821 ] }, { "id": 821, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 822 ] }, { "id": 822, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 823 ] }, { "id": 823, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 824 ] }, { "id": 824, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 825 ] }, { "id": 825, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 826 ] }, { "id": 826, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 827 ] }, { "id": 827, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 0, "children": [ 828 ] }, { "id": 828, "callFrame": { "functionName": "get", "scriptId": "10", "url": "native collection.js", "lineNumber": 233, "columnNumber": 15 }, "hitCount": 0, "children": [ 829 ] }, { "id": 829, "callFrame": { "functionName": "GetExistingHash", "scriptId": "10", "url": "native collection.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 234, "ticks": 1 } ] }, { "id": 830, "callFrame": { "functionName": "", "scriptId": "259", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/errors.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 831 ] }, { "id": 831, "callFrame": { "functionName": "subError", "scriptId": "259", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/errors.js", "lineNumber": 7, "columnNumber": 17 }, "hitCount": 0, "children": [ 832 ] }, { "id": 832, "callFrame": { "functionName": "inherits", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 26, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 42, "ticks": 1 } ] }, { "id": 833, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 834, 841 ] }, { "id": 834, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 6, "positionTicks": [ { "line": 116, "ticks": 6 } ] }, { "id": 841, "callFrame": { "functionName": "Script.runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 39, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 836, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 837 ] }, { "id": 837, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 838 ] }, { "id": 838, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 839 ] }, { "id": 839, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 1, "children": [ 840 ], "positionTicks": [ { "line": 144, "ticks": 1 } ] }, { "id": 840, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1661, "ticks": 1 } ] }, { "id": 845, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 846 ] }, { "id": 846, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 0, "children": [ 847 ] }, { "id": 847, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 1152, "ticks": 1 } ] }, { "id": 835, "callFrame": { "functionName": "module.exports", "scriptId": "263", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/debuggability.js", "lineNumber": 1, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 863, "ticks": 1 } ] }, { "id": 842, "callFrame": { "functionName": "module.exports", "scriptId": "273", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/join.js", "lineNumber": 2, "columnNumber": 8 }, "hitCount": 0, "children": [ 843, 844 ] }, { "id": 843, "callFrame": { "functionName": "promiseSetter", "scriptId": "273", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/join.js", "lineNumber": 20, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 22, "ticks": 1 } ] }, { "id": 844, "callFrame": { "functionName": "generateHolderClass", "scriptId": "273", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/join.js", "lineNumber": 27, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 93, "ticks": 1 } ] }, { "id": 848, "callFrame": { "functionName": "setBounds", "scriptId": "263", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/debuggability.js", "lineNumber": 671, "columnNumber": 18 }, "hitCount": 0, "children": [ 849 ] }, { "id": 849, "callFrame": { "functionName": "get stack", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 712, "ticks": 1 } ] }, { "id": 850, "callFrame": { "functionName": "", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 851 ] }, { "id": 851, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 852 ] }, { "id": 852, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 853 ] }, { "id": 853, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 854, 860 ] }, { "id": 854, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 855 ] }, { "id": 855, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 856 ] }, { "id": 856, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 857 ] }, { "id": 857, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 858 ] }, { "id": 858, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 859 ] }, { "id": 859, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 860, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 861 ] }, { "id": 861, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 1, "children": [ 862 ], "positionTicks": [ { "line": 120, "ticks": 1 } ] }, { "id": 862, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 92, "ticks": 1 } ] }, { "id": 863, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 864 ] }, { "id": 864, "callFrame": { "functionName": "copyDescriptors", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 267, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 268, "ticks": 1 } ] }, { "id": 866, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 867 ] }, { "id": 867, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 868 ] }, { "id": 868, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 869 ] }, { "id": 869, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 870 ] }, { "id": 870, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 871 ] }, { "id": 871, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 1, "children": [ 872 ], "positionTicks": [ { "line": 494, "ticks": 1 } ] }, { "id": 872, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 873, 1266 ] }, { "id": 873, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 874, 1272, 1274 ] }, { "id": 874, "callFrame": { "functionName": "", "scriptId": "321", "url": "/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 875 ], "positionTicks": [ { "line": 10, "ticks": 1 } ] }, { "id": 875, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 876 ] }, { "id": 876, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 877 ] }, { "id": 877, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 878 ] }, { "id": 878, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 879 ] }, { "id": 879, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 880 ] }, { "id": 880, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 881 ] }, { "id": 881, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 882, 900, 1256 ] }, { "id": 882, "callFrame": { "functionName": "", "scriptId": "324", "url": "/usr/local/lib/node_modules/npm/lib/utils/temp-filename.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 883 ] }, { "id": 883, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 884 ] }, { "id": 884, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 885 ] }, { "id": 885, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 886 ] }, { "id": 886, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 887 ] }, { "id": 887, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 888 ] }, { "id": 888, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 889 ] }, { "id": 889, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 890 ] }, { "id": 890, "callFrame": { "functionName": "", "scriptId": "325", "url": "/usr/local/lib/node_modules/npm/node_modules/unique-filename/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 891 ] }, { "id": 891, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 892 ] }, { "id": 892, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 893 ] }, { "id": 893, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 894 ] }, { "id": 894, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 895 ] }, { "id": 895, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 896 ] }, { "id": 896, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 897 ] }, { "id": 897, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 898 ] }, { "id": 898, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 899 ] }, { "id": 899, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 900, "callFrame": { "functionName": "", "scriptId": "327", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 901 ] }, { "id": 901, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 902 ] }, { "id": 902, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 903 ] }, { "id": 903, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 904 ] }, { "id": 904, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 905 ] }, { "id": 905, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 906 ] }, { "id": 906, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 907 ] }, { "id": 907, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 908, 910, 1186, 1249 ] }, { "id": 908, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 909 ] }, { "id": 909, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 910, "callFrame": { "functionName": "", "scriptId": "328", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/extract.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 911 ] }, { "id": 911, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 912 ] }, { "id": 912, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 913 ] }, { "id": 913, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 914 ] }, { "id": 914, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 915 ] }, { "id": 915, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 916 ] }, { "id": 916, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 917 ] }, { "id": 917, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 918, 1110, 1166, 1176 ] }, { "id": 918, "callFrame": { "functionName": "", "scriptId": "329", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 919 ] }, { "id": 919, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 920 ] }, { "id": 920, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 921 ] }, { "id": 921, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 922 ] }, { "id": 922, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 923 ] }, { "id": 923, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 924 ] }, { "id": 924, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 925 ] }, { "id": 925, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 926, 928 ] }, { "id": 926, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 927 ] }, { "id": 927, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 928, "callFrame": { "functionName": "", "scriptId": "330", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/locales/en.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 929 ] }, { "id": 929, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 930 ] }, { "id": 930, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 931 ] }, { "id": 931, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 932 ] }, { "id": 932, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 933 ] }, { "id": 933, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 934 ] }, { "id": 934, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 935 ] }, { "id": 935, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 936, 1027, 1060, 1081, 1086, 1102, 1104 ] }, { "id": 936, "callFrame": { "functionName": "", "scriptId": "331", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/ls.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 937 ] }, { "id": 937, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 938 ] }, { "id": 938, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 939 ] }, { "id": 939, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 940 ] }, { "id": 940, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 941 ] }, { "id": 941, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 942 ] }, { "id": 942, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 943 ] }, { "id": 943, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 944 ] }, { "id": 944, "callFrame": { "functionName": "", "scriptId": "332", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/entry-index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 945, 1024 ] }, { "id": 945, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 946 ] }, { "id": 946, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 947 ] }, { "id": 947, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 948, 1022 ] }, { "id": 948, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 949 ] }, { "id": 949, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 950 ] }, { "id": 950, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 951 ] }, { "id": 951, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 952, 954, 964, 969 ] }, { "id": 952, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 953 ] }, { "id": 953, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 954, "callFrame": { "functionName": "", "scriptId": "333", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/path.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 955 ] }, { "id": 955, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 956 ] }, { "id": 956, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 957 ] }, { "id": 957, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 958 ] }, { "id": 958, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 959 ] }, { "id": 959, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 960 ] }, { "id": 960, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 961 ] }, { "id": 961, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 962 ] }, { "id": 962, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 963 ] }, { "id": 963, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 964, "callFrame": { "functionName": "", "scriptId": "336", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/util/fix-owner.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 965 ] }, { "id": 965, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 966 ] }, { "id": 966, "callFrame": { "functionName": "promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 262, "columnNumber": 18 }, "hitCount": 0, "children": [ 967 ] }, { "id": 967, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 0, "children": [ 968 ] }, { "id": 968, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 969, "callFrame": { "functionName": "", "scriptId": "340", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 970 ] }, { "id": 970, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 971 ] }, { "id": 971, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 972 ] }, { "id": 972, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 973 ] }, { "id": 973, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 974 ] }, { "id": 974, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 975 ] }, { "id": 975, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 976 ] }, { "id": 976, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 977, 983, 1011, 1013 ] }, { "id": 977, "callFrame": { "functionName": "", "scriptId": "343", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/stream-each/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 978 ] }, { "id": 978, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 979 ] }, { "id": 979, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 980 ] }, { "id": 980, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 981 ] }, { "id": 981, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 982 ] }, { "id": 982, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 502, "ticks": 1 } ] }, { "id": 983, "callFrame": { "functionName": "", "scriptId": "345", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/pumpify/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 984 ] }, { "id": 984, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 985 ] }, { "id": 985, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 986 ] }, { "id": 986, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 987 ] }, { "id": 987, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 988 ] }, { "id": 988, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 989 ] }, { "id": 989, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 990 ] }, { "id": 990, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 991, 993 ] }, { "id": 991, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 992 ] }, { "id": 992, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 993, "callFrame": { "functionName": "", "scriptId": "346", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 994 ] }, { "id": 994, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 995 ] }, { "id": 995, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 996 ] }, { "id": 996, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 997 ] }, { "id": 997, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 998 ] }, { "id": 998, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 999 ] }, { "id": 999, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1000 ] }, { "id": 1000, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1001 ] }, { "id": 1001, "callFrame": { "functionName": "", "scriptId": "347", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify/node_modules/end-of-stream/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1002 ] }, { "id": 1002, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1003 ] }, { "id": 1003, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1004 ] }, { "id": 1004, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1005 ] }, { "id": 1005, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1006 ] }, { "id": 1006, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1007 ] }, { "id": 1007, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1008 ] }, { "id": 1008, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1009 ] }, { "id": 1009, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1010 ] }, { "id": 1010, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1011, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1012 ] }, { "id": 1012, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1013, "callFrame": { "functionName": "", "scriptId": "353", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/concat-stream/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1014 ] }, { "id": 1014, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1015 ] }, { "id": 1015, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1016 ] }, { "id": 1016, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1017 ] }, { "id": 1017, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1018 ] }, { "id": 1018, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 1019 ] }, { "id": 1019, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 1020 ] }, { "id": 1020, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 0, "children": [ 1021 ] }, { "id": 1021, "callFrame": { "functionName": "StackPush", "scriptId": "6", "url": "native array.js", "lineNumber": 80, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 81, "ticks": 1 } ] }, { "id": 1022, "callFrame": { "functionName": "NativeModule.nonInternalExists", "scriptId": "22", "url": "module.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1023 ] }, { "id": 1023, "callFrame": { "functionName": "NativeModule.isInternal", "scriptId": "22", "url": "module.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 445, "ticks": 1 } ] }, { "id": 1024, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 1025 ] }, { "id": 1025, "callFrame": { "functionName": "promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 262, "columnNumber": 18 }, "hitCount": 0, "children": [ 1026 ] }, { "id": 1026, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 1, "positionTicks": [ { "line": 194, "ticks": 1 } ] }, { "id": 1027, "callFrame": { "functionName": "", "scriptId": "359", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/get.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1028 ] }, { "id": 1028, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1029 ] }, { "id": 1029, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1030 ] }, { "id": 1030, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1031 ] }, { "id": 1031, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1032 ] }, { "id": 1032, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1033 ] }, { "id": 1033, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1034 ] }, { "id": 1034, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1035, 1045 ] }, { "id": 1035, "callFrame": { "functionName": "", "scriptId": "360", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/memoization.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1036 ] }, { "id": 1036, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1037 ] }, { "id": 1037, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1038 ] }, { "id": 1038, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1039 ] }, { "id": 1039, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1040 ] }, { "id": 1040, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1041 ] }, { "id": 1041, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1042 ] }, { "id": 1042, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1043 ] }, { "id": 1043, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1044 ] }, { "id": 1044, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1045, "callFrame": { "functionName": "", "scriptId": "364", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/read.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 1046 ], "positionTicks": [ { "line": 12, "ticks": 1 } ] }, { "id": 1046, "callFrame": { "functionName": "Promise.promisifyAll", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 282, "columnNumber": 32 }, "hitCount": 0, "children": [ 1047 ] }, { "id": 1047, "callFrame": { "functionName": "promisifyAll", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 237, "columnNumber": 21 }, "hitCount": 1, "children": [ 1048, 1049 ], "positionTicks": [ { "line": 249, "ticks": 1 } ] }, { "id": 1048, "callFrame": { "functionName": "promisifiableMethods", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 61, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 77, "ticks": 1 } ] }, { "id": 1049, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 9, "children": [ 1050, 1051, 1058, 1059 ], "positionTicks": [ { "line": 194, "ticks": 9 } ] }, { "id": 1050, "callFrame": { "functionName": "parameterCount", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 107, "columnNumber": 29 }, "hitCount": 5, "children": [ 1057 ], "positionTicks": [ { "line": 108, "ticks": 5 } ] }, { "id": 1057, "callFrame": { "functionName": "get length", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 108, "ticks": 1 } ] }, { "id": 1051, "callFrame": { "functionName": "generateArgumentSwitchCase", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 134, "columnNumber": 39 }, "hitCount": 0, "children": [ 1052 ] }, { "id": 1052, "callFrame": { "functionName": "generateCallForArgumentCount", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 120, "columnNumber": 41 }, "hitCount": 0, "children": [ 1053 ] }, { "id": 1053, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 1054 ] }, { "id": 1054, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 1055 ] }, { "id": 1055, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 0, "children": [ 1056 ] }, { "id": 1056, "callFrame": { "functionName": "StackPop", "scriptId": "6", "url": "native array.js", "lineNumber": 83, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 84, "ticks": 1 } ] }, { "id": 1058, "callFrame": { "functionName": "switchCaseArgumentOrder", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 86, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 87, "ticks": 1 } ] }, { "id": 1059, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1060, "callFrame": { "functionName": "", "scriptId": "503", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/put.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1061 ] }, { "id": 1061, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1062 ] }, { "id": 1062, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1063 ] }, { "id": 1063, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1064 ] }, { "id": 1064, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1065 ] }, { "id": 1065, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1066 ] }, { "id": 1066, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1067 ] }, { "id": 1067, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1068 ] }, { "id": 1068, "callFrame": { "functionName": "", "scriptId": "504", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/write.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1069 ] }, { "id": 1069, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1070 ] }, { "id": 1070, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1071 ] }, { "id": 1071, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1072 ] }, { "id": 1072, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1073 ] }, { "id": 1073, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1074 ] }, { "id": 1074, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1075 ] }, { "id": 1075, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1076 ] }, { "id": 1076, "callFrame": { "functionName": "", "scriptId": "505", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/util/move-file.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1077 ] }, { "id": 1077, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1078 ] }, { "id": 1078, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1079 ] }, { "id": 1079, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1080 ] }, { "id": 1080, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 168, "ticks": 1 } ] }, { "id": 1081, "callFrame": { "functionName": "", "scriptId": "508", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/rm.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1082 ] }, { "id": 1082, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1083 ] }, { "id": 1083, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1084 ] }, { "id": 1084, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1085 ] }, { "id": 1085, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 165, "ticks": 1 } ] }, { "id": 1086, "callFrame": { "functionName": "", "scriptId": "510", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/verify.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1087 ] }, { "id": 1087, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1088 ] }, { "id": 1088, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1089 ] }, { "id": 1089, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1090 ] }, { "id": 1090, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1091 ] }, { "id": 1091, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1092 ] }, { "id": 1092, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1093 ] }, { "id": 1093, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1094 ] }, { "id": 1094, "callFrame": { "functionName": "", "scriptId": "511", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/verify.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1095 ] }, { "id": 1095, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1096 ] }, { "id": 1096, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1097 ] }, { "id": 1097, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1098 ] }, { "id": 1098, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1099 ] }, { "id": 1099, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1100 ] }, { "id": 1100, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 1101 ] }, { "id": 1101, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 144, "ticks": 1 } ] }, { "id": 1102, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1103 ] }, { "id": 1103, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1104, "callFrame": { "functionName": "", "scriptId": "512", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/util/tmp.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1105 ] }, { "id": 1105, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 1106 ] }, { "id": 1106, "callFrame": { "functionName": "promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 262, "columnNumber": 18 }, "hitCount": 0, "children": [ 1107 ] }, { "id": 1107, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 0, "children": [ 1108 ] }, { "id": 1108, "callFrame": { "functionName": "parameterDeclaration", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 102, "columnNumber": 35 }, "hitCount": 0, "children": [ 1109 ] }, { "id": 1109, "callFrame": { "functionName": "filledRange", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 208, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 211, "ticks": 1 } ] }, { "id": 1110, "callFrame": { "functionName": "", "scriptId": "513", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/extract-stream.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1111 ] }, { "id": 1111, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1112 ] }, { "id": 1112, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1113 ] }, { "id": 1113, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1114, 1125 ] }, { "id": 1114, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1115 ] }, { "id": 1115, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1116 ] }, { "id": 1116, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1117 ] }, { "id": 1117, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1118, 1128 ] }, { "id": 1118, "callFrame": { "functionName": "", "scriptId": "514", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/gunzip-maybe.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1119 ] }, { "id": 1119, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1120 ] }, { "id": 1120, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1121 ] }, { "id": 1121, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1122 ] }, { "id": 1122, "callFrame": { "functionName": "NativeModule.require", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 480, "columnNumber": 33 }, "hitCount": 0, "children": [ 1123 ] }, { "id": 1123, "callFrame": { "functionName": "NativeModule.compile", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 550, "columnNumber": 43 }, "hitCount": 0, "children": [ 1124 ] }, { "id": 1124, "callFrame": { "functionName": "runInThisContext", "scriptId": "22", "url": "bootstrap_node.js", "lineNumber": 464, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 1128, "callFrame": { "functionName": "", "scriptId": "516", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1129 ] }, { "id": 1129, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1130 ] }, { "id": 1130, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1131 ] }, { "id": 1131, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1132 ] }, { "id": 1132, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1133 ] }, { "id": 1133, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1134 ] }, { "id": 1134, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1135 ] }, { "id": 1135, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1136, 1156 ] }, { "id": 1136, "callFrame": { "functionName": "", "scriptId": "517", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1137 ] }, { "id": 1137, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1138 ] }, { "id": 1138, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1139 ] }, { "id": 1139, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1140 ] }, { "id": 1140, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1141 ] }, { "id": 1141, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1142 ] }, { "id": 1142, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1143 ] }, { "id": 1143, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1144, 1146 ] }, { "id": 1144, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1145 ] }, { "id": 1145, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1146, "callFrame": { "functionName": "", "scriptId": "518", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream/extract.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1147 ] }, { "id": 1147, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1148 ] }, { "id": 1148, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1149 ] }, { "id": 1149, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1150 ] }, { "id": 1150, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1151 ] }, { "id": 1151, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1152 ] }, { "id": 1152, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1153 ] }, { "id": 1153, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1154 ] }, { "id": 1154, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1155 ] }, { "id": 1155, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1156, "callFrame": { "functionName": "", "scriptId": "525", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs/node_modules/pump/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1157 ] }, { "id": 1157, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1158 ] }, { "id": 1158, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1159 ] }, { "id": 1159, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1160 ] }, { "id": 1160, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1161 ] }, { "id": 1161, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1162 ] }, { "id": 1162, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1163 ] }, { "id": 1163, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1164 ] }, { "id": 1164, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1165 ] }, { "id": 1165, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1125, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1126 ] }, { "id": 1126, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1127 ] }, { "id": 1127, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1166, "callFrame": { "functionName": "", "scriptId": "527", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/opt-check.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1167 ] }, { "id": 1167, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1168 ] }, { "id": 1168, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1169 ] }, { "id": 1169, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1170 ] }, { "id": 1170, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1171 ] }, { "id": 1171, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1172 ] }, { "id": 1172, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1173 ] }, { "id": 1173, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1174 ] }, { "id": 1174, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1175 ] }, { "id": 1175, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1176, "callFrame": { "functionName": "", "scriptId": "529", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/promise-retry/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1177 ] }, { "id": 1177, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1178 ] }, { "id": 1178, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1179 ] }, { "id": 1179, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1180 ] }, { "id": 1180, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1181 ] }, { "id": 1181, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1182 ] }, { "id": 1182, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1183 ] }, { "id": 1183, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1184 ] }, { "id": 1184, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1185 ] }, { "id": 1185, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1186, "callFrame": { "functionName": "", "scriptId": "534", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/manifest.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1187 ] }, { "id": 1187, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1188 ] }, { "id": 1188, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1189 ] }, { "id": 1189, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1190 ] }, { "id": 1190, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1191 ] }, { "id": 1191, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1192 ] }, { "id": 1192, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1193 ] }, { "id": 1193, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1194, 1229 ] }, { "id": 1194, "callFrame": { "functionName": "", "scriptId": "535", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1195 ] }, { "id": 1195, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1196 ] }, { "id": 1196, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1197 ] }, { "id": 1197, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1198, 1201 ] }, { "id": 1198, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1199 ] }, { "id": 1199, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1200 ] }, { "id": 1200, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1201, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1202 ] }, { "id": 1202, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1203 ] }, { "id": 1203, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1204 ] }, { "id": 1204, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1205 ] }, { "id": 1205, "callFrame": { "functionName": "", "scriptId": "536", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "children": [ 1206, 1221 ], "positionTicks": [ { "line": 82, "ticks": 1 } ] }, { "id": 1206, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1207 ] }, { "id": 1207, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1208 ] }, { "id": 1208, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1209 ] }, { "id": 1209, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1210 ] }, { "id": 1210, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1211 ] }, { "id": 1211, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1212 ] }, { "id": 1212, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1213 ] }, { "id": 1213, "callFrame": { "functionName": "", "scriptId": "537", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/genfun.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1214 ] }, { "id": 1214, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1215 ] }, { "id": 1215, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1216 ] }, { "id": 1216, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1217 ] }, { "id": 1217, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1218 ] }, { "id": 1218, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1219 ] }, { "id": 1219, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1220 ] }, { "id": 1220, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 550, "ticks": 1 } ] }, { "id": 1221, "callFrame": { "functionName": "impl", "scriptId": "536", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/index.js", "lineNumber": 6, "columnNumber": 7 }, "hitCount": 0, "children": [ 1222 ] }, { "id": 1222, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1223 ] }, { "id": 1223, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1224 ] }, { "id": 1224, "callFrame": { "functionName": "_methodNames.forEach.name", "scriptId": "536", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/index.js", "lineNumber": 31, "columnNumber": 30 }, "hitCount": 0, "children": [ 1225 ] }, { "id": 1225, "callFrame": { "functionName": "defineMethod", "scriptId": "536", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/index.js", "lineNumber": 154, "columnNumber": 22 }, "hitCount": 0, "children": [ 1226 ] }, { "id": 1226, "callFrame": { "functionName": "_metaAddMethod", "scriptId": "536", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/index.js", "lineNumber": 290, "columnNumber": 24 }, "hitCount": 0, "children": [ 1227 ] }, { "id": 1227, "callFrame": { "functionName": "addMethod", "scriptId": "537", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/genfun.js", "lineNumber": 58, "columnNumber": 42 }, "hitCount": 0, "children": [ 1228 ] }, { "id": 1228, "callFrame": { "functionName": "Method", "scriptId": "538", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/method.js", "lineNumber": 22, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 28, "ticks": 1 } ] }, { "id": 1229, "callFrame": { "functionName": "", "scriptId": "541", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/finalize-manifest.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1230 ] }, { "id": 1230, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1231 ] }, { "id": 1231, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1232 ] }, { "id": 1232, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1233 ] }, { "id": 1233, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1234 ] }, { "id": 1234, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1235 ] }, { "id": 1235, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1236, 1238 ] }, { "id": 1236, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 1237 ] }, { "id": 1237, "callFrame": { "functionName": "CompareICStub", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1238, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1239 ] }, { "id": 1239, "callFrame": { "functionName": "", "scriptId": "543", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/minimatch/minimatch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1240 ] }, { "id": 1240, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1241 ] }, { "id": 1241, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1242 ] }, { "id": 1242, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1243 ] }, { "id": 1243, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1244 ] }, { "id": 1244, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1245 ] }, { "id": 1245, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1246 ] }, { "id": 1246, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1247 ] }, { "id": 1247, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1248 ] }, { "id": 1248, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1249, "callFrame": { "functionName": "", "scriptId": "547", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/prefetch.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1250 ] }, { "id": 1250, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 1251 ] }, { "id": 1251, "callFrame": { "functionName": "promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 262, "columnNumber": 18 }, "hitCount": 0, "children": [ 1252 ] }, { "id": 1252, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 0, "children": [ 1253 ] }, { "id": 1253, "callFrame": { "functionName": "generateArgumentSwitchCase", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 134, "columnNumber": 39 }, "hitCount": 0, "children": [ 1254 ] }, { "id": 1254, "callFrame": { "functionName": "generateCallForArgumentCount", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 120, "columnNumber": 41 }, "hitCount": 0, "children": [ 1255 ] }, { "id": 1255, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1256, "callFrame": { "functionName": "", "scriptId": "548", "url": "/usr/local/lib/node_modules/npm/node_modules/lru-cache/lib/lru-cache.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1257 ] }, { "id": 1257, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1258 ] }, { "id": 1258, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1259 ] }, { "id": 1259, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1260 ] }, { "id": 1260, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1261 ] }, { "id": 1261, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1262 ] }, { "id": 1262, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1263 ] }, { "id": 1263, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1264 ] }, { "id": 1264, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1265 ] }, { "id": 1265, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1272, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1273 ] }, { "id": 1273, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1274, "callFrame": { "functionName": "", "scriptId": "560", "url": "/usr/local/lib/node_modules/npm/lib/install/save.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1275, 1363 ] }, { "id": 1275, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1276 ] }, { "id": 1276, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1277 ] }, { "id": 1277, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1278, 1359 ] }, { "id": 1278, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1279 ] }, { "id": 1279, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1280 ] }, { "id": 1280, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1281 ] }, { "id": 1281, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1282, 1365 ] }, { "id": 1282, "callFrame": { "functionName": "", "scriptId": "561", "url": "/usr/local/lib/node_modules/npm/lib/shrinkwrap.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1283, 1293 ] }, { "id": 1283, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1284 ] }, { "id": 1284, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1285 ] }, { "id": 1285, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1286, 1299 ] }, { "id": 1286, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1287 ] }, { "id": 1287, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1288 ] }, { "id": 1288, "callFrame": { "functionName": "tryExtensions", "scriptId": "42", "url": "module.js", "lineNumber": 148, "columnNumber": 22 }, "hitCount": 0, "children": [ 1289 ] }, { "id": 1289, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": 133, "columnNumber": 16 }, "hitCount": 0, "children": [ 1290 ] }, { "id": 1290, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 1291 ] }, { "id": 1291, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 0, "children": [ 1292 ] }, { "id": 1292, "callFrame": { "functionName": "set", "scriptId": "10", "url": "native collection.js", "lineNumber": 246, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 247, "ticks": 1 } ] }, { "id": 1299, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1300 ] }, { "id": 1300, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1301 ] }, { "id": 1301, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1302 ] }, { "id": 1302, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1303, 1305, 1323 ] }, { "id": 1303, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1304 ] }, { "id": 1304, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1305, "callFrame": { "functionName": "", "scriptId": "565", "url": "/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1306 ] }, { "id": 1306, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1307 ] }, { "id": 1307, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1308 ] }, { "id": 1308, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1309 ] }, { "id": 1309, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1310 ] }, { "id": 1310, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1311 ] }, { "id": 1311, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1312 ] }, { "id": 1312, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1313 ] }, { "id": 1313, "callFrame": { "functionName": "", "scriptId": "566", "url": "/usr/local/lib/node_modules/npm/lib/utils/spawn.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1314 ] }, { "id": 1314, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1315 ] }, { "id": 1315, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1316 ] }, { "id": 1316, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1317 ] }, { "id": 1317, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1318 ] }, { "id": 1318, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1319 ] }, { "id": 1319, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1320 ] }, { "id": 1320, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 1321 ] }, { "id": 1321, "callFrame": { "functionName": "fs.openSync", "scriptId": "45", "url": "fs.js", "lineNumber": 646, "columnNumber": 22 }, "hitCount": 0, "children": [ 1322 ] }, { "id": 1322, "callFrame": { "functionName": "getPathFromURL", "scriptId": "38", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 650, "ticks": 1 } ] }, { "id": 1323, "callFrame": { "functionName": "", "scriptId": "568", "url": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently/move.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1324 ] }, { "id": 1324, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1325 ] }, { "id": 1325, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1326 ] }, { "id": 1326, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1327 ] }, { "id": 1327, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1328 ] }, { "id": 1328, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1329 ] }, { "id": 1329, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1330, 1336 ] }, { "id": 1330, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 1331 ] }, { "id": 1331, "callFrame": { "functionName": "tryCreateBuffer", "scriptId": "45", "url": "fs.js", "lineNumber": 525, "columnNumber": 24 }, "hitCount": 0, "children": [ 1332 ] }, { "id": 1332, "callFrame": { "functionName": "Buffer.allocUnsafe", "scriptId": "25", "url": "buffer.js", "lineNumber": 207, "columnNumber": 29 }, "hitCount": 0, "children": [ 1333 ] }, { "id": 1333, "callFrame": { "functionName": "allocate", "scriptId": "25", "url": "buffer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1334 ] }, { "id": 1334, "callFrame": { "functionName": "createUnsafeBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1335 ] }, { "id": 1335, "callFrame": { "functionName": "createUnsafeArrayBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": 62, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 63, "ticks": 1 } ] }, { "id": 1336, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1337 ] }, { "id": 1337, "callFrame": { "functionName": "", "scriptId": "569", "url": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently/node_modules/copy-concurrently/copy.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1338 ] }, { "id": 1338, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1339 ] }, { "id": 1339, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1340 ] }, { "id": 1340, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1341 ] }, { "id": 1341, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1342 ] }, { "id": 1342, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1343 ] }, { "id": 1343, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1344 ] }, { "id": 1344, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1345, 1357 ] }, { "id": 1345, "callFrame": { "functionName": "", "scriptId": "570", "url": "/usr/local/lib/node_modules/npm/node_modules/fs-write-stream-atomic/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1346 ] }, { "id": 1346, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1347 ] }, { "id": 1347, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1348 ] }, { "id": 1348, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1349 ] }, { "id": 1349, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1350 ] }, { "id": 1350, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1351 ] }, { "id": 1351, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1352 ] }, { "id": 1352, "callFrame": { "functionName": "tryFile", "scriptId": "42", "url": "module.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1353 ] }, { "id": 1353, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 1354 ] }, { "id": 1354, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 0, "children": [ 1355 ] }, { "id": 1355, "callFrame": { "functionName": "get", "scriptId": "10", "url": "native collection.js", "lineNumber": 233, "columnNumber": 15 }, "hitCount": 0, "children": [ 1356 ] }, { "id": 1356, "callFrame": { "functionName": "GetExistingHash", "scriptId": "10", "url": "native collection.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 234, "ticks": 1 } ] }, { "id": 1357, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1358 ] }, { "id": 1358, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1293, "callFrame": { "functionName": "Promise.promisifyAll", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 282, "columnNumber": 32 }, "hitCount": 0, "children": [ 1294, 1297 ] }, { "id": 1294, "callFrame": { "functionName": "promisifyAll", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 237, "columnNumber": 21 }, "hitCount": 0, "children": [ 1295 ] }, { "id": 1295, "callFrame": { "functionName": "promisifiableMethods", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 61, "columnNumber": 29 }, "hitCount": 0, "children": [ 1296 ] }, { "id": 1296, "callFrame": { "functionName": "hasProp", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 122, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 145, "ticks": 1 } ] }, { "id": 1297, "callFrame": { "functionName": "isClass", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 171, "columnNumber": 16 }, "hitCount": 0, "children": [ 1298 ] }, { "id": 1298, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1365, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1366 ] }, { "id": 1366, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1359, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1360 ] }, { "id": 1360, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1361 ] }, { "id": 1361, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1362 ] }, { "id": 1362, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1363, "callFrame": { "functionName": "Promise.promisifyAll", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 282, "columnNumber": 32 }, "hitCount": 0, "children": [ 1364 ] }, { "id": 1364, "callFrame": { "functionName": "isClass", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 171, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 178, "ticks": 1 } ] }, { "id": 1266, "callFrame": { "functionName": "fs.readFileSync", "scriptId": "45", "url": "fs.js", "lineNumber": 549, "columnNumber": 26 }, "hitCount": 0, "children": [ 1267 ] }, { "id": 1267, "callFrame": { "functionName": "tryCreateBuffer", "scriptId": "45", "url": "fs.js", "lineNumber": 525, "columnNumber": 24 }, "hitCount": 0, "children": [ 1268 ] }, { "id": 1268, "callFrame": { "functionName": "Buffer.allocUnsafe", "scriptId": "25", "url": "buffer.js", "lineNumber": 207, "columnNumber": 29 }, "hitCount": 0, "children": [ 1269 ] }, { "id": 1269, "callFrame": { "functionName": "allocate", "scriptId": "25", "url": "buffer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1270 ] }, { "id": 1270, "callFrame": { "functionName": "FastBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": 32, "columnNumber": 13 }, "hitCount": 0, "children": [ 1271 ] }, { "id": 1271, "callFrame": { "functionName": "Uint8ArrayConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1367, "callFrame": { "functionName": "", "scriptId": "577", "url": "/usr/local/lib/node_modules/npm/lib/install/diff-trees.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1368 ] }, { "id": 1368, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1369 ] }, { "id": 1369, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1370 ] }, { "id": 1370, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1371 ] }, { "id": 1371, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1372 ] }, { "id": 1372, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1373 ] }, { "id": 1373, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 1374 ] }, { "id": 1374, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 1375 ] }, { "id": 1375, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 121, "ticks": 1 } ] }, { "id": 1376, "callFrame": { "functionName": "", "scriptId": "578", "url": "/usr/local/lib/node_modules/npm/lib/install/check-permissions.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1377 ] }, { "id": 1377, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1378 ] }, { "id": 1378, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1379 ] }, { "id": 1379, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1380 ] }, { "id": 1380, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1381 ] }, { "id": 1381, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1382 ] }, { "id": 1382, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1383 ] }, { "id": 1383, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1384 ] }, { "id": 1384, "callFrame": { "functionName": "", "scriptId": "579", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.uniq/index.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 1, "positionTicks": [ { "line": 1, "ticks": 1 } ] }, { "id": 1385, "callFrame": { "functionName": "", "scriptId": "586", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-tree.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1386 ] }, { "id": 1386, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1387 ] }, { "id": 1387, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1388 ] }, { "id": 1388, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1389, 1395 ] }, { "id": 1389, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1390 ] }, { "id": 1390, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1391 ] }, { "id": 1391, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 1392 ] }, { "id": 1392, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 1393 ] }, { "id": 1393, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 0, "children": [ 1394 ] }, { "id": 1394, "callFrame": { "functionName": "DoJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 95, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 96, "ticks": 1 } ] }, { "id": 1395, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1396 ] }, { "id": 1396, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1397 ] }, { "id": 1397, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1398 ] }, { "id": 1398, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1399 ] }, { "id": 1399, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1400 ] }, { "id": 1400, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1401, "callFrame": { "functionName": "", "scriptId": "588", "url": "/usr/local/lib/node_modules/npm/lib/install/actions.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1402 ] }, { "id": 1402, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1403 ] }, { "id": 1403, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1404 ] }, { "id": 1404, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1405, 1408 ] }, { "id": 1405, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1406 ] }, { "id": 1406, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1407, 1455 ] }, { "id": 1407, "callFrame": { "functionName": "stat", "scriptId": "42", "url": "module.js", "lineNumber": 35, "columnNumber": 13 }, "hitCount": 1, "positionTicks": [ { "line": 44, "ticks": 1 } ] }, { "id": 1455, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 0, "children": [ 1456 ] }, { "id": 1456, "callFrame": { "functionName": "realpathSync", "scriptId": "45", "url": "fs.js", "lineNumber": 1580, "columnNumber": 39 }, "hitCount": 1, "positionTicks": [ { "line": 1661, "ticks": 1 } ] }, { "id": 1408, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1409 ] }, { "id": 1409, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1410 ] }, { "id": 1410, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1411 ] }, { "id": 1411, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1412, 1435, 1441, 1457, 1466 ] }, { "id": 1412, "callFrame": { "functionName": "", "scriptId": "592", "url": "/usr/local/lib/node_modules/npm/lib/install/action/extract.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1413, 1416, 1431 ] }, { "id": 1413, "callFrame": { "functionName": "Promise.promisifyAll", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 282, "columnNumber": 32 }, "hitCount": 0, "children": [ 1414 ] }, { "id": 1414, "callFrame": { "functionName": "isClass", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 171, "columnNumber": 16 }, "hitCount": 0, "children": [ 1415 ] }, { "id": 1415, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1416, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1417 ] }, { "id": 1417, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1418 ] }, { "id": 1418, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1419 ] }, { "id": 1419, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1420 ] }, { "id": 1420, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1421 ] }, { "id": 1421, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1422 ] }, { "id": 1422, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1423 ] }, { "id": 1423, "callFrame": { "functionName": "", "scriptId": "593", "url": "/usr/local/lib/node_modules/npm/lib/utils/gently-rm.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1424 ] }, { "id": 1424, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1425 ] }, { "id": 1425, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1426 ] }, { "id": 1426, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1427 ] }, { "id": 1427, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1428 ] }, { "id": 1428, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1429 ] }, { "id": 1429, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1430 ] }, { "id": 1430, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 98, "ticks": 1 } ] }, { "id": 1431, "callFrame": { "functionName": "Promise.promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 267, "columnNumber": 29 }, "hitCount": 0, "children": [ 1432 ] }, { "id": 1432, "callFrame": { "functionName": "promisify", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 262, "columnNumber": 18 }, "hitCount": 0, "children": [ 1433 ] }, { "id": 1433, "callFrame": { "functionName": "makeNodePromisifiedEval", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 115, "columnNumber": 8 }, "hitCount": 0, "children": [ 1434 ] }, { "id": 1434, "callFrame": { "functionName": "parameterCount", "scriptId": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "lineNumber": 107, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 108, "ticks": 1 } ] }, { "id": 1435, "callFrame": { "functionName": "", "scriptId": "599", "url": "/usr/local/lib/node_modules/npm/lib/install/action/build.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1436 ] }, { "id": 1436, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1437 ] }, { "id": 1437, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1438 ] }, { "id": 1438, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1439 ] }, { "id": 1439, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1440 ] }, { "id": 1440, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 350, "ticks": 1 } ] }, { "id": 1441, "callFrame": { "functionName": "", "scriptId": "606", "url": "/usr/local/lib/node_modules/npm/lib/install/action/prepare.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1442 ] }, { "id": 1442, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1443 ] }, { "id": 1443, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1444 ] }, { "id": 1444, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1445 ] }, { "id": 1445, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1446 ] }, { "id": 1446, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1447 ] }, { "id": 1447, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1448 ] }, { "id": 1448, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1449 ] }, { "id": 1449, "callFrame": { "functionName": "", "scriptId": "607", "url": "/usr/local/lib/node_modules/npm/lib/utils/warn-deprecated.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1450 ] }, { "id": 1450, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1451 ] }, { "id": 1451, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1452 ] }, { "id": 1452, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1453 ] }, { "id": 1453, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1454 ] }, { "id": 1454, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 168, "ticks": 1 } ] }, { "id": 1457, "callFrame": { "functionName": "", "scriptId": "610", "url": "/usr/local/lib/node_modules/npm/lib/install/action/move.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1458 ] }, { "id": 1458, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1459 ] }, { "id": 1459, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1460 ] }, { "id": 1460, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1461 ] }, { "id": 1461, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1462 ] }, { "id": 1462, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1463 ] }, { "id": 1463, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1464 ] }, { "id": 1464, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1465 ] }, { "id": 1465, "callFrame": { "functionName": "dirname", "scriptId": "41", "url": "path.js", "lineNumber": 1343, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 1344, "ticks": 1 } ] }, { "id": 1466, "callFrame": { "functionName": "", "scriptId": "613", "url": "/usr/local/lib/node_modules/npm/lib/install/action/global-install.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1467 ] }, { "id": 1467, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1468 ] }, { "id": 1468, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1469 ] }, { "id": 1469, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1470 ] }, { "id": 1470, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 1471 ] }, { "id": 1471, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1472 ] }, { "id": 1472, "callFrame": { "functionName": "toRealPath", "scriptId": "42", "url": "module.js", "lineNumber": 141, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 144, "ticks": 1 } ] }, { "id": 1473, "callFrame": { "functionName": "get", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 102, "columnNumber": 59 }, "hitCount": 0, "children": [ 1474 ] }, { "id": 1474, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1475 ] }, { "id": 1475, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1476 ] }, { "id": 1476, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1477 ] }, { "id": 1477, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1478 ] }, { "id": 1478, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1479 ] }, { "id": 1479, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1480 ] }, { "id": 1480, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1481 ] }, { "id": 1481, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1482 ] }, { "id": 1482, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1483 ] }, { "id": 1483, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1484 ] }, { "id": 1484, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1485 ] }, { "id": 1485, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1486 ] }, { "id": 1486, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1487 ] }, { "id": 1487, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1488 ] }, { "id": 1488, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1489, 1491, 1509 ] }, { "id": 1489, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1490 ] }, { "id": 1490, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 116, "ticks": 2 } ] }, { "id": 1491, "callFrame": { "functionName": "", "scriptId": "618", "url": "/usr/local/lib/node_modules/npm/lib/utils/completion/installed-deep.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1492 ] }, { "id": 1492, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1493 ] }, { "id": 1493, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1494 ] }, { "id": 1494, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1495 ] }, { "id": 1495, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1496 ] }, { "id": 1496, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1497 ] }, { "id": 1497, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1498 ] }, { "id": 1498, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1499 ] }, { "id": 1499, "callFrame": { "functionName": "", "scriptId": "619", "url": "/usr/local/lib/node_modules/npm/node_modules/read-installed/read-installed.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1500 ] }, { "id": 1500, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1501 ] }, { "id": 1501, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 1, "children": [ 1502 ], "positionTicks": [ { "line": 513, "ticks": 1 } ] }, { "id": 1502, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1503 ] }, { "id": 1503, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 1504 ] }, { "id": 1504, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 1505 ] }, { "id": 1505, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 1506 ] }, { "id": 1506, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 1507 ] }, { "id": 1507, "callFrame": { "functionName": "runInThisContext", "scriptId": "44", "url": "vm.js", "lineNumber": 114, "columnNumber": 25 }, "hitCount": 0, "children": [ 1508 ] }, { "id": 1508, "callFrame": { "functionName": "createScript", "scriptId": "44", "url": "vm.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 1509, "callFrame": { "functionName": "", "scriptId": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 1510 ] }, { "id": 1510, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 1511 ] }, { "id": 1511, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 1512 ] }, { "id": 1512, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 1513 ] }, { "id": 1513, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1514 ] }, { "id": 1514, "callFrame": { "functionName": "tryPackage", "scriptId": "42", "url": "module.js", "lineNumber": 113, "columnNumber": 19 }, "hitCount": 0, "children": [ 1515 ] }, { "id": 1515, "callFrame": { "functionName": "readPackage", "scriptId": "42", "url": "module.js", "lineNumber": 91, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1516, "callFrame": { "functionName": "commandCache.(anonymous function)", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 119, "columnNumber": 33 }, "hitCount": 0, "children": [ 1517 ] }, { "id": 1517, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1518 ] }, { "id": 1518, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1519 ] }, { "id": 1519, "callFrame": { "functionName": "", "scriptId": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "lineNumber": 128, "columnNumber": 40 }, "hitCount": 0, "children": [ 1520 ] }, { "id": 1520, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1521 ] }, { "id": 1521, "callFrame": { "functionName": "toString", "scriptId": "6", "url": "native array.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0 }, { "id": 1617, "callFrame": { "functionName": "flush", "scriptId": "240", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/raw.js", "lineNumber": 43, "columnNumber": 14 }, "hitCount": 0, "children": [ 1618 ] }, { "id": 1618, "callFrame": { "functionName": "RawTask.call", "scriptId": "239", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/asap.js", "lineNumber": 33, "columnNumber": 34 }, "hitCount": 0, "children": [ 1619 ] }, { "id": 1619, "callFrame": { "functionName": "", "scriptId": "238", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/dezalgo.js", "lineNumber": 15, "columnNumber": 19 }, "hitCount": 0, "children": [ 1620, 4681 ] }, { "id": 1620, "callFrame": { "functionName": "", "scriptId": "241", "url": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules/readdir.js", "lineNumber": 14, "columnNumber": 36 }, "hitCount": 0, "children": [ 1621 ] }, { "id": 1621, "callFrame": { "functionName": "thenLoadKids", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 141, "columnNumber": 24 }, "hitCount": 0, "children": [ 1622 ] }, { "id": 1622, "callFrame": { "functionName": "asyncForEach", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 8, "columnNumber": 22 }, "hitCount": 0, "children": [ 1623 ] }, { "id": 1623, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1624 ] }, { "id": 1624, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1625 ] }, { "id": 1625, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 12, "columnNumber": 25 }, "hitCount": 0, "children": [ 1626 ] }, { "id": 1626, "callFrame": { "functionName": "thenLoadNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 1, "children": [ 1627, 1631 ], "positionTicks": [ { "line": 152, "ticks": 1 } ] }, { "id": 1627, "callFrame": { "functionName": "loadNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 96, "columnNumber": 18 }, "hitCount": 2, "children": [ 1628 ], "positionTicks": [ { "line": 99, "ticks": 2 } ] }, { "id": 1628, "callFrame": { "functionName": "realpath", "scriptId": "45", "url": "fs.js", "lineNumber": 1707, "columnNumber": 31 }, "hitCount": 1, "children": [ 1629, 1633, 2054 ], "positionTicks": [ { "line": 1713, "ticks": 1 } ] }, { "id": 1629, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": 156, "columnNumber": 18 }, "hitCount": 0, "children": [ 1630 ] }, { "id": 1630, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1633, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 1634 ] }, { "id": 1634, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 111, "ticks": 1 } ] }, { "id": 2054, "callFrame": { "functionName": "nextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 231, "columnNumber": 19 }, "hitCount": 0, "children": [ 2055 ] }, { "id": 2055, "callFrame": { "functionName": "setupInit", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 220, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 223, "ticks": 1 } ] }, { "id": 1631, "callFrame": { "functionName": "join", "scriptId": "41", "url": "path.js", "lineNumber": 1225, "columnNumber": 21 }, "hitCount": 0, "children": [ 1632, 2052 ] }, { "id": 1632, "callFrame": { "functionName": "assertPath", "scriptId": "41", "url": "path.js", "lineNumber": 25, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 26, "ticks": 1 } ] }, { "id": 2052, "callFrame": { "functionName": "normalize", "scriptId": "41", "url": "path.js", "lineNumber": 1196, "columnNumber": 31 }, "hitCount": 0, "children": [ 2053 ] }, { "id": 2053, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 99, "ticks": 1 } ] }, { "id": 4681, "callFrame": { "functionName": "", "scriptId": "552", "url": "/usr/local/lib/node_modules/npm/lib/install/and-finish-tracker.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4682 ] }, { "id": 4682, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4683 ] }, { "id": 4683, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4684 ] }, { "id": 4684, "callFrame": { "functionName": "zalgoSafe", "scriptId": "238", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/dezalgo.js", "lineNumber": 11, "columnNumber": 27 }, "hitCount": 0, "children": [ 4685 ] }, { "id": 4685, "callFrame": { "functionName": "", "scriptId": "552", "url": "/usr/local/lib/node_modules/npm/lib/install/and-finish-tracker.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4686 ] }, { "id": 4686, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4687 ] }, { "id": 4687, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4688 ] }, { "id": 4688, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4689 ] }, { "id": 4689, "callFrame": { "functionName": "exports.loadExtraneous.andResolveDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 502, "columnNumber": 49 }, "hitCount": 0, "children": [ 4690 ] }, { "id": 4690, "callFrame": { "functionName": "exports.loadExtraneous", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 485, "columnNumber": 55 }, "hitCount": 0, "children": [ 4691, 4749 ] }, { "id": 4691, "callFrame": { "functionName": "loadExtraneous", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 488, "columnNumber": 26 }, "hitCount": 0, "children": [ 4692, 4700 ] }, { "id": 4692, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 0, "children": [ 4693 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4693, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 1, "children": [ 4694, 4719, 4735 ], "positionTicks": [ { "line": 156, "ticks": 1 } ] }, { "id": 4694, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 1, "children": [ 4695 ], "positionTicks": [ { "line": 138, "ticks": 1 } ] }, { "id": 4695, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4696, 4733 ] }, { "id": 4696, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4697, 4728 ] }, { "id": 4697, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 4698 ] }, { "id": 4698, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 4699 ] }, { "id": 4699, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 21, "children": [ 4738 ], "positionTicks": [ { "line": 731, "ticks": 21 } ] }, { "id": 4738, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 4743 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 4743, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4744 ] }, { "id": 4744, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4745 ] }, { "id": 4745, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4746 ] }, { "id": 4746, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 4747 ] }, { "id": 4747, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 774, "columnNumber": 29 }, "hitCount": 0, "children": [ 4748 ] }, { "id": 4748, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 4728, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 1, "children": [ 4729, 4734 ], "positionTicks": [ { "line": 73, "ticks": 1 } ] }, { "id": 4729, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4730 ] }, { "id": 4730, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4731 ] }, { "id": 4731, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 4732 ] }, { "id": 4732, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4734, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 4733, "callFrame": { "functionName": "packageRelativePath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 83, "ticks": 1 } ] }, { "id": 4719, "callFrame": { "functionName": "replaceModuleByName", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 559, "columnNumber": 29 }, "hitCount": 0, "children": [ 4720 ] }, { "id": 4720, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 4721 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4721, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 561, "columnNumber": 49 }, "hitCount": 3, "positionTicks": [ { "line": 562, "ticks": 3 } ] }, { "id": 4735, "callFrame": { "functionName": "replaceModuleByPath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 552, "columnNumber": 29 }, "hitCount": 0, "children": [ 4736 ], "deoptReason": "Inlining bailed out" }, { "id": 4736, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 4737 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4737, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 1, "children": [ 4739 ], "positionTicks": [ { "line": 24, "ticks": 1 } ] }, { "id": 4739, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4740 ] }, { "id": 4740, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4741 ] }, { "id": 4741, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 4742 ] }, { "id": 4742, "callFrame": { "functionName": "addSchema", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 18, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 19, "ticks": 1 } ] }, { "id": 4700, "callFrame": { "functionName": "loadExtraneous", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 488, "columnNumber": 26 }, "hitCount": 0, "children": [ 4701 ] }, { "id": 4701, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 0, "children": [ 4702 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4702, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 4703, 4724 ] }, { "id": 4703, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 0, "children": [ 4704 ] }, { "id": 4704, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4705 ] }, { "id": 4705, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4706, 4722 ] }, { "id": 4706, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 4707 ] }, { "id": 4707, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 4708 ] }, { "id": 4708, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 5, "children": [ 4709 ], "positionTicks": [ { "line": 731, "ticks": 5 } ] }, { "id": 4709, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4710 ] }, { "id": 4710, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4711 ] }, { "id": 4711, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4712 ] }, { "id": 4712, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4713 ] }, { "id": 4713, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 4714 ] }, { "id": 4714, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 4715 ] }, { "id": 4715, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4716 ] }, { "id": 4716, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 4717 ] }, { "id": 4717, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 4718 ] }, { "id": 4718, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4722, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 1, "children": [ 4723 ], "positionTicks": [ { "line": 10, "ticks": 1 } ] }, { "id": 4723, "callFrame": { "functionName": "done", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 20, "ticks": 1 } ] }, { "id": 4724, "callFrame": { "functionName": "replaceModuleByPath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 552, "columnNumber": 29 }, "hitCount": 0, "children": [ 4725 ], "deoptReason": "Inlining bailed out" }, { "id": 4725, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 4726 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4726, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4727 ] }, { "id": 4727, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4749, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4750 ] }, { "id": 4750, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4751 ] }, { "id": 4751, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4752 ] }, { "id": 4752, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4753 ] }, { "id": 4753, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4754 ] }, { "id": 4754, "callFrame": { "functionName": "Installer.finishTracker", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 341, "columnNumber": 45 }, "hitCount": 0, "children": [ 4755 ] }, { "id": 4755, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4756 ] }, { "id": 4756, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4757 ] }, { "id": 4757, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4758 ] }, { "id": 4758, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 398, "columnNumber": 20 }, "hitCount": 0, "children": [ 4759 ] }, { "id": 4759, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 0, "children": [ 4760, 4778, 4784, 4787 ] }, { "id": 4760, "callFrame": { "functionName": "exports.reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 59, "columnNumber": 25 }, "hitCount": 0, "children": [ 4761 ] }, { "id": 4761, "callFrame": { "functionName": "reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 63, "columnNumber": 15 }, "hitCount": 0, "children": [ 4762 ] }, { "id": 4762, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4763 ] }, { "id": 4763, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4764 ] }, { "id": 4764, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 79, "columnNumber": 34 }, "hitCount": 0, "children": [ 4765 ] }, { "id": 4765, "callFrame": { "functionName": "reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 63, "columnNumber": 15 }, "hitCount": 1, "children": [ 4766 ], "positionTicks": [ { "line": 65, "ticks": 1 } ] }, { "id": 4766, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4767 ] }, { "id": 4767, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4768 ] }, { "id": 4768, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 79, "columnNumber": 34 }, "hitCount": 0, "children": [ 4769 ] }, { "id": 4769, "callFrame": { "functionName": "reset", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 63, "columnNumber": 15 }, "hitCount": 1, "children": [ 4770 ], "positionTicks": [ { "line": 67, "ticks": 1 } ] }, { "id": 4770, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 4771 ] }, { "id": 4771, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4772 ] }, { "id": 4772, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4773 ] }, { "id": 4773, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 0, "children": [ 4774 ] }, { "id": 4774, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 4775 ] }, { "id": 4775, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4776 ] }, { "id": 4776, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4777 ] }, { "id": 4777, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 35, "ticks": 1 } ] }, { "id": 4778, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 4779 ] }, { "id": 4779, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 4780 ] }, { "id": 4780, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4781 ] }, { "id": 4781, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 2, "children": [ 4782 ], "positionTicks": [ { "line": 755, "ticks": 2 } ] }, { "id": 4782, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 1, "children": [ 4783 ], "positionTicks": [ { "line": 651, "ticks": 1 } ] }, { "id": 4783, "callFrame": { "functionName": "moduleName", "scriptId": "315", "url": "/usr/local/lib/node_modules/npm/lib/utils/module-name.js", "lineNumber": 22, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 4784, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4785 ] }, { "id": 4785, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "children": [ 4786 ], "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4786, "callFrame": { "functionName": "tree.children.filter", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 23 }, "hitCount": 0 }, { "id": 4787, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4788 ] }, { "id": 4788, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4789 ] }, { "id": 4789, "callFrame": { "functionName": "tree.children.filter.forEach", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 75 }, "hitCount": 0, "children": [ 4790 ] }, { "id": 4790, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 2, "children": [ 4791, 4851, 4907 ], "positionTicks": [ { "line": 88, "ticks": 2 } ] }, { "id": 4791, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 4792, 4797, 4819 ] }, { "id": 4792, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 4793, 4902, 5043 ] }, { "id": 4793, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 4794 ] }, { "id": 4794, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4795 ] }, { "id": 4795, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 4, "children": [ 4796, 4802 ], "positionTicks": [ { "line": 755, "ticks": 4 } ] }, { "id": 4796, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 14, "positionTicks": [ { "line": 650, "ticks": 6 }, { "line": 651, "ticks": 8 } ] }, { "id": 4802, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 4803 ] }, { "id": 4803, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 4804 ] }, { "id": 4804, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 4805, 4863 ] }, { "id": 4805, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 4806 ] }, { "id": 4806, "callFrame": { "functionName": "testSet", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1044, "columnNumber": 16 }, "hitCount": 0, "children": [ 4807 ] }, { "id": 4807, "callFrame": { "functionName": "Comparator.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 694, "columnNumber": 36 }, "hitCount": 0, "children": [ 4808 ] }, { "id": 4808, "callFrame": { "functionName": "cmp", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 623, "columnNumber": 12 }, "hitCount": 0, "children": [ 4809, 5049 ] }, { "id": 4809, "callFrame": { "functionName": "gte", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4810 ] }, { "id": 4810, "callFrame": { "functionName": "compare", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4811 ] }, { "id": 4811, "callFrame": { "functionName": "SemVer.compare", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4812 ] }, { "id": 4812, "callFrame": { "functionName": "SemVer.compareMain", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4813 ] }, { "id": 4813, "callFrame": { "functionName": "compareIdentifiers", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4814 ] }, { "id": 4814, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 5049, "callFrame": { "functionName": "lt", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 598, "columnNumber": 11 }, "hitCount": 1, "positionTicks": [ { "line": 600, "ticks": 1 } ] }, { "id": 4863, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 4864 ] }, { "id": 4864, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4865 ] }, { "id": 4865, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4866 ] }, { "id": 4866, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4867, 4948 ] }, { "id": 4867, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4868 ] }, { "id": 4868, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 4869, 5050 ] }, { "id": 4869, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 4870 ] }, { "id": 4870, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 5050, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 5051 ] }, { "id": 5051, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 5052 ] }, { "id": 5052, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 5053 ] }, { "id": 5053, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 5054 ] }, { "id": 5054, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 5055 ] }, { "id": 5055, "callFrame": { "functionName": "RegExp: ^((?:<|>)?=?)\\s*[v=\\s]*(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:\\.(0|[1-9]\\d*|x|X|\\*)(?:(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][a-zA-Z0-9-]*))*)))?(?:\\+([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?)?)?$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4948, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4902, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4903 ] }, { "id": 4903, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 4904, 4905 ] }, { "id": 4904, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 0 }, { "id": 4905, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 4906 ] }, { "id": 4906, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0 }, { "id": 5043, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 5044 ] }, { "id": 5044, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 5045 ] }, { "id": 5045, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 5046 ] }, { "id": 5046, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 50, "columnNumber": 47 }, "hitCount": 0, "children": [ 5047 ] }, { "id": 5047, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 12, "columnNumber": 39 }, "hitCount": 0, "children": [ 5048 ] }, { "id": 5048, "callFrame": { "functionName": "check", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 8, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 9, "ticks": 1 } ] }, { "id": 4797, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 0, "children": [ 4798, 4815 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4798, "callFrame": { "functionName": "exports.updatePhantomChildren", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 542, "columnNumber": 69 }, "hitCount": 0, "children": [ 4799 ] }, { "id": 4799, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4800 ] }, { "id": 4800, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4801 ] }, { "id": 4801, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 2, "positionTicks": [ { "line": 776, "ticks": 2 } ] }, { "id": 4815, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 4816, 4943 ] }, { "id": 4816, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 1, "children": [ 4817, 4844 ], "positionTicks": [ { "line": 130, "ticks": 1 } ] }, { "id": 4817, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 4818 ] }, { "id": 4818, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 1, "children": [ 4823, 4827 ], "positionTicks": [ { "line": 1079, "ticks": 1 } ] }, { "id": 4823, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 4824, 4934 ] }, { "id": 4824, "callFrame": { "functionName": "SemVer", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 271, "columnNumber": 15 }, "hitCount": 0, "children": [ 4825 ] }, { "id": 4825, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4826 ] }, { "id": 4826, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4934, "callFrame": { "functionName": "testSet", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1044, "columnNumber": 16 }, "hitCount": 0, "children": [ 4935 ] }, { "id": 4935, "callFrame": { "functionName": "Comparator.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 694, "columnNumber": 36 }, "hitCount": 0, "children": [ 4936 ] }, { "id": 4936, "callFrame": { "functionName": "cmp", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 623, "columnNumber": 12 }, "hitCount": 0, "children": [ 4937 ] }, { "id": 4937, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4938 ] }, { "id": 4938, "callFrame": { "functionName": "RegExp: ^[0-9]+$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4827, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 4828, 4910 ] }, { "id": 4828, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4829 ] }, { "id": 4829, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4830 ] }, { "id": 4830, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4831, 4862 ] }, { "id": 4831, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4832, 4898 ] }, { "id": 4832, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 4833, 4871 ] }, { "id": 4833, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 1, "children": [ 4838 ], "positionTicks": [ { "line": 918, "ticks": 1 } ] }, { "id": 4838, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4839 ] }, { "id": 4839, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 4840 ] }, { "id": 4840, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 1, "children": [ 4841 ], "positionTicks": [ { "line": 925, "ticks": 1 } ] }, { "id": 4841, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4842 ] }, { "id": 4842, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 927, "columnNumber": 33 }, "hitCount": 0, "children": [ 4843 ] }, { "id": 4843, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4871, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 0, "children": [ 4872 ] }, { "id": 4872, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 4898, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 778, "columnNumber": 24 }, "hitCount": 0, "children": [ 4899 ] }, { "id": 4899, "callFrame": { "functionName": "Comparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4900 ] }, { "id": 4900, "callFrame": { "functionName": "Comparator.parse", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 4901 ], "positionTicks": [ { "line": 780, "ticks": 1 } ] }, { "id": 4901, "callFrame": { "functionName": "SemVer", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 271, "columnNumber": 15 }, "hitCount": 1, "children": [ 4939 ], "positionTicks": [ { "line": 272, "ticks": 1 } ] }, { "id": 4939, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4940 ] }, { "id": 4940, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4862, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4910, "callFrame": { "functionName": "Range.format", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4911 ] }, { "id": 4911, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4912 ] }, { "id": 4912, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 734, "columnNumber": 36 }, "hitCount": 0, "children": [ 4913 ] }, { "id": 4913, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 4914 ] }, { "id": 4914, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0, "children": [ 4915 ] }, { "id": 4915, "callFrame": { "functionName": "Join", "scriptId": "6", "url": "native array.js", "lineNumber": 120, "columnNumber": 13 }, "hitCount": 0, "children": [ 4916 ] }, { "id": 4916, "callFrame": { "functionName": "DoJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 95, "columnNumber": 15 }, "hitCount": 0, "children": [ 4917 ] }, { "id": 4917, "callFrame": { "functionName": "ConvertToString", "scriptId": "6", "url": "native array.js", "lineNumber": 133, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 134, "ticks": 1 } ] }, { "id": 4844, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4845 ] }, { "id": 4845, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4846, 4885, 4925 ] }, { "id": 4846, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4847 ] }, { "id": 4847, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4848 ] }, { "id": 4848, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4849 ] }, { "id": 4849, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4850 ] }, { "id": 4850, "callFrame": { "functionName": "RegExp: ^[a-z0-9.+-]+:", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4885, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 4886 ] }, { "id": 4886, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 4887 ] }, { "id": 4887, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 4888 ] }, { "id": 4888, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4889 ] }, { "id": 4889, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4890 ] }, { "id": 4890, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4891, 5056 ] }, { "id": 4891, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4892 ] }, { "id": 4892, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 4893 ] }, { "id": 4893, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 4894 ] }, { "id": 4894, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4895 ] }, { "id": 4895, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 4896 ] }, { "id": 4896, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 4897 ] }, { "id": 4897, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 5056, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 5057 ] }, { "id": 5057, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 5058 ] }, { "id": 5058, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 774, "columnNumber": 29 }, "hitCount": 0, "children": [ 5059 ] }, { "id": 5059, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 5060 ] }, { "id": 5060, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4925, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 4926 ] }, { "id": 4926, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4927 ] }, { "id": 4927, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4928 ] }, { "id": 4928, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 4929 ] }, { "id": 4929, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4943, "callFrame": { "functionName": "replaceModuleByName", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 559, "columnNumber": 29 }, "hitCount": 1, "children": [ 4944 ], "positionTicks": [ { "line": 560, "ticks": 1 } ] }, { "id": 4944, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 4945 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4945, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4946 ] }, { "id": 4946, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4947 ] }, { "id": 4947, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4819, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4820 ] }, { "id": 4820, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4821, 4873 ] }, { "id": 4821, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4822, 4834, 4930 ] }, { "id": 4822, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4834, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4835 ] }, { "id": 4835, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4836 ] }, { "id": 4836, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4837 ] }, { "id": 4837, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 447, "ticks": 1 } ] }, { "id": 4930, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4931 ] }, { "id": 4931, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4932, 4941 ] }, { "id": 4932, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4933 ] }, { "id": 4933, "callFrame": { "functionName": "RegExp: ^[a-z0-9.+-]+:", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4941, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 0, "children": [ 4942 ] }, { "id": 4942, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 41, "ticks": 1 } ] }, { "id": 4873, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 4874 ] }, { "id": 4874, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 4875 ] }, { "id": 4875, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 4876 ] }, { "id": 4876, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4877 ] }, { "id": 4877, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4878 ] }, { "id": 4878, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4879 ] }, { "id": 4879, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4880 ] }, { "id": 4880, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 4881, 4918 ] }, { "id": 4881, "callFrame": { "functionName": "parseComparator", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4882 ] }, { "id": 4882, "callFrame": { "functionName": "replaceStars", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4883 ] }, { "id": 4883, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4884 ] }, { "id": 4884, "callFrame": { "functionName": "RegExp: (<|>)?=?\\s*\\*", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4918, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 4919 ] }, { "id": 4919, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4920 ] }, { "id": 4920, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 919, "columnNumber": 39 }, "hitCount": 0, "children": [ 4921 ] }, { "id": 4921, "callFrame": { "functionName": "replaceXRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 924, "columnNumber": 22 }, "hitCount": 0, "children": [ 4922 ] }, { "id": 4922, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 4923 ] }, { "id": 4923, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 927, "columnNumber": 33 }, "hitCount": 0, "children": [ 4924 ] }, { "id": 4924, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4851, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4852 ] }, { "id": 4852, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4853 ] }, { "id": 4853, "callFrame": { "functionName": "tree.children.filter.forEach", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 75 }, "hitCount": 0, "children": [ 4854 ] }, { "id": 4854, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 0, "children": [ 4855, 5030, 5034 ] }, { "id": 4855, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 4856, 4949, 4965 ] }, { "id": 4856, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 4857 ] }, { "id": 4857, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 4858, 4962 ] }, { "id": 4858, "callFrame": { "functionName": "exports.findRequirement", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 646, "columnNumber": 57 }, "hitCount": 0, "children": [ 4859 ] }, { "id": 4859, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4860 ] }, { "id": 4860, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 4861 ] }, { "id": 4861, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 650, "ticks": 1 } ] }, { "id": 4962, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4963 ] }, { "id": 4963, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 4964, 4993 ] }, { "id": 4964, "callFrame": { "functionName": "nameMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 649, "columnNumber": 27 }, "hitCount": 2, "positionTicks": [ { "line": 650, "ticks": 2 } ] }, { "id": 4993, "callFrame": { "functionName": "versionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 652, "columnNumber": 30 }, "hitCount": 0, "children": [ 4994 ] }, { "id": 4994, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 4995 ] }, { "id": 4995, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 4996 ] }, { "id": 4996, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 4997 ] }, { "id": 4997, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4998 ] }, { "id": 4998, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4999 ] }, { "id": 4999, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 5000 ] }, { "id": 5000, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 5001 ] }, { "id": 5001, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 5002 ] }, { "id": 5002, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 5003 ] }, { "id": 5003, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 5004 ] }, { "id": 5004, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 863, "columnNumber": 46 }, "hitCount": 0, "children": [ 5005 ] }, { "id": 5005, "callFrame": { "functionName": "replaceCaret", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 868, "columnNumber": 21 }, "hitCount": 0, "children": [ 5006 ] }, { "id": 5006, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 5007 ] }, { "id": 5007, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 871, "columnNumber": 33 }, "hitCount": 0, "children": [ 5008 ] }, { "id": 5008, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4949, "callFrame": { "functionName": "resolveWithExistingModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 536, "columnNumber": 35 }, "hitCount": 0, "children": [ 4950, 5027 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4950, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 4951, 5009, 5032 ] }, { "id": 4951, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 0, "children": [ 4952, 4980 ] }, { "id": 4952, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4953 ] }, { "id": 4953, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4954, 4959 ] }, { "id": 4954, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 4955 ] }, { "id": 4955, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4956 ] }, { "id": 4956, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4957 ] }, { "id": 4957, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 1, "children": [ 4958 ], "positionTicks": [ { "line": 55, "ticks": 1 } ] }, { "id": 4958, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4959, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4960 ] }, { "id": 4960, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4961 ] }, { "id": 4961, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 126, "ticks": 1 } ] }, { "id": 4980, "callFrame": { "functionName": "doesChildVersionMatch", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 38, "columnNumber": 31 }, "hitCount": 0, "children": [ 4981 ] }, { "id": 4981, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 4982, 5016 ] }, { "id": 4982, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 4983 ] }, { "id": 4983, "callFrame": { "functionName": "testSet", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1044, "columnNumber": 16 }, "hitCount": 0, "children": [ 4984 ] }, { "id": 4984, "callFrame": { "functionName": "Comparator.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 694, "columnNumber": 36 }, "hitCount": 0, "children": [ 4985 ] }, { "id": 4985, "callFrame": { "functionName": "cmp", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 623, "columnNumber": 12 }, "hitCount": 0, "children": [ 4986 ] }, { "id": 4986, "callFrame": { "functionName": "gte", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4987 ] }, { "id": 4987, "callFrame": { "functionName": "compare", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4988 ] }, { "id": 4988, "callFrame": { "functionName": "SemVer.compare", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4989 ] }, { "id": 4989, "callFrame": { "functionName": "SemVer.compareMain", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4990 ] }, { "id": 4990, "callFrame": { "functionName": "compareIdentifiers", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4991 ] }, { "id": 4991, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4992 ] }, { "id": 4992, "callFrame": { "functionName": "RegExp: ^[0-9]+$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 5016, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 5017 ] }, { "id": 5017, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 5018 ] }, { "id": 5018, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 5009, "callFrame": { "functionName": "replaceModuleByName", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 559, "columnNumber": 29 }, "hitCount": 0, "children": [ 5010 ] }, { "id": 5010, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 5011 ], "deoptReason": "Bad value context for arguments value" }, { "id": 5011, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 5012 ] }, { "id": 5012, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 5013 ] }, { "id": 5013, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 5032, "callFrame": { "functionName": "replaceModuleByPath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 552, "columnNumber": 29 }, "hitCount": 0, "children": [ 5033 ], "deoptReason": "Inlining bailed out" }, { "id": 5033, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 1, "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 574, "ticks": 1 } ] }, { "id": 5027, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 5028 ] }, { "id": 5028, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 5029 ] }, { "id": 5029, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4965, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4966 ] }, { "id": 4966, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4967, 5019 ] }, { "id": 4967, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 4968 ] }, { "id": 4968, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 4969 ] }, { "id": 4969, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 1, "children": [ 4970, 5014 ], "positionTicks": [ { "line": 709, "ticks": 1 } ] }, { "id": 4970, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4971 ] }, { "id": 4971, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4972 ] }, { "id": 4972, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4973 ] }, { "id": 4973, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4974, 5026 ] }, { "id": 4974, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 4975 ] }, { "id": 4975, "callFrame": { "functionName": "replaceCarets", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 862, "columnNumber": 22 }, "hitCount": 0, "children": [ 4976 ] }, { "id": 4976, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4977 ] }, { "id": 4977, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 863, "columnNumber": 46 }, "hitCount": 0, "children": [ 4978 ] }, { "id": 4978, "callFrame": { "functionName": "replaceCaret", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 868, "columnNumber": 21 }, "hitCount": 0, "children": [ 4979 ] }, { "id": 4979, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 5026, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 778, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 780, "ticks": 1 } ] }, { "id": 5014, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 5015 ] }, { "id": 5015, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 5019, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 5020 ] }, { "id": 5020, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 5021 ] }, { "id": 5021, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 5022, 5024 ] }, { "id": 5022, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 45, "columnNumber": 29 }, "hitCount": 0, "children": [ 5023 ] }, { "id": 5023, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 5024, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 5025 ] }, { "id": 5025, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 5030, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 5031 ], "deoptReason": "Bad value context for arguments value" }, { "id": 5031, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 1, "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 5034, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 5035 ] }, { "id": 5035, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 5036 ] }, { "id": 5036, "callFrame": { "functionName": "tree.children.filter.forEach", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 75 }, "hitCount": 0, "children": [ 5037 ] }, { "id": 5037, "callFrame": { "functionName": "computeMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 87, "columnNumber": 25 }, "hitCount": 0, "children": [ 5038 ] }, { "id": 5038, "callFrame": { "functionName": "findChild", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 97, "columnNumber": 21 }, "hitCount": 0, "children": [ 5039 ] }, { "id": 5039, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 5040 ] }, { "id": 5040, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 5041 ] }, { "id": 5041, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 5042 ] }, { "id": 5042, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4907, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4908 ] }, { "id": 4908, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 4909 ] }, { "id": 4909, "callFrame": { "functionName": "tree.children.filter", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 124, "columnNumber": 23 }, "hitCount": 0 }, { "id": 1635, "callFrame": { "functionName": "LOOP", "scriptId": "45", "url": "fs.js", "lineNumber": 1751, "columnNumber": 15 }, "hitCount": 11, "children": [ 1636, 1643, 2043 ], "positionTicks": [ { "line": 1760, "ticks": 1 }, { "line": 1765, "ticks": 4 }, { "line": 1781, "ticks": 1 }, { "line": 1752, "ticks": 2 }, { "line": 1754, "ticks": 1 }, { "line": 1755, "ticks": 1 }, { "line": 1773, "ticks": 1 } ] }, { "id": 1636, "callFrame": { "functionName": "", "scriptId": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "lineNumber": 281, "columnNumber": 18 }, "hitCount": 1, "children": [ 1637 ], "positionTicks": [ { "line": 283, "ticks": 1 } ] }, { "id": 1637, "callFrame": { "functionName": "fs.lstat", "scriptId": "45", "url": "fs.js", "lineNumber": 917, "columnNumber": 19 }, "hitCount": 88, "children": [ 1638, 1642, 2041 ], "positionTicks": [ { "line": 923, "ticks": 1 }, { "line": 925, "ticks": 4 }, { "line": 918, "ticks": 83 } ] }, { "id": 1638, "callFrame": { "functionName": "getPathFromURL", "scriptId": "38", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 922, "ticks": 1 } ] }, { "id": 1642, "callFrame": { "functionName": "CallApiCallbackStub", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 2041, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2042 ] }, { "id": 2042, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 1643, "callFrame": { "functionName": "thenReadPackageJson", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 101, "columnNumber": 31 }, "hitCount": 0, "children": [ 1644, 3675 ] }, { "id": 1644, "callFrame": { "functionName": "readJson", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 29, "columnNumber": 18 }, "hitCount": 0, "children": [ 1645 ] }, { "id": 1645, "callFrame": { "functionName": "readJson_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 45, "columnNumber": 19 }, "hitCount": 0, "children": [ 1646 ] }, { "id": 1646, "callFrame": { "functionName": "readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 65, "columnNumber": 20 }, "hitCount": 1, "children": [ 1647 ], "positionTicks": [ { "line": 68, "ticks": 1 } ] }, { "id": 1647, "callFrame": { "functionName": "go$readFile", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 71, "columnNumber": 25 }, "hitCount": 2, "children": [ 1648 ], "positionTicks": [ { "line": 73, "ticks": 2 } ] }, { "id": 1648, "callFrame": { "functionName": "fs.readFile", "scriptId": "45", "url": "fs.js", "lineNumber": 334, "columnNumber": 22 }, "hitCount": 4, "children": [ 1649, 1651 ], "positionTicks": [ { "line": 360, "ticks": 3 }, { "line": 346, "ticks": 1 } ] }, { "id": 1649, "callFrame": { "functionName": "isFd", "scriptId": "45", "url": "fs.js", "lineNumber": 168, "columnNumber": 13 }, "hitCount": 0, "children": [ 1650 ] }, { "id": 1650, "callFrame": { "functionName": "BinaryOpICStub(SHR:Generic*Smi->Smi)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1651, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": 156, "columnNumber": 18 }, "hitCount": 0, "children": [ 1652 ] }, { "id": 1652, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 3675, "callFrame": { "functionName": "dpath", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3676 ] }, { "id": 3676, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 2043, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 2, "positionTicks": [ { "line": 41, "ticks": 2 } ] }, { "id": 3458, "callFrame": { "functionName": "initRead", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 239, "columnNumber": 17 }, "hitCount": 0, "children": [ 3459 ] }, { "id": 3459, "callFrame": { "functionName": "Socket.read", "scriptId": "111", "url": "net.js", "lineNumber": 364, "columnNumber": 32 }, "hitCount": 0, "children": [ 3460 ] }, { "id": 3460, "callFrame": { "functionName": "Readable.read", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 353, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 432, "ticks": 1 } ] }, { "id": 3461, "callFrame": { "functionName": "onSocketNT", "scriptId": "149", "url": "_http_client.js", "lineNumber": 673, "columnNumber": 19 }, "hitCount": 0, "children": [ 3462 ] }, { "id": 3462, "callFrame": { "functionName": "tickOnSocket", "scriptId": "149", "url": "_http_client.js", "lineNumber": 626, "columnNumber": 21 }, "hitCount": 0, "children": [ 3463 ] }, { "id": 3463, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3464 ] }, { "id": 3464, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 3465 ] }, { "id": 3465, "callFrame": { "functionName": "onceWrapper", "scriptId": "23", "url": "events.js", "lineNumber": 307, "columnNumber": 20 }, "hitCount": 0, "children": [ 3466 ] }, { "id": 3466, "callFrame": { "functionName": "onSocket", "scriptId": "149", "url": "_http_client.js", "lineNumber": 702, "columnNumber": 19 }, "hitCount": 0, "children": [ 3467 ] }, { "id": 3467, "callFrame": { "functionName": "callSocketMethod", "scriptId": "149", "url": "_http_client.js", "lineNumber": 694, "columnNumber": 27 }, "hitCount": 0, "children": [ 3468 ] }, { "id": 3468, "callFrame": { "functionName": "ClientRequest._deferToConnect", "scriptId": "149", "url": "_http_client.js", "lineNumber": 290, "columnNumber": 35 }, "hitCount": 0, "children": [ 3469 ] }, { "id": 3469, "callFrame": { "functionName": "_flush", "scriptId": "154", "url": "_http_outgoing.js", "lineNumber": 825, "columnNumber": 50 }, "hitCount": 0, "children": [ 3470, 3475 ] }, { "id": 3470, "callFrame": { "functionName": "_flushOutput", "scriptId": "154", "url": "_http_outgoing.js", "lineNumber": 843, "columnNumber": 62 }, "hitCount": 0, "children": [ 3471 ] }, { "id": 3471, "callFrame": { "functionName": "Writable.uncork", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 285, "columnNumber": 36 }, "hitCount": 0, "children": [ 3472 ] }, { "id": 3472, "callFrame": { "functionName": "clearBuffer", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 452, "columnNumber": 20 }, "hitCount": 0, "children": [ 3473 ] }, { "id": 3473, "callFrame": { "functionName": "doWrite", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 362, "columnNumber": 16 }, "hitCount": 0, "children": [ 3474 ] }, { "id": 3474, "callFrame": { "functionName": "Socket._write", "scriptId": "111", "url": "net.js", "lineNumber": 779, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 781, "ticks": 1 } ] }, { "id": 3475, "callFrame": { "functionName": "_finish", "scriptId": "149", "url": "_http_client.js", "lineNumber": 296, "columnNumber": 50 }, "hitCount": 0, "children": [ 3476 ] }, { "id": 3476, "callFrame": { "functionName": "_finish", "scriptId": "154", "url": "_http_outgoing.js", "lineNumber": 800, "columnNumber": 52 }, "hitCount": 0, "children": [ 3477 ] }, { "id": 3477, "callFrame": { "functionName": "ok", "scriptId": "32", "url": "assert.js", "lineNumber": 85, "columnNumber": 11 }, "hitCount": 0 }, { "id": 3510, "callFrame": { "functionName": "endReadableNT", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 1041, "columnNumber": 22 }, "hitCount": 0, "children": [ 3511 ] }, { "id": 3511, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3512 ] }, { "id": 3512, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 3513, 3517, 3539 ] }, { "id": 3513, "callFrame": { "functionName": "responseOnEnd", "scriptId": "149", "url": "_http_client.js", "lineNumber": 602, "columnNumber": 22 }, "hitCount": 0, "children": [ 3514 ] }, { "id": 3514, "callFrame": { "functionName": "responseKeepAlive", "scriptId": "149", "url": "_http_client.js", "lineNumber": 575, "columnNumber": 26 }, "hitCount": 0, "children": [ 3515 ] }, { "id": 3515, "callFrame": { "functionName": "internalNextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 251, "columnNumber": 27 }, "hitCount": 0, "children": [ 3516 ] }, { "id": 3516, "callFrame": { "functionName": "setupInit", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 220, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 223, "ticks": 1 } ] }, { "id": 3517, "callFrame": { "functionName": "onceWrapper", "scriptId": "23", "url": "events.js", "lineNumber": 307, "columnNumber": 20 }, "hitCount": 0, "children": [ 3518 ] }, { "id": 3518, "callFrame": { "functionName": "", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 1089, "columnNumber": 41 }, "hitCount": 0, "children": [ 3519 ] }, { "id": 3519, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3520 ] }, { "id": 3520, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 3521 ] }, { "id": 3521, "callFrame": { "functionName": "", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 1129, "columnNumber": 26 }, "hitCount": 0, "children": [ 3522 ] }, { "id": 3522, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3523 ] }, { "id": 3523, "callFrame": { "functionName": "emitTwo", "scriptId": "23", "url": "events.js", "lineNumber": 122, "columnNumber": 16 }, "hitCount": 0, "children": [ 3524 ] }, { "id": 3524, "callFrame": { "functionName": "self.callback", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 182, "columnNumber": 29 }, "hitCount": 1, "children": [ 3525 ], "positionTicks": [ { "line": 188, "ticks": 1 } ] }, { "id": 3525, "callFrame": { "functionName": "", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 205, "columnNumber": 18 }, "hitCount": 0, "children": [ 3526 ] }, { "id": 3526, "callFrame": { "functionName": "", "scriptId": "515", "url": "zlib.js", "lineNumber": 561, "columnNumber": 19 }, "hitCount": 0, "children": [ 3527 ] }, { "id": 3527, "callFrame": { "functionName": "zlibBuffer", "scriptId": "515", "url": "zlib.js", "lineNumber": 85, "columnNumber": 19 }, "hitCount": 0, "children": [ 3528 ] }, { "id": 3528, "callFrame": { "functionName": "Writable.end", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 522, "columnNumber": 33 }, "hitCount": 0, "children": [ 3529 ] }, { "id": 3529, "callFrame": { "functionName": "Writable.write", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 247, "columnNumber": 35 }, "hitCount": 0, "children": [ 3530 ] }, { "id": 3530, "callFrame": { "functionName": "writeOrBuffer", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 322, "columnNumber": 22 }, "hitCount": 0, "children": [ 3531 ] }, { "id": 3531, "callFrame": { "functionName": "doWrite", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 362, "columnNumber": 16 }, "hitCount": 0, "children": [ 3532 ] }, { "id": 3532, "callFrame": { "functionName": "Transform._write", "scriptId": "53", "url": "_stream_transform.js", "lineNumber": 167, "columnNumber": 37 }, "hitCount": 0, "children": [ 3533 ] }, { "id": 3533, "callFrame": { "functionName": "Transform._read", "scriptId": "53", "url": "_stream_transform.js", "lineNumber": 184, "columnNumber": 36 }, "hitCount": 0, "children": [ 3534 ] }, { "id": 3534, "callFrame": { "functionName": "_transform", "scriptId": "515", "url": "zlib.js", "lineNumber": 332, "columnNumber": 47 }, "hitCount": 1, "children": [ 3582 ], "positionTicks": [ { "line": 361, "ticks": 1 } ] }, { "id": 3582, "callFrame": { "functionName": "_processChunk", "scriptId": "515", "url": "zlib.js", "lineNumber": 363, "columnNumber": 53 }, "hitCount": 1, "positionTicks": [ { "line": 414, "ticks": 1 } ] }, { "id": 3539, "callFrame": { "functionName": "onEnd", "scriptId": "515", "url": "zlib.js", "lineNumber": 117, "columnNumber": 16 }, "hitCount": 0, "children": [ 3540 ] }, { "id": 3540, "callFrame": { "functionName": "", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 218, "columnNumber": 31 }, "hitCount": 0, "children": [ 3541 ] }, { "id": 3541, "callFrame": { "functionName": "", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 228, "columnNumber": 18 }, "hitCount": 7, "children": [ 3542, 3551 ], "positionTicks": [ { "line": 241, "ticks": 7 } ] }, { "id": 3542, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 3543 ] }, { "id": 3543, "callFrame": { "functionName": "", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 97, "columnNumber": 25 }, "hitCount": 0, "children": [ 3544 ] }, { "id": 3544, "callFrame": { "functionName": "", "scriptId": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "lineNumber": 67, "columnNumber": 49 }, "hitCount": 0, "children": [ 3545 ] }, { "id": 3545, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 3546 ] }, { "id": 3546, "callFrame": { "functionName": "updateDeps", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 366, "columnNumber": 22 }, "hitCount": 0, "children": [ 3547, 3555 ] }, { "id": 3547, "callFrame": { "functionName": "onCacheAdd", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 394, "columnNumber": 24 }, "hitCount": 0, "children": [ 3548, 3605 ] }, { "id": 3548, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 3549 ] }, { "id": 3549, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 3550 ] }, { "id": 3550, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 0 }, { "id": 3605, "callFrame": { "functionName": "skip", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 309, "columnNumber": 16 }, "hitCount": 0, "children": [ 3606 ] }, { "id": 3606, "callFrame": { "functionName": "outdated_", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 196, "columnNumber": 19 }, "hitCount": 0, "children": [ 3607 ] }, { "id": 3607, "callFrame": { "functionName": "cb", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 27, "columnNumber": 14 }, "hitCount": 0, "children": [ 3608 ] }, { "id": 3608, "callFrame": { "functionName": "", "scriptId": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "lineNumber": 80, "columnNumber": 46 }, "hitCount": 0, "children": [ 3609 ] }, { "id": 3609, "callFrame": { "functionName": "", "scriptId": "210", "url": "/usr/local/lib/node_modules/npm/lib/update.js", "lineNumber": 20, "columnNumber": 45 }, "hitCount": 0, "children": [ 3610, 3618 ] }, { "id": 3610, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 274, "columnNumber": 25 }, "hitCount": 0, "children": [ 3611 ] }, { "id": 3611, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 169, "columnNumber": 19 }, "hitCount": 0, "children": [ 3612 ] }, { "id": 3612, "callFrame": { "functionName": "exports.format", "scriptId": "24", "url": "util.js", "lineNumber": 63, "columnNumber": 25 }, "hitCount": 0, "children": [ 3613 ] }, { "id": 3613, "callFrame": { "functionName": "inspect", "scriptId": "24", "url": "util.js", "lineNumber": 174, "columnNumber": 16 }, "hitCount": 0, "children": [ 3614 ] }, { "id": 3614, "callFrame": { "functionName": "formatValue", "scriptId": "24", "url": "util.js", "lineNumber": 284, "columnNumber": 20 }, "hitCount": 0, "children": [ 3615 ] }, { "id": 3615, "callFrame": { "functionName": "formatArray", "scriptId": "24", "url": "util.js", "lineNumber": 646, "columnNumber": 20 }, "hitCount": 0, "children": [ 3616 ] }, { "id": 3616, "callFrame": { "functionName": "formatProperty", "scriptId": "24", "url": "util.js", "lineNumber": 767, "columnNumber": 23 }, "hitCount": 0, "children": [ 3617 ] }, { "id": 3617, "callFrame": { "functionName": "formatValue", "scriptId": "24", "url": "util.js", "lineNumber": 284, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 344, "ticks": 1 } ] }, { "id": 3618, "callFrame": { "functionName": "chain", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 3, "columnNumber": 15 }, "hitCount": 0, "children": [ 3619 ] }, { "id": 3619, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 3620 ] }, { "id": 3620, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3621 ] }, { "id": 3621, "callFrame": { "functionName": "Installer.run", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 227, "columnNumber": 35 }, "hitCount": 0, "children": [ 3622, 3624 ] }, { "id": 3622, "callFrame": { "functionName": "Installer.newTracker", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 331, "columnNumber": 42 }, "hitCount": 1, "children": [ 3623 ], "positionTicks": [ { "line": 335, "ticks": 1 } ] }, { "id": 3623, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 46, "ticks": 1 } ] }, { "id": 3624, "callFrame": { "functionName": "chain", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 3, "columnNumber": 15 }, "hitCount": 0, "children": [ 3625 ] }, { "id": 3625, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 3626 ] }, { "id": 3626, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3627 ] }, { "id": 3627, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 335, "columnNumber": 18 }, "hitCount": 0, "children": [ 3628 ] }, { "id": 3628, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 3629 ] }, { "id": 3629, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 3630 ] }, { "id": 3630, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3631 ] }, { "id": 3631, "callFrame": { "functionName": "Installer.runPreinstallTopLevelLifecycles", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 563, "columnNumber": 63 }, "hitCount": 0, "children": [ 3632 ] }, { "id": 3632, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 3633 ] }, { "id": 3633, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 3634 ] }, { "id": 3634, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3635 ] }, { "id": 3635, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 335, "columnNumber": 18 }, "hitCount": 0, "children": [ 3636 ] }, { "id": 3636, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 3637 ] }, { "id": 3637, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 3638 ] }, { "id": 3638, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3639 ] }, { "id": 3639, "callFrame": { "functionName": "Installer.loadCurrentTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 347, "columnNumber": 47 }, "hitCount": 0, "children": [ 3640 ] }, { "id": 3640, "callFrame": { "functionName": "chain", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 3, "columnNumber": 15 }, "hitCount": 0, "children": [ 3641 ] }, { "id": 3641, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 3642 ] }, { "id": 3642, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 15, "ticks": 1 } ] }, { "id": 3555, "callFrame": { "functionName": "maxSatisfying", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1088, "columnNumber": 22 }, "hitCount": 0, "children": [ 3556 ] }, { "id": 3556, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 3557 ] }, { "id": 3557, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 0, "children": [ 3558 ] }, { "id": 3558, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1089, "columnNumber": 33 }, "hitCount": 0, "children": [ 3559 ] }, { "id": 3559, "callFrame": { "functionName": "satisfies", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1078, "columnNumber": 18 }, "hitCount": 0, "children": [ 3560, 3573 ] }, { "id": 3560, "callFrame": { "functionName": "Range.test", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1030, "columnNumber": 31 }, "hitCount": 0, "children": [ 3561 ] }, { "id": 3561, "callFrame": { "functionName": "SemVer", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 271, "columnNumber": 15 }, "hitCount": 3, "children": [ 3562 ], "positionTicks": [ { "line": 272, "ticks": 1 }, { "line": 315, "ticks": 1 }, { "line": 325, "ticks": 1 } ] }, { "id": 3562, "callFrame": { "functionName": "SemVer.format", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 327, "columnNumber": 34 }, "hitCount": 0 }, { "id": 3573, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 3574, 3597 ] }, { "id": 3574, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3575 ] }, { "id": 3575, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 3576 ] }, { "id": 3576, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 3577, 3578 ] }, { "id": 3577, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 3580 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 3580, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 769, "columnNumber": 41 }, "hitCount": 0, "children": [ 3581, 3603 ] }, { "id": 3581, "callFrame": { "functionName": "replaceTildes", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 821, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 822, "ticks": 1 } ] }, { "id": 3603, "callFrame": { "functionName": "replaceXRanges", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 917, "columnNumber": 23 }, "hitCount": 0, "children": [ 3604 ] }, { "id": 3604, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3578, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3597, "callFrame": { "functionName": "Range.format", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 733, "columnNumber": 33 }, "hitCount": 0, "children": [ 3598 ] }, { "id": 3598, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 3551, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 1, "children": [ 3552, 3579 ], "positionTicks": [ { "line": 92, "ticks": 1 } ] }, { "id": 3552, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 3553 ] }, { "id": 3553, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3554 ] }, { "id": 3554, "callFrame": { "functionName": "RegExp: ^[a-z0-9.+-]+:", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3579, "callFrame": { "functionName": "[Symbol.hasInstance]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4189, "callFrame": { "functionName": "", "scriptId": "323", "url": "/usr/local/lib/node_modules/npm/node_modules/call-limit/call-limit.js", "lineNumber": 20, "columnNumber": 38 }, "hitCount": 0, "children": [ 4190 ] }, { "id": 4190, "callFrame": { "functionName": "cb", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 27, "columnNumber": 14 }, "hitCount": 0, "children": [ 4191 ] }, { "id": 4191, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4192 ] }, { "id": 4192, "callFrame": { "functionName": "iferr", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 324, "columnNumber": 73 }, "hitCount": 0, "children": [ 4193 ] }, { "id": 4193, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4194 ] }, { "id": 4194, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4195 ] }, { "id": 4195, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4196 ] }, { "id": 4196, "callFrame": { "functionName": "Installer.normalizeCurrentTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 362, "columnNumber": 52 }, "hitCount": 0, "children": [ 4197, 4230 ] }, { "id": 4197, "callFrame": { "functionName": "normalizeTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 375, "columnNumber": 25 }, "hitCount": 0, "children": [ 4198, 4199 ] }, { "id": 4198, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0 }, { "id": 4199, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4200 ] }, { "id": 4200, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4201 ] }, { "id": 4201, "callFrame": { "functionName": "normalizeTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 375, "columnNumber": 25 }, "hitCount": 0, "children": [ 4202, 4210, 4219 ] }, { "id": 4202, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4203 ] }, { "id": 4203, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4204 ] }, { "id": 4204, "callFrame": { "functionName": "normalizeTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 375, "columnNumber": 25 }, "hitCount": 0, "children": [ 4205 ] }, { "id": 4205, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 4206, 4215 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4206, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 4207 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4207, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4208 ] }, { "id": 4208, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4209 ] }, { "id": 4209, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4215, "callFrame": { "functionName": "flatName", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 30, "columnNumber": 18 }, "hitCount": 1, "children": [ 4216 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 4216, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4217 ] }, { "id": 4217, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4218 ] }, { "id": 4218, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 4210, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 4211, 4212 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4211, "callFrame": { "functionName": "flatName", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 30, "columnNumber": 18 }, "hitCount": 1, "children": [ 4222 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 32, "ticks": 1 } ] }, { "id": 4222, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4223 ] }, { "id": 4223, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4224 ] }, { "id": 4224, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4212, "callFrame": { "functionName": "flatNameFromTree", "scriptId": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "lineNumber": 35, "columnNumber": 26 }, "hitCount": 0, "children": [ 4213 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4213, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4214 ] }, { "id": 4214, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4219, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 4220 ] }, { "id": 4220, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4221 ] }, { "id": 4221, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 4225 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 4225, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 0, "children": [ 4226 ] }, { "id": 4226, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 4227 ] }, { "id": 4227, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4228 ] }, { "id": 4228, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4229 ] }, { "id": 4229, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 1, "positionTicks": [ { "line": 35, "ticks": 1 } ] }, { "id": 4230, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4231 ] }, { "id": 4231, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4232 ] }, { "id": 4232, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4233 ] }, { "id": 4233, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4234 ] }, { "id": 4234, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4235 ] }, { "id": 4235, "callFrame": { "functionName": "Installer.finishTracker", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 341, "columnNumber": 45 }, "hitCount": 0, "children": [ 4236 ] }, { "id": 4236, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4237 ] }, { "id": 4237, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4238 ] }, { "id": 4238, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4239 ] }, { "id": 4239, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 335, "columnNumber": 18 }, "hitCount": 0, "children": [ 4240 ] }, { "id": 4240, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4241 ] }, { "id": 4241, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4242 ] }, { "id": 4242, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4243 ] }, { "id": 4243, "callFrame": { "functionName": "Installer.loadIdealTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 382, "columnNumber": 45 }, "hitCount": 0, "children": [ 4244, 4250 ] }, { "id": 4244, "callFrame": { "functionName": "Installer.newTracker", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 331, "columnNumber": 42 }, "hitCount": 0, "children": [ 4245 ] }, { "id": 4245, "callFrame": { "functionName": "tracker.(anonymous function)", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 113, "columnNumber": 28 }, "hitCount": 0, "children": [ 4246 ] }, { "id": 4246, "callFrame": { "functionName": "mixinLog", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 95, "columnNumber": 24 }, "hitCount": 0, "children": [ 4247 ] }, { "id": 4247, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4248 ] }, { "id": 4248, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4249 ] }, { "id": 4249, "callFrame": { "functionName": "", "scriptId": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "lineNumber": 98, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 108, "ticks": 1 } ] }, { "id": 4250, "callFrame": { "functionName": "chain", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 3, "columnNumber": 15 }, "hitCount": 0, "children": [ 4251 ] }, { "id": 4251, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4252 ] }, { "id": 4252, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4253 ] }, { "id": 4253, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 335, "columnNumber": 18 }, "hitCount": 0, "children": [ 4254 ] }, { "id": 4254, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4255 ] }, { "id": 4255, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4256 ] }, { "id": 4256, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4257 ] }, { "id": 4257, "callFrame": { "functionName": "Installer.cloneCurrentTreeToIdealTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 654, "columnNumber": 59 }, "hitCount": 0, "children": [ 4258 ] }, { "id": 4258, "callFrame": { "functionName": "module.exports", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 4259 ] }, { "id": 4259, "callFrame": { "functionName": "copyTree", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 6, "columnNumber": 18 }, "hitCount": 0, "children": [ 4260, 4261 ] }, { "id": 4260, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0 }, { "id": 4261, "callFrame": { "functionName": "copyModuleList", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 19, "columnNumber": 24 }, "hitCount": 0, "children": [ 4262 ] }, { "id": 4262, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4263 ] }, { "id": 4263, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4264 ] }, { "id": 4264, "callFrame": { "functionName": "", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 22, "columnNumber": 31 }, "hitCount": 0, "children": [ 4265 ] }, { "id": 4265, "callFrame": { "functionName": "copyTree", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 6, "columnNumber": 18 }, "hitCount": 1, "children": [ 4266, 4270, 4276 ], "positionTicks": [ { "line": 11, "ticks": 1 } ] }, { "id": 4266, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0, "children": [ 4267 ] }, { "id": 4267, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4268 ] }, { "id": 4268, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4269 ] }, { "id": 4269, "callFrame": { "functionName": "", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 32, "columnNumber": 41 }, "hitCount": 3, "positionTicks": [ { "line": 35, "ticks": 1 }, { "line": 36, "ticks": 1 }, { "line": 38, "ticks": 1 } ] }, { "id": 4270, "callFrame": { "functionName": "copyModuleList", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 19, "columnNumber": 24 }, "hitCount": 0, "children": [ 4271 ] }, { "id": 4271, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4272 ] }, { "id": 4272, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4273 ] }, { "id": 4273, "callFrame": { "functionName": "", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 22, "columnNumber": 31 }, "hitCount": 0, "children": [ 4274 ] }, { "id": 4274, "callFrame": { "functionName": "copyTree", "scriptId": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "lineNumber": 6, "columnNumber": 18 }, "hitCount": 0, "children": [ 4275 ] }, { "id": 4275, "callFrame": { "functionName": "idealTree.copyTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 657, "columnNumber": 46 }, "hitCount": 1, "positionTicks": [ { "line": 666, "ticks": 1 } ] }, { "id": 4276, "callFrame": { "functionName": "idealTree.copyTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 657, "columnNumber": 46 }, "hitCount": 1, "positionTicks": [ { "line": 663, "ticks": 1 } ] }, { "id": 2047, "callFrame": { "functionName": "tickDone", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 169, "ticks": 1 } ] }, { "id": 2139, "callFrame": { "functionName": "nextTickEmitBefore", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2140 ] }, { "id": 2140, "callFrame": { "functionName": "pushAsyncIds", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 155, "ticks": 1 } ] }, { "id": 1653, "callFrame": { "functionName": "readFileAfterOpen", "scriptId": "45", "url": "fs.js", "lineNumber": 414, "columnNumber": 26 }, "hitCount": 17, "children": [ 1711 ], "positionTicks": [ { "line": 428, "ticks": 16 }, { "line": 415, "ticks": 1 } ] }, { "id": 1711, "callFrame": { "functionName": "", "scriptId": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "lineNumber": 72, "columnNumber": 49 }, "hitCount": 0, "children": [ 1712, 1783 ], "deoptReason": "Bad value context for arguments value" }, { "id": 1712, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 186, "columnNumber": 35 }, "hitCount": 0, "children": [ 1713 ] }, { "id": 1713, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 0, "children": [ 1714 ] }, { "id": 1714, "callFrame": { "functionName": "final", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 339, "columnNumber": 15 }, "hitCount": 0, "children": [ 1715, 1797, 1921 ] }, { "id": 1715, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 2, "children": [ 1716 ], "positionTicks": [ { "line": 35, "ticks": 1 }, { "line": 30, "ticks": 1 } ] }, { "id": 1716, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1717 ] }, { "id": 1717, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1718 ] }, { "id": 1718, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 9, "children": [ 1719, 1732, 1743, 1745, 1792, 1793, 1811, 1833, 1844, 3748, 3753 ], "positionTicks": [ { "line": 32, "ticks": 5 }, { "line": 33, "ticks": 3 }, { "line": 31, "ticks": 1 } ] }, { "id": 1719, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 1720, 1725 ] }, { "id": 1720, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 1721, 1780, 1813, 1907, 3735 ] }, { "id": 1721, "callFrame": { "functionName": "fixupUnqualifiedGist", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 79, "columnNumber": 30 }, "hitCount": 0, "children": [ 1722 ] }, { "id": 1722, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1723 ] }, { "id": 1723, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 1724, 3700 ] }, { "id": 1724, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 572, "ticks": 1 } ] }, { "id": 3700, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3701 ] }, { "id": 3701, "callFrame": { "functionName": "RegExp: ^[a-z0-9.+-]+:", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1780, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 89, "columnNumber": 21 }, "hitCount": 0, "children": [ 1781 ] }, { "id": 1781, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1782 ] }, { "id": 1782, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 3, "children": [ 3746 ], "positionTicks": [ { "line": 209, "ticks": 1 }, { "line": 412, "ticks": 1 }, { "line": 135, "ticks": 1 } ] }, { "id": 3746, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 0, "children": [ 3747 ] }, { "id": 3747, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1813, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1814 ] }, { "id": 1814, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 4, "children": [ 1845 ], "positionTicks": [ { "line": 33, "ticks": 1 }, { "line": 59, "ticks": 1 }, { "line": 54, "ticks": 1 }, { "line": 63, "ticks": 1 } ] }, { "id": 1845, "callFrame": { "functionName": "protocolToRepresentation", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 12, "columnNumber": 34 }, "hitCount": 0, "children": [ 1846 ] }, { "id": 1846, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 41, "ticks": 1 } ] }, { "id": 1907, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1908 ] }, { "id": 1908, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 114, "ticks": 1 } ] }, { "id": 3735, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3736 ] }, { "id": 3736, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3737 ] }, { "id": 3737, "callFrame": { "functionName": "RegExp: ^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1725, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 111, "columnNumber": 38 }, "hitCount": 0, "children": [ 1726, 1801, 1805 ] }, { "id": 1726, "callFrame": { "functionName": "GitHost.https", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 81, "columnNumber": 35 }, "hitCount": 0, "children": [ 1727 ] }, { "id": 1727, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 1, "children": [ 1728 ], "positionTicks": [ { "line": 37, "ticks": 1 } ] }, { "id": 1728, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1729 ] }, { "id": 1729, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 1730, 1796, 1822 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 1730, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 1, "children": [ 1731, 1917 ], "positionTicks": [ { "line": 52, "ticks": 1 } ] }, { "id": 1731, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 4 }, { "id": 1917, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1796, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 7, "positionTicks": [ { "line": 35, "ticks": 2 }, { "line": 36, "ticks": 5 } ] }, { "id": 1822, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 28, "columnNumber": 37 }, "hitCount": 2, "positionTicks": [ { "line": 29, "ticks": 1 }, { "line": 31, "ticks": 1 } ] }, { "id": 1801, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 1802 ] }, { "id": 1802, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 2, "children": [ 1803 ], "positionTicks": [ { "line": 28, "ticks": 1 }, { "line": 55, "ticks": 1 } ] }, { "id": 1803, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1804 ] }, { "id": 1804, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 1903, 3773 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 1903, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 3, "positionTicks": [ { "line": 36, "ticks": 3 } ] }, { "id": 3773, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 28, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 29, "ticks": 1 } ] }, { "id": 1805, "callFrame": { "functionName": "GitHost.sshurl", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 65, "columnNumber": 36 }, "hitCount": 0, "children": [ 1806 ] }, { "id": 1806, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 1807 ] }, { "id": 1807, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1808 ] }, { "id": 1808, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1809 ] }, { "id": 1809, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 52, "ticks": 1 } ] }, { "id": 1732, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 1733 ] }, { "id": 1733, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1734 ] }, { "id": 1734, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1735 ] }, { "id": 1735, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 136, "columnNumber": 56 }, "hitCount": 1, "children": [ 1736 ], "positionTicks": [ { "line": 142, "ticks": 1 } ] }, { "id": 1736, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1737 ] }, { "id": 1737, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1738 ] }, { "id": 1738, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 143, "columnNumber": 47 }, "hitCount": 0, "children": [ 1739 ] }, { "id": 1739, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 1, "children": [ 1740, 1810, 1823, 1847, 3720 ], "positionTicks": [ { "line": 26, "ticks": 1 } ] }, { "id": 1740, "callFrame": { "functionName": "fixupUnqualifiedGist", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 79, "columnNumber": 30 }, "hitCount": 0, "children": [ 1741 ] }, { "id": 1741, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1742 ] }, { "id": 1742, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 1810, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 3 }, { "id": 1823, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1824 ] }, { "id": 1824, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1825 ] }, { "id": 1825, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 2, "children": [ 1826 ], "positionTicks": [ { "line": 100, "ticks": 2 } ] }, { "id": 1826, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 477, "ticks": 1 } ] }, { "id": 1847, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 1, "children": [ 1848 ], "positionTicks": [ { "line": 96, "ticks": 1 } ] }, { "id": 1848, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 2095 ] }, { "id": 2095, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 2, "positionTicks": [ { "line": 570, "ticks": 1 }, { "line": 599, "ticks": 1 } ] }, { "id": 3720, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 3721 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 3721, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 33, "ticks": 1 } ] }, { "id": 1743, "callFrame": { "functionName": "fixHomepageField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 279, "columnNumber": 28 }, "hitCount": 0, "children": [ 1744 ] }, { "id": 1744, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 1, "children": [ 1827 ], "positionTicks": [ { "line": 96, "ticks": 1 } ] }, { "id": 1827, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 135, "ticks": 1 } ] }, { "id": 1745, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 1746 ] }, { "id": 1746, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 0, "children": [ 1747, 1831 ] }, { "id": 1747, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 1748 ] }, { "id": 1748, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 5, "children": [ 1749 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 227, "ticks": 2 }, { "line": 131, "ticks": 3 } ] }, { "id": 1749, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 1, "children": [ 1750 ], "positionTicks": [ { "line": 161, "ticks": 1 } ] }, { "id": 1750, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 539, "columnNumber": 16 }, "hitCount": 0, "children": [ 1751 ] }, { "id": 1751, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 1, "children": [ 1752, 1828, 1858 ], "positionTicks": [ { "line": 482, "ticks": 1 } ] }, { "id": 1752, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 4, "children": [ 1753 ], "positionTicks": [ { "line": 17, "ticks": 4 } ] }, { "id": 1753, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 4, "children": [ 3713, 3767 ] }, { "id": 3713, "callFrame": { "functionName": "RegExp: ^(?:YPL-1\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3767, "callFrame": { "functionName": "RegExp: ^(?:OPL-1\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1828, "callFrame": { "functionName": "showPosition", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 402, "columnNumber": 22 }, "hitCount": 0, "children": [ 1829 ] }, { "id": 1829, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 0, "children": [ 1830 ] }, { "id": 1830, "callFrame": { "functionName": "InnerArrayJoin", "scriptId": "6", "url": "native array.js", "lineNumber": 274, "columnNumber": 23 }, "hitCount": 0 }, { "id": 1858, "callFrame": { "functionName": "test_match", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 409, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 466, "ticks": 1 } ] }, { "id": 1831, "callFrame": { "functionName": "module.exports", "scriptId": "228", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js", "lineNumber": 209, "columnNumber": 25 }, "hitCount": 0, "children": [ 1832 ] }, { "id": 1832, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1792, "callFrame": { "functionName": "fixNameField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 201, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 203, "ticks": 1 } ] }, { "id": 1793, "callFrame": { "functionName": "fixKeywordsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 162, "columnNumber": 29 }, "hitCount": 0, "children": [ 1794 ] }, { "id": 1794, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 1795 ] }, { "id": 1795, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 1811, "callFrame": { "functionName": "fixPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 196, "columnNumber": 21 }, "hitCount": 1, "children": [ 1812 ], "positionTicks": [ { "line": 197, "ticks": 1 } ] }, { "id": 1812, "callFrame": { "functionName": "modifyPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 339, "columnNumber": 22 }, "hitCount": 1, "children": [ 1859 ], "positionTicks": [ { "line": 342, "ticks": 1 } ] }, { "id": 1859, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1860 ] }, { "id": 1860, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1861 ] }, { "id": 1861, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 341, "columnNumber": 52 }, "hitCount": 1, "children": [ 1862 ], "positionTicks": [ { "line": 342, "ticks": 1 } ] }, { "id": 1862, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 1863 ] }, { "id": 1863, "callFrame": { "functionName": "parsePerson", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 358, "columnNumber": 21 }, "hitCount": 0, "children": [ 1864 ] }, { "id": 1864, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 1865 ] }, { "id": 1865, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 1833, "callFrame": { "functionName": "fixBugsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 238, "columnNumber": 24 }, "hitCount": 1, "children": [ 1834 ], "positionTicks": [ { "line": 239, "ticks": 1 } ] }, { "id": 1834, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 2, "children": [ 3714 ], "positionTicks": [ { "line": 96, "ticks": 2 } ] }, { "id": 3714, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 314, "ticks": 1 } ] }, { "id": 1844, "callFrame": { "functionName": "ucFirst", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 36, "columnNumber": 17 }, "hitCount": 1, "children": [ 1916 ], "positionTicks": [ { "line": 37, "ticks": 1 } ] }, { "id": 1916, "callFrame": { "functionName": "toUpperCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1256, "columnNumber": 24 }, "hitCount": 2, "positionTicks": [ { "line": 1257, "ticks": 2 } ] }, { "id": 3748, "callFrame": { "functionName": "fixTypos", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 39, "columnNumber": 20 }, "hitCount": 0, "children": [ 3749 ] }, { "id": 3749, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3750 ] }, { "id": 3750, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3751 ] }, { "id": 3751, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 40, "columnNumber": 49 }, "hitCount": 0, "children": [ 3752 ] }, { "id": 3752, "callFrame": { "functionName": "hasOwnProperty", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3753, "callFrame": { "functionName": "fixScriptsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 47, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 48, "ticks": 1 } ] }, { "id": 1797, "callFrame": { "functionName": "checkBinReferences_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 318, "columnNumber": 29 }, "hitCount": 0, "children": [ 1798, 1856 ] }, { "id": 1798, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1799 ] }, { "id": 1799, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1800 ] }, { "id": 1800, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 331, "columnNumber": 24 }, "hitCount": 1, "children": [ 1923 ], "positionTicks": [ { "line": 334, "ticks": 1 } ] }, { "id": 1923, "callFrame": { "functionName": "fs.exists", "scriptId": "45", "url": "fs.js", "lineNumber": 302, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 309, "ticks": 1 } ] }, { "id": 1856, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 353, "columnNumber": 49 }, "hitCount": 0, "children": [ 1857 ] }, { "id": 1857, "callFrame": { "functionName": "thenCreateNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 111, "columnNumber": 26 }, "hitCount": 1, "children": [ 2082 ], "positionTicks": [ { "line": 121, "ticks": 1 } ] }, { "id": 2082, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 157, "columnNumber": 20 }, "hitCount": 0, "children": [ 2083 ] }, { "id": 2083, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 15, "columnNumber": 26 }, "hitCount": 0, "children": [ 2084 ] }, { "id": 2084, "callFrame": { "functionName": "thenSortChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 164, "columnNumber": 28 }, "hitCount": 0, "children": [ 2085 ] }, { "id": 2085, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2086 ] }, { "id": 2086, "callFrame": { "functionName": "thenProcessChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 194, "columnNumber": 31 }, "hitCount": 0, "children": [ 2087 ] }, { "id": 2087, "callFrame": { "functionName": "asyncForEach", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 8, "columnNumber": 22 }, "hitCount": 0, "children": [ 2088 ] }, { "id": 2088, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2089 ] }, { "id": 2089, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2090 ] }, { "id": 2090, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 12, "columnNumber": 25 }, "hitCount": 0, "children": [ 2091 ] }, { "id": 2091, "callFrame": { "functionName": "loadTreeForKid", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 203, "columnNumber": 26 }, "hitCount": 0, "children": [ 2092 ] }, { "id": 2092, "callFrame": { "functionName": "loadTree", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 178, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 195, "ticks": 1 } ] }, { "id": 1921, "callFrame": { "functionName": "makePackageId", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 359, "columnNumber": 23 }, "hitCount": 0, "children": [ 1922 ] }, { "id": 1922, "callFrame": { "functionName": "cleanString", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 365, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 366, "ticks": 1 } ] }, { "id": 1783, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 293, "columnNumber": 37 }, "hitCount": 0, "children": [ 1784 ] }, { "id": 1784, "callFrame": { "functionName": "then", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 119, "columnNumber": 16 }, "hitCount": 0, "children": [ 1785 ] }, { "id": 1785, "callFrame": { "functionName": "final", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 339, "columnNumber": 15 }, "hitCount": 0, "children": [ 1786, 3754 ] }, { "id": 1786, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 0, "children": [ 1787 ] }, { "id": 1787, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1788 ] }, { "id": 1788, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1789 ] }, { "id": 1789, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 0, "children": [ 1790, 1815, 1836, 1924, 3732, 3807 ] }, { "id": 1790, "callFrame": { "functionName": "fixPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 196, "columnNumber": 21 }, "hitCount": 0, "children": [ 1791 ] }, { "id": 1791, "callFrame": { "functionName": "modifyPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 339, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 340, "ticks": 1 } ] }, { "id": 1815, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 1816, 1890, 3708 ] }, { "id": 1816, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 111, "columnNumber": 38 }, "hitCount": 0, "children": [ 1817 ] }, { "id": 1817, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 1818 ] }, { "id": 1818, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 1, "children": [ 1819 ], "positionTicks": [ { "line": 24, "ticks": 1 } ] }, { "id": 1819, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 1820 ] }, { "id": 1820, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 1821, 1866, 1918 ] }, { "id": 1821, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 3, "positionTicks": [ { "line": 35, "ticks": 2 }, { "line": 36, "ticks": 1 } ] }, { "id": 1866, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 28, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 1918, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 0, "children": [ 1919, 3715 ] }, { "id": 1919, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1920 ] }, { "id": 1920, "callFrame": { "functionName": "RegExp: [{]pathtemplate[}]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3715, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1890, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 1891 ] }, { "id": 1891, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1892 ] }, { "id": 1892, "callFrame": { "functionName": "RegExp: github.com\\/[^\\/]+\\/[^\\/]+\\.git\\.git$", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3708, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 3709, 3764 ] }, { "id": 3709, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 89, "columnNumber": 21 }, "hitCount": 0, "children": [ 3710 ] }, { "id": 3710, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 3711 ] }, { "id": 3711, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 3712 ] }, { "id": 3712, "callFrame": { "functionName": "slice", "scriptId": "7", "url": "native string.js", "lineNumber": 40, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 41, "ticks": 1 } ] }, { "id": 3764, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 3765 ] }, { "id": 3765, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3766 ] }, { "id": 3766, "callFrame": { "functionName": "RegExp: ^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1836, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 1837 ] }, { "id": 1837, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 1, "children": [ 1838 ], "positionTicks": [ { "line": 62, "ticks": 1 } ] }, { "id": 1838, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 1839 ] }, { "id": 1839, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 0, "children": [ 1840 ], "deoptReason": "Bad value context for arguments value" }, { "id": 1840, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 1841 ] }, { "id": 1841, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 1842 ] }, { "id": 1842, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 1, "children": [ 1843 ], "positionTicks": [ { "line": 499, "ticks": 1 } ] }, { "id": 1843, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 3, "children": [ 1889 ], "positionTicks": [ { "line": 17, "ticks": 3 } ] }, { "id": 1889, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "children": [ 3760 ] }, { "id": 3760, "callFrame": { "functionName": "RegExp: ^(?:LPPL-1\\.3c)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 1924, "callFrame": { "functionName": "fixBugsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 238, "columnNumber": 24 }, "hitCount": 0, "children": [ 1925 ] }, { "id": 1925, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 1926 ] }, { "id": 1926, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 1927, 3761 ] }, { "id": 1927, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3761, "callFrame": { "functionName": "toASCII", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 330, "ticks": 1 } ] }, { "id": 3732, "callFrame": { "functionName": "fixHomepageField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 279, "columnNumber": 28 }, "hitCount": 0, "children": [ 3733 ] }, { "id": 3733, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 3734 ] }, { "id": 3734, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 3807, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 3808 ] }, { "id": 3808, "callFrame": { "functionName": "fixBundleDependenciesField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 101, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 3754, "callFrame": { "functionName": "checkBinReferences_", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 318, "columnNumber": 29 }, "hitCount": 0, "children": [ 3755 ] }, { "id": 3755, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 353, "columnNumber": 49 }, "hitCount": 0, "children": [ 3756 ] }, { "id": 3756, "callFrame": { "functionName": "thenCreateNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 111, "columnNumber": 26 }, "hitCount": 0, "children": [ 3757 ] }, { "id": 3757, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 157, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 158, "ticks": 1 } ] }, { "id": 1654, "callFrame": { "functionName": "readFileAfterStat", "scriptId": "45", "url": "fs.js", "lineNumber": 430, "columnNumber": 26 }, "hitCount": 1, "children": [ 1655, 3677 ], "positionTicks": [ { "line": 458, "ticks": 1 } ] }, { "id": 1655, "callFrame": { "functionName": "ReadFileContext.read", "scriptId": "45", "url": "fs.js", "lineNumber": 376, "columnNumber": 41 }, "hitCount": 6, "positionTicks": [ { "line": 452, "ticks": 5 }, { "line": 397, "ticks": 1 } ] }, { "id": 3677, "callFrame": { "functionName": "Buffer.allocUnsafeSlow", "scriptId": "25", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3678 ] }, { "id": 3678, "callFrame": { "functionName": "createUnsafeBuffer", "scriptId": "25", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3679 ] }, { "id": 3679, "callFrame": { "functionName": "createUnsafeArrayBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": 62, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 63, "ticks": 1 } ] }, { "id": 1656, "callFrame": { "functionName": "readFileAfterRead", "scriptId": "45", "url": "fs.js", "lineNumber": 460, "columnNumber": 26 }, "hitCount": 0, "children": [ 1657 ] }, { "id": 1657, "callFrame": { "functionName": "ReadFileContext.close", "scriptId": "45", "url": "fs.js", "lineNumber": 398, "columnNumber": 42 }, "hitCount": 14, "positionTicks": [ { "line": 403, "ticks": 1 }, { "line": 412, "ticks": 13 } ] }, { "id": 2012, "callFrame": { "functionName": "cb", "scriptId": "45", "url": "fs.js", "lineNumber": 309, "columnNumber": 13 }, "hitCount": 0, "children": [ 2013 ] }, { "id": 2013, "callFrame": { "functionName": "handleExists", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 325, "columnNumber": 24 }, "hitCount": 0, "children": [ 2014 ] }, { "id": 2014, "callFrame": { "functionName": "", "scriptId": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "lineNumber": 353, "columnNumber": 49 }, "hitCount": 0, "children": [ 2015 ] }, { "id": 2015, "callFrame": { "functionName": "thenCreateNode", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 111, "columnNumber": 26 }, "hitCount": 0, "children": [ 2016 ] }, { "id": 2016, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 157, "columnNumber": 20 }, "hitCount": 0, "children": [ 2017 ] }, { "id": 2017, "callFrame": { "functionName": "handleComplete", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2018 ] }, { "id": 2018, "callFrame": { "functionName": "thenSortChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 164, "columnNumber": 28 }, "hitCount": 0, "children": [ 2019, 2026 ] }, { "id": 2019, "callFrame": { "functionName": "sortChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 170, "columnNumber": 22 }, "hitCount": 0, "children": [ 2020 ] }, { "id": 2020, "callFrame": { "functionName": "sort", "scriptId": "6", "url": "native array.js", "lineNumber": 748, "columnNumber": 18 }, "hitCount": 0, "children": [ 2021 ] }, { "id": 2021, "callFrame": { "functionName": "InnerArraySort", "scriptId": "6", "url": "native array.js", "lineNumber": 529, "columnNumber": 23 }, "hitCount": 1, "children": [ 2022 ], "positionTicks": [ { "line": 530, "ticks": 1 } ] }, { "id": 2022, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 2023 ] }, { "id": 2023, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 2024 ] }, { "id": 2024, "callFrame": { "functionName": "QuickSort", "scriptId": "6", "url": "native array.js", "lineNumber": 573, "columnNumber": 18 }, "hitCount": 0, "children": [ 2025 ] }, { "id": 2025, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 171, "columnNumber": 46 }, "hitCount": 2, "positionTicks": [ { "line": 172, "ticks": 2 } ] }, { "id": 2026, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 2027 ] }, { "id": 2027, "callFrame": { "functionName": "thenProcessChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 194, "columnNumber": 31 }, "hitCount": 0, "children": [ 2028 ] }, { "id": 2028, "callFrame": { "functionName": "asyncForEach", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 8, "columnNumber": 22 }, "hitCount": 0, "children": [ 2029 ] }, { "id": 2029, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 2030 ] }, { "id": 2030, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 2031 ] }, { "id": 2031, "callFrame": { "functionName": "", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 12, "columnNumber": 25 }, "hitCount": 0, "children": [ 2032 ] }, { "id": 2032, "callFrame": { "functionName": "loadTreeForKid", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 203, "columnNumber": 26 }, "hitCount": 0, "children": [ 2033 ] }, { "id": 2033, "callFrame": { "functionName": "loadTree", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 178, "columnNumber": 18 }, "hitCount": 1, "children": [ 2034, 3793 ], "positionTicks": [ { "line": 207, "ticks": 1 } ] }, { "id": 2034, "callFrame": { "functionName": "loadChildren", "scriptId": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "lineNumber": 124, "columnNumber": 22 }, "hitCount": 0, "children": [ 2035, 2038 ] }, { "id": 2035, "callFrame": { "functionName": "realpath", "scriptId": "45", "url": "fs.js", "lineNumber": 1707, "columnNumber": 31 }, "hitCount": 0, "children": [ 2036, 2137, 3791 ] }, { "id": 2036, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 2037 ] }, { "id": 2037, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 99, "ticks": 1 } ] }, { "id": 2137, "callFrame": { "functionName": "nullCheck", "scriptId": "45", "url": "fs.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 2138 ] }, { "id": 2138, "callFrame": { "functionName": "indexOf", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 3791, "callFrame": { "functionName": "nextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 231, "columnNumber": 19 }, "hitCount": 0, "children": [ 3792 ] }, { "id": 3792, "callFrame": { "functionName": "setupInit", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 220, "columnNumber": 20 }, "hitCount": 2, "positionTicks": [ { "line": 248, "ticks": 1 }, { "line": 223, "ticks": 1 } ] }, { "id": 2038, "callFrame": { "functionName": "join", "scriptId": "41", "url": "path.js", "lineNumber": 1225, "columnNumber": 21 }, "hitCount": 1, "children": [ 2039 ], "positionTicks": [ { "line": 1226, "ticks": 1 } ] }, { "id": 2039, "callFrame": { "functionName": "normalize", "scriptId": "41", "url": "path.js", "lineNumber": 1196, "columnNumber": 31 }, "hitCount": 1, "children": [ 2040 ], "positionTicks": [ { "line": 1197, "ticks": 1 } ] }, { "id": 2040, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 142, "ticks": 1 } ] }, { "id": 3793, "callFrame": { "functionName": "wrapper", "scriptId": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "lineNumber": 18, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 3438, "callFrame": { "functionName": "processImmediate", "scriptId": "29", "url": "timers.js", "lineNumber": 707, "columnNumber": 25 }, "hitCount": 0, "children": [ 3439 ] }, { "id": 3439, "callFrame": { "functionName": "tryOnImmediate", "scriptId": "29", "url": "timers.js", "lineNumber": 756, "columnNumber": 23 }, "hitCount": 0, "children": [ 3440 ] }, { "id": 3440, "callFrame": { "functionName": "runCallback", "scriptId": "29", "url": "timers.js", "lineNumber": 791, "columnNumber": 20 }, "hitCount": 2, "children": [ 3441, 3835 ], "positionTicks": [ { "line": 800, "ticks": 2 } ] }, { "id": 3441, "callFrame": { "functionName": "", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 524, "columnNumber": 17 }, "hitCount": 0, "children": [ 3442 ] }, { "id": 3442, "callFrame": { "functionName": "end", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 529, "columnNumber": 23 }, "hitCount": 0, "children": [ 3443 ] }, { "id": 3443, "callFrame": { "functionName": "Request.end", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 1516, "columnNumber": 33 }, "hitCount": 1, "children": [ 3444, 3456 ], "positionTicks": [ { "line": 1525, "ticks": 1 } ] }, { "id": 3444, "callFrame": { "functionName": "Request.start", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 711, "columnNumber": 35 }, "hitCount": 0, "children": [ 3445 ] }, { "id": 3445, "callFrame": { "functionName": "request", "scriptId": "695", "url": "https.js", "lineNumber": 218, "columnNumber": 34 }, "hitCount": 0, "children": [ 3446 ] }, { "id": 3446, "callFrame": { "functionName": "request", "scriptId": "147", "url": "http.js", "lineNumber": 37, "columnNumber": 16 }, "hitCount": 0, "children": [ 3447 ] }, { "id": 3447, "callFrame": { "functionName": "ClientRequest", "scriptId": "149", "url": "_http_client.js", "lineNumber": 76, "columnNumber": 22 }, "hitCount": 0, "children": [ 3448, 3449 ] }, { "id": 3448, "callFrame": { "functionName": "setHeader", "scriptId": "154", "url": "_http_outgoing.js", "lineNumber": 509, "columnNumber": 56 }, "hitCount": 1, "positionTicks": [ { "line": 511, "ticks": 1 } ] }, { "id": 3449, "callFrame": { "functionName": "addRequest", "scriptId": "148", "url": "_http_agent.js", "lineNumber": 136, "columnNumber": 48 }, "hitCount": 0, "children": [ 3450 ] }, { "id": 3450, "callFrame": { "functionName": "createSocket", "scriptId": "148", "url": "_http_agent.js", "lineNumber": 202, "columnNumber": 52 }, "hitCount": 0, "children": [ 3451 ] }, { "id": 3451, "callFrame": { "functionName": "createConnection", "scriptId": "695", "url": "https.js", "lineNumber": 75, "columnNumber": 25 }, "hitCount": 0, "children": [ 3452 ] }, { "id": 3452, "callFrame": { "functionName": "exports.connect", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 1008, "columnNumber": 26 }, "hitCount": 0, "children": [ 3453, 3454, 3455, 3457 ] }, { "id": 3453, "callFrame": { "functionName": "normalizeConnectArgs", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 989, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 992, "ticks": 1 } ] }, { "id": 3454, "callFrame": { "functionName": "createSecureContext", "scriptId": "697", "url": "_tls_common.js", "lineNumber": 57, "columnNumber": 58 }, "hitCount": 6, "positionTicks": [ { "line": 81, "ticks": 6 } ] }, { "id": 3455, "callFrame": { "functionName": "TLSSocket", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 258, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 298, "ticks": 1 } ] }, { "id": 3457, "callFrame": { "functionName": "exports._extend", "scriptId": "24", "url": "util.js", "lineNumber": 971, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 981, "ticks": 1 } ] }, { "id": 3456, "callFrame": { "functionName": "end", "scriptId": "154", "url": "_http_outgoing.js", "lineNumber": 735, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 780, "ticks": 1 } ] }, { "id": 3835, "callFrame": { "functionName": "Async.drainQueues", "scriptId": "256", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js", "lineNumber": 15, "columnNumber": 32 }, "hitCount": 0, "children": [ 3836 ] }, { "id": 3836, "callFrame": { "functionName": "Async._drainQueues", "scriptId": "256", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js", "lineNumber": 141, "columnNumber": 40 }, "hitCount": 0, "children": [ 3837 ] }, { "id": 3837, "callFrame": { "functionName": "Async._drainQueue", "scriptId": "256", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js", "lineNumber": 128, "columnNumber": 38 }, "hitCount": 1, "children": [ 3838, 4017 ], "positionTicks": [ { "line": 129, "ticks": 1 } ] }, { "id": 3838, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 3839 ] }, { "id": 3839, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 3840 ] }, { "id": 3840, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 3841 ] }, { "id": 3841, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 3842, 4328 ] }, { "id": 3842, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 1, "children": [ 3843, 4358 ], "positionTicks": [ { "line": 445, "ticks": 1 } ] }, { "id": 3843, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 3844 ] }, { "id": 3844, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 3845 ] }, { "id": 3845, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 3846 ] }, { "id": 3846, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 3847 ] }, { "id": 3847, "callFrame": { "functionName": "", "scriptId": "275", "url": "", "lineNumber": 0, "columnNumber": 9 }, "hitCount": 0, "children": [ 3848 ] }, { "id": 3848, "callFrame": { "functionName": "Holder$3.checkFulfillment", "scriptId": "280", "url": "", "lineNumber": 22, "columnNumber": 58 }, "hitCount": 0, "children": [ 3849 ] }, { "id": 3849, "callFrame": { "functionName": "Holder$3._callFunction", "scriptId": "280", "url": "", "lineNumber": 11, "columnNumber": 55 }, "hitCount": 0, "children": [ 3850, 3851 ] }, { "id": 3850, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 12, "ticks": 1 } ] }, { "id": 3851, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 3852 ] }, { "id": 3852, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 3853 ] }, { "id": 3853, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 1, "children": [ 3854 ], "positionTicks": [ { "line": 694, "ticks": 1 } ] }, { "id": 3854, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 3855 ] }, { "id": 3855, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 3856 ] }, { "id": 3856, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 3857 ] }, { "id": 3857, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 3858 ] }, { "id": 3858, "callFrame": { "functionName": "BB.join.then", "scriptId": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "lineNumber": 40, "columnNumber": 9 }, "hitCount": 0, "children": [ 3859 ] }, { "id": 3859, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 643, "columnNumber": 43 }, "hitCount": 0, "children": [ 3860 ] }, { "id": 3860, "callFrame": { "functionName": "Installer.loadArgMetadata", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 323, "columnNumber": 47 }, "hitCount": 0, "children": [ 3861 ] }, { "id": 3861, "callFrame": { "functionName": "exports.getAllMetadata", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 197, "columnNumber": 34 }, "hitCount": 0, "children": [ 3862 ] }, { "id": 3862, "callFrame": { "functionName": "asyncMap", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3863 ] }, { "id": 3863, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3864 ] }, { "id": 3864, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3865 ] }, { "id": 3865, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 50, "columnNumber": 24 }, "hitCount": 0, "children": [ 3866 ] }, { "id": 3866, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3867 ] }, { "id": 3867, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3868 ] }, { "id": 3868, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 51, "columnNumber": 27 }, "hitCount": 0, "children": [ 3869 ] }, { "id": 3869, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 198, "columnNumber": 26 }, "hitCount": 0, "children": [ 3870 ] }, { "id": 3870, "callFrame": { "functionName": "npa", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 17, "columnNumber": 13 }, "hitCount": 0, "children": [ 3871 ] }, { "id": 3871, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0 }, { "id": 4358, "callFrame": { "functionName": "Promise._setFollowing", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 302, "columnNumber": 43 }, "hitCount": 1, "positionTicks": [ { "line": 303, "ticks": 1 } ] }, { "id": 4328, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4329, 4508, 4591 ] }, { "id": 4329, "callFrame": { "functionName": "gotAccum", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 135, "columnNumber": 17 }, "hitCount": 0, "children": [ 4330 ] }, { "id": 4330, "callFrame": { "functionName": "gotValue", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 147, "columnNumber": 17 }, "hitCount": 0, "children": [ 4331 ] }, { "id": 4331, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4332 ] }, { "id": 4332, "callFrame": { "functionName": "BB.each", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 47, "columnNumber": 38 }, "hitCount": 1, "children": [ 4333, 4346 ], "positionTicks": [ { "line": 48, "ticks": 1 } ] }, { "id": 4333, "callFrame": { "functionName": "inflatableChild", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 71, "columnNumber": 25 }, "hitCount": 3, "children": [ 4334, 4428, 4471, 4507 ], "positionTicks": [ { "line": 72, "ticks": 2 }, { "line": 78, "ticks": 1 } ] }, { "id": 4334, "callFrame": { "functionName": "normalizePackageDataNoErrors", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 63, "columnNumber": 38 }, "hitCount": 0, "children": [ 4335, 4538 ] }, { "id": 4335, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 0, "children": [ 4336 ] }, { "id": 4336, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4337 ] }, { "id": 4337, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4338 ] }, { "id": 4338, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 2, "children": [ 4339, 4345, 4353, 4359, 4366, 4367, 4414, 4483, 4484, 4487, 4523, 4527, 4561 ], "positionTicks": [ { "line": 31, "ticks": 2 } ] }, { "id": 4339, "callFrame": { "functionName": "fixPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 196, "columnNumber": 21 }, "hitCount": 0, "children": [ 4340 ] }, { "id": 4340, "callFrame": { "functionName": "modifyPeople", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 339, "columnNumber": 22 }, "hitCount": 0, "children": [ 4341, 4475, 4570 ] }, { "id": 4341, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4342 ] }, { "id": 4342, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4343 ] }, { "id": 4343, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 341, "columnNumber": 52 }, "hitCount": 1, "children": [ 4344 ], "positionTicks": [ { "line": 342, "ticks": 1 } ] }, { "id": 4344, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 2, "positionTicks": [ { "line": 832, "ticks": 2 } ] }, { "id": 4475, "callFrame": { "functionName": "parsePerson", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 358, "columnNumber": 21 }, "hitCount": 1, "children": [ 4476 ], "positionTicks": [ { "line": 366, "ticks": 1 } ] }, { "id": 4476, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4477 ] }, { "id": 4477, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4570, "callFrame": { "functionName": "unParsePerson", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 348, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 353, "ticks": 1 } ] }, { "id": 4345, "callFrame": { "functionName": "fixKeywordsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 162, "columnNumber": 29 }, "hitCount": 0 }, { "id": 4353, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 4354, 4390, 4589 ] }, { "id": 4354, "callFrame": { "functionName": "objectifyDeps", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 401, "columnNumber": 23 }, "hitCount": 0, "children": [ 4355 ] }, { "id": 4355, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4356 ] }, { "id": 4356, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 4357 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 4357, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 402, "columnNumber": 28 }, "hitCount": 2, "positionTicks": [ { "line": 403, "ticks": 1 }, { "line": 405, "ticks": 1 } ] }, { "id": 4390, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4391 ] }, { "id": 4391, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4392 ] }, { "id": 4392, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 136, "columnNumber": 56 }, "hitCount": 0, "children": [ 4393 ] }, { "id": 4393, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4394 ] }, { "id": 4394, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 4398 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 4398, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 143, "columnNumber": 47 }, "hitCount": 1, "children": [ 4399 ], "positionTicks": [ { "line": 150, "ticks": 1 } ] }, { "id": 4399, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 2, "children": [ 4400, 4433, 4496, 4499 ], "positionTicks": [ { "line": 26, "ticks": 2 } ] }, { "id": 4400, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4401 ] }, { "id": 4401, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 4433, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4434 ] }, { "id": 4434, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4435 ] }, { "id": 4435, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 3, "children": [ 4436 ], "positionTicks": [ { "line": 401, "ticks": 1 }, { "line": 412, "ticks": 1 }, { "line": 373, "ticks": 1 } ] }, { "id": 4436, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 2, "children": [ 4503 ], "positionTicks": [ { "line": 612, "ticks": 1 }, { "line": 620, "ticks": 1 } ] }, { "id": 4503, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4496, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4497 ] }, { "id": 4497, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 1, "positionTicks": [ { "line": 33, "ticks": 1 } ] }, { "id": 4499, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4500 ] }, { "id": 4500, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4589, "callFrame": { "functionName": "addOptionalDepsToDeps", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 370, "columnNumber": 31 }, "hitCount": 1, "positionTicks": [ { "line": 378, "ticks": 1 } ] }, { "id": 4359, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 4360, 4377 ] }, { "id": 4360, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4361, 4402, 4454 ] }, { "id": 4361, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 4362 ] }, { "id": 4362, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 4363 ] }, { "id": 4363, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4364 ] }, { "id": 4364, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4365, 4504 ] }, { "id": 4365, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 2, "positionTicks": [ { "line": 34, "ticks": 1 }, { "line": 35, "ticks": 1 } ] }, { "id": 4504, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 1, "children": [ 4582 ], "positionTicks": [ { "line": 53, "ticks": 1 } ] }, { "id": 4582, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4402, "callFrame": { "functionName": "GitHost.sshurl", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 65, "columnNumber": 36 }, "hitCount": 0, "children": [ 4403 ] }, { "id": 4403, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 4404 ] }, { "id": 4404, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4405 ] }, { "id": 4405, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4406 ] }, { "id": 4406, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 0, "children": [ 4407 ] }, { "id": 4407, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 4454, "callFrame": { "functionName": "GitHost.https", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 81, "columnNumber": 35 }, "hitCount": 0, "children": [ 4455 ] }, { "id": 4455, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 3, "children": [ 4456 ], "positionTicks": [ { "line": 24, "ticks": 1 }, { "line": 49, "ticks": 1 }, { "line": 29, "ticks": 1 } ] }, { "id": 4456, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4457 ] }, { "id": 4457, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4458, 4478 ] }, { "id": 4458, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 4, "positionTicks": [ { "line": 35, "ticks": 4 } ] }, { "id": 4478, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 51, "columnNumber": 37 }, "hitCount": 0, "children": [ 4479, 4516 ] }, { "id": 4479, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2 }, { "id": 4516, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4377, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4378, 4412, 4440, 4513 ] }, { "id": 4378, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 1, "children": [ 4379 ], "positionTicks": [ { "line": 832, "ticks": 1 } ] }, { "id": 4379, "callFrame": { "functionName": "", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 32, "columnNumber": 51 }, "hitCount": 0, "children": [ 4380 ] }, { "id": 4380, "callFrame": { "functionName": "module.exports", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 4, "columnNumber": 40 }, "hitCount": 0, "children": [ 4381 ] }, { "id": 4381, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4382 ] }, { "id": 4382, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4383 ] }, { "id": 4383, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 7, "columnNumber": 47 }, "hitCount": 2, "positionTicks": [ { "line": 8, "ticks": 2 } ] }, { "id": 4412, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4413 ] }, { "id": 4413, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4440, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4441 ] }, { "id": 4441, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4442 ] }, { "id": 4442, "callFrame": { "functionName": "validateHostname", "scriptId": "146", "url": "url.js", "lineNumber": 422, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 426, "ticks": 1 } ] }, { "id": 4513, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4514 ] }, { "id": 4514, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4515 ] }, { "id": 4515, "callFrame": { "functionName": "RegExp: ^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4366, "callFrame": { "functionName": "fixTypos", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 39, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 4367, "callFrame": { "functionName": "fixLicenseField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 296, "columnNumber": 27 }, "hitCount": 0, "children": [ 4368 ] }, { "id": 4368, "callFrame": { "functionName": "module.exports", "scriptId": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "lineNumber": 31, "columnNumber": 25 }, "hitCount": 0, "children": [ 4369 ] }, { "id": 4369, "callFrame": { "functionName": "module.exports", "scriptId": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "lineNumber": 2, "columnNumber": 26 }, "hitCount": 0, "children": [ 4370 ] }, { "id": 4370, "callFrame": { "functionName": "parse", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 130, "columnNumber": 21 }, "hitCount": 4, "children": [ 4371, 4431 ], "deoptReason": "Bad value context for arguments value", "positionTicks": [ { "line": 131, "ticks": 2 }, { "line": 247, "ticks": 2 } ] }, { "id": 4371, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 4372 ] }, { "id": 4372, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4373, 4501 ] }, { "id": 4373, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 0, "children": [ 4374, 4481 ] }, { "id": 4374, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 4, "children": [ 4375 ], "positionTicks": [ { "line": 17, "ticks": 4 } ] }, { "id": 4375, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "children": [ 4376, 4464, 4470, 4486, 4498, 4505, 4526, 4528, 4536, 4537, 4543, 4566, 4568, 4590 ] }, { "id": 4376, "callFrame": { "functionName": "RegExp: ^(?:BSD-3-Clause-Clear)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4464, "callFrame": { "functionName": "RegExp: ^(?:MPL-1\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4470, "callFrame": { "functionName": "RegExp: ^(?:YPL-1\\.1)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4486, "callFrame": { "functionName": "RegExp: ^(?:ICU)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4498, "callFrame": { "functionName": "RegExp: ^(?:RPL-1\\.1)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4505, "callFrame": { "functionName": "RegExp: ^(?:LPL-1\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4526, "callFrame": { "functionName": "RegExp: ^(?::)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4528, "callFrame": { "functionName": "RegExp: ^(?:gSOAP-1\\.3b)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4536, "callFrame": { "functionName": "RegExp: ^(?:OLDAP-2\\.3)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4537, "callFrame": { "functionName": "RegExp: ^(?:Qwt-exception-1\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4543, "callFrame": { "functionName": "RegExp: ^(?:bzip2-1\\.0\\.5)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4566, "callFrame": { "functionName": "RegExp: ^(?:AMPAS)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4568, "callFrame": { "functionName": "RegExp: ^(?:Leptonica)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4590, "callFrame": { "functionName": "RegExp: ^(?:EPL-1\\.0)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4481, "callFrame": { "functionName": "test_match", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 409, "columnNumber": 20 }, "hitCount": 0, "children": [ 4482 ] }, { "id": 4482, "callFrame": { "functionName": "anonymous", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 592, "columnNumber": 33 }, "hitCount": 1, "positionTicks": [ { "line": 646, "ticks": 1 } ] }, { "id": 4501, "callFrame": { "functionName": "lex", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 539, "columnNumber": 16 }, "hitCount": 0, "children": [ 4502 ] }, { "id": 4502, "callFrame": { "functionName": "next", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 481, "columnNumber": 14 }, "hitCount": 1, "children": [ 4580 ], "positionTicks": [ { "line": 501, "ticks": 1 } ] }, { "id": 4580, "callFrame": { "functionName": "showPosition", "scriptId": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "lineNumber": 402, "columnNumber": 22 }, "hitCount": 0, "children": [ 4581 ] }, { "id": 4581, "callFrame": { "functionName": "join", "scriptId": "6", "url": "native array.js", "lineNumber": 287, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 288, "ticks": 1 } ] }, { "id": 4431, "callFrame": { "functionName": "create", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4414, "callFrame": { "functionName": "fixHomepageField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 279, "columnNumber": 28 }, "hitCount": 1, "children": [ 4415 ], "positionTicks": [ { "line": 280, "ticks": 1 } ] }, { "id": 4415, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4416 ] }, { "id": 4416, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 3, "children": [ 4525, 4569 ], "positionTicks": [ { "line": 347, "ticks": 1 }, { "line": 100, "ticks": 1 }, { "line": 211, "ticks": 1 } ] }, { "id": 4525, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 570, "ticks": 1 } ] }, { "id": 4569, "callFrame": { "functionName": "exec", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4483, "callFrame": { "functionName": "fixScriptsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 47, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 48, "ticks": 1 } ] }, { "id": 4484, "callFrame": { "functionName": "fixNameField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 201, "columnNumber": 24 }, "hitCount": 0, "children": [ 4485 ] }, { "id": 4485, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4487, "callFrame": { "functionName": "fixVersionField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 181, "columnNumber": 27 }, "hitCount": 1, "children": [ 4488 ], "positionTicks": [ { "line": 186, "ticks": 1 } ] }, { "id": 4488, "callFrame": { "functionName": "valid", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4489 ] }, { "id": 4489, "callFrame": { "functionName": "parse", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 235, "columnNumber": 14 }, "hitCount": 1, "children": [ 4490 ], "positionTicks": [ { "line": 236, "ticks": 1 } ] }, { "id": 4490, "callFrame": { "functionName": "SemVer", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 271, "columnNumber": 15 }, "hitCount": 0, "children": [ 4491 ] }, { "id": 4491, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 17, "ticks": 1 } ] }, { "id": 4523, "callFrame": { "functionName": "fixBugsField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 238, "columnNumber": 24 }, "hitCount": 0, "children": [ 4524, 4533 ] }, { "id": 4524, "callFrame": { "functionName": "bugsTypos", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 408, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 409, "ticks": 1 } ] }, { "id": 4533, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4534 ] }, { "id": 4534, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "children": [ 4535 ], "positionTicks": [ { "line": 330, "ticks": 1 } ] }, { "id": 4535, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 633, "ticks": 1 } ] }, { "id": 4527, "callFrame": { "functionName": "fixBinField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 81, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 82, "ticks": 1 } ] }, { "id": 4561, "callFrame": { "functionName": "fixManField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 95, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 96, "ticks": 1 } ] }, { "id": 4538, "callFrame": { "functionName": "CompareICStub", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4428, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4429, 4544, 4576 ] }, { "id": 4429, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4430, 4443 ] }, { "id": 4430, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4443, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 4544, "callFrame": { "functionName": "split", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4576, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4577 ] }, { "id": 4577, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4578 ] }, { "id": 4578, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0, "children": [ 4579 ] }, { "id": 4579, "callFrame": { "functionName": "addSchema", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 40, "ticks": 1 } ] }, { "id": 4471, "callFrame": { "functionName": "Promise.cast", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 191, "columnNumber": 24 }, "hitCount": 0, "children": [ 4472 ] }, { "id": 4472, "callFrame": { "functionName": "tryConvertToPromise", "scriptId": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "lineNumber": 6, "columnNumber": 28 }, "hitCount": 1, "children": [ 4473 ], "positionTicks": [ { "line": 8, "ticks": 1 } ] }, { "id": 4473, "callFrame": { "functionName": "getThen", "scriptId": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "lineNumber": 37, "columnNumber": 16 }, "hitCount": 1, "positionTicks": [ { "line": 38, "ticks": 1 } ] }, { "id": 4507, "callFrame": { "functionName": "String", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4346, "callFrame": { "functionName": "module.exports", "scriptId": "317", "url": "/usr/local/lib/node_modules/npm/lib/install/realize-shrinkwrap-specifier.js", "lineNumber": 3, "columnNumber": 26 }, "hitCount": 1, "children": [ 4347 ], "positionTicks": [ { "line": 4, "ticks": 1 } ] }, { "id": 4347, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 2, "children": [ 4348, 4423, 4444, 4492, 4545, 4552, 4563 ], "positionTicks": [ { "line": 44, "ticks": 1 }, { "line": 62, "ticks": 1 } ] }, { "id": 4348, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4349, 4408, 4437, 4474, 4559 ] }, { "id": 4349, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4350 ] }, { "id": 4350, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 2, "children": [ 4351, 4480, 4551 ], "positionTicks": [ { "line": 114, "ticks": 1 }, { "line": 115, "ticks": 1 } ] }, { "id": 4351, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 0, "children": [ 4352 ] }, { "id": 4352, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 3 }, { "id": 4480, "callFrame": { "functionName": "toASCII", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 2, "positionTicks": [ { "line": 330, "ticks": 2 } ] }, { "id": 4551, "callFrame": { "functionName": "validateHostname", "scriptId": "146", "url": "url.js", "lineNumber": 422, "columnNumber": 25 }, "hitCount": 2, "positionTicks": [ { "line": 428, "ticks": 1 }, { "line": 423, "ticks": 1 } ] }, { "id": 4408, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4409 ] }, { "id": 4409, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4410 ] }, { "id": 4410, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 3, "children": [ 4411 ], "positionTicks": [ { "line": 114, "ticks": 1 }, { "line": 115, "ticks": 1 }, { "line": 100, "ticks": 1 } ] }, { "id": 4411, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4437, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4438 ] }, { "id": 4438, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4439 ] }, { "id": 4439, "callFrame": { "functionName": "RegExp: ^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 4 }, { "id": 4474, "callFrame": { "functionName": "RegExp", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4559, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4560 ] }, { "id": 4560, "callFrame": { "functionName": "ArraySpeciesCreate", "scriptId": "6", "url": "native array.js", "lineNumber": 22, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 4423, "callFrame": { "functionName": "test", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4444, "callFrame": { "functionName": "Result.setName", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 102, "columnNumber": 36 }, "hitCount": 0, "children": [ 4445 ] }, { "id": 4445, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 1, "children": [ 4446 ], "positionTicks": [ { "line": 73, "ticks": 1 } ] }, { "id": 4446, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4447 ] }, { "id": 4447, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 2, "children": [ 4448 ], "positionTicks": [ { "line": 776, "ticks": 2 } ] }, { "id": 4448, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 4449 ] }, { "id": 4449, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4492, "callFrame": { "functionName": "fromURL", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 210, "columnNumber": 17 }, "hitCount": 0, "children": [ 4493 ], "deoptReason": "Unsupported phi use of const or let variable" }, { "id": 4493, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4494 ] }, { "id": 4494, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4495, 4573 ] }, { "id": 4495, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 2, "children": [ 4562 ], "positionTicks": [ { "line": 570, "ticks": 2 } ] }, { "id": 4562, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4573, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 453, "ticks": 1 } ] }, { "id": 4545, "callFrame": { "functionName": "Result", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 80, "columnNumber": 16 }, "hitCount": 0, "children": [ 4546 ] }, { "id": 4546, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 4547 ] }, { "id": 4547, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4548 ] }, { "id": 4548, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4549 ] }, { "id": 4549, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 4550 ] }, { "id": 4550, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4552, "callFrame": { "functionName": "fromRegistry", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 248, "columnNumber": 22 }, "hitCount": 0, "children": [ 4553 ] }, { "id": 4553, "callFrame": { "functionName": "validRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 1106, "columnNumber": 19 }, "hitCount": 0, "children": [ 4554 ] }, { "id": 4554, "callFrame": { "functionName": "Range", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 708, "columnNumber": 14 }, "hitCount": 0, "children": [ 4555 ] }, { "id": 4555, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4556 ] }, { "id": 4556, "callFrame": { "functionName": "", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 719, "columnNumber": 51 }, "hitCount": 0, "children": [ 4557 ] }, { "id": 4557, "callFrame": { "functionName": "Range.parseRange", "scriptId": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "lineNumber": 744, "columnNumber": 37 }, "hitCount": 0, "children": [ 4558 ] }, { "id": 4558, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4563, "callFrame": { "functionName": "module.exports", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 9, "columnNumber": 41 }, "hitCount": 0, "children": [ 4564, 4567, 4571 ] }, { "id": 4564, "callFrame": { "functionName": "match", "scriptId": "7", "url": "native string.js", "lineNumber": 16, "columnNumber": 22 }, "hitCount": 0, "children": [ 4565 ] }, { "id": 4565, "callFrame": { "functionName": "[Symbol.match]", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4567, "callFrame": { "functionName": "done", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 20, "ticks": 1 } ] }, { "id": 4571, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4572 ] }, { "id": 4572, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "children": [ 4574 ], "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 4574, "callFrame": { "functionName": "", "scriptId": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "lineNumber": 54, "columnNumber": 28 }, "hitCount": 0, "children": [ 4575 ] }, { "id": 4575, "callFrame": { "functionName": "toLowerCase", "scriptId": "19", "url": "native i18n.js", "lineNumber": 1252, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 1253, "ticks": 1 } ] }, { "id": 4508, "callFrame": { "functionName": "promiseAllThis", "scriptId": "311", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "lineNumber": 5, "columnNumber": 23 }, "hitCount": 0, "children": [ 4509 ] }, { "id": 4509, "callFrame": { "functionName": "Promise.all", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4510 ] }, { "id": 4510, "callFrame": { "functionName": "PromiseArray", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4511 ] }, { "id": 4511, "callFrame": { "functionName": "init", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 35, "columnNumber": 44 }, "hitCount": 0, "children": [ 4512 ] }, { "id": 4512, "callFrame": { "functionName": "PromiseArray._iterate", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 80, "columnNumber": 42 }, "hitCount": 1, "positionTicks": [ { "line": 114, "ticks": 1 } ] }, { "id": 4591, "callFrame": { "functionName": "inflateShrinkwrap.then", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 30, "columnNumber": 4 }, "hitCount": 0, "children": [ 4592 ] }, { "id": 4592, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4593 ] }, { "id": 4593, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4594 ] }, { "id": 4594, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4595 ] }, { "id": 4595, "callFrame": { "functionName": "Installer.finishTracker", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 341, "columnNumber": 45 }, "hitCount": 0, "children": [ 4596 ] }, { "id": 4596, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4597 ] }, { "id": 4597, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4598 ] }, { "id": 4598, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4599 ] }, { "id": 4599, "callFrame": { "functionName": "", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 335, "columnNumber": 18 }, "hitCount": 0, "children": [ 4600 ] }, { "id": 4600, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4601 ] }, { "id": 4601, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4602 ] }, { "id": 4602, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4603 ] }, { "id": 4603, "callFrame": { "functionName": "Installer.loadAllDepsIntoIdealTree", "scriptId": "211", "url": "/usr/local/lib/node_modules/npm/lib/install.js", "lineNumber": 410, "columnNumber": 56 }, "hitCount": 1, "children": [ 4604 ], "positionTicks": [ { "line": 442, "ticks": 1 } ] }, { "id": 4604, "callFrame": { "functionName": "chain", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 3, "columnNumber": 15 }, "hitCount": 0, "children": [ 4605 ] }, { "id": 4605, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4606 ] }, { "id": 4606, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4607 ] }, { "id": 4607, "callFrame": { "functionName": "module.exports", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 10, "columnNumber": 26 }, "hitCount": 0, "children": [ 4608 ] }, { "id": 4608, "callFrame": { "functionName": "asyncMap", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4609 ] }, { "id": 4609, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4610 ] }, { "id": 4610, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4611 ] }, { "id": 4611, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 50, "columnNumber": 24 }, "hitCount": 0, "children": [ 4612 ] }, { "id": 4612, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4613 ] }, { "id": 4613, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4614 ] }, { "id": 4614, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 51, "columnNumber": 27 }, "hitCount": 0, "children": [ 4615 ] }, { "id": 4615, "callFrame": { "functionName": "", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 14, "columnNumber": 26 }, "hitCount": 0, "children": [ 4616 ] }, { "id": 4616, "callFrame": { "functionName": "chain", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 3, "columnNumber": 15 }, "hitCount": 0, "children": [ 4617 ] }, { "id": 4617, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4618 ] }, { "id": 4618, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4619 ] }, { "id": 4619, "callFrame": { "functionName": "checkSelf", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 44, "columnNumber": 19 }, "hitCount": 0, "children": [ 4620 ] }, { "id": 4620, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4621 ] }, { "id": 4621, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4622 ] }, { "id": 4622, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4623 ] }, { "id": 4623, "callFrame": { "functionName": "module.exports.isInstallable", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 28, "columnNumber": 60 }, "hitCount": 0, "children": [ 4624 ] }, { "id": 4624, "callFrame": { "functionName": "checkEngine", "scriptId": "555", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js", "lineNumber": 6, "columnNumber": 21 }, "hitCount": 0, "children": [ 4625 ] }, { "id": 4625, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4626 ] }, { "id": 4626, "callFrame": { "functionName": "thenWarnEngineIssues", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 38, "columnNumber": 32 }, "hitCount": 0, "children": [ 4627 ] }, { "id": 4627, "callFrame": { "functionName": "checkPlatform", "scriptId": "555", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js", "lineNumber": 27, "columnNumber": 23 }, "hitCount": 0, "children": [ 4628 ] }, { "id": 4628, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4629 ] }, { "id": 4629, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4630 ] }, { "id": 4630, "callFrame": { "functionName": "cb", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 27, "columnNumber": 14 }, "hitCount": 0, "children": [ 4631 ] }, { "id": 4631, "callFrame": { "functionName": "", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 14, "columnNumber": 23 }, "hitCount": 0, "children": [ 4632 ] }, { "id": 4632, "callFrame": { "functionName": "LOOP", "scriptId": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4633 ] }, { "id": 4633, "callFrame": { "functionName": "", "scriptId": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4634 ] }, { "id": 4634, "callFrame": { "functionName": "exports.loadRequestedDeps", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 220, "columnNumber": 37 }, "hitCount": 0, "children": [ 4635 ] }, { "id": 4635, "callFrame": { "functionName": "asyncMap", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4636 ] }, { "id": 4636, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4637 ] }, { "id": 4637, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4638 ] }, { "id": 4638, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 50, "columnNumber": 24 }, "hitCount": 0, "children": [ 4639 ] }, { "id": 4639, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4640 ] }, { "id": 4640, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4641 ] }, { "id": 4641, "callFrame": { "functionName": "", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 51, "columnNumber": 27 }, "hitCount": 0, "children": [ 4642 ] }, { "id": 4642, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 222, "columnNumber": 26 }, "hitCount": 0, "children": [ 4643 ] }, { "id": 4643, "callFrame": { "functionName": "resolveWithNewModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 581, "columnNumber": 30 }, "hitCount": 0, "children": [ 4644 ] }, { "id": 4644, "callFrame": { "functionName": "module.exports.isInstallable", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 28, "columnNumber": 60 }, "hitCount": 0, "children": [ 4645 ] }, { "id": 4645, "callFrame": { "functionName": "checkEngine", "scriptId": "555", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js", "lineNumber": 6, "columnNumber": 21 }, "hitCount": 0, "children": [ 4646 ] }, { "id": 4646, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4647 ] }, { "id": 4647, "callFrame": { "functionName": "thenWarnEngineIssues", "scriptId": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "lineNumber": 38, "columnNumber": 32 }, "hitCount": 0, "children": [ 4648 ] }, { "id": 4648, "callFrame": { "functionName": "checkPlatform", "scriptId": "555", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js", "lineNumber": 27, "columnNumber": 23 }, "hitCount": 0, "children": [ 4649 ] }, { "id": 4649, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 1, "children": [ 4650 ], "positionTicks": [ { "line": 13, "ticks": 1 } ] }, { "id": 4650, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 585, "columnNumber": 49 }, "hitCount": 0, "children": [ 4651 ] }, { "id": 4651, "callFrame": { "functionName": "addBundled", "scriptId": "321", "url": "/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js", "lineNumber": 85, "columnNumber": 20 }, "hitCount": 0, "children": [ 4652 ] }, { "id": 4652, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4653 ] }, { "id": 4653, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 586, "columnNumber": 41 }, "hitCount": 0, "children": [ 4654, 4658, 4661 ] }, { "id": 4654, "callFrame": { "functionName": "replaceModuleByName", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 559, "columnNumber": 29 }, "hitCount": 0, "children": [ 4655, 4656 ] }, { "id": 4655, "callFrame": { "functionName": "moduleName", "scriptId": "315", "url": "/usr/local/lib/node_modules/npm/lib/utils/module-name.js", "lineNumber": 22, "columnNumber": 20 }, "hitCount": 1, "positionTicks": [ { "line": 23, "ticks": 1 } ] }, { "id": 4656, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 4657 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4657, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 561, "columnNumber": 49 }, "hitCount": 0 }, { "id": 4658, "callFrame": { "functionName": "removeObsoleteDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 162, "columnNumber": 27 }, "hitCount": 0, "children": [ 4659 ] }, { "id": 4659, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4660 ] }, { "id": 4660, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4661, "callFrame": { "functionName": "", "scriptId": "244", "url": "/usr/local/lib/node_modules/npm/node_modules/iferr/index.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4662 ] }, { "id": 4662, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 224, "columnNumber": 97 }, "hitCount": 0, "children": [ 4663, 4674 ] }, { "id": 4663, "callFrame": { "functionName": "addRequiredDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 151, "columnNumber": 24 }, "hitCount": 0, "children": [ 4664, 4671 ] }, { "id": 4664, "callFrame": { "functionName": "isDep", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 129, "columnNumber": 15 }, "hitCount": 0, "children": [ 4665 ] }, { "id": 4665, "callFrame": { "functionName": "childDependencySpecifier", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 82, "columnNumber": 34 }, "hitCount": 0, "children": [ 4666 ] }, { "id": 4666, "callFrame": { "functionName": "resolve", "scriptId": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "lineNumber": 43, "columnNumber": 17 }, "hitCount": 0, "children": [ 4667 ] }, { "id": 4667, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4668 ] }, { "id": 4668, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4669 ] }, { "id": 4669, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4670 ] }, { "id": 4670, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 100, "ticks": 1 } ] }, { "id": 4671, "callFrame": { "functionName": "replaceModuleByPath", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 552, "columnNumber": 29 }, "hitCount": 0, "children": [ 4672 ], "deoptReason": "Inlining bailed out" }, { "id": 4672, "callFrame": { "functionName": "replaceModule", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 566, "columnNumber": 23 }, "hitCount": 0, "children": [ 4673 ], "deoptReason": "Bad value context for arguments value" }, { "id": 4673, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 553, "columnNumber": 49 }, "hitCount": 0 }, { "id": 4674, "callFrame": { "functionName": "", "scriptId": "551", "url": "/usr/local/lib/node_modules/npm/lib/install/and-add-parent-to-errors.js", "lineNumber": 5, "columnNumber": 18 }, "hitCount": 0, "children": [ 4675 ] }, { "id": 4675, "callFrame": { "functionName": "cb", "scriptId": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "lineNumber": 27, "columnNumber": 14 }, "hitCount": 0, "children": [ 4676 ] }, { "id": 4676, "callFrame": { "functionName": "", "scriptId": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "lineNumber": 335, "columnNumber": 18 }, "hitCount": 0, "children": [ 4677 ] }, { "id": 4677, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4678 ] }, { "id": 4678, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4679 ] }, { "id": 4679, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4680 ] }, { "id": 4680, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 0 }, { "id": 4017, "callFrame": { "functionName": "Promise._settlePromiseCtx", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 604, "columnNumber": 46 }, "hitCount": 1, "children": [ 4018 ], "positionTicks": [ { "line": 605, "ticks": 1 } ] }, { "id": 4018, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4019 ] }, { "id": 4019, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4020, 4432 ] }, { "id": 4020, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 2, "children": [ 4021, 4061, 4065, 4317, 4417, 4450, 4465 ], "positionTicks": [ { "line": 12, "ticks": 2 } ] }, { "id": 4021, "callFrame": { "functionName": "", "scriptId": "339", "url": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight/inflight.js", "lineNumber": 13, "columnNumber": 53 }, "hitCount": 0, "children": [ 4022 ] }, { "id": 4022, "callFrame": { "functionName": "_inflight", "scriptId": "339", "url": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight/inflight.js", "lineNumber": 25, "columnNumber": 21 }, "hitCount": 0, "children": [ 4023 ] }, { "id": 4023, "callFrame": { "functionName": "Promise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 69, "columnNumber": 16 }, "hitCount": 0, "children": [ 4024 ] }, { "id": 4024, "callFrame": { "functionName": "Promise._resolveFromExecutor", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 476, "columnNumber": 50 }, "hitCount": 0, "children": [ 4025 ] }, { "id": 4025, "callFrame": { "functionName": "Promise._execute", "scriptId": "263", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/debuggability.js", "lineNumber": 297, "columnNumber": 37 }, "hitCount": 0, "children": [ 4026 ] }, { "id": 4026, "callFrame": { "functionName": "", "scriptId": "339", "url": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight/inflight.js", "lineNumber": 27, "columnNumber": 46 }, "hitCount": 0, "children": [ 4027, 4064 ] }, { "id": 4027, "callFrame": { "functionName": "pinflight", "scriptId": "534", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/manifest.js", "lineNumber": 21, "columnNumber": 26 }, "hitCount": 0, "children": [ 4028 ] }, { "id": 4028, "callFrame": { "functionName": "manifest", "scriptId": "535", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetch.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 4029, 4057 ] }, { "id": 4029, "callFrame": { "functionName": "getFetcher", "scriptId": "535", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetch.js", "lineNumber": 37, "columnNumber": 20 }, "hitCount": 0, "children": [ 4030 ] }, { "id": 4030, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 4031 ] }, { "id": 4031, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 4032 ] }, { "id": 4032, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 4033 ] }, { "id": 4033, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 4034 ] }, { "id": 4034, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 4035 ] }, { "id": 4035, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 4036 ] }, { "id": 4036, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 4037 ] }, { "id": 4037, "callFrame": { "functionName": "", "scriptId": "895", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetchers/git.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 4038 ] }, { "id": 4038, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 4039 ] }, { "id": 4039, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 4040 ] }, { "id": 4040, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 4041, 4045 ] }, { "id": 4041, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 4042 ] }, { "id": 4042, "callFrame": { "functionName": "Module._findPath", "scriptId": "42", "url": "module.js", "lineNumber": 160, "columnNumber": 27 }, "hitCount": 0, "children": [ 4043 ] }, { "id": 4043, "callFrame": { "functionName": "resolve", "scriptId": "41", "url": "path.js", "lineNumber": 1151, "columnNumber": 27 }, "hitCount": 0, "children": [ 4044 ] }, { "id": 4044, "callFrame": { "functionName": "normalizeStringPosix", "scriptId": "41", "url": "path.js", "lineNumber": 98, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 116, "ticks": 1 } ] }, { "id": 4045, "callFrame": { "functionName": "tryModuleLoad", "scriptId": "42", "url": "module.js", "lineNumber": 462, "columnNumber": 22 }, "hitCount": 0, "children": [ 4046 ] }, { "id": 4046, "callFrame": { "functionName": "Module.load", "scriptId": "42", "url": "module.js", "lineNumber": 493, "columnNumber": 32 }, "hitCount": 0, "children": [ 4047 ] }, { "id": 4047, "callFrame": { "functionName": "Module._extensions..js", "scriptId": "42", "url": "module.js", "lineNumber": 577, "columnNumber": 36 }, "hitCount": 0, "children": [ 4048 ] }, { "id": 4048, "callFrame": { "functionName": "Module._compile", "scriptId": "42", "url": "module.js", "lineNumber": 525, "columnNumber": 36 }, "hitCount": 0, "children": [ 4049 ] }, { "id": 4049, "callFrame": { "functionName": "", "scriptId": "896", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/git.js", "lineNumber": 0, "columnNumber": 10 }, "hitCount": 0, "children": [ 4050, 4055 ] }, { "id": 4050, "callFrame": { "functionName": "require", "scriptId": "43", "url": "internal/module.js", "lineNumber": 7, "columnNumber": 18 }, "hitCount": 0, "children": [ 4051 ] }, { "id": 4051, "callFrame": { "functionName": "Module.require", "scriptId": "42", "url": "module.js", "lineNumber": 509, "columnNumber": 35 }, "hitCount": 0, "children": [ 4052 ] }, { "id": 4052, "callFrame": { "functionName": "Module._load", "scriptId": "42", "url": "module.js", "lineNumber": 431, "columnNumber": 23 }, "hitCount": 0, "children": [ 4053 ] }, { "id": 4053, "callFrame": { "functionName": "Module._resolveFilename", "scriptId": "42", "url": "module.js", "lineNumber": 474, "columnNumber": 34 }, "hitCount": 0, "children": [ 4054 ] }, { "id": 4054, "callFrame": { "functionName": "Module._resolveLookupPaths", "scriptId": "42", "url": "module.js", "lineNumber": 328, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 350, "ticks": 1 } ] }, { "id": 4055, "callFrame": { "functionName": "SetConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4056 ] }, { "id": 4056, "callFrame": { "functionName": "add", "scriptId": "10", "url": "native collection.js", "lineNumber": 110, "columnNumber": 15 }, "hitCount": 0 }, { "id": 4057, "callFrame": { "functionName": "gf", "scriptId": "537", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/genfun.js", "lineNumber": 12, "columnNumber": 14 }, "hitCount": 0, "children": [ 4058 ] }, { "id": 4058, "callFrame": { "functionName": "manifest", "scriptId": "895", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetchers/git.js", "lineNumber": 23, "columnNumber": 11 }, "hitCount": 0, "children": [ 4059 ] }, { "id": 4059, "callFrame": { "functionName": "optCheck", "scriptId": "527", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/opt-check.js", "lineNumber": 57, "columnNumber": 18 }, "hitCount": 0, "children": [ 4060 ] }, { "id": 4060, "callFrame": { "functionName": "PacoteOptions", "scriptId": "527", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/opt-check.js", "lineNumber": 5, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 12, "ticks": 1 } ] }, { "id": 4064, "callFrame": { "functionName": "pinflight", "scriptId": "896", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/git.js", "lineNumber": 106, "columnNumber": 40 }, "hitCount": 1, "positionTicks": [ { "line": 109, "ticks": 1 } ] }, { "id": 4061, "callFrame": { "functionName": "BB.resolve.then", "scriptId": "895", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetchers/git.js", "lineNumber": 82, "columnNumber": 31 }, "hitCount": 0, "children": [ 4062 ] }, { "id": 4062, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 4063 ] }, { "id": 4063, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0 }, { "id": 4065, "callFrame": { "functionName": "checkGit.then.gitPath", "scriptId": "896", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/git.js", "lineNumber": 170, "columnNumber": 25 }, "hitCount": 0, "children": [ 4066 ] }, { "id": 4066, "callFrame": { "functionName": "exports.spawn", "scriptId": "114", "url": "child_process.js", "lineNumber": 483, "columnNumber": 36 }, "hitCount": 1, "children": [ 4067 ], "positionTicks": [ { "line": 500, "ticks": 1 } ] }, { "id": 4067, "callFrame": { "functionName": "ChildProcess.spawn", "scriptId": "115", "url": "internal/child_process.js", "lineNumber": 252, "columnNumber": 39 }, "hitCount": 2, "children": [ 4068 ], "positionTicks": [ { "line": 295, "ticks": 2 } ] }, { "id": 4068, "callFrame": { "functionName": "createSocket", "scriptId": "115", "url": "internal/child_process.js", "lineNumber": 227, "columnNumber": 21 }, "hitCount": 0, "children": [ 4069 ] }, { "id": 4069, "callFrame": { "functionName": "Socket", "scriptId": "111", "url": "net.js", "lineNumber": 179, "columnNumber": 15 }, "hitCount": 0, "children": [ 4070 ] }, { "id": 4070, "callFrame": { "functionName": "Duplex", "scriptId": "52", "url": "_stream_duplex.js", "lineNumber": 43, "columnNumber": 15 }, "hitCount": 1, "positionTicks": [ { "line": 59, "ticks": 1 } ] }, { "id": 4317, "callFrame": { "functionName": "gotAccum", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 135, "columnNumber": 17 }, "hitCount": 0, "children": [ 4318 ] }, { "id": 4318, "callFrame": { "functionName": "gotValue", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 147, "columnNumber": 17 }, "hitCount": 0, "children": [ 4319 ] }, { "id": 4319, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4320 ] }, { "id": 4320, "callFrame": { "functionName": "BB.each", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 47, "columnNumber": 38 }, "hitCount": 0, "children": [ 4321 ] }, { "id": 4321, "callFrame": { "functionName": "inflatableChild", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 71, "columnNumber": 25 }, "hitCount": 1, "children": [ 4322, 4395 ], "positionTicks": [ { "line": 80, "ticks": 1 } ] }, { "id": 4322, "callFrame": { "functionName": "normalizePackageDataNoErrors", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 63, "columnNumber": 38 }, "hitCount": 0, "children": [ 4323 ] }, { "id": 4323, "callFrame": { "functionName": "normalize", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 19, "columnNumber": 19 }, "hitCount": 0, "children": [ 4324 ] }, { "id": 4324, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4325 ] }, { "id": 4325, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4326 ] }, { "id": 4326, "callFrame": { "functionName": "", "scriptId": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "lineNumber": 30, "columnNumber": 30 }, "hitCount": 1, "children": [ 4327, 4384, 4459, 4517 ], "positionTicks": [ { "line": 31, "ticks": 1 } ] }, { "id": 4327, "callFrame": { "functionName": "fixFilesField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 64, "columnNumber": 25 }, "hitCount": 1, "children": [ 4506 ], "positionTicks": [ { "line": 70, "ticks": 1 } ] }, { "id": 4506, "callFrame": { "functionName": "isArray", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4384, "callFrame": { "functionName": "fixDependencies", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 130, "columnNumber": 27 }, "hitCount": 0, "children": [ 4385 ] }, { "id": 4385, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4386 ] }, { "id": 4386, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4387 ] }, { "id": 4387, "callFrame": { "functionName": "", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 136, "columnNumber": 56 }, "hitCount": 0, "children": [ 4388 ] }, { "id": 4388, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4389 ] }, { "id": 4389, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 776, "ticks": 1 } ] }, { "id": 4459, "callFrame": { "functionName": "fixHomepageField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 279, "columnNumber": 28 }, "hitCount": 0, "children": [ 4460 ] }, { "id": 4460, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4461 ] }, { "id": 4461, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4462 ] }, { "id": 4462, "callFrame": { "functionName": "format", "scriptId": "146", "url": "url.js", "lineNumber": 569, "columnNumber": 38 }, "hitCount": 0, "children": [ 4463 ] }, { "id": 4463, "callFrame": { "functionName": "replace", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1 }, { "id": 4517, "callFrame": { "functionName": "fixRepositoryField", "scriptId": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": 13, "columnNumber": 30 }, "hitCount": 0, "children": [ 4518, 4583 ] }, { "id": 4518, "callFrame": { "functionName": "module.exports.fromUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": 25, "columnNumber": 34 }, "hitCount": 0, "children": [ 4519 ] }, { "id": 4519, "callFrame": { "functionName": "parseGitUrl", "scriptId": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4520 ] }, { "id": 4520, "callFrame": { "functionName": "urlParse", "scriptId": "146", "url": "url.js", "lineNumber": 91, "columnNumber": 17 }, "hitCount": 0, "children": [ 4521 ] }, { "id": 4521, "callFrame": { "functionName": "parse", "scriptId": "146", "url": "url.js", "lineNumber": 99, "columnNumber": 36 }, "hitCount": 0, "children": [ 4522 ] }, { "id": 4522, "callFrame": { "functionName": "autoEscapeStr", "scriptId": "146", "url": "url.js", "lineNumber": 446, "columnNumber": 22 }, "hitCount": 1, "positionTicks": [ { "line": 450, "ticks": 1 } ] }, { "id": 4583, "callFrame": { "functionName": "GitHost.toString", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4584 ] }, { "id": 4584, "callFrame": { "functionName": "GitHost.git", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 85, "columnNumber": 33 }, "hitCount": 0, "children": [ 4585 ] }, { "id": 4585, "callFrame": { "functionName": "GitHost._fill", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 23, "columnNumber": 35 }, "hitCount": 0, "children": [ 4586 ] }, { "id": 4586, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4587 ] }, { "id": 4587, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4588 ] }, { "id": 4588, "callFrame": { "functionName": "", "scriptId": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "lineNumber": 33, "columnNumber": 37 }, "hitCount": 1, "positionTicks": [ { "line": 35, "ticks": 1 } ] }, { "id": 4395, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4396 ] }, { "id": 4396, "callFrame": { "functionName": "filter", "scriptId": "6", "url": "native array.js", "lineNumber": 767, "columnNumber": 20 }, "hitCount": 0, "children": [ 4397 ] }, { "id": 4397, "callFrame": { "functionName": "InnerArrayFilter", "scriptId": "6", "url": "native array.js", "lineNumber": 754, "columnNumber": 25 }, "hitCount": 1, "positionTicks": [ { "line": 755, "ticks": 1 } ] }, { "id": 4417, "callFrame": { "functionName": "inflatableChild.then", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 57, "columnNumber": 11 }, "hitCount": 0, "children": [ 4418 ] }, { "id": 4418, "callFrame": { "functionName": "inflateShrinkwrap", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 35, "columnNumber": 27 }, "hitCount": 1, "children": [ 4419, 4424 ], "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 4419, "callFrame": { "functionName": "module.exports", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 23, "columnNumber": 41 }, "hitCount": 0, "children": [ 4420 ] }, { "id": 4420, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 4421 ] }, { "id": 4421, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 4422 ] }, { "id": 4422, "callFrame": { "functionName": "", "scriptId": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "lineNumber": 32, "columnNumber": 27 }, "hitCount": 2, "positionTicks": [ { "line": 36, "ticks": 2 } ] }, { "id": 4424, "callFrame": { "functionName": "Promise.each", "scriptId": "311", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "lineNumber": 22, "columnNumber": 24 }, "hitCount": 0, "children": [ 4425 ] }, { "id": 4425, "callFrame": { "functionName": "Promise.reduce", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 115, "columnNumber": 26 }, "hitCount": 0, "children": [ 4426 ] }, { "id": 4426, "callFrame": { "functionName": "reduce", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 127, "columnNumber": 15 }, "hitCount": 1, "children": [ 4427 ], "positionTicks": [ { "line": 133, "ticks": 1 } ] }, { "id": 4427, "callFrame": { "functionName": "ReductionPromiseArray", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 11, "columnNumber": 30 }, "hitCount": 2, "children": [ 4469, 4529 ], "positionTicks": [ { "line": 17, "ticks": 1 }, { "line": 18, "ticks": 1 } ] }, { "id": 4469, "callFrame": { "functionName": "Promise.cast", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 191, "columnNumber": 24 }, "hitCount": 1, "positionTicks": [ { "line": 197, "ticks": 1 } ] }, { "id": 4529, "callFrame": { "functionName": "init", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 35, "columnNumber": 44 }, "hitCount": 1, "children": [ 4530, 4539 ], "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 4530, "callFrame": { "functionName": "tryConvertToPromise", "scriptId": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "lineNumber": 6, "columnNumber": 28 }, "hitCount": 0, "children": [ 4531 ] }, { "id": 4531, "callFrame": { "functionName": "getThen", "scriptId": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "lineNumber": 37, "columnNumber": 16 }, "hitCount": 0, "children": [ 4532 ] }, { "id": 4532, "callFrame": { "functionName": "doGetThen", "scriptId": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "lineNumber": 33, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 34, "ticks": 1 } ] }, { "id": 4539, "callFrame": { "functionName": "ReductionPromiseArray._resolveEmptyArray", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": 50, "columnNumber": 61 }, "hitCount": 0, "children": [ 4540 ] }, { "id": 4540, "callFrame": { "functionName": "ReductionPromiseArray._resolve", "scriptId": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4541 ] }, { "id": 4541, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4542 ] }, { "id": 4542, "callFrame": { "functionName": "tryConvertToPromise", "scriptId": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "lineNumber": 6, "columnNumber": 28 }, "hitCount": 1, "positionTicks": [ { "line": 7, "ticks": 1 } ] }, { "id": 4450, "callFrame": { "functionName": "bundleAdded.then", "scriptId": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "lineNumber": 123, "columnNumber": 26 }, "hitCount": 0, "children": [ 4451, 4453 ] }, { "id": 4451, "callFrame": { "functionName": "childPath", "scriptId": "314", "url": "/usr/local/lib/node_modules/npm/lib/utils/child-path.js", "lineNumber": 6, "columnNumber": 19 }, "hitCount": 0, "children": [ 4452 ] }, { "id": 4452, "callFrame": { "functionName": "moduleName", "scriptId": "315", "url": "/usr/local/lib/node_modules/npm/lib/utils/module-name.js", "lineNumber": 22, "columnNumber": 20 }, "hitCount": 0 }, { "id": 4453, "callFrame": { "functionName": "exports.create", "scriptId": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "lineNumber": 30, "columnNumber": 39 }, "hitCount": 0 }, { "id": 4465, "callFrame": { "functionName": "promiseAllThis", "scriptId": "311", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "lineNumber": 5, "columnNumber": 23 }, "hitCount": 0, "children": [ 4466 ] }, { "id": 4466, "callFrame": { "functionName": "Promise.all", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 187, "columnNumber": 23 }, "hitCount": 0, "children": [ 4467 ] }, { "id": 4467, "callFrame": { "functionName": "PromiseArray", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 14, "columnNumber": 21 }, "hitCount": 0, "children": [ 4468 ] }, { "id": 4468, "callFrame": { "functionName": "init", "scriptId": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "lineNumber": 35, "columnNumber": 44 }, "hitCount": 1, "positionTicks": [ { "line": 76, "ticks": 1 } ] }, { "id": 4432, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 2, "positionTicks": [ { "line": 427, "ticks": 1 }, { "line": 455, "ticks": 1 } ] }, { "id": 3478, "callFrame": { "functionName": "afterConnect", "scriptId": "111", "url": "net.js", "lineNumber": 1109, "columnNumber": 21 }, "hitCount": 0, "children": [ 3479 ] }, { "id": 3479, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3480 ] }, { "id": 3480, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 3481 ] }, { "id": 3481, "callFrame": { "functionName": "onceWrapper", "scriptId": "23", "url": "events.js", "lineNumber": 307, "columnNumber": 20 }, "hitCount": 0, "children": [ 3482 ] }, { "id": 3482, "callFrame": { "functionName": "connect", "scriptId": "111", "url": "net.js", "lineNumber": 709, "columnNumber": 41 }, "hitCount": 0, "children": [ 3483 ] }, { "id": 3483, "callFrame": { "functionName": "Socket._writeGeneric", "scriptId": "111", "url": "net.js", "lineNumber": 702, "columnNumber": 41 }, "hitCount": 0, "children": [ 3484 ] }, { "id": 3484, "callFrame": { "functionName": "createWriteReq", "scriptId": "111", "url": "net.js", "lineNumber": 783, "columnNumber": 23 }, "hitCount": 1, "positionTicks": [ { "line": 788, "ticks": 1 } ] }, { "id": 3485, "callFrame": { "functionName": "ssl.onhandshakedone", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 457, "columnNumber": 26 }, "hitCount": 0, "children": [ 3486 ] }, { "id": 3486, "callFrame": { "functionName": "TLSSocket._finishInit", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 604, "columnNumber": 42 }, "hitCount": 0, "children": [ 3487 ] }, { "id": 3487, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3488 ] }, { "id": 3488, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 3489 ] }, { "id": 3489, "callFrame": { "functionName": "", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 1085, "columnNumber": 30 }, "hitCount": 0, "children": [ 3490, 3492 ] }, { "id": 3490, "callFrame": { "functionName": "TLSSocket.getPeerCertificate", "scriptId": "698", "url": "_tls_wrap.js", "lineNumber": 658, "columnNumber": 49 }, "hitCount": 1, "children": [ 3491 ], "positionTicks": [ { "line": 661, "ticks": 1 } ] }, { "id": 3491, "callFrame": { "functionName": "translatePeerCertificate", "scriptId": "697", "url": "_tls_common.js", "lineNumber": 167, "columnNumber": 68 }, "hitCount": 1, "positionTicks": [ { "line": 173, "ticks": 1 } ] }, { "id": 3492, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3493 ] }, { "id": 3493, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 3494 ] }, { "id": 3494, "callFrame": { "functionName": "onceWrapper", "scriptId": "23", "url": "events.js", "lineNumber": 307, "columnNumber": 20 }, "hitCount": 0, "children": [ 3495 ] }, { "id": 3495, "callFrame": { "functionName": "tls.connect", "scriptId": "695", "url": "https.js", "lineNumber": 104, "columnNumber": 38 }, "hitCount": 1, "positionTicks": [ { "line": 105, "ticks": 1 } ] }, { "id": 3496, "callFrame": { "functionName": "afterWrite", "scriptId": "111", "url": "net.js", "lineNumber": 838, "columnNumber": 19 }, "hitCount": 1, "positionTicks": [ { "line": 842, "ticks": 1 } ] }, { "id": 3497, "callFrame": { "functionName": "onread", "scriptId": "111", "url": "net.js", "lineNumber": 570, "columnNumber": 15 }, "hitCount": 0, "children": [ 3498, 4086, 4089 ] }, { "id": 3498, "callFrame": { "functionName": "Readable.push", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 179, "columnNumber": 34 }, "hitCount": 0, "children": [ 3499 ] }, { "id": 3499, "callFrame": { "functionName": "readableAddChunk", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 204, "columnNumber": 25 }, "hitCount": 0, "children": [ 3500 ] }, { "id": 3500, "callFrame": { "functionName": "addChunk", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 249, "columnNumber": 17 }, "hitCount": 1, "children": [ 3501, 3509 ], "positionTicks": [ { "line": 250, "ticks": 1 } ] }, { "id": 3501, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3502 ] }, { "id": 3502, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 3503, 4084 ] }, { "id": 3503, "callFrame": { "functionName": "socketOnData", "scriptId": "149", "url": "_http_client.js", "lineNumber": 445, "columnNumber": 21 }, "hitCount": 1, "children": [ 3504, 3535 ], "positionTicks": [ { "line": 453, "ticks": 1 } ] }, { "id": 3504, "callFrame": { "functionName": "parserOnHeadersComplete", "scriptId": "150", "url": "_http_common.js", "lineNumber": 61, "columnNumber": 32 }, "hitCount": 1, "children": [ 3505 ], "positionTicks": [ { "line": 119, "ticks": 1 } ] }, { "id": 3505, "callFrame": { "functionName": "parserOnIncomingClient", "scriptId": "149", "url": "_http_client.js", "lineNumber": 504, "columnNumber": 31 }, "hitCount": 0, "children": [ 3506 ] }, { "id": 3506, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3507 ] }, { "id": 3507, "callFrame": { "functionName": "emitOne", "scriptId": "23", "url": "events.js", "lineNumber": 112, "columnNumber": 16 }, "hitCount": 0, "children": [ 3508 ] }, { "id": 3508, "callFrame": { "functionName": "Request.onRequestResponse", "scriptId": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "lineNumber": 886, "columnNumber": 47 }, "hitCount": 1, "positionTicks": [ { "line": 1011, "ticks": 1 } ] }, { "id": 3535, "callFrame": { "functionName": "parserOnBody", "scriptId": "150", "url": "_http_common.js", "lineNumber": 126, "columnNumber": 21 }, "hitCount": 0, "children": [ 3536 ] }, { "id": 3536, "callFrame": { "functionName": "Readable.push", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 179, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 180, "ticks": 1 } ] }, { "id": 4084, "callFrame": { "functionName": "child.stdout.on.d", "scriptId": "896", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/git.js", "lineNumber": 111, "columnNumber": 30 }, "hitCount": 0, "children": [ 4085 ] }, { "id": 4085, "callFrame": { "functionName": "Buffer.toString", "scriptId": "25", "url": "buffer.js", "lineNumber": 568, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 570, "ticks": 1 } ] }, { "id": 3509, "callFrame": { "functionName": "Readable.read", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 353, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 354, "ticks": 1 } ] }, { "id": 4086, "callFrame": { "functionName": "maybeDestroy", "scriptId": "111", "url": "net.js", "lineNumber": 506, "columnNumber": 21 }, "hitCount": 0, "children": [ 4087 ] }, { "id": 4087, "callFrame": { "functionName": "destroy", "scriptId": "50", "url": "internal/streams/destroy.js", "lineNumber": 3, "columnNumber": 16 }, "hitCount": 0, "children": [ 4088 ] }, { "id": 4088, "callFrame": { "functionName": "Socket._destroy", "scriptId": "111", "url": "net.js", "lineNumber": 528, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 551, "ticks": 1 } ] }, { "id": 4089, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 4090 ] }, { "id": 4090, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 4091 ] }, { "id": 4091, "callFrame": { "functionName": "onSocketEnd", "scriptId": "111", "url": "net.js", "lineNumber": 323, "columnNumber": 20 }, "hitCount": 0, "children": [ 4092 ] }, { "id": 4092, "callFrame": { "functionName": "Socket.destroySoon", "scriptId": "111", "url": "net.js", "lineNumber": 517, "columnNumber": 39 }, "hitCount": 0, "children": [ 4093 ] }, { "id": 4093, "callFrame": { "functionName": "Socket.end", "scriptId": "111", "url": "net.js", "lineNumber": 489, "columnNumber": 31 }, "hitCount": 0, "children": [ 4094 ] }, { "id": 4094, "callFrame": { "functionName": "Writable.end", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 522, "columnNumber": 33 }, "hitCount": 0, "children": [ 4095 ] }, { "id": 4095, "callFrame": { "functionName": "endWritable", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 592, "columnNumber": 20 }, "hitCount": 0, "children": [ 4096 ] }, { "id": 4096, "callFrame": { "functionName": "finishMaybe", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 580, "columnNumber": 20 }, "hitCount": 0, "children": [ 4097 ] }, { "id": 4097, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 4098 ] }, { "id": 4098, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 4099 ] }, { "id": 4099, "callFrame": { "functionName": "onSocketFinish", "scriptId": "111", "url": "net.js", "lineNumber": 269, "columnNumber": 23 }, "hitCount": 0, "children": [ 4100 ] }, { "id": 4100, "callFrame": { "functionName": "destroy", "scriptId": "50", "url": "internal/streams/destroy.js", "lineNumber": 3, "columnNumber": 16 }, "hitCount": 0, "children": [ 4101 ] }, { "id": 4101, "callFrame": { "functionName": "Socket._destroy", "scriptId": "111", "url": "net.js", "lineNumber": 528, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 551, "ticks": 1 } ] }, { "id": 3537, "callFrame": { "functionName": "callback", "scriptId": "515", "url": "zlib.js", "lineNumber": 419, "columnNumber": 19 }, "hitCount": 0, "children": [ 3538, 3563, 3599 ] }, { "id": 3538, "callFrame": { "functionName": "TransformState.afterTransform", "scriptId": "53", "url": "_stream_transform.js", "lineNumber": 73, "columnNumber": 32 }, "hitCount": 1, "children": [ 3583 ], "positionTicks": [ { "line": 74, "ticks": 1 } ] }, { "id": 3583, "callFrame": { "functionName": "afterTransform", "scriptId": "53", "url": "_stream_transform.js", "lineNumber": 84, "columnNumber": 23 }, "hitCount": 0, "children": [ 3584 ] }, { "id": 3584, "callFrame": { "functionName": "onwrite", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 405, "columnNumber": 16 }, "hitCount": 0, "children": [ 3585 ] }, { "id": 3585, "callFrame": { "functionName": "afterWrite", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 433, "columnNumber": 19 }, "hitCount": 0, "children": [ 3586 ] }, { "id": 3586, "callFrame": { "functionName": "finishMaybe", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 580, "columnNumber": 20 }, "hitCount": 0, "children": [ 3587 ] }, { "id": 3587, "callFrame": { "functionName": "prefinish", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 567, "columnNumber": 18 }, "hitCount": 0, "children": [ 3588 ] }, { "id": 3588, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3589 ] }, { "id": 3589, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 3590 ] }, { "id": 3590, "callFrame": { "functionName": "onceWrapper", "scriptId": "23", "url": "events.js", "lineNumber": 307, "columnNumber": 20 }, "hitCount": 0, "children": [ 3591 ] }, { "id": 3591, "callFrame": { "functionName": "", "scriptId": "53", "url": "_stream_transform.js", "lineNumber": 138, "columnNumber": 33 }, "hitCount": 0, "children": [ 3592 ] }, { "id": 3592, "callFrame": { "functionName": "_flush", "scriptId": "515", "url": "zlib.js", "lineNumber": 298, "columnNumber": 39 }, "hitCount": 0, "children": [ 3593 ] }, { "id": 3593, "callFrame": { "functionName": "Buffer.alloc", "scriptId": "25", "url": "buffer.js", "lineNumber": 189, "columnNumber": 23 }, "hitCount": 0, "children": [ 3594 ] }, { "id": 3594, "callFrame": { "functionName": "FastBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": 32, "columnNumber": 13 }, "hitCount": 0, "children": [ 3595 ] }, { "id": 3595, "callFrame": { "functionName": "Uint8ArrayConstructor", "scriptId": "0", "url": "", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3596 ] }, { "id": 3596, "callFrame": { "functionName": "Uint8ArrayConstructByLength", "scriptId": "9", "url": "native typedarray.js", "lineNumber": 167, "columnNumber": 36 }, "hitCount": 1, "positionTicks": [ { "line": 168, "ticks": 1 } ] }, { "id": 3563, "callFrame": { "functionName": "Transform.push", "scriptId": "53", "url": "_stream_transform.js", "lineNumber": 148, "columnNumber": 35 }, "hitCount": 0, "children": [ 3564 ] }, { "id": 3564, "callFrame": { "functionName": "Readable.push", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 179, "columnNumber": 34 }, "hitCount": 0, "children": [ 3565 ] }, { "id": 3565, "callFrame": { "functionName": "readableAddChunk", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 204, "columnNumber": 25 }, "hitCount": 0, "children": [ 3566 ] }, { "id": 3566, "callFrame": { "functionName": "addChunk", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 249, "columnNumber": 17 }, "hitCount": 0, "children": [ 3567 ] }, { "id": 3567, "callFrame": { "functionName": "emitReadable", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 486, "columnNumber": 21 }, "hitCount": 0, "children": [ 3568 ] }, { "id": 3568, "callFrame": { "functionName": "emitReadable_", "scriptId": "48", "url": "_stream_readable.js", "lineNumber": 499, "columnNumber": 22 }, "hitCount": 0, "children": [ 3569 ] }, { "id": 3569, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 3570 ] }, { "id": 3570, "callFrame": { "functionName": "emitNone", "scriptId": "23", "url": "events.js", "lineNumber": 102, "columnNumber": 17 }, "hitCount": 0, "children": [ 3571 ] }, { "id": 3571, "callFrame": { "functionName": "onceWrapper", "scriptId": "23", "url": "events.js", "lineNumber": 307, "columnNumber": 20 }, "hitCount": 0, "children": [ 3572 ] }, { "id": 3572, "callFrame": { "functionName": "removeListener", "scriptId": "23", "url": "events.js", "lineNumber": 355, "columnNumber": 27 }, "hitCount": 1, "positionTicks": [ { "line": 374, "ticks": 1 } ] }, { "id": 3599, "callFrame": { "functionName": "Buffer.allocUnsafe", "scriptId": "25", "url": "buffer.js", "lineNumber": 207, "columnNumber": 29 }, "hitCount": 0, "children": [ 3600 ] }, { "id": 3600, "callFrame": { "functionName": "allocate", "scriptId": "25", "url": "buffer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3601 ] }, { "id": 3601, "callFrame": { "functionName": "createUnsafeBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 3602 ] }, { "id": 3602, "callFrame": { "functionName": "createUnsafeArrayBuffer", "scriptId": "25", "url": "buffer.js", "lineNumber": 62, "columnNumber": 32 }, "hitCount": 1, "positionTicks": [ { "line": 63, "ticks": 1 } ] }, { "id": 3646, "callFrame": { "functionName": "unrefdHandle", "scriptId": "29", "url": "timers.js", "lineNumber": 595, "columnNumber": 21 }, "hitCount": 0, "children": [ 3647 ] }, { "id": 3647, "callFrame": { "functionName": "ontimeout", "scriptId": "29", "url": "timers.js", "lineNumber": 481, "columnNumber": 18 }, "hitCount": 0, "children": [ 3648 ] }, { "id": 3648, "callFrame": { "functionName": "", "scriptId": "80", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 13, "columnNumber": 18 }, "hitCount": 0, "children": [ 3649 ] }, { "id": 3649, "callFrame": { "functionName": "Gauge._doRedraw", "scriptId": "80", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/index.js", "lineNumber": 201, "columnNumber": 37 }, "hitCount": 0, "children": [ 3650, 4071 ] }, { "id": 3650, "callFrame": { "functionName": "Plumbing.show", "scriptId": "81", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/plumbing.js", "lineNumber": 38, "columnNumber": 35 }, "hitCount": 0, "children": [ 3651 ] }, { "id": 3651, "callFrame": { "functionName": "module.exports", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 14, "columnNumber": 47 }, "hitCount": 0, "children": [ 3652, 3660 ] }, { "id": 3652, "callFrame": { "functionName": "prepareItems", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 59, "columnNumber": 22 }, "hitCount": 0, "children": [ 3653, 3655 ] }, { "id": 3653, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3654 ] }, { "id": 3654, "callFrame": { "functionName": "cloneAndObjectify", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 60, "columnNumber": 29 }, "hitCount": 1, "positionTicks": [ { "line": 61, "ticks": 1 } ] }, { "id": 3655, "callFrame": { "functionName": "forEach", "scriptId": "6", "url": "native array.js", "lineNumber": 793, "columnNumber": 21 }, "hitCount": 0, "children": [ 3656 ] }, { "id": 3656, "callFrame": { "functionName": "InnerArrayForEach", "scriptId": "6", "url": "native array.js", "lineNumber": 775, "columnNumber": 26 }, "hitCount": 0, "children": [ 3657 ] }, { "id": 3657, "callFrame": { "functionName": "", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 115, "columnNumber": 26 }, "hitCount": 0, "children": [ 3658 ] }, { "id": 3658, "callFrame": { "functionName": "TemplateItem.getBaseLength", "scriptId": "95", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/template-item.js", "lineNumber": 49, "columnNumber": 48 }, "hitCount": 0, "children": [ 3659 ] }, { "id": 3659, "callFrame": { "functionName": "module.exports", "scriptId": "85", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js", "lineNumber": 6, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 36, "ticks": 1 } ] }, { "id": 3660, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3661 ] }, { "id": 3661, "callFrame": { "functionName": "", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 9, "columnNumber": 18 }, "hitCount": 0, "children": [ 3662 ] }, { "id": 3662, "callFrame": { "functionName": "renderValue", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 170, "columnNumber": 21 }, "hitCount": 1, "children": [ 3663 ], "positionTicks": [ { "line": 172, "ticks": 1 } ] }, { "id": 3663, "callFrame": { "functionName": "renderFunction", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 161, "columnNumber": 24 }, "hitCount": 0, "children": [ 3664 ] }, { "id": 3664, "callFrame": { "functionName": "", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 54, "columnNumber": 18 }, "hitCount": 0, "children": [ 3665 ] }, { "id": 3665, "callFrame": { "functionName": "module.exports", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 14, "columnNumber": 47 }, "hitCount": 0, "children": [ 3666 ] }, { "id": 3666, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 3667 ] }, { "id": 3667, "callFrame": { "functionName": "", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 9, "columnNumber": 18 }, "hitCount": 0, "children": [ 3668 ] }, { "id": 3668, "callFrame": { "functionName": "renderValue", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 170, "columnNumber": 21 }, "hitCount": 0, "children": [ 3669 ] }, { "id": 3669, "callFrame": { "functionName": "renderFunction", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 161, "columnNumber": 24 }, "hitCount": 0, "children": [ 3670 ] }, { "id": 3670, "callFrame": { "functionName": "progressbar", "scriptId": "103", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/base-theme.js", "lineNumber": 9, "columnNumber": 24 }, "hitCount": 0, "children": [ 3671 ] }, { "id": 3671, "callFrame": { "functionName": "module.exports", "scriptId": "105", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js", "lineNumber": 6, "columnNumber": 26 }, "hitCount": 0, "children": [ 3672 ] }, { "id": 3672, "callFrame": { "functionName": "module.exports", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 14, "columnNumber": 47 }, "hitCount": 0, "children": [ 3673, 4081 ] }, { "id": 3673, "callFrame": { "functionName": "alignLeft", "scriptId": "84", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js", "lineNumber": 24, "columnNumber": 19 }, "hitCount": 0, "children": [ 3674 ] }, { "id": 3674, "callFrame": { "functionName": "module.exports", "scriptId": "85", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js", "lineNumber": 6, "columnNumber": 26 }, "hitCount": 1, "positionTicks": [ { "line": 26, "ticks": 1 } ] }, { "id": 4081, "callFrame": { "functionName": "map", "scriptId": "6", "url": "native array.js", "lineNumber": 831, "columnNumber": 17 }, "hitCount": 0, "children": [ 4082 ] }, { "id": 4082, "callFrame": { "functionName": "", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 9, "columnNumber": 18 }, "hitCount": 0, "children": [ 4083 ] }, { "id": 4083, "callFrame": { "functionName": "renderValue", "scriptId": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "lineNumber": 170, "columnNumber": 21 }, "hitCount": 1, "positionTicks": [ { "line": 179, "ticks": 1 } ] }, { "id": 4071, "callFrame": { "functionName": "Socket.write", "scriptId": "111", "url": "net.js", "lineNumber": 693, "columnNumber": 33 }, "hitCount": 0, "children": [ 4072 ] }, { "id": 4072, "callFrame": { "functionName": "Writable.write", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 247, "columnNumber": 35 }, "hitCount": 0, "children": [ 4073 ] }, { "id": 4073, "callFrame": { "functionName": "writeOrBuffer", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 322, "columnNumber": 22 }, "hitCount": 0, "children": [ 4074 ] }, { "id": 4074, "callFrame": { "functionName": "doWrite", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 362, "columnNumber": 16 }, "hitCount": 0, "children": [ 4075 ] }, { "id": 4075, "callFrame": { "functionName": "Socket._write", "scriptId": "111", "url": "net.js", "lineNumber": 779, "columnNumber": 34 }, "hitCount": 0, "children": [ 4076 ] }, { "id": 4076, "callFrame": { "functionName": "Socket._writeGeneric", "scriptId": "111", "url": "net.js", "lineNumber": 702, "columnNumber": 41 }, "hitCount": 0, "children": [ 4077 ] }, { "id": 4077, "callFrame": { "functionName": "onwrite", "scriptId": "51", "url": "_stream_writable.js", "lineNumber": 405, "columnNumber": 16 }, "hitCount": 0, "children": [ 4078 ] }, { "id": 4078, "callFrame": { "functionName": "nextTick", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": 231, "columnNumber": 19 }, "hitCount": 0, "children": [ 4079 ] }, { "id": 4079, "callFrame": { "functionName": "setupInit", "scriptId": "35", "url": "internal/process/next_tick.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 0, "children": [ 4080 ] }, { "id": 4080, "callFrame": { "functionName": "initTriggerId", "scriptId": "31", "url": "internal/process/next_tick.js", "lineNumber": -1, "columnNumber": -1 }, "hitCount": 1, "positionTicks": [ { "line": 248, "ticks": 1 } ] }, { "id": 4102, "callFrame": { "functionName": "ChildProcess._handle.onexit", "scriptId": "115", "url": "internal/child_process.js", "lineNumber": 172, "columnNumber": 24 }, "hitCount": 1, "children": [ 4103 ], "positionTicks": [ { "line": 208, "ticks": 1 } ] }, { "id": 4103, "callFrame": { "functionName": "emit", "scriptId": "23", "url": "events.js", "lineNumber": 154, "columnNumber": 43 }, "hitCount": 0, "children": [ 4104 ] }, { "id": 4104, "callFrame": { "functionName": "emitTwo", "scriptId": "23", "url": "events.js", "lineNumber": 122, "columnNumber": 16 }, "hitCount": 0, "children": [ 4105 ] }, { "id": 4105, "callFrame": { "functionName": "onexit", "scriptId": "342", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/end-of-stream/index.js", "lineNumber": 37, "columnNumber": 22 }, "hitCount": 0, "children": [ 4106 ] }, { "id": 4106, "callFrame": { "functionName": "f", "scriptId": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "lineNumber": 21, "columnNumber": 19 }, "hitCount": 0, "children": [ 4107 ] }, { "id": 4107, "callFrame": { "functionName": "", "scriptId": "267", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/nodeback.js", "lineNumber": 34, "columnNumber": 19 }, "hitCount": 0, "children": [ 4108 ] }, { "id": 4108, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4109 ] }, { "id": 4109, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4110 ] }, { "id": 4110, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4111 ] }, { "id": 4111, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4112 ] }, { "id": 4112, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4113 ] }, { "id": 4113, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4114 ] }, { "id": 4114, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4115 ] }, { "id": 4115, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4116 ] }, { "id": 4116, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4117 ] }, { "id": 4117, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4118 ] }, { "id": 4118, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4119, 4122 ] }, { "id": 4119, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4120 ] }, { "id": 4120, "callFrame": { "functionName": "finished.then.then.revs", "scriptId": "896", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/git.js", "lineNumber": 140, "columnNumber": 14 }, "hitCount": 0, "children": [ 4121 ] }, { "id": 4121, "callFrame": { "functionName": "LRUCache.set", "scriptId": "548", "url": "/usr/local/lib/node_modules/npm/node_modules/lru-cache/lib/lru-cache.js", "lineNumber": 300, "columnNumber": 34 }, "hitCount": 1, "positionTicks": [ { "line": 307, "ticks": 1 } ] }, { "id": 4122, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4123 ] }, { "id": 4123, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4124 ] }, { "id": 4124, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4125 ] }, { "id": 4125, "callFrame": { "functionName": "Promise._fulfillPromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 661, "columnNumber": 46 }, "hitCount": 0, "children": [ 4126 ] }, { "id": 4126, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4127 ] }, { "id": 4127, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4128 ] }, { "id": 4128, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4129 ] }, { "id": 4129, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4130 ] }, { "id": 4130, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4131 ] }, { "id": 4131, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4132 ] }, { "id": 4132, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4133 ] }, { "id": 4133, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4134 ] }, { "id": 4134, "callFrame": { "functionName": "Promise._resolveCallback", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 426, "columnNumber": 45 }, "hitCount": 0, "children": [ 4135 ] }, { "id": 4135, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4136 ] }, { "id": 4136, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4137 ] }, { "id": 4137, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4138 ] }, { "id": 4138, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4139 ] }, { "id": 4139, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4140 ] }, { "id": 4140, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4141 ] }, { "id": 4141, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4142 ] }, { "id": 4142, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4143 ] }, { "id": 4143, "callFrame": { "functionName": "Promise._fulfill", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 624, "columnNumber": 38 }, "hitCount": 0, "children": [ 4144 ] }, { "id": 4144, "callFrame": { "functionName": "Promise._settlePromises", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 681, "columnNumber": 45 }, "hitCount": 0, "children": [ 4145 ] }, { "id": 4145, "callFrame": { "functionName": "Promise._settlePromise0", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 608, "columnNumber": 44 }, "hitCount": 0, "children": [ 4146 ] }, { "id": 4146, "callFrame": { "functionName": "Promise._settlePromise", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 541, "columnNumber": 43 }, "hitCount": 0, "children": [ 4147 ] }, { "id": 4147, "callFrame": { "functionName": "Promise._settlePromiseFromHandler", "scriptId": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "lineNumber": 495, "columnNumber": 55 }, "hitCount": 0, "children": [ 4148 ] }, { "id": 4148, "callFrame": { "functionName": "tryCatcher", "scriptId": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "lineNumber": 11, "columnNumber": 19 }, "hitCount": 0, "children": [ 4149 ] }, { "id": 4149, "callFrame": { "functionName": "fetchManifest.then.rawManifest", "scriptId": "534", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/manifest.js", "lineNumber": 23, "columnNumber": 42 }, "hitCount": 0, "children": [ 4150 ] }, { "id": 4150, "callFrame": { "functionName": "finalizeManifest", "scriptId": "541", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/finalize-manifest.js", "lineNumber": 36, "columnNumber": 26 }, "hitCount": 0, "children": [ 4151 ] }, { "id": 4151, "callFrame": { "functionName": "finalKey", "scriptId": "541", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/finalize-manifest.js", "lineNumber": 241, "columnNumber": 18 }, "hitCount": 1, "positionTicks": [ { "line": 255, "ticks": 1 } ] } ], "startTime": 3035127757624, "endTime": 3035130768595, "samples": [ 9, 13, 17, 23, 28, 32, 35, 38, 39, 44, 38, 45, 46, 38, 38, 50, 50, 54, 58, 58, 59, 66, 69, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 86, 92, 93, 102, 109, 114, 108, 122, 136, 150, 164, 165, 171, 164, 175, 176, 193, 210, 219, 226, 228, 234, 238, 253, 254, 260, 264, 266, 267, 267, 270, 46, 273, 115, 274, 276, 283, 292, 301, 323, 330, 332, 337, 339, 347, 353, 362, 363, 378, 380, 379, 381, 385, 386, 387, 388, 293, 400, 402, 413, 429, 432, 432, 436, 46, 443, 445, 436, 448, 458, 460, 464, 466, 476, 486, 499, 501, 517, 501, 523, 46, 46, 413, 541, 542, 543, 544, 404, 402, 554, 555, 557, 561, 562, 563, 571, 581, 591, 592, 24, 599, 608, 616, 619, 624, 626, 627, 648, 658, 672, 682, 698, 700, 710, 720, 746, 752, 753, 761, 765, 773, 775, 785, 788, 806, 797, 818, 829, 832, 834, 834, 807, 835, 834, 46, 839, 840, 810, 841, 843, 844, 807, 807, 834, 834, 847, 834, 807, 849, 859, 861, 862, 864, 661, 865, 874, 899, 909, 927, 953, 963, 968, 982, 992, 1010, 1012, 1021, 1023, 1026, 1044, 1045, 1048, 46, 46, 1049, 1049, 1049, 1049, 1050, 1050, 1049, 1056, 1049, 1057, 1047, 1058, 1050, 1050, 1050, 46, 1049, 1059, 1052, 1053, 1049, 1049, 1080, 1085, 1101, 1103, 1109, 1124, 1127, 1145, 1155, 1165, 1175, 1185, 1200, 1220, 1208, 1205, 1228, 1197, 1189, 1237, 1248, 903, 1255, 877, 1265, 869, 871, 1271, 1273, 1292, 1296, 1298, 1304, 1322, 1335, 1356, 1358, 1362, 1364, 1366, 652, 1375, 1384, 1394, 1400, 865, 1407, 1415, 1430, 1434, 1440, 1454, 1456, 1465, 1472, 46, 46, 650, 1490, 1501, 1508, 1490, 1515, 1521, 1523, 1540, 1544, 24, 24, 24, 24, 24, 24, 24, 24, 24, 1556, 1558, 1566, 1572, 46, 1580, 1588, 1590, 1595, 1587, 1604, 1605, 1609, 1612, 24, 1616, 1630, 1632, 1634, 1627, 1637, 1637, 1635, 1637, 1637, 1637, 1637, 1638, 1637, 24, 1635, 1641, 1635, 1642, 1637, 1639, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1650, 1652, 1635, 1646, 24, 1648, 46, 46, 1647, 1653, 1653, 1653, 1653, 1653, 1655, 1654, 24, 1655, 24, 24, 1657, 1657, 1657, 1657, 1658, 1660, 1661, 1559, 1559, 1664, 1674, 1665, 1546, 1670, 1564, 1668, 1676, 574, 1683, 1661, 1670, 1684, 1555, 1686, 1690, 1550, 1562, 1693, 1695, 1551, 1698, 1702, 1570, 1667, 1703, 574, 1704, 46, 46, 46, 46, 1570, 1697, 1672, 1672, 1706, 1664, 1661, 1672, 1707, 1672, 1567, 1708, 1672, 46, 46, 46, 46, 46, 46, 46, 1661, 1661, 1672, 1710, 1692, 1664, 1689, 1724, 24, 1731, 1742, 1744, 1753, 1752, 1779, 1782, 1791, 1792, 1731, 1782, 1795, 1796, 1800, 1804, 1809, 1759, 1715, 1810, 24, 1812, 1814, 1576, 24, 1821, 1822, 1826, 1802, 1578, 1827, 1810, 1751, 1829, 1830, 1832, 1729, 1834, 1751, 1578, 1749, 24, 1835, 1843, 1522, 1844, 1755, 1810, 1739, 1843, 1718, 1846, 1848, 1834, 1855, 1814, 1796, 1811, 1814, 1718, 1748, 24, 24, 1796, 1857, 1858, 1837, 1576, 1748, 1833, 1735, 24, 1865, 1866, 1883, 24, 24, 1888, 1889, 1892, 1818, 1902, 1903, 1906, 1578, 1908, 1715, 1904, 1915, 1756, 1916, 1822, 46, 46, 46, 46, 46, 46, 1796, 1917, 1755, 1920, 1896, 1802, 1922, 1718, 24, 1748, 1574, 1718, 1574, 1904, 1916, 1923, 1753, 1755, 1927, 1578, 1578, 592, 1758, 1756, 1759, 1930, 1933, 1934, 24, 1657, 1938, 1950, 1960, 1964, 1972, 1976, 1981, 1706, 1984, 1985, 1989, 1972, 1959, 1992, 1994, 1995, 2000, 1941, 1941, 2001, 2001, 1954, 2006, 2007, 2009, 2011, 2021, 2022, 2025, 2025, 2031, 2037, 2040, 2039, 2033, 628, 1637, 1637, 1637, 1635, 1635, 1637, 1637, 2042, 1637, 2043, 1637, 24, 2043, 1637, 46, 46, 46, 46, 1637, 1637, 1637, 1637, 1637, 2045, 24, 1640, 2042, 2046, 1637, 2047, 2045, 2051, 2051, 2051, 24, 1626, 2053, 1635, 2055, 1635, 1639, 1635, 1637, 1637, 1637, 1648, 1653, 1653, 1655, 1657, 1708, 2057, 1661, 2058, 2057, 2059, 1672, 2060, 1672, 1661, 2062, 2065, 1698, 2070, 1677, 2072, 1672, 1561, 2076, 2078, 1661, 2081, 2082, 2083, 2086, 2092, 46, 46, 46, 46, 46, 46, 46, 1578, 2094, 1755, 1577, 1759, 2095, 1731, 2097, 2103, 2104, 1930, 1930, 1653, 1655, 565, 1657, 2010, 2120, 1957, 2121, 1940, 2126, 1972, 1954, 1935, 1957, 2127, 2127, 2128, 2131, 2132, 2127, 2133, 2127, 1938, 1941, 1985, 2134, 1958, 2136, 1637, 2138, 1637, 1637, 24, 1637, 1637, 1637, 2140, 1637, 24, 1639, 1555, 1959, 2146, 1938, 2153, 2163, 46, 46, 46, 2179, 2167, 2165, 2184, 2188, 2192, 2189, 2193, 2207, 2211, 2212, 2224, 2231, 2232, 2236, 2248, 2253, 2266, 2270, 2280, 2253, 2290, 2304, 2313, 2314, 2324, 2324, 2330, 2337, 2269, 2314, 2340, 2347, 2257, 2324, 2314, 2349, 2314, 2351, 2335, 2236, 2357, 2363, 2364, 2370, 2369, 2376, 2314, 2377, 2382, 2382, 2387, 2356, 2389, 2395, 2401, 2404, 2270, 2281, 2281, 2382, 2406, 2407, 2375, 2410, 2411, 2357, 2324, 46, 46, 46, 2413, 2353, 2419, 2424, 2428, 2314, 2379, 2281, 2324, 2429, 2434, 2437, 2443, 2448, 2450, 2410, 2459, 2464, 2471, 2477, 2482, 2488, 2490, 2494, 2496, 2481, 2497, 2498, 2504, 2461, 2510, 2514, 2520, 2521, 2523, 2524, 2535, 2540, 2542, 2314, 2314, 2314, 2411, 2324, 2546, 2548, 2314, 2314, 46, 46, 46, 2553, 2236, 2346, 2560, 2314, 2357, 2562, 2253, 2314, 2566, 2314, 2569, 2255, 2572, 2574, 2314, 2575, 2422, 2577, 2579, 2581, 2585, 2375, 2314, 2554, 2314, 2324, 2586, 2314, 2314, 2591, 2571, 2255, 2334, 2593, 2596, 2415, 2597, 2347, 2394, 2601, 2321, 2603, 2605, 2314, 2332, 2615, 2616, 2621, 2626, 46, 46, 2622, 2631, 2627, 2636, 2644, 2650, 2650, 2654, 2638, 2636, 2642, 2653, 2669, 2644, 2636, 2642, 2673, 2644, 2635, 2649, 2650, 2647, 2642, 2644, 2643, 2654, 2642, 2674, 2635, 2641, 2674, 2642, 2675, 2679, 2681, 2682, 2682, 2690, 2695, 2704, 2724, 2742, 2760, 2771, 2794, 2814, 2816, 2826, 2850, 2852, 2860, 2860, 2861, 2864, 2873, 2876, 2889, 2910, 2916, 2926, 2926, 2926, 2933, 2927, 2927, 2927, 2926, 2936, 2917, 2944, 2946, 2946, 2953, 2960, 2963, 2985, 2988, 3003, 3013, 3015, 3019, 3036, 3054, 3063, 3073, 3107, 3129, 3151, 3161, 3171, 3173, 3175, 3177, 3187, 3197, 3201, 3204, 3177, 3219, 3219, 3223, 3015, 3015, 3240, 3242, 3260, 3015, 3282, 3292, 3317, 3319, 3320, 3284, 3338, 3338, 3338, 3339, 3342, 3349, 46, 46, 46, 3350, 2950, 3360, 3362, 3363, 3365, 3375, 3393, 3394, 3400, 3393, 3365, 3406, 3409, 3403, 3417, 3421, 3421, 3422, 3424, 3426, 3431, 3434, 3436, 3436, 3437, 2705, 3440, 3443, 3448, 3453, 3454, 3454, 3454, 3454, 3454, 3454, 3455, 3456, 3457, 3460, 3474, 3477, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3484, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3491, 3495, 3496, 24, 24, 24, 24, 24, 3490, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3503, 3504, 3508, 3509, 3516, 3516, 3524, 3534, 3536, 3538, 3550, 3554, 3541, 3561, 3562, 3561, 24, 24, 24, 24, 24, 24, 3572, 3541, 3541, 3541, 3561, 3561, 3577, 3578, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3579, 3581, 3582, 3551, 3541, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3596, 3541, 3598, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3500, 24, 3602, 3541, 3604, 3617, 3623, 3623, 3622, 3642, 1698, 3645, 3644, 1626, 1628, 1627, 1636, 1637, 1637, 1637, 1637, 24, 1637, 1637, 46, 46, 46, 46, 46, 46, 1637, 3654, 3659, 3674, 629, 1637, 1640, 1639, 1637, 2045, 1637, 24, 24, 1637, 24, 628, 1641, 1637, 1637, 1637, 1648, 1635, 1648, 24, 3676, 1647, 1653, 1653, 1653, 1653, 1655, 24, 3679, 1657, 1657, 1657, 1657, 24, 1672, 1661, 1664, 1661, 3680, 3684, 1546, 1700, 1661, 1661, 1661, 1554, 1661, 1661, 1661, 1551, 1554, 1672, 1661, 1661, 3689, 1690, 1664, 3691, 1690, 2076, 1704, 3692, 574, 3693, 3694, 46, 46, 46, 46, 46, 46, 46, 1662, 1546, 1661, 1664, 3697, 1661, 1558, 1664, 3699, 1825, 1718, 1718, 1731, 1903, 1796, 3701, 1748, 1843, 3707, 3712, 3713, 1903, 1865, 1718, 3714, 1580, 3715, 3719, 3721, 1574, 3731, 3720, 3734, 3737, 3742, 1861, 1814, 1718, 1753, 2095, 3744, 3745, 1748, 3747, 1847, 3752, 3753, 46, 46, 46, 46, 46, 46, 46, 46, 46, 3757, 3759, 3760, 24, 1851, 1753, 24, 1755, 3717, 1796, 1752, 1752, 1727, 1752, 1825, 1578, 1901, 3761, 1578, 24, 1796, 1821, 1842, 3763, 1782, 3766, 3767, 1827, 2094, 1730, 3769, 3772, 3773, 3778, 1576, 24, 1718, 3779, 3780, 1653, 24, 3783, 3784, 1959, 3785, 3788, 1986, 1941, 3790, 1983, 1983, 1981, 1706, 2121, 1941, 1968, 574, 2025, 3792, 2038, 46, 46, 46, 46, 3793, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 628, 1642, 24, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 24, 1637, 1637, 24, 2045, 2147, 24, 1614, 1637, 1635, 628, 1637, 1637, 1637, 1637, 24, 1652, 1653, 1653, 1655, 1657, 1661, 3795, 1661, 3796, 1664, 3681, 3798, 46, 46, 46, 46, 3802, 1667, 1564, 1672, 1672, 3806, 24, 1884, 2098, 1755, 1754, 24, 1821, 1755, 3808, 2098, 2098, 1765, 3810, 1653, 1653, 24, 1657, 2010, 2010, 3811, 3812, 2127, 1959, 3813, 1989, 1945, 3814, 1706, 1959, 3817, 1975, 1954, 1950, 2123, 2127, 3818, 1983, 1706, 24, 1997, 2134, 3819, 3820, 2010, 3792, 1637, 1640, 1637, 1637, 1637, 1637, 1637, 1637, 24, 46, 46, 46, 1637, 1757, 3785, 1637, 3825, 3829, 3834, 3440, 3850, 3871, 3853, 3878, 3879, 3891, 3894, 3909, 3923, 3941, 3964, 3965, 3968, 3976, 3986, 3988, 4010, 3880, 4016, 4044, 4054, 4056, 4060, 4063, 4064, 4066, 4067, 4067, 4070, 24, 4080, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 4083, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3662, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 3502, 4085, 4085, 4088, 4101, 4106, 4121, 4151, 4102, 4188, 4198, 4209, 4211, 4214, 4201, 4218, 4215, 4221, 4224, 4229, 4249, 4260, 4269, 4265, 4275, 4269, 4276, 4269, 1657, 4294, 4310, 4309, 4316, 4020, 4321, 4327, 4327, 4344, 4345, 4352, 4357, 4358, 4365, 4352, 4366, 4376, 4383, 4389, 4394, 4397, 4401, 4407, 4411, 4413, 4410, 4416, 4422, 4423, 4427, 4426, 4430, 4410, 4431, 4356, 4432, 4436, 4439, 4442, 4443, 4449, 4452, 4453, 4357, 4458, 4017, 4338, 46, 46, 46, 46, 46, 46, 4447, 4333, 4432, 4378, 4463, 4464, 4445, 4468, 4427, 4469, 4352, 4470, 4473, 4474, 4439, 4477, 4479, 4480, 4455, 4482, 4483, 4485, 4020, 4486, 4338, 4399, 4491, 4343, 4495, 4439, 4370, 4347, 4497, 4332, 4375, 4498, 4500, 4374, 4350, 4502, 4495, 4503, 4504, 4410, 4505, 4506, 4507, 4422, 4375, 4512, 4515, 4516, 4522, 4524, 4407, 4525, 4365, 4350, 4526, 4439, 4527, 4528, 4532, 4535, 4536, 4435, 4447, 4537, 4435, 4374, 4455, 4538, 4480, 4458, 4370, 4436, 4416, 4374, 4542, 4543, 4544, 4550, 4346, 4551, 4558, 4560, 4561, 4489, 4472, 4479, 3837, 4418, 46, 46, 46, 46, 46, 4458, 4383, 4399, 4414, 4370, 4416, 4534, 4562, 4529, 4565, 4566, 4567, 4333, 4568, 4569, 4487, 4551, 4475, 4570, 4333, 4374, 4455, 4572, 4370, 4573, 4575, 4579, 4326, 3842, 4435, 4398, 4347, 4581, 4344, 4582, 4588, 4458, 4589, 4590, 4603, 4649, 4654, 4655, 4657, 4660, 4670, 4673, 4680, 4699, 4699, 4699, 4699, 4699, 4699, 4699, 4718, 4693, 4721, 4699, 4723, 4708, 4727, 4708, 4708, 4708, 4708, 4699, 4728, 4732, 4699, 4699, 4699, 4699, 4733, 4734, 4699, 4737, 4699, 4694, 46, 46, 46, 4699, 4699, 4738, 4699, 4742, 4699, 4699, 4722, 4748, 4721, 4721, 4699, 4769, 4777, 4765, 4781, 4782, 4782, 4783, 4782, 4781, 4782, 4786, 4785, 4796, 4801, 4801, 4814, 4795, 4790, 4818, 4796, 4796, 4796, 4796, 4796, 4822, 4826, 4833, 4837, 4843, 4850, 4796, 4796, 4795, 4861, 4862, 4840, 4790, 4870, 4796, 4872, 4884, 4897, 4816, 4796, 4900, 4901, 4904, 4906, 4909, 4917, 46, 46, 46, 4924, 4929, 4933, 4796, 4938, 4940, 4795, 4796, 4922, 4942, 4947, 4790, 4948, 4796, 4958, 4961, 4964, 4979, 4992, 4964, 5008, 5013, 4969, 4957, 5015, 5018, 5023, 5025, 5026, 5029, 5031, 5033, 5042, 5048, 4943, 5049, 4796, 5055, 4795, 5060, 46, 46 ], "timeDeltas": [ 2868, 1243, 1257, 1009, 2543, 1134, 2417, 1242, 1253, 1091, 1275, 2084, 1197, 1266, 1271, 1271, 1268, 1041, 2292, 1028, 1266, 3750, 1272, 1261, 1268, 1267, 1281, 1097, 1238, 1046, 1024, 1043, 1071, 1279, 1270, 1130, 1281, 1059, 1239, 1273, 1239, 1271, 1254, 1272, 1039, 1272, 1250, 1270, 1258, 1284, 1253, 1271, 1258, 1276, 1253, 1263, 1252, 1075, 1284, 1296, 1253, 1273, 1259, 4944, 1001, 1276, 1249, 1258, 1275, 1215, 1272, 1040, 1274, 2535, 1289, 1255, 1277, 1249, 1286, 1252, 1274, 1282, 1276, 1127, 1276, 1197, 1298, 1274, 2585, 1094, 18173, 1867, 117, 1263, 1275, 1261, 1273, 1256, 1167, 1286, 1279, 1280, 1272, 1025, 1269, 1270, 2502, 220, 1052, 1165, 1271, 2520, 1289, 1265, 1254, 1289, 1049, 1024, 1038, 1261, 2449, 554, 556, 1260, 1272, 1267, 1052, 220, 1256, 1271, 1257, 1273, 2526, 1153, 1284, 2314, 3809, 1155, 2543, 1206, 294, 26, 956, 1258, 1276, 1089, 1275, 1258, 1277, 1258, 1276, 1262, 5047, 1020, 1028, 2488, 1017, 1042, 1272, 1101, 1272, 1253, 1273, 1259, 1290, 1088, 1282, 1282, 1280, 1295, 1299, 2439, 1274, 1259, 1271, 1262, 1271, 1256, 1272, 1265, 1149, 1273, 1278, 1246, 1273, 1268, 1066, 1247, 1273, 132, 897, 1270, 1276, 1122, 1165, 1246, 1229, 1061, 2306, 1279, 1109, 1268, 1257, 1277, 1260, 1293, 3799, 1129, 1253, 1275, 1277, 1271, 1271, 1259, 1292, 1154, 2525, 1164, 1272, 1249, 1282, 1262, 1275, 1250, 1271, 1253, 1283, 1219, 891, 24, 343, 1255, 1282, 1170, 1170, 2321, 1272, 1260, 1277, 1252, 1279, 2517, 1264, 1268, 1256, 1250, 1203, 68, 1242, 75, 85, 1112, 1264, 963, 306, 60, 1200, 983, 278, 1298, 1233, 1300, 1263, 1247, 1251, 1262, 1260, 1221, 1270, 1210, 1274, 1263, 835, 441, 1264, 2369, 1275, 1265, 1169, 1257, 1281, 1253, 1077, 2554, 1256, 1251, 1275, 1255, 1279, 1271, 1287, 1236, 1272, 1254, 1272, 2849, 2149, 1274, 1261, 1279, 1261, 1271, 1272, 1251, 1030, 1275, 1272, 1275, 1280, 1288, 1252, 1202, 1085, 1263, 2542, 1130, 1117, 1215, 1261, 2515, 1148, 1246, 1075, 1188, 1273, 1243, 1123, 1086, 1073, 1007, 1253, 1257, 1277, 2317, 1056, 2508, 1006, 1091, 1005, 1021, 1257, 2291, 1270, 1253, 1008, 1009, 1007, 1008, 1011, 1003, 1015, 1009, 1006, 1029, 1251, 1088, 1030, 1032, 1251, 1229, 1117, 1023, 1002, 1035, 1005, 1023, 1022, 1254, 1035, 1027, 1006, 1014, 1030, 1008, 1008, 1014, 1253, 1090, 1043, 1260, 1048, 1246, 1140, 1256, 1124, 1039, 1251, 2214, 2298, 1272, 1277, 1091, 1067, 1189, 2334, 1077, 1268, 2379, 1274, 1275, 1273, 1146, 964, 2077, 1185, 1249, 1215, 1016, 1043, 2303, 1252, 1257, 1281, 3449, 1086, 1233, 2074, 1008, 1150, 1164, 1050, 1147, 1245, 1008, 2154, 1032, 1248, 1252, 1195, 1276, 1046, 1309, 1224, 1273, 1042, 1016, 1024, 1250, 1149, 1255, 3801, 1022, 1062, 1240, 1241, 1088, 1247, 1267, 1246, 1273, 1258, 1291, 1266, 1272, 1275, 1298, 1285, 1256, 1264, 2543, 1266, 1270, 1272, 2541, 1273, 1129, 2394, 1272, 2345, 1269, 1091, 980, 288, 467, 196, 155, 443, 1261, 1272, 1110, 1278, 1308, 1260, 1289, 1281, 1250, 2522, 1122, 1254, 1267, 1273, 1268, 1287, 566, 1877, 1275, 1115, 1283, 1278, 2543, 1205, 1274, 1071, 1146, 1168, 1272, 1049, 1291, 1269, 1290, 1092, 1274, 1265, 1273, 1026, 1259, 1076, 1257, 1289, 2553, 2543, 1275, 1269, 1295, 1280, 1206, 1273, 1288, 1273, 1278, 1256, 1277, 1274, 1270, 1274, 1273, 1124, 1265, 1276, 1188, 1201, 1269, 1278, 1193, 1272, 1269, 2436, 1271, 1273, 1151, 1262, 1283, 1268, 1274, 1267, 1129, 1277, 2561, 1277, 1046, 1288, 2423, 779, 511, 1040, 1049, 1255, 1015, 1011, 1255, 2496, 1275, 1259, 1273, 1033, 1270, 1263, 542, 1880, 1275, 1267, 1272, 1254, 1233, 1263, 1249, 1253, 1291, 978, 290, 1267, 1027, 1267, 1086, 2274, 1008, 11, 1037, 28, 1086, 184, 1268, 1273, 1167, 1019, 1026, 1014, 1015, 1008, 1008, 1007, 1016, 2034, 1256, 1246, 1253, 1252, 1274, 1254, 1011, 1267, 1277, 1265, 1186, 1015, 1005, 1010, 1011, 1255, 1013, 1202, 1008, 1193, 1061, 1035, 1261, 842, 231, 1259, 1258, 1454, 902, 1010, 1018, 1265, 1015, 1260, 3430, 1009, 1031, 1009, 1030, 1016, 1257, 1017, 1229, 2115, 1147, 1096, 1095, 1046, 1055, 1046, 1256, 1249, 1134, 1226, 2360, 1126, 1263, 1259, 1254, 1053, 1207, 1019, 1023, 1102, 408, 25, 13, 810, 1249, 1267, 1261, 1265, 1280, 1002, 1265, 1038, 1081, 1248, 2309, 2192, 1256, 1249, 2278, 1035, 1246, 1134, 1115, 1004, 1007, 1011, 1009, 533, 695, 1233, 1255, 1075, 1271, 1268, 1270, 1267, 1161, 1277, 1276, 1028, 1086, 1279, 1263, 3743, 1271, 1265, 1272, 1101, 1283, 2537, 1274, 1083, 1260, 1251, 1012, 1007, 1008, 1015, 1011, 1019, 2020, 2536, 1018, 1278, 2291, 122, 1003, 1353, 2160, 1250, 1257, 1224, 2562, 1273, 1261, 1277, 560, 488, 222, 1258, 1278, 692, 438, 1268, 2545, 1277, 1031, 2540, 1172, 1069, 1264, 1249, 1277, 1258, 1247, 1250, 2535, 1275, 1105, 1272, 1273, 1270, 1269, 1272, 1072, 1190, 1258, 2539, 1271, 1270, 1274, 2299, 1260, 490, 599, 1256, 1272, 1275, 1082, 1271, 1290, 1269, 1273, 2528, 1315, 1255, 1016, 243, 1254, 1274, 1269, 1276, 1268, 1272, 1047, 2408, 528, 2041, 1074, 1472, 2313, 1257, 1277, 1285, 1036, 1266, 1275, 1266, 1276, 1282, 1278, 1267, 1290, 1256, 1283, 1274, 1272, 2529, 1290, 1101, 2439, 1288, 2532, 1283, 1258, 1177, 1262, 1270, 1279, 3579, 1271, 1265, 1272, 1153, 1269, 211, 34, 1015, 1260, 1094, 1268, 1299, 1303, 1179, 1272, 1279, 1283, 2545, 1182, 1038, 1264, 2543, 1299, 1271, 1282, 1295, 1090, 1275, 1266, 167, 1104, 1272, 1293, 1264, 1253, 2555, 1272, 1271, 1271, 1254, 1275, 1269, 1226, 1271, 1298, 1079, 1243, 1276, 1271, 1268, 1291, 1265, 1271, 1268, 1275, 1277, 1266, 1294, 1271, 1276, 1275, 1318, 1247, 1125, 1272, 2379, 1276, 1276, 1077, 1267, 1425, 1137, 1203, 1287, 1259, 1275, 1274, 1177, 1270, 3574, 1262, 693, 579, 1953, 1846, 1136, 347, 923, 1265, 560, 470, 312, 946, 132, 1136, 173, 91, 1010, 392, 66, 810, 1271, 1252, 20, 1158, 1261, 54, 716, 489, 2528, 384, 772, 92, 1267, 1162, 1251, 1273, 1037, 1292, 1242, 1278, 1241, 2377, 1275, 1255, 1271, 1138, 108, 1259, 1278, 2549, 1052, 1175, 1274, 1235, 1275, 2531, 1275, 1288, 1092, 1267, 1275, 1269, 1031, 1044, 1274, 1017, 1280, 1241, 2537, 1272, 1235, 1284, 1251, 1272, 1249, 1273, 1277, 1277, 2497, 1286, 2471, 1257, 1245, 1267, 1260, 1265, 3812, 1278, 1266, 1269, 1248, 1274, 1259, 1272, 1269, 1277, 1150, 1282, 1267, 2529, 1268, 1254, 1277, 2528, 1277, 1134, 1022, 1266, 2358, 1294, 1243, 1278, 2417, 1271, 1250, 1276, 1273, 1282, 279, 1003, 555, 494, 1261, 1269, 1258, 1214, 1252, 1104, 2534, 849, 229, 189, 1250, 2402, 1273, 1266, 656, 132, 487, 1252, 1186, 1289, 1154, 1265, 1269, 1271, 1277, 1261, 1246, 1251, 1304, 1265, 1271, 1276, 1276, 2359, 1294, 2386, 1280, 194, 2442, 1398, 1367, 1363, 1367, 1371, 1289, 1263, 1263, 1281, 1399, 1377, 1344, 1302, 1305, 1146, 1125, 1025, 1046, 1043, 2079, 1249, 1047, 1130, 1087, 1283, 1251, 1206, 1315, 1299, 1269, 1326, 1306, 1343, 1374, 1394, 1376, 1342, 1357, 1370, 1389, 1377, 1342, 1374, 1374, 2291, 1142, 1307, 1392, 1191, 1351, 1356, 1017, 1267, 1283, 1293, 1379, 1344, 1374, 1028, 1271, 1276, 1031, 1264, 1276, 1157, 1276, 1269, 1083, 1081, 1276, 1277, 1256, 1306, 1294, 1320, 1394, 1148, 1216, 1273, 1268, 1202, 1275, 1133, 1287, 1395, 1269, 1271, 1349, 1358, 1325, 1373, 1298, 1344, 1376, 1276, 1348, 1372, 1356, 1371, 1344, 1270, 1043, 1151, 1262, 1088, 1024, 220, 1074, 1273, 1011, 1280, 1908, 628, 1254, 718, 292, 264, 1141, 1283, 1151, 1047, 1321, 1196, 1266, 1268, 1250, 1288, 1275, 1197, 1270, 1272, 1297, 1276, 1091, 1019, 1272, 1288, 1309, 1284, 1083, 1284, 1266, 1251, 1269, 1291, 1081, 1273, 1101, 1283, 1281, 1294, 1277, 1275, 1197, 1274, 1276, 1230, 1276, 1273, 1100, 1262, 1281, 1265, 1016, 1282, 1232, 1270, 1265, 1199, 1285, 1089, 1250, 1263, 1257, 1270, 1279, 1030, 1272, 1269, 1278, 1245, 1285, 1263, 1154, 1021, 1272, 1270, 1270, 1020, 1076, 1259, 1074, 1102, 1283, 1268, 1263, 1283, 1280, 1267, 1256, 1214, 1283, 1080, 1191, 1033, 1284, 1236, 1261, 1284, 1273, 1273, 1124, 1262, 1268, 1271, 1270, 1290, 1278, 1292, 1163, 1283, 1269, 1267, 1271, 1135, 1280, 1197, 1270, 1102, 1271, 1267, 1195, 1266, 1275, 1237, 1279, 1395, 1377, 1376, 1341, 1332, 1263, 1267, 1343, 1399, 1353, 1342, 1341, 1376, 1378, 1377, 1343, 1133, 1021, 1273, 1251, 1160, 1337, 1391, 1343, 1347, 1375, 1373, 1374, 1195, 1335, 1264, 1377, 1342, 1277, 1391, 1376, 1392, 1370, 1372, 1354, 1376, 1288, 1368, 1372, 1377, 1358, 1359, 1386, 1039, 1147, 1270, 1276, 1070, 1393, 1377, 1075, 1306, 1278, 1294, 1296, 1272, 1392, 1340, 1387, 1373, 1376, 1343, 1396, 1319, 1373, 1376, 1375, 1341, 1393, 1069, 1345, 1381, 1374, 1372, 1343, 1196, 1378, 1394, 1342, 1373, 1377, 1374, 1342, 1395, 1397, 1355, 1356, 1356, 1356, 1262, 1147, 1360, 1317, 1351, 1342, 1376, 1245, 1259, 1275, 1111, 1277, 1266, 1395, 1340, 1376, 1393, 1371, 1375, 1333, 1374, 1341, 1378, 1348, 1277, 1362, 1394, 1374, 1345, 1385, 1026, 1386, 1374, 1393, 1342, 1374, 1342, 1375, 1316, 1226, 1352, 1278, 1380, 1152, 1341, 1375, 1340, 1376, 1375, 1375, 1343, 1360, 1342, 1374, 1374, 1373, 1346, 1228, 1377, 1373, 1253, 1098, 1276, 1304, 1264, 1399, 1030, 1373, 1173, 1381, 1373, 1341, 1376, 1375, 1152, 1185, 1232, 1362, 1375, 1274, 1025, 1026, 1207, 1035, 1276, 1019, 2168, 324, 1258, 1266, 1020, 1106, 160, 2545, 1270, 1266, 1277, 1015, 1040, 1029, 1005, 1253, 1007, 1009, 1028, 1258, 1258, 1256, 1294, 1269, 1279, 1097, 1256, 1278, 641, 1437, 1248, 1254, 1011, 1257, 1081, 1035, 1043, 1012, 1129, 1052, 1255, 1009, 1008, 1006, 1008, 1259, 1008, 2020, 1012, 1253, 1006, 1268, 1258, 1255, 1015, 1022, 1255, 1016, 1012, 1212, 1008, 1006, 1011, 1035, 2034, 1034, 1178, 1027, 1030, 1260, 1251, 1250, 1047, 1274, 1153, 1027, 1281, 333, 834, 1284, 1010, 1254, 1011, 1283, 1265, 1272, 1268, 1270, 1268, 1271, 1021, 1259, 1277, 1241, 1261, 1263, 1157, 1266, 1263, 1266, 1151, 2019, 1090, 1254, 1267, 1073, 1255, 1015, 3687, 2525, 1265, 2456, 1271, 1275, 1272, 1268, 1286, 1253, 1082, 1253, 1274, 1014, 1273, 1264, 1272, 3779, 1267, 2530, 1265, 1233, 2562, 1271, 1258, 1271, 1269, 2531, 1271, 1268, 1220, 1269, 1077, 2380, 1018, 2438, 3841, 1270, 1208, 2546, 1071, 1149, 1014, 1035, 1066, 1276, 1272, 1026, 2473, 1292, 2524, 1282, 1054, 1284, 1261, 1273, 1270, 1268, 1270, 1286, 1144, 1276, 1272, 1202, 1274, 1265, 1072, 2573, 1278, 1277, 1264, 2546, 1088, 1165, 1275, 1283, 1065, 1269, 2531, 1241, 1250, 1038, 2382, 1269, 1272, 1036, 1260, 1015, 2034, 1259, 1255, 2494, 1271, 1265, 1272, 1273, 1294, 2547, 1055, 1136, 1277, 1273, 1190, 1273, 1292, 1270, 1274, 1270, 1276, 1265, 1273, 1263, 1286, 1046, 1010, 1019, 1011, 1013, 1044, 1065, 1268, 1007, 2128, 1076, 1016, 1138, 1005, 1011, 1011, 1011, 1006, 1006, 1023, 1030, 1165, 1253, 1140, 1111, 1025, 1048, 1100, 1023, 1010, 1098, 2042, 1010, 1016, 1008, 1012, 1254, 1255, 1015, 1012, 1020, 1010, 1253, 1161, 2156, 2524, 2158, 1047, 2092, 1256, 1134, 1066, 1270, 1114, 1051, 1212, 1072, 1065, 2517, 1194, 2359, 1021, 1093, 1069, 1013, 1257, 1257, 1263, 942, 327, 1271, 1277, 1078, 1016, 1008, 1010, 842, 415, 1250, 1067, 1052, 1258, 1151, 1071, 1273, 1101, 2310, 1291, 1266, 1271, 1258, 1273, 1178, 1012, 2508, 1256, 1246, 1013, 1271, 1273, 1184, 1273, 1099, 1271, 1018, 2405, 1015, 1006, 1008, 1007, 1012, 1009, 1251, 1252, 1252, 1254, 1088, 2103, 1258, 1249, 1068, 129, 1130, 1228, 1258, 400, 629, 772, 34, 1679, 210, 1062, 1246, 1203, 1260, 1269, 2527, 1261, 1272, 1223, 2427, 2512, 1272, 1263, 1220, 115, 2396, 519, 746, 1276, 2133, 1090, 1268, 1429, 985, 1260, 1359, 1362, 1334, 1381, 1290, 1355, 1365, 1278, 1249, 1041, 1259, 1401, 1366, 1354, 1285, 1277, 1306, 1256, 1250, 1300, 1274, 1336, 1342, 1374, 1384, 1371, 1390, 1345, 1158, 1394, 1277, 1270, 1272, 1144, 1399, 1268, 1275, 1273, 1263, 1375, 1394, 1381, 1134, 1289, 1277, 1279, 1278, 1274, 1269, 1278, 1304, 1275, 1270, 1276, 1279, 1152, 1196, 1324, 1019, 1035, 1273, 1111, 1275, 1299, 1324, 1132, 1275, 1404, 1378, 1364, 1333, 1386, 1382, 1368, 1401, 1357, 1280, 1124, 1055, 1370, 1378, 1379, 1312, 1267, 1304, 1257, 1176, 1294, 1737, 295, 274, 1410, 1170, 334, 901, 1217, 1171, 2330, 688, 537, 1262, 1107, 865, 429, 1260, 1275, 1277, 1054, 1272, 331, 940, 1206, 1296, 1260, 1261, 1294, 1118, 1169, 1845, 691, 2522, 1259, 1275, 351, 901, 1261, 1436, 2352, 1282, 1258, 1290, 1247, 1273, 1265, 1274, 1251, 1271, 1261, 1272, 1267, 1284, 1256, 1270, 1266, 1274, 1261, 1108, 1276, 1281, 1268, 1274, 1289, 1086, 2529, 1161, 1266, 1292, 1269, 1269, 409, 2110, 3811, 2364, 1213, 1282, 1264, 1267, 1210, 1278, 1270, 1266, 1275, 1271, 1258, 1081, 1156, 1278, 2533, 1275, 1269, 1283, 1234, 1269, 1259, 2542, 1271, 1265, 1269, 1277, 1271, 1276, 1268, 2549, 1270, 1268, 2540, 1184, 1275, 1164, 1113, 1266, 1272, 1022, 1265, 1012, 1272, 1264, 1273, 1265, 1299, 1161, 1299, 2548, 1273, 1275, 2533, 1286, 1267, 1272, 1271, 1276, 2329, 1272, 2546, 1277, 1289, 1276, 1084, 1274, 1268, 1280, 2546, 1126, 1141, 1158, 1216, 1278, 1272, 1274, 2541, 1276, 1270, 1278, 1208, 1192, 1264, 1278, 1103, 1277, 1034, 1034, 1114, 1270, 1260, 1287, 1261, 1297, 1306, 1128, 1275, 1270, 1274, 1239, 1286, 1270, 1272, 1291, 1309, 2534, 1266, 1273, 1126, 1120, 1226, 1059, 1127, 1258, 1065, 1258, 1048, 1011, 1045, 1111, 2540, 1286, 1261, 1313, 1238, 1275, 1262, 1276, 1268, 1280, 2546, 1274, 1275, 2552, 1274, 1112, 1274, 1275, 1275, 1271, 1122, 1256, 1269, 1263, 1283, 815, 409, 554, 710, 1280, 170, 336, 2024, 1291, 1225, 1274, 1266, 1273, 1264, 2540, 1274, 1249, 1273, 1263, 1293, 1264, 1109, 1261, 2576, 1272, 1264, 1330, 1239, 1249, 1271, 1275, 1273, 1201, 1286, 1201, 1288, 1280, 1121, 1267, 1326, 1218, 1285, 1233, 1275, 1274, 1271, 1272, 1269, 1273, 1273, 1268, 1262, 1210, 1279, 1284, 1246, 1277, 639, 567, 57, 632, 405, 1269, 1137, 142, 2550, 1278, 1251, 1280, 2445, 559, 720, 1261, 1279, 1270, 1279, 1262, 1289, 1274, 1284, 2528, 1274, 1262, 1283, 1286, 1105, 1214, 1275, 1284, 1270, 1274, 1271, 1271, 1143, 1263, 1272, 1275, 1293, 1269, 447, 34, 347, 1704, 1269, 1148, 1278, 1276, 1056, 1269, 1268, 1270, 1204, 2467, 1265, 1078, 1268, 1278, 1274, 1272, 1286, 2532, 1271, 1254, 1268, 2518, 1294, 1241, 1251, 1253, 1182, 1272, 1277, 1260, 1017, 1263, 1285, 1022, 1013, 1245, 1258, 1236, 1303, 1257, 1294, 1266, 1261, 1251, 1269 ], "scripts": [ { "id": "0", "url": "", "pkgUrl": "(system)" }, { "id": "22", "url": "bootstrap_node.js", "source": "// Hello, and welcome to hacking node.js!\n//\n// This file is invoked by node::LoadEnvironment in src/node.cc, and is\n// responsible for bootstrapping the node.js core. As special caution is given\n// to the performance of the startup process, many dependencies are invoked\n// lazily.\n\n'use strict';\n\n(function(process) {\n\n function startup() {\n const EventEmitter = NativeModule.require('events');\n process._eventsCount = 0;\n\n const origProcProto = Object.getPrototypeOf(process);\n Object.setPrototypeOf(process, Object.create(EventEmitter.prototype, {\n constructor: Object.getOwnPropertyDescriptor(origProcProto, 'constructor')\n }));\n\n EventEmitter.call(process);\n\n setupProcessObject();\n\n // do this good and early, since it handles errors.\n setupProcessFatal();\n\n setupProcessICUVersions();\n\n setupGlobalVariables();\n if (!process._noBrowserGlobals) {\n setupGlobalTimeouts();\n setupGlobalConsole();\n }\n\n const _process = NativeModule.require('internal/process');\n\n _process.setup_hrtime();\n _process.setup_cpuUsage();\n _process.setupMemoryUsage();\n _process.setupConfig(NativeModule._source);\n NativeModule.require('internal/process/warning').setup();\n NativeModule.require('internal/process/next_tick').setup();\n NativeModule.require('internal/process/stdio').setup();\n _process.setupKillAndExit();\n _process.setupSignalHandlers();\n if (global.__coverage__)\n NativeModule.require('internal/process/write-coverage').setup();\n\n // Do not initialize channel in debugger agent, it deletes env variable\n // and the main thread won't see it.\n if (process.argv[1] !== '--debug-agent')\n _process.setupChannel();\n\n _process.setupRawDebug();\n\n // Ensure setURLConstructor() is called before the native\n // URL::ToObject() method is used.\n NativeModule.require('internal/url');\n\n Object.defineProperty(process, 'argv0', {\n enumerable: true,\n configurable: false,\n value: process.argv[0]\n });\n process.argv[0] = process.execPath;\n\n // Handle `--debug*` deprecation and invalidation\n if (process._invalidDebug) {\n process.emitWarning(\n '`node --debug` and `node --debug-brk` are invalid. ' +\n 'Please use `node --inspect` or `node --inspect-brk` instead.',\n 'DeprecationWarning', 'DEP0062', startup, true);\n process.exit(9);\n } else if (process._deprecatedDebugBrk) {\n process.emitWarning(\n '`node --inspect --debug-brk` is deprecated. ' +\n 'Please use `node --inspect-brk` instead.',\n 'DeprecationWarning', 'DEP0062', startup, true);\n }\n\n // There are various modes that Node can run in. The most common two\n // are running from a script and running the REPL - but there are a few\n // others like the debugger or running --eval arguments. Here we decide\n // which mode we run in.\n\n if (NativeModule.exists('_third_party_main')) {\n // To allow people to extend Node in different ways, this hook allows\n // one to drop a file lib/_third_party_main.js into the build\n // directory which will be executed instead of Node's normal loading.\n process.nextTick(function() {\n NativeModule.require('_third_party_main');\n });\n\n } else if (process.argv[1] === 'inspect' || process.argv[1] === 'debug') {\n if (process.argv[1] === 'debug') {\n process.emitWarning(\n '`node debug` is deprecated. Please use `node inspect` instead.',\n 'DeprecationWarning', 'DEP0068');\n }\n\n // Start the debugger agent\n process.nextTick(function() {\n NativeModule.require('node-inspect/lib/_inspect').start();\n });\n\n } else if (process.argv[1] === '--remote_debugging_server') {\n // Start the debugging server\n NativeModule.require('internal/inspector/remote_debugging_server');\n\n } else if (process.argv[1] === '--debug-agent') {\n // Start the debugger agent\n NativeModule.require('_debug_agent').start();\n\n } else if (process.profProcess) {\n NativeModule.require('internal/v8_prof_processor');\n\n } else {\n // There is user code to be run\n\n // If this is a worker in cluster mode, start up the communication\n // channel. This needs to be done before any user code gets executed\n // (including preload modules).\n if (process.argv[1] && process.env.NODE_UNIQUE_ID) {\n const cluster = NativeModule.require('cluster');\n cluster._setupWorker();\n\n // Make sure it's not accidentally inherited by child processes.\n delete process.env.NODE_UNIQUE_ID;\n }\n\n if (process._eval != null && !process._forceRepl) {\n // User passed '-e' or '--eval' arguments to Node without '-i' or\n // '--interactive'\n preloadModules();\n\n const internalModule = NativeModule.require('internal/module');\n internalModule.addBuiltinLibsToObject(global);\n evalScript('[eval]');\n } else if (process.argv[1] && process.argv[1] !== '-') {\n // make process.argv[1] into a full path\n const path = NativeModule.require('path');\n process.argv[1] = path.resolve(process.argv[1]);\n\n const Module = NativeModule.require('module');\n\n // check if user passed `-c` or `--check` arguments to Node.\n if (process._syntax_check_only != null) {\n const fs = NativeModule.require('fs');\n // read the source\n const filename = Module._resolveFilename(process.argv[1]);\n var source = fs.readFileSync(filename, 'utf-8');\n checkScriptSyntax(source, filename);\n process.exit(0);\n }\n\n preloadModules();\n Module.runMain();\n } else {\n preloadModules();\n // If -i or --interactive were passed, or stdin is a TTY.\n if (process._forceRepl || NativeModule.require('tty').isatty(0)) {\n // REPL\n const cliRepl = NativeModule.require('internal/repl');\n cliRepl.createInternalRepl(process.env, function(err, repl) {\n if (err) {\n throw err;\n }\n repl.on('exit', function() {\n if (repl._flushing) {\n repl.pause();\n return repl.once('flushHistory', function() {\n process.exit();\n });\n }\n process.exit();\n });\n });\n\n if (process._eval != null) {\n // User passed '-e' or '--eval'\n evalScript('[eval]');\n }\n } else {\n // Read all of stdin - execute it.\n process.stdin.setEncoding('utf8');\n\n var code = '';\n process.stdin.on('data', function(d) {\n code += d;\n });\n\n process.stdin.on('end', function() {\n if (process._syntax_check_only != null) {\n checkScriptSyntax(code, '[stdin]');\n } else {\n process._eval = code;\n evalScript('[stdin]');\n }\n });\n }\n }\n }\n }\n\n function setupProcessObject() {\n process._setupProcessObject(pushValueToArray);\n\n function pushValueToArray() {\n for (var i = 0; i < arguments.length; i++)\n this.push(arguments[i]);\n }\n }\n\n function setupGlobalVariables() {\n Object.defineProperty(global, Symbol.toStringTag, {\n value: 'global',\n writable: false,\n enumerable: false,\n configurable: true\n });\n global.process = process;\n const util = NativeModule.require('util');\n\n function makeGetter(name) {\n return util.deprecate(function() {\n return this;\n }, `'${name}' is deprecated, use 'global'`, 'DEP0016');\n }\n\n function makeSetter(name) {\n return util.deprecate(function(value) {\n Object.defineProperty(this, name, {\n configurable: true,\n writable: true,\n enumerable: true,\n value: value\n });\n }, `'${name}' is deprecated, use 'global'`, 'DEP0016');\n }\n\n Object.defineProperties(global, {\n GLOBAL: {\n configurable: true,\n get: makeGetter('GLOBAL'),\n set: makeSetter('GLOBAL')\n },\n root: {\n configurable: true,\n get: makeGetter('root'),\n set: makeSetter('root')\n }\n });\n\n global.Buffer = NativeModule.require('buffer').Buffer;\n process.domain = null;\n process._exiting = false;\n }\n\n function setupGlobalTimeouts() {\n const timers = NativeModule.require('timers');\n global.clearImmediate = timers.clearImmediate;\n global.clearInterval = timers.clearInterval;\n global.clearTimeout = timers.clearTimeout;\n global.setImmediate = timers.setImmediate;\n global.setInterval = timers.setInterval;\n global.setTimeout = timers.setTimeout;\n }\n\n function setupGlobalConsole() {\n const originalConsole = global.console;\n let console;\n Object.defineProperty(global, 'console', {\n configurable: true,\n enumerable: true,\n get: function() {\n if (!console) {\n console = originalConsole === undefined ?\n NativeModule.require('console') :\n installInspectorConsole(originalConsole);\n }\n return console;\n }\n });\n }\n\n function installInspectorConsole(globalConsole) {\n const wrappedConsole = NativeModule.require('console');\n const inspector = process.binding('inspector');\n const config = {};\n for (const key of Object.keys(wrappedConsole)) {\n if (!globalConsole.hasOwnProperty(key))\n continue;\n // If global console has the same method as inspector console,\n // then wrap these two methods into one. Native wrapper will preserve\n // the original stack.\n wrappedConsole[key] = inspector.consoleCall.bind(wrappedConsole,\n globalConsole[key],\n wrappedConsole[key],\n config);\n }\n for (const key of Object.keys(globalConsole)) {\n if (wrappedConsole.hasOwnProperty(key))\n continue;\n wrappedConsole[key] = globalConsole[key];\n }\n return wrappedConsole;\n }\n\n function setupProcessFatal() {\n const async_wrap = process.binding('async_wrap');\n // Arrays containing hook flags and ids for async_hook calls.\n const { async_hook_fields, async_uid_fields } = async_wrap;\n // Internal functions needed to manipulate the stack.\n const { clearIdStack, popAsyncIds } = async_wrap;\n const { kAfter, kCurrentAsyncId, kInitTriggerId } = async_wrap.constants;\n\n process._fatalException = function(er) {\n var caught;\n\n // It's possible that kInitTriggerId was set for a constructor call that\n // threw and was never cleared. So clear it now.\n async_uid_fields[kInitTriggerId] = 0;\n\n if (process.domain && process.domain._errorHandler)\n caught = process.domain._errorHandler(er);\n\n if (!caught)\n caught = process.emit('uncaughtException', er);\n\n // If someone handled it, then great. otherwise, die in C++ land\n // since that means that we'll exit the process, emit the 'exit' event\n if (!caught) {\n try {\n if (!process._exiting) {\n process._exiting = true;\n process.emit('exit', 1);\n }\n } catch (er) {\n // nothing to be done about it at this point.\n }\n\n } else {\n // If we handled an error, then make sure any ticks get processed\n NativeModule.require('timers').setImmediate(process._tickCallback);\n\n // Emit the after() hooks now that the exception has been handled.\n if (async_hook_fields[kAfter] > 0) {\n do {\n NativeModule.require('async_hooks').emitAfter(\n async_uid_fields[kCurrentAsyncId]);\n // popAsyncIds() returns true if there are more ids on the stack.\n } while (popAsyncIds(async_uid_fields[kCurrentAsyncId]));\n // Or completely empty the id stack.\n } else {\n clearIdStack();\n }\n }\n\n return caught;\n };\n }\n\n function setupProcessICUVersions() {\n const icu = process.binding('config').hasIntl ?\n process.binding('icu') : undefined;\n if (!icu) return; // no Intl/ICU: nothing to add here.\n // With no argument, getVersion() returns a comma separated list\n // of possible types.\n const versionTypes = icu.getVersion().split(',');\n\n function makeGetter(name) {\n return () => {\n // With an argument, getVersion(type) returns\n // the actual version string.\n const version = icu.getVersion(name);\n // Replace the current getter with a new property.\n delete process.versions[name];\n Object.defineProperty(process.versions, name, {\n value: version,\n writable: false,\n enumerable: true\n });\n return version;\n };\n }\n\n for (var n = 0; n < versionTypes.length; n++) {\n var name = versionTypes[n];\n Object.defineProperty(process.versions, name, {\n configurable: true,\n enumerable: true,\n get: makeGetter(name)\n });\n }\n }\n\n function tryGetCwd(path) {\n var threw = true;\n var cwd;\n try {\n cwd = process.cwd();\n threw = false;\n } finally {\n if (threw) {\n // getcwd(3) can fail if the current working directory has been deleted.\n // Fall back to the directory name of the (absolute) executable path.\n // It's not really correct but what are the alternatives?\n return path.dirname(process.execPath);\n }\n }\n return cwd;\n }\n\n function evalScript(name) {\n const Module = NativeModule.require('module');\n const path = NativeModule.require('path');\n const cwd = tryGetCwd(path);\n\n const module = new Module(name);\n module.filename = path.join(cwd, name);\n module.paths = Module._nodeModulePaths(cwd);\n const body = process._eval;\n const script = `global.__filename = ${JSON.stringify(name)};\\n` +\n 'global.exports = exports;\\n' +\n 'global.module = module;\\n' +\n 'global.__dirname = __dirname;\\n' +\n 'global.require = require;\\n' +\n 'return require(\"vm\").runInThisContext(' +\n `${JSON.stringify(body)}, { filename: ` +\n `${JSON.stringify(name)}, displayErrors: true });\\n`;\n const result = module._compile(script, `${name}-wrapper`);\n if (process._print_eval) console.log(result);\n // Handle any nextTicks added in the first tick of the program.\n process._tickCallback();\n }\n\n // Load preload modules\n function preloadModules() {\n if (process._preload_modules) {\n NativeModule.require('module')._preloadModules(process._preload_modules);\n }\n }\n\n function checkScriptSyntax(source, filename) {\n const Module = NativeModule.require('module');\n const vm = NativeModule.require('vm');\n const internalModule = NativeModule.require('internal/module');\n\n // remove Shebang\n source = internalModule.stripShebang(source);\n // remove BOM\n source = internalModule.stripBOM(source);\n // wrap it\n source = Module.wrap(source);\n // compile the script, this will throw if it fails\n new vm.Script(source, {displayErrors: true, filename});\n }\n\n // Below you find a minimal module system, which is used to load the node\n // core modules found in lib/*.js. All core modules are compiled into the\n // node binary, so they can be loaded faster.\n\n const ContextifyScript = process.binding('contextify').ContextifyScript;\n function runInThisContext(code, options) {\n const script = new ContextifyScript(code, options);\n return script.runInThisContext();\n }\n\n function NativeModule(id) {\n this.filename = `${id}.js`;\n this.id = id;\n this.exports = {};\n this.loaded = false;\n this.loading = false;\n }\n\n NativeModule._source = process.binding('natives');\n NativeModule._cache = {};\n\n NativeModule.require = function(id) {\n if (id === 'native_module') {\n return NativeModule;\n }\n\n const cached = NativeModule.getCached(id);\n if (cached && (cached.loaded || cached.loading)) {\n return cached.exports;\n }\n\n if (!NativeModule.exists(id)) {\n // Model the error off the internal/errors.js model, but\n // do not use that module given that it could actually be\n // the one causing the error if there's a bug in Node.js\n const err = new Error(`No such built-in module: ${id}`);\n err.code = 'ERR_UNKNOWN_BUILTIN_MODULE';\n err.name = 'Error [ERR_UNKNOWN_BUILTIN_MODULE]';\n throw err;\n }\n\n process.moduleLoadList.push(`NativeModule ${id}`);\n\n const nativeModule = new NativeModule(id);\n\n nativeModule.cache();\n nativeModule.compile();\n\n return nativeModule.exports;\n };\n\n NativeModule.getCached = function(id) {\n return NativeModule._cache[id];\n };\n\n NativeModule.exists = function(id) {\n return NativeModule._source.hasOwnProperty(id);\n };\n\n const config = process.binding('config');\n\n if (config.exposeInternals) {\n NativeModule.nonInternalExists = NativeModule.exists;\n\n NativeModule.isInternal = function(id) {\n return false;\n };\n } else {\n NativeModule.nonInternalExists = function(id) {\n return NativeModule.exists(id) && !NativeModule.isInternal(id);\n };\n\n NativeModule.isInternal = function(id) {\n return id.startsWith('internal/');\n };\n }\n\n\n NativeModule.getSource = function(id) {\n return NativeModule._source[id];\n };\n\n NativeModule.wrap = function(script) {\n return NativeModule.wrapper[0] + script + NativeModule.wrapper[1];\n };\n\n NativeModule.wrapper = [\n '(function (exports, require, module, __filename, __dirname) { ',\n '\\n});'\n ];\n\n NativeModule.prototype.compile = function() {\n var source = NativeModule.getSource(this.id);\n source = NativeModule.wrap(source);\n\n this.loading = true;\n\n try {\n const fn = runInThisContext(source, {\n filename: this.filename,\n lineOffset: 0,\n displayErrors: true\n });\n fn(this.exports, NativeModule.require, this, this.filename);\n\n this.loaded = true;\n } finally {\n this.loading = false;\n }\n };\n\n NativeModule.prototype.cache = function() {\n NativeModule._cache[this.id] = this;\n };\n\n startup();\n});\n", "pkgUrl": "(system)" }, { "id": "24", "url": "util.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst uv = process.binding('uv');\nconst Buffer = require('buffer').Buffer;\nconst internalUtil = require('internal/util');\nconst binding = process.binding('util');\n\nconst isError = internalUtil.isError;\n\nconst inspectDefaultOptions = Object.seal({\n showHidden: false,\n depth: 2,\n colors: false,\n customInspect: true,\n showProxy: false,\n maxArrayLength: 100,\n breakLength: 60\n});\n\nconst numbersOnlyRE = /^\\d+$/;\n\nvar CIRCULAR_ERROR_MESSAGE;\nvar Debug;\n\nfunction tryStringify(arg) {\n try {\n return JSON.stringify(arg);\n } catch (err) {\n // Populate the circular error message lazily\n if (!CIRCULAR_ERROR_MESSAGE) {\n try {\n const a = {}; a.a = a; JSON.stringify(a);\n } catch (err) {\n CIRCULAR_ERROR_MESSAGE = err.message;\n }\n }\n if (err.name === 'TypeError' && err.message === CIRCULAR_ERROR_MESSAGE)\n return '[Circular]';\n throw err;\n }\n}\n\nexports.format = function(f) {\n if (typeof f !== 'string') {\n const objects = new Array(arguments.length);\n for (var index = 0; index < arguments.length; index++) {\n objects[index] = inspect(arguments[index]);\n }\n return objects.join(' ');\n }\n\n if (arguments.length === 1) return f;\n\n var str = '';\n var a = 1;\n var lastPos = 0;\n for (var i = 0; i < f.length;) {\n if (f.charCodeAt(i) === 37/*'%'*/ && i + 1 < f.length) {\n if (f.charCodeAt(i + 1) !== 37/*'%'*/ && a >= arguments.length) {\n ++i;\n continue;\n }\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += Number(arguments[a++]);\n break;\n case 105: // 'i'\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += parseInt(arguments[a++]);\n break;\n case 102: // 'f'\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += parseFloat(arguments[a++]);\n break;\n case 106: // 'j'\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += tryStringify(arguments[a++]);\n break;\n case 115: // 's'\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += String(arguments[a++]);\n break;\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += '%';\n break;\n default: // any other character is not a correct placeholder\n if (lastPos < i)\n str += f.slice(lastPos, i);\n str += '%';\n lastPos = i = i + 1;\n continue;\n }\n lastPos = i = i + 2;\n continue;\n }\n ++i;\n }\n if (lastPos === 0)\n str = f;\n else if (lastPos < f.length)\n str += f.slice(lastPos);\n while (a < arguments.length) {\n const x = arguments[a++];\n if (x === null || (typeof x !== 'object' && typeof x !== 'symbol')) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\nexports.deprecate = internalUtil.deprecate;\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (debugEnviron === undefined)\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp(`\\\\b${set}\\\\b`, 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Tries to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3 && arguments[2] !== undefined) {\n ctx.depth = arguments[2];\n }\n if (arguments.length >= 4 && arguments[3] !== undefined) {\n ctx.colors = arguments[3];\n }\n if (typeof opts === 'boolean') {\n // legacy...\n ctx.showHidden = opts;\n }\n // Set default and user-specified options\n ctx = Object.assign({}, inspect.defaultOptions, ctx, opts);\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n if (ctx.maxArrayLength === null) ctx.maxArrayLength = Infinity;\n return formatValue(ctx, obj, ctx.depth);\n}\n\nObject.defineProperty(inspect, 'defaultOptions', {\n get: function() {\n return inspectDefaultOptions;\n },\n set: function(options) {\n if (options === null || typeof options !== 'object') {\n throw new TypeError('\"options\" must be an object');\n }\n Object.assign(inspectDefaultOptions, options);\n return inspectDefaultOptions;\n }\n});\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = Object.assign(Object.create(null), {\n 'bold': [1, 22],\n 'italic': [3, 23],\n 'underline': [4, 24],\n 'inverse': [7, 27],\n 'white': [37, 39],\n 'grey': [90, 39],\n 'black': [30, 39],\n 'blue': [34, 39],\n 'cyan': [36, 39],\n 'green': [32, 39],\n 'magenta': [35, 39],\n 'red': [31, 39],\n 'yellow': [33, 39]\n});\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = Object.assign(Object.create(null), {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'symbol': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n});\n\nconst customInspectSymbol = internalUtil.customInspectSymbol;\n\nexports.inspect = inspect;\nexports.inspect.custom = customInspectSymbol;\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return `\\u001b[${inspect.colors[style][0]}m${str}` +\n `\\u001b[${inspect.colors[style][1]}m`;\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = Object.create(null);\n\n for (var i = 0; i < array.length; i++) {\n var val = array[i];\n hash[val] = true;\n }\n\n return hash;\n}\n\n\nfunction ensureDebugIsInitialized() {\n if (Debug === undefined) {\n const runInDebugContext = require('vm').runInDebugContext;\n Debug = runInDebugContext('Debug');\n }\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n if (ctx.showProxy &&\n ((typeof value === 'object' && value !== null) ||\n typeof value === 'function')) {\n var proxy = undefined;\n var proxyCache = ctx.proxyCache;\n if (!proxyCache)\n proxyCache = ctx.proxyCache = new Map();\n // Determine if we've already seen this object and have\n // determined that it either is or is not a proxy.\n if (proxyCache.has(value)) {\n // We've seen it, if the value is not undefined, it's a Proxy.\n proxy = proxyCache.get(value);\n } else {\n // Haven't seen it. Need to check.\n // If it's not a Proxy, this will return undefined.\n // Otherwise, it'll return an array. The first item\n // is the target, the second item is the handler.\n // We ignore (and do not return) the Proxy isRevoked property.\n proxy = binding.getProxyDetails(value);\n if (proxy) {\n // We know for a fact that this isn't a Proxy.\n // Mark it as having already been evaluated.\n // We do this because this object is passed\n // recursively to formatValue below in order\n // for it to get proper formatting, and because\n // the target and handle objects also might be\n // proxies... it's unfortunate but necessary.\n proxyCache.set(proxy, undefined);\n }\n // If the object is not a Proxy, then this stores undefined.\n // This tells the code above that we've already checked and\n // ruled it out. If the object is a proxy, this caches the\n // results of the getProxyDetails call.\n proxyCache.set(value, proxy);\n }\n if (proxy) {\n return 'Proxy ' + formatValue(ctx, proxy, recurseTimes);\n }\n }\n\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value) {\n const maybeCustomInspect = value[customInspectSymbol] || value.inspect;\n\n if (typeof maybeCustomInspect === 'function' &&\n // Filter out the util module, its inspect function is special\n maybeCustomInspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n let ret = maybeCustomInspect.call(value, recurseTimes, ctx);\n\n // If the custom inspection method returned `this`, don't go into\n // infinite recursion.\n if (ret !== value) {\n if (typeof ret !== 'string') {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n }\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n const symbolKeys = Object.getOwnPropertySymbols(value);\n const enumSymbolKeys = symbolKeys\n .filter((key) => Object.prototype.propertyIsEnumerable.call(value, key));\n keys = keys.concat(enumSymbolKeys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value).concat(symbolKeys);\n }\n\n // This could be a boxed primitive (new String(), etc.), check valueOf()\n // NOTE: Avoid calling `valueOf` on `Date` instance because it will return\n // a number which, when object has some additional user-stored `keys`,\n // will be printed out.\n var formatted;\n var raw = value;\n try {\n // the .valueOf() call can fail for a multitude of reasons\n if (!isDate(value))\n raw = value.valueOf();\n } catch (e) {\n // ignore...\n }\n\n if (typeof raw === 'string') {\n // for boxed Strings, we have to remove the 0-n indexed entries,\n // since they just noisy up the output and are redundant\n keys = keys.filter(function(key) {\n if (typeof key === 'symbol') {\n return true;\n }\n\n return !(key >= 0 && key < raw.length);\n });\n }\n\n var constructor = internalUtil.getConstructorOf(value);\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (typeof value === 'function') {\n const ctorName = constructor ? constructor.name : 'Function';\n return ctx.stylize(\n `[${ctorName}${value.name ? `: ${value.name}` : ''}]`, 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n if (Number.isNaN(value.getTime())) {\n return ctx.stylize(value.toString(), 'date');\n } else {\n return ctx.stylize(Date.prototype.toISOString.call(value), 'date');\n }\n }\n if (isError(value)) {\n return formatError(value);\n }\n // now check the `raw` value to handle boxed primitives\n if (typeof raw === 'string') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize(`[String: ${formatted}]`, 'string');\n }\n if (typeof raw === 'symbol') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize(`[Symbol: ${formatted}]`, 'symbol');\n }\n if (typeof raw === 'number') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize(`[Number: ${formatted}]`, 'number');\n }\n if (typeof raw === 'boolean') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n return ctx.stylize(`[Boolean: ${formatted}]`, 'boolean');\n }\n // Fast path for ArrayBuffer and SharedArrayBuffer.\n // Can't do the same for DataView because it has a non-primitive\n // .buffer property that we need to recurse for.\n if (binding.isAnyArrayBuffer(value)) {\n return `${constructor.name}` +\n ` { byteLength: ${formatNumber(ctx, value.byteLength)} }`;\n }\n if (binding.isExternal(value)) {\n return ctx.stylize('[External]', 'special');\n }\n }\n\n var base = '';\n var empty = false;\n var formatter = formatObject;\n var braces;\n\n // We can't compare constructors for various objects using a comparison like\n // `constructor === Array` because the object could have come from a different\n // context and thus the constructor won't match. Instead we check the\n // constructor names (including those up the prototype chain where needed) to\n // determine object types.\n if (Array.isArray(value)) {\n // Unset the constructor to prevent \"Array [...]\" for ordinary arrays.\n if (constructor && constructor.name === 'Array')\n constructor = null;\n braces = ['[', ']'];\n empty = value.length === 0;\n formatter = formatArray;\n } else if (binding.isSet(value)) {\n braces = ['{', '}'];\n // With `showHidden`, `length` will display as a hidden property for\n // arrays. For consistency's sake, do the same for `size`, even though this\n // property isn't selected by Object.getOwnPropertyNames().\n if (ctx.showHidden)\n keys.unshift('size');\n empty = value.size === 0;\n formatter = formatSet;\n } else if (binding.isMap(value)) {\n braces = ['{', '}'];\n // Ditto.\n if (ctx.showHidden)\n keys.unshift('size');\n empty = value.size === 0;\n formatter = formatMap;\n } else if (binding.isAnyArrayBuffer(value)) {\n braces = ['{', '}'];\n keys.unshift('byteLength');\n visibleKeys.byteLength = true;\n } else if (binding.isDataView(value)) {\n braces = ['{', '}'];\n // .buffer goes last, it's not a primitive like the others.\n keys.unshift('byteLength', 'byteOffset', 'buffer');\n visibleKeys.byteLength = true;\n visibleKeys.byteOffset = true;\n visibleKeys.buffer = true;\n } else if (binding.isTypedArray(value)) {\n braces = ['[', ']'];\n formatter = formatTypedArray;\n if (ctx.showHidden) {\n // .buffer goes last, it's not a primitive like the others.\n keys.unshift('BYTES_PER_ELEMENT',\n 'length',\n 'byteLength',\n 'byteOffset',\n 'buffer');\n }\n } else if (binding.isPromise(value)) {\n braces = ['{', '}'];\n formatter = formatPromise;\n } else if (binding.isMapIterator(value)) {\n constructor = { name: 'MapIterator' };\n braces = ['{', '}'];\n empty = false;\n formatter = formatCollectionIterator;\n } else if (binding.isSetIterator(value)) {\n constructor = { name: 'SetIterator' };\n braces = ['{', '}'];\n empty = false;\n formatter = formatCollectionIterator;\n } else {\n // Unset the constructor to prevent \"Object {...}\" for ordinary objects.\n if (constructor && constructor.name === 'Object')\n constructor = null;\n braces = ['{', '}'];\n empty = true; // No other data than keys.\n }\n\n empty = empty === true && keys.length === 0;\n\n // Make functions say that they are functions\n if (typeof value === 'function') {\n const ctorName = constructor ? constructor.name : 'Function';\n base = ` [${ctorName}${value.name ? `: ${value.name}` : ''}]`;\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toISOString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n // Make boxed primitive Strings look like such\n if (typeof raw === 'string') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n base = ` [String: ${formatted}]`;\n }\n\n // Make boxed primitive Numbers look like such\n if (typeof raw === 'number') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n base = ` [Number: ${formatted}]`;\n }\n\n // Make boxed primitive Booleans look like such\n if (typeof raw === 'boolean') {\n formatted = formatPrimitiveNoColor(ctx, raw);\n base = ` [Boolean: ${formatted}]`;\n }\n\n // Add constructor name if available\n if (base === '' && constructor)\n braces[0] = `${constructor.name} ${braces[0]}`;\n\n if (empty === true) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else if (Array.isArray(value)) {\n return ctx.stylize('[Array]', 'special');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output = formatter(ctx, value, recurseTimes, visibleKeys, keys);\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces, ctx.breakLength);\n}\n\n\nfunction formatNumber(ctx, value) {\n // Format -0 as '-0'. Strict equality won't distinguish 0 from -0.\n if (Object.is(value, -0))\n return ctx.stylize('-0', 'number');\n return ctx.stylize('' + value, 'number');\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (value === undefined)\n return ctx.stylize('undefined', 'undefined');\n\n // For some reason typeof null is \"object\", so special case here.\n if (value === null)\n return ctx.stylize('null', 'null');\n\n var type = typeof value;\n\n if (type === 'string') {\n var simple = '\\'' +\n JSON.stringify(value)\n .replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') +\n '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (type === 'number')\n return formatNumber(ctx, value);\n if (type === 'boolean')\n return ctx.stylize('' + value, 'boolean');\n // es6 symbol primitive\n if (type === 'symbol')\n return ctx.stylize(value.toString(), 'symbol');\n}\n\n\nfunction formatPrimitiveNoColor(ctx, value) {\n var stylize = ctx.stylize;\n ctx.stylize = stylizeNoColor;\n var str = formatPrimitive(ctx, value);\n ctx.stylize = stylize;\n return str;\n}\n\n\nfunction formatError(value) {\n return value.stack || `[${Error.prototype.toString.call(value)}]`;\n}\n\n\nfunction formatObject(ctx, value, recurseTimes, visibleKeys, keys) {\n return keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, false);\n });\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n let visibleLength = 0;\n let index = 0;\n while (index < value.length && visibleLength < ctx.maxArrayLength) {\n let emptyItems = 0;\n while (index < value.length && !hasOwnProperty(value, String(index))) {\n emptyItems++;\n index++;\n }\n if (emptyItems > 0) {\n const ending = emptyItems > 1 ? 's' : '';\n const message = `<${emptyItems} empty item${ending}>`;\n output.push(ctx.stylize(message, 'undefined'));\n } else {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(index), true));\n index++;\n }\n visibleLength++;\n }\n var remaining = value.length - index;\n if (remaining > 0) {\n output.push(`... ${remaining} more item${remaining > 1 ? 's' : ''}`);\n }\n for (var n = 0; n < keys.length; n++) {\n var key = keys[n];\n if (typeof key === 'symbol' || !numbersOnlyRE.test(key)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n }\n return output;\n}\n\n\nfunction formatTypedArray(ctx, value, recurseTimes, visibleKeys, keys) {\n const maxLength = Math.min(Math.max(0, ctx.maxArrayLength), value.length);\n const remaining = value.length - maxLength;\n var output = new Array(maxLength);\n for (var i = 0; i < maxLength; ++i)\n output[i] = formatNumber(ctx, value[i]);\n if (remaining > 0) {\n output.push(`... ${remaining} more item${remaining > 1 ? 's' : ''}`);\n }\n for (const key of keys) {\n if (typeof key === 'symbol' || !numbersOnlyRE.test(key)) {\n output.push(\n formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n }\n }\n return output;\n}\n\n\nfunction formatSet(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n value.forEach(function(v) {\n var nextRecurseTimes = recurseTimes === null ? null : recurseTimes - 1;\n var str = formatValue(ctx, v, nextRecurseTimes);\n output.push(str);\n });\n for (var n = 0; n < keys.length; n++) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n keys[n], false));\n }\n return output;\n}\n\n\nfunction formatMap(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n value.forEach(function(v, k) {\n var nextRecurseTimes = recurseTimes === null ? null : recurseTimes - 1;\n var str = formatValue(ctx, k, nextRecurseTimes);\n str += ' => ';\n str += formatValue(ctx, v, nextRecurseTimes);\n output.push(str);\n });\n for (var n = 0; n < keys.length; n++) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n keys[n], false));\n }\n return output;\n}\n\nfunction formatCollectionIterator(ctx, value, recurseTimes, visibleKeys, keys) {\n ensureDebugIsInitialized();\n const mirror = Debug.MakeMirror(value, true);\n var nextRecurseTimes = recurseTimes === null ? null : recurseTimes - 1;\n var vals = mirror.preview();\n var output = [];\n for (const o of vals) {\n output.push(formatValue(ctx, o, nextRecurseTimes));\n }\n return output;\n}\n\nfunction formatPromise(ctx, value, recurseTimes, visibleKeys, keys) {\n const output = [];\n const [state, result] = binding.getPromiseDetails(value);\n\n if (state === binding.kPending) {\n output.push('');\n } else {\n var nextRecurseTimes = recurseTimes === null ? null : recurseTimes - 1;\n var str = formatValue(ctx, result, nextRecurseTimes);\n if (state === binding.kRejected) {\n output.push(' ' + str);\n } else {\n output.push(str);\n }\n }\n for (var n = 0; n < keys.length; n++) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n keys[n], false));\n }\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n if (typeof key === 'symbol') {\n name = `[${ctx.stylize(key.toString(), 'symbol')}]`;\n } else {\n name = `[${key}]`;\n }\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (recurseTimes === null) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.replace(/\\n/g, '\\n ');\n } else {\n str = str.replace(/^|\\n/g, '\\n ');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (name === undefined) {\n if (array && numbersOnlyRE.test(key)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (/^\"[a-zA-Z_][a-zA-Z_0-9]*\"$/.test(name)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/^\"|\"$/g, \"'\")\n .replace(/\\\\\\\\/g, '\\\\');\n name = ctx.stylize(name, 'string');\n }\n }\n\n return `${name}: ${str}`;\n}\n\n\nfunction reduceToSingleString(output, base, braces, breakLength) {\n var length = output.reduce(function(prev, cur) {\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > breakLength) {\n return braces[0] +\n // If the opening \"brace\" is too large, like in the case of \"Set {\",\n // we need to force the first item to be on the next line or the\n // items will not line up correctly.\n (base === '' && braces[0].length === 1 ? '' : base + '\\n ') +\n ` ${output.join(',\\n ')} ${braces[1]}`;\n }\n\n return `${braces[0]}${base} ${output.join(', ')} ${braces[1]}`;\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.isArray = Array.isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg === null || arg === undefined;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === undefined;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return binding.isRegExp(re);\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return arg !== null && typeof arg === 'object';\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return binding.isDate(d);\n}\nexports.isDate = isDate;\n\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg !== 'object' && typeof arg !== 'function';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nconst months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n * @throws {TypeError} Will error if either constructor is null, or if\n * the super constructor lacks a prototype.\n */\nexports.inherits = function(ctor, superCtor) {\n\n if (ctor === undefined || ctor === null)\n throw new TypeError('The constructor to \"inherits\" must not be ' +\n 'null or undefined');\n\n if (superCtor === undefined || superCtor === null)\n throw new TypeError('The super constructor to \"inherits\" must not ' +\n 'be null or undefined');\n\n if (superCtor.prototype === undefined)\n throw new TypeError('The super constructor to \"inherits\" must ' +\n 'have a prototype');\n\n ctor.super_ = superCtor;\n Object.setPrototypeOf(ctor.prototype, superCtor.prototype);\n};\n\nexports._extend = function(target, source) {\n // Don't do anything if source isn't an object\n if (source === null || typeof source !== 'object') return target;\n\n var keys = Object.keys(source);\n var i = keys.length;\n while (i--) {\n target[keys[i]] = source[keys[i]];\n }\n return target;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n\n// Deprecated old stuff.\n\nexports.print = internalUtil.deprecate(function() {\n for (var i = 0, len = arguments.length; i < len; ++i) {\n process.stdout.write(String(arguments[i]));\n }\n}, 'util.print is deprecated. Use console.log instead.', 'DEP0026');\n\n\nexports.puts = internalUtil.deprecate(function() {\n for (var i = 0, len = arguments.length; i < len; ++i) {\n process.stdout.write(arguments[i] + '\\n');\n }\n}, 'util.puts is deprecated. Use console.log instead.', 'DEP0027');\n\n\nexports.debug = internalUtil.deprecate(function(x) {\n process.stderr.write(`DEBUG: ${x}\\n`);\n}, 'util.debug is deprecated. Use console.error instead.', 'DEP0028');\n\n\nexports.error = internalUtil.deprecate(function(x) {\n for (var i = 0, len = arguments.length; i < len; ++i) {\n process.stderr.write(arguments[i] + '\\n');\n }\n}, 'util.error is deprecated. Use console.error instead.', 'DEP0029');\n\n\nexports._errnoException = function(err, syscall, original) {\n var errname = uv.errname(err);\n var message = `${syscall} ${errname}`;\n if (original)\n message += ' ' + original;\n var e = new Error(message);\n e.code = errname;\n e.errno = errname;\n e.syscall = syscall;\n return e;\n};\n\n\nexports._exceptionWithHostPort = function(err,\n syscall,\n address,\n port,\n additional) {\n var details;\n if (port && port > 0) {\n details = `${address}:${port}`;\n } else {\n details = address;\n }\n\n if (additional) {\n details += ` - Local (${additional})`;\n }\n var ex = exports._errnoException(err, syscall, details);\n ex.address = address;\n if (port) {\n ex.port = port;\n }\n return ex;\n};\n\n// process.versions needs a custom function as some values are lazy-evaluated.\nprocess.versions[exports.inspect.custom] =\n (depth) => exports.format(JSON.parse(JSON.stringify(process.versions)));\n\nexports.promisify = internalUtil.promisify;\n\n});", "pkgUrl": "(system)" }, { "id": "25", "url": "buffer.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst binding = process.binding('buffer');\nconst config = process.binding('config');\nconst { compare: compare_, compareOffset } = binding;\nconst { isAnyArrayBuffer, isUint8Array } = process.binding('util');\nconst bindingObj = {};\nconst internalUtil = require('internal/util');\nconst pendingDeprecation = !!config.pendingDeprecation;\n\nclass FastBuffer extends Uint8Array {\n constructor(arg1, arg2, arg3) {\n super(arg1, arg2, arg3);\n }\n}\nFastBuffer.prototype.constructor = Buffer;\n\nBuffer.prototype = FastBuffer.prototype;\n\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\nexports.kMaxLength = binding.kMaxLength;\n\nconst kFromErrorMsg = 'First argument must be a string, Buffer, ' +\n 'ArrayBuffer, Array, or array-like object.';\n\nBuffer.poolSize = 8 * 1024;\nvar poolSize, poolOffset, allocPool;\n\n\nbinding.setupBufferJS(Buffer.prototype, bindingObj);\n\n// |binding.zeroFill| can be undefined when running inside an isolate where we\n// do not own the ArrayBuffer allocator. Zero fill is always on in that case.\nconst zeroFill = bindingObj.zeroFill || [0];\n\nfunction createUnsafeBuffer(size) {\n return new FastBuffer(createUnsafeArrayBuffer(size));\n}\n\nfunction createUnsafeArrayBuffer(size) {\n zeroFill[0] = 0;\n try {\n return new ArrayBuffer(size);\n } finally {\n zeroFill[0] = 1;\n }\n}\n\nfunction createPool() {\n poolSize = Buffer.poolSize;\n allocPool = createUnsafeArrayBuffer(poolSize);\n poolOffset = 0;\n}\ncreatePool();\n\n\nfunction alignPool() {\n // Ensure aligned slices\n if (poolOffset & 0x7) {\n poolOffset |= 0x7;\n poolOffset++;\n }\n}\n\nvar bufferWarn = true;\nconst bufferWarning = 'The Buffer() and new Buffer() constructors are not ' +\n 'recommended for use due to security and usability ' +\n 'concerns. Please use the new Buffer.alloc(), ' +\n 'Buffer.allocUnsafe(), or Buffer.from() construction ' +\n 'methods instead.';\n\nfunction showFlaggedDeprecation() {\n if (bufferWarn) {\n // This is a *pending* deprecation warning. It is not emitted by\n // default unless the --pending-deprecation command-line flag is\n // used or the NODE_PENDING_DEPRECATION=1 envvar is set.\n process.emitWarning(bufferWarning, 'DeprecationWarning', 'DEP0005');\n bufferWarn = false;\n }\n}\n\nconst doFlaggedDeprecation =\n pendingDeprecation ?\n showFlaggedDeprecation :\n function() {};\n\n/**\n * The Buffer() construtor is deprecated in documentation and should not be\n * used moving forward. Rather, developers should use one of the three new\n * factory APIs: Buffer.from(), Buffer.allocUnsafe() or Buffer.alloc() based on\n * their specific needs. There is no runtime deprecation because of the extent\n * to which the Buffer constructor is used in the ecosystem currently -- a\n * runtime deprecation would introduce too much breakage at this time. It's not\n * likely that the Buffer constructors would ever actually be removed.\n * Deprecation Code: DEP0005\n **/\nfunction Buffer(arg, encodingOrOffset, length) {\n doFlaggedDeprecation();\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n );\n }\n return Buffer.alloc(arg);\n }\n return Buffer.from(arg, encodingOrOffset, length);\n}\n\nObject.defineProperty(Buffer, Symbol.species, {\n enumerable: false,\n configurable: true,\n get() { return FastBuffer; }\n});\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function(value, encodingOrOffset, length) {\n if (typeof value === 'string')\n return fromString(value, encodingOrOffset);\n\n if (isAnyArrayBuffer(value))\n return fromArrayBuffer(value, encodingOrOffset, length);\n\n var b = fromObject(value);\n if (b)\n return b;\n\n if (typeof value === 'number')\n throw new TypeError('\"value\" argument must not be a number');\n throw new TypeError(kFromErrorMsg);\n};\n\nObject.setPrototypeOf(Buffer, Uint8Array);\n\n// The 'assertSize' method will remove itself from the callstack when an error\n// occurs. This is done simply to keep the internal details of the\n// implementation from bleeding out to users.\nfunction assertSize(size) {\n let err = null;\n\n if (typeof size !== 'number')\n err = new TypeError('\"size\" argument must be a number');\n else if (size < 0)\n err = new RangeError('\"size\" argument must not be negative');\n else if (size > binding.kMaxLength)\n err = new RangeError('\"size\" argument must not be larger ' +\n 'than ' + binding.kMaxLength);\n\n if (err) {\n Error.captureStackTrace(err, assertSize);\n throw err;\n }\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function(size, fill, encoding) {\n assertSize(size);\n if (size > 0 && fill !== undefined) {\n // Since we are filling anyway, don't zero fill initially.\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n if (typeof encoding !== 'string')\n encoding = undefined;\n return createUnsafeBuffer(size).fill(fill, encoding);\n }\n return new FastBuffer(size);\n};\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer\n * instance. If `--zero-fill-buffers` is set, will zero-fill the buffer.\n **/\nBuffer.allocUnsafe = function(size) {\n assertSize(size);\n return allocate(size);\n};\n\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled\n * Buffer instance that is not allocated off the pre-initialized pool.\n * If `--zero-fill-buffers` is set, will zero-fill the buffer.\n **/\nBuffer.allocUnsafeSlow = function(size) {\n assertSize(size);\n return createUnsafeBuffer(size);\n};\n\n// If --zero-fill-buffers command line argument is set, a zero-filled\n// buffer is returned.\nfunction SlowBuffer(length) {\n // eslint-disable-next-line eqeqeq\n if (+length != length)\n length = 0;\n assertSize(+length);\n return createUnsafeBuffer(+length);\n}\n\nObject.setPrototypeOf(SlowBuffer.prototype, Uint8Array.prototype);\nObject.setPrototypeOf(SlowBuffer, Uint8Array);\n\n\nfunction allocate(size) {\n if (size <= 0) {\n return new FastBuffer();\n }\n if (size < (Buffer.poolSize >>> 1)) {\n if (size > (poolSize - poolOffset))\n createPool();\n var b = new FastBuffer(allocPool, poolOffset, size);\n poolOffset += size;\n alignPool();\n return b;\n } else {\n return createUnsafeBuffer(size);\n }\n}\n\n\nfunction fromString(string, encoding) {\n var length;\n if (typeof encoding !== 'string' || encoding.length === 0) {\n encoding = 'utf8';\n if (string.length === 0)\n return new FastBuffer();\n length = binding.byteLengthUtf8(string);\n } else {\n length = byteLength(string, encoding, true);\n if (length === -1)\n throw new TypeError('\"encoding\" must be a valid string encoding');\n if (string.length === 0)\n return new FastBuffer();\n }\n\n if (length >= (Buffer.poolSize >>> 1))\n return binding.createFromString(string, encoding);\n\n if (length > (poolSize - poolOffset))\n createPool();\n var b = new FastBuffer(allocPool, poolOffset, length);\n const actual = b.write(string, encoding);\n if (actual !== length) {\n // byteLength() may overestimate. That's a rare case, though.\n b = new FastBuffer(allocPool, poolOffset, actual);\n }\n poolOffset += actual;\n alignPool();\n return b;\n}\n\nfunction fromArrayLike(obj) {\n const length = obj.length;\n const b = allocate(length);\n for (var i = 0; i < length; i++)\n b[i] = obj[i];\n return b;\n}\n\nfunction fromArrayBuffer(obj, byteOffset, length) {\n // convert byteOffset to integer\n if (byteOffset === undefined) {\n byteOffset = 0;\n } else {\n byteOffset = +byteOffset;\n // check for NaN\n if (byteOffset !== byteOffset)\n byteOffset = 0;\n }\n\n const maxLength = obj.byteLength - byteOffset;\n\n if (maxLength < 0)\n throw new RangeError(\"'offset' is out of bounds\");\n\n if (length === undefined) {\n length = maxLength;\n } else {\n // convert length to non-negative integer\n length = +length;\n // Check for NaN\n if (length !== length) {\n length = 0;\n } else if (length > 0) {\n length = (length < Number.MAX_SAFE_INTEGER ?\n length : Number.MAX_SAFE_INTEGER);\n if (length > maxLength)\n throw new RangeError(\"'length' is out of bounds\");\n } else {\n length = 0;\n }\n }\n\n return new FastBuffer(obj, byteOffset, length);\n}\n\nfunction fromObject(obj) {\n if (isUint8Array(obj)) {\n const b = allocate(obj.length);\n\n if (b.length === 0)\n return b;\n\n binding.copy(obj, b, 0, 0, obj.length);\n return b;\n }\n\n if (obj != null) {\n if (obj.length !== undefined || isAnyArrayBuffer(obj.buffer)) {\n if (typeof obj.length !== 'number' || obj.length !== obj.length) {\n return new FastBuffer();\n }\n return fromArrayLike(obj);\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n}\n\n\n// Static methods\n\nBuffer.isBuffer = function isBuffer(b) {\n return b instanceof Buffer;\n};\n\n\nBuffer.compare = function compare(a, b) {\n if (!isUint8Array(a) || !isUint8Array(b)) {\n throw new TypeError('Arguments must be Buffers or Uint8Arrays');\n }\n\n if (a === b) {\n return 0;\n }\n\n return binding.compare(a, b);\n};\n\n\nBuffer.isEncoding = function(encoding) {\n return typeof encoding === 'string' &&\n typeof internalUtil.normalizeEncoding(encoding) === 'string';\n};\nBuffer[internalUtil.kIsEncodingSymbol] = Buffer.isEncoding;\n\nconst kConcatErrMsg = '\"list\" argument must be an Array ' +\n 'of Buffer or Uint8Array instances';\n\nBuffer.concat = function(list, length) {\n var i;\n if (!Array.isArray(list))\n throw new TypeError(kConcatErrMsg);\n\n if (list.length === 0)\n return new FastBuffer();\n\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; i++)\n length += list[i].length;\n } else {\n length = length >>> 0;\n }\n\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n for (i = 0; i < list.length; i++) {\n var buf = list[i];\n if (!isUint8Array(buf))\n throw new TypeError(kConcatErrMsg);\n binding.copy(buf, buffer, pos);\n pos += buf.length;\n }\n\n // Note: `length` is always equal to `buffer.length` at this point\n if (pos < length) {\n // Zero-fill the remaining bytes if the specified `length` was more than\n // the actual total length, i.e. if we have some remaining allocated bytes\n // there were not initialized.\n buffer.fill(0, pos, length);\n }\n\n return buffer;\n};\n\n\nfunction base64ByteLength(str, bytes) {\n // Handle padding\n if (str.charCodeAt(bytes - 1) === 0x3D)\n bytes--;\n if (bytes > 1 && str.charCodeAt(bytes - 1) === 0x3D)\n bytes--;\n\n // Base64 ratio: 3/4\n return (bytes * 3) >>> 2;\n}\n\n\nfunction byteLength(string, encoding) {\n if (typeof string !== 'string') {\n if (ArrayBuffer.isView(string) || isAnyArrayBuffer(string)) {\n return string.byteLength;\n }\n\n throw new TypeError('\"string\" must be a string, Buffer, or ArrayBuffer');\n }\n\n const len = string.length;\n const mustMatch = (arguments.length > 2 && arguments[2] === true);\n if (!mustMatch && len === 0)\n return 0;\n\n if (!encoding)\n return (mustMatch ? -1 : binding.byteLengthUtf8(string));\n\n encoding += '';\n switch (encoding.length) {\n case 4:\n if (encoding === 'utf8') return binding.byteLengthUtf8(string);\n if (encoding === 'ucs2') return len * 2;\n encoding = encoding.toLowerCase();\n if (encoding === 'utf8') return binding.byteLengthUtf8(string);\n if (encoding === 'ucs2') return len * 2;\n break;\n case 5:\n if (encoding === 'utf-8') return binding.byteLengthUtf8(string);\n if (encoding === 'ascii') return len;\n if (encoding === 'ucs-2') return len * 2;\n encoding = encoding.toLowerCase();\n if (encoding === 'utf-8') return binding.byteLengthUtf8(string);\n if (encoding === 'ascii') return len;\n if (encoding === 'ucs-2') return len * 2;\n break;\n case 7:\n if (encoding === 'utf16le' || encoding.toLowerCase() === 'utf16le')\n return len * 2;\n break;\n case 8:\n if (encoding === 'utf-16le' || encoding.toLowerCase() === 'utf-16le')\n return len * 2;\n break;\n case 6:\n if (encoding === 'latin1' || encoding === 'binary') return len;\n if (encoding === 'base64') return base64ByteLength(string, len);\n encoding = encoding.toLowerCase();\n if (encoding === 'latin1' || encoding === 'binary') return len;\n if (encoding === 'base64') return base64ByteLength(string, len);\n break;\n case 3:\n if (encoding === 'hex' || encoding.toLowerCase() === 'hex')\n return len >>> 1;\n break;\n }\n return (mustMatch ? -1 : binding.byteLengthUtf8(string));\n}\n\nBuffer.byteLength = byteLength;\n\n\n// For backwards compatibility.\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function() {\n if (!(this instanceof Buffer))\n return undefined;\n return this.buffer;\n }\n});\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function() {\n if (!(this instanceof Buffer))\n return undefined;\n return this.byteOffset;\n }\n});\n\n\nfunction stringSlice(buf, encoding, start, end) {\n if (encoding === undefined) return buf.utf8Slice(start, end);\n encoding += '';\n switch (encoding.length) {\n case 4:\n if (encoding === 'utf8') return buf.utf8Slice(start, end);\n if (encoding === 'ucs2') return buf.ucs2Slice(start, end);\n encoding = encoding.toLowerCase();\n if (encoding === 'utf8') return buf.utf8Slice(start, end);\n if (encoding === 'ucs2') return buf.ucs2Slice(start, end);\n break;\n case 5:\n if (encoding === 'utf-8') return buf.utf8Slice(start, end);\n if (encoding === 'ascii') return buf.asciiSlice(start, end);\n if (encoding === 'ucs-2') return buf.ucs2Slice(start, end);\n encoding = encoding.toLowerCase();\n if (encoding === 'utf-8') return buf.utf8Slice(start, end);\n if (encoding === 'ascii') return buf.asciiSlice(start, end);\n if (encoding === 'ucs-2') return buf.ucs2Slice(start, end);\n break;\n case 6:\n if (encoding === 'latin1' || encoding === 'binary')\n return buf.latin1Slice(start, end);\n if (encoding === 'base64') return buf.base64Slice(start, end);\n encoding = encoding.toLowerCase();\n if (encoding === 'latin1' || encoding === 'binary')\n return buf.latin1Slice(start, end);\n if (encoding === 'base64') return buf.base64Slice(start, end);\n break;\n case 3:\n if (encoding === 'hex' || encoding.toLowerCase() === 'hex')\n return buf.hexSlice(start, end);\n break;\n case 7:\n if (encoding === 'utf16le' || encoding.toLowerCase() === 'utf16le')\n return buf.ucs2Slice(start, end);\n break;\n case 8:\n if (encoding === 'utf-16le' || encoding.toLowerCase() === 'utf-16le')\n return buf.ucs2Slice(start, end);\n break;\n }\n throw new TypeError('Unknown encoding: ' + encoding);\n}\n\n\nBuffer.prototype.copy = function(target, targetStart, sourceStart, sourceEnd) {\n return binding.copy(this, target, targetStart, sourceStart, sourceEnd);\n};\n\n// No need to verify that \"buf.length <= MAX_UINT32\" since it's a read-only\n// property of a typed array.\n// This behaves neither like String nor Uint8Array in that we set start/end\n// to their upper/lower bounds if the value passed is out of range.\nBuffer.prototype.toString = function(encoding, start, end) {\n if (arguments.length === 0) {\n return this.utf8Slice(0, this.length);\n }\n\n const len = this.length;\n if (len === 0)\n return '';\n\n if (!start || start < 0)\n start = 0;\n else if (start >= len)\n return '';\n\n if (end === undefined || end > len)\n end = len;\n else if (end <= 0)\n return '';\n\n start |= 0;\n end |= 0;\n\n if (end <= start)\n return '';\n return stringSlice(this, encoding, start, end);\n};\n\n\nBuffer.prototype.equals = function equals(b) {\n if (!isUint8Array(b))\n throw new TypeError('Argument must be a Buffer or Uint8Array');\n\n if (this === b)\n return true;\n\n return binding.compare(this, b) === 0;\n};\n\n\n// Override how buffers are presented by util.inspect().\nBuffer.prototype[internalUtil.customInspectSymbol] = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n if (this.length > max)\n str += ' ... ';\n return `<${this.constructor.name} ${str}>`;\n};\nBuffer.prototype.inspect = Buffer.prototype[internalUtil.customInspectSymbol];\n\nBuffer.prototype.compare = function compare(target,\n start,\n end,\n thisStart,\n thisEnd) {\n if (!isUint8Array(target))\n throw new TypeError('Argument must be a Buffer or Uint8Array');\n if (arguments.length === 1)\n return compare_(this, target);\n\n if (start === undefined)\n start = 0;\n else if (start < 0)\n throw new RangeError('out of range index');\n else\n start >>>= 0;\n\n if (end === undefined)\n end = target.length;\n else if (end > target.length)\n throw new RangeError('out of range index');\n else\n end >>>= 0;\n\n if (thisStart === undefined)\n thisStart = 0;\n else if (thisStart < 0)\n throw new RangeError('out of range index');\n else\n thisStart >>>= 0;\n\n if (thisEnd === undefined)\n thisEnd = this.length;\n else if (thisEnd > this.length)\n throw new RangeError('out of range index');\n else\n thisEnd >>>= 0;\n\n if (thisStart >= thisEnd)\n return (start >= end ? 0 : -1);\n else if (start >= end)\n return 1;\n\n return compareOffset(this, target, start, thisStart, end, thisEnd);\n};\n\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = undefined;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n // Coerce to Number. Values like null and [] become 0.\n byteOffset = +byteOffset;\n // If the offset is undefined, \"foo\", {}, coerces to NaN, search whole buffer.\n // `x !== x`-style conditionals are a faster form of `isNaN(x)`\n if (byteOffset !== byteOffset) {\n byteOffset = dir ? 0 : buffer.length;\n }\n dir = !!dir; // Cast to bool.\n\n if (typeof val === 'string') {\n if (encoding === undefined) {\n return binding.indexOfString(buffer, val, byteOffset, encoding, dir);\n }\n return slowIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (isUint8Array(val)) {\n return binding.indexOfBuffer(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n return binding.indexOfNumber(buffer, val, byteOffset, dir);\n }\n\n throw new TypeError('\"val\" argument must be string, number, Buffer ' +\n 'or Uint8Array');\n}\n\n\nfunction slowIndexOf(buffer, val, byteOffset, encoding, dir) {\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'utf8':\n case 'utf-8':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n case 'latin1':\n case 'binary':\n return binding.indexOfString(buffer, val, byteOffset, encoding, dir);\n\n case 'base64':\n case 'ascii':\n case 'hex':\n return binding.indexOfBuffer(\n buffer, Buffer.from(val, encoding), byteOffset, encoding, dir);\n\n default:\n if (loweredCase) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\n\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n var normalizedEncoding = internalUtil.normalizeEncoding(encoding);\n if (normalizedEncoding === undefined) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n\n if (val.length === 0) {\n // Previously, if val === '', the Buffer would not fill,\n // which is rather surprising.\n val = 0;\n } else if (val.length === 1) {\n var code = val.charCodeAt(0);\n if ((normalizedEncoding === 'utf8' && code < 128) ||\n normalizedEncoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || end > this.length)\n throw new RangeError('Out of range index');\n\n if (end <= start)\n return this;\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n binding.fill(this, val, start, end, encoding);\n\n return this;\n};\n\n\nBuffer.prototype.write = function(string, offset, length, encoding) {\n // Buffer#write(string);\n if (offset === undefined) {\n return this.utf8Write(string, 0, this.length);\n\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n } else {\n encoding = length;\n length = undefined;\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining)\n length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0))\n throw new RangeError('Attempt to write outside buffer bounds');\n } else {\n // if someone is still calling the obsolete form of write(), tell them.\n // we don't want eg buf.write(\"foo\", \"utf8\", 10) to silently turn into\n // buf.write(\"foo\", \"utf8\"), so we can't ignore extra args\n throw new Error('Buffer.write(string, encoding, offset[, length]) ' +\n 'is no longer supported');\n }\n\n if (!encoding) return this.utf8Write(string, offset, length);\n\n encoding += '';\n switch (encoding.length) {\n case 4:\n if (encoding === 'utf8') return this.utf8Write(string, offset, length);\n if (encoding === 'ucs2') return this.ucs2Write(string, offset, length);\n encoding = encoding.toLowerCase();\n if (encoding === 'utf8') return this.utf8Write(string, offset, length);\n if (encoding === 'ucs2') return this.ucs2Write(string, offset, length);\n break;\n case 5:\n if (encoding === 'utf-8') return this.utf8Write(string, offset, length);\n if (encoding === 'ascii') return this.asciiWrite(string, offset, length);\n if (encoding === 'ucs-2') return this.ucs2Write(string, offset, length);\n encoding = encoding.toLowerCase();\n if (encoding === 'utf-8') return this.utf8Write(string, offset, length);\n if (encoding === 'ascii') return this.asciiWrite(string, offset, length);\n if (encoding === 'ucs-2') return this.ucs2Write(string, offset, length);\n break;\n case 7:\n if (encoding === 'utf16le' || encoding.toLowerCase() === 'utf16le')\n return this.ucs2Write(string, offset, length);\n break;\n case 8:\n if (encoding === 'utf-16le' || encoding.toLowerCase() === 'utf-16le')\n return this.ucs2Write(string, offset, length);\n break;\n case 6:\n if (encoding === 'latin1' || encoding === 'binary')\n return this.latin1Write(string, offset, length);\n if (encoding === 'base64')\n return this.base64Write(string, offset, length);\n encoding = encoding.toLowerCase();\n if (encoding === 'latin1' || encoding === 'binary')\n return this.latin1Write(string, offset, length);\n if (encoding === 'base64')\n return this.base64Write(string, offset, length);\n break;\n case 3:\n if (encoding === 'hex' || encoding.toLowerCase() === 'hex')\n return this.hexWrite(string, offset, length);\n break;\n }\n throw new TypeError('Unknown encoding: ' + encoding);\n};\n\n\nBuffer.prototype.toJSON = function() {\n if (this.length > 0) {\n const data = new Array(this.length);\n for (var i = 0; i < this.length; ++i)\n data[i] = this[i];\n return { type: 'Buffer', data };\n } else {\n return { type: 'Buffer', data: [] };\n }\n};\n\n\nfunction adjustOffset(offset, length) {\n // Use Math.trunc() to convert offset to an integer value that can be larger\n // than an Int32. Hence, don't use offset | 0 or similar techniques.\n offset = Math.trunc(offset);\n // `x !== x`-style conditionals are a faster form of `isNaN(x)`\n if (offset === 0 || offset !== offset) {\n return 0;\n } else if (offset < 0) {\n offset += length;\n return offset > 0 ? offset : 0;\n } else {\n return offset < length ? offset : length;\n }\n}\n\n\nBuffer.prototype.slice = function slice(start, end) {\n const srcLength = this.length;\n start = adjustOffset(start, srcLength);\n end = end !== undefined ? adjustOffset(end, srcLength) : srcLength;\n const newLength = end > start ? end - start : 0;\n return new FastBuffer(this.buffer, this.byteOffset + start, newLength);\n};\n\n\nfunction checkOffset(offset, ext, length) {\n if (offset + ext > length)\n throw new RangeError('Index out of range');\n}\n\n\nBuffer.prototype.readUIntLE = function(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength, this.length);\n\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100))\n val += this[offset + i] * mul;\n\n return val;\n};\n\n\nBuffer.prototype.readUIntBE = function(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength, this.length);\n\n var val = this[offset + --byteLength];\n var mul = 1;\n while (byteLength > 0 && (mul *= 0x100))\n val += this[offset + --byteLength] * mul;\n\n return val;\n};\n\n\nBuffer.prototype.readUInt8 = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n return this[offset];\n};\n\n\nBuffer.prototype.readUInt16LE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return this[offset] | (this[offset + 1] << 8);\n};\n\n\nBuffer.prototype.readUInt16BE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n return (this[offset] << 8) | this[offset + 1];\n};\n\n\nBuffer.prototype.readUInt32LE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000);\n};\n\n\nBuffer.prototype.readUInt32BE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3]);\n};\n\n\nBuffer.prototype.readIntLE = function(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength, this.length);\n\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100))\n val += this[offset + i] * mul;\n mul *= 0x80;\n\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength);\n\n return val;\n};\n\n\nBuffer.prototype.readIntBE = function(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert)\n checkOffset(offset, byteLength, this.length);\n\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n while (i > 0 && (mul *= 0x100))\n val += this[offset + --i] * mul;\n mul *= 0x80;\n\n if (val >= mul)\n val -= Math.pow(2, 8 * byteLength);\n\n return val;\n};\n\n\nBuffer.prototype.readInt8 = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 1, this.length);\n var val = this[offset];\n return !(val & 0x80) ? val : (0xff - val + 1) * -1;\n};\n\n\nBuffer.prototype.readInt16LE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n var val = this[offset] | (this[offset + 1] << 8);\n return (val & 0x8000) ? val | 0xFFFF0000 : val;\n};\n\n\nBuffer.prototype.readInt16BE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | (this[offset] << 8);\n return (val & 0x8000) ? val | 0xFFFF0000 : val;\n};\n\n\nBuffer.prototype.readInt32LE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24);\n};\n\n\nBuffer.prototype.readInt32BE = function(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3]);\n};\n\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return binding.readFloatLE(this, offset);\n};\n\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 4, this.length);\n return binding.readFloatBE(this, offset);\n};\n\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return binding.readDoubleLE(this, offset);\n};\n\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert)\n checkOffset(offset, 8, this.length);\n return binding.readDoubleBE(this, offset);\n};\n\n\nfunction checkInt(buffer, value, offset, ext, max, min) {\n if (value > max || value < min)\n throw new TypeError('\"value\" argument is out of bounds');\n if (offset + ext > buffer.length)\n throw new RangeError('Index out of range');\n}\n\n\nBuffer.prototype.writeUIntLE = function(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var mul = 1;\n var i = 0;\n this[offset] = value;\n while (++i < byteLength && (mul *= 0x100))\n this[offset + i] = (value / mul) >>> 0;\n\n return offset + byteLength;\n};\n\n\nBuffer.prototype.writeUIntBE = function(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value;\n while (--i >= 0 && (mul *= 0x100))\n this[offset + i] = (value / mul) >>> 0;\n\n return offset + byteLength;\n};\n\n\nBuffer.prototype.writeUInt8 = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value;\n return offset + 1;\n};\n\n\nBuffer.prototype.writeUInt16LE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value;\n this[offset + 1] = (value >>> 8);\n return offset + 2;\n};\n\n\nBuffer.prototype.writeUInt16BE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = (value >>> 8);\n this[offset + 1] = value;\n return offset + 2;\n};\n\n\nBuffer.prototype.writeUInt32LE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = (value >>> 24);\n this[offset + 2] = (value >>> 16);\n this[offset + 1] = (value >>> 8);\n this[offset] = value;\n return offset + 4;\n};\n\n\nBuffer.prototype.writeUInt32BE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = (value >>> 24);\n this[offset + 1] = (value >>> 16);\n this[offset + 2] = (value >>> 8);\n this[offset + 3] = value;\n return offset + 4;\n};\n\n\nBuffer.prototype.writeIntLE = function(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkInt(this,\n value,\n offset,\n byteLength,\n Math.pow(2, 8 * byteLength - 1) - 1,\n -Math.pow(2, 8 * byteLength - 1));\n }\n\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0)\n sub = 1;\n this[offset + i] = ((value / mul) >> 0) - sub;\n }\n\n return offset + byteLength;\n};\n\n\nBuffer.prototype.writeIntBE = function(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n checkInt(this,\n value,\n offset,\n byteLength,\n Math.pow(2, 8 * byteLength - 1) - 1,\n -Math.pow(2, 8 * byteLength - 1));\n }\n\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0)\n sub = 1;\n this[offset + i] = ((value / mul) >> 0) - sub;\n }\n\n return offset + byteLength;\n};\n\n\nBuffer.prototype.writeInt8 = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 1, 0x7f, -0x80);\n this[offset] = value;\n return offset + 1;\n};\n\n\nBuffer.prototype.writeInt16LE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value;\n this[offset + 1] = (value >>> 8);\n return offset + 2;\n};\n\n\nBuffer.prototype.writeInt16BE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = (value >>> 8);\n this[offset + 1] = value;\n return offset + 2;\n};\n\n\nBuffer.prototype.writeInt32LE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n this[offset] = value;\n this[offset + 1] = (value >>> 8);\n this[offset + 2] = (value >>> 16);\n this[offset + 3] = (value >>> 24);\n return offset + 4;\n};\n\n\nBuffer.prototype.writeInt32BE = function(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert)\n checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n this[offset] = (value >>> 24);\n this[offset + 1] = (value >>> 16);\n this[offset + 2] = (value >>> 8);\n this[offset + 3] = value;\n return offset + 4;\n};\n\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(val, offset, noAssert) {\n val = +val;\n offset = offset >>> 0;\n if (!noAssert)\n binding.writeFloatLE(this, val, offset);\n else\n binding.writeFloatLE(this, val, offset, true);\n return offset + 4;\n};\n\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(val, offset, noAssert) {\n val = +val;\n offset = offset >>> 0;\n if (!noAssert)\n binding.writeFloatBE(this, val, offset);\n else\n binding.writeFloatBE(this, val, offset, true);\n return offset + 4;\n};\n\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(val, offset, noAssert) {\n val = +val;\n offset = offset >>> 0;\n if (!noAssert)\n binding.writeDoubleLE(this, val, offset);\n else\n binding.writeDoubleLE(this, val, offset, true);\n return offset + 8;\n};\n\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(val, offset, noAssert) {\n val = +val;\n offset = offset >>> 0;\n if (!noAssert)\n binding.writeDoubleBE(this, val, offset);\n else\n binding.writeDoubleBE(this, val, offset, true);\n return offset + 8;\n};\n\nconst swap16n = binding.swap16;\nconst swap32n = binding.swap32;\nconst swap64n = binding.swap64;\n\nfunction swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\n\nBuffer.prototype.swap16 = function swap16() {\n // For Buffer.length < 128, it's generally faster to\n // do the swap in javascript. For larger buffers,\n // dropping down to the native code is faster.\n const len = this.length;\n if (len % 2 !== 0)\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n if (len < 128) {\n for (var i = 0; i < len; i += 2)\n swap(this, i, i + 1);\n return this;\n }\n return swap16n(this);\n};\n\n\nBuffer.prototype.swap32 = function swap32() {\n // For Buffer.length < 192, it's generally faster to\n // do the swap in javascript. For larger buffers,\n // dropping down to the native code is faster.\n const len = this.length;\n if (len % 4 !== 0)\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n if (len < 192) {\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n }\n return swap32n(this);\n};\n\n\nBuffer.prototype.swap64 = function swap64() {\n // For Buffer.length < 192, it's generally faster to\n // do the swap in javascript. For larger buffers,\n // dropping down to the native code is faster.\n const len = this.length;\n if (len % 8 !== 0)\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n if (len < 192) {\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n }\n return swap64n(this);\n};\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n// Put this at the end because internal/buffer has a circular\n// dependency on Buffer.\nconst internalBuffer = require('internal/buffer');\nexports.transcode = internalBuffer.transcode;\ninternalBuffer.FastBuffer = FastBuffer;\n\n});", "pkgUrl": "(system)" }, { "id": "26", "url": "internal/util.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nconst errors = require('internal/errors');\nconst binding = process.binding('util');\nconst signals = process.binding('constants').os.signals;\n\nconst { createPromise, promiseResolve, promiseReject } = binding;\n\nconst kArrowMessagePrivateSymbolIndex = binding['arrow_message_private_symbol'];\nconst kDecoratedPrivateSymbolIndex = binding['decorated_private_symbol'];\nconst noCrypto = !process.versions.openssl;\n\nfunction isError(e) {\n return objectToString(e) === '[object Error]' || e instanceof Error;\n}\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nfunction deprecate(fn, msg, code) {\n // Allow for deprecating things in the process of starting up.\n if (global.process === undefined) {\n return function(...args) {\n return deprecate(fn, msg).apply(this, args);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n if (code !== undefined && typeof code !== 'string')\n throw new TypeError('`code` argument must be a string');\n\n var warned = false;\n function deprecated(...args) {\n if (!warned) {\n warned = true;\n if (code !== undefined) {\n process.emitWarning(msg, 'DeprecationWarning', code, deprecated);\n } else {\n process.emitWarning(msg, 'DeprecationWarning', deprecated);\n }\n }\n if (new.target) {\n return Reflect.construct(fn, args, new.target);\n }\n return fn.apply(this, args);\n }\n\n // The wrapper will keep the same prototype as fn to maintain prototype chain\n Object.setPrototypeOf(deprecated, fn);\n if (fn.prototype) {\n // Setting this (rather than using Object.setPrototype, as above) ensures\n // that calling the unwrapped constructor gives an instanceof the wrapped\n // constructor.\n deprecated.prototype = fn.prototype;\n }\n\n return deprecated;\n}\n\nfunction decorateErrorStack(err) {\n if (!(isError(err) && err.stack) ||\n binding.getHiddenValue(err, kDecoratedPrivateSymbolIndex) === true)\n return;\n\n const arrow = binding.getHiddenValue(err, kArrowMessagePrivateSymbolIndex);\n\n if (arrow) {\n err.stack = arrow + err.stack;\n binding.setHiddenValue(err, kDecoratedPrivateSymbolIndex, true);\n }\n}\n\nfunction assertCrypto() {\n if (noCrypto)\n throw new Error('Node.js is not compiled with openssl crypto support');\n}\n\n// The loop should only run at most twice, retrying with lowercased enc\n// if there is no match in the first pass.\n// We use a loop instead of branching to retry with a helper\n// function in order to avoid the performance hit.\n// Return undefined if there is no match.\nfunction normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n}\n\nfunction filterDuplicateStrings(items, low) {\n const map = new Map();\n for (var i = 0; i < items.length; i++) {\n const item = items[i];\n const key = item.toLowerCase();\n if (low) {\n map.set(key, key);\n } else {\n map.set(key, item);\n }\n }\n return Array.from(map.values()).sort();\n}\n\nfunction cachedResult(fn) {\n var result;\n return () => {\n if (result === undefined)\n result = fn();\n return result.slice();\n };\n}\n\n// Useful for Wrapping an ES6 Class with a constructor Function that\n// does not require the new keyword. For instance:\n// class A { constructor(x) {this.x = x;}}\n// const B = createClassWrapper(A);\n// B() instanceof A // true\n// B() instanceof B // true\nfunction createClassWrapper(type) {\n function fn(...args) {\n return Reflect.construct(type, args, new.target || type);\n }\n // Mask the wrapper function name and length values\n Object.defineProperties(fn, {\n name: {value: type.name},\n length: {value: type.length}\n });\n Object.setPrototypeOf(fn, type);\n fn.prototype = type.prototype;\n return fn;\n}\n\nlet signalsToNamesMapping;\nfunction getSignalsToNamesMapping() {\n if (signalsToNamesMapping !== undefined)\n return signalsToNamesMapping;\n\n signalsToNamesMapping = Object.create(null);\n for (var key in signals) {\n signalsToNamesMapping[signals[key]] = key;\n }\n\n return signalsToNamesMapping;\n}\n\nfunction convertToValidSignal(signal) {\n if (typeof signal === 'number' && getSignalsToNamesMapping()[signal])\n return signal;\n\n if (typeof signal === 'string') {\n const signalName = signals[signal.toUpperCase()];\n if (signalName) return signalName;\n }\n\n throw new errors.Error('ERR_UNKNOWN_SIGNAL', signal);\n}\n\nfunction getConstructorOf(obj) {\n while (obj) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, 'constructor');\n if (descriptor !== undefined &&\n typeof descriptor.value === 'function' &&\n descriptor.value.name !== '') {\n return descriptor.value;\n }\n\n obj = Object.getPrototypeOf(obj);\n }\n\n return null;\n}\n\nconst kCustomPromisifiedSymbol = Symbol('util.promisify.custom');\nconst kCustomPromisifyArgsSymbol = Symbol('customPromisifyArgs');\n\nfunction promisify(orig) {\n if (typeof orig !== 'function') {\n const errors = require('internal/errors');\n throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'original', 'function');\n }\n\n if (orig[kCustomPromisifiedSymbol]) {\n const fn = orig[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The [util.promisify.custom] property must be ' +\n 'a function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n // Names to create an object from in case the callback receives multiple\n // arguments, e.g. ['stdout', 'stderr'] for child_process.exec.\n const argumentNames = orig[kCustomPromisifyArgsSymbol];\n\n function fn(...args) {\n const promise = createPromise();\n try {\n orig.call(this, ...args, (err, ...values) => {\n if (err) {\n promiseReject(promise, err);\n } else if (argumentNames !== undefined && values.length > 1) {\n const obj = {};\n for (var i = 0; i < argumentNames.length; i++)\n obj[argumentNames[i]] = values[i];\n promiseResolve(promise, obj);\n } else {\n promiseResolve(promise, values[0]);\n }\n });\n } catch (err) {\n promiseReject(promise, err);\n }\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(orig));\n\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(fn, Object.getOwnPropertyDescriptors(orig));\n}\n\npromisify.custom = kCustomPromisifiedSymbol;\n\nmodule.exports = {\n assertCrypto,\n cachedResult,\n convertToValidSignal,\n createClassWrapper,\n decorateErrorStack,\n deprecate,\n filterDuplicateStrings,\n getConstructorOf,\n isError,\n normalizeEncoding,\n objectToString,\n promisify,\n\n // Symbol used to customize promisify conversion\n customPromisifyArgs: kCustomPromisifyArgsSymbol,\n\n // Symbol used to provide a custom inspect function for an object as an\n // alternative to using 'inspect'\n customInspectSymbol: Symbol('util.inspect.custom'),\n\n // Used by the buffer module to capture an internal reference to the\n // default isEncoding implementation, just in case userland overrides it.\n kIsEncodingSymbol: Symbol('node.isEncoding')\n};\n\n});", "pkgUrl": "(system)" }, { "id": "27", "url": "internal/errors.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\n// The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nconst kCode = Symbol('code');\nconst messages = new Map();\n\nvar util;\nfunction lazyUtil() {\n if (!util)\n util = require('util');\n return util;\n}\n\nvar assert;\nfunction lazyAssert() {\n if (!assert)\n assert = require('assert');\n return assert;\n}\n\nfunction makeNodeError(Base) {\n return class NodeError extends Base {\n constructor(key, ...args) {\n super(message(key, args));\n this[kCode] = key;\n Error.captureStackTrace(this, NodeError);\n }\n\n get name() {\n return `${super.name} [${this[kCode]}]`;\n }\n\n get code() {\n return this[kCode];\n }\n };\n}\n\nclass AssertionError extends Error {\n constructor(options) {\n if (typeof options !== 'object' || options === null) {\n throw new exports.TypeError('ERR_INVALID_ARG_TYPE', 'options', 'object');\n }\n const util = lazyUtil();\n const assert = lazyAssert();\n const message = options.message ||\n `${util.inspect(options.actual).slice(0, 128)} ` +\n `${options.operator} ` +\n util.inspect(options.expected).slice(0, 128);\n\n super(message);\n this.generatedMessage = !options.message;\n this.name = 'AssertionError [ERR_ASSERTION]';\n this.code = 'ERR_ASSERTION';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n const stackStartFunction = options.stackStartFunction || assert.fail;\n Error.captureStackTrace(this, stackStartFunction);\n }\n}\n\nfunction message(key, args) {\n const assert = lazyAssert();\n assert.strictEqual(typeof key, 'string');\n const util = lazyUtil();\n const msg = messages.get(key);\n assert(msg, `An invalid error message key was used: ${key}.`);\n let fmt = util.format;\n if (typeof msg === 'function') {\n fmt = msg;\n } else {\n if (args === undefined || args.length === 0)\n return msg;\n args.unshift(msg);\n }\n return String(fmt.apply(null, args));\n}\n\n// Utility function for registering the error codes. Only used here. Exported\n// *only* to allow for testing.\nfunction E(sym, val) {\n messages.set(sym, typeof val === 'function' ? val : String(val));\n}\n\nmodule.exports = exports = {\n message,\n Error: makeNodeError(Error),\n TypeError: makeNodeError(TypeError),\n RangeError: makeNodeError(RangeError),\n AssertionError,\n E // This is exported only to facilitate testing.\n};\n\n// To declare an error message, use the E(sym, val) function above. The sym\n// must be an upper case string. The val can be either a function or a string.\n// The return value of the function must be a string.\n// Examples:\n// E('EXAMPLE_KEY1', 'This is the error value');\n// E('EXAMPLE_KEY2', (a, b) => return `${a} ${b}`);\n//\n// Once an error code has been assigned, the code itself MUST NOT change and\n// any given error code must never be reused to identify a different error.\n//\n// Any error code added here should also be added to the documentation\n//\n// Note: Please try to keep these in alphabetical order\nE('ERR_ARG_NOT_ITERABLE', '%s must be iterable');\nE('ERR_ASSERTION', (msg) => msg);\nE('ERR_INVALID_ARG_TYPE', invalidArgType);\nE('ERR_INVALID_CALLBACK', 'callback must be a function');\nE('ERR_INVALID_FD', (fd) => `\"fd\" must be a positive integer: ${fd}`);\nE('ERR_INVALID_FILE_URL_HOST', 'File URL host %s');\nE('ERR_INVALID_FILE_URL_PATH', 'File URL path %s');\nE('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent');\nE('ERR_INVALID_OPT_VALUE',\n (name, value) => {\n return `The value \"${String(value)}\" is invalid for option \"${name}\"`;\n });\nE('ERR_INVALID_SYNC_FORK_INPUT',\n (value) => {\n return 'Asynchronous forks do not support Buffer, Uint8Array or string' +\n `input: ${value}`;\n });\nE('ERR_INVALID_THIS', 'Value of \"this\" must be of type %s');\nE('ERR_INVALID_TUPLE', '%s must be an iterable %s tuple');\nE('ERR_INVALID_URL', 'Invalid URL: %s');\nE('ERR_INVALID_URL_SCHEME',\n (expected) => `The URL must be ${oneOf(expected, 'scheme')}`);\nE('ERR_IPC_CHANNEL_CLOSED', 'channel closed');\nE('ERR_IPC_DISCONNECTED', 'IPC channel is already disconnected');\nE('ERR_IPC_ONE_PIPE', 'Child process can have only one IPC pipe');\nE('ERR_IPC_SYNC_FORK', 'IPC cannot be used with synchronous forks');\nE('ERR_MISSING_ARGS', missingArgs);\nE('ERR_STDERR_CLOSE', 'process.stderr cannot be closed');\nE('ERR_STDOUT_CLOSE', 'process.stdout cannot be closed');\nE('ERR_UNKNOWN_BUILTIN_MODULE', (id) => `No such built-in module: ${id}`);\nE('ERR_UNKNOWN_SIGNAL', (signal) => `Unknown signal: ${signal}`);\nE('ERR_UNKNOWN_STDIN_TYPE', 'Unknown stdin file type');\nE('ERR_UNKNOWN_STREAM_TYPE', 'Unknown stream file type');\nE('ERR_SOCKET_ALREADY_BOUND', 'Socket is already bound');\nE('ERR_SOCKET_BAD_TYPE',\n 'Bad socket type specified. Valid types are: udp4, udp6');\nE('ERR_SOCKET_CANNOT_SEND', 'Unable to send data');\nE('ERR_SOCKET_BAD_PORT', 'Port should be > 0 and < 65536');\nE('ERR_SOCKET_DGRAM_NOT_RUNNING', 'Not running');\n// Add new errors from here...\n\nfunction invalidArgType(name, expected, actual) {\n const assert = lazyAssert();\n assert(name, 'name is required');\n var msg = `The \"${name}\" argument must be ${oneOf(expected, 'type')}`;\n if (arguments.length >= 3) {\n msg += `. Received type ${actual !== null ? typeof actual : 'null'}`;\n }\n return msg;\n}\n\nfunction missingArgs(...args) {\n assert(args.length > 0, 'At least one arg needs to be specified');\n let msg = 'The ';\n const len = args.length;\n args = args.map((a) => `\"${a}\"`);\n switch (len) {\n case 1:\n msg += `${args[0]} argument`;\n break;\n case 2:\n msg += `${args[0]} and ${args[1]} arguments`;\n break;\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += `, and ${args[len - 1]} arguments`;\n break;\n }\n return `${msg} must be specified`;\n}\n\nfunction oneOf(expected, thing) {\n assert(expected, 'expected is required');\n assert(typeof thing === 'string', 'thing is required');\n if (Array.isArray(expected)) {\n const len = expected.length;\n assert(len > 0, 'At least one expected value needs to be specified');\n expected = expected.map((i) => String(i));\n if (len > 2) {\n return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +\n expected[len - 1];\n } else if (len === 2) {\n return `one of ${thing} ${expected[0]} or ${expected[1]}`;\n } else {\n return `of ${thing} ${expected[0]}`;\n }\n } else {\n return `of ${thing} ${String(expected)}`;\n }\n}\n\n});", "pkgUrl": "(system)" }, { "id": "10", "url": "native collection.js", "pkgUrl": "(system)" }, { "id": "29", "url": "timers.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst async_wrap = process.binding('async_wrap');\nconst TimerWrap = process.binding('timer_wrap').Timer;\nconst L = require('internal/linkedlist');\nconst internalUtil = require('internal/util');\nconst { createPromise, promiseResolve } = process.binding('util');\nconst async_hooks = require('async_hooks');\nconst assert = require('assert');\nconst util = require('util');\nconst debug = util.debuglog('timer');\nconst kOnTimeout = TimerWrap.kOnTimeout | 0;\nconst initTriggerId = async_hooks.initTriggerId;\n// Two arrays that share state between C++ and JS.\nconst { async_hook_fields, async_uid_fields } = async_wrap;\n// Used to change the state of the async id stack.\nconst { pushAsyncIds, popAsyncIds } = async_wrap;\n// The needed emit*() functions.\nconst { emitInit, emitBefore, emitAfter, emitDestroy } = async_hooks;\n// Grab the constants necessary for working with internal arrays.\nconst { kInit, kBefore, kAfter, kDestroy, kAsyncUidCntr } =\n async_wrap.constants;\n// Symbols for storing async id state.\nconst async_id_symbol = Symbol('asyncId');\nconst trigger_id_symbol = Symbol('triggerId');\n\n// Timeout values > TIMEOUT_MAX are set to 1.\nconst TIMEOUT_MAX = 2147483647; // 2^31-1\n\n\n// HOW and WHY the timers implementation works the way it does.\n//\n// Timers are crucial to Node.js. Internally, any TCP I/O connection creates a\n// timer so that we can time out of connections. Additionally, many user\n// libraries and applications also use timers. As such there may be a\n// significantly large amount of timeouts scheduled at any given time.\n// Therefore, it is very important that the timers implementation is performant\n// and efficient.\n//\n// Note: It is suggested you first read though the lib/internal/linkedlist.js\n// linked list implementation, since timers depend on it extensively. It can be\n// somewhat counter-intuitive at first, as it is not actually a class. Instead,\n// it is a set of helpers that operate on an existing object.\n//\n// In order to be as performant as possible, the architecture and data\n// structures are designed so that they are optimized to handle the following\n// use cases as efficiently as possible:\n\n// - Adding a new timer. (insert)\n// - Removing an existing timer. (remove)\n// - Handling a timer timing out. (timeout)\n//\n// Whenever possible, the implementation tries to make the complexity of these\n// operations as close to constant-time as possible.\n// (So that performance is not impacted by the number of scheduled timers.)\n//\n// Object maps are kept which contain linked lists keyed by their duration in\n// milliseconds.\n// The linked lists within also have some meta-properties, one of which is a\n// TimerWrap C++ handle, which makes the call after the duration to process the\n// list it is attached to.\n//\n//\n// ╔════ > Object Map\n// ║\n// ╠══\n// ║ refedLists: { '40': { }, '320': { etc } } (keys of millisecond duration)\n// ╚══ ┌─────────┘\n// │\n// ╔══ │\n// ║ TimersList { _idleNext: { }, _idlePrev: (self), _timer: (TimerWrap) }\n// ║ ┌────────────────┘\n// ║ ╔══ │ ^\n// ║ ║ { _idleNext: { }, _idlePrev: { }, _onTimeout: (callback) }\n// ║ ║ ┌───────────┘\n// ║ ║ │ ^\n// ║ ║ { _idleNext: { etc }, _idlePrev: { }, _onTimeout: (callback) }\n// ╠══ ╠══\n// ║ ║\n// ║ ╚════ > Actual JavaScript timeouts\n// ║\n// ╚════ > Linked List\n//\n//\n// With this, virtually constant-time insertion (append), removal, and timeout\n// is possible in the JavaScript layer. Any one list of timers is able to be\n// sorted by just appending to it because all timers within share the same\n// duration. Therefore, any timer added later will always have been scheduled to\n// timeout later, thus only needing to be appended.\n// Removal from an object-property linked list is also virtually constant-time\n// as can be seen in the lib/internal/linkedlist.js implementation.\n// Timeouts only need to process any timers due to currently timeout, which will\n// always be at the beginning of the list for reasons stated above. Any timers\n// after the first one encountered that does not yet need to timeout will also\n// always be due to timeout at a later time.\n//\n// Less-than constant time operations are thus contained in two places:\n// TimerWrap's backing libuv timers implementation (a performant heap-based\n// queue), and the object map lookup of a specific list by the duration of\n// timers within (or creation of a new list).\n// However, these operations combined have shown to be trivial in comparison to\n// other alternative timers architectures.\n\n\n// Object maps containing linked lists of timers, keyed and sorted by their\n// duration in milliseconds.\n//\n// The difference between these two objects is that the former contains timers\n// that will keep the process open if they are the only thing left, while the\n// latter will not.\n//\n// - key = time in milliseconds\n// - value = linked list\nconst refedLists = Object.create(null);\nconst unrefedLists = Object.create(null);\n\n\n// Schedule or re-schedule a timer.\n// The item must have been enroll()'d first.\nconst active = exports.active = function(item) {\n insert(item, false);\n};\n\n// Internal APIs that need timeouts should use `_unrefActive()` instead of\n// `active()` so that they do not unnecessarily keep the process open.\nexports._unrefActive = function(item) {\n insert(item, true);\n};\n\n\nfunction timerEmitBefore(asyncId, triggerId) {\n if (async_hook_fields[kBefore] > 0)\n emitBefore(asyncId, triggerId);\n else\n pushAsyncIds(asyncId, triggerId);\n}\n\n\nfunction timerEmitAfter(asyncId) {\n if (async_hook_fields[kAfter] > 0)\n emitAfter(asyncId);\n else\n popAsyncIds(asyncId);\n}\n\n\n// The underlying logic for scheduling or re-scheduling a timer.\n//\n// Appends a timer onto the end of an existing timers list, or creates a new\n// TimerWrap backed list if one does not already exist for the specified timeout\n// duration.\nfunction insert(item, unrefed) {\n const msecs = item._idleTimeout;\n if (msecs < 0 || msecs === undefined) return;\n\n item._idleStart = TimerWrap.now();\n\n const lists = unrefed === true ? unrefedLists : refedLists;\n\n // Use an existing list if there is one, otherwise we need to make a new one.\n var list = lists[msecs];\n if (!list) {\n debug('no %d list was found in insert, creating a new one', msecs);\n lists[msecs] = list = createTimersList(msecs, unrefed);\n }\n\n if (!item[async_id_symbol] || item._destroyed) {\n item._destroyed = false;\n item[async_id_symbol] = ++async_uid_fields[kAsyncUidCntr];\n item[trigger_id_symbol] = initTriggerId();\n if (async_hook_fields[kInit] > 0)\n emitInit(item[async_id_symbol], 'Timeout', item[trigger_id_symbol], item);\n }\n\n L.append(list, item);\n assert(!L.isEmpty(list)); // list is not empty\n}\n\nfunction createTimersList(msecs, unrefed) {\n // Make a new linked list of timers, and create a TimerWrap to schedule\n // processing for the list.\n const list = new TimersList(msecs, unrefed);\n L.init(list);\n list._timer._list = list;\n\n if (unrefed === true) list._timer.unref();\n list._timer.start(msecs);\n\n list._timer[kOnTimeout] = listOnTimeout;\n\n return list;\n}\n\nfunction TimersList(msecs, unrefed) {\n this._idleNext = null; // Create the list with the linkedlist properties to\n this._idlePrev = null; // prevent any unnecessary hidden class changes.\n this._timer = new TimerWrap();\n this._unrefed = unrefed;\n this.msecs = msecs;\n this.nextTick = false;\n}\n\nfunction listOnTimeout() {\n var list = this._list;\n var msecs = list.msecs;\n\n if (list.nextTick) {\n list.nextTick = false;\n process.nextTick(listOnTimeoutNT, list);\n return;\n }\n\n debug('timeout callback %d', msecs);\n\n var now = TimerWrap.now();\n debug('now: %d', now);\n\n var diff, timer;\n while (timer = L.peek(list)) {\n diff = now - timer._idleStart;\n\n // Check if this loop iteration is too early for the next timer.\n // This happens if there are more timers scheduled for later in the list.\n if (diff < msecs) {\n var timeRemaining = msecs - (TimerWrap.now() - timer._idleStart);\n if (timeRemaining < 0) {\n timeRemaining = 0;\n }\n this.start(timeRemaining);\n debug('%d list wait because diff is %d', msecs, diff);\n return;\n }\n\n // The actual logic for when a timeout happens.\n\n L.remove(timer);\n assert(timer !== L.peek(list));\n\n if (!timer._onTimeout) {\n if (async_hook_fields[kDestroy] > 0 && !timer._destroyed &&\n typeof timer[async_id_symbol] === 'number') {\n emitDestroy(timer[async_id_symbol]);\n timer._destroyed = true;\n }\n continue;\n }\n\n var domain = timer.domain;\n if (domain) {\n\n // If the timer callback throws and the\n // domain or uncaughtException handler ignore the exception,\n // other timers that expire on this tick should still run.\n //\n // https://github.com/nodejs/node-v0.x-archive/issues/2631\n if (domain._disposed)\n continue;\n\n domain.enter();\n }\n\n tryOnTimeout(timer, list);\n\n if (domain)\n domain.exit();\n }\n\n // If `L.peek(list)` returned nothing, the list was either empty or we have\n // called all of the timer timeouts.\n // As such, we can remove the list and clean up the TimerWrap C++ handle.\n debug('%d list empty', msecs);\n assert(L.isEmpty(list));\n\n // Either refedLists[msecs] or unrefedLists[msecs] may have been removed and\n // recreated since the reference to `list` was created. Make sure they're\n // the same instance of the list before destroying.\n if (list._unrefed === true && list === unrefedLists[msecs]) {\n delete unrefedLists[msecs];\n } else if (list === refedLists[msecs]) {\n delete refedLists[msecs];\n }\n\n // Do not close the underlying handle if its ownership has changed\n // (e.g it was unrefed in its callback).\n if (this.owner)\n return;\n\n this.close();\n}\n\n\n// An optimization so that the try/finally only de-optimizes (since at least v8\n// 4.7) what is in this smaller function.\nfunction tryOnTimeout(timer, list) {\n timer._called = true;\n const timerAsyncId = (typeof timer[async_id_symbol] === 'number') ?\n timer[async_id_symbol] : null;\n var threw = true;\n if (timerAsyncId !== null)\n timerEmitBefore(timerAsyncId, timer[trigger_id_symbol]);\n try {\n ontimeout(timer);\n threw = false;\n } finally {\n if (timerAsyncId !== null) {\n if (!threw)\n timerEmitAfter(timerAsyncId);\n if (!timer._repeat && async_hook_fields[kDestroy] > 0 &&\n !timer._destroyed) {\n emitDestroy(timerAsyncId);\n timer._destroyed = true;\n }\n }\n\n if (!threw) return;\n\n // Postpone all later list events to next tick. We need to do this\n // so that the events are called in the order they were created.\n const lists = list._unrefed === true ? unrefedLists : refedLists;\n for (var key in lists) {\n if (key > list.msecs) {\n lists[key].nextTick = true;\n }\n }\n // We need to continue processing after domain error handling\n // is complete, but not by using whatever domain was left over\n // when the timeout threw its exception.\n const domain = process.domain;\n process.domain = null;\n // If we threw, we need to process the rest of the list in nextTick.\n process.nextTick(listOnTimeoutNT, list);\n process.domain = domain;\n }\n}\n\n\nfunction listOnTimeoutNT(list) {\n list._timer[kOnTimeout]();\n}\n\n\n// A convenience function for re-using TimerWrap handles more easily.\n//\n// This mostly exists to fix https://github.com/nodejs/node/issues/1264.\n// Handles in libuv take at least one `uv_run` to be registered as unreferenced.\n// Re-using an existing handle allows us to skip that, so that a second `uv_run`\n// will return no active handles, even when running `setTimeout(fn).unref()`.\nfunction reuse(item) {\n L.remove(item);\n\n var list = refedLists[item._idleTimeout];\n // if empty - reuse the watcher\n if (list && L.isEmpty(list)) {\n debug('reuse hit');\n list._timer.stop();\n delete refedLists[item._idleTimeout];\n return list._timer;\n }\n\n return null;\n}\n\n\n// Remove a timer. Cancels the timeout and resets the relevant timer properties.\nconst unenroll = exports.unenroll = function(item) {\n // Fewer checks may be possible, but these cover everything.\n if (async_hook_fields[kDestroy] > 0 &&\n item &&\n typeof item[async_id_symbol] === 'number' &&\n !item._destroyed) {\n emitDestroy(item[async_id_symbol]);\n item._destroyed = true;\n }\n\n var handle = reuse(item);\n if (handle) {\n debug('unenroll: list empty');\n handle.close();\n }\n // if active is called later, then we want to make sure not to insert again\n item._idleTimeout = -1;\n};\n\n\n// Make a regular object able to act as a timer by setting some properties.\n// This function does not start the timer, see `active()`.\n// Using existing objects as timers slightly reduces object overhead.\nexports.enroll = function(item, msecs) {\n if (typeof msecs !== 'number') {\n throw new TypeError('\"msecs\" argument must be a number');\n }\n\n if (msecs < 0 || !isFinite(msecs)) {\n throw new RangeError('\"msecs\" argument must be ' +\n 'a non-negative finite number');\n }\n\n // if this item was already in a list somewhere\n // then we should unenroll it from that\n if (item._idleNext) unenroll(item);\n\n // Ensure that msecs fits into signed int32\n if (msecs > TIMEOUT_MAX) {\n msecs = TIMEOUT_MAX;\n }\n\n item._idleTimeout = msecs;\n L.init(item);\n};\n\n\n/*\n * DOM-style timers\n */\n\n\nfunction setTimeout(callback, after, arg1, arg2, arg3) {\n if (typeof callback !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n\n var len = arguments.length;\n var args;\n if (len === 3) {\n args = [arg1];\n } else if (len === 4) {\n args = [arg1, arg2];\n } else if (len > 4) {\n args = [arg1, arg2, arg3];\n for (var i = 5; i < len; i++)\n // extend array dynamically, makes .apply run much faster in v6.0.0\n args[i - 2] = arguments[i];\n }\n\n return createSingleTimeout(callback, after, args);\n}\n\nsetTimeout[internalUtil.promisify.custom] = function(after, value) {\n const promise = createPromise();\n createSingleTimeout(promise, after, [value]);\n return promise;\n};\n\nexports.setTimeout = setTimeout;\n\nfunction createSingleTimeout(callback, after, args) {\n after *= 1; // coalesce to number or NaN\n if (!(after >= 1 && after <= TIMEOUT_MAX))\n after = 1; // schedule on next tick, follows browser behaviour\n\n var timer = new Timeout(after, callback, args);\n if (process.domain)\n timer.domain = process.domain;\n\n active(timer);\n\n return timer;\n}\n\n\nfunction ontimeout(timer) {\n var args = timer._timerArgs;\n var callback = timer._onTimeout;\n if (typeof callback !== 'function')\n return promiseResolve(callback, args[0]);\n if (!args)\n timer._onTimeout();\n else {\n switch (args.length) {\n case 1:\n timer._onTimeout(args[0]);\n break;\n case 2:\n timer._onTimeout(args[0], args[1]);\n break;\n case 3:\n timer._onTimeout(args[0], args[1], args[2]);\n break;\n default:\n Function.prototype.apply.call(callback, timer, args);\n }\n }\n if (timer._repeat)\n rearm(timer);\n}\n\n\nfunction rearm(timer) {\n // // Do not re-arm unenroll'd or closed timers.\n if (timer._idleTimeout === -1) return;\n\n // If timer is unref'd (or was - it's permanently removed from the list.)\n if (timer._handle && timer instanceof Timeout) {\n timer._handle.start(timer._repeat);\n } else {\n timer._idleTimeout = timer._repeat;\n active(timer);\n }\n}\n\n\nconst clearTimeout = exports.clearTimeout = function(timer) {\n if (timer && (timer[kOnTimeout] || timer._onTimeout)) {\n timer[kOnTimeout] = timer._onTimeout = null;\n if (timer instanceof Timeout) {\n timer.close(); // for after === 0\n } else {\n unenroll(timer);\n }\n }\n};\n\n\nexports.setInterval = function(callback, repeat, arg1, arg2, arg3) {\n if (typeof callback !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n\n var len = arguments.length;\n var args;\n if (len === 3) {\n args = [arg1];\n } else if (len === 4) {\n args = [arg1, arg2];\n } else if (len > 4) {\n args = [arg1, arg2, arg3];\n for (var i = 5; i < len; i++)\n // extend array dynamically, makes .apply run much faster in v6.0.0\n args[i - 2] = arguments[i];\n }\n\n return createRepeatTimeout(callback, repeat, args);\n};\n\nfunction createRepeatTimeout(callback, repeat, args) {\n repeat *= 1; // coalesce to number or NaN\n if (!(repeat >= 1 && repeat <= TIMEOUT_MAX))\n repeat = 1; // schedule on next tick, follows browser behaviour\n\n var timer = new Timeout(repeat, callback, args);\n timer._repeat = repeat;\n if (process.domain)\n timer.domain = process.domain;\n\n active(timer);\n\n return timer;\n}\n\nexports.clearInterval = function(timer) {\n if (timer && timer._repeat) {\n timer._repeat = null;\n clearTimeout(timer);\n }\n};\n\n\nfunction Timeout(after, callback, args) {\n this._called = false;\n this._idleTimeout = after;\n this._idlePrev = this;\n this._idleNext = this;\n this._idleStart = null;\n this._onTimeout = callback;\n this._timerArgs = args;\n this._repeat = null;\n this._destroyed = false;\n this[async_id_symbol] = ++async_uid_fields[kAsyncUidCntr];\n this[trigger_id_symbol] = initTriggerId();\n if (async_hook_fields[kInit] > 0)\n emitInit(this[async_id_symbol], 'Timeout', this[trigger_id_symbol], this);\n}\n\n\nfunction unrefdHandle() {\n // Don't attempt to call the callback if it is not a function.\n if (typeof this.owner._onTimeout === 'function') {\n ontimeout(this.owner);\n }\n\n // Make sure we clean up if the callback is no longer a function\n // even if the timer is an interval.\n if (!this.owner._repeat ||\n typeof this.owner._onTimeout !== 'function') {\n this.owner.close();\n }\n}\n\n\nTimeout.prototype.unref = function() {\n if (this._handle) {\n this._handle.unref();\n } else if (typeof this._onTimeout === 'function') {\n var now = TimerWrap.now();\n if (!this._idleStart) this._idleStart = now;\n var delay = this._idleStart + this._idleTimeout - now;\n if (delay < 0) delay = 0;\n\n // Prevent running cb again when unref() is called during the same cb\n if (this._called && !this._repeat) {\n unenroll(this);\n return;\n }\n\n var handle = reuse(this);\n\n this._handle = handle || new TimerWrap();\n this._handle.owner = this;\n this._handle[kOnTimeout] = unrefdHandle;\n this._handle.start(delay);\n this._handle.domain = this.domain;\n this._handle.unref();\n }\n return this;\n};\n\nTimeout.prototype.ref = function() {\n if (this._handle)\n this._handle.ref();\n return this;\n};\n\nTimeout.prototype.close = function() {\n this._onTimeout = null;\n if (this._handle) {\n // Fewer checks may be possible, but these cover everything.\n if (async_hook_fields[kDestroy] > 0 &&\n this &&\n typeof this[async_id_symbol] === 'number' &&\n !this._destroyed) {\n emitDestroy(this[async_id_symbol]);\n this._destroyed = true;\n }\n\n this._idleTimeout = -1;\n this._handle[kOnTimeout] = null;\n this._handle.close();\n } else {\n unenroll(this);\n }\n return this;\n};\n\n\n// A linked list for storing `setImmediate()` requests\nfunction ImmediateList() {\n this.head = null;\n this.tail = null;\n}\n\n// Appends an item to the end of the linked list, adjusting the current tail's\n// previous and next pointers where applicable\nImmediateList.prototype.append = function(item) {\n if (this.tail) {\n this.tail._idleNext = item;\n item._idlePrev = this.tail;\n } else {\n this.head = item;\n }\n this.tail = item;\n};\n\n// Removes an item from the linked list, adjusting the pointers of adjacent\n// items and the linked list's head or tail pointers as necessary\nImmediateList.prototype.remove = function(item) {\n if (item._idleNext) {\n item._idleNext._idlePrev = item._idlePrev;\n }\n\n if (item._idlePrev) {\n item._idlePrev._idleNext = item._idleNext;\n }\n\n if (item === this.head)\n this.head = item._idleNext;\n if (item === this.tail)\n this.tail = item._idlePrev;\n\n item._idleNext = null;\n item._idlePrev = null;\n};\n\n// Create a single linked list instance only once at startup\nvar immediateQueue = new ImmediateList();\n\n\nfunction processImmediate() {\n var immediate = immediateQueue.head;\n var tail = immediateQueue.tail;\n var domain;\n\n // Clear the linked list early in case new `setImmediate()` calls occur while\n // immediate callbacks are executed\n immediateQueue.head = immediateQueue.tail = null;\n\n while (immediate) {\n domain = immediate.domain;\n\n if (!immediate._onImmediate) {\n immediate = immediate._idleNext;\n continue;\n }\n\n if (domain)\n domain.enter();\n\n immediate._callback = immediate._onImmediate;\n\n // Save next in case `clearImmediate(immediate)` is called from callback\n var next = immediate._idleNext;\n\n tryOnImmediate(immediate, tail);\n\n if (domain)\n domain.exit();\n\n // If `clearImmediate(immediate)` wasn't called from the callback, use the\n // `immediate`'s next item\n if (immediate._idleNext)\n immediate = immediate._idleNext;\n else\n immediate = next;\n }\n\n // Only round-trip to C++ land if we have to. Calling clearImmediate() on an\n // immediate that's in |queue| is okay. Worst case is we make a superfluous\n // call to NeedImmediateCallbackSetter().\n if (!immediateQueue.head) {\n process._needImmediateCallback = false;\n }\n}\n\n\n// An optimization so that the try/finally only de-optimizes (since at least v8\n// 4.7) what is in this smaller function.\nfunction tryOnImmediate(immediate, oldTail) {\n var threw = true;\n timerEmitBefore(immediate[async_id_symbol], immediate[trigger_id_symbol]);\n try {\n // make the actual call outside the try/catch to allow it to be optimized\n runCallback(immediate);\n threw = false;\n } finally {\n // clearImmediate checks _callback === null for kDestroy hooks.\n immediate._callback = null;\n if (!threw)\n timerEmitAfter(immediate[async_id_symbol]);\n if (async_hook_fields[kDestroy] > 0 && !immediate._destroyed) {\n emitDestroy(immediate[async_id_symbol]);\n immediate._destroyed = true;\n }\n\n if (threw && immediate._idleNext) {\n // Handle any remaining on next tick, assuming we're still alive to do so.\n const curHead = immediateQueue.head;\n const next = immediate._idleNext;\n if (curHead) {\n curHead._idlePrev = oldTail;\n oldTail._idleNext = curHead;\n next._idlePrev = null;\n immediateQueue.head = next;\n } else {\n immediateQueue.head = next;\n immediateQueue.tail = oldTail;\n }\n process.nextTick(processImmediate);\n }\n }\n}\n\nfunction runCallback(timer) {\n const argv = timer._argv;\n const argc = argv ? argv.length : 0;\n if (typeof timer._callback !== 'function')\n return promiseResolve(timer._callback, argv[0]);\n switch (argc) {\n // fast-path callbacks with 0-3 arguments\n case 0:\n return timer._callback();\n case 1:\n return timer._callback(argv[0]);\n case 2:\n return timer._callback(argv[0], argv[1]);\n case 3:\n return timer._callback(argv[0], argv[1], argv[2]);\n // more than 3 arguments run slower with .apply\n default:\n return Function.prototype.apply.call(timer._callback, timer, argv);\n }\n}\n\n\nfunction Immediate() {\n // assigning the callback here can cause optimize/deoptimize thrashing\n // so have caller annotate the object (node v6.0.0, v8 5.0.71.35)\n this._idleNext = null;\n this._idlePrev = null;\n this._callback = null;\n this._argv = null;\n this._onImmediate = null;\n this._destroyed = false;\n this.domain = process.domain;\n this[async_id_symbol] = ++async_uid_fields[kAsyncUidCntr];\n this[trigger_id_symbol] = initTriggerId();\n if (async_hook_fields[kInit] > 0)\n emitInit(this[async_id_symbol], 'Immediate', this[trigger_id_symbol], this);\n}\n\nfunction setImmediate(callback, arg1, arg2, arg3) {\n if (typeof callback !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n\n var i, args;\n\n switch (arguments.length) {\n // fast cases\n case 1:\n break;\n case 2:\n args = [arg1];\n break;\n case 3:\n args = [arg1, arg2];\n break;\n default:\n args = [arg1, arg2, arg3];\n for (i = 4; i < arguments.length; i++)\n // extend array dynamically, makes .apply run much faster in v6.0.0\n args[i - 1] = arguments[i];\n break;\n }\n return createImmediate(args, callback);\n}\n\nsetImmediate[internalUtil.promisify.custom] = function(value) {\n const promise = createPromise();\n createImmediate([value], promise);\n return promise;\n};\n\nexports.setImmediate = setImmediate;\n\nfunction createImmediate(args, callback) {\n // declaring it `const immediate` causes v6.0.0 to deoptimize this function\n var immediate = new Immediate();\n immediate._callback = callback;\n immediate._argv = args;\n immediate._onImmediate = callback;\n\n if (!process._needImmediateCallback) {\n process._needImmediateCallback = true;\n process._immediateCallback = processImmediate;\n }\n\n immediateQueue.append(immediate);\n\n return immediate;\n}\n\n\nexports.clearImmediate = function(immediate) {\n if (!immediate) return;\n\n if (async_hook_fields[kDestroy] > 0 &&\n immediate._callback !== null &&\n !immediate._destroyed) {\n emitDestroy(immediate[async_id_symbol]);\n immediate._destroyed = true;\n }\n\n immediate._onImmediate = null;\n\n immediateQueue.remove(immediate);\n\n if (!immediateQueue.head) {\n process._needImmediateCallback = false;\n }\n};\n\n});", "pkgUrl": "(system)" }, { "id": "33", "url": "internal/process.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nvar _lazyConstants = null;\n\nfunction lazyConstants() {\n if (!_lazyConstants) {\n _lazyConstants = process.binding('constants').os.signals;\n }\n return _lazyConstants;\n}\n\nconst assert = process.assert = function(x, msg) {\n if (!x) throw new Error(msg || 'assertion error');\n};\n\n\n// Set up the process.cpuUsage() function.\nfunction setup_cpuUsage() {\n // Get the native function, which will be replaced with a JS version.\n const _cpuUsage = process.cpuUsage;\n\n // Create the argument array that will be passed to the native function.\n const cpuValues = new Float64Array(2);\n\n // Replace the native function with the JS version that calls the native\n // function.\n process.cpuUsage = function cpuUsage(prevValue) {\n // If a previous value was passed in, ensure it has the correct shape.\n if (prevValue) {\n if (!previousValueIsValid(prevValue.user)) {\n throw new TypeError('value of user property of argument is invalid');\n }\n\n if (!previousValueIsValid(prevValue.system)) {\n throw new TypeError('value of system property of argument is invalid');\n }\n }\n\n // Call the native function to get the current values.\n const errmsg = _cpuUsage(cpuValues);\n if (errmsg) {\n throw new Error('unable to obtain CPU usage: ' + errmsg);\n }\n\n // If a previous value was passed in, return diff of current from previous.\n if (prevValue) return {\n user: cpuValues[0] - prevValue.user,\n system: cpuValues[1] - prevValue.system\n };\n\n // If no previous value passed in, return current value.\n return {\n user: cpuValues[0],\n system: cpuValues[1]\n };\n\n // Ensure that a previously passed in value is valid. Currently, the native\n // implementation always returns numbers <= Number.MAX_SAFE_INTEGER.\n function previousValueIsValid(num) {\n return Number.isFinite(num) &&\n num <= Number.MAX_SAFE_INTEGER &&\n num >= 0;\n }\n };\n}\n\n// The 3 entries filled in by the original process.hrtime contains\n// the upper/lower 32 bits of the second part of the value,\n// and the remaining nanoseconds of the value.\nfunction setup_hrtime() {\n const _hrtime = process.hrtime;\n const hrValues = new Uint32Array(3);\n\n process.hrtime = function hrtime(time) {\n _hrtime(hrValues);\n\n if (time !== undefined) {\n if (Array.isArray(time) && time.length === 2) {\n const sec = (hrValues[0] * 0x100000000 + hrValues[1]) - time[0];\n const nsec = hrValues[2] - time[1];\n const needsBorrow = nsec < 0;\n return [needsBorrow ? sec - 1 : sec, needsBorrow ? nsec + 1e9 : nsec];\n }\n\n throw new TypeError('process.hrtime() only accepts an Array tuple');\n }\n\n return [\n hrValues[0] * 0x100000000 + hrValues[1],\n hrValues[2]\n ];\n };\n}\n\nfunction setupMemoryUsage() {\n const memoryUsage_ = process.memoryUsage;\n const memValues = new Float64Array(4);\n\n process.memoryUsage = function memoryUsage() {\n memoryUsage_(memValues);\n return {\n rss: memValues[0],\n heapTotal: memValues[1],\n heapUsed: memValues[2],\n external: memValues[3]\n };\n };\n}\n\nfunction setupConfig(_source) {\n // NativeModule._source\n // used for `process.config`, but not a real module\n var config = _source.config;\n delete _source.config;\n\n // strip the gyp comment line at the beginning\n config = config.split('\\n')\n .slice(1)\n .join('\\n')\n .replace(/\"/g, '\\\\\"')\n .replace(/'/g, '\"');\n\n process.config = JSON.parse(config, function(key, value) {\n if (value === 'true') return true;\n if (value === 'false') return false;\n return value;\n });\n const processConfig = process.binding('config');\n if (typeof Intl !== 'undefined' && Intl.hasOwnProperty('v8BreakIterator')) {\n const oldV8BreakIterator = Intl.v8BreakIterator;\n const des = Object.getOwnPropertyDescriptor(Intl, 'v8BreakIterator');\n des.value = require('internal/util').deprecate(function v8BreakIterator() {\n if (processConfig.hasSmallICU && !processConfig.icuDataDir) {\n // Intl.v8BreakIterator() would crash w/ fatal error, so throw instead.\n throw new Error('v8BreakIterator: full ICU data not installed. ' +\n 'See https://github.com/nodejs/node/wiki/Intl');\n }\n return Reflect.construct(oldV8BreakIterator, arguments);\n }, 'Intl.v8BreakIterator is deprecated and will be removed soon.',\n 'DEP0017');\n Object.defineProperty(Intl, 'v8BreakIterator', des);\n }\n}\n\n\nfunction setupKillAndExit() {\n\n process.exit = function(code) {\n if (code || code === 0)\n process.exitCode = code;\n\n if (!process._exiting) {\n process._exiting = true;\n process.emit('exit', process.exitCode || 0);\n }\n process.reallyExit(process.exitCode || 0);\n };\n\n process.kill = function(pid, sig) {\n var err;\n\n // eslint-disable-next-line eqeqeq\n if (pid != (pid | 0)) {\n throw new TypeError('invalid pid');\n }\n\n // preserve null signal\n if (0 === sig) {\n err = process._kill(pid, 0);\n } else {\n sig = sig || 'SIGTERM';\n if (lazyConstants()[sig]) {\n err = process._kill(pid, lazyConstants()[sig]);\n } else {\n throw new Error(`Unknown signal: ${sig}`);\n }\n }\n\n if (err) {\n const errnoException = require('util')._errnoException;\n throw errnoException(err, 'kill');\n }\n\n return true;\n };\n}\n\n\nfunction setupSignalHandlers() {\n // Load events module in order to access prototype elements on process like\n // process.addListener.\n const signalWraps = {};\n\n function isSignal(event) {\n return typeof event === 'string' && lazyConstants()[event] !== undefined;\n }\n\n // Detect presence of a listener for the special signal types\n process.on('newListener', function(type, listener) {\n if (isSignal(type) &&\n !signalWraps.hasOwnProperty(type)) {\n const Signal = process.binding('signal_wrap').Signal;\n const wrap = new Signal();\n\n wrap.unref();\n\n wrap.onsignal = function() { process.emit(type); };\n\n const signum = lazyConstants()[type];\n const err = wrap.start(signum);\n if (err) {\n wrap.close();\n const errnoException = require('util')._errnoException;\n throw errnoException(err, 'uv_signal_start');\n }\n\n signalWraps[type] = wrap;\n }\n });\n\n process.on('removeListener', function(type, listener) {\n if (signalWraps.hasOwnProperty(type) && this.listenerCount(type) === 0) {\n signalWraps[type].close();\n delete signalWraps[type];\n }\n });\n}\n\n\nfunction setupChannel() {\n // If we were spawned with env NODE_CHANNEL_FD then load that up and\n // start parsing data from that stream.\n if (process.env.NODE_CHANNEL_FD) {\n const fd = parseInt(process.env.NODE_CHANNEL_FD, 10);\n assert(fd >= 0);\n\n // Make sure it's not accidentally inherited by child processes.\n delete process.env.NODE_CHANNEL_FD;\n\n const cp = require('child_process');\n\n // Load tcp_wrap to avoid situation where we might immediately receive\n // a message.\n // FIXME is this really necessary?\n process.binding('tcp_wrap');\n\n cp._forkChild(fd);\n assert(process.send);\n }\n}\n\n\nfunction setupRawDebug() {\n const format = require('util').format;\n const rawDebug = process._rawDebug;\n process._rawDebug = function() {\n rawDebug(format.apply(null, arguments));\n };\n}\n\nmodule.exports = {\n setup_cpuUsage,\n setup_hrtime,\n setupMemoryUsage,\n setupConfig,\n setupKillAndExit,\n setupSignalHandlers,\n setupChannel,\n setupRawDebug\n};\n\n});", "pkgUrl": "(system)" }, { "id": "9", "url": "native typedarray.js", "pkgUrl": "(system)" }, { "id": "38", "url": "internal/url.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nconst util = require('util');\nconst {\n hexTable,\n isHexTable\n} = require('internal/querystring');\n\nconst { getConstructorOf } = require('internal/util');\nconst errors = require('internal/errors');\nconst querystring = require('querystring');\n\nconst { platform } = process;\nconst isWindows = platform === 'win32';\n\nconst {\n domainToASCII: _domainToASCII,\n domainToUnicode: _domainToUnicode,\n encodeAuth,\n toUSVString: _toUSVString,\n parse: _parse,\n setURLConstructor,\n URL_FLAGS_CANNOT_BE_BASE,\n URL_FLAGS_HAS_FRAGMENT,\n URL_FLAGS_HAS_HOST,\n URL_FLAGS_HAS_PASSWORD,\n URL_FLAGS_HAS_PATH,\n URL_FLAGS_HAS_QUERY,\n URL_FLAGS_HAS_USERNAME,\n URL_FLAGS_SPECIAL,\n kFragment,\n kHost,\n kHostname,\n kPathStart,\n kPort,\n kQuery,\n kSchemeStart\n} = process.binding('url');\n\nconst context = Symbol('context');\nconst cannotBeBase = Symbol('cannot-be-base');\nconst cannotHaveUsernamePasswordPort =\n Symbol('cannot-have-username-password-port');\nconst special = Symbol('special');\nconst searchParams = Symbol('query');\nconst kFormat = Symbol('format');\n\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nconst IteratorPrototype = Object.getPrototypeOf(\n Object.getPrototypeOf([][Symbol.iterator]())\n);\n\nconst unpairedSurrogateRe =\n /(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])/;\nfunction toUSVString(val) {\n const str = `${val}`;\n // As of V8 5.5, `str.search()` (and `unpairedSurrogateRe[@@search]()`) are\n // slower than `unpairedSurrogateRe.exec()`.\n const match = unpairedSurrogateRe.exec(str);\n if (!match)\n return str;\n return _toUSVString(str, match.index);\n}\n\n// Refs: https://html.spec.whatwg.org/multipage/browsers.html#concept-origin-opaque\nconst kOpaqueOrigin = 'null';\n\n// Refs: https://html.spec.whatwg.org/multipage/browsers.html#ascii-serialisation-of-an-origin\nfunction serializeTupleOrigin(scheme, host, port) {\n return `${scheme}//${host}${port === null ? '' : `:${port}`}`;\n}\n\n// This class provides the internal state of a URL object. An instance of this\n// class is stored in every URL object and is accessed internally by setters\n// and getters. It roughly corresponds to the concept of a URL record in the\n// URL Standard, with a few differences. It is also the object transported to\n// the C++ binding.\n// Refs: https://url.spec.whatwg.org/#concept-url\nclass URLContext {\n constructor() {\n this.flags = 0;\n this.scheme = ':';\n this.username = '';\n this.password = '';\n this.host = null;\n this.port = null;\n this.path = [];\n this.query = null;\n this.fragment = null;\n }\n}\n\nfunction onParseComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n var ctx = this[context];\n ctx.flags = flags;\n ctx.scheme = protocol;\n ctx.username = (flags & URL_FLAGS_HAS_USERNAME) !== 0 ? username : '';\n ctx.password = (flags & URL_FLAGS_HAS_PASSWORD) !== 0 ? password : '';\n ctx.port = port;\n ctx.path = (flags & URL_FLAGS_HAS_PATH) !== 0 ? path : [];\n ctx.query = query;\n ctx.fragment = fragment;\n ctx.host = host;\n if (!this[searchParams]) { // invoked from URL constructor\n this[searchParams] = new URLSearchParams();\n this[searchParams][context] = this;\n }\n initSearchParams(this[searchParams], query);\n}\n\nfunction onParseError(flags, input) {\n const error = new errors.TypeError('ERR_INVALID_URL', input);\n error.input = input;\n throw error;\n}\n\n// Reused by URL constructor and URL#href setter.\nfunction parse(url, input, base) {\n const base_context = base ? base[context] : undefined;\n url[context] = new URLContext();\n _parse(input.trim(), -1, base_context, undefined,\n onParseComplete.bind(url), onParseError);\n}\n\nfunction onParseProtocolComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_SPECIAL) !== 0) {\n ctx.flags |= URL_FLAGS_SPECIAL;\n } else {\n ctx.flags &= ~URL_FLAGS_SPECIAL;\n }\n ctx.scheme = protocol;\n}\n\nfunction onParseHostComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_HAS_HOST) !== 0) {\n ctx.host = host;\n ctx.flags |= URL_FLAGS_HAS_HOST;\n } else {\n ctx.host = null;\n ctx.flags &= ~URL_FLAGS_HAS_HOST;\n }\n if (port !== null)\n ctx.port = port;\n}\n\nfunction onParseHostnameComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_HAS_HOST) !== 0) {\n ctx.host = host;\n ctx.flags |= URL_FLAGS_HAS_HOST;\n } else {\n ctx.host = null;\n ctx.flags &= ~URL_FLAGS_HAS_HOST;\n }\n}\n\nfunction onParsePortComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n this[context].port = port;\n}\n\nfunction onParsePathComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n const ctx = this[context];\n if ((flags & URL_FLAGS_HAS_PATH) !== 0) {\n ctx.path = path;\n ctx.flags |= URL_FLAGS_HAS_PATH;\n } else {\n ctx.path = [];\n ctx.flags &= ~URL_FLAGS_HAS_PATH;\n }\n\n // The C++ binding may set host to empty string.\n if ((flags & URL_FLAGS_HAS_HOST) !== 0) {\n ctx.host = host;\n ctx.flags |= URL_FLAGS_HAS_HOST;\n }\n}\n\nfunction onParseSearchComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n this[context].query = query;\n}\n\nfunction onParseHashComplete(flags, protocol, username, password,\n host, port, path, query, fragment) {\n this[context].fragment = fragment;\n}\n\nclass URL {\n constructor(input, base) {\n // toUSVString is not needed.\n input = `${input}`;\n if (base !== undefined &&\n (!base[searchParams] || !base[searchParams][searchParams])) {\n base = new URL(base);\n }\n parse(this, input, base);\n }\n\n get [special]() {\n return (this[context].flags & URL_FLAGS_SPECIAL) !== 0;\n }\n\n get [cannotBeBase]() {\n return (this[context].flags & URL_FLAGS_CANNOT_BE_BASE) !== 0;\n }\n\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n get [cannotHaveUsernamePasswordPort]() {\n const { host, scheme } = this[context];\n return ((host == null || host === '') ||\n this[cannotBeBase] ||\n scheme === 'file:');\n }\n\n [util.inspect.custom](depth, opts) {\n if (this == null ||\n Object.getPrototypeOf(this[context]) !== URLContext.prototype) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URL');\n }\n\n if (typeof depth === 'number' && depth < 0)\n return opts.stylize('[Object]', 'special');\n\n var ctor = getConstructorOf(this);\n\n var obj = Object.create({\n constructor: ctor === null ? URL : ctor\n });\n\n obj.href = this.href;\n obj.origin = this.origin;\n obj.protocol = this.protocol;\n obj.username = this.username;\n obj.password = this.password;\n obj.host = this.host;\n obj.hostname = this.hostname;\n obj.port = this.port;\n obj.pathname = this.pathname;\n obj.search = this.search;\n obj.searchParams = this.searchParams;\n obj.hash = this.hash;\n\n if (opts.showHidden) {\n obj.cannotBeBase = this[cannotBeBase];\n obj.special = this[special];\n obj[context] = this[context];\n }\n\n return util.inspect(obj, opts);\n }\n}\n\nObject.defineProperties(URL.prototype, {\n [kFormat]: {\n enumerable: false,\n configurable: false,\n // eslint-disable-next-line func-name-matching\n value: function format(options) {\n if (options && typeof options !== 'object')\n throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'options', 'object');\n options = Object.assign({\n fragment: true,\n unicode: false,\n search: true,\n auth: true\n }, options);\n const ctx = this[context];\n var ret = ctx.scheme;\n if (ctx.host !== null) {\n ret += '//';\n const has_username = ctx.username !== '';\n const has_password = ctx.password !== '';\n if (options.auth && (has_username || has_password)) {\n if (has_username)\n ret += ctx.username;\n if (has_password)\n ret += `:${ctx.password}`;\n ret += '@';\n }\n ret += options.unicode ?\n domainToUnicode(this.host) : this.host;\n } else if (ctx.scheme === 'file:') {\n ret += '//';\n }\n if (this.pathname)\n ret += this.pathname;\n if (options.search && ctx.query !== null)\n ret += `?${ctx.query}`;\n if (options.fragment && ctx.fragment !== null)\n ret += `#${ctx.fragment}`;\n return ret;\n }\n },\n [Symbol.toStringTag]: {\n configurable: true,\n value: 'URL'\n },\n toString: {\n // https://heycam.github.io/webidl/#es-stringifier\n writable: true,\n enumerable: true,\n configurable: true,\n // eslint-disable-next-line func-name-matching\n value: function toString() {\n return this[kFormat]({});\n }\n },\n href: {\n enumerable: true,\n configurable: true,\n get() {\n return this[kFormat]({});\n },\n set(input) {\n // toUSVString is not needed.\n input = `${input}`;\n parse(this, input);\n }\n },\n origin: { // readonly\n enumerable: true,\n configurable: true,\n get() {\n // Refs: https://url.spec.whatwg.org/#concept-url-origin\n const ctx = this[context];\n switch (ctx.scheme) {\n case 'blob:':\n if (ctx.path.length > 0) {\n try {\n return (new URL(ctx.path[0])).origin;\n } catch (err) {\n // fall through... do nothing\n }\n }\n return kOpaqueOrigin;\n case 'ftp:':\n case 'gopher:':\n case 'http:':\n case 'https:':\n case 'ws:':\n case 'wss:':\n return serializeTupleOrigin(ctx.scheme, ctx.host, ctx.port);\n }\n return kOpaqueOrigin;\n }\n },\n protocol: {\n enumerable: true,\n configurable: true,\n get() {\n return this[context].scheme;\n },\n set(scheme) {\n // toUSVString is not needed.\n scheme = `${scheme}`;\n if (scheme.length === 0)\n return;\n const ctx = this[context];\n if (ctx.scheme === 'file:' &&\n (ctx.host === '' || ctx.host === null)) {\n return;\n }\n _parse(scheme, kSchemeStart, null, ctx,\n onParseProtocolComplete.bind(this));\n }\n },\n username: {\n enumerable: true,\n configurable: true,\n get() {\n return this[context].username;\n },\n set(username) {\n // toUSVString is not needed.\n username = `${username}`;\n if (this[cannotHaveUsernamePasswordPort])\n return;\n const ctx = this[context];\n if (username === '') {\n ctx.username = '';\n ctx.flags &= ~URL_FLAGS_HAS_USERNAME;\n return;\n }\n ctx.username = encodeAuth(username);\n ctx.flags |= URL_FLAGS_HAS_USERNAME;\n }\n },\n password: {\n enumerable: true,\n configurable: true,\n get() {\n return this[context].password;\n },\n set(password) {\n // toUSVString is not needed.\n password = `${password}`;\n if (this[cannotHaveUsernamePasswordPort])\n return;\n const ctx = this[context];\n if (password === '') {\n ctx.password = '';\n ctx.flags &= ~URL_FLAGS_HAS_PASSWORD;\n return;\n }\n ctx.password = encodeAuth(password);\n ctx.flags |= URL_FLAGS_HAS_PASSWORD;\n }\n },\n host: {\n enumerable: true,\n configurable: true,\n get() {\n const ctx = this[context];\n var ret = ctx.host || '';\n if (ctx.port !== null)\n ret += `:${ctx.port}`;\n return ret;\n },\n set(host) {\n const ctx = this[context];\n // toUSVString is not needed.\n host = `${host}`;\n if (this[cannotBeBase]) {\n // Cannot set the host if cannot-be-base is set\n return;\n }\n _parse(host, kHost, null, ctx, onParseHostComplete.bind(this));\n }\n },\n hostname: {\n enumerable: true,\n configurable: true,\n get() {\n return this[context].host || '';\n },\n set(host) {\n const ctx = this[context];\n // toUSVString is not needed.\n host = `${host}`;\n if (this[cannotBeBase]) {\n // Cannot set the host if cannot-be-base is set\n return;\n }\n _parse(host, kHostname, null, ctx, onParseHostnameComplete.bind(this));\n }\n },\n port: {\n enumerable: true,\n configurable: true,\n get() {\n const port = this[context].port;\n return port === null ? '' : String(port);\n },\n set(port) {\n // toUSVString is not needed.\n port = `${port}`;\n if (this[cannotHaveUsernamePasswordPort])\n return;\n const ctx = this[context];\n if (port === '') {\n ctx.port = null;\n return;\n }\n _parse(port, kPort, null, ctx, onParsePortComplete.bind(this));\n }\n },\n pathname: {\n enumerable: true,\n configurable: true,\n get() {\n const ctx = this[context];\n if (this[cannotBeBase])\n return ctx.path[0];\n if (ctx.path.length === 0)\n return '';\n return `/${ctx.path.join('/')}`;\n },\n set(path) {\n // toUSVString is not needed.\n path = `${path}`;\n if (this[cannotBeBase])\n return;\n _parse(path, kPathStart, null, this[context],\n onParsePathComplete.bind(this));\n }\n },\n search: {\n enumerable: true,\n configurable: true,\n get() {\n const { query } = this[context];\n if (query === null || query === '')\n return '';\n return `?${query}`;\n },\n set(search) {\n const ctx = this[context];\n search = toUSVString(search);\n if (search === '') {\n ctx.query = null;\n ctx.flags &= ~URL_FLAGS_HAS_QUERY;\n } else {\n if (search[0] === '?') search = search.slice(1);\n ctx.query = '';\n ctx.flags |= URL_FLAGS_HAS_QUERY;\n if (search) {\n _parse(search, kQuery, null, ctx, onParseSearchComplete.bind(this));\n }\n }\n initSearchParams(this[searchParams], search);\n }\n },\n searchParams: { // readonly\n enumerable: true,\n configurable: true,\n get() {\n return this[searchParams];\n }\n },\n hash: {\n enumerable: true,\n configurable: true,\n get() {\n const { fragment } = this[context];\n if (fragment === null || fragment === '')\n return '';\n return `#${fragment}`;\n },\n set(hash) {\n const ctx = this[context];\n // toUSVString is not needed.\n hash = `${hash}`;\n if (!hash) {\n ctx.fragment = null;\n ctx.flags &= ~URL_FLAGS_HAS_FRAGMENT;\n return;\n }\n if (hash[0] === '#') hash = hash.slice(1);\n ctx.fragment = '';\n ctx.flags |= URL_FLAGS_HAS_FRAGMENT;\n _parse(hash, kFragment, null, ctx, onParseHashComplete.bind(this));\n }\n },\n toJSON: {\n writable: true,\n enumerable: true,\n configurable: true,\n // eslint-disable-next-line func-name-matching\n value: function toJSON() {\n return this[kFormat]({});\n }\n }\n});\n\nfunction update(url, params) {\n if (!url)\n return;\n\n const ctx = url[context];\n const serializedParams = params.toString();\n if (serializedParams) {\n ctx.query = serializedParams;\n ctx.flags |= URL_FLAGS_HAS_QUERY;\n } else {\n ctx.query = null;\n ctx.flags &= ~URL_FLAGS_HAS_QUERY;\n }\n}\n\nfunction initSearchParams(url, init) {\n if (!init) {\n url[searchParams] = [];\n return;\n }\n url[searchParams] = parseParams(init);\n}\n\n// application/x-www-form-urlencoded parser\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-parser\nfunction parseParams(qs) {\n const out = [];\n var pairStart = 0;\n var lastPos = 0;\n var seenSep = false;\n var buf = '';\n var encoded = false;\n var encodeCheck = 0;\n var i;\n for (i = 0; i < qs.length; ++i) {\n const code = qs.charCodeAt(i);\n\n // Try matching key/value pair separator\n if (code === 38/*&*/) {\n if (pairStart === i) {\n // We saw an empty substring between pair separators\n lastPos = pairStart = i + 1;\n continue;\n }\n\n if (lastPos < i)\n buf += qs.slice(lastPos, i);\n if (encoded)\n buf = querystring.unescape(buf);\n out.push(buf);\n\n // If `buf` is the key, add an empty value.\n if (!seenSep)\n out.push('');\n\n seenSep = false;\n buf = '';\n encoded = false;\n encodeCheck = 0;\n lastPos = pairStart = i + 1;\n continue;\n }\n\n // Try matching key/value separator (e.g. '=') if we haven't already\n if (!seenSep && code === 61/*=*/) {\n // Key/value separator match!\n if (lastPos < i)\n buf += qs.slice(lastPos, i);\n if (encoded)\n buf = querystring.unescape(buf);\n out.push(buf);\n\n seenSep = true;\n buf = '';\n encoded = false;\n encodeCheck = 0;\n lastPos = i + 1;\n continue;\n }\n\n // Handle + and percent decoding.\n if (code === 43/*+*/) {\n if (lastPos < i)\n buf += qs.slice(lastPos, i);\n buf += ' ';\n lastPos = i + 1;\n } else if (!encoded) {\n // Try to match an (valid) encoded byte (once) to minimize unnecessary\n // calls to string decoding functions\n if (code === 37/*%*/) {\n encodeCheck = 1;\n } else if (encodeCheck > 0) {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!isHexTable[code]) {\n if (++encodeCheck === 3)\n encoded = true;\n } else {\n encodeCheck = 0;\n }\n }\n }\n }\n\n // Deal with any leftover key or value data\n\n // There is a trailing &. No more processing is needed.\n if (pairStart === i)\n return out;\n\n if (lastPos < i)\n buf += qs.slice(lastPos, i);\n if (encoded)\n buf = querystring.unescape(buf);\n out.push(buf);\n\n // If `buf` is the key, add an empty value.\n if (!seenSep)\n out.push('');\n\n return out;\n}\n\n// Adapted from querystring's implementation.\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-byte-serializer\nconst noEscape = [\n//0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x00 - 0x0F\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x10 - 0x1F\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, // 0x20 - 0x2F\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 0x30 - 0x3F\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x40 - 0x4F\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, // 0x50 - 0x5F\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60 - 0x6F\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 // 0x70 - 0x7F\n];\n\n// Special version of hexTable that uses `+` for U+0020 SPACE.\nconst paramHexTable = hexTable.slice();\nparamHexTable[0x20] = '+';\n\nfunction escapeParam(str) {\n const len = str.length;\n if (len === 0)\n return '';\n\n var out = '';\n var lastPos = 0;\n\n for (var i = 0; i < len; i++) {\n var c = str.charCodeAt(i);\n\n // ASCII\n if (c < 0x80) {\n if (noEscape[c] === 1)\n continue;\n if (lastPos < i)\n out += str.slice(lastPos, i);\n lastPos = i + 1;\n out += paramHexTable[c];\n continue;\n }\n\n if (lastPos < i)\n out += str.slice(lastPos, i);\n\n // Multi-byte characters ...\n if (c < 0x800) {\n lastPos = i + 1;\n out += paramHexTable[0xC0 | (c >> 6)] +\n paramHexTable[0x80 | (c & 0x3F)];\n continue;\n }\n if (c < 0xD800 || c >= 0xE000) {\n lastPos = i + 1;\n out += paramHexTable[0xE0 | (c >> 12)] +\n paramHexTable[0x80 | ((c >> 6) & 0x3F)] +\n paramHexTable[0x80 | (c & 0x3F)];\n continue;\n }\n // Surrogate pair\n ++i;\n var c2;\n if (i < len)\n c2 = str.charCodeAt(i) & 0x3FF;\n else {\n // This branch should never happen because all URLSearchParams entries\n // should already be converted to USVString. But, included for\n // completion's sake anyway.\n c2 = 0;\n }\n lastPos = i + 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | c2);\n out += paramHexTable[0xF0 | (c >> 18)] +\n paramHexTable[0x80 | ((c >> 12) & 0x3F)] +\n paramHexTable[0x80 | ((c >> 6) & 0x3F)] +\n paramHexTable[0x80 | (c & 0x3F)];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < len)\n return out + str.slice(lastPos);\n return out;\n}\n\n// application/x-www-form-urlencoded serializer\n// Ref: https://url.spec.whatwg.org/#concept-urlencoded-serializer\nfunction serializeParams(array) {\n const len = array.length;\n if (len === 0)\n return '';\n\n var output = `${escapeParam(array[0])}=${escapeParam(array[1])}`;\n for (var i = 2; i < len; i += 2)\n output += `&${escapeParam(array[i])}=${escapeParam(array[i + 1])}`;\n return output;\n}\n\n// Mainly to mitigate func-name-matching ESLint rule\nfunction defineIDLClass(proto, classStr, obj) {\n // https://heycam.github.io/webidl/#dfn-class-string\n Object.defineProperty(proto, Symbol.toStringTag, {\n writable: false,\n enumerable: false,\n configurable: true,\n value: classStr\n });\n\n // https://heycam.github.io/webidl/#es-operations\n for (const key of Object.keys(obj)) {\n Object.defineProperty(proto, key, {\n writable: true,\n enumerable: true,\n configurable: true,\n value: obj[key]\n });\n }\n for (const key of Object.getOwnPropertySymbols(obj)) {\n Object.defineProperty(proto, key, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: obj[key]\n });\n }\n}\n\nclass URLSearchParams {\n // URL Standard says the default value is '', but as undefined and '' have\n // the same result, undefined is used to prevent unnecessary parsing.\n // Default parameter is necessary to keep URLSearchParams.length === 0 in\n // accordance with Web IDL spec.\n constructor(init = undefined) {\n if (init === null || init === undefined) {\n this[searchParams] = [];\n } else if ((typeof init === 'object' && init !== null) ||\n typeof init === 'function') {\n const method = init[Symbol.iterator];\n if (method === this[Symbol.iterator]) {\n // While the spec does not have this branch, we can use it as a\n // shortcut to avoid having to go through the costly generic iterator.\n const childParams = init[searchParams];\n this[searchParams] = childParams.slice();\n } else if (method !== null && method !== undefined) {\n if (typeof method !== 'function') {\n throw new errors.TypeError('ERR_ARG_NOT_ITERABLE', 'Query pairs');\n }\n\n // sequence>\n // Note: per spec we have to first exhaust the lists then process them\n const pairs = [];\n for (const pair of init) {\n if ((typeof pair !== 'object' && typeof pair !== 'function') ||\n pair === null ||\n typeof pair[Symbol.iterator] !== 'function') {\n throw new errors.TypeError('ERR_INVALID_TUPLE', 'Each query pair',\n '[name, value]');\n }\n const convertedPair = [];\n for (const element of pair)\n convertedPair.push(toUSVString(element));\n pairs.push(convertedPair);\n }\n\n this[searchParams] = [];\n for (const pair of pairs) {\n if (pair.length !== 2) {\n throw new errors.TypeError('ERR_INVALID_TUPLE', 'Each query pair',\n '[name, value]');\n }\n this[searchParams].push(pair[0], pair[1]);\n }\n } else {\n // record\n // Need to use reflection APIs for full spec compliance.\n this[searchParams] = [];\n const keys = Reflect.ownKeys(init);\n for (var i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = Reflect.getOwnPropertyDescriptor(init, key);\n if (desc !== undefined && desc.enumerable) {\n const typedKey = toUSVString(key);\n const typedValue = toUSVString(init[key]);\n this[searchParams].push(typedKey, typedValue);\n }\n }\n }\n } else {\n // USVString\n init = toUSVString(init);\n if (init[0] === '?') init = init.slice(1);\n initSearchParams(this, init);\n }\n\n // \"associated url object\"\n this[context] = null;\n }\n\n [util.inspect.custom](recurseTimes, ctx) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n\n if (typeof recurseTimes === 'number' && recurseTimes < 0)\n return ctx.stylize('[Object]', 'special');\n\n var separator = ', ';\n var innerOpts = Object.assign({}, ctx);\n if (recurseTimes !== null) {\n innerOpts.depth = recurseTimes - 1;\n }\n var innerInspect = (v) => util.inspect(v, innerOpts);\n\n var list = this[searchParams];\n var output = [];\n for (var i = 0; i < list.length; i += 2)\n output.push(`${innerInspect(list[i])} => ${innerInspect(list[i + 1])}`);\n\n var colorRe = /\\u001b\\[\\d\\d?m/g;\n var length = output.reduce(\n (prev, cur) => prev + cur.replace(colorRe, '').length + separator.length,\n -separator.length\n );\n if (length > ctx.breakLength) {\n return `${this.constructor.name} {\\n ${output.join(',\\n ')} }`;\n } else if (output.length) {\n return `${this.constructor.name} { ${output.join(separator)} }`;\n } else {\n return `${this.constructor.name} {}`;\n }\n }\n}\n\n// for merge sort\nfunction merge(out, start, mid, end, lBuffer, rBuffer) {\n const sizeLeft = mid - start;\n const sizeRight = end - mid;\n var l, r, o;\n\n for (l = 0; l < sizeLeft; l++)\n lBuffer[l] = out[start + l];\n for (r = 0; r < sizeRight; r++)\n rBuffer[r] = out[mid + r];\n\n l = 0;\n r = 0;\n o = start;\n while (l < sizeLeft && r < sizeRight) {\n if (lBuffer[l] <= rBuffer[r]) {\n out[o++] = lBuffer[l++];\n out[o++] = lBuffer[l++];\n } else {\n out[o++] = rBuffer[r++];\n out[o++] = rBuffer[r++];\n }\n }\n while (l < sizeLeft)\n out[o++] = lBuffer[l++];\n while (r < sizeRight)\n out[o++] = rBuffer[r++];\n}\n\ndefineIDLClass(URLSearchParams.prototype, 'URLSearchParams', {\n append(name, value) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (arguments.length < 2) {\n throw new errors.TypeError('ERR_MISSING_ARGS', 'name', 'value');\n }\n\n name = toUSVString(name);\n value = toUSVString(value);\n this[searchParams].push(name, value);\n update(this[context], this);\n },\n\n delete(name) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (arguments.length < 1) {\n throw new errors.TypeError('ERR_MISSING_ARGS', 'name');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n for (var i = 0; i < list.length;) {\n const cur = list[i];\n if (cur === name) {\n list.splice(i, 2);\n } else {\n i += 2;\n }\n }\n update(this[context], this);\n },\n\n get(name) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (arguments.length < 1) {\n throw new errors.TypeError('ERR_MISSING_ARGS', 'name');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n for (var i = 0; i < list.length; i += 2) {\n if (list[i] === name) {\n return list[i + 1];\n }\n }\n return null;\n },\n\n getAll(name) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (arguments.length < 1) {\n throw new errors.TypeError('ERR_MISSING_ARGS', 'name');\n }\n\n const list = this[searchParams];\n const values = [];\n name = toUSVString(name);\n for (var i = 0; i < list.length; i += 2) {\n if (list[i] === name) {\n values.push(list[i + 1]);\n }\n }\n return values;\n },\n\n has(name) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (arguments.length < 1) {\n throw new errors.TypeError('ERR_MISSING_ARGS', 'name');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n for (var i = 0; i < list.length; i += 2) {\n if (list[i] === name) {\n return true;\n }\n }\n return false;\n },\n\n set(name, value) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (arguments.length < 2) {\n throw new errors.TypeError('ERR_MISSING_ARGS', 'name', 'value');\n }\n\n const list = this[searchParams];\n name = toUSVString(name);\n value = toUSVString(value);\n\n // If there are any name-value pairs whose name is `name`, in `list`, set\n // the value of the first such name-value pair to `value` and remove the\n // others.\n var found = false;\n for (var i = 0; i < list.length;) {\n const cur = list[i];\n if (cur === name) {\n if (!found) {\n list[i + 1] = value;\n found = true;\n i += 2;\n } else {\n list.splice(i, 2);\n }\n } else {\n i += 2;\n }\n }\n\n // Otherwise, append a new name-value pair whose name is `name` and value\n // is `value`, to `list`.\n if (!found) {\n list.push(name, value);\n }\n\n update(this[context], this);\n },\n\n sort() {\n const a = this[searchParams];\n const len = a.length;\n if (len <= 2) {\n return;\n }\n\n // arbitrary number found through testing\n if (len < 100) {\n // Simple stable in-place insertion sort\n // Derived from v8/src/js/array.js\n for (var i = 2; i < len; i += 2) {\n var curKey = a[i];\n var curVal = a[i + 1];\n var j;\n for (j = i - 2; j >= 0; j -= 2) {\n if (a[j] > curKey) {\n a[j + 2] = a[j];\n a[j + 3] = a[j + 1];\n } else {\n break;\n }\n }\n a[j + 2] = curKey;\n a[j + 3] = curVal;\n }\n } else {\n // Bottom-up iterative stable merge sort\n const lBuffer = new Array(len);\n const rBuffer = new Array(len);\n for (var step = 2; step < len; step *= 2) {\n for (var start = 0; start < len - 2; start += 2 * step) {\n var mid = start + step;\n var end = mid + step;\n end = end < len ? end : len;\n if (mid > end)\n continue;\n merge(a, start, mid, end, lBuffer, rBuffer);\n }\n }\n }\n\n update(this[context], this);\n },\n\n // https://heycam.github.io/webidl/#es-iterators\n // Define entries here rather than [Symbol.iterator] as the function name\n // must be set to `entries`.\n entries() {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n\n return createSearchParamsIterator(this, 'key+value');\n },\n\n forEach(callback, thisArg = undefined) {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n if (typeof callback !== 'function') {\n throw new errors.TypeError('ERR_INVALID_CALLBACK');\n }\n\n let list = this[searchParams];\n\n var i = 0;\n while (i < list.length) {\n const key = list[i];\n const value = list[i + 1];\n callback.call(thisArg, value, key, this);\n // in case the URL object's `search` is updated\n list = this[searchParams];\n i += 2;\n }\n },\n\n // https://heycam.github.io/webidl/#es-iterable\n keys() {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n\n return createSearchParamsIterator(this, 'key');\n },\n\n values() {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n\n return createSearchParamsIterator(this, 'value');\n },\n\n // https://heycam.github.io/webidl/#es-stringifier\n // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\n toString() {\n if (!this || !this[searchParams] || this[searchParams][searchParams]) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParams');\n }\n\n return serializeParams(this[searchParams]);\n }\n});\n\n// https://heycam.github.io/webidl/#es-iterable-entries\nObject.defineProperty(URLSearchParams.prototype, Symbol.iterator, {\n writable: true,\n configurable: true,\n value: URLSearchParams.prototype.entries\n});\n\n// https://heycam.github.io/webidl/#dfn-default-iterator-object\nfunction createSearchParamsIterator(target, kind) {\n const iterator = Object.create(URLSearchParamsIteratorPrototype);\n iterator[context] = {\n target,\n kind,\n index: 0\n };\n return iterator;\n}\n\n// https://heycam.github.io/webidl/#dfn-iterator-prototype-object\nconst URLSearchParamsIteratorPrototype = Object.create(IteratorPrototype);\n\ndefineIDLClass(URLSearchParamsIteratorPrototype, 'URLSearchParamsIterator', {\n next() {\n if (!this ||\n Object.getPrototypeOf(this) !== URLSearchParamsIteratorPrototype) {\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParamsIterator');\n }\n\n const {\n target,\n kind,\n index\n } = this[context];\n const values = target[searchParams];\n const len = values.length;\n if (index >= len) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const name = values[index];\n const value = values[index + 1];\n this[context].index = index + 2;\n\n let result;\n if (kind === 'key') {\n result = name;\n } else if (kind === 'value') {\n result = value;\n } else {\n result = [name, value];\n }\n\n return {\n value: result,\n done: false\n };\n },\n [util.inspect.custom](recurseTimes, ctx) {\n if (this == null || this[context] == null || this[context].target == null)\n throw new errors.TypeError('ERR_INVALID_THIS', 'URLSearchParamsIterator');\n\n if (typeof recurseTimes === 'number' && recurseTimes < 0)\n return ctx.stylize('[Object]', 'special');\n\n const innerOpts = Object.assign({}, ctx);\n if (recurseTimes !== null) {\n innerOpts.depth = recurseTimes - 1;\n }\n const {\n target,\n kind,\n index\n } = this[context];\n const output = target[searchParams].slice(index).reduce((prev, cur, i) => {\n const key = i % 2 === 0;\n if (kind === 'key' && key) {\n prev.push(cur);\n } else if (kind === 'value' && !key) {\n prev.push(cur);\n } else if (kind === 'key+value' && !key) {\n prev.push([target[searchParams][index + i - 1], cur]);\n }\n return prev;\n }, []);\n const breakLn = util.inspect(output, innerOpts).includes('\\n');\n const outputStrs = output.map((p) => util.inspect(p, innerOpts));\n let outputStr;\n if (breakLn) {\n outputStr = `\\n ${outputStrs.join(',\\n ')}`;\n } else {\n outputStr = ` ${outputStrs.join(', ')}`;\n }\n return `${this[Symbol.toStringTag]} {${outputStr} }`;\n }\n});\n\nfunction domainToASCII(domain) {\n if (arguments.length < 1)\n throw new errors.TypeError('ERR_MISSING_ARGS', 'domain');\n\n // toUSVString is not needed.\n return _domainToASCII(`${domain}`);\n}\n\nfunction domainToUnicode(domain) {\n if (arguments.length < 1)\n throw new errors.TypeError('ERR_MISSING_ARGS', 'domain');\n\n // toUSVString is not needed.\n return _domainToUnicode(`${domain}`);\n}\n\n// Utility function that converts a URL object into an ordinary\n// options object as expected by the http.request and https.request\n// APIs.\nfunction urlToOptions(url) {\n var options = {\n protocol: url.protocol,\n hostname: url.hostname,\n hash: url.hash,\n search: url.search,\n pathname: url.pathname,\n path: `${url.pathname}${url.search}`,\n href: url.href\n };\n if (url.port !== '') {\n options.port = Number(url.port);\n }\n if (url.username || url.password) {\n options.auth = `${url.username}:${url.password}`;\n }\n return options;\n}\n\nfunction getPathFromURLWin32(url) {\n var hostname = url.hostname;\n var pathname = url.pathname;\n for (var n = 0; n < pathname.length; n++) {\n if (pathname[n] === '%') {\n var third = pathname.codePointAt(n + 2) | 0x20;\n if ((pathname[n + 1] === '2' && third === 102) || // 2f 2F /\n (pathname[n + 1] === '5' && third === 99)) { // 5c 5C \\\n return new errors.TypeError(\n 'ERR_INVALID_FILE_URL_PATH',\n 'must not include encoded \\\\ or / characters');\n }\n }\n }\n pathname = decodeURIComponent(pathname);\n if (hostname !== '') {\n // If hostname is set, then we have a UNC path\n // Pass the hostname through domainToUnicode just in case\n // it is an IDN using punycode encoding. We do not need to worry\n // about percent encoding because the URL parser will have\n // already taken care of that for us. Note that this only\n // causes IDNs with an appropriate `xn--` prefix to be decoded.\n return `//${domainToUnicode(hostname)}${pathname}`;\n } else {\n // Otherwise, it's a local path that requires a drive letter\n var letter = pathname.codePointAt(1) | 0x20;\n var sep = pathname[2];\n if (letter < 97 || letter > 122 || // a..z A..Z\n (sep !== ':')) {\n return new errors.TypeError('ERR_INVALID_FILE_URL_PATH',\n 'must be absolute');\n }\n return pathname.slice(1);\n }\n}\n\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n return new errors.TypeError('ERR_INVALID_FILE_URL_HOST',\n `must be \"localhost\" or empty on ${platform}`);\n }\n var pathname = url.pathname;\n for (var n = 0; n < pathname.length; n++) {\n if (pathname[n] === '%') {\n var third = pathname.codePointAt(n + 2) | 0x20;\n if (pathname[n + 1] === '2' && third === 102) {\n return new errors.TypeError('ERR_INVALID_FILE_URL_PATH',\n 'must not include encoded / characters');\n }\n }\n }\n return decodeURIComponent(pathname);\n}\n\nfunction getPathFromURL(path) {\n if (path == null || !path[searchParams] ||\n !path[searchParams][searchParams]) {\n return path;\n }\n if (path.protocol !== 'file:')\n return new errors.TypeError('ERR_INVALID_URL_SCHEME', 'file');\n return isWindows ? getPathFromURLWin32(path) : getPathFromURLPosix(path);\n}\n\nfunction NativeURL(ctx) {\n this[context] = ctx;\n}\nNativeURL.prototype = URL.prototype;\n\nfunction constructUrl(flags, protocol, username, password,\n host, port, path, query, fragment) {\n var ctx = new URLContext();\n ctx.flags = flags;\n ctx.scheme = protocol;\n ctx.username = (flags & URL_FLAGS_HAS_USERNAME) !== 0 ? username : '';\n ctx.password = (flags & URL_FLAGS_HAS_PASSWORD) !== 0 ? password : '';\n ctx.port = port;\n ctx.path = (flags & URL_FLAGS_HAS_PATH) !== 0 ? path : [];\n ctx.query = query;\n ctx.fragment = fragment;\n ctx.host = host;\n const url = new NativeURL(ctx);\n url[searchParams] = new URLSearchParams();\n url[searchParams][context] = url;\n initSearchParams(url[searchParams], query);\n return url;\n}\nsetURLConstructor(constructUrl);\n\nmodule.exports = {\n toUSVString,\n getPathFromURL,\n URL,\n URLSearchParams,\n domainToASCII,\n domainToUnicode,\n urlToOptions,\n formatSymbol: kFormat,\n searchParamsSymbol: searchParams\n};\n\n});", "pkgUrl": "(system)" }, { "id": "42", "url": "module.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst NativeModule = require('native_module');\nconst util = require('util');\nconst internalModule = require('internal/module');\nconst vm = require('vm');\nconst assert = require('assert').ok;\nconst fs = require('fs');\nconst internalFS = require('internal/fs');\nconst path = require('path');\nconst internalModuleReadFile = process.binding('fs').internalModuleReadFile;\nconst internalModuleStat = process.binding('fs').internalModuleStat;\nconst preserveSymlinks = !!process.binding('config').preserveSymlinks;\n\nfunction stat(filename) {\n filename = path._makeLong(filename);\n const cache = stat.cache;\n if (cache !== null) {\n const result = cache.get(filename);\n if (result !== undefined) return result;\n }\n const result = internalModuleStat(filename);\n if (cache !== null) cache.set(filename, result);\n return result;\n}\nstat.cache = null;\n\n\nfunction Module(id, parent) {\n this.id = id;\n this.exports = {};\n this.parent = parent;\n if (parent && parent.children) {\n parent.children.push(this);\n }\n\n this.filename = null;\n this.loaded = false;\n this.children = [];\n}\nmodule.exports = Module;\n\nModule._cache = Object.create(null);\nModule._pathCache = Object.create(null);\nModule._extensions = Object.create(null);\nvar modulePaths = [];\nModule.globalPaths = [];\n\nModule.wrapper = NativeModule.wrapper;\nModule.wrap = NativeModule.wrap;\nModule._debug = util.debuglog('module');\n\n// We use this alias for the preprocessor that filters it out\nconst debug = Module._debug;\n\n\n// given a module name, and a list of paths to test, returns the first\n// matching file in the following precedence.\n//\n// require(\"a.\")\n// -> a.\n//\n// require(\"a\")\n// -> a\n// -> a.\n// -> a/index.\n\n// check if the directory is a package.json dir\nconst packageMainCache = Object.create(null);\n\nfunction readPackage(requestPath) {\n const entry = packageMainCache[requestPath];\n if (entry)\n return entry;\n\n const jsonPath = path.resolve(requestPath, 'package.json');\n const json = internalModuleReadFile(path._makeLong(jsonPath));\n\n if (json === undefined) {\n return false;\n }\n\n try {\n var pkg = packageMainCache[requestPath] = JSON.parse(json).main;\n } catch (e) {\n e.path = jsonPath;\n e.message = 'Error parsing ' + jsonPath + ': ' + e.message;\n throw e;\n }\n return pkg;\n}\n\nfunction tryPackage(requestPath, exts, isMain) {\n var pkg = readPackage(requestPath);\n\n if (!pkg) return false;\n\n var filename = path.resolve(requestPath, pkg);\n return tryFile(filename, isMain) ||\n tryExtensions(filename, exts, isMain) ||\n tryExtensions(path.resolve(filename, 'index'), exts, isMain);\n}\n\n// In order to minimize unnecessary lstat() calls,\n// this cache is a list of known-real paths.\n// Set to an empty Map to reset.\nconst realpathCache = new Map();\n\n// check if the file exists and is not a directory\n// if using --preserve-symlinks and isMain is false,\n// keep symlinks intact, otherwise resolve to the\n// absolute realpath.\nfunction tryFile(requestPath, isMain) {\n const rc = stat(requestPath);\n if (preserveSymlinks && !isMain) {\n return rc === 0 && path.resolve(requestPath);\n }\n return rc === 0 && toRealPath(requestPath);\n}\n\nfunction toRealPath(requestPath) {\n return fs.realpathSync(requestPath, {\n [internalFS.realpathCacheKey]: realpathCache\n });\n}\n\n// given a path check a the file exists with any of the set extensions\nfunction tryExtensions(p, exts, isMain) {\n for (var i = 0; i < exts.length; i++) {\n const filename = tryFile(p + exts[i], isMain);\n\n if (filename) {\n return filename;\n }\n }\n return false;\n}\n\nvar warned = false;\nModule._findPath = function(request, paths, isMain) {\n if (path.isAbsolute(request)) {\n paths = [''];\n } else if (!paths || paths.length === 0) {\n return false;\n }\n\n var cacheKey = request + '\\x00' +\n (paths.length === 1 ? paths[0] : paths.join('\\x00'));\n var entry = Module._pathCache[cacheKey];\n if (entry)\n return entry;\n\n var exts;\n var trailingSlash = request.length > 0 &&\n request.charCodeAt(request.length - 1) === 47/*/*/;\n\n // For each path\n for (var i = 0; i < paths.length; i++) {\n // Don't search further if path doesn't exist\n const curPath = paths[i];\n if (curPath && stat(curPath) < 1) continue;\n var basePath = path.resolve(curPath, request);\n var filename;\n\n var rc = stat(basePath);\n if (!trailingSlash) {\n if (rc === 0) { // File.\n if (preserveSymlinks && !isMain) {\n filename = path.resolve(basePath);\n } else {\n filename = toRealPath(basePath);\n }\n } else if (rc === 1) { // Directory.\n if (exts === undefined)\n exts = Object.keys(Module._extensions);\n filename = tryPackage(basePath, exts, isMain);\n }\n\n if (!filename) {\n // try it with each of the extensions\n if (exts === undefined)\n exts = Object.keys(Module._extensions);\n filename = tryExtensions(basePath, exts, isMain);\n }\n }\n\n if (!filename && rc === 1) { // Directory.\n if (exts === undefined)\n exts = Object.keys(Module._extensions);\n filename = tryPackage(basePath, exts, isMain);\n }\n\n if (!filename && rc === 1) { // Directory.\n // try it with each of the extensions at \"index\"\n if (exts === undefined)\n exts = Object.keys(Module._extensions);\n filename = tryExtensions(path.resolve(basePath, 'index'), exts, isMain);\n }\n\n if (filename) {\n // Warn once if '.' resolved outside the module dir\n if (request === '.' && i > 0) {\n if (!warned) {\n warned = true;\n process.emitWarning(\n 'warning: require(\\'.\\') resolved outside the package ' +\n 'directory. This functionality is deprecated and will be removed ' +\n 'soon.',\n 'DeprecationWarning', 'DEP0019');\n }\n }\n\n Module._pathCache[cacheKey] = filename;\n return filename;\n }\n }\n return false;\n};\n\n// 'node_modules' character codes reversed\nvar nmChars = [ 115, 101, 108, 117, 100, 111, 109, 95, 101, 100, 111, 110 ];\nvar nmLen = nmChars.length;\nif (process.platform === 'win32') {\n // 'from' is the __dirname of the module.\n Module._nodeModulePaths = function(from) {\n // guarantee that 'from' is absolute.\n from = path.resolve(from);\n\n // note: this approach *only* works when the path is guaranteed\n // to be absolute. Doing a fully-edge-case-correct path.split\n // that works on both Windows and Posix is non-trivial.\n\n // return root node_modules when path is 'D:\\\\'.\n // path.resolve will make sure from.length >=3 in Windows.\n if (from.charCodeAt(from.length - 1) === 92/*\\*/ &&\n from.charCodeAt(from.length - 2) === 58/*:*/)\n return [from + 'node_modules'];\n\n const paths = [];\n var p = 0;\n var last = from.length;\n for (var i = from.length - 1; i >= 0; --i) {\n const code = from.charCodeAt(i);\n // The path segment separator check ('\\' and '/') was used to get\n // node_modules path for every path segment.\n // Use colon as an extra condition since we can get node_modules\n // path for drive root like 'C:\\node_modules' and don't need to\n // parse drive name.\n if (code === 92/*\\*/ || code === 47/*/*/ || code === 58/*:*/) {\n if (p !== nmLen)\n paths.push(from.slice(0, last) + '\\\\node_modules');\n last = i;\n p = 0;\n } else if (p !== -1) {\n if (nmChars[p] === code) {\n ++p;\n } else {\n p = -1;\n }\n }\n }\n\n return paths;\n };\n} else { // posix\n // 'from' is the __dirname of the module.\n Module._nodeModulePaths = function(from) {\n // guarantee that 'from' is absolute.\n from = path.resolve(from);\n // Return early not only to avoid unnecessary work, but to *avoid* returning\n // an array of two items for a root: [ '//node_modules', '/node_modules' ]\n if (from === '/')\n return ['/node_modules'];\n\n // note: this approach *only* works when the path is guaranteed\n // to be absolute. Doing a fully-edge-case-correct path.split\n // that works on both Windows and Posix is non-trivial.\n const paths = [];\n var p = 0;\n var last = from.length;\n for (var i = from.length - 1; i >= 0; --i) {\n const code = from.charCodeAt(i);\n if (code === 47/*/*/) {\n if (p !== nmLen)\n paths.push(from.slice(0, last) + '/node_modules');\n last = i;\n p = 0;\n } else if (p !== -1) {\n if (nmChars[p] === code) {\n ++p;\n } else {\n p = -1;\n }\n }\n }\n\n // Append /node_modules to handle root paths.\n paths.push('/node_modules');\n\n return paths;\n };\n}\n\n\n// 'index.' character codes\nvar indexChars = [ 105, 110, 100, 101, 120, 46 ];\nvar indexLen = indexChars.length;\nModule._resolveLookupPaths = function(request, parent, newReturn) {\n if (NativeModule.nonInternalExists(request)) {\n debug('looking for %j in []', request);\n return (newReturn ? null : [request, []]);\n }\n\n // Check for relative path\n if (request.length < 2 ||\n request.charCodeAt(0) !== 46/*.*/ ||\n (request.charCodeAt(1) !== 46/*.*/ &&\n request.charCodeAt(1) !== 47/*/*/)) {\n var paths = modulePaths;\n if (parent) {\n if (!parent.paths)\n paths = parent.paths = [];\n else\n paths = parent.paths.concat(paths);\n }\n\n // Maintain backwards compat with certain broken uses of require('.')\n // by putting the module's directory in front of the lookup paths.\n if (request === '.') {\n if (parent && parent.filename) {\n paths.unshift(path.dirname(parent.filename));\n } else {\n paths.unshift(path.resolve(request));\n }\n }\n\n debug('looking for %j in %j', request, paths);\n return (newReturn ? (paths.length > 0 ? paths : null) : [request, paths]);\n }\n\n // with --eval, parent.id is not set and parent.filename is null\n if (!parent || !parent.id || !parent.filename) {\n // make require('./path/to/foo') work - normally the path is taken\n // from realpath(__filename) but with eval there is no filename\n var mainPaths = ['.'].concat(Module._nodeModulePaths('.'), modulePaths);\n\n debug('looking for %j in %j', request, mainPaths);\n return (newReturn ? mainPaths : [request, mainPaths]);\n }\n\n // Is the parent an index module?\n // We can assume the parent has a valid extension,\n // as it already has been accepted as a module.\n const base = path.basename(parent.filename);\n var parentIdPath;\n if (base.length > indexLen) {\n var i = 0;\n for (; i < indexLen; ++i) {\n if (indexChars[i] !== base.charCodeAt(i))\n break;\n }\n if (i === indexLen) {\n // We matched 'index.', let's validate the rest\n for (; i < base.length; ++i) {\n const code = base.charCodeAt(i);\n if (code !== 95/*_*/ &&\n (code < 48/*0*/ || code > 57/*9*/) &&\n (code < 65/*A*/ || code > 90/*Z*/) &&\n (code < 97/*a*/ || code > 122/*z*/))\n break;\n }\n if (i === base.length) {\n // Is an index module\n parentIdPath = parent.id;\n } else {\n // Not an index module\n parentIdPath = path.dirname(parent.id);\n }\n } else {\n // Not an index module\n parentIdPath = path.dirname(parent.id);\n }\n } else {\n // Not an index module\n parentIdPath = path.dirname(parent.id);\n }\n var id = path.resolve(parentIdPath, request);\n\n // make sure require('./path') and require('path') get distinct ids, even\n // when called from the toplevel js file\n if (parentIdPath === '.' && id.indexOf('/') === -1) {\n id = './' + id;\n }\n\n debug('RELATIVE: requested: %s set ID to: %s from %s', request, id,\n parent.id);\n\n var parentDir = [path.dirname(parent.filename)];\n debug('looking for %j in %j', id, parentDir);\n return (newReturn ? parentDir : [id, parentDir]);\n};\n\n\n// Check the cache for the requested file.\n// 1. If a module already exists in the cache: return its exports object.\n// 2. If the module is native: call `NativeModule.require()` with the\n// filename and return the result.\n// 3. Otherwise, create a new module for the file and save it to the cache.\n// Then have it load the file contents before returning its exports\n// object.\nModule._load = function(request, parent, isMain) {\n if (parent) {\n debug('Module._load REQUEST %s parent: %s', request, parent.id);\n }\n\n var filename = Module._resolveFilename(request, parent, isMain);\n\n var cachedModule = Module._cache[filename];\n if (cachedModule) {\n return cachedModule.exports;\n }\n\n if (NativeModule.nonInternalExists(filename)) {\n debug('load native module %s', request);\n return NativeModule.require(filename);\n }\n\n var module = new Module(filename, parent);\n\n if (isMain) {\n process.mainModule = module;\n module.id = '.';\n }\n\n Module._cache[filename] = module;\n\n tryModuleLoad(module, filename);\n\n return module.exports;\n};\n\nfunction tryModuleLoad(module, filename) {\n var threw = true;\n try {\n module.load(filename);\n threw = false;\n } finally {\n if (threw) {\n delete Module._cache[filename];\n }\n }\n}\n\nModule._resolveFilename = function(request, parent, isMain) {\n if (NativeModule.nonInternalExists(request)) {\n return request;\n }\n\n var paths = Module._resolveLookupPaths(request, parent, true);\n\n // look up the filename first, since that's the cache key.\n var filename = Module._findPath(request, paths, isMain);\n if (!filename) {\n var err = new Error(`Cannot find module '${request}'`);\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n }\n return filename;\n};\n\n\n// Given a file name, pass it to the proper extension handler.\nModule.prototype.load = function(filename) {\n debug('load %j for module %j', filename, this.id);\n\n assert(!this.loaded);\n this.filename = filename;\n this.paths = Module._nodeModulePaths(path.dirname(filename));\n\n var extension = path.extname(filename) || '.js';\n if (!Module._extensions[extension]) extension = '.js';\n Module._extensions[extension](this, filename);\n this.loaded = true;\n};\n\n\n// Loads a module at the given file path. Returns that module's\n// `exports` property.\nModule.prototype.require = function(path) {\n assert(path, 'missing path');\n assert(typeof path === 'string', 'path must be a string');\n return Module._load(path, this, /* isMain */ false);\n};\n\n\n// Resolved path to process.argv[1] will be lazily placed here\n// (needed for setting breakpoint when called with --inspect-brk)\nvar resolvedArgv;\n\n\n// Run the file contents in the correct scope or sandbox. Expose\n// the correct helper variables (require, module, exports) to\n// the file.\n// Returns exception, if any.\nModule.prototype._compile = function(content, filename) {\n\n content = internalModule.stripShebang(content);\n\n // create wrapper function\n var wrapper = Module.wrap(content);\n\n var compiledWrapper = vm.runInThisContext(wrapper, {\n filename: filename,\n lineOffset: 0,\n displayErrors: true\n });\n\n var inspectorWrapper = null;\n if (process._breakFirstLine && process._eval == null) {\n if (!resolvedArgv) {\n // we enter the repl if we're not given a filename argument.\n if (process.argv[1]) {\n resolvedArgv = Module._resolveFilename(process.argv[1], null, false);\n } else {\n resolvedArgv = 'repl';\n }\n }\n\n // Set breakpoint on module start\n if (filename === resolvedArgv) {\n delete process._breakFirstLine;\n inspectorWrapper = process.binding('inspector').callAndPauseOnStart;\n if (!inspectorWrapper) {\n const Debug = vm.runInDebugContext('Debug');\n Debug.setBreakPoint(compiledWrapper, 0, 0);\n }\n }\n }\n var dirname = path.dirname(filename);\n var require = internalModule.makeRequireFunction(this);\n var depth = internalModule.requireDepth;\n if (depth === 0) stat.cache = new Map();\n var result;\n if (inspectorWrapper) {\n result = inspectorWrapper(compiledWrapper, this.exports, this.exports,\n require, this, filename, dirname);\n } else {\n result = compiledWrapper.call(this.exports, this.exports, require, this,\n filename, dirname);\n }\n if (depth === 0) stat.cache = null;\n return result;\n};\n\n\n// Native extension for .js\nModule._extensions['.js'] = function(module, filename) {\n var content = fs.readFileSync(filename, 'utf8');\n module._compile(internalModule.stripBOM(content), filename);\n};\n\n\n// Native extension for .json\nModule._extensions['.json'] = function(module, filename) {\n var content = fs.readFileSync(filename, 'utf8');\n try {\n module.exports = JSON.parse(internalModule.stripBOM(content));\n } catch (err) {\n err.message = filename + ': ' + err.message;\n throw err;\n }\n};\n\n\n//Native extension for .node\nModule._extensions['.node'] = function(module, filename) {\n return process.dlopen(module, path._makeLong(filename));\n};\n\n\n// bootstrap main module.\nModule.runMain = function() {\n // Load the main module--the command line argument.\n Module._load(process.argv[1], null, true);\n // Handle any nextTicks added in the first tick of the program\n process._tickCallback();\n};\n\nModule._initPaths = function() {\n const isWindows = process.platform === 'win32';\n\n var homeDir;\n if (isWindows) {\n homeDir = process.env.USERPROFILE;\n } else {\n homeDir = process.env.HOME;\n }\n\n // $PREFIX/lib/node, where $PREFIX is the root of the Node.js installation.\n var prefixDir;\n // process.execPath is $PREFIX/bin/node except on Windows where it is\n // $PREFIX\\node.exe.\n if (isWindows) {\n prefixDir = path.resolve(process.execPath, '..');\n } else {\n prefixDir = path.resolve(process.execPath, '..', '..');\n }\n var paths = [path.resolve(prefixDir, 'lib', 'node')];\n\n if (homeDir) {\n paths.unshift(path.resolve(homeDir, '.node_libraries'));\n paths.unshift(path.resolve(homeDir, '.node_modules'));\n }\n\n var nodePath = process.env['NODE_PATH'];\n if (nodePath) {\n paths = nodePath.split(path.delimiter).filter(function(path) {\n return !!path;\n }).concat(paths);\n }\n\n modulePaths = paths;\n\n // clone as a shallow copy, for introspection.\n Module.globalPaths = modulePaths.slice(0);\n};\n\nModule._preloadModules = function(requests) {\n if (!Array.isArray(requests))\n return;\n\n // Preloaded modules have a dummy parent module which is deemed to exist\n // in the current working directory. This seeds the search path for\n // preloaded modules.\n var parent = new Module('internal/preload', null);\n try {\n parent.paths = Module._nodeModulePaths(process.cwd());\n } catch (e) {\n if (e.code !== 'ENOENT') {\n throw e;\n }\n }\n for (var n = 0; n < requests.length; n++)\n parent.require(requests[n]);\n};\n\nModule._initPaths();\n\n// backwards compatibility\nModule.Module = Module;\n\n});", "pkgUrl": "(system)" }, { "id": "45", "url": "fs.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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// Maintainers, keep in mind that ES1-style octal literals (`0666`) are not\n// allowed in strict mode. Use ES6-style octal literals instead (`0o666`).\n\n'use strict';\n\nconst constants = process.binding('constants').fs;\nconst { S_IFIFO, S_IFLNK, S_IFMT, S_IFREG, S_IFSOCK } = constants;\nconst util = require('util');\nconst pathModule = require('path');\nconst { isUint8Array, createPromise, promiseResolve } = process.binding('util');\n\nconst binding = process.binding('fs');\nconst fs = exports;\nconst Buffer = require('buffer').Buffer;\nconst Stream = require('stream').Stream;\nconst EventEmitter = require('events');\nconst FSReqWrap = binding.FSReqWrap;\nconst FSEvent = process.binding('fs_event_wrap').FSEvent;\nconst internalFS = require('internal/fs');\nconst internalURL = require('internal/url');\nconst internalUtil = require('internal/util');\nconst assertEncoding = internalFS.assertEncoding;\nconst stringToFlags = internalFS.stringToFlags;\nconst getPathFromURL = internalURL.getPathFromURL;\n\nObject.defineProperty(exports, 'constants', {\n configurable: false,\n enumerable: true,\n value: constants\n});\n\nconst Readable = Stream.Readable;\nconst Writable = Stream.Writable;\n\nconst kMinPoolSpace = 128;\nconst kMaxLength = require('buffer').kMaxLength;\n\nconst isWindows = process.platform === 'win32';\n\nconst DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);\nconst errnoException = util._errnoException;\n\nfunction getOptions(options, defaultOptions) {\n if (options === null || options === undefined ||\n typeof options === 'function') {\n return defaultOptions;\n }\n\n if (typeof options === 'string') {\n defaultOptions = util._extend({}, defaultOptions);\n defaultOptions.encoding = options;\n options = defaultOptions;\n } else if (typeof options !== 'object') {\n throw new TypeError('\"options\" must be a string or an object, got ' +\n typeof options + ' instead.');\n }\n\n if (options.encoding !== 'buffer')\n assertEncoding(options.encoding);\n return options;\n}\n\nfunction copyObject(source) {\n var target = {};\n for (var key in source)\n target[key] = source[key];\n return target;\n}\n\nfunction rethrow() {\n // TODO(thefourtheye) Throw error instead of warning in major version > 7\n process.emitWarning(\n 'Calling an asynchronous function without callback is deprecated.',\n 'DeprecationWarning', 'DEP0013', rethrow\n );\n\n // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and\n // is fairly slow to generate.\n if (DEBUG) {\n var backtrace = new Error();\n return function(err) {\n if (err) {\n backtrace.stack = err.name + ': ' + err.message +\n backtrace.stack.substr(backtrace.name.length);\n throw backtrace;\n }\n };\n }\n\n return function(err) {\n if (err) {\n throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs\n }\n };\n}\n\nfunction maybeCallback(cb) {\n return typeof cb === 'function' ? cb : rethrow();\n}\n\n// Ensure that callbacks run in the global context. Only use this function\n// for callbacks that are passed to the binding layer, callbacks that are\n// invoked from JS already run in the proper scope.\nfunction makeCallback(cb) {\n if (cb === undefined) {\n return rethrow();\n }\n\n if (typeof cb !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n\n return function() {\n return cb.apply(null, arguments);\n };\n}\n\n// Special case of `makeCallback()` that is specific to async `*stat()` calls as\n// an optimization, since the data passed back to the callback needs to be\n// transformed anyway.\nfunction makeStatsCallback(cb) {\n if (cb === undefined) {\n return rethrow();\n }\n\n if (typeof cb !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n\n return function(err) {\n if (err) return cb(err);\n cb(err, statsFromValues());\n };\n}\n\nfunction nullCheck(path, callback) {\n if (('' + path).indexOf('\\u0000') !== -1) {\n var er = new Error('Path must be a string without null bytes');\n er.code = 'ENOENT';\n if (typeof callback !== 'function')\n throw er;\n process.nextTick(callback, er);\n return false;\n }\n return true;\n}\n\nfunction isFd(path) {\n return (path >>> 0) === path;\n}\n\n// Constructor for file stats.\nfunction Stats(\n dev,\n mode,\n nlink,\n uid,\n gid,\n rdev,\n blksize,\n ino,\n size,\n blocks,\n atim_msec,\n mtim_msec,\n ctim_msec,\n birthtim_msec) {\n this.dev = dev;\n this.mode = mode;\n this.nlink = nlink;\n this.uid = uid;\n this.gid = gid;\n this.rdev = rdev;\n this.blksize = blksize;\n this.ino = ino;\n this.size = size;\n this.blocks = blocks;\n this.atimeMs = atim_msec;\n this.mtimeMs = mtim_msec;\n this.ctimeMs = ctim_msec;\n this.birthtimeMs = birthtim_msec;\n this.atime = new Date(atim_msec + 0.5);\n this.mtime = new Date(mtim_msec + 0.5);\n this.ctime = new Date(ctim_msec + 0.5);\n this.birthtime = new Date(birthtim_msec + 0.5);\n}\nfs.Stats = Stats;\n\nStats.prototype._checkModeProperty = function(property) {\n return ((this.mode & S_IFMT) === property);\n};\n\nStats.prototype.isDirectory = function() {\n return this._checkModeProperty(constants.S_IFDIR);\n};\n\nStats.prototype.isFile = function() {\n return this._checkModeProperty(S_IFREG);\n};\n\nStats.prototype.isBlockDevice = function() {\n return this._checkModeProperty(constants.S_IFBLK);\n};\n\nStats.prototype.isCharacterDevice = function() {\n return this._checkModeProperty(constants.S_IFCHR);\n};\n\nStats.prototype.isSymbolicLink = function() {\n return this._checkModeProperty(S_IFLNK);\n};\n\nStats.prototype.isFIFO = function() {\n return this._checkModeProperty(S_IFIFO);\n};\n\nStats.prototype.isSocket = function() {\n return this._checkModeProperty(S_IFSOCK);\n};\n\nconst statValues = binding.getStatValues();\n\nfunction statsFromValues() {\n return new Stats(statValues[0], statValues[1], statValues[2], statValues[3],\n statValues[4], statValues[5],\n statValues[6] < 0 ? undefined : statValues[6], statValues[7],\n statValues[8], statValues[9] < 0 ? undefined : statValues[9],\n statValues[10], statValues[11], statValues[12],\n statValues[13]);\n}\n\n// Don't allow mode to accidentally be overwritten.\nObject.defineProperties(fs, {\n F_OK: {enumerable: true, value: constants.F_OK || 0},\n R_OK: {enumerable: true, value: constants.R_OK || 0},\n W_OK: {enumerable: true, value: constants.W_OK || 0},\n X_OK: {enumerable: true, value: constants.X_OK || 0},\n});\n\nfunction handleError(val, callback) {\n if (val instanceof Error) {\n if (typeof callback === 'function') {\n process.nextTick(callback, val);\n return true;\n } else throw val;\n }\n return false;\n}\n\nfs.access = function(path, mode, callback) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = fs.F_OK;\n } else if (typeof callback !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n\n if (!nullCheck(path, callback))\n return;\n\n mode = mode | 0;\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.access(pathModule._makeLong(path), mode, req);\n};\n\nfs.accessSync = function(path, mode) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n\n if (mode === undefined)\n mode = fs.F_OK;\n else\n mode = mode | 0;\n\n binding.access(pathModule._makeLong(path), mode);\n};\n\nfs.exists = function(path, callback) {\n if (handleError((path = getPathFromURL(path)), cb))\n return;\n if (!nullCheck(path, cb)) return;\n var req = new FSReqWrap();\n req.oncomplete = cb;\n binding.stat(pathModule._makeLong(path), req);\n function cb(err) {\n if (callback) callback(err ? false : true);\n }\n};\n\nObject.defineProperty(fs.exists, internalUtil.promisify.custom, {\n value: (path) => {\n const promise = createPromise();\n fs.exists(path, (exists) => promiseResolve(promise, exists));\n return promise;\n }\n});\n\n\nfs.existsSync = function(path) {\n try {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n binding.stat(pathModule._makeLong(path));\n return true;\n } catch (e) {\n return false;\n }\n};\n\nfs.readFile = function(path, options, callback) {\n callback = maybeCallback(callback || options);\n options = getOptions(options, { flag: 'r' });\n\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback))\n return;\n\n var context = new ReadFileContext(callback, options.encoding);\n context.isUserFd = isFd(path); // file descriptor ownership\n var req = new FSReqWrap();\n req.context = context;\n req.oncomplete = readFileAfterOpen;\n\n if (context.isUserFd) {\n process.nextTick(function() {\n req.oncomplete(null, path);\n });\n return;\n }\n\n binding.open(pathModule._makeLong(path),\n stringToFlags(options.flag || 'r'),\n 0o666,\n req);\n};\n\nconst kReadFileBufferLength = 8 * 1024;\n\nfunction ReadFileContext(callback, encoding) {\n this.fd = undefined;\n this.isUserFd = undefined;\n this.size = undefined;\n this.callback = callback;\n this.buffers = null;\n this.buffer = null;\n this.pos = 0;\n this.encoding = encoding;\n this.err = null;\n}\n\nReadFileContext.prototype.read = function() {\n var buffer;\n var offset;\n var length;\n\n if (this.size === 0) {\n buffer = this.buffer = Buffer.allocUnsafeSlow(kReadFileBufferLength);\n offset = 0;\n length = kReadFileBufferLength;\n } else {\n buffer = this.buffer;\n offset = this.pos;\n length = this.size - this.pos;\n }\n\n var req = new FSReqWrap();\n req.oncomplete = readFileAfterRead;\n req.context = this;\n\n binding.read(this.fd, buffer, offset, length, -1, req);\n};\n\nReadFileContext.prototype.close = function(err) {\n var req = new FSReqWrap();\n req.oncomplete = readFileAfterClose;\n req.context = this;\n this.err = err;\n\n if (this.isUserFd) {\n process.nextTick(function() {\n req.oncomplete(null);\n });\n return;\n }\n\n binding.close(this.fd, req);\n};\n\nfunction readFileAfterOpen(err, fd) {\n var context = this.context;\n\n if (err) {\n context.callback(err);\n return;\n }\n\n context.fd = fd;\n\n var req = new FSReqWrap();\n req.oncomplete = readFileAfterStat;\n req.context = context;\n binding.fstat(fd, req);\n}\n\nfunction readFileAfterStat(err) {\n var context = this.context;\n\n if (err)\n return context.close(err);\n\n // Use stats array directly to avoid creating an fs.Stats instance just for\n // our internal use.\n var size;\n if ((statValues[1/*mode*/] & S_IFMT) === S_IFREG)\n size = context.size = statValues[8/*size*/];\n else\n size = context.size = 0;\n\n if (size === 0) {\n context.buffers = [];\n context.read();\n return;\n }\n\n if (size > kMaxLength) {\n err = new RangeError('File size is greater than possible Buffer: ' +\n `0x${kMaxLength.toString(16)} bytes`);\n return context.close(err);\n }\n\n context.buffer = Buffer.allocUnsafeSlow(size);\n context.read();\n}\n\nfunction readFileAfterRead(err, bytesRead) {\n var context = this.context;\n\n if (err)\n return context.close(err);\n\n if (bytesRead === 0)\n return context.close();\n\n context.pos += bytesRead;\n\n if (context.size !== 0) {\n if (context.pos === context.size)\n context.close();\n else\n context.read();\n } else {\n // unknown size, just read until we don't get bytes.\n context.buffers.push(context.buffer.slice(0, bytesRead));\n context.read();\n }\n}\n\nfunction readFileAfterClose(err) {\n var context = this.context;\n var buffer = null;\n var callback = context.callback;\n\n if (context.err || err)\n return callback(context.err || err);\n\n if (context.size === 0)\n buffer = Buffer.concat(context.buffers, context.pos);\n else if (context.pos < context.size)\n buffer = context.buffer.slice(0, context.pos);\n else\n buffer = context.buffer;\n\n if (context.encoding) {\n return tryToString(buffer, context.encoding, callback);\n }\n\n callback(null, buffer);\n}\n\nfunction tryToString(buf, encoding, callback) {\n try {\n buf = buf.toString(encoding);\n } catch (err) {\n return callback(err);\n }\n callback(null, buf);\n}\n\nfunction tryStatSync(fd, isUserFd) {\n var threw = true;\n try {\n binding.fstat(fd);\n threw = false;\n } finally {\n if (threw && !isUserFd) fs.closeSync(fd);\n }\n return !threw;\n}\n\nfunction tryCreateBuffer(size, fd, isUserFd) {\n var threw = true;\n var buffer;\n try {\n buffer = Buffer.allocUnsafe(size);\n threw = false;\n } finally {\n if (threw && !isUserFd) fs.closeSync(fd);\n }\n return buffer;\n}\n\nfunction tryReadSync(fd, isUserFd, buffer, pos, len) {\n var threw = true;\n var bytesRead;\n try {\n bytesRead = fs.readSync(fd, buffer, pos, len);\n threw = false;\n } finally {\n if (threw && !isUserFd) fs.closeSync(fd);\n }\n return bytesRead;\n}\n\nfs.readFileSync = function(path, options) {\n options = getOptions(options, { flag: 'r' });\n var isUserFd = isFd(path); // file descriptor ownership\n var fd = isUserFd ? path : fs.openSync(path, options.flag || 'r', 0o666);\n\n // Use stats array directly to avoid creating an fs.Stats instance just for\n // our internal use.\n var size;\n if (tryStatSync(fd, isUserFd) && (statValues[1/*mode*/] & S_IFMT) === S_IFREG)\n size = statValues[8/*size*/];\n else\n size = 0;\n var pos = 0;\n var buffer; // single buffer with file data\n var buffers; // list for when size is unknown\n\n if (size === 0) {\n buffers = [];\n } else {\n buffer = tryCreateBuffer(size, fd, isUserFd);\n }\n\n var bytesRead;\n\n if (size !== 0) {\n do {\n bytesRead = tryReadSync(fd, isUserFd, buffer, pos, size - pos);\n pos += bytesRead;\n } while (bytesRead !== 0 && pos < size);\n } else {\n do {\n // the kernel lies about many files.\n // Go ahead and try to read some bytes.\n buffer = Buffer.allocUnsafe(8192);\n bytesRead = tryReadSync(fd, isUserFd, buffer, 0, 8192);\n if (bytesRead !== 0) {\n buffers.push(buffer.slice(0, bytesRead));\n }\n pos += bytesRead;\n } while (bytesRead !== 0);\n }\n\n if (!isUserFd)\n fs.closeSync(fd);\n\n if (size === 0) {\n // data was collected into the buffers list.\n buffer = Buffer.concat(buffers, pos);\n } else if (pos < size) {\n buffer = buffer.slice(0, pos);\n }\n\n if (options.encoding) buffer = buffer.toString(options.encoding);\n return buffer;\n};\n\n\n// Yes, the follow could be easily DRYed up but I provide the explicit\n// list to make the arguments clear.\n\nfs.close = function(fd, callback) {\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.close(fd, req);\n};\n\nfs.closeSync = function(fd) {\n return binding.close(fd);\n};\n\nfunction modeNum(m, def) {\n if (typeof m === 'number')\n return m;\n if (typeof m === 'string')\n return parseInt(m, 8);\n if (def)\n return modeNum(def);\n return undefined;\n}\n\nfs.open = function(path, flags, mode, callback_) {\n var callback = makeCallback(arguments[arguments.length - 1]);\n mode = modeNum(mode, 0o666);\n\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n\n var req = new FSReqWrap();\n req.oncomplete = callback;\n\n binding.open(pathModule._makeLong(path),\n stringToFlags(flags),\n mode,\n req);\n};\n\nfs.openSync = function(path, flags, mode) {\n mode = modeNum(mode, 0o666);\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);\n};\n\nfs.read = function(fd, buffer, offset, length, position, callback) {\n if (length === 0) {\n return process.nextTick(function() {\n callback && callback(null, 0, buffer);\n });\n }\n\n function wrapper(err, bytesRead) {\n // Retain a reference to buffer so that it can't be GC'ed too soon.\n callback && callback(err, bytesRead || 0, buffer);\n }\n\n var req = new FSReqWrap();\n req.oncomplete = wrapper;\n\n binding.read(fd, buffer, offset, length, position, req);\n};\n\nObject.defineProperty(fs.read, internalUtil.customPromisifyArgs,\n { value: ['bytesRead', 'buffer'], enumerable: false });\n\nfs.readSync = function(fd, buffer, offset, length, position) {\n if (length === 0) {\n return 0;\n }\n\n return binding.read(fd, buffer, offset, length, position);\n};\n\n// usage:\n// fs.write(fd, buffer[, offset[, length[, position]]], callback);\n// OR\n// fs.write(fd, string[, position[, encoding]], callback);\nfs.write = function(fd, buffer, offset, length, position, callback) {\n function wrapper(err, written) {\n // Retain a reference to buffer so that it can't be GC'ed too soon.\n callback(err, written || 0, buffer);\n }\n\n var req = new FSReqWrap();\n req.oncomplete = wrapper;\n\n if (isUint8Array(buffer)) {\n callback = maybeCallback(callback || position || length || offset);\n if (typeof offset !== 'number') {\n offset = 0;\n }\n if (typeof length !== 'number') {\n length = buffer.length - offset;\n }\n if (typeof position !== 'number') {\n position = null;\n }\n return binding.writeBuffer(fd, buffer, offset, length, position, req);\n }\n\n if (typeof buffer !== 'string')\n buffer += '';\n if (typeof position !== 'function') {\n if (typeof offset === 'function') {\n position = offset;\n offset = null;\n } else {\n position = length;\n }\n length = 'utf8';\n }\n callback = maybeCallback(position);\n return binding.writeString(fd, buffer, offset, length, req);\n};\n\nObject.defineProperty(fs.write, internalUtil.customPromisifyArgs,\n { value: ['bytesWritten', 'buffer'], enumerable: false });\n\n// usage:\n// fs.writeSync(fd, buffer[, offset[, length[, position]]]);\n// OR\n// fs.writeSync(fd, string[, position[, encoding]]);\nfs.writeSync = function(fd, buffer, offset, length, position) {\n if (isUint8Array(buffer)) {\n if (position === undefined)\n position = null;\n if (typeof offset !== 'number')\n offset = 0;\n if (typeof length !== 'number')\n length = buffer.length - offset;\n return binding.writeBuffer(fd, buffer, offset, length, position);\n }\n if (typeof buffer !== 'string')\n buffer += '';\n if (offset === undefined)\n offset = null;\n return binding.writeString(fd, buffer, offset, length, position);\n};\n\nfs.rename = function(oldPath, newPath, callback) {\n callback = makeCallback(callback);\n if (handleError((oldPath = getPathFromURL(oldPath)), callback))\n return;\n\n if (handleError((newPath = getPathFromURL(newPath)), callback))\n return;\n\n if (!nullCheck(oldPath, callback)) return;\n if (!nullCheck(newPath, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.rename(pathModule._makeLong(oldPath),\n pathModule._makeLong(newPath),\n req);\n};\n\nfs.renameSync = function(oldPath, newPath) {\n handleError((oldPath = getPathFromURL(oldPath)));\n handleError((newPath = getPathFromURL(newPath)));\n nullCheck(oldPath);\n nullCheck(newPath);\n return binding.rename(pathModule._makeLong(oldPath),\n pathModule._makeLong(newPath));\n};\n\nfs.truncate = function(path, len, callback) {\n if (typeof path === 'number') {\n return fs.ftruncate(path, len, callback);\n }\n if (typeof len === 'function') {\n callback = len;\n len = 0;\n } else if (len === undefined) {\n len = 0;\n }\n\n callback = maybeCallback(callback);\n fs.open(path, 'r+', function(er, fd) {\n if (er) return callback(er);\n var req = new FSReqWrap();\n req.oncomplete = function oncomplete(er) {\n fs.close(fd, function(er2) {\n callback(er || er2);\n });\n };\n binding.ftruncate(fd, len, req);\n });\n};\n\nfs.truncateSync = function(path, len) {\n if (typeof path === 'number') {\n // legacy\n return fs.ftruncateSync(path, len);\n }\n if (len === undefined) {\n len = 0;\n }\n // allow error to be thrown, but still close fd.\n var fd = fs.openSync(path, 'r+');\n var ret;\n\n try {\n ret = fs.ftruncateSync(fd, len);\n } finally {\n fs.closeSync(fd);\n }\n return ret;\n};\n\nfs.ftruncate = function(fd, len, callback) {\n if (typeof len === 'function') {\n callback = len;\n len = 0;\n } else if (len === undefined) {\n len = 0;\n }\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.ftruncate(fd, len, req);\n};\n\nfs.ftruncateSync = function(fd, len) {\n if (len === undefined) {\n len = 0;\n }\n return binding.ftruncate(fd, len);\n};\n\nfs.rmdir = function(path, callback) {\n callback = maybeCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.rmdir(pathModule._makeLong(path), req);\n};\n\nfs.rmdirSync = function(path) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.rmdir(pathModule._makeLong(path));\n};\n\nfs.fdatasync = function(fd, callback) {\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.fdatasync(fd, req);\n};\n\nfs.fdatasyncSync = function(fd) {\n return binding.fdatasync(fd);\n};\n\nfs.fsync = function(fd, callback) {\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.fsync(fd, req);\n};\n\nfs.fsyncSync = function(fd) {\n return binding.fsync(fd);\n};\n\nfs.mkdir = function(path, mode, callback) {\n if (typeof mode === 'function') callback = mode;\n callback = makeCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.mkdir(pathModule._makeLong(path),\n modeNum(mode, 0o777),\n req);\n};\n\nfs.mkdirSync = function(path, mode) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.mkdir(pathModule._makeLong(path),\n modeNum(mode, 0o777));\n};\n\nfs.readdir = function(path, options, callback) {\n callback = makeCallback(typeof options === 'function' ? options : callback);\n options = getOptions(options, {});\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.readdir(pathModule._makeLong(path), options.encoding, req);\n};\n\nfs.readdirSync = function(path, options) {\n options = getOptions(options, {});\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.readdir(pathModule._makeLong(path), options.encoding);\n};\n\nfs.fstat = function(fd, callback) {\n var req = new FSReqWrap();\n req.oncomplete = makeStatsCallback(callback);\n binding.fstat(fd, req);\n};\n\nfs.lstat = function(path, callback) {\n callback = makeStatsCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.lstat(pathModule._makeLong(path), req);\n};\n\nfs.stat = function(path, callback) {\n callback = makeStatsCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.stat(pathModule._makeLong(path), req);\n};\n\nfs.fstatSync = function(fd) {\n binding.fstat(fd);\n return statsFromValues();\n};\n\nfs.lstatSync = function(path) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n binding.lstat(pathModule._makeLong(path));\n return statsFromValues();\n};\n\nfs.statSync = function(path) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n binding.stat(pathModule._makeLong(path));\n return statsFromValues();\n};\n\nfs.readlink = function(path, options, callback) {\n callback = makeCallback(typeof options === 'function' ? options : callback);\n options = getOptions(options, {});\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.readlink(pathModule._makeLong(path), options.encoding, req);\n};\n\nfs.readlinkSync = function(path, options) {\n options = getOptions(options, {});\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.readlink(pathModule._makeLong(path), options.encoding);\n};\n\nfunction preprocessSymlinkDestination(path, type, linkPath) {\n if (!isWindows) {\n // No preprocessing is needed on Unix.\n return path;\n } else if (type === 'junction') {\n // Junctions paths need to be absolute and \\\\?\\-prefixed.\n // A relative target is relative to the link's parent directory.\n path = pathModule.resolve(linkPath, '..', path);\n return pathModule._makeLong(path);\n } else {\n // Windows symlinks don't tolerate forward slashes.\n return ('' + path).replace(/\\//g, '\\\\');\n }\n}\n\nfs.symlink = function(target, path, type_, callback_) {\n var type = (typeof type_ === 'string' ? type_ : null);\n var callback = makeCallback(arguments[arguments.length - 1]);\n\n if (handleError((target = getPathFromURL(target)), callback))\n return;\n\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n\n if (!nullCheck(target, callback)) return;\n if (!nullCheck(path, callback)) return;\n\n var req = new FSReqWrap();\n req.oncomplete = callback;\n\n binding.symlink(preprocessSymlinkDestination(target, type, path),\n pathModule._makeLong(path),\n type,\n req);\n};\n\nfs.symlinkSync = function(target, path, type) {\n type = (typeof type === 'string' ? type : null);\n handleError((target = getPathFromURL(target)));\n handleError((path = getPathFromURL(path)));\n nullCheck(target);\n nullCheck(path);\n\n return binding.symlink(preprocessSymlinkDestination(target, type, path),\n pathModule._makeLong(path),\n type);\n};\n\nfs.link = function(existingPath, newPath, callback) {\n callback = makeCallback(callback);\n\n if (handleError((existingPath = getPathFromURL(existingPath)), callback))\n return;\n\n if (handleError((newPath = getPathFromURL(newPath)), callback))\n return;\n\n if (!nullCheck(existingPath, callback)) return;\n if (!nullCheck(newPath, callback)) return;\n\n var req = new FSReqWrap();\n req.oncomplete = callback;\n\n binding.link(pathModule._makeLong(existingPath),\n pathModule._makeLong(newPath),\n req);\n};\n\nfs.linkSync = function(existingPath, newPath) {\n handleError((existingPath = getPathFromURL(existingPath)));\n handleError((newPath = getPathFromURL(newPath)));\n nullCheck(existingPath);\n nullCheck(newPath);\n return binding.link(pathModule._makeLong(existingPath),\n pathModule._makeLong(newPath));\n};\n\nfs.unlink = function(path, callback) {\n callback = makeCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.unlink(pathModule._makeLong(path), req);\n};\n\nfs.unlinkSync = function(path) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.unlink(pathModule._makeLong(path));\n};\n\nfs.fchmod = function(fd, mode, callback) {\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.fchmod(fd, modeNum(mode), req);\n};\n\nfs.fchmodSync = function(fd, mode) {\n return binding.fchmod(fd, modeNum(mode));\n};\n\nif (constants.O_SYMLINK !== undefined) {\n fs.lchmod = function(path, mode, callback) {\n callback = maybeCallback(callback);\n fs.open(path, constants.O_WRONLY | constants.O_SYMLINK, function(err, fd) {\n if (err) {\n callback(err);\n return;\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function(err) {\n fs.close(fd, function(err2) {\n callback(err || err2);\n });\n });\n });\n };\n\n fs.lchmodSync = function(path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK);\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var err, err2, ret;\n try {\n ret = fs.fchmodSync(fd, mode);\n } catch (er) {\n err = er;\n }\n try {\n fs.closeSync(fd);\n } catch (er) {\n err2 = er;\n }\n if (err || err2) throw (err || err2);\n return ret;\n };\n}\n\n\nfs.chmod = function(path, mode, callback) {\n callback = makeCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.chmod(pathModule._makeLong(path),\n modeNum(mode),\n req);\n};\n\nfs.chmodSync = function(path, mode) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.chmod(pathModule._makeLong(path), modeNum(mode));\n};\n\nif (constants.O_SYMLINK !== undefined) {\n fs.lchown = function(path, uid, gid, callback) {\n callback = maybeCallback(callback);\n fs.open(path, constants.O_WRONLY | constants.O_SYMLINK, function(err, fd) {\n if (err) {\n callback(err);\n return;\n }\n fs.fchown(fd, uid, gid, callback);\n });\n };\n\n fs.lchownSync = function(path, uid, gid) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK);\n return fs.fchownSync(fd, uid, gid);\n };\n}\n\nfs.fchown = function(fd, uid, gid, callback) {\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.fchown(fd, uid, gid, req);\n};\n\nfs.fchownSync = function(fd, uid, gid) {\n return binding.fchown(fd, uid, gid);\n};\n\nfs.chown = function(path, uid, gid, callback) {\n callback = makeCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.chown(pathModule._makeLong(path), uid, gid, req);\n};\n\nfs.chownSync = function(path, uid, gid) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n return binding.chown(pathModule._makeLong(path), uid, gid);\n};\n\n// converts Date or number to a fractional UNIX timestamp\nfunction toUnixTimestamp(time) {\n // eslint-disable-next-line eqeqeq\n if (typeof time === 'string' && +time == time) {\n return +time;\n }\n if (Number.isFinite(time)) {\n if (time < 0) {\n return Date.now() / 1000;\n }\n return time;\n }\n if (util.isDate(time)) {\n // convert to 123.456 UNIX timestamp\n return time.getTime() / 1000;\n }\n throw new Error('Cannot parse time: ' + time);\n}\n\n// exported for unit tests, not for public consumption\nfs._toUnixTimestamp = toUnixTimestamp;\n\nfs.utimes = function(path, atime, mtime, callback) {\n callback = makeCallback(callback);\n if (handleError((path = getPathFromURL(path)), callback))\n return;\n if (!nullCheck(path, callback)) return;\n var req = new FSReqWrap();\n req.oncomplete = callback;\n binding.utimes(pathModule._makeLong(path),\n toUnixTimestamp(atime),\n toUnixTimestamp(mtime),\n req);\n};\n\nfs.utimesSync = function(path, atime, mtime) {\n handleError((path = getPathFromURL(path)));\n nullCheck(path);\n atime = toUnixTimestamp(atime);\n mtime = toUnixTimestamp(mtime);\n binding.utimes(pathModule._makeLong(path), atime, mtime);\n};\n\nfs.futimes = function(fd, atime, mtime, callback) {\n atime = toUnixTimestamp(atime);\n mtime = toUnixTimestamp(mtime);\n var req = new FSReqWrap();\n req.oncomplete = makeCallback(callback);\n binding.futimes(fd, atime, mtime, req);\n};\n\nfs.futimesSync = function(fd, atime, mtime) {\n atime = toUnixTimestamp(atime);\n mtime = toUnixTimestamp(mtime);\n binding.futimes(fd, atime, mtime);\n};\n\nfunction writeAll(fd, isUserFd, buffer, offset, length, position, callback) {\n // write(fd, buffer, offset, length, position, callback)\n fs.write(fd, buffer, offset, length, position, function(writeErr, written) {\n if (writeErr) {\n if (isUserFd) {\n callback(writeErr);\n } else {\n fs.close(fd, function() {\n callback(writeErr);\n });\n }\n } else {\n if (written === length) {\n if (isUserFd) {\n callback(null);\n } else {\n fs.close(fd, callback);\n }\n } else {\n offset += written;\n length -= written;\n if (position !== null) {\n position += written;\n }\n writeAll(fd, isUserFd, buffer, offset, length, position, callback);\n }\n }\n });\n}\n\nfs.writeFile = function(path, data, options, callback) {\n callback = maybeCallback(callback || options);\n options = getOptions(options, { encoding: 'utf8', mode: 0o666, flag: 'w' });\n const flag = options.flag || 'w';\n\n if (isFd(path)) {\n writeFd(path, true);\n return;\n }\n\n fs.open(path, flag, options.mode, function(openErr, fd) {\n if (openErr) {\n callback(openErr);\n } else {\n writeFd(fd, false);\n }\n });\n\n function writeFd(fd, isUserFd) {\n var buffer = isUint8Array(data) ?\n data : Buffer.from('' + data, options.encoding || 'utf8');\n var position = /a/.test(flag) ? null : 0;\n\n writeAll(fd, isUserFd, buffer, 0, buffer.length, position, callback);\n }\n};\n\nfs.writeFileSync = function(path, data, options) {\n options = getOptions(options, { encoding: 'utf8', mode: 0o666, flag: 'w' });\n const flag = options.flag || 'w';\n\n var isUserFd = isFd(path); // file descriptor ownership\n var fd = isUserFd ? path : fs.openSync(path, flag, options.mode);\n\n if (!isUint8Array(data)) {\n data = Buffer.from('' + data, options.encoding || 'utf8');\n }\n var offset = 0;\n var length = data.length;\n var position = /a/.test(flag) ? null : 0;\n try {\n while (length > 0) {\n var written = fs.writeSync(fd, data, offset, length, position);\n offset += written;\n length -= written;\n if (position !== null) {\n position += written;\n }\n }\n } finally {\n if (!isUserFd) fs.closeSync(fd);\n }\n};\n\nfs.appendFile = function(path, data, options, callback) {\n callback = maybeCallback(callback || options);\n options = getOptions(options, { encoding: 'utf8', mode: 0o666, flag: 'a' });\n\n // Don't make changes directly on options object\n options = copyObject(options);\n\n // force append behavior when using a supplied file descriptor\n if (!options.flag || isFd(path))\n options.flag = 'a';\n\n fs.writeFile(path, data, options, callback);\n};\n\nfs.appendFileSync = function(path, data, options) {\n options = getOptions(options, { encoding: 'utf8', mode: 0o666, flag: 'a' });\n\n // Don't make changes directly on options object\n options = copyObject(options);\n\n // force append behavior when using a supplied file descriptor\n if (!options.flag || isFd(path))\n options.flag = 'a';\n\n fs.writeFileSync(path, data, options);\n};\n\nfunction FSWatcher() {\n EventEmitter.call(this);\n\n var self = this;\n this._handle = new FSEvent();\n this._handle.owner = this;\n\n this._handle.onchange = function(status, eventType, filename) {\n if (status < 0) {\n self._handle.close();\n const error = !filename ?\n errnoException(status, 'Error watching file for changes:') :\n errnoException(status,\n `Error watching file ${filename} for changes:`);\n error.filename = filename;\n self.emit('error', error);\n } else {\n self.emit('change', eventType, filename);\n }\n };\n}\nutil.inherits(FSWatcher, EventEmitter);\n\nFSWatcher.prototype.start = function(filename,\n persistent,\n recursive,\n encoding) {\n handleError((filename = getPathFromURL(filename)));\n nullCheck(filename);\n var err = this._handle.start(pathModule._makeLong(filename),\n persistent,\n recursive,\n encoding);\n if (err) {\n this._handle.close();\n const error = errnoException(err, `watch ${filename}`);\n error.filename = filename;\n throw error;\n }\n};\n\nFSWatcher.prototype.close = function() {\n this._handle.close();\n};\n\nfs.watch = function(filename, options, listener) {\n handleError((filename = getPathFromURL(filename)));\n nullCheck(filename);\n\n if (typeof options === 'function') {\n listener = options;\n }\n options = getOptions(options, {});\n\n // Don't make changes directly on options object\n options = copyObject(options);\n\n if (options.persistent === undefined) options.persistent = true;\n if (options.recursive === undefined) options.recursive = false;\n\n const watcher = new FSWatcher();\n watcher.start(filename,\n options.persistent,\n options.recursive,\n options.encoding);\n\n if (listener) {\n watcher.addListener('change', listener);\n }\n\n return watcher;\n};\n\n\n// Stat Change Watchers\n\nfunction emitStop(self) {\n self.emit('stop');\n}\n\nfunction statsFromPrevValues() {\n return new Stats(statValues[14], statValues[15], statValues[16],\n statValues[17], statValues[18], statValues[19],\n statValues[20] < 0 ? undefined : statValues[20],\n statValues[21], statValues[22],\n statValues[23] < 0 ? undefined : statValues[23],\n statValues[24], statValues[25], statValues[26],\n statValues[27]);\n}\nfunction StatWatcher() {\n EventEmitter.call(this);\n\n var self = this;\n this._handle = new binding.StatWatcher();\n\n // uv_fs_poll is a little more powerful than ev_stat but we curb it for\n // the sake of backwards compatibility\n var oldStatus = -1;\n\n this._handle.onchange = function(newStatus) {\n if (oldStatus === -1 &&\n newStatus === -1 &&\n statValues[2/*new nlink*/] === statValues[16/*old nlink*/]) return;\n\n oldStatus = newStatus;\n self.emit('change', statsFromValues(), statsFromPrevValues());\n };\n\n this._handle.onstop = function() {\n process.nextTick(emitStop, self);\n };\n}\nutil.inherits(StatWatcher, EventEmitter);\n\n\nStatWatcher.prototype.start = function(filename, persistent, interval) {\n handleError((filename = getPathFromURL(filename)));\n nullCheck(filename);\n this._handle.start(pathModule._makeLong(filename), persistent, interval);\n};\n\n\nStatWatcher.prototype.stop = function() {\n this._handle.stop();\n};\n\n\nconst statWatchers = new Map();\n\nfs.watchFile = function(filename, options, listener) {\n handleError((filename = getPathFromURL(filename)));\n nullCheck(filename);\n filename = pathModule.resolve(filename);\n var stat;\n\n var defaults = {\n // Poll interval in milliseconds. 5007 is what libev used to use. It's\n // a little on the slow side but let's stick with it for now to keep\n // behavioral changes to a minimum.\n interval: 5007,\n persistent: true\n };\n\n if (options !== null && typeof options === 'object') {\n options = util._extend(defaults, options);\n } else {\n listener = options;\n options = defaults;\n }\n\n if (typeof listener !== 'function') {\n throw new Error('\"watchFile()\" requires a listener function');\n }\n\n stat = statWatchers.get(filename);\n\n if (stat === undefined) {\n stat = new StatWatcher();\n stat.start(filename, options.persistent, options.interval);\n statWatchers.set(filename, stat);\n }\n\n stat.addListener('change', listener);\n return stat;\n};\n\nfs.unwatchFile = function(filename, listener) {\n handleError((filename = getPathFromURL(filename)));\n nullCheck(filename);\n filename = pathModule.resolve(filename);\n var stat = statWatchers.get(filename);\n\n if (stat === undefined) return;\n\n if (typeof listener === 'function') {\n stat.removeListener('change', listener);\n } else {\n stat.removeAllListeners('change');\n }\n\n if (stat.listenerCount('change') === 0) {\n stat.stop();\n statWatchers.delete(filename);\n }\n};\n\n\nvar splitRoot;\nif (isWindows) {\n // Regex to find the device root on Windows (e.g. 'c:\\\\'), including trailing\n // slash.\n const splitRootRe = /^(?:[a-zA-Z]:|[\\\\/]{2}[^\\\\/]+[\\\\/][^\\\\/]+)?[\\\\/]*/;\n splitRoot = function splitRoot(str) {\n return splitRootRe.exec(str)[0];\n };\n} else {\n splitRoot = function splitRoot(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str.charCodeAt(i) !== 47/*'/'*/)\n return str.slice(0, i);\n }\n return str;\n };\n}\n\nfunction encodeRealpathResult(result, options) {\n if (!options || !options.encoding || options.encoding === 'utf8')\n return result;\n const asBuffer = Buffer.from(result);\n if (options.encoding === 'buffer') {\n return asBuffer;\n } else {\n return asBuffer.toString(options.encoding);\n }\n}\n\n// Finds the next portion of a (partial) path, up to the next path delimiter\nvar nextPart;\nif (isWindows) {\n nextPart = function nextPart(p, i) {\n for (; i < p.length; ++i) {\n const ch = p.charCodeAt(i);\n if (ch === 92/*'\\'*/ || ch === 47/*'/'*/)\n return i;\n }\n return -1;\n };\n} else {\n nextPart = function nextPart(p, i) { return p.indexOf('/', i); };\n}\n\nconst emptyObj = Object.create(null);\nfs.realpathSync = function realpathSync(p, options) {\n if (!options)\n options = emptyObj;\n else\n options = getOptions(options, emptyObj);\n if (typeof p !== 'string') {\n handleError((p = getPathFromURL(p)));\n if (typeof p !== 'string')\n p += '';\n }\n nullCheck(p);\n p = pathModule.resolve(p);\n\n const cache = options[internalFS.realpathCacheKey];\n const maybeCachedResult = cache && cache.get(p);\n if (maybeCachedResult) {\n return maybeCachedResult;\n }\n\n const seenLinks = Object.create(null);\n const knownHard = Object.create(null);\n const original = p;\n\n // current character position in p\n var pos;\n // the partial path so far, including a trailing slash if any\n var current;\n // the partial path without a trailing slash (except when pointing at a root)\n var base;\n // the partial path scanned in the previous round, with slash\n var previous;\n\n // Skip over roots\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n binding.lstat(pathModule._makeLong(base));\n knownHard[base] = true;\n }\n\n // walk down the path, swapping out linked pathparts for their real\n // values\n // NB: p.length changes.\n while (pos < p.length) {\n // find the next part\n var result = nextPart(p, pos);\n previous = current;\n if (result === -1) {\n var last = p.slice(pos);\n current += last;\n base = previous + last;\n pos = p.length;\n } else {\n current += p.slice(pos, result + 1);\n base = previous + p.slice(pos, result);\n pos = result + 1;\n }\n\n // continue if not a symlink, break if a pipe/socket\n if (knownHard[base] || (cache && cache.get(base) === base)) {\n if ((statValues[1/*mode*/] & S_IFMT) === S_IFIFO ||\n (statValues[1/*mode*/] & S_IFMT) === S_IFSOCK) {\n break;\n }\n continue;\n }\n\n var resolvedLink;\n var maybeCachedResolved = cache && cache.get(base);\n if (maybeCachedResolved) {\n resolvedLink = maybeCachedResolved;\n } else {\n // Use stats array directly to avoid creating an fs.Stats instance just\n // for our internal use.\n\n var baseLong = pathModule._makeLong(base);\n binding.lstat(baseLong);\n\n if ((statValues[1/*mode*/] & S_IFMT) !== S_IFLNK) {\n knownHard[base] = true;\n if (cache) cache.set(base, base);\n continue;\n }\n\n // read the link if it wasn't read before\n // dev/ino always return 0 on windows, so skip the check.\n var linkTarget = null;\n var id;\n if (!isWindows) {\n var dev = statValues[0/*dev*/].toString(32);\n var ino = statValues[7/*ino*/].toString(32);\n id = `${dev}:${ino}`;\n if (seenLinks[id]) {\n linkTarget = seenLinks[id];\n }\n }\n if (linkTarget === null) {\n binding.stat(baseLong);\n linkTarget = binding.readlink(baseLong);\n }\n resolvedLink = pathModule.resolve(previous, linkTarget);\n\n if (cache) cache.set(base, resolvedLink);\n if (!isWindows) seenLinks[id] = linkTarget;\n }\n\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n\n // Skip over roots\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n binding.lstat(pathModule._makeLong(base));\n knownHard[base] = true;\n }\n }\n\n if (cache) cache.set(original, p);\n return encodeRealpathResult(p, options);\n};\n\n\nfs.realpath = function realpath(p, options, callback) {\n callback = maybeCallback(typeof options === 'function' ? options : callback);\n if (!options)\n options = emptyObj;\n else\n options = getOptions(options, emptyObj);\n if (typeof p !== 'string') {\n if (handleError((p = getPathFromURL(p)), callback))\n return;\n if (typeof p !== 'string')\n p += '';\n }\n if (!nullCheck(p, callback))\n return;\n p = pathModule.resolve(p);\n\n const seenLinks = Object.create(null);\n const knownHard = Object.create(null);\n\n // current character position in p\n var pos;\n // the partial path so far, including a trailing slash if any\n var current;\n // the partial path without a trailing slash (except when pointing at a root)\n var base;\n // the partial path scanned in the previous round, with slash\n var previous;\n\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstat(base, function(err) {\n if (err) return callback(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n\n // walk down the path, swapping out linked pathparts for their real\n // values\n function LOOP() {\n // stop if scanned past end of path\n if (pos >= p.length) {\n return callback(null, encodeRealpathResult(p, options));\n }\n\n // find the next part\n var result = nextPart(p, pos);\n previous = current;\n if (result === -1) {\n var last = p.slice(pos);\n current += last;\n base = previous + last;\n pos = p.length;\n } else {\n current += p.slice(pos, result + 1);\n base = previous + p.slice(pos, result);\n pos = result + 1;\n }\n\n // continue if not a symlink, break if a pipe/socket\n if (knownHard[base]) {\n if ((statValues[1/*mode*/] & S_IFMT) === S_IFIFO ||\n (statValues[1/*mode*/] & S_IFMT) === S_IFSOCK) {\n return callback(null, encodeRealpathResult(p, options));\n }\n return process.nextTick(LOOP);\n }\n\n return fs.lstat(base, gotStat);\n }\n\n function gotStat(err) {\n if (err) return callback(err);\n\n // Use stats array directly to avoid creating an fs.Stats instance just for\n // our internal use.\n\n // if not a symlink, skip to the next path part\n if ((statValues[1/*mode*/] & S_IFMT) !== S_IFLNK) {\n knownHard[base] = true;\n return process.nextTick(LOOP);\n }\n\n // stat & read the link if not read before\n // call gotTarget as soon as the link target is known\n // dev/ino always return 0 on windows, so skip the check.\n let id;\n if (!isWindows) {\n var dev = statValues[0/*ino*/].toString(32);\n var ino = statValues[7/*ino*/].toString(32);\n id = `${dev}:${ino}`;\n if (seenLinks[id]) {\n return gotTarget(null, seenLinks[id], base);\n }\n }\n fs.stat(base, function(err) {\n if (err) return callback(err);\n\n fs.readlink(base, function(err, target) {\n if (!isWindows) seenLinks[id] = target;\n gotTarget(err, target);\n });\n });\n }\n\n function gotTarget(err, target, base) {\n if (err) return callback(err);\n\n var resolvedLink = pathModule.resolve(previous, target);\n gotResolvedLink(resolvedLink);\n }\n\n function gotResolvedLink(resolvedLink) {\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n current = base = splitRoot(p);\n pos = current.length;\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstat(base, function(err) {\n if (err) return callback(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n }\n};\n\nfs.mkdtemp = function(prefix, options, callback) {\n callback = makeCallback(typeof options === 'function' ? options : callback);\n options = getOptions(options, {});\n if (!prefix || typeof prefix !== 'string')\n throw new TypeError('filename prefix is required');\n if (!nullCheck(prefix, callback)) {\n return;\n }\n\n var req = new FSReqWrap();\n req.oncomplete = callback;\n\n binding.mkdtemp(prefix + 'XXXXXX', options.encoding, req);\n};\n\n\nfs.mkdtempSync = function(prefix, options) {\n if (!prefix || typeof prefix !== 'string')\n throw new TypeError('filename prefix is required');\n options = getOptions(options, {});\n nullCheck(prefix);\n return binding.mkdtemp(prefix + 'XXXXXX', options.encoding);\n};\n\n\nvar pool;\n\nfunction allocNewPool(poolSize) {\n pool = Buffer.allocUnsafe(poolSize);\n pool.used = 0;\n}\n\n\nfs.createReadStream = function(path, options) {\n return new ReadStream(path, options);\n};\n\nutil.inherits(ReadStream, Readable);\nfs.ReadStream = ReadStream;\n\nfunction ReadStream(path, options) {\n if (!(this instanceof ReadStream))\n return new ReadStream(path, options);\n\n // a little bit bigger buffer and water marks by default\n options = copyObject(getOptions(options, {}));\n if (options.highWaterMark === undefined)\n options.highWaterMark = 64 * 1024;\n\n Readable.call(this, options);\n\n handleError((this.path = getPathFromURL(path)));\n this.fd = options.fd === undefined ? null : options.fd;\n this.flags = options.flags === undefined ? 'r' : options.flags;\n this.mode = options.mode === undefined ? 0o666 : options.mode;\n\n this.start = options.start;\n this.end = options.end;\n this.autoClose = options.autoClose === undefined ? true : options.autoClose;\n this.pos = undefined;\n this.bytesRead = 0;\n\n if (this.start !== undefined) {\n if (typeof this.start !== 'number') {\n throw new TypeError('\"start\" option must be a Number');\n }\n if (this.end === undefined) {\n this.end = Infinity;\n } else if (typeof this.end !== 'number') {\n throw new TypeError('\"end\" option must be a Number');\n }\n\n if (this.start > this.end) {\n throw new Error('\"start\" option must be <= \"end\" option');\n }\n\n this.pos = this.start;\n }\n\n if (typeof this.fd !== 'number')\n this.open();\n\n this.on('end', function() {\n if (this.autoClose) {\n this.destroy();\n }\n });\n}\n\nfs.FileReadStream = fs.ReadStream; // support the legacy name\n\nReadStream.prototype.open = function() {\n var self = this;\n fs.open(this.path, this.flags, this.mode, function(er, fd) {\n if (er) {\n if (self.autoClose) {\n self.destroy();\n }\n self.emit('error', er);\n return;\n }\n\n self.fd = fd;\n self.emit('open', fd);\n // start the flow of data.\n self.read();\n });\n};\n\nReadStream.prototype._read = function(n) {\n if (typeof this.fd !== 'number')\n return this.once('open', function() {\n this._read(n);\n });\n\n if (this.destroyed)\n return;\n\n if (!pool || pool.length - pool.used < kMinPoolSpace) {\n // discard the old pool.\n allocNewPool(this._readableState.highWaterMark);\n }\n\n // Grab another reference to the pool in the case that while we're\n // in the thread pool another read() finishes up the pool, and\n // allocates a new one.\n var thisPool = pool;\n var toRead = Math.min(pool.length - pool.used, n);\n var start = pool.used;\n\n if (this.pos !== undefined)\n toRead = Math.min(this.end - this.pos + 1, toRead);\n\n // already read everything we were supposed to read!\n // treat as EOF.\n if (toRead <= 0)\n return this.push(null);\n\n // the actual read.\n var self = this;\n fs.read(this.fd, pool, pool.used, toRead, this.pos, onread);\n\n // move the pool positions, and internal position for reading.\n if (this.pos !== undefined)\n this.pos += toRead;\n pool.used += toRead;\n\n function onread(er, bytesRead) {\n if (er) {\n if (self.autoClose) {\n self.destroy();\n }\n self.emit('error', er);\n } else {\n var b = null;\n if (bytesRead > 0) {\n self.bytesRead += bytesRead;\n b = thisPool.slice(start, start + bytesRead);\n }\n\n self.push(b);\n }\n }\n};\n\n\nReadStream.prototype._destroy = function(err, cb) {\n this.close(function(err2) {\n cb(err || err2);\n });\n};\n\n\nReadStream.prototype.close = function(cb) {\n if (cb)\n this.once('close', cb);\n\n if (this.closed || typeof this.fd !== 'number') {\n if (typeof this.fd !== 'number') {\n this.once('open', closeOnOpen);\n return;\n }\n return process.nextTick(() => this.emit('close'));\n }\n\n this.closed = true;\n\n fs.close(this.fd, (er) => {\n if (er)\n this.emit('error', er);\n else\n this.emit('close');\n });\n\n this.fd = null;\n};\n\n// needed because as it will be called with arguments\n// that does not match this.close() signature\nfunction closeOnOpen(fd) {\n this.close();\n}\n\nfs.createWriteStream = function(path, options) {\n return new WriteStream(path, options);\n};\n\nutil.inherits(WriteStream, Writable);\nfs.WriteStream = WriteStream;\nfunction WriteStream(path, options) {\n if (!(this instanceof WriteStream))\n return new WriteStream(path, options);\n\n options = copyObject(getOptions(options, {}));\n\n Writable.call(this, options);\n\n handleError((this.path = getPathFromURL(path)));\n this.fd = options.fd === undefined ? null : options.fd;\n this.flags = options.flags === undefined ? 'w' : options.flags;\n this.mode = options.mode === undefined ? 0o666 : options.mode;\n\n this.start = options.start;\n this.autoClose = options.autoClose === undefined ? true : !!options.autoClose;\n this.pos = undefined;\n this.bytesWritten = 0;\n\n if (this.start !== undefined) {\n if (typeof this.start !== 'number') {\n throw new TypeError('\"start\" option must be a Number');\n }\n if (this.start < 0) {\n throw new Error('\"start\" must be >= zero');\n }\n\n this.pos = this.start;\n }\n\n if (options.encoding)\n this.setDefaultEncoding(options.encoding);\n\n if (typeof this.fd !== 'number')\n this.open();\n\n // dispose on finish.\n this.once('finish', function() {\n if (this.autoClose) {\n this.close();\n }\n });\n}\n\nfs.FileWriteStream = fs.WriteStream; // support the legacy name\n\n\nWriteStream.prototype.open = function() {\n fs.open(this.path, this.flags, this.mode, function(er, fd) {\n if (er) {\n if (this.autoClose) {\n this.destroy();\n }\n this.emit('error', er);\n return;\n }\n\n this.fd = fd;\n this.emit('open', fd);\n }.bind(this));\n};\n\n\nWriteStream.prototype._write = function(data, encoding, cb) {\n if (!(data instanceof Buffer))\n return this.emit('error', new Error('Invalid data'));\n\n if (typeof this.fd !== 'number')\n return this.once('open', function() {\n this._write(data, encoding, cb);\n });\n\n var self = this;\n fs.write(this.fd, data, 0, data.length, this.pos, function(er, bytes) {\n if (er) {\n if (self.autoClose) {\n self.destroy();\n }\n return cb(er);\n }\n self.bytesWritten += bytes;\n cb();\n });\n\n if (this.pos !== undefined)\n this.pos += data.length;\n};\n\n\nfunction writev(fd, chunks, position, callback) {\n function wrapper(err, written) {\n // Retain a reference to chunks so that they can't be GC'ed too soon.\n callback(err, written || 0, chunks);\n }\n\n const req = new FSReqWrap();\n req.oncomplete = wrapper;\n binding.writeBuffers(fd, chunks, position, req);\n}\n\n\nWriteStream.prototype._writev = function(data, cb) {\n if (typeof this.fd !== 'number')\n return this.once('open', function() {\n this._writev(data, cb);\n });\n\n const self = this;\n const len = data.length;\n const chunks = new Array(len);\n var size = 0;\n\n for (var i = 0; i < len; i++) {\n var chunk = data[i].chunk;\n\n chunks[i] = chunk;\n size += chunk.length;\n }\n\n writev(this.fd, chunks, this.pos, function(er, bytes) {\n if (er) {\n self.destroy();\n return cb(er);\n }\n self.bytesWritten += bytes;\n cb();\n });\n\n if (this.pos !== undefined)\n this.pos += size;\n};\n\n\nWriteStream.prototype._destroy = ReadStream.prototype._destroy;\nWriteStream.prototype.close = ReadStream.prototype.close;\n\n// There is no shutdown() for files.\nWriteStream.prototype.destroySoon = WriteStream.prototype.end;\n\n// SyncWriteStream is internal. DO NOT USE.\n// This undocumented API was never intended to be made public.\nvar SyncWriteStream = internalFS.SyncWriteStream;\nObject.defineProperty(fs, 'SyncWriteStream', {\n configurable: true,\n get: internalUtil.deprecate(() => SyncWriteStream,\n 'fs.SyncWriteStream is deprecated.', 'DEP0061'),\n set: internalUtil.deprecate((val) => { SyncWriteStream = val; },\n 'fs.SyncWriteStream is deprecated.', 'DEP0061')\n});\n\n});", "pkgUrl": "(system)" }, { "id": "46", "url": "stream.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst Buffer = require('buffer').Buffer;\n\n// Note: export Stream before Readable/Writable/Duplex/...\n// to avoid a cross-reference(require) issues\nconst Stream = module.exports = require('internal/streams/legacy');\n\nStream.Readable = require('_stream_readable');\nStream.Writable = require('_stream_writable');\nStream.Duplex = require('_stream_duplex');\nStream.Transform = require('_stream_transform');\nStream.PassThrough = require('_stream_passthrough');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n// Internal utilities\ntry {\n Stream._isUint8Array = process.binding('util').isUint8Array;\n} catch (e) {\n // This throws for Node < 4.2.0 because there’s no util binding and\n // returns undefined for Node < 7.4.0.\n}\n\nif (!Stream._isUint8Array) {\n Stream._isUint8Array = function _isUint8Array(obj) {\n return Object.prototype.toString.call(obj) === '[object Uint8Array]';\n };\n}\n\nconst version = process.version.substr(1).split('.');\nif (version[0] === 0 && version[1] < 12) {\n Stream._uint8ArrayToBuffer = Buffer;\n} else {\n try {\n const internalBuffer = require('internal/buffer');\n Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return new internalBuffer.FastBuffer(chunk.buffer,\n chunk.byteOffset,\n chunk.byteLength);\n };\n } catch (e) {\n }\n\n if (!Stream._uint8ArrayToBuffer) {\n Stream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return Buffer.prototype.slice.call(chunk);\n };\n }\n}\n\n});", "pkgUrl": "(system)" }, { "id": "35", "url": "internal/process/next_tick.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\n// This value is used to prevent the nextTickQueue from becoming too\n// large and cause the process to run out of memory. When this value\n// is reached the nextTimeQueue array will be shortend (see tickDone\n// for details).\nconst kMaxCallbacksPerLoop = 1e4;\n\nexports.setup = setupNextTick;\n// Will be overwritten when setupNextTick() is called.\nexports.nextTick = null;\n\nfunction setupNextTick() {\n const async_wrap = process.binding('async_wrap');\n const async_hooks = require('async_hooks');\n const promises = require('internal/process/promises');\n const errors = require('internal/errors');\n const emitPendingUnhandledRejections = promises.setup(scheduleMicrotasks);\n const initTriggerId = async_hooks.initTriggerId;\n // Two arrays that share state between C++ and JS.\n const { async_hook_fields, async_uid_fields } = async_wrap;\n // Used to change the state of the async id stack.\n const { pushAsyncIds, popAsyncIds } = async_wrap;\n // The needed emit*() functions.\n const { emitInit, emitBefore, emitAfter, emitDestroy } = async_hooks;\n // Grab the constants necessary for working with internal arrays.\n const { kInit, kBefore, kAfter, kDestroy, kAsyncUidCntr, kInitTriggerId } =\n async_wrap.constants;\n const { async_id_symbol, trigger_id_symbol } = async_wrap;\n var nextTickQueue = [];\n var microtasksScheduled = false;\n\n // Used to run V8's micro task queue.\n var _runMicrotasks = {};\n\n // *Must* match Environment::TickInfo::Fields in src/env.h.\n var kIndex = 0;\n var kLength = 1;\n\n process.nextTick = nextTick;\n // Needs to be accessible from beyond this scope.\n process._tickCallback = _tickCallback;\n process._tickDomainCallback = _tickDomainCallback;\n\n // Set the nextTick() function for internal usage.\n exports.nextTick = internalNextTick;\n\n // This tickInfo thing is used so that the C++ code in src/node.cc\n // can have easy access to our nextTick state, and avoid unnecessary\n // calls into JS land.\n const tickInfo = process._setupNextTick(_tickCallback, _runMicrotasks);\n\n _runMicrotasks = _runMicrotasks.runMicrotasks;\n\n function tickDone() {\n if (tickInfo[kLength] !== 0) {\n if (tickInfo[kLength] <= tickInfo[kIndex]) {\n nextTickQueue = [];\n tickInfo[kLength] = 0;\n } else {\n nextTickQueue.splice(0, tickInfo[kIndex]);\n tickInfo[kLength] = nextTickQueue.length;\n }\n }\n tickInfo[kIndex] = 0;\n }\n\n function scheduleMicrotasks() {\n if (microtasksScheduled)\n return;\n\n const tickObject =\n new TickObject(runMicrotasksCallback, undefined, null);\n // For the moment all microtasks come from the void until the PromiseHook\n // API is implemented.\n tickObject[async_id_symbol] = 0;\n tickObject[trigger_id_symbol] = 0;\n nextTickQueue.push(tickObject);\n\n tickInfo[kLength]++;\n microtasksScheduled = true;\n }\n\n function runMicrotasksCallback() {\n microtasksScheduled = false;\n _runMicrotasks();\n\n if (tickInfo[kIndex] < tickInfo[kLength] ||\n emitPendingUnhandledRejections())\n scheduleMicrotasks();\n }\n\n function _combinedTickCallback(args, callback) {\n if (args === undefined) {\n callback();\n } else {\n switch (args.length) {\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(null, args);\n }\n }\n }\n\n // TODO(trevnorris): Using std::stack of Environment::AsyncHooks::ids_stack_\n // is much slower here than was the Float64Array stack used in a previous\n // implementation. Problem is the Float64Array stack was a bit brittle.\n // Investigate how to harden that implementation and possibly reintroduce it.\n function nextTickEmitBefore(asyncId, triggerId) {\n if (async_hook_fields[kBefore] > 0)\n emitBefore(asyncId, triggerId);\n else\n pushAsyncIds(asyncId, triggerId);\n }\n\n function nextTickEmitAfter(asyncId) {\n if (async_hook_fields[kAfter] > 0)\n emitAfter(asyncId);\n else\n popAsyncIds(asyncId);\n }\n\n // Run callbacks that have no domain.\n // Using domains will cause this to be overridden.\n function _tickCallback() {\n do {\n while (tickInfo[kIndex] < tickInfo[kLength]) {\n const tock = nextTickQueue[tickInfo[kIndex]++];\n const callback = tock.callback;\n const args = tock.args;\n\n // CHECK(Number.isSafeInteger(tock[async_id_symbol]))\n // CHECK(tock[async_id_symbol] > 0)\n // CHECK(Number.isSafeInteger(tock[trigger_id_symbol]))\n // CHECK(tock[trigger_id_symbol] > 0)\n\n nextTickEmitBefore(tock[async_id_symbol], tock[trigger_id_symbol]);\n // emitDestroy() places the async_id_symbol into an asynchronous queue\n // that calls the destroy callback in the future. It's called before\n // calling tock.callback so destroy will be called even if the callback\n // throws an exception that is handles by 'uncaughtException' or a\n // domain.\n // TODO(trevnorris): This is a bit of a hack. It relies on the fact\n // that nextTick() doesn't allow the event loop to proceed, but if\n // any async hooks are enabled during the callback's execution then\n // this tock's after hook will be called, but not its destroy hook.\n if (async_hook_fields[kDestroy] > 0)\n emitDestroy(tock[async_id_symbol]);\n\n // Using separate callback execution functions allows direct\n // callback invocation with small numbers of arguments to avoid the\n // performance hit associated with using `fn.apply()`\n _combinedTickCallback(args, callback);\n\n nextTickEmitAfter(tock[async_id_symbol]);\n\n if (kMaxCallbacksPerLoop < tickInfo[kIndex])\n tickDone();\n }\n tickDone();\n _runMicrotasks();\n emitPendingUnhandledRejections();\n } while (tickInfo[kLength] !== 0);\n }\n\n function _tickDomainCallback() {\n do {\n while (tickInfo[kIndex] < tickInfo[kLength]) {\n const tock = nextTickQueue[tickInfo[kIndex]++];\n const callback = tock.callback;\n const domain = tock.domain;\n const args = tock.args;\n if (domain)\n domain.enter();\n\n // CHECK(Number.isSafeInteger(tock[async_id_symbol]))\n // CHECK(tock[async_id_symbol] > 0)\n // CHECK(Number.isSafeInteger(tock[trigger_id_symbol]))\n // CHECK(tock[trigger_id_symbol] > 0)\n\n nextTickEmitBefore(tock[async_id_symbol], tock[trigger_id_symbol]);\n // TODO(trevnorris): See comment in _tickCallback() as to why this\n // isn't a good solution.\n if (async_hook_fields[kDestroy] > 0)\n emitDestroy(tock[async_id_symbol]);\n\n // Using separate callback execution functions allows direct\n // callback invocation with small numbers of arguments to avoid the\n // performance hit associated with using `fn.apply()`\n _combinedTickCallback(args, callback);\n\n nextTickEmitAfter(tock[async_id_symbol]);\n\n if (kMaxCallbacksPerLoop < tickInfo[kIndex])\n tickDone();\n if (domain)\n domain.exit();\n }\n tickDone();\n _runMicrotasks();\n emitPendingUnhandledRejections();\n } while (tickInfo[kLength] !== 0);\n }\n\n function TickObject(callback, args, domain) {\n this.callback = callback;\n this.domain = domain;\n this.args = args;\n this[async_id_symbol] = -1;\n this[trigger_id_symbol] = -1;\n }\n\n function setupInit(tickObject, triggerId) {\n tickObject[async_id_symbol] = ++async_uid_fields[kAsyncUidCntr];\n tickObject[trigger_id_symbol] = triggerId || initTriggerId();\n if (async_hook_fields[kInit] > 0) {\n emitInit(tickObject[async_id_symbol],\n 'TickObject',\n tickObject[trigger_id_symbol],\n tickObject);\n }\n }\n\n function nextTick(callback) {\n if (typeof callback !== 'function')\n throw new errors.TypeError('ERR_INVALID_CALLBACK');\n // on the way out, don't bother. it won't get fired anyway.\n if (process._exiting)\n return;\n\n var args;\n if (arguments.length > 1) {\n args = new Array(arguments.length - 1);\n for (var i = 1; i < arguments.length; i++)\n args[i - 1] = arguments[i];\n }\n\n var obj = new TickObject(callback, args, process.domain || null);\n setupInit(obj, null);\n nextTickQueue.push(obj);\n tickInfo[kLength]++;\n }\n\n function internalNextTick(triggerId, callback) {\n if (typeof callback !== 'function')\n throw new TypeError('callback is not a function');\n // CHECK(Number.isSafeInteger(triggerId) || triggerId === null)\n // CHECK(triggerId > 0 || triggerId === null)\n\n if (process._exiting)\n return;\n\n var args;\n if (arguments.length > 2) {\n args = new Array(arguments.length - 2);\n for (var i = 2; i < arguments.length; i++)\n args[i - 2] = arguments[i];\n }\n\n var obj = new TickObject(callback, args, process.domain || null);\n setupInit(obj, triggerId);\n // The call to initTriggerId() was skipped, so clear kInitTriggerId.\n async_uid_fields[kInitTriggerId] = 0;\n nextTickQueue.push(obj);\n tickInfo[kLength]++;\n }\n}\n\n});", "pkgUrl": "(system)" }, { "id": "23", "url": "events.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nvar domain;\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.usingDomains = false;\n\nEventEmitter.prototype.domain = undefined;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n // force global console to be compiled.\n // see https://github.com/nodejs/node/issues/4467\n console;\n // check whether the input is a positive number (whose value is zero or\n // greater and not a NaN).\n if (typeof arg !== 'number' || arg < 0 || arg !== arg)\n throw new TypeError('\"defaultMaxListeners\" must be a positive number');\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n this.domain = null;\n if (EventEmitter.usingDomains) {\n // if there is an active domain, then attach to it.\n domain = domain || require('domain');\n if (domain.active && !(this instanceof domain.Domain)) {\n this.domain = domain.active;\n }\n }\n\n if (!this._events || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || isNaN(n))\n throw new TypeError('\"n\" argument must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\n// These standalone emit* functions are used to optimize calling of event\n// handlers for fast cases because emit() itself often has a variable number of\n// arguments and can be deoptimized because of that. These functions always have\n// the same number of arguments and thus do not get deoptimized, so the code\n// inside them can execute faster.\nfunction emitNone(handler, isFn, self) {\n if (isFn)\n handler.call(self);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self);\n }\n}\nfunction emitOne(handler, isFn, self, arg1) {\n if (isFn)\n handler.call(self, arg1);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1);\n }\n}\nfunction emitTwo(handler, isFn, self, arg1, arg2) {\n if (isFn)\n handler.call(self, arg1, arg2);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2);\n }\n}\nfunction emitThree(handler, isFn, self, arg1, arg2, arg3) {\n if (isFn)\n handler.call(self, arg1, arg2, arg3);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2, arg3);\n }\n}\n\nfunction emitMany(handler, isFn, self, args) {\n if (isFn)\n handler.apply(self, args);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].apply(self, args);\n }\n}\n\nEventEmitter.prototype.emit = function emit(type) {\n var er, handler, len, args, i, events, domain;\n var needDomainExit = false;\n var doError = (type === 'error');\n\n events = this._events;\n if (events)\n doError = (doError && events.error == null);\n else if (!doError)\n return false;\n\n domain = this.domain;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n if (arguments.length > 1)\n er = arguments[1];\n if (domain) {\n if (!er)\n er = new Error('Unhandled \"error\" event');\n if (typeof er === 'object' && er !== null) {\n er.domainEmitter = this;\n er.domain = domain;\n er.domainThrown = false;\n }\n domain.emit('error', er);\n } else if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n const err = new Error('Unhandled \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n return false;\n }\n\n handler = events[type];\n\n if (!handler)\n return false;\n\n if (domain && this !== process) {\n domain.enter();\n needDomainExit = true;\n }\n\n var isFn = typeof handler === 'function';\n len = arguments.length;\n switch (len) {\n // fast cases\n case 1:\n emitNone(handler, isFn, this);\n break;\n case 2:\n emitOne(handler, isFn, this, arguments[1]);\n break;\n case 3:\n emitTwo(handler, isFn, this, arguments[1], arguments[2]);\n break;\n case 4:\n emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);\n break;\n // slower\n default:\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n emitMany(handler, isFn, this, args);\n }\n\n if (needDomainExit)\n domain.exit();\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = target._events;\n if (!events) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (!existing) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [listener, existing] :\n [existing, listener];\n } else {\n // If we've already got an array, just append.\n if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n }\n\n // Check for listener leak\n if (!existing.warned) {\n m = $getMaxListeners(target);\n if (m && m > 0 && existing.length > m) {\n existing.warned = true;\n const w = new Error('Possible EventEmitter memory leak detected. ' +\n `${existing.length} ${String(type)} listeners ` +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n process.emitWarning(w);\n }\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n switch (arguments.length) {\n case 0:\n return this.listener.call(this.target);\n case 1:\n return this.listener.call(this.target, arguments[0]);\n case 2:\n return this.listener.call(this.target, arguments[0], arguments[1]);\n case 3:\n return this.listener.call(this.target, arguments[0], arguments[1],\n arguments[2]);\n default:\n const args = new Array(arguments.length);\n for (var i = 0; i < args.length; ++i)\n args[i] = arguments[i];\n this.listener.apply(this.target, args);\n }\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target, type, listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = this._events;\n if (!events)\n return this;\n\n list = events[type];\n if (!list)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else\n spliceOne(list, position);\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (!events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!events.removeListener) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type]) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nEventEmitter.prototype.listeners = function listeners(type) {\n var evlistener;\n var ret;\n var events = this._events;\n\n if (!events)\n ret = [];\n else {\n evlistener = events[type];\n if (!evlistener)\n ret = [];\n else if (typeof evlistener === 'function')\n ret = [evlistener.listener || evlistener];\n else\n ret = unwrapListeners(evlistener);\n }\n\n return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n const events = this._events;\n\n if (events) {\n const evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\n\n// About 1.5x faster than the two-arg version of Array#splice().\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)\n list[i] = list[k];\n list.pop();\n}\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction unwrapListeners(arr) {\n const ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\n});", "pkgUrl": "(system)" }, { "id": "44", "url": "vm.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst binding = process.binding('contextify');\nconst Script = binding.ContextifyScript;\n\n// The binding provides a few useful primitives:\n// - Script(code, { filename = \"evalmachine.anonymous\",\n// displayErrors = true } = {})\n// with methods:\n// - runInThisContext({ displayErrors = true } = {})\n// - runInContext(sandbox, { displayErrors = true, timeout = undefined } = {})\n// - makeContext(sandbox)\n// - isContext(sandbox)\n// From this we build the entire documented API.\n\nconst realRunInThisContext = Script.prototype.runInThisContext;\nconst realRunInContext = Script.prototype.runInContext;\n\nScript.prototype.runInThisContext = function(options) {\n if (options && options.breakOnSigint && process._events.SIGINT) {\n return sigintHandlersWrap(realRunInThisContext, this, [options]);\n } else {\n return realRunInThisContext.call(this, options);\n }\n};\n\nScript.prototype.runInContext = function(contextifiedSandbox, options) {\n if (options && options.breakOnSigint && process._events.SIGINT) {\n return sigintHandlersWrap(realRunInContext, this,\n [contextifiedSandbox, options]);\n } else {\n return realRunInContext.call(this, contextifiedSandbox, options);\n }\n};\n\nScript.prototype.runInNewContext = function(sandbox, options) {\n var context = createContext(sandbox);\n return this.runInContext(context, options);\n};\n\nfunction createContext(sandbox) {\n if (sandbox === undefined) {\n sandbox = {};\n } else if (binding.isContext(sandbox)) {\n return sandbox;\n }\n\n binding.makeContext(sandbox);\n return sandbox;\n}\n\nfunction createScript(code, options) {\n return new Script(code, options);\n}\n\n// Remove all SIGINT listeners and re-attach them after the wrapped function\n// has executed, so that caught SIGINT are handled by the listeners again.\nfunction sigintHandlersWrap(fn, thisArg, argsArray) {\n // Using the internal list here to make sure `.once()` wrappers are used,\n // not the original ones.\n let sigintListeners = process._events.SIGINT;\n\n if (Array.isArray(sigintListeners))\n sigintListeners = sigintListeners.slice();\n else\n sigintListeners = [sigintListeners];\n\n process.removeAllListeners('SIGINT');\n\n try {\n return fn.apply(thisArg, argsArray);\n } finally {\n // Add using the public methods so that the `newListener` handler of\n // process can re-attach the listeners.\n for (const listener of sigintListeners) {\n process.addListener('SIGINT', listener);\n }\n }\n}\n\nfunction runInDebugContext(code) {\n return binding.runInDebugContext(code);\n}\n\nfunction runInContext(code, contextifiedSandbox, options) {\n return createScript(code, options)\n .runInContext(contextifiedSandbox, options);\n}\n\nfunction runInNewContext(code, sandbox, options) {\n return createScript(code, options).runInNewContext(sandbox, options);\n}\n\nfunction runInThisContext(code, options) {\n return createScript(code, options).runInThisContext(options);\n}\n\nmodule.exports = {\n Script,\n createContext,\n createScript,\n runInDebugContext,\n runInContext,\n runInNewContext,\n runInThisContext,\n isContext: binding.isContext\n};\n\n});", "pkgUrl": "(system)" }, { "id": "56", "url": "/usr/local/lib/node_modules/npm/bin/npm-cli.js", "source": "(function (exports, require, module, __filename, __dirname) { \n;(function () { // wrapper in case we're in module_context mode\n // windows: running \"npm blah\" in this folder will invoke WSH, not node.\n /*global WScript*/\n if (typeof WScript !== 'undefined') {\n WScript.echo(\n 'npm does not work when run\\n' +\n 'with the Windows Scripting Host\\n\\n' +\n \"'cd' to a different directory,\\n\" +\n \"or type 'npm.cmd ',\\n\" +\n \"or type 'node npm '.\"\n )\n WScript.quit(1)\n return\n }\n\n process.title = 'npm'\n\n var unsupported = require('../lib/utils/unsupported.js')\n unsupported.checkForBrokenNode()\n\n var log = require('npmlog')\n log.pause() // will be unpaused when config is loaded.\n log.info('it worked if it ends with', 'ok')\n\n unsupported.checkForUnsupportedNode()\n\n if (!unsupported.checkVersion(process.version).unsupported) {\n var updater = require('update-notifier')\n var pkg = require('../package.json')\n updater({pkg: pkg}).notify({defer: true})\n }\n\n var path = require('path')\n var npm = require('../lib/npm.js')\n var npmconf = require('../lib/config/core.js')\n var errorHandler = require('../lib/utils/error-handler.js')\n var output = require('../lib/utils/output.js')\n\n var configDefs = npmconf.defs\n var shorthands = configDefs.shorthands\n var types = configDefs.types\n var nopt = require('nopt')\n\n // if npm is called as \"npmg\" or \"npm_g\", then\n // run in global mode.\n if (path.basename(process.argv[1]).slice(-1) === 'g') {\n process.argv.splice(1, 1, 'npm', '-g')\n }\n\n log.verbose('cli', process.argv)\n\n var conf = nopt(types, shorthands)\n npm.argv = conf.argv.remain\n if (npm.deref(npm.argv[0])) npm.command = npm.argv.shift()\n else conf.usage = true\n\n if (conf.version) {\n console.log(npm.version)\n return errorHandler.exit(0)\n }\n\n if (conf.versions) {\n npm.command = 'version'\n conf.usage = false\n npm.argv = []\n }\n\n log.info('using', 'npm@%s', npm.version)\n log.info('using', 'node@%s', process.version)\n\n process.on('uncaughtException', errorHandler)\n\n if (conf.usage && npm.command !== 'help') {\n npm.argv.unshift(npm.command)\n npm.command = 'help'\n }\n\n // now actually fire up npm and run the command.\n // this is how to use npm programmatically:\n conf._exit = true\n npm.load(conf, function (er) {\n if (er) return errorHandler(er)\n npm.commands[npm.command](npm.argv, function (err) {\n // https://www.youtube.com/watch?v=7nfPu8qTiQU\n if (!err && npm.config.get('ham-it-up') && !npm.config.get('json') && !npm.config.get('parseable') && npm.command !== 'completion') {\n output('\\n 🎵 I Have the Honour to Be Your Obedient Servant,🎵 ~ npm 📜🖋\\n')\n }\n errorHandler.apply(this, arguments)\n })\n })\n})()\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "43", "url": "internal/module.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\n// Invoke with makeRequireFunction(module) where |module| is the Module object\n// to use as the context for the require() function.\nfunction makeRequireFunction(mod) {\n const Module = mod.constructor;\n\n function require(path) {\n try {\n exports.requireDepth += 1;\n return mod.require(path);\n } finally {\n exports.requireDepth -= 1;\n }\n }\n\n function resolve(request) {\n return Module._resolveFilename(request, mod);\n }\n\n require.resolve = resolve;\n\n require.main = process.mainModule;\n\n // Enable support to add extra extension types.\n require.extensions = Module._extensions;\n\n require.cache = Module._cache;\n\n return require;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n * because the buffer-to-string conversion in `fs.readFileSync()`\n * translates it to FEFF, the UTF-16 BOM.\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Find end of shebang line and slice it off\n */\nfunction stripShebang(content) {\n // Remove shebang\n var contLen = content.length;\n if (contLen >= 2) {\n if (content.charCodeAt(0) === 35/*#*/ &&\n content.charCodeAt(1) === 33/*!*/) {\n if (contLen === 2) {\n // Exact match\n content = '';\n } else {\n // Find end of shebang line and slice it off\n var i = 2;\n for (; i < contLen; ++i) {\n var code = content.charCodeAt(i);\n if (code === 10/*\\n*/ || code === 13/*\\r*/)\n break;\n }\n if (i === contLen)\n content = '';\n else {\n // Note that this actually includes the newline character(s) in the\n // new output. This duplicates the behavior of the regular expression\n // that was previously used to replace the shebang line\n content = content.slice(i);\n }\n }\n }\n }\n return content;\n}\n\nconst builtinLibs = [\n 'assert', 'async_hooks', 'buffer', 'child_process', 'cluster', 'crypto',\n 'dgram', 'dns', 'domain', 'events', 'fs', 'http', 'https', 'net', 'os',\n 'path', 'punycode', 'querystring', 'readline', 'repl', 'stream',\n 'string_decoder', 'tls', 'tty', 'url', 'util', 'v8', 'vm', 'zlib'\n];\n\nfunction addBuiltinLibsToObject(object) {\n // Make built-in modules available directly (loaded lazily).\n builtinLibs.forEach((name) => {\n // Goals of this mechanism are:\n // - Lazy loading of built-in modules\n // - Having all built-in modules available as non-enumerable properties\n // - Allowing the user to re-assign these variables as if there were no\n // pre-existing globals with the same name.\n\n const setReal = (val) => {\n // Deleting the property before re-assigning it disables the\n // getter/setter mechanism.\n delete object[name];\n object[name] = val;\n };\n\n Object.defineProperty(object, name, {\n get: () => {\n const lib = require(name);\n\n // Disable the current getter/setter and set up a new\n // non-enumerable property.\n delete object[name];\n Object.defineProperty(object, name, {\n get: () => lib,\n set: setReal,\n configurable: true,\n enumerable: false\n });\n\n return lib;\n },\n set: setReal,\n configurable: true,\n enumerable: false\n });\n });\n}\n\nmodule.exports = exports = {\n addBuiltinLibsToObject,\n builtinLibs,\n makeRequireFunction,\n requireDepth: 0,\n stripBOM,\n stripShebang\n};\n\n});", "pkgUrl": "(system)" }, { "id": "57", "url": "/usr/local/lib/node_modules/npm/lib/utils/unsupported.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar semver = require('semver')\nvar supportedNode = '>= 4'\nvar knownBroken = '>=0.1 <=0.7'\n\nvar checkVersion = exports.checkVersion = function (version) {\n var versionNoPrerelease = version.replace(/-.*$/, '')\n return {\n broken: semver.satisfies(versionNoPrerelease, knownBroken),\n unsupported: !semver.satisfies(versionNoPrerelease, supportedNode)\n }\n}\n\nexports.checkForBrokenNode = function () {\n var nodejs = checkVersion(process.version)\n if (nodejs.broken) {\n console.error('ERROR: npm is known not to run on Node.js ' + process.version)\n console.error(\"You'll need to upgrade to a newer version in order to use this\")\n console.error('version of npm. You can find the latest version at https://nodejs.org/')\n process.exit(1)\n }\n}\n\nexports.checkForUnsupportedNode = function () {\n var nodejs = checkVersion(process.version)\n if (nodejs.unsupported) {\n var log = require('npmlog')\n log.warn('npm', 'npm does not support Node.js ' + process.version)\n log.warn('npm', 'You should probably upgrade to a newer version of node as we')\n log.warn('npm', \"can't make any promises that npm will work with this version.\")\n log.warn('npm', 'You can find the latest version at https://nodejs.org/')\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "58", "url": "/usr/local/lib/node_modules/npm/node_modules/semver/semver.js", "source": "(function (exports, require, module, __filename, __dirname) { exports = module.exports = SemVer;\n\n// The debug function is excluded entirely from the minified version.\n/* nomin */ var debug;\n/* nomin */ if (typeof process === 'object' &&\n /* nomin */ process.env &&\n /* nomin */ process.env.NODE_DEBUG &&\n /* nomin */ /\\bsemver\\b/i.test(process.env.NODE_DEBUG))\n /* nomin */ debug = function() {\n /* nomin */ var args = Array.prototype.slice.call(arguments, 0);\n /* nomin */ args.unshift('SEMVER');\n /* nomin */ console.log.apply(console, args);\n /* nomin */ };\n/* nomin */ else\n /* nomin */ debug = function() {};\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0';\n\nvar MAX_LENGTH = 256;\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n// The actual regexps go on exports.re\nvar re = exports.re = [];\nvar src = exports.src = [];\nvar R = 0;\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++;\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*';\nvar NUMERICIDENTIFIERLOOSE = R++;\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+';\n\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++;\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*';\n\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++;\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')';\n\nvar MAINVERSIONLOOSE = R++;\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')';\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++;\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')';\n\nvar PRERELEASEIDENTIFIERLOOSE = R++;\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')';\n\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++;\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))';\n\nvar PRERELEASELOOSE = R++;\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))';\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++;\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+';\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++;\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))';\n\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++;\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?';\n\nsrc[FULL] = '^' + FULLPLAIN + '$';\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?';\n\nvar LOOSE = R++;\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$';\n\nvar GTLT = R++;\nsrc[GTLT] = '((?:<|>)?=?)';\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++;\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*';\nvar XRANGEIDENTIFIER = R++;\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*';\n\nvar XRANGEPLAIN = R++;\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?';\n\nvar XRANGEPLAINLOOSE = R++;\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?';\n\nvar XRANGE = R++;\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$';\nvar XRANGELOOSE = R++;\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$';\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++;\nsrc[LONETILDE] = '(?:~>?)';\n\nvar TILDETRIM = R++;\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+';\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g');\nvar tildeTrimReplace = '$1~';\n\nvar TILDE = R++;\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';\nvar TILDELOOSE = R++;\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++;\nsrc[LONECARET] = '(?:\\\\^)';\n\nvar CARETTRIM = R++;\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+';\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g');\nvar caretTrimReplace = '$1^';\n\nvar CARET = R++;\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$';\nvar CARETLOOSE = R++;\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$';\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++;\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$';\nvar COMPARATOR = R++;\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$';\n\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++;\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');\nvar comparatorTrimReplace = '$1$2$3';\n\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++;\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$';\n\nvar HYPHENRANGELOOSE = R++;\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$';\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++;\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*';\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i]);\n if (!re[i])\n re[i] = new RegExp(src[i]);\n}\n\nexports.parse = parse;\nfunction parse(version, loose) {\n if (version instanceof SemVer)\n return version;\n\n if (typeof version !== 'string')\n return null;\n\n if (version.length > MAX_LENGTH)\n return null;\n\n var r = loose ? re[LOOSE] : re[FULL];\n if (!r.test(version))\n return null;\n\n try {\n return new SemVer(version, loose);\n } catch (er) {\n return null;\n }\n}\n\nexports.valid = valid;\nfunction valid(version, loose) {\n var v = parse(version, loose);\n return v ? v.version : null;\n}\n\n\nexports.clean = clean;\nfunction clean(version, loose) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), loose);\n return s ? s.version : null;\n}\n\nexports.SemVer = SemVer;\n\nfunction SemVer(version, loose) {\n if (version instanceof SemVer) {\n if (version.loose === loose)\n return version;\n else\n version = version.version;\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version);\n }\n\n if (version.length > MAX_LENGTH)\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n\n if (!(this instanceof SemVer))\n return new SemVer(version, loose);\n\n debug('SemVer', version, loose);\n this.loose = loose;\n var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);\n\n if (!m)\n throw new TypeError('Invalid Version: ' + version);\n\n this.raw = version;\n\n // these are actually numbers\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0)\n throw new TypeError('Invalid major version')\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0)\n throw new TypeError('Invalid minor version')\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0)\n throw new TypeError('Invalid patch version')\n\n // numberify any prerelease numeric ids\n if (!m[4])\n this.prerelease = [];\n else\n this.prerelease = m[4].split('.').map(function(id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER)\n return num;\n }\n return id;\n });\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n}\n\nSemVer.prototype.format = function() {\n this.version = this.major + '.' + this.minor + '.' + this.patch;\n if (this.prerelease.length)\n this.version += '-' + this.prerelease.join('.');\n return this.version;\n};\n\nSemVer.prototype.toString = function() {\n return this.version;\n};\n\nSemVer.prototype.compare = function(other) {\n debug('SemVer.compare', this.version, this.loose, other);\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n return this.compareMain(other) || this.comparePre(other);\n};\n\nSemVer.prototype.compareMain = function(other) {\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch);\n};\n\nSemVer.prototype.comparePre = function(other) {\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length)\n return -1;\n else if (!this.prerelease.length && other.prerelease.length)\n return 1;\n else if (!this.prerelease.length && !other.prerelease.length)\n return 0;\n\n var i = 0;\n do {\n var a = this.prerelease[i];\n var b = other.prerelease[i];\n debug('prerelease compare', i, a, b);\n if (a === undefined && b === undefined)\n return 0;\n else if (b === undefined)\n return 1;\n else if (a === undefined)\n return -1;\n else if (a === b)\n continue;\n else\n return compareIdentifiers(a, b);\n } while (++i);\n};\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function(release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break;\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break;\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0)\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0)\n this.major++;\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0)\n this.minor++;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0)\n this.patch++;\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0)\n this.prerelease = [0];\n else {\n var i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) // didn't increment anything\n this.prerelease.push(0);\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1]))\n this.prerelease = [identifier, 0];\n } else\n this.prerelease = [identifier, 0];\n }\n break;\n\n default:\n throw new Error('invalid increment argument: ' + release);\n }\n this.format();\n this.raw = this.version;\n return this;\n};\n\nexports.inc = inc;\nfunction inc(version, release, loose, identifier) {\n if (typeof(loose) === 'string') {\n identifier = loose;\n loose = undefined;\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version;\n } catch (er) {\n return null;\n }\n}\n\nexports.diff = diff;\nfunction diff(version1, version2) {\n if (eq(version1, version2)) {\n return null;\n } else {\n var v1 = parse(version1);\n var v2 = parse(version2);\n if (v1.prerelease.length || v2.prerelease.length) {\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return 'pre'+key;\n }\n }\n }\n return 'prerelease';\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return key;\n }\n }\n }\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers;\n\nvar numeric = /^[0-9]+$/;\nfunction compareIdentifiers(a, b) {\n var anum = numeric.test(a);\n var bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return (anum && !bnum) ? -1 :\n (bnum && !anum) ? 1 :\n a < b ? -1 :\n a > b ? 1 :\n 0;\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers;\nfunction rcompareIdentifiers(a, b) {\n return compareIdentifiers(b, a);\n}\n\nexports.major = major;\nfunction major(a, loose) {\n return new SemVer(a, loose).major;\n}\n\nexports.minor = minor;\nfunction minor(a, loose) {\n return new SemVer(a, loose).minor;\n}\n\nexports.patch = patch;\nfunction patch(a, loose) {\n return new SemVer(a, loose).patch;\n}\n\nexports.compare = compare;\nfunction compare(a, b, loose) {\n return new SemVer(a, loose).compare(b);\n}\n\nexports.compareLoose = compareLoose;\nfunction compareLoose(a, b) {\n return compare(a, b, true);\n}\n\nexports.rcompare = rcompare;\nfunction rcompare(a, b, loose) {\n return compare(b, a, loose);\n}\n\nexports.sort = sort;\nfunction sort(list, loose) {\n return list.sort(function(a, b) {\n return exports.compare(a, b, loose);\n });\n}\n\nexports.rsort = rsort;\nfunction rsort(list, loose) {\n return list.sort(function(a, b) {\n return exports.rcompare(a, b, loose);\n });\n}\n\nexports.gt = gt;\nfunction gt(a, b, loose) {\n return compare(a, b, loose) > 0;\n}\n\nexports.lt = lt;\nfunction lt(a, b, loose) {\n return compare(a, b, loose) < 0;\n}\n\nexports.eq = eq;\nfunction eq(a, b, loose) {\n return compare(a, b, loose) === 0;\n}\n\nexports.neq = neq;\nfunction neq(a, b, loose) {\n return compare(a, b, loose) !== 0;\n}\n\nexports.gte = gte;\nfunction gte(a, b, loose) {\n return compare(a, b, loose) >= 0;\n}\n\nexports.lte = lte;\nfunction lte(a, b, loose) {\n return compare(a, b, loose) <= 0;\n}\n\nexports.cmp = cmp;\nfunction cmp(a, op, b, loose) {\n var ret;\n switch (op) {\n case '===':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n ret = a === b;\n break;\n case '!==':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n ret = a !== b;\n break;\n case '': case '=': case '==': ret = eq(a, b, loose); break;\n case '!=': ret = neq(a, b, loose); break;\n case '>': ret = gt(a, b, loose); break;\n case '>=': ret = gte(a, b, loose); break;\n case '<': ret = lt(a, b, loose); break;\n case '<=': ret = lte(a, b, loose); break;\n default: throw new TypeError('Invalid operator: ' + op);\n }\n return ret;\n}\n\nexports.Comparator = Comparator;\nfunction Comparator(comp, loose) {\n if (comp instanceof Comparator) {\n if (comp.loose === loose)\n return comp;\n else\n comp = comp.value;\n }\n\n if (!(this instanceof Comparator))\n return new Comparator(comp, loose);\n\n debug('comparator', comp, loose);\n this.loose = loose;\n this.parse(comp);\n\n if (this.semver === ANY)\n this.value = '';\n else\n this.value = this.operator + this.semver.version;\n\n debug('comp', this);\n}\n\nvar ANY = {};\nComparator.prototype.parse = function(comp) {\n var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR];\n var m = comp.match(r);\n\n if (!m)\n throw new TypeError('Invalid comparator: ' + comp);\n\n this.operator = m[1];\n if (this.operator === '=')\n this.operator = '';\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2])\n this.semver = ANY;\n else\n this.semver = new SemVer(m[2], this.loose);\n};\n\nComparator.prototype.toString = function() {\n return this.value;\n};\n\nComparator.prototype.test = function(version) {\n debug('Comparator.test', version, this.loose);\n\n if (this.semver === ANY)\n return true;\n\n if (typeof version === 'string')\n version = new SemVer(version, this.loose);\n\n return cmp(version, this.operator, this.semver, this.loose);\n};\n\n\nexports.Range = Range;\nfunction Range(range, loose) {\n if ((range instanceof Range) && range.loose === loose)\n return range;\n\n if (!(this instanceof Range))\n return new Range(range, loose);\n\n this.loose = loose;\n\n // First, split based on boolean or ||\n this.raw = range;\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function(range) {\n return this.parseRange(range.trim());\n }, this).filter(function(c) {\n // throw out any that are not relevant for whatever reason\n return c.length;\n });\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range);\n }\n\n this.format();\n}\n\nRange.prototype.format = function() {\n this.range = this.set.map(function(comps) {\n return comps.join(' ').trim();\n }).join('||').trim();\n return this.range;\n};\n\nRange.prototype.toString = function() {\n return this.range;\n};\n\nRange.prototype.parseRange = function(range) {\n var loose = this.loose;\n range = range.trim();\n debug('range', range, loose);\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];\n range = range.replace(hr, hyphenReplace);\n debug('hyphen replace', range);\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);\n debug('comparator trim', range, re[COMPARATORTRIM]);\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace);\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace);\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ');\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR];\n var set = range.split(' ').map(function(comp) {\n return parseComparator(comp, loose);\n }).join(' ').split(/\\s+/);\n if (this.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function(comp) {\n return !!comp.match(compRe);\n });\n }\n set = set.map(function(comp) {\n return new Comparator(comp, loose);\n });\n\n return set;\n};\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators;\nfunction toComparators(range, loose) {\n return new Range(range, loose).set.map(function(comp) {\n return comp.map(function(c) {\n return c.value;\n }).join(' ').trim().split(' ');\n });\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator(comp, loose) {\n debug('comp', comp);\n comp = replaceCarets(comp, loose);\n debug('caret', comp);\n comp = replaceTildes(comp, loose);\n debug('tildes', comp);\n comp = replaceXRanges(comp, loose);\n debug('xrange', comp);\n comp = replaceStars(comp, loose);\n debug('stars', comp);\n return comp;\n}\n\nfunction isX(id) {\n return !id || id.toLowerCase() === 'x' || id === '*';\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes(comp, loose) {\n return comp.trim().split(/\\s+/).map(function(comp) {\n return replaceTilde(comp, loose);\n }).join(' ');\n}\n\nfunction replaceTilde(comp, loose) {\n var r = loose ? re[TILDELOOSE] : re[TILDE];\n return comp.replace(r, function(_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr);\n var ret;\n\n if (isX(M))\n ret = '';\n else if (isX(m))\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n else if (isX(p))\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n else if (pr) {\n debug('replaceTilde pr', pr);\n if (pr.charAt(0) !== '-')\n pr = '-' + pr;\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0';\n\n debug('tilde return', ret);\n return ret;\n });\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets(comp, loose) {\n return comp.trim().split(/\\s+/).map(function(comp) {\n return replaceCaret(comp, loose);\n }).join(' ');\n}\n\nfunction replaceCaret(comp, loose) {\n debug('caret', comp, loose);\n var r = loose ? re[CARETLOOSE] : re[CARET];\n return comp.replace(r, function(_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr);\n var ret;\n\n if (isX(M))\n ret = '';\n else if (isX(m))\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n else if (isX(p)) {\n if (M === '0')\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n else\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';\n } else if (pr) {\n debug('replaceCaret pr', pr);\n if (pr.charAt(0) !== '-')\n pr = '-' + pr;\n if (M === '0') {\n if (m === '0')\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + m + '.' + (+p + 1);\n else\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + (+M + 1) + '.0.0';\n } else {\n debug('no pr');\n if (M === '0') {\n if (m === '0')\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1);\n else\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0';\n }\n\n debug('caret return', ret);\n return ret;\n });\n}\n\nfunction replaceXRanges(comp, loose) {\n debug('replaceXRanges', comp, loose);\n return comp.split(/\\s+/).map(function(comp) {\n return replaceXRange(comp, loose);\n }).join(' ');\n}\n\nfunction replaceXRange(comp, loose) {\n comp = comp.trim();\n var r = loose ? re[XRANGELOOSE] : re[XRANGE];\n return comp.replace(r, function(ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr);\n var xM = isX(M);\n var xm = xM || isX(m);\n var xp = xm || isX(p);\n var anyX = xp;\n\n if (gtlt === '=' && anyX)\n gtlt = '';\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0';\n } else {\n // nothing is forbidden\n ret = '*';\n }\n } else if (gtlt && anyX) {\n // replace X with 0\n if (xm)\n m = 0;\n if (xp)\n p = 0;\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>=';\n if (xm) {\n M = +M + 1;\n m = 0;\n p = 0;\n } else if (xp) {\n m = +m + 1;\n p = 0;\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<';\n if (xm)\n M = +M + 1;\n else\n m = +m + 1;\n }\n\n ret = gtlt + M + '.' + m + '.' + p;\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n }\n\n debug('xRange return', ret);\n\n return ret;\n });\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars(comp, loose) {\n debug('replaceStars', comp, loose);\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '');\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n\n if (isX(fM))\n from = '';\n else if (isX(fm))\n from = '>=' + fM + '.0.0';\n else if (isX(fp))\n from = '>=' + fM + '.' + fm + '.0';\n else\n from = '>=' + from;\n\n if (isX(tM))\n to = '';\n else if (isX(tm))\n to = '<' + (+tM + 1) + '.0.0';\n else if (isX(tp))\n to = '<' + tM + '.' + (+tm + 1) + '.0';\n else if (tpr)\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;\n else\n to = '<=' + to;\n\n return (from + ' ' + to).trim();\n}\n\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function(version) {\n if (!version)\n return false;\n\n if (typeof version === 'string')\n version = new SemVer(version, this.loose);\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version))\n return true;\n }\n return false;\n};\n\nfunction testSet(set, version) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version))\n return false;\n }\n\n if (version.prerelease.length) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (var i = 0; i < set.length; i++) {\n debug(set[i].semver);\n if (set[i].semver === ANY)\n continue;\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver;\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch)\n return true;\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false;\n }\n\n return true;\n}\n\nexports.satisfies = satisfies;\nfunction satisfies(version, range, loose) {\n try {\n range = new Range(range, loose);\n } catch (er) {\n return false;\n }\n return range.test(version);\n}\n\nexports.maxSatisfying = maxSatisfying;\nfunction maxSatisfying(versions, range, loose) {\n return versions.filter(function(version) {\n return satisfies(version, range, loose);\n }).sort(function(a, b) {\n return rcompare(a, b, loose);\n })[0] || null;\n}\n\nexports.minSatisfying = minSatisfying;\nfunction minSatisfying(versions, range, loose) {\n return versions.filter(function(version) {\n return satisfies(version, range, loose);\n }).sort(function(a, b) {\n return compare(a, b, loose);\n })[0] || null;\n}\n\nexports.validRange = validRange;\nfunction validRange(range, loose) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, loose).range || '*';\n } catch (er) {\n return null;\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr;\nfunction ltr(version, range, loose) {\n return outside(version, range, '<', loose);\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr;\nfunction gtr(version, range, loose) {\n return outside(version, range, '>', loose);\n}\n\nexports.outside = outside;\nfunction outside(version, range, hilo, loose) {\n version = new SemVer(version, loose);\n range = new Range(range, loose);\n\n var gtfn, ltefn, ltfn, comp, ecomp;\n switch (hilo) {\n case '>':\n gtfn = gt;\n ltefn = lte;\n ltfn = lt;\n comp = '>';\n ecomp = '>=';\n break;\n case '<':\n gtfn = lt;\n ltefn = gte;\n ltfn = gt;\n comp = '<';\n ecomp = '<=';\n break;\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"');\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, loose)) {\n return false;\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i];\n\n var high = null;\n var low = null;\n\n comparators.forEach(function(comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator;\n low = low || comparator;\n if (gtfn(comparator.semver, high.semver, loose)) {\n high = comparator;\n } else if (ltfn(comparator.semver, low.semver, loose)) {\n low = comparator;\n }\n });\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false;\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false;\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false;\n }\n }\n return true;\n}\n\nexports.prerelease = prerelease;\nfunction prerelease(version, loose) {\n var parsed = parse(version, loose);\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null;\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/semver" }, { "id": "59", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/log.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar Progress = require('are-we-there-yet')\nvar Gauge = require('gauge')\nvar EE = require('events').EventEmitter\nvar log = exports = module.exports = new EE()\nvar util = require('util')\n\nvar setBlocking = require('set-blocking')\nvar consoleControl = require('console-control-strings')\n\nsetBlocking(true)\nvar stream = process.stderr\nObject.defineProperty(log, 'stream', {\n set: function (newStream) {\n stream = newStream\n if (this.gauge) this.gauge.setWriteTo(stream, stream)\n },\n get: function () {\n return stream\n }\n})\n\n// by default, decide based on tty-ness.\nvar colorEnabled\nlog.useColor = function () {\n return colorEnabled != null ? colorEnabled : stream.isTTY\n}\n\nlog.enableColor = function () {\n colorEnabled = true\n this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled})\n}\nlog.disableColor = function () {\n colorEnabled = false\n this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled})\n}\n\n// default level\nlog.level = 'info'\n\nlog.gauge = new Gauge(stream, {\n enabled: false, // no progress bars unless asked\n theme: {hasColor: log.useColor()},\n template: [\n {type: 'progressbar', length: 20},\n {type: 'activityIndicator', kerning: 1, length: 1},\n {type: 'section', default: ''},\n ':',\n {type: 'logline', kerning: 1, default: ''}\n ]\n})\n\nlog.tracker = new Progress.TrackerGroup()\n\n// we track this separately as we may need to temporarily disable the\n// display of the status bar for our own loggy purposes.\nlog.progressEnabled = log.gauge.isEnabled()\n\nvar unicodeEnabled\n\nlog.enableUnicode = function () {\n unicodeEnabled = true\n this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled})\n}\n\nlog.disableUnicode = function () {\n unicodeEnabled = false\n this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled})\n}\n\nlog.setGaugeThemeset = function (themes) {\n this.gauge.setThemeset(themes)\n}\n\nlog.setGaugeTemplate = function (template) {\n this.gauge.setTemplate(template)\n}\n\nlog.enableProgress = function () {\n if (this.progressEnabled) return\n this.progressEnabled = true\n this.tracker.on('change', this.showProgress)\n if (this._pause) return\n this.gauge.enable()\n}\n\nlog.disableProgress = function () {\n if (!this.progressEnabled) return\n this.progressEnabled = false\n this.tracker.removeListener('change', this.showProgress)\n this.gauge.disable()\n}\n\nvar trackerConstructors = ['newGroup', 'newItem', 'newStream']\n\nvar mixinLog = function (tracker) {\n // mixin the public methods from log into the tracker\n // (except: conflicts and one's we handle specially)\n Object.keys(log).forEach(function (P) {\n if (P[0] === '_') return\n if (trackerConstructors.filter(function (C) { return C === P }).length) return\n if (tracker[P]) return\n if (typeof log[P] !== 'function') return\n var func = log[P]\n tracker[P] = function () {\n return func.apply(log, arguments)\n }\n })\n // if the new tracker is a group, make sure any subtrackers get\n // mixed in too\n if (tracker instanceof Progress.TrackerGroup) {\n trackerConstructors.forEach(function (C) {\n var func = tracker[C]\n tracker[C] = function () { return mixinLog(func.apply(tracker, arguments)) }\n })\n }\n return tracker\n}\n\n// Add tracker constructors to the top level log object\ntrackerConstructors.forEach(function (C) {\n log[C] = function () { return mixinLog(this.tracker[C].apply(this.tracker, arguments)) }\n})\n\nlog.clearProgress = function (cb) {\n if (!this.progressEnabled) return cb && process.nextTick(cb)\n this.gauge.hide(cb)\n}\n\nlog.showProgress = function (name, completed) {\n if (!this.progressEnabled) return\n var values = {}\n if (name) values.section = name\n var last = log.record[log.record.length - 1]\n if (last) {\n values.subsection = last.prefix\n var disp = log.disp[last.level] || last.level\n var logline = this._format(disp, log.style[last.level])\n if (last.prefix) logline += ' ' + this._format(last.prefix, this.prefixStyle)\n logline += ' ' + last.message.split(/\\r?\\n/)[0]\n values.logline = logline\n }\n values.completed = completed || this.tracker.completed()\n this.gauge.show(values)\n}.bind(log) // bind for use in tracker's on-change listener\n\n// temporarily stop emitting, but don't drop\nlog.pause = function () {\n this._paused = true\n if (this.progressEnabled) this.gauge.disable()\n}\n\nlog.resume = function () {\n if (!this._paused) return\n this._paused = false\n\n var b = this._buffer\n this._buffer = []\n b.forEach(function (m) {\n this.emitLog(m)\n }, this)\n if (this.progressEnabled) this.gauge.enable()\n}\n\nlog._buffer = []\n\nvar id = 0\nlog.record = []\nlog.maxRecordSize = 10000\nlog.log = function (lvl, prefix, message) {\n var l = this.levels[lvl]\n if (l === undefined) {\n return this.emit('error', new Error(util.format(\n 'Undefined log level: %j', lvl)))\n }\n\n var a = new Array(arguments.length - 2)\n var stack = null\n for (var i = 2; i < arguments.length; i++) {\n var arg = a[i - 2] = arguments[i]\n\n // resolve stack traces to a plain string.\n if (typeof arg === 'object' && arg &&\n (arg instanceof Error) && arg.stack) {\n arg.stack = stack = arg.stack + ''\n }\n }\n if (stack) a.unshift(stack + '\\n')\n message = util.format.apply(util, a)\n\n var m = { id: id++,\n level: lvl,\n prefix: String(prefix || ''),\n message: message,\n messageRaw: a }\n\n this.emit('log', m)\n this.emit('log.' + lvl, m)\n if (m.prefix) this.emit(m.prefix, m)\n\n this.record.push(m)\n var mrs = this.maxRecordSize\n var n = this.record.length - mrs\n if (n > mrs / 10) {\n var newSize = Math.floor(mrs * 0.9)\n this.record = this.record.slice(-1 * newSize)\n }\n\n this.emitLog(m)\n}.bind(log)\n\nlog.emitLog = function (m) {\n if (this._paused) {\n this._buffer.push(m)\n return\n }\n if (this.progressEnabled) this.gauge.pulse(m.prefix)\n var l = this.levels[m.level]\n if (l === undefined) return\n if (l < this.levels[this.level]) return\n if (l > 0 && !isFinite(l)) return\n\n // If 'disp' is null or undefined, use the lvl as a default\n // Allows: '', 0 as valid disp\n var disp = log.disp[m.level] != null ? log.disp[m.level] : m.level\n this.clearProgress()\n m.message.split(/\\r?\\n/).forEach(function (line) {\n if (this.heading) {\n this.write(this.heading, this.headingStyle)\n this.write(' ')\n }\n this.write(disp, log.style[m.level])\n var p = m.prefix || ''\n if (p) this.write(' ')\n this.write(p, this.prefixStyle)\n this.write(' ' + line + '\\n')\n }, this)\n this.showProgress()\n}\n\nlog._format = function (msg, style) {\n if (!stream) return\n\n var output = ''\n if (this.useColor()) {\n style = style || {}\n var settings = []\n if (style.fg) settings.push(style.fg)\n if (style.bg) settings.push('bg' + style.bg[0].toUpperCase() + style.bg.slice(1))\n if (style.bold) settings.push('bold')\n if (style.underline) settings.push('underline')\n if (style.inverse) settings.push('inverse')\n if (settings.length) output += consoleControl.color(settings)\n if (style.beep) output += consoleControl.beep()\n }\n output += msg\n if (this.useColor()) {\n output += consoleControl.color('reset')\n }\n return output\n}\n\nlog.write = function (msg, style) {\n if (!stream) return\n\n stream.write(this._format(msg, style))\n}\n\nlog.addLevel = function (lvl, n, style, disp) {\n // If 'disp' is null or undefined, use the lvl as a default\n if (disp == null) disp = lvl\n this.levels[lvl] = n\n this.style[lvl] = style\n if (!this[lvl]) {\n this[lvl] = function () {\n var a = new Array(arguments.length + 1)\n a[0] = lvl\n for (var i = 0; i < arguments.length; i++) {\n a[i + 1] = arguments[i]\n }\n return this.log.apply(this, a)\n }.bind(this)\n }\n this.disp[lvl] = disp\n}\n\nlog.prefixStyle = { fg: 'magenta' }\nlog.headingStyle = { fg: 'white', bg: 'black' }\n\nlog.style = {}\nlog.levels = {}\nlog.disp = {}\nlog.addLevel('silly', -Infinity, { inverse: true }, 'sill')\nlog.addLevel('verbose', 1000, { fg: 'blue', bg: 'black' }, 'verb')\nlog.addLevel('info', 2000, { fg: 'green' })\nlog.addLevel('timing', 2500, { fg: 'green', bg: 'black' })\nlog.addLevel('http', 3000, { fg: 'green', bg: 'black' })\nlog.addLevel('notice', 3500, { fg: 'blue', bg: 'black' })\nlog.addLevel('warn', 4000, { fg: 'black', bg: 'yellow' }, 'WARN')\nlog.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!')\nlog.addLevel('silent', Infinity)\n\n// allow 'error' prefix\nlog.on('error', function () {})\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog" }, { "id": "41", "url": "path.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst inspect = require('util').inspect;\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Path must be a string. Received ' + inspect(path));\n }\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeStringWin32(path, allowAboveRoot) {\n var res = '';\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n else\n code = 47/*/*/;\n if (code === 47/*/*/ || code === 92/*\\*/) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 ||\n res.charCodeAt(res.length - 1) !== 46/*.*/ ||\n res.charCodeAt(res.length - 2) !== 46/*.*/) {\n if (res.length > 2) {\n const start = res.length - 1;\n var j = start;\n for (; j >= 0; --j) {\n if (res.charCodeAt(j) === 92/*\\*/)\n break;\n }\n if (j !== start) {\n if (j === -1)\n res = '';\n else\n res = res.slice(0, j);\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '\\\\..';\n else\n res = '..';\n }\n } else {\n if (res.length > 0)\n res += '\\\\' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46/*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47/*/*/)\n break;\n else\n code = 47/*/*/;\n if (code === 47/*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 ||\n res.charCodeAt(res.length - 1) !== 46/*.*/ ||\n res.charCodeAt(res.length - 2) !== 46/*.*/) {\n if (res.length > 2) {\n const start = res.length - 1;\n var j = start;\n for (; j >= 0; --j) {\n if (res.charCodeAt(j) === 47/*/*/)\n break;\n }\n if (j !== start) {\n if (j === -1)\n res = '';\n else\n res = res.slice(0, j);\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46/*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n const dir = pathObject.dir || pathObject.root;\n const base = pathObject.base ||\n ((pathObject.name || '') + (pathObject.ext || ''));\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nconst win32 = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedDevice = '';\n var resolvedTail = '';\n var resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1; i--) {\n var path;\n if (i >= 0) {\n path = arguments[i];\n } else if (!resolvedDevice) {\n path = process.cwd();\n } else {\n // Windows has the concept of drive-specific current working\n // directories. If we've resolved a drive letter but not yet an\n // absolute path, get cwd for that drive, or the process cwd if\n // the drive cwd is not available. We're sure the device is not\n // a UNC path at this points, because UNC paths are always absolute.\n path = process.env['=' + resolvedDevice] || process.cwd();\n\n // Verify that a cwd was found and that it actually points\n // to our drive. If not, default to the drive's root.\n if (path === undefined ||\n path.slice(0, 3).toLowerCase() !==\n resolvedDevice.toLowerCase() + '\\\\') {\n path = resolvedDevice + '\\\\';\n }\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n var len = path.length;\n var rootEnd = 0;\n var code = path.charCodeAt(0);\n var device = '';\n var isAbsolute = false;\n\n // Try to match a root\n if (len > 1) {\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Possible UNC root\n\n // If we started with a separator, we know we at least have an\n // absolute path of some kind (UNC or otherwise)\n isAbsolute = true;\n\n code = path.charCodeAt(1);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Matched double path separator at beginning\n var j = 2;\n var last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n const firstPart = path.slice(last, j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code !== 47/*/*/ && code !== 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j === len) {\n // We matched a UNC root only\n\n device = '\\\\\\\\' + firstPart + '\\\\' + path.slice(last);\n rootEnd = j;\n } else if (j !== last) {\n // We matched a UNC root with leftovers\n\n device = '\\\\\\\\' + firstPart + '\\\\' + path.slice(last, j);\n rootEnd = j;\n }\n }\n }\n } else {\n rootEnd = 1;\n }\n } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 97/*a*/ && code <= 122/*z*/)) {\n // Possible device root\n\n code = path.charCodeAt(1);\n if (path.charCodeAt(1) === 58/*:*/) {\n device = path.slice(0, 2);\n rootEnd = 2;\n if (len > 2) {\n code = path.charCodeAt(2);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n }\n }\n } else if (code === 47/*/*/ || code === 92/*\\*/) {\n // `path` contains just a path separator\n rootEnd = 1;\n isAbsolute = true;\n }\n\n if (device.length > 0 &&\n resolvedDevice.length > 0 &&\n device.toLowerCase() !== resolvedDevice.toLowerCase()) {\n // This path points to another device so it is not applicable\n continue;\n }\n\n if (resolvedDevice.length === 0 && device.length > 0) {\n resolvedDevice = device;\n }\n if (!resolvedAbsolute) {\n resolvedTail = path.slice(rootEnd) + '\\\\' + resolvedTail;\n resolvedAbsolute = isAbsolute;\n }\n\n if (resolvedDevice.length > 0 && resolvedAbsolute) {\n break;\n }\n }\n\n // At this point the path should be resolved to a full absolute path,\n // but handle relative paths to be safe (might happen when process.cwd()\n // fails)\n\n // Normalize the tail path\n resolvedTail = normalizeStringWin32(resolvedTail, !resolvedAbsolute);\n\n return (resolvedDevice + (resolvedAbsolute ? '\\\\' : '') + resolvedTail) ||\n '.';\n },\n\n normalize: function normalize(path) {\n assertPath(path);\n const len = path.length;\n if (len === 0)\n return '.';\n var rootEnd = 0;\n var code = path.charCodeAt(0);\n var device;\n var isAbsolute = false;\n\n // Try to match a root\n if (len > 1) {\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Possible UNC root\n\n // If we started with a separator, we know we at least have an absolute\n // path of some kind (UNC or otherwise)\n isAbsolute = true;\n\n code = path.charCodeAt(1);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Matched double path separator at beginning\n var j = 2;\n var last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n const firstPart = path.slice(last, j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code !== 47/*/*/ && code !== 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j === len) {\n // We matched a UNC root only\n // Return the normalized version of the UNC root since there\n // is nothing left to process\n\n return '\\\\\\\\' + firstPart + '\\\\' + path.slice(last) + '\\\\';\n } else if (j !== last) {\n // We matched a UNC root with leftovers\n\n device = '\\\\\\\\' + firstPart + '\\\\' + path.slice(last, j);\n rootEnd = j;\n }\n }\n }\n } else {\n rootEnd = 1;\n }\n } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 97/*a*/ && code <= 122/*z*/)) {\n // Possible device root\n\n code = path.charCodeAt(1);\n if (path.charCodeAt(1) === 58/*:*/) {\n device = path.slice(0, 2);\n rootEnd = 2;\n if (len > 2) {\n code = path.charCodeAt(2);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n }\n }\n } else if (code === 47/*/*/ || code === 92/*\\*/) {\n // `path` contains just a path separator, exit early to avoid unnecessary\n // work\n return '\\\\';\n }\n\n code = path.charCodeAt(len - 1);\n var trailingSeparator = (code === 47/*/*/ || code === 92/*\\*/);\n var tail;\n if (rootEnd < len)\n tail = normalizeStringWin32(path.slice(rootEnd), !isAbsolute);\n else\n tail = '';\n if (tail.length === 0 && !isAbsolute)\n tail = '.';\n if (tail.length > 0 && trailingSeparator)\n tail += '\\\\';\n if (device === undefined) {\n if (isAbsolute) {\n if (tail.length > 0)\n return '\\\\' + tail;\n else\n return '\\\\';\n } else if (tail.length > 0) {\n return tail;\n } else {\n return '';\n }\n } else {\n if (isAbsolute) {\n if (tail.length > 0)\n return device + '\\\\' + tail;\n else\n return device + '\\\\';\n } else if (tail.length > 0) {\n return device + tail;\n } else {\n return device;\n }\n }\n },\n\n\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n const len = path.length;\n if (len === 0)\n return false;\n var code = path.charCodeAt(0);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n return true;\n } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 97/*a*/ && code <= 122/*z*/)) {\n // Possible device root\n\n if (len > 2 && path.charCodeAt(1) === 58/*:*/) {\n code = path.charCodeAt(2);\n if (code === 47/*/*/ || code === 92/*\\*/)\n return true;\n }\n }\n return false;\n },\n\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n\n var joined;\n var firstPart;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = firstPart = arg;\n else\n joined += '\\\\' + arg;\n }\n }\n\n if (joined === undefined)\n return '.';\n\n // Make sure that the joined path doesn't start with two slashes, because\n // normalize() will mistake it for an UNC path then.\n //\n // This step is skipped when it is very clear that the user actually\n // intended to point at an UNC path. This is assumed when the first\n // non-empty string arguments starts with exactly two slashes followed by\n // at least one more non-slash character.\n //\n // Note that for normalize() to treat a path as an UNC path it needs to\n // have at least 2 components, so we don't filter for that here.\n // This means that the user can use join to construct UNC paths from\n // a server name and a share name; for example:\n // path.join('//server', 'share') -> '\\\\\\\\server\\\\share\\\\')\n //var firstPart = paths[0];\n var needsReplace = true;\n var slashCount = 0;\n var code = firstPart.charCodeAt(0);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n ++slashCount;\n const firstLen = firstPart.length;\n if (firstLen > 1) {\n code = firstPart.charCodeAt(1);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n ++slashCount;\n if (firstLen > 2) {\n code = firstPart.charCodeAt(2);\n if (code === 47/*/*/ || code === 92/*\\*/)\n ++slashCount;\n else {\n // We matched a UNC path in the first part\n needsReplace = false;\n }\n }\n }\n }\n }\n if (needsReplace) {\n // Find any more consecutive slashes we need to replace\n for (; slashCount < joined.length; ++slashCount) {\n code = joined.charCodeAt(slashCount);\n if (code !== 47/*/*/ && code !== 92/*\\*/)\n break;\n }\n\n // Replace the slashes if needed\n if (slashCount >= 2)\n joined = '\\\\' + joined.slice(slashCount);\n }\n\n return win32.normalize(joined);\n },\n\n\n // It will solve the relative path from `from` to `to`, for instance:\n // from = 'C:\\\\orandea\\\\test\\\\aaa'\n // to = 'C:\\\\orandea\\\\impl\\\\bbb'\n // The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to)\n return '';\n\n var fromOrig = win32.resolve(from);\n var toOrig = win32.resolve(to);\n\n if (fromOrig === toOrig)\n return '';\n\n from = fromOrig.toLowerCase();\n to = toOrig.toLowerCase();\n\n if (from === to)\n return '';\n\n // Trim any leading backslashes\n var fromStart = 0;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 92/*\\*/)\n break;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n var fromEnd = from.length;\n for (; fromEnd - 1 > fromStart; --fromEnd) {\n if (from.charCodeAt(fromEnd - 1) !== 92/*\\*/)\n break;\n }\n var fromLen = (fromEnd - fromStart);\n\n // Trim any leading backslashes\n var toStart = 0;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 92/*\\*/)\n break;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n var toEnd = to.length;\n for (; toEnd - 1 > toStart; --toEnd) {\n if (to.charCodeAt(toEnd - 1) !== 92/*\\*/)\n break;\n }\n var toLen = (toEnd - toStart);\n\n // Compare paths to find the longest common path from root\n var length = (fromLen < toLen ? fromLen : toLen);\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 92/*\\*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\n return toOrig.slice(toStart + i + 1);\n } else if (i === 2) {\n // We get here if `from` is the device root.\n // For example: from='C:\\\\'; to='C:\\\\foo'\n return toOrig.slice(toStart + i);\n }\n }\n if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 92/*\\*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\n lastCommonSep = i;\n } else if (i === 2) {\n // We get here if `to` is the device root.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\n lastCommonSep = 3;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 92/*\\*/)\n lastCommonSep = i;\n }\n\n // We found a mismatch before the first common path separator was seen, so\n // return the original `to`.\n if (i !== length && lastCommonSep === -1) {\n return toOrig;\n }\n\n var out = '';\n if (lastCommonSep === -1)\n lastCommonSep = 0;\n // Generate the relative path based on the path difference between `to` and\n // `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 92/*\\*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '\\\\..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + toOrig.slice(toStart + lastCommonSep, toEnd);\n else {\n toStart += lastCommonSep;\n if (toOrig.charCodeAt(toStart) === 92/*\\*/)\n ++toStart;\n return toOrig.slice(toStart, toEnd);\n }\n },\n\n\n _makeLong: function _makeLong(path) {\n // Note: this will *probably* throw somewhere.\n if (typeof path !== 'string')\n return path;\n\n if (path.length === 0) {\n return '';\n }\n\n const resolvedPath = win32.resolve(path);\n\n if (resolvedPath.length >= 3) {\n var code = resolvedPath.charCodeAt(0);\n if (code === 92/*\\*/) {\n // Possible UNC root\n\n if (resolvedPath.charCodeAt(1) === 92/*\\*/) {\n code = resolvedPath.charCodeAt(2);\n if (code !== 63/*?*/ && code !== 46/*.*/) {\n // Matched non-long UNC root, convert the path to a long UNC path\n return '\\\\\\\\?\\\\UNC\\\\' + resolvedPath.slice(2);\n }\n }\n } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 97/*a*/ && code <= 122/*z*/)) {\n // Possible device root\n\n if (resolvedPath.charCodeAt(1) === 58/*:*/ &&\n resolvedPath.charCodeAt(2) === 92/*\\*/) {\n // Matched device root, convert the path to a long UNC path\n return '\\\\\\\\?\\\\' + resolvedPath;\n }\n }\n }\n\n return path;\n },\n\n\n dirname: function dirname(path) {\n assertPath(path);\n const len = path.length;\n if (len === 0)\n return '.';\n var rootEnd = -1;\n var end = -1;\n var matchedSlash = true;\n var offset = 0;\n var code = path.charCodeAt(0);\n\n // Try to match a root\n if (len > 1) {\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Possible UNC root\n\n rootEnd = offset = 1;\n\n code = path.charCodeAt(1);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Matched double path separator at beginning\n var j = 2;\n var last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code !== 47/*/*/ && code !== 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j === len) {\n // We matched a UNC root only\n return path;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n\n // Offset by 1 to include the separator after the UNC root to\n // treat it as a \"normal root\" on top of a (UNC) root\n rootEnd = offset = j + 1;\n }\n }\n }\n }\n } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 97/*a*/ && code <= 122/*z*/)) {\n // Possible device root\n\n code = path.charCodeAt(1);\n if (path.charCodeAt(1) === 58/*:*/) {\n rootEnd = offset = 2;\n if (len > 2) {\n code = path.charCodeAt(2);\n if (code === 47/*/*/ || code === 92/*\\*/)\n rootEnd = offset = 3;\n }\n }\n }\n } else if (code === 47/*/*/ || code === 92/*\\*/) {\n return path[0];\n }\n\n for (var i = len - 1; i >= offset; --i) {\n code = path.charCodeAt(i);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) {\n if (rootEnd === -1)\n return '.';\n else\n end = rootEnd;\n }\n return path.slice(0, end);\n },\n\n\n basename: function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string')\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2) {\n const drive = path.charCodeAt(0);\n if ((drive >= 65/*A*/ && drive <= 90/*Z*/) ||\n (drive >= 97/*a*/ && drive <= 122/*z*/)) {\n if (path.charCodeAt(1) === 58/*:*/)\n start = 2;\n }\n }\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path)\n return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1)\n return '';\n return path.slice(start, end);\n }\n },\n\n\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46/*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return path.slice(startDot, end);\n },\n\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError(\n `Parameter \"pathObject\" must be an object, not ${typeof pathObject}`\n );\n }\n return _format('\\\\', pathObject);\n },\n\n\n parse: function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0)\n return ret;\n\n var len = path.length;\n var rootEnd = 0;\n var code = path.charCodeAt(0);\n var isAbsolute = false;\n\n // Try to match a root\n if (len > 1) {\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Possible UNC root\n\n isAbsolute = true;\n\n code = path.charCodeAt(1);\n rootEnd = 1;\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // Matched double path separator at beginning\n var j = 2;\n var last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code !== 47/*/*/ && code !== 92/*\\*/)\n break;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n for (; j < len; ++j) {\n code = path.charCodeAt(j);\n if (code === 47/*/*/ || code === 92/*\\*/)\n break;\n }\n if (j === len) {\n // We matched a UNC root only\n\n rootEnd = j;\n } else if (j !== last) {\n // We matched a UNC root with leftovers\n\n rootEnd = j + 1;\n }\n }\n }\n }\n } else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 97/*a*/ && code <= 122/*z*/)) {\n // Possible device root\n\n code = path.charCodeAt(1);\n if (path.charCodeAt(1) === 58/*:*/) {\n rootEnd = 2;\n if (len > 2) {\n code = path.charCodeAt(2);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n if (len === 3) {\n // `path` contains just a drive root, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path.slice(0, 3);\n return ret;\n }\n isAbsolute = true;\n rootEnd = 3;\n }\n } else {\n // `path` contains just a drive root, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path.slice(0, 2);\n return ret;\n }\n }\n }\n } else if (code === 47/*/*/ || code === 92/*\\*/) {\n // `path` contains just a path separator, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path[0];\n return ret;\n }\n\n if (rootEnd > 0)\n ret.root = path.slice(0, rootEnd);\n\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= rootEnd; --i) {\n code = path.charCodeAt(i);\n if (code === 47/*/*/ || code === 92/*\\*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46/*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = path.slice(rootEnd, end);\n else\n ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(rootEnd, startDot);\n ret.base = path.slice(rootEnd, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0)\n ret.dir = path.slice(0, startPart - 1);\n else if (isAbsolute)\n ret.dir = path.slice(0, rootEnd);\n\n return ret;\n },\n\n\n sep: '\\\\',\n delimiter: ';',\n win32: null,\n posix: null\n};\n\n\nconst posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47/*/*/;\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 = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n },\n\n\n normalize: function normalize(path) {\n assertPath(path);\n\n if (path.length === 0)\n return '.';\n\n const isAbsolute = path.charCodeAt(0) === 47/*/*/;\n const trailingSeparator = path.charCodeAt(path.length - 1) === 47/*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute)\n path = '.';\n if (path.length > 0 && trailingSeparator)\n path += '/';\n\n if (isAbsolute)\n return '/' + path;\n return path;\n },\n\n\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47/*/*/;\n },\n\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n },\n\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to)\n return '';\n\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to)\n return '';\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47/*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = (fromEnd - fromStart);\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47/*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = (toEnd - toStart);\n\n // Compare paths to find the longest common path from root\n var length = (fromLen < toLen ? fromLen : toLen);\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47/*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47/*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47/*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47/*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47/*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n },\n\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0)\n return '.';\n var code = path.charCodeAt(0);\n var hasRoot = (code === 47/*/*/);\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47/*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1)\n return hasRoot ? '/' : '.';\n if (hasRoot && end === 1)\n return '//';\n return path.slice(0, end);\n },\n\n\n basename: function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string')\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path)\n return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === 47/*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47/*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1)\n return '';\n return path.slice(start, end);\n }\n },\n\n\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === 47/*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46/*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return path.slice(startDot, end);\n },\n\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError(\n `Parameter \"pathObject\" must be an object, not ${typeof pathObject}`\n );\n }\n return _format('/', pathObject);\n },\n\n\n parse: function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0)\n return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = (code === 47/*/*/);\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47/*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46/*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = path.slice(1, end);\n else\n ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0)\n ret.dir = path.slice(0, startPart - 1);\n else if (isAbsolute)\n ret.dir = '/';\n\n return ret;\n },\n\n\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\n\n\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\n\n\nif (process.platform === 'win32')\n module.exports = win32;\nelse\n module.exports = posix;\n\n});", "pkgUrl": "(system)" }, { "id": "60", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet" }, { "id": "61", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar util = require('util')\nvar TrackerBase = require('./tracker-base.js')\nvar Tracker = require('./tracker.js')\nvar TrackerStream = require('./tracker-stream.js')\n\nvar TrackerGroup = module.exports = function (name) {\n TrackerBase.call(this, name)\n this.parentGroup = null\n this.trackers = []\n this.completion = {}\n this.weight = {}\n this.totalWeight = 0\n this.finished = false\n this.bubbleChange = bubbleChange(this)\n}\nutil.inherits(TrackerGroup, TrackerBase)\n\nfunction bubbleChange (trackerGroup) {\n return function (name, completed, tracker) {\n trackerGroup.completion[tracker.id] = completed\n if (trackerGroup.finished) return\n trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)\n }\n}\n\nTrackerGroup.prototype.nameInTree = function () {\n var names = []\n var from = this\n while (from) {\n names.unshift(from.name)\n from = from.parentGroup\n }\n return names.join('/')\n}\n\nTrackerGroup.prototype.addUnit = function (unit, weight) {\n if (unit.addUnit) {\n var toTest = this\n while (toTest) {\n if (unit === toTest) {\n throw new Error(\n 'Attempted to add tracker group ' +\n unit.name + ' to tree that already includes it ' +\n this.nameInTree(this))\n }\n toTest = toTest.parentGroup\n }\n unit.parentGroup = this\n }\n this.weight[unit.id] = weight || 1\n this.totalWeight += this.weight[unit.id]\n this.trackers.push(unit)\n this.completion[unit.id] = unit.completed()\n unit.on('change', this.bubbleChange)\n if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit)\n return unit\n}\n\nTrackerGroup.prototype.completed = function () {\n if (this.trackers.length === 0) return 0\n var valPerWeight = 1 / this.totalWeight\n var completed = 0\n for (var ii = 0; ii < this.trackers.length; ii++) {\n var trackerId = this.trackers[ii].id\n completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId]\n }\n return completed\n}\n\nTrackerGroup.prototype.newGroup = function (name, weight) {\n return this.addUnit(new TrackerGroup(name), weight)\n}\n\nTrackerGroup.prototype.newItem = function (name, todo, weight) {\n return this.addUnit(new Tracker(name, todo), weight)\n}\n\nTrackerGroup.prototype.newStream = function (name, todo, weight) {\n return this.addUnit(new TrackerStream(name, todo), weight)\n}\n\nTrackerGroup.prototype.finish = function () {\n this.finished = true\n if (!this.trackers.length) this.addUnit(new Tracker(), 1, true)\n for (var ii = 0; ii < this.trackers.length; ii++) {\n var tracker = this.trackers[ii]\n tracker.finish()\n tracker.removeListener('change', this.bubbleChange)\n }\n this.emit('change', this.name, 1, this)\n}\n\nvar buffer = ' '\nTrackerGroup.prototype.debug = function (depth) {\n depth = depth || 0\n var indent = depth ? buffer.substr(0, depth) : ''\n var output = indent + (this.name || 'top') + ': ' + this.completed() + '\\n'\n this.trackers.forEach(function (tracker) {\n if (tracker instanceof TrackerGroup) {\n output += tracker.debug(depth + 1)\n } else {\n output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\\n'\n }\n })\n return output\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet" }, { "id": "64", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar util = require('util')\nvar stream = require('readable-stream')\nvar delegate = require('delegates')\nvar Tracker = require('./tracker.js')\n\nvar TrackerStream = module.exports = function (name, size, options) {\n stream.Transform.call(this, options)\n this.tracker = new Tracker(name, size)\n this.name = name\n this.id = this.tracker.id\n this.tracker.on('change', delegateChange(this))\n}\nutil.inherits(TrackerStream, stream.Transform)\n\nfunction delegateChange (trackerStream) {\n return function (name, completion, tracker) {\n trackerStream.emit('change', name, completion, trackerStream)\n }\n}\n\nTrackerStream.prototype._transform = function (data, encoding, cb) {\n this.tracker.completeWork(data.length ? data.length : 1)\n this.push(data)\n cb()\n}\n\nTrackerStream.prototype._flush = function (cb) {\n this.tracker.finish()\n cb()\n}\n\ndelegate(TrackerStream.prototype, 'tracker')\n .method('completed')\n .method('addWork')\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet" }, { "id": "65", "url": "/usr/local/lib/node_modules/npm/node_modules/readable-stream/readable.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/readable-stream" }, { "id": "66", "url": "/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar processNextTick = require('process-nextick-args');\n/**/\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') {\n return emitter.prependListener(event, fn);\n } else {\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n }\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = ~~this.highWaterMark;\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // when piping, we only care about 'readable' events that happen\n // after read()ing all the bytes and not getting any pushback.\n this.ranOut = false;\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options && typeof options.read === 'function') this._read = options.read;\n\n Stream.call(this);\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n\n if (!state.objectMode && typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n }\n\n return readableAddChunk(this, state, chunk, encoding, false);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n var state = this._readableState;\n return readableAddChunk(this, state, chunk, '', true);\n};\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\nfunction readableAddChunk(stream, state, chunk, encoding, addToFront) {\n var er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (state.ended && !addToFront) {\n var e = new Error('stream.push() after EOF');\n stream.emit('error', e);\n } else if (state.endEmitted && addToFront) {\n var _e = new Error('stream.unshift() after end event');\n stream.emit('error', _e);\n } else {\n var skipAdd;\n if (state.decoder && !addToFront && !encoding) {\n chunk = state.decoder.write(chunk);\n skipAdd = !state.objectMode && chunk.length === 0;\n }\n\n if (!addToFront) state.reading = false;\n\n // Don't add to the buffer if we've decoded to an empty string chunk and\n // we're not in object mode\n if (!skipAdd) {\n // if we want the data now, just emit it.\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n }\n\n maybeReadMore(stream, state);\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n\n return needMoreData(state);\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction chunkInvalid(state, chunk) {\n var er = null;\n if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== null && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n processNextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable) {\n debug('onunpipe');\n if (readable === src) {\n cleanup();\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n processNextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this, state);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n processNextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var state = this._readableState;\n var paused = false;\n\n var self = this;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) self.push(chunk);\n }\n\n self.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = self.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n self._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return self;\n};\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n processNextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction forEach(xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/readable-stream" }, { "id": "80", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar Plumbing = require('./plumbing.js')\nvar hasUnicode = require('has-unicode')\nvar hasColor = require('./has-color.js')\nvar onExit = require('signal-exit')\nvar defaultThemes = require('./themes')\nvar setInterval = require('./set-interval.js')\nvar process = require('./process.js')\nvar setImmediate = require('./set-immediate')\n\nmodule.exports = Gauge\n\nfunction callWith (obj, method) {\n return function () {\n return method.call(obj)\n }\n}\n\nfunction Gauge (arg1, arg2) {\n var options, writeTo\n if (arg1 && arg1.write) {\n writeTo = arg1\n options = arg2 || {}\n } else if (arg2 && arg2.write) {\n writeTo = arg2\n options = arg1 || {}\n } else {\n writeTo = process.stderr\n options = arg1 || arg2 || {}\n }\n\n this._status = {\n spun: 0,\n section: '',\n subsection: ''\n }\n this._paused = false // are we paused for back pressure?\n this._disabled = true // are all progress bar updates disabled?\n this._showing = false // do we WANT the progress bar on screen\n this._onScreen = false // IS the progress bar on screen\n this._needsRedraw = false // should we print something at next tick?\n this._hideCursor = options.hideCursor == null ? true : options.hideCursor\n this._fixedFramerate = options.fixedFramerate == null\n ? !(/^v0\\.8\\./.test(process.version))\n : options.fixedFramerate\n this._lastUpdateAt = null\n this._updateInterval = options.updateInterval == null ? 50 : options.updateInterval\n\n this._themes = options.themes || defaultThemes\n this._theme = options.theme\n var theme = this._computeTheme(options.theme)\n var template = options.template || [\n {type: 'progressbar', length: 20},\n {type: 'activityIndicator', kerning: 1, length: 1},\n {type: 'section', kerning: 1, default: ''},\n {type: 'subsection', kerning: 1, default: ''}\n ]\n this.setWriteTo(writeTo, options.tty)\n var PlumbingClass = options.Plumbing || Plumbing\n this._gauge = new PlumbingClass(theme, template, this.getWidth())\n\n this._$$doRedraw = callWith(this, this._doRedraw)\n this._$$handleSizeChange = callWith(this, this._handleSizeChange)\n\n this._cleanupOnExit = options.cleanupOnExit == null || options.cleanupOnExit\n this._removeOnExit = null\n\n if (options.enabled || (options.enabled == null && this._tty && this._tty.isTTY)) {\n this.enable()\n } else {\n this.disable()\n }\n}\nGauge.prototype = {}\n\nGauge.prototype.isEnabled = function () {\n return !this._disabled\n}\n\nGauge.prototype.setTemplate = function (template) {\n this._gauge.setTemplate(template)\n if (this._showing) this._requestRedraw()\n}\n\nGauge.prototype._computeTheme = function (theme) {\n if (!theme) theme = {}\n if (typeof theme === 'string') {\n theme = this._themes.getTheme(theme)\n } else if (theme && (Object.keys(theme).length === 0 || theme.hasUnicode != null || theme.hasColor != null)) {\n var useUnicode = theme.hasUnicode == null ? hasUnicode() : theme.hasUnicode\n var useColor = theme.hasColor == null ? hasColor : theme.hasColor\n theme = this._themes.getDefault({hasUnicode: useUnicode, hasColor: useColor, platform: theme.platform})\n }\n return theme\n}\n\nGauge.prototype.setThemeset = function (themes) {\n this._themes = themes\n this.setTheme(this._theme)\n}\n\nGauge.prototype.setTheme = function (theme) {\n this._gauge.setTheme(this._computeTheme(theme))\n if (this._showing) this._requestRedraw()\n this._theme = theme\n}\n\nGauge.prototype._requestRedraw = function () {\n this._needsRedraw = true\n if (!this._fixedFramerate) this._doRedraw()\n}\n\nGauge.prototype.getWidth = function () {\n return ((this._tty && this._tty.columns) || 80) - 1\n}\n\nGauge.prototype.setWriteTo = function (writeTo, tty) {\n var enabled = !this._disabled\n if (enabled) this.disable()\n this._writeTo = writeTo\n this._tty = tty ||\n (writeTo === process.stderr && process.stdout.isTTY && process.stdout) ||\n (writeTo.isTTY && writeTo) ||\n this._tty\n if (this._gauge) this._gauge.setWidth(this.getWidth())\n if (enabled) this.enable()\n}\n\nGauge.prototype.enable = function () {\n if (!this._disabled) return\n this._disabled = false\n if (this._tty) this._enableEvents()\n if (this._showing) this.show()\n}\n\nGauge.prototype.disable = function () {\n if (this._disabled) return\n if (this._showing) {\n this._lastUpdateAt = null\n this._showing = false\n this._doRedraw()\n this._showing = true\n }\n this._disabled = true\n if (this._tty) this._disableEvents()\n}\n\nGauge.prototype._enableEvents = function () {\n if (this._cleanupOnExit) {\n this._removeOnExit = onExit(callWith(this, this.disable))\n }\n this._tty.on('resize', this._$$handleSizeChange)\n if (this._fixedFramerate) {\n this.redrawTracker = setInterval(this._$$doRedraw, this._updateInterval)\n if (this.redrawTracker.unref) this.redrawTracker.unref()\n }\n}\n\nGauge.prototype._disableEvents = function () {\n this._tty.removeListener('resize', this._$$handleSizeChange)\n if (this._fixedFramerate) clearInterval(this.redrawTracker)\n if (this._removeOnExit) this._removeOnExit()\n}\n\nGauge.prototype.hide = function (cb) {\n if (this._disabled) return cb && process.nextTick(cb)\n if (!this._showing) return cb && process.nextTick(cb)\n this._showing = false\n this._doRedraw()\n cb && setImmediate(cb)\n}\n\nGauge.prototype.show = function (section, completed) {\n this._showing = true\n if (typeof section === 'string') {\n this._status.section = section\n } else if (typeof section === 'object') {\n var sectionKeys = Object.keys(section)\n for (var ii = 0; ii < sectionKeys.length; ++ii) {\n var key = sectionKeys[ii]\n this._status[key] = section[key]\n }\n }\n if (completed != null) this._status.completed = completed\n if (this._disabled) return\n this._requestRedraw()\n}\n\nGauge.prototype.pulse = function (subsection) {\n this._status.subsection = subsection || ''\n this._status.spun ++\n if (this._disabled) return\n if (!this._showing) return\n this._requestRedraw()\n}\n\nGauge.prototype._handleSizeChange = function () {\n this._gauge.setWidth(this._tty.columns - 1)\n this._requestRedraw()\n}\n\nGauge.prototype._doRedraw = function () {\n if (this._disabled || this._paused) return\n if (!this._fixedFramerate) {\n var now = Date.now()\n if (this._lastUpdateAt && now - this._lastUpdateAt < this._updateInterval) return\n this._lastUpdateAt = now\n }\n if (!this._showing && this._onScreen) {\n this._onScreen = false\n var result = this._gauge.hide()\n if (this._hideCursor) {\n result += this._gauge.showCursor()\n }\n return this._writeTo.write(result)\n }\n if (!this._showing && !this._onScreen) return\n if (this._showing && !this._onScreen) {\n this._onScreen = true\n this._needsRedraw = true\n if (this._hideCursor) {\n this._writeTo.write(this._gauge.hideCursor())\n }\n }\n if (!this._needsRedraw) return\n if (!this._writeTo.write(this._gauge.show(this._status))) {\n this._paused = true\n this._writeTo.on('drain', callWith(this, function () {\n this._paused = false\n this._doRedraw()\n }))\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "81", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/plumbing.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar consoleControl = require('console-control-strings')\nvar renderTemplate = require('./render-template.js')\nvar validate = require('aproba')\n\nvar Plumbing = module.exports = function (theme, template, width) {\n if (!width) width = 80\n validate('OAN', [theme, template, width])\n this.showing = false\n this.theme = theme\n this.width = width\n this.template = template\n}\nPlumbing.prototype = {}\n\nPlumbing.prototype.setTheme = function (theme) {\n validate('O', [theme])\n this.theme = theme\n}\n\nPlumbing.prototype.setTemplate = function (template) {\n validate('A', [template])\n this.template = template\n}\n\nPlumbing.prototype.setWidth = function (width) {\n validate('N', [width])\n this.width = width\n}\n\nPlumbing.prototype.hide = function () {\n return consoleControl.gotoSOL() + consoleControl.eraseLine()\n}\n\nPlumbing.prototype.hideCursor = consoleControl.hideCursor\n\nPlumbing.prototype.showCursor = consoleControl.showCursor\n\nPlumbing.prototype.show = function (status) {\n var values = Object.create(this.theme)\n for (var key in status) {\n values[key] = status[key]\n }\n\n return renderTemplate(this.width, this.template, values).trim() +\n consoleControl.color('reset') +\n consoleControl.eraseLine() + consoleControl.gotoSOL()\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "82", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\n// These tables borrowed from `ansi`\n\nvar prefix = '\\x1b['\n\nexports.up = function up (num) {\n return prefix + (num || '') + 'A'\n}\n\nexports.down = function down (num) {\n return prefix + (num || '') + 'B'\n}\n\nexports.forward = function forward (num) {\n return prefix + (num || '') + 'C'\n}\n\nexports.back = function back (num) {\n return prefix + (num || '') + 'D'\n}\n\nexports.nextLine = function nextLine (num) {\n return prefix + (num || '') + 'E'\n}\n\nexports.previousLine = function previousLine (num) {\n return prefix + (num || '') + 'F'\n}\n\nexports.horizontalAbsolute = function horizontalAbsolute (num) {\n if (num == null) throw new Error('horizontalAboslute requires a column to position to')\n return prefix + num + 'G'\n}\n\nexports.eraseData = function eraseData () {\n return prefix + 'J'\n}\n\nexports.eraseLine = function eraseLine () {\n return prefix + 'K'\n}\n\nexports.goto = function (x, y) {\n return prefix + y + ';' + x + 'H'\n}\n\nexports.gotoSOL = function () {\n return '\\r'\n}\n\nexports.beep = function () {\n return '\\x07'\n}\n\nexports.hideCursor = function hideCursor () {\n return prefix + '?25l'\n}\n\nexports.showCursor = function showCursor () {\n return prefix + '?25h'\n}\n\nvar colors = {\n reset: 0,\n// styles\n bold: 1,\n italic: 3,\n underline: 4,\n inverse: 7,\n// resets\n stopBold: 22,\n stopItalic: 23,\n stopUnderline: 24,\n stopInverse: 27,\n// colors\n white: 37,\n black: 30,\n blue: 34,\n cyan: 36,\n green: 32,\n magenta: 35,\n red: 31,\n yellow: 33,\n bgWhite: 47,\n bgBlack: 40,\n bgBlue: 44,\n bgCyan: 46,\n bgGreen: 42,\n bgMagenta: 45,\n bgRed: 41,\n bgYellow: 43,\n\n grey: 90,\n brightBlack: 90,\n brightRed: 91,\n brightGreen: 92,\n brightYellow: 93,\n brightBlue: 94,\n brightMagenta: 95,\n brightCyan: 96,\n brightWhite: 97,\n\n bgGrey: 100,\n bgBrightBlack: 100,\n bgBrightRed: 101,\n bgBrightGreen: 102,\n bgBrightYellow: 103,\n bgBrightBlue: 104,\n bgBrightMagenta: 105,\n bgBrightCyan: 106,\n bgBrightWhite: 107\n}\n\nexports.color = function color (colorWith) {\n if (arguments.length !== 1 || !Array.isArray(colorWith)) {\n colorWith = Array.prototype.slice.call(arguments)\n }\n return prefix + colorWith.map(colorNameToCode).join(';') + 'm'\n}\n\nfunction colorNameToCode (color) {\n if (colors[color] != null) return colors[color]\n throw new Error('Unknown color or style name: ' + color)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings" }, { "id": "83", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/render-template.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar align = require('wide-align')\nvar validate = require('aproba')\nvar objectAssign = require('object-assign')\nvar wideTruncate = require('./wide-truncate')\nvar error = require('./error')\nvar TemplateItem = require('./template-item')\n\nfunction renderValueWithValues (values) {\n return function (item) {\n return renderValue(item, values)\n }\n}\n\nvar renderTemplate = module.exports = function (width, template, values) {\n var items = prepareItems(width, template, values)\n var rendered = items.map(renderValueWithValues(values)).join('')\n return align.left(wideTruncate(rendered, width), width)\n}\n\nfunction preType (item) {\n var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1)\n return 'pre' + cappedTypeName\n}\n\nfunction postType (item) {\n var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1)\n return 'post' + cappedTypeName\n}\n\nfunction hasPreOrPost (item, values) {\n if (!item.type) return\n return values[preType(item)] || values[postType(item)]\n}\n\nfunction generatePreAndPost (baseItem, parentValues) {\n var item = objectAssign({}, baseItem)\n var values = Object.create(parentValues)\n var template = []\n var pre = preType(item)\n var post = postType(item)\n if (values[pre]) {\n template.push({value: values[pre]})\n values[pre] = null\n }\n item.minLength = null\n item.length = null\n item.maxLength = null\n template.push(item)\n values[item.type] = values[item.type]\n if (values[post]) {\n template.push({value: values[post]})\n values[post] = null\n }\n return function ($1, $2, length) {\n return renderTemplate(length, template, values)\n }\n}\n\nfunction prepareItems (width, template, values) {\n function cloneAndObjectify (item, index, arr) {\n var cloned = new TemplateItem(item, width)\n var type = cloned.type\n if (cloned.value == null) {\n if (!(type in values)) {\n if (cloned.default == null) {\n throw new error.MissingTemplateValue(cloned, values)\n } else {\n cloned.value = cloned.default\n }\n } else {\n cloned.value = values[type]\n }\n }\n if (cloned.value == null || cloned.value === '') return null\n cloned.index = index\n cloned.first = index === 0\n cloned.last = index === arr.length - 1\n if (hasPreOrPost(cloned, values)) cloned.value = generatePreAndPost(cloned, values)\n return cloned\n }\n\n var output = template.map(cloneAndObjectify).filter(function (item) { return item != null })\n\n var outputLength = 0\n var remainingSpace = width\n var variableCount = output.length\n\n function consumeSpace (length) {\n if (length > remainingSpace) length = remainingSpace\n outputLength += length\n remainingSpace -= length\n }\n\n function finishSizing (item, length) {\n if (item.finished) throw new error.Internal('Tried to finish template item that was already finished')\n if (length === Infinity) throw new error.Internal('Length of template item cannot be infinity')\n if (length != null) item.length = length\n item.minLength = null\n item.maxLength = null\n --variableCount\n item.finished = true\n if (item.length == null) item.length = item.getBaseLength()\n if (item.length == null) throw new error.Internal('Finished template items must have a length')\n consumeSpace(item.getLength())\n }\n\n output.forEach(function (item) {\n if (!item.kerning) return\n var prevPadRight = item.first ? 0 : output[item.index - 1].padRight\n if (!item.first && prevPadRight < item.kerning) item.padLeft = item.kerning - prevPadRight\n if (!item.last) item.padRight = item.kerning\n })\n\n // Finish any that have a fixed (literal or intuited) length\n output.forEach(function (item) {\n if (item.getBaseLength() == null) return\n finishSizing(item)\n })\n\n var resized = 0\n var resizing\n var hunkSize\n do {\n resizing = false\n hunkSize = Math.round(remainingSpace / variableCount)\n output.forEach(function (item) {\n if (item.finished) return\n if (!item.maxLength) return\n if (item.getMaxLength() < hunkSize) {\n finishSizing(item, item.maxLength)\n resizing = true\n }\n })\n } while (resizing && resized++ < output.length)\n if (resizing) throw new error.Internal('Resize loop iterated too many times while determining maxLength')\n\n resized = 0\n do {\n resizing = false\n hunkSize = Math.round(remainingSpace / variableCount)\n output.forEach(function (item) {\n if (item.finished) return\n if (!item.minLength) return\n if (item.getMinLength() >= hunkSize) {\n finishSizing(item, item.minLength)\n resizing = true\n }\n })\n } while (resizing && resized++ < output.length)\n if (resizing) throw new error.Internal('Resize loop iterated too many times while determining minLength')\n\n hunkSize = Math.round(remainingSpace / variableCount)\n output.forEach(function (item) {\n if (item.finished) return\n finishSizing(item, hunkSize)\n })\n\n return output\n}\n\nfunction renderFunction (item, values, length) {\n validate('OON', arguments)\n if (item.type) {\n return item.value(values, values[item.type + 'Theme'] || {}, length)\n } else {\n return item.value(values, {}, length)\n }\n}\n\nfunction renderValue (item, values) {\n var length = item.getBaseLength()\n var value = typeof item.value === 'function' ? renderFunction(item, values, length) : item.value\n if (value == null || value === '') return ''\n var alignWith = align[item.align] || align.left\n var leftPadding = item.padLeft ? align.left('', item.padLeft) : ''\n var rightPadding = item.padRight ? align.right('', item.padRight) : ''\n var truncated = wideTruncate(String(value), length)\n var aligned = alignWith(truncated, length)\n return leftPadding + aligned + rightPadding\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "84", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar stringWidth = require('string-width')\n\nexports.center = alignCenter\nexports.left = alignLeft\nexports.right = alignRight\n\n// lodash's way of generating pad characters.\n\nfunction createPadding (width) {\n var result = ''\n var string = ' '\n var n = width\n do {\n if (n % 2) {\n result += string;\n }\n n = Math.floor(n / 2);\n string += string;\n } while (n);\n\n return result;\n}\n\nfunction alignLeft (str, width) {\n var trimmed = str.trimRight()\n if (trimmed.length === 0 && str.length >= width) return str\n var padding = ''\n var strWidth = stringWidth(trimmed)\n\n if (strWidth < width) {\n padding = createPadding(width - strWidth)\n }\n\n return trimmed + padding\n}\n\nfunction alignRight (str, width) {\n var trimmed = str.trimLeft()\n if (trimmed.length === 0 && str.length >= width) return str\n var padding = ''\n var strWidth = stringWidth(trimmed)\n\n if (strWidth < width) {\n padding = createPadding(width - strWidth)\n }\n\n return padding + trimmed\n}\n\nfunction alignCenter (str, width) {\n var trimmed = str.trim()\n if (trimmed.length === 0 && str.length >= width) return str\n var padLeft = ''\n var padRight = ''\n var strWidth = stringWidth(trimmed)\n\n if (strWidth < width) {\n var padLeftBy = parseInt((width - strWidth) / 2, 10)\n padLeft = createPadding(padLeftBy)\n padRight = createPadding(width - (strWidth + padLeftBy))\n }\n\n return padLeft + trimmed + padRight\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/wide-align" }, { "id": "85", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nvar stripAnsi = require('strip-ansi');\nvar codePointAt = require('code-point-at');\nvar isFullwidthCodePoint = require('is-fullwidth-code-point');\n\n// https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345\nmodule.exports = function (str) {\n\tif (typeof str !== 'string' || str.length === 0) {\n\t\treturn 0;\n\t}\n\n\tvar width = 0;\n\n\tstr = stripAnsi(str);\n\n\tfor (var i = 0; i < str.length; i++) {\n\t\tvar code = codePointAt(str, i);\n\n\t\t// ignore control characters\n\t\tif (code <= 0x1f || (code >= 0x7f && code <= 0x9f)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// surrogates\n\t\tif (code >= 0x10000) {\n\t\t\ti++;\n\t\t}\n\n\t\tif (isFullwidthCodePoint(code)) {\n\t\t\twidth += 2;\n\t\t} else {\n\t\t\twidth++;\n\t\t}\n\t}\n\n\treturn width;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width" }, { "id": "95", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/template-item.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar stringWidth = require('string-width')\n\nmodule.exports = TemplateItem\n\nfunction isPercent (num) {\n if (typeof num !== 'string') return false\n return num.slice(-1) === '%'\n}\n\nfunction percent (num) {\n return Number(num.slice(0, -1)) / 100\n}\n\nfunction TemplateItem (values, outputLength) {\n this.overallOutputLength = outputLength\n this.finished = false\n this.type = null\n this.value = null\n this.length = null\n this.maxLength = null\n this.minLength = null\n this.kerning = null\n this.align = 'left'\n this.padLeft = 0\n this.padRight = 0\n this.index = null\n this.first = null\n this.last = null\n if (typeof values === 'string') {\n this.value = values\n } else {\n for (var prop in values) this[prop] = values[prop]\n }\n // Realize percents\n if (isPercent(this.length)) {\n this.length = Math.round(this.overallOutputLength * percent(this.length))\n }\n if (isPercent(this.minLength)) {\n this.minLength = Math.round(this.overallOutputLength * percent(this.minLength))\n }\n if (isPercent(this.maxLength)) {\n this.maxLength = Math.round(this.overallOutputLength * percent(this.maxLength))\n }\n return this\n}\n\nTemplateItem.prototype = {}\n\nTemplateItem.prototype.getBaseLength = function () {\n var length = this.length\n if (length == null && typeof this.value === 'string' && this.maxLength == null && this.minLength == null) {\n length = stringWidth(this.value)\n }\n return length\n}\n\nTemplateItem.prototype.getLength = function () {\n var length = this.getBaseLength()\n if (length == null) return null\n return length + this.padLeft + this.padRight\n}\n\nTemplateItem.prototype.getMaxLength = function () {\n if (this.maxLength == null) return null\n return this.maxLength + this.padLeft + this.padRight\n}\n\nTemplateItem.prototype.getMinLength = function () {\n if (this.minLength == null) return null\n return this.minLength + this.padLeft + this.padRight\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "101", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/themes.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "102", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/theme-set.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar objectAssign = require('object-assign')\n\nmodule.exports = function () {\n return ThemeSetProto.newThemeSet()\n}\n\nvar ThemeSetProto = {}\n\nThemeSetProto.baseTheme = require('./base-theme.js')\n\nThemeSetProto.newTheme = function (parent, theme) {\n if (!theme) {\n theme = parent\n parent = this.baseTheme\n }\n return objectAssign({}, parent, theme)\n}\n\nThemeSetProto.getThemeNames = function () {\n return Object.keys(this.themes)\n}\n\nThemeSetProto.addTheme = function (name, parent, theme) {\n this.themes[name] = this.newTheme(parent, theme)\n}\n\nThemeSetProto.addToAllThemes = function (theme) {\n var themes = this.themes\n Object.keys(themes).forEach(function (name) {\n objectAssign(themes[name], theme)\n })\n objectAssign(this.baseTheme, theme)\n}\n\nThemeSetProto.getTheme = function (name) {\n if (!this.themes[name]) throw this.newMissingThemeError(name)\n return this.themes[name]\n}\n\nThemeSetProto.setDefault = function (opts, name) {\n if (name == null) {\n name = opts\n opts = {}\n }\n var platform = opts.platform == null ? 'fallback' : opts.platform\n var hasUnicode = !!opts.hasUnicode\n var hasColor = !!opts.hasColor\n if (!this.defaults[platform]) this.defaults[platform] = {true: {}, false: {}}\n this.defaults[platform][hasUnicode][hasColor] = name\n}\n\nThemeSetProto.getDefault = function (opts) {\n if (!opts) opts = {}\n var platformName = opts.platform || process.platform\n var platform = this.defaults[platformName] || this.defaults.fallback\n var hasUnicode = !!opts.hasUnicode\n var hasColor = !!opts.hasColor\n if (!platform) throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor)\n if (!platform[hasUnicode][hasColor]) {\n if (hasUnicode && hasColor && platform[!hasUnicode][hasColor]) {\n hasUnicode = false\n } else if (hasUnicode && hasColor && platform[hasUnicode][!hasColor]) {\n hasColor = false\n } else if (hasUnicode && hasColor && platform[!hasUnicode][!hasColor]) {\n hasUnicode = false\n hasColor = false\n } else if (hasUnicode && !hasColor && platform[!hasUnicode][hasColor]) {\n hasUnicode = false\n } else if (!hasUnicode && hasColor && platform[hasUnicode][!hasColor]) {\n hasColor = false\n } else if (platform === this.defaults.fallback) {\n throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor)\n }\n }\n if (platform[hasUnicode][hasColor]) {\n return this.getTheme(platform[hasUnicode][hasColor])\n } else {\n return this.getDefault(objectAssign({}, opts, {platform: 'fallback'}))\n }\n}\n\nThemeSetProto.newMissingThemeError = function newMissingThemeError (name) {\n var err = new Error('Could not find a gauge theme named \"' + name + '\"')\n Error.captureStackTrace.call(err, newMissingThemeError)\n err.theme = name\n err.code = 'EMISSINGTHEME'\n return err\n}\n\nThemeSetProto.newMissingDefaultThemeError = function newMissingDefaultThemeError (platformName, hasUnicode, hasColor) {\n var err = new Error(\n 'Could not find a gauge theme for your platform/unicode/color use combo:\\n' +\n ' platform = ' + platformName + '\\n' +\n ' hasUnicode = ' + hasUnicode + '\\n' +\n ' hasColor = ' + hasColor)\n Error.captureStackTrace.call(err, newMissingDefaultThemeError)\n err.platform = platformName\n err.hasUnicode = hasUnicode\n err.hasColor = hasColor\n err.code = 'EMISSINGTHEME'\n return err\n}\n\nThemeSetProto.newThemeSet = function () {\n var themeset = function (opts) {\n return themeset.getDefault(opts)\n }\n return objectAssign(themeset, ThemeSetProto, {\n themes: objectAssign({}, this.themes),\n baseTheme: objectAssign({}, this.baseTheme),\n defaults: JSON.parse(JSON.stringify(this.defaults || {}))\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "109", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/set-blocking/index.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = function (blocking) {\n [process.stdout, process.stderr].forEach(function (stream) {\n if (stream._handle && stream.isTTY && typeof stream._handle.setBlocking === 'function') {\n stream._handle.setBlocking(blocking)\n }\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/set-blocking" }, { "id": "37", "url": "internal/process/stdio.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nexports.setup = setupStdio;\n\nvar errors;\n\nfunction lazyErrors() {\n if (!errors)\n errors = require('internal/errors');\n return errors;\n}\n\nfunction setupStdio() {\n var stdin;\n var stdout;\n var stderr;\n\n function getStdout() {\n if (stdout) return stdout;\n stdout = createWritableStdioStream(1);\n stdout.destroySoon = stdout.destroy;\n stdout._destroy = function(er, cb) {\n // avoid errors if we already emitted\n const errors = lazyErrors();\n er = er || new errors.Error('ERR_STDOUT_CLOSE');\n cb(er);\n };\n if (stdout.isTTY) {\n process.on('SIGWINCH', () => stdout._refreshSize());\n }\n return stdout;\n }\n\n function getStderr() {\n if (stderr) return stderr;\n stderr = createWritableStdioStream(2);\n stderr.destroySoon = stderr.destroy;\n stderr._destroy = function(er, cb) {\n // avoid errors if we already emitted\n const errors = lazyErrors();\n er = er || new errors.Error('ERR_STDERR_CLOSE');\n cb(er);\n };\n if (stderr.isTTY) {\n process.on('SIGWINCH', () => stderr._refreshSize());\n }\n return stderr;\n }\n\n function getStdin() {\n if (stdin) return stdin;\n\n const tty_wrap = process.binding('tty_wrap');\n const fd = 0;\n\n switch (tty_wrap.guessHandleType(fd)) {\n case 'TTY':\n var tty = require('tty');\n stdin = new tty.ReadStream(fd, {\n highWaterMark: 0,\n readable: true,\n writable: false\n });\n break;\n\n case 'FILE':\n var fs = require('fs');\n stdin = new fs.ReadStream(null, { fd: fd, autoClose: false });\n break;\n\n case 'PIPE':\n case 'TCP':\n var net = require('net');\n\n // It could be that process has been started with an IPC channel\n // sitting on fd=0, in such case the pipe for this fd is already\n // present and creating a new one will lead to the assertion failure\n // in libuv.\n if (process.channel && process.channel.fd === fd) {\n stdin = new net.Socket({\n handle: process.channel,\n readable: true,\n writable: false\n });\n } else {\n stdin = new net.Socket({\n fd: fd,\n readable: true,\n writable: false\n });\n }\n // Make sure the stdin can't be `.end()`-ed\n stdin._writableState.ended = true;\n break;\n\n default:\n // Probably an error on in uv_guess_handle()\n const errors = lazyErrors();\n throw new errors.Error('ERR_UNKNOWN_STDIN_TYPE');\n }\n\n // For supporting legacy API we put the FD here.\n stdin.fd = fd;\n\n // stdin starts out life in a paused state, but node doesn't\n // know yet. Explicitly to readStop() it to put it in the\n // not-reading state.\n if (stdin._handle && stdin._handle.readStop) {\n stdin._handle.reading = false;\n stdin._readableState.reading = false;\n stdin._handle.readStop();\n }\n\n // if the user calls stdin.pause(), then we need to stop reading\n // immediately, so that the process can close down.\n stdin.on('pause', () => {\n if (!stdin._handle)\n return;\n stdin._readableState.reading = false;\n stdin._handle.reading = false;\n stdin._handle.readStop();\n });\n\n return stdin;\n }\n\n Object.defineProperty(process, 'stdout', {\n configurable: true,\n enumerable: true,\n get: getStdout\n });\n\n Object.defineProperty(process, 'stderr', {\n configurable: true,\n enumerable: true,\n get: getStderr\n });\n\n Object.defineProperty(process, 'stdin', {\n configurable: true,\n enumerable: true,\n get: getStdin\n });\n\n process.openStdin = function() {\n process.stdin.resume();\n return process.stdin;\n };\n}\n\nfunction createWritableStdioStream(fd) {\n var stream;\n const tty_wrap = process.binding('tty_wrap');\n\n // Note stream._type is used for test-module-load-list.js\n\n switch (tty_wrap.guessHandleType(fd)) {\n case 'TTY':\n var tty = require('tty');\n stream = new tty.WriteStream(fd);\n stream._type = 'tty';\n break;\n\n case 'FILE':\n var fs = require('internal/fs');\n stream = new fs.SyncWriteStream(fd, { autoClose: false });\n stream._type = 'fs';\n break;\n\n case 'PIPE':\n case 'TCP':\n var net = require('net');\n stream = new net.Socket({\n fd: fd,\n readable: false,\n writable: true\n });\n stream._type = 'pipe';\n break;\n\n default:\n // Probably an error on in uv_guess_handle()\n const errors = lazyErrors();\n throw new errors.Error('ERR_UNKNOWN_STREAM_TYPE');\n }\n\n // For supporting legacy API we put the FD here.\n stream.fd = fd;\n\n stream._isStdio = true;\n\n return stream;\n}\n\n});", "pkgUrl": "(system)" }, { "id": "110", "url": "tty.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst util = require('util');\nconst net = require('net');\nconst TTY = process.binding('tty_wrap').TTY;\nconst isTTY = process.binding('tty_wrap').isTTY;\nconst inherits = util.inherits;\nconst errnoException = util._errnoException;\nconst errors = require('internal/errors');\n\nexports.isatty = function(fd) {\n return isTTY(fd);\n};\n\n\nfunction ReadStream(fd, options) {\n if (!(this instanceof ReadStream))\n return new ReadStream(fd, options);\n if (fd >> 0 !== fd || fd < 0)\n throw new errors.RangeError('ERR_INVALID_FD', fd);\n\n options = util._extend({\n highWaterMark: 0,\n readable: true,\n writable: false,\n handle: new TTY(fd, true)\n }, options);\n\n net.Socket.call(this, options);\n\n this.isRaw = false;\n this.isTTY = true;\n}\ninherits(ReadStream, net.Socket);\n\nexports.ReadStream = ReadStream;\n\nReadStream.prototype.setRawMode = function(flag) {\n flag = !!flag;\n this._handle.setRawMode(flag);\n this.isRaw = flag;\n};\n\n\nfunction WriteStream(fd) {\n if (!(this instanceof WriteStream))\n return new WriteStream(fd);\n if (fd >> 0 !== fd || fd < 0)\n throw new errors.RangeError('ERR_INVALID_FD', fd);\n\n net.Socket.call(this, {\n handle: new TTY(fd, false),\n readable: false,\n writable: true\n });\n\n // Prevents interleaved or dropped stdout/stderr output for terminals.\n // As noted in the following reference, local TTYs tend to be quite fast and\n // this behaviour has become expected due historical functionality on OS X,\n // even though it was originally intended to change in v1.0.2 (Libuv 1.2.1).\n // Ref: https://github.com/nodejs/node/pull/1771#issuecomment-119351671\n this._handle.setBlocking(true);\n\n var winSize = new Array(2);\n var err = this._handle.getWindowSize(winSize);\n if (!err) {\n this.columns = winSize[0];\n this.rows = winSize[1];\n }\n}\ninherits(WriteStream, net.Socket);\nexports.WriteStream = WriteStream;\n\n\nWriteStream.prototype.isTTY = true;\n\n\nWriteStream.prototype._refreshSize = function() {\n var oldCols = this.columns;\n var oldRows = this.rows;\n var winSize = new Array(2);\n var err = this._handle.getWindowSize(winSize);\n if (err) {\n this.emit('error', errnoException(err, 'getWindowSize'));\n return;\n }\n var newCols = winSize[0];\n var newRows = winSize[1];\n if (oldCols !== newCols || oldRows !== newRows) {\n this.columns = newCols;\n this.rows = newRows;\n this.emit('resize');\n }\n};\n\n\n// backwards-compat\nWriteStream.prototype.cursorTo = function(x, y) {\n require('readline').cursorTo(this, x, y);\n};\nWriteStream.prototype.moveCursor = function(dx, dy) {\n require('readline').moveCursor(this, dx, dy);\n};\nWriteStream.prototype.clearLine = function(dir) {\n require('readline').clearLine(this, dir);\n};\nWriteStream.prototype.clearScreenDown = function() {\n require('readline').clearScreenDown(this);\n};\nWriteStream.prototype.getWindowSize = function() {\n return [this.columns, this.rows];\n};\n\n});", "pkgUrl": "(system)" }, { "id": "111", "url": "net.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst EventEmitter = require('events');\nconst stream = require('stream');\nconst timers = require('timers');\nconst util = require('util');\nconst internalUtil = require('internal/util');\nconst internalNet = require('internal/net');\nconst assert = require('assert');\nconst cares = process.binding('cares_wrap');\nconst uv = process.binding('uv');\n\nconst Buffer = require('buffer').Buffer;\nconst TTYWrap = process.binding('tty_wrap');\nconst TCP = process.binding('tcp_wrap').TCP;\nconst Pipe = process.binding('pipe_wrap').Pipe;\nconst TCPConnectWrap = process.binding('tcp_wrap').TCPConnectWrap;\nconst PipeConnectWrap = process.binding('pipe_wrap').PipeConnectWrap;\nconst ShutdownWrap = process.binding('stream_wrap').ShutdownWrap;\nconst WriteWrap = process.binding('stream_wrap').WriteWrap;\nconst async_id_symbol = process.binding('async_wrap').async_id_symbol;\nconst { newUid, setInitTriggerId } = require('async_hooks');\nconst nextTick = require('internal/process/next_tick').nextTick;\nconst errors = require('internal/errors');\n\nvar cluster;\nvar dns;\n\nconst errnoException = util._errnoException;\nconst exceptionWithHostPort = util._exceptionWithHostPort;\nconst isLegalPort = internalNet.isLegalPort;\nconst normalizedArgsSymbol = internalNet.normalizedArgsSymbol;\n\nfunction noop() {}\n\nfunction createHandle(fd) {\n var type = TTYWrap.guessHandleType(fd);\n if (type === 'PIPE') return new Pipe();\n if (type === 'TCP') return new TCP();\n throw new TypeError('Unsupported fd type: ' + type);\n}\n\n\nfunction getNewAsyncId(handle) {\n return (!handle || typeof handle.getAsyncId !== 'function') ?\n newUid() : handle.getAsyncId();\n}\n\n\nconst debug = util.debuglog('net');\n\nfunction isPipeName(s) {\n return typeof s === 'string' && toNumber(s) === false;\n}\n\nfunction createServer(options, connectionListener) {\n return new Server(options, connectionListener);\n}\n\n\n// Target API:\n//\n// var s = net.connect({port: 80, host: 'google.com'}, function() {\n// ...\n// });\n//\n// There are various forms:\n//\n// connect(options, [cb])\n// connect(port, [host], [cb])\n// connect(path, [cb]);\n//\nfunction connect() {\n var args = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++)\n args[i] = arguments[i];\n // TODO(joyeecheung): use destructuring when V8 is fast enough\n var normalized = normalizeArgs(args);\n var options = normalized[0];\n debug('createConnection', normalized);\n var socket = new Socket(options);\n\n if (options.timeout) {\n socket.setTimeout(options.timeout);\n }\n\n return Socket.prototype.connect.call(socket, normalized);\n}\n\n\n// Returns an array [options, cb], where options is an object,\n// cb is either a funciton or null.\n// Used to normalize arguments of Socket.prototype.connect() and\n// Server.prototype.listen(). Possible combinations of paramters:\n// (options[...][, cb])\n// (path[...][, cb])\n// ([port][, host][...][, cb])\n// For Socket.prototype.connect(), the [...] part is ignored\n// For Server.prototype.listen(), the [...] part is [, backlog]\n// but will not be handled here (handled in listen())\nfunction normalizeArgs(args) {\n var arr;\n\n if (args.length === 0) {\n arr = [{}, null];\n arr[normalizedArgsSymbol] = true;\n return arr;\n }\n\n const arg0 = args[0];\n var options = {};\n if (typeof arg0 === 'object' && arg0 !== null) {\n // (options[...][, cb])\n options = arg0;\n } else if (isPipeName(arg0)) {\n // (path[...][, cb])\n options.path = arg0;\n } else {\n // ([port][, host][...][, cb])\n options.port = arg0;\n if (args.length > 1 && typeof args[1] === 'string') {\n options.host = args[1];\n }\n }\n\n var cb = args[args.length - 1];\n if (typeof cb !== 'function')\n arr = [options, null];\n else\n arr = [options, cb];\n\n arr[normalizedArgsSymbol] = true;\n return arr;\n}\n\n\n// called when creating new Socket, or when re-using a closed Socket\nfunction initSocketHandle(self) {\n self._undestroy();\n self._bytesDispatched = 0;\n self._sockname = null;\n\n // Handle creation may be deferred to bind() or connect() time.\n if (self._handle) {\n self._handle.owner = self;\n self._handle.onread = onread;\n self[async_id_symbol] = getNewAsyncId(self._handle);\n\n // If handle doesn't support writev - neither do we\n if (!self._handle.writev)\n self._writev = null;\n }\n}\n\n\nconst BYTES_READ = Symbol('bytesRead');\n\n\nfunction Socket(options) {\n if (!(this instanceof Socket)) return new Socket(options);\n\n this.connecting = false;\n // Problem with this is that users can supply their own handle, that may not\n // have _handle.getAsyncId(). In this case an[async_id_symbol] should\n // probably be supplied by async_hooks.\n this[async_id_symbol] = -1;\n this._hadError = false;\n this._handle = null;\n this._parent = null;\n this._host = null;\n\n if (typeof options === 'number')\n options = { fd: options }; // Legacy interface.\n else if (options === undefined)\n options = {};\n\n stream.Duplex.call(this, options);\n\n if (options.handle) {\n this._handle = options.handle; // private\n this[async_id_symbol] = getNewAsyncId(this._handle);\n } else if (options.fd !== undefined) {\n this._handle = createHandle(options.fd);\n this._handle.open(options.fd);\n this[async_id_symbol] = this._handle.getAsyncId();\n // options.fd can be string (since it is user-defined),\n // so changing this to === would be semver-major\n // See: https://github.com/nodejs/node/pull/11513\n // eslint-disable-next-line eqeqeq\n if ((options.fd == 1 || options.fd == 2) &&\n (this._handle instanceof Pipe) &&\n process.platform === 'win32') {\n // Make stdout and stderr blocking on Windows\n var err = this._handle.setBlocking(true);\n if (err)\n throw errnoException(err, 'setBlocking');\n }\n this.readable = options.readable !== false;\n this.writable = options.writable !== false;\n } else {\n // these will be set once there is a connection\n this.readable = this.writable = false;\n }\n\n // shut down the socket when we're finished with it.\n this.on('finish', onSocketFinish);\n this.on('_socketEnd', onSocketEnd);\n\n initSocketHandle(this);\n\n this._pendingData = null;\n this._pendingEncoding = '';\n\n // handle strings directly\n this._writableState.decodeStrings = false;\n\n // default to *not* allowing half open sockets\n this.allowHalfOpen = options && options.allowHalfOpen || false;\n\n // if we have a handle, then start the flow of data into the\n // buffer. if not, then this will happen when we connect\n if (this._handle && options.readable !== false) {\n if (options.pauseOnCreate) {\n // stop the handle from reading and pause the stream\n this._handle.reading = false;\n this._handle.readStop();\n this._readableState.flowing = false;\n } else {\n this.read(0);\n }\n }\n\n // Reserve properties\n this.server = null;\n this._server = null;\n\n // Used after `.destroy()`\n this[BYTES_READ] = 0;\n}\nutil.inherits(Socket, stream.Duplex);\n\nSocket.prototype._unrefTimer = function _unrefTimer() {\n for (var s = this; s !== null; s = s._parent)\n timers._unrefActive(s);\n};\n\n// the user has called .end(), and all the bytes have been\n// sent out to the other side.\nfunction onSocketFinish() {\n // If still connecting - defer handling 'finish' until 'connect' will happen\n if (this.connecting) {\n debug('osF: not yet connected');\n return this.once('connect', onSocketFinish);\n }\n\n debug('onSocketFinish');\n if (!this.readable || this._readableState.ended) {\n debug('oSF: ended, destroy', this._readableState);\n return this.destroy();\n }\n\n debug('oSF: not ended, call shutdown()');\n\n // otherwise, just shutdown, or destroy() if not possible\n if (!this._handle || !this._handle.shutdown)\n return this.destroy();\n\n var req = new ShutdownWrap();\n req.oncomplete = afterShutdown;\n req.handle = this._handle;\n // node::ShutdownWrap isn't instantiated and attached to the JS instance of\n // ShutdownWrap above until shutdown() is called. So don't set the init\n // trigger id until now.\n setInitTriggerId(this[async_id_symbol]);\n var err = this._handle.shutdown(req);\n\n if (err)\n return this.destroy(errnoException(err, 'shutdown'));\n}\n\n\nfunction afterShutdown(status, handle, req) {\n var self = handle.owner;\n\n debug('afterShutdown destroyed=%j', self.destroyed,\n self._readableState);\n\n // callback may come after call to destroy.\n if (self.destroyed)\n return;\n\n if (self._readableState.ended) {\n debug('readableState ended, destroying');\n self.destroy();\n } else {\n self.once('_socketEnd', self.destroy);\n }\n}\n\n// the EOF has been received, and no more bytes are coming.\n// if the writable side has ended already, then clean everything\n// up.\nfunction onSocketEnd() {\n // XXX Should not have to do as much crap in this function.\n // ended should already be true, since this is called *after*\n // the EOF errno and onread has eof'ed\n debug('onSocketEnd', this._readableState);\n this._readableState.ended = true;\n if (this._readableState.endEmitted) {\n this.readable = false;\n maybeDestroy(this);\n } else {\n this.once('end', function end() {\n this.readable = false;\n maybeDestroy(this);\n });\n this.read(0);\n }\n\n if (!this.allowHalfOpen) {\n this.write = writeAfterFIN;\n this.destroySoon();\n }\n}\n\n// Provide a better error message when we call end() as a result\n// of the other side sending a FIN. The standard 'write after end'\n// is overly vague, and makes it seem like the user's code is to blame.\nfunction writeAfterFIN(chunk, encoding, cb) {\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n var er = new Error('This socket has been ended by the other party');\n er.code = 'EPIPE';\n // TODO: defer error events consistently everywhere, not just the cb\n this.emit('error', er);\n if (typeof cb === 'function') {\n nextTick(this[async_id_symbol], cb, er);\n }\n}\n\nSocket.prototype.read = function(n) {\n if (n === 0)\n return stream.Readable.prototype.read.call(this, n);\n\n this.read = stream.Readable.prototype.read;\n this._consuming = true;\n return this.read(n);\n};\n\n\n// FIXME(joyeecheung): this method is neither documented nor tested\nSocket.prototype.listen = function() {\n debug('socket.listen');\n this.on('connection', arguments[0]);\n listenInCluster(this, null, null, null);\n};\n\n\nSocket.prototype.setTimeout = function(msecs, callback) {\n if (msecs === 0) {\n timers.unenroll(this);\n if (callback) {\n this.removeListener('timeout', callback);\n }\n } else {\n timers.enroll(this, msecs);\n timers._unrefActive(this);\n if (callback) {\n this.once('timeout', callback);\n }\n }\n return this;\n};\n\n\nSocket.prototype._onTimeout = function() {\n debug('_onTimeout');\n this.emit('timeout');\n};\n\n\nSocket.prototype.setNoDelay = function(enable) {\n if (!this._handle) {\n this.once('connect',\n enable ? this.setNoDelay : () => this.setNoDelay(enable));\n return this;\n }\n\n // backwards compatibility: assume true when `enable` is omitted\n if (this._handle.setNoDelay)\n this._handle.setNoDelay(enable === undefined ? true : !!enable);\n\n return this;\n};\n\n\nSocket.prototype.setKeepAlive = function(setting, msecs) {\n if (!this._handle) {\n this.once('connect', () => this.setKeepAlive(setting, msecs));\n return this;\n }\n\n if (this._handle.setKeepAlive)\n this._handle.setKeepAlive(setting, ~~(msecs / 1000));\n\n return this;\n};\n\n\nSocket.prototype.address = function() {\n return this._getsockname();\n};\n\n\nObject.defineProperty(Socket.prototype, '_connecting', {\n get: function() {\n return this.connecting;\n }\n});\n\n\nObject.defineProperty(Socket.prototype, 'readyState', {\n get: function() {\n if (this.connecting) {\n return 'opening';\n } else if (this.readable && this.writable) {\n return 'open';\n } else if (this.readable && !this.writable) {\n return 'readOnly';\n } else if (!this.readable && this.writable) {\n return 'writeOnly';\n } else {\n return 'closed';\n }\n }\n});\n\n\nObject.defineProperty(Socket.prototype, 'bufferSize', {\n get: function() {\n if (this._handle) {\n return this._handle.writeQueueSize + this._writableState.length;\n }\n }\n});\n\n\n// Just call handle.readStart until we have enough in the buffer\nSocket.prototype._read = function(n) {\n debug('_read');\n\n if (this.connecting || !this._handle) {\n debug('_read wait for connection');\n this.once('connect', () => this._read(n));\n } else if (!this._handle.reading) {\n // not already reading, start the flow\n debug('Socket._read readStart');\n this._handle.reading = true;\n var err = this._handle.readStart();\n if (err)\n this.destroy(errnoException(err, 'read'));\n }\n};\n\n\nSocket.prototype.end = function(data, encoding) {\n stream.Duplex.prototype.end.call(this, data, encoding);\n this.writable = false;\n DTRACE_NET_STREAM_END(this);\n ;\n\n // just in case we're waiting for an EOF.\n if (this.readable && !this._readableState.endEmitted)\n this.read(0);\n else\n maybeDestroy(this);\n\n return this;\n};\n\n\n// Call whenever we set writable=false or readable=false\nfunction maybeDestroy(socket) {\n if (!socket.readable &&\n !socket.writable &&\n !socket.destroyed &&\n !socket.connecting &&\n !socket._writableState.length) {\n socket.destroy();\n }\n}\n\n\nSocket.prototype.destroySoon = function() {\n if (this.writable)\n this.end();\n\n if (this._writableState.finished)\n this.destroy();\n else\n this.once('finish', this.destroy);\n};\n\n\nSocket.prototype._destroy = function(exception, cb) {\n debug('destroy');\n\n this.connecting = false;\n\n this.readable = this.writable = false;\n\n for (var s = this; s !== null; s = s._parent)\n timers.unenroll(s);\n\n debug('close');\n if (this._handle) {\n if (this !== process.stderr)\n debug('close handle');\n var isException = exception ? true : false;\n // `bytesRead` should be accessible after `.destroy()`\n this[BYTES_READ] = this._handle.bytesRead;\n\n this._handle.close(() => {\n debug('emit close');\n this.emit('close', isException);\n });\n this._handle.onread = noop;\n this._handle = null;\n this._sockname = null;\n }\n\n cb(exception);\n\n if (this._server) {\n ;\n debug('has server');\n this._server._connections--;\n if (this._server._emitCloseIfDrained) {\n this._server._emitCloseIfDrained();\n }\n }\n};\n\n\n// This function is called whenever the handle gets a\n// buffer, or when there's an error reading.\nfunction onread(nread, buffer) {\n var handle = this;\n var self = handle.owner;\n assert(handle === self._handle, 'handle != self._handle');\n\n self._unrefTimer();\n\n debug('onread', nread);\n\n if (nread > 0) {\n debug('got data');\n\n // read success.\n // In theory (and in practice) calling readStop right now\n // will prevent this from being called again until _read() gets\n // called again.\n\n // Optimization: emit the original buffer with end points\n var ret = self.push(buffer);\n\n if (handle.reading && !ret) {\n handle.reading = false;\n debug('readStop');\n var err = handle.readStop();\n if (err)\n self.destroy(errnoException(err, 'read'));\n }\n return;\n }\n\n // if we didn't get any bytes, that doesn't necessarily mean EOF.\n // wait for the next one.\n if (nread === 0) {\n debug('not any data, keep waiting');\n return;\n }\n\n // Error, possibly EOF.\n if (nread !== uv.UV_EOF) {\n return self.destroy(errnoException(nread, 'read'));\n }\n\n debug('EOF');\n\n // push a null to signal the end of data.\n // Do it before `maybeDestroy` for correct order of events:\n // `end` -> `close`\n self.push(null);\n\n if (self._readableState.length === 0) {\n self.readable = false;\n maybeDestroy(self);\n }\n\n // internal end event so that we know that the actual socket\n // is no longer readable, and we can start the shutdown\n // procedure. No need to wait for all the data to be consumed.\n self.emit('_socketEnd');\n}\n\n\nSocket.prototype._getpeername = function() {\n if (!this._peername) {\n if (!this._handle || !this._handle.getpeername) {\n return {};\n }\n var out = {};\n var err = this._handle.getpeername(out);\n if (err) return {}; // FIXME(bnoordhuis) Throw?\n this._peername = out;\n }\n return this._peername;\n};\n\nfunction protoGetter(name, callback) {\n Object.defineProperty(Socket.prototype, name, {\n configurable: false,\n enumerable: true,\n get: callback\n });\n}\n\nprotoGetter('bytesRead', function bytesRead() {\n return this._handle ? this._handle.bytesRead : this[BYTES_READ];\n});\n\nprotoGetter('remoteAddress', function remoteAddress() {\n return this._getpeername().address;\n});\n\nprotoGetter('remoteFamily', function remoteFamily() {\n return this._getpeername().family;\n});\n\nprotoGetter('remotePort', function remotePort() {\n return this._getpeername().port;\n});\n\n\nSocket.prototype._getsockname = function() {\n if (!this._handle || !this._handle.getsockname) {\n return {};\n }\n if (!this._sockname) {\n var out = {};\n var err = this._handle.getsockname(out);\n if (err) return {}; // FIXME(bnoordhuis) Throw?\n this._sockname = out;\n }\n return this._sockname;\n};\n\n\nprotoGetter('localAddress', function localAddress() {\n return this._getsockname().address;\n});\n\n\nprotoGetter('localPort', function localPort() {\n return this._getsockname().port;\n});\n\n\nSocket.prototype.write = function(chunk, encoding, cb) {\n if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) {\n throw new TypeError(\n 'Invalid data, chunk must be a string or buffer, not ' + typeof chunk);\n }\n return stream.Duplex.prototype.write.apply(this, arguments);\n};\n\n\nSocket.prototype._writeGeneric = function(writev, data, encoding, cb) {\n // If we are still connecting, then buffer this for later.\n // The Writable logic will buffer up any more writes while\n // waiting for this one to be done.\n if (this.connecting) {\n this._pendingData = data;\n this._pendingEncoding = encoding;\n this.once('connect', function connect() {\n this._writeGeneric(writev, data, encoding, cb);\n });\n return;\n }\n this._pendingData = null;\n this._pendingEncoding = '';\n\n this._unrefTimer();\n\n if (!this._handle) {\n this.destroy(new Error('This socket is closed'), cb);\n return false;\n }\n\n var req = new WriteWrap();\n req.handle = this._handle;\n req.oncomplete = afterWrite;\n req.async = false;\n var err;\n\n if (writev) {\n var allBuffers = data.allBuffers;\n var chunks;\n var i;\n if (allBuffers) {\n chunks = data;\n for (i = 0; i < data.length; i++)\n data[i] = data[i].chunk;\n } else {\n chunks = new Array(data.length << 1);\n for (i = 0; i < data.length; i++) {\n var entry = data[i];\n chunks[i * 2] = entry.chunk;\n chunks[i * 2 + 1] = entry.encoding;\n }\n }\n err = this._handle.writev(req, chunks, allBuffers);\n\n // Retain chunks\n if (err === 0) req._chunks = chunks;\n } else {\n var enc;\n if (data instanceof Buffer) {\n enc = 'buffer';\n } else {\n enc = encoding;\n }\n err = createWriteReq(req, this._handle, data, enc);\n }\n\n if (err)\n return this.destroy(errnoException(err, 'write', req.error), cb);\n\n this._bytesDispatched += req.bytes;\n\n // If it was entirely flushed, we can write some more right now.\n // However, if more is left in the queue, then wait until that clears.\n if (req.async && this._handle.writeQueueSize !== 0)\n req.cb = cb;\n else\n cb();\n};\n\n\nSocket.prototype._writev = function(chunks, cb) {\n this._writeGeneric(true, chunks, '', cb);\n};\n\n\nSocket.prototype._write = function(data, encoding, cb) {\n this._writeGeneric(false, data, encoding, cb);\n};\n\nfunction createWriteReq(req, handle, data, encoding) {\n switch (encoding) {\n case 'latin1':\n case 'binary':\n return handle.writeLatin1String(req, data);\n\n case 'buffer':\n return handle.writeBuffer(req, data);\n\n case 'utf8':\n case 'utf-8':\n return handle.writeUtf8String(req, data);\n\n case 'ascii':\n return handle.writeAsciiString(req, data);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return handle.writeUcs2String(req, data);\n\n default:\n return handle.writeBuffer(req, Buffer.from(data, encoding));\n }\n}\n\n\nprotoGetter('bytesWritten', function bytesWritten() {\n var bytes = this._bytesDispatched;\n const state = this._writableState;\n const data = this._pendingData;\n const encoding = this._pendingEncoding;\n\n if (!state)\n return undefined;\n\n state.getBuffer().forEach(function(el) {\n if (el.chunk instanceof Buffer)\n bytes += el.chunk.length;\n else\n bytes += Buffer.byteLength(el.chunk, el.encoding);\n });\n\n if (data) {\n if (data instanceof Buffer)\n bytes += data.length;\n else\n bytes += Buffer.byteLength(data, encoding);\n }\n\n return bytes;\n});\n\n\nfunction afterWrite(status, handle, req, err) {\n var self = handle.owner;\n if (self !== process.stderr && self !== process.stdout)\n debug('afterWrite', status);\n\n // callback may come after call to destroy.\n if (self.destroyed) {\n debug('afterWrite destroyed');\n return;\n }\n\n if (status < 0) {\n var ex = errnoException(status, 'write', req.error);\n debug('write failure', ex);\n self.destroy(ex, req.cb);\n return;\n }\n\n self._unrefTimer();\n\n if (self !== process.stderr && self !== process.stdout)\n debug('afterWrite call cb');\n\n if (req.cb)\n req.cb.call(self);\n}\n\n\nfunction internalConnect(\n self, address, port, addressType, localAddress, localPort) {\n // TODO return promise from Socket.prototype.connect which\n // wraps _connectReq.\n\n assert.ok(self.connecting);\n\n var err;\n\n if (localAddress || localPort) {\n debug('binding to localAddress: %s and localPort: %d (addressType: %d)',\n localAddress, localPort, addressType);\n\n if (addressType === 4) {\n localAddress = localAddress || '0.0.0.0';\n err = self._handle.bind(localAddress, localPort);\n } else if (addressType === 6) {\n localAddress = localAddress || '::';\n err = self._handle.bind6(localAddress, localPort);\n } else {\n self.destroy(new TypeError('Invalid addressType: ' + addressType));\n return;\n }\n\n if (err) {\n const ex = exceptionWithHostPort(err, 'bind', localAddress, localPort);\n self.destroy(ex);\n return;\n }\n }\n\n if (addressType === 6 || addressType === 4) {\n const req = new TCPConnectWrap();\n req.oncomplete = afterConnect;\n req.address = address;\n req.port = port;\n req.localAddress = localAddress;\n req.localPort = localPort;\n\n // node::TCPConnectWrap isn't instantiated and attached to the JS instance\n // of TCPConnectWrap above until connect() is called. So don't set the init\n // trigger id until now.\n setInitTriggerId(self[async_id_symbol]);\n if (addressType === 4)\n err = self._handle.connect(req, address, port);\n else\n err = self._handle.connect6(req, address, port);\n\n } else {\n const req = new PipeConnectWrap();\n req.address = address;\n req.oncomplete = afterConnect;\n // node::PipeConnectWrap isn't instantiated and attached to the JS instance\n // of PipeConnectWrap above until connect() is called. So don't set the\n // init trigger id until now.\n setInitTriggerId(self[async_id_symbol]);\n err = self._handle.connect(req, address, afterConnect);\n }\n\n if (err) {\n var sockname = self._getsockname();\n var details;\n\n if (sockname) {\n details = sockname.address + ':' + sockname.port;\n }\n\n const ex = exceptionWithHostPort(err, 'connect', address, port, details);\n self.destroy(ex);\n }\n}\n\n\nSocket.prototype.connect = function() {\n let normalized;\n // If passed an array, it's treated as an array of arguments that have\n // already been normalized (so we don't normalize more than once). This has\n // been solved before in https://github.com/nodejs/node/pull/12342, but was\n // reverted as it had unintended side effects.\n if (Array.isArray(arguments[0]) && arguments[0][normalizedArgsSymbol]) {\n normalized = arguments[0];\n } else {\n var args = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++)\n args[i] = arguments[i];\n // TODO(joyeecheung): use destructuring when V8 is fast enough\n normalized = normalizeArgs(args);\n }\n var options = normalized[0];\n var cb = normalized[1];\n\n if (this.write !== Socket.prototype.write)\n this.write = Socket.prototype.write;\n\n if (this.destroyed) {\n this._undestroy();\n this._handle = null;\n this._peername = null;\n this._sockname = null;\n }\n\n const path = options.path;\n var pipe = !!path;\n debug('pipe', pipe, path);\n\n if (!this._handle) {\n this._handle = pipe ? new Pipe() : new TCP();\n initSocketHandle(this);\n }\n\n if (cb !== null) {\n this.once('connect', cb);\n }\n\n this._unrefTimer();\n\n this.connecting = true;\n this.writable = true;\n\n if (pipe) {\n if (typeof path !== 'string') {\n throw new errors.TypeError('ERR_INVALID_ARG_TYPE',\n 'options.path',\n 'string',\n path);\n }\n internalConnect(this, path);\n } else {\n lookupAndConnect(this, options);\n }\n return this;\n};\n\n\nfunction lookupAndConnect(self, options) {\n const dns = lazyDns();\n var host = options.host || 'localhost';\n var port = options.port;\n var localAddress = options.localAddress;\n var localPort = options.localPort;\n\n if (localAddress && !cares.isIP(localAddress))\n throw new TypeError('\"localAddress\" option must be a valid IP: ' +\n localAddress);\n\n if (localPort && typeof localPort !== 'number')\n throw new TypeError('\"localPort\" option should be a number: ' + localPort);\n\n if (typeof port !== 'undefined') {\n if (typeof port !== 'number' && typeof port !== 'string')\n throw new TypeError('\"port\" option should be a number or string: ' +\n port);\n if (!isLegalPort(port))\n throw new RangeError('\"port\" option should be >= 0 and < 65536: ' + port);\n }\n port |= 0;\n\n // If host is an IP, skip performing a lookup\n var addressType = cares.isIP(host);\n if (addressType) {\n nextTick(self[async_id_symbol], function() {\n if (self.connecting)\n internalConnect(self, host, port, addressType, localAddress, localPort);\n });\n return;\n }\n\n if (options.lookup && typeof options.lookup !== 'function')\n throw new TypeError('\"lookup\" option should be a function');\n\n var dnsopts = {\n family: options.family,\n hints: options.hints || 0\n };\n\n if (dnsopts.family !== 4 && dnsopts.family !== 6 && dnsopts.hints === 0) {\n dnsopts.hints = dns.ADDRCONFIG;\n }\n\n debug('connect: find host', host);\n debug('connect: dns options', dnsopts);\n self._host = host;\n var lookup = options.lookup || dns.lookup;\n setInitTriggerId(self[async_id_symbol]);\n lookup(host, dnsopts, function emitLookup(err, ip, addressType) {\n self.emit('lookup', err, ip, addressType, host);\n\n // It's possible we were destroyed while looking this up.\n // XXX it would be great if we could cancel the promise returned by\n // the look up.\n if (!self.connecting) return;\n\n if (err) {\n // net.createConnection() creates a net.Socket object and\n // immediately calls net.Socket.connect() on it (that's us).\n // There are no event listeners registered yet so defer the\n // error event to the next tick.\n err.host = options.host;\n err.port = options.port;\n err.message = err.message + ' ' + options.host + ':' + options.port;\n process.nextTick(connectErrorNT, self, err);\n } else {\n self._unrefTimer();\n internalConnect(self,\n ip,\n port,\n addressType,\n localAddress,\n localPort);\n }\n });\n}\n\n\nfunction connectErrorNT(self, err) {\n self.destroy(err);\n}\n\n\nSocket.prototype.ref = function() {\n if (!this._handle) {\n this.once('connect', this.ref);\n return this;\n }\n\n this._handle.ref();\n\n return this;\n};\n\n\nSocket.prototype.unref = function() {\n if (!this._handle) {\n this.once('connect', this.unref);\n return this;\n }\n\n this._handle.unref();\n\n return this;\n};\n\n\nfunction afterConnect(status, handle, req, readable, writable) {\n var self = handle.owner;\n\n // callback may come after call to destroy\n if (self.destroyed) {\n return;\n }\n\n // Update handle if it was wrapped\n // TODO(indutny): assert that the handle is actually an ancestor of old one\n handle = self._handle;\n\n debug('afterConnect');\n\n assert.ok(self.connecting);\n self.connecting = false;\n self._sockname = null;\n\n if (status === 0) {\n self.readable = readable;\n self.writable = writable;\n self._unrefTimer();\n\n self.emit('connect');\n\n // start the first read, or get an immediate EOF.\n // this doesn't actually consume any bytes, because len=0.\n if (readable && !self.isPaused())\n self.read(0);\n\n } else {\n self.connecting = false;\n var details;\n if (req.localAddress && req.localPort) {\n details = req.localAddress + ':' + req.localPort;\n }\n var ex = exceptionWithHostPort(status,\n 'connect',\n req.address,\n req.port,\n details);\n if (details) {\n ex.localAddress = req.localAddress;\n ex.localPort = req.localPort;\n }\n self.destroy(ex);\n }\n}\n\n\nfunction Server(options, connectionListener) {\n if (!(this instanceof Server))\n return new Server(options, connectionListener);\n\n EventEmitter.call(this);\n\n if (typeof options === 'function') {\n connectionListener = options;\n options = {};\n this.on('connection', connectionListener);\n } else if (options == null || typeof options === 'object') {\n options = options || {};\n\n if (typeof connectionListener === 'function') {\n this.on('connection', connectionListener);\n }\n } else {\n throw new TypeError('options must be an object');\n }\n\n this._connections = 0;\n\n Object.defineProperty(this, 'connections', {\n get: internalUtil.deprecate(() => {\n\n if (this._usingSlaves) {\n return null;\n }\n return this._connections;\n }, 'Server.connections property is deprecated. ' +\n 'Use Server.getConnections method instead.', 'DEP0020'),\n set: internalUtil.deprecate((val) => (this._connections = val),\n 'Server.connections property is deprecated.',\n 'DEP0020'),\n configurable: true, enumerable: false\n });\n\n this[async_id_symbol] = -1;\n this._handle = null;\n this._usingSlaves = false;\n this._slaves = [];\n this._unref = false;\n\n this.allowHalfOpen = options.allowHalfOpen || false;\n this.pauseOnConnect = !!options.pauseOnConnect;\n}\nutil.inherits(Server, EventEmitter);\n\n\nfunction toNumber(x) { return (x = Number(x)) >= 0 ? x : false; }\n\n// Returns handle if it can be created, or error code if it can't\nfunction createServerHandle(address, port, addressType, fd) {\n var err = 0;\n // assign handle in listen, and clean up if bind or listen fails\n var handle;\n\n var isTCP = false;\n if (typeof fd === 'number' && fd >= 0) {\n try {\n handle = createHandle(fd);\n } catch (e) {\n // Not a fd we can listen on. This will trigger an error.\n debug('listen invalid fd=%d:', fd, e.message);\n return uv.UV_EINVAL;\n }\n handle.open(fd);\n handle.readable = true;\n handle.writable = true;\n assert(!address && !port);\n } else if (port === -1 && addressType === -1) {\n handle = new Pipe();\n if (process.platform === 'win32') {\n var instances = parseInt(process.env.NODE_PENDING_PIPE_INSTANCES);\n if (!isNaN(instances)) {\n handle.setPendingInstances(instances);\n }\n }\n } else {\n handle = new TCP();\n isTCP = true;\n }\n\n if (address || port || isTCP) {\n debug('bind to', address || 'any');\n if (!address) {\n // Try binding to ipv6 first\n err = handle.bind6('::', port);\n if (err) {\n handle.close();\n // Fallback to ipv4\n return createServerHandle('0.0.0.0', port);\n }\n } else if (addressType === 6) {\n err = handle.bind6(address, port);\n } else {\n err = handle.bind(address, port);\n }\n }\n\n if (err) {\n handle.close();\n return err;\n }\n\n return handle;\n}\n\nfunction setupListenHandle(address, port, addressType, backlog, fd) {\n debug('setupListenHandle', address, port, addressType, backlog, fd);\n\n // If there is not yet a handle, we need to create one and bind.\n // In the case of a server sent via IPC, we don't need to do this.\n if (this._handle) {\n debug('setupListenHandle: have a handle already');\n } else {\n debug('setupListenHandle: create a handle');\n\n var rval = null;\n\n // Try to bind to the unspecified IPv6 address, see if IPv6 is available\n if (!address && typeof fd !== 'number') {\n rval = createServerHandle('::', port, 6, fd);\n\n if (typeof rval === 'number') {\n rval = null;\n address = '0.0.0.0';\n addressType = 4;\n } else {\n address = '::';\n addressType = 6;\n }\n }\n\n if (rval === null)\n rval = createServerHandle(address, port, addressType, fd);\n\n if (typeof rval === 'number') {\n var error = exceptionWithHostPort(rval, 'listen', address, port);\n process.nextTick(emitErrorNT, this, error);\n return;\n }\n this._handle = rval;\n }\n\n this[async_id_symbol] = getNewAsyncId(this._handle);\n this._handle.onconnection = onconnection;\n this._handle.owner = this;\n\n // Use a backlog of 512 entries. We pass 511 to the listen() call because\n // the kernel does: backlogsize = roundup_pow_of_two(backlogsize + 1);\n // which will thus give us a backlog of 512 entries.\n var err = this._handle.listen(backlog || 511);\n\n if (err) {\n var ex = exceptionWithHostPort(err, 'listen', address, port);\n this._handle.close();\n this._handle = null;\n nextTick(this[async_id_symbol], emitErrorNT, this, ex);\n return;\n }\n\n // generate connection key, this should be unique to the connection\n this._connectionKey = addressType + ':' + address + ':' + port;\n\n // unref the handle if the server was unref'ed prior to listening\n if (this._unref)\n this.unref();\n\n nextTick(this[async_id_symbol], emitListeningNT, this);\n}\n\nServer.prototype._listen2 = setupListenHandle; // legacy alias\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\n\nfunction emitListeningNT(self) {\n // ensure handle hasn't closed\n if (self._handle)\n self.emit('listening');\n}\n\n\nfunction lazyDns() {\n if (dns === undefined)\n dns = require('dns');\n return dns;\n}\n\n\nfunction listenInCluster(server, address, port, addressType,\n backlog, fd, exclusive) {\n exclusive = !!exclusive;\n\n if (!cluster) cluster = require('cluster');\n\n if (cluster.isMaster || exclusive) {\n // Will create a new handle\n // _listen2 sets up the listened handle, it is still named like this\n // to avoid breaking code that wraps this method\n server._listen2(address, port, addressType, backlog, fd);\n return;\n }\n\n const serverQuery = {\n address: address,\n port: port,\n addressType: addressType,\n fd: fd,\n flags: 0\n };\n\n // Get the master's server handle, and listen on it\n cluster._getServer(server, serverQuery, listenOnMasterHandle);\n\n function listenOnMasterHandle(err, handle) {\n // EADDRINUSE may not be reported until we call listen(). To complicate\n // matters, a failed bind() followed by listen() will implicitly bind to\n // a random port. Ergo, check that the socket is bound to the expected\n // port before calling listen().\n //\n // FIXME(bnoordhuis) Doesn't work for pipe handles, they don't have a\n // getsockname() method. Non-issue for now, the cluster module doesn't\n // really support pipes anyway.\n if (err === 0 && port > 0 && handle.getsockname) {\n var out = {};\n err = handle.getsockname(out);\n if (err === 0 && port !== out.port)\n err = uv.UV_EADDRINUSE;\n }\n\n if (err) {\n var ex = exceptionWithHostPort(err, 'bind', address, port);\n return server.emit('error', ex);\n }\n\n // Reuse master's server handle\n server._handle = handle;\n // _listen2 sets up the listened handle, it is still named like this\n // to avoid breaking code that wraps this method\n server._listen2(address, port, addressType, backlog, fd);\n }\n}\n\n\nServer.prototype.listen = function() {\n var args = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++)\n args[i] = arguments[i];\n // TODO(joyeecheung): use destructuring when V8 is fast enough\n var normalized = normalizeArgs(args);\n var options = normalized[0];\n var cb = normalized[1];\n\n var hasCallback = (cb !== null);\n if (hasCallback) {\n this.once('listening', cb);\n }\n var backlogFromArgs =\n // (handle, backlog) or (path, backlog) or (port, backlog)\n toNumber(args.length > 1 && args[1]) ||\n toNumber(args.length > 2 && args[2]); // (port, host, backlog)\n\n options = options._handle || options.handle || options;\n // (handle[, backlog][, cb]) where handle is an object with a handle\n if (options instanceof TCP) {\n this._handle = options;\n this[async_id_symbol] = this._handle.getAsyncId();\n listenInCluster(this, null, -1, -1, backlogFromArgs);\n return this;\n }\n // (handle[, backlog][, cb]) where handle is an object with a fd\n if (typeof options.fd === 'number' && options.fd >= 0) {\n listenInCluster(this, null, null, null, backlogFromArgs, options.fd);\n return this;\n }\n\n // ([port][, host][, backlog][, cb]) where port is omitted,\n // that is, listen() or listen(cb),\n // or (options[, cb]) where options.port is explicitly set as undefined,\n // bind to an arbitrary unused port\n if (args.length === 0 || typeof args[0] === 'function' ||\n (typeof options.port === 'undefined' && 'port' in options)) {\n options.port = 0;\n }\n // ([port][, host][, backlog][, cb]) where port is specified\n // or (options[, cb]) where options.port is specified\n // or if options.port is normalized as 0 before\n var backlog;\n if (typeof options.port === 'number' || typeof options.port === 'string') {\n if (!isLegalPort(options.port)) {\n throw new RangeError('\"port\" argument must be >= 0 and < 65536');\n }\n backlog = options.backlog || backlogFromArgs;\n // start TCP server listening on host:port\n if (options.host) {\n lookupAndListen(this, options.port | 0, options.host, backlog,\n options.exclusive);\n } else { // Undefined host, listens on unspecified address\n // Default addressType 4 will be used to search for master server\n listenInCluster(this, null, options.port | 0, 4,\n backlog, undefined, options.exclusive);\n }\n return this;\n }\n\n // (path[, backlog][, cb]) or (options[, cb])\n // where path or options.path is a UNIX domain socket or Windows pipe\n if (options.path && isPipeName(options.path)) {\n var pipeName = this._pipeName = options.path;\n backlog = options.backlog || backlogFromArgs;\n listenInCluster(this, pipeName, -1, -1,\n backlog, undefined, options.exclusive);\n return this;\n }\n\n throw new Error('Invalid listen argument: ' + util.inspect(options));\n};\n\nfunction lookupAndListen(self, port, address, backlog, exclusive) {\n const dns = lazyDns();\n dns.lookup(address, function doListen(err, ip, addressType) {\n if (err) {\n self.emit('error', err);\n } else {\n addressType = ip ? addressType : 4;\n listenInCluster(self, ip, port, addressType,\n backlog, undefined, exclusive);\n }\n });\n}\n\nObject.defineProperty(Server.prototype, 'listening', {\n get: function() {\n return !!this._handle;\n },\n configurable: true,\n enumerable: true\n});\n\nServer.prototype.address = function() {\n if (this._handle && this._handle.getsockname) {\n var out = {};\n var err = this._handle.getsockname(out);\n if (err) {\n throw errnoException(err, 'address');\n }\n return out;\n } else if (this._pipeName) {\n return this._pipeName;\n } else {\n return null;\n }\n};\n\nfunction onconnection(err, clientHandle) {\n var handle = this;\n var self = handle.owner;\n\n debug('onconnection');\n\n if (err) {\n self.emit('error', errnoException(err, 'accept'));\n return;\n }\n\n if (self.maxConnections && self._connections >= self.maxConnections) {\n clientHandle.close();\n return;\n }\n\n var socket = new Socket({\n handle: clientHandle,\n allowHalfOpen: self.allowHalfOpen,\n pauseOnCreate: self.pauseOnConnect\n });\n socket.readable = socket.writable = true;\n\n\n self._connections++;\n socket.server = self;\n socket._server = self;\n\n DTRACE_NET_SERVER_CONNECTION(socket);\n ;\n ;\n self.emit('connection', socket);\n}\n\n\nServer.prototype.getConnections = function(cb) {\n const self = this;\n\n function end(err, connections) {\n nextTick(self[async_id_symbol], cb, err, connections);\n }\n\n if (!this._usingSlaves) {\n return end(null, this._connections);\n }\n\n // Poll slaves\n var left = this._slaves.length;\n var total = this._connections;\n\n function oncount(err, count) {\n if (err) {\n left = -1;\n return end(err);\n }\n\n total += count;\n if (--left === 0) return end(null, total);\n }\n\n for (var n = 0; n < this._slaves.length; n++) {\n this._slaves[n].getConnections(oncount);\n }\n};\n\n\nServer.prototype.close = function(cb) {\n if (typeof cb === 'function') {\n if (!this._handle) {\n this.once('close', function close() {\n cb(new Error('Not running'));\n });\n } else {\n this.once('close', cb);\n }\n }\n\n if (this._handle) {\n this._handle.close();\n this._handle = null;\n }\n\n if (this._usingSlaves) {\n var left = this._slaves.length;\n const onSlaveClose = () => {\n if (--left !== 0) return;\n\n this._connections = 0;\n this._emitCloseIfDrained();\n };\n\n // Increment connections to be sure that, even if all sockets will be closed\n // during polling of slaves, `close` event will be emitted only once.\n this._connections++;\n\n // Poll slaves\n for (var n = 0; n < this._slaves.length; n++)\n this._slaves[n].close(onSlaveClose);\n } else {\n this._emitCloseIfDrained();\n }\n\n return this;\n};\n\nServer.prototype._emitCloseIfDrained = function() {\n debug('SERVER _emitCloseIfDrained');\n\n if (this._handle || this._connections) {\n debug('SERVER handle? %j connections? %d',\n !!this._handle, this._connections);\n return;\n }\n\n const asyncId = this._handle ? this[async_id_symbol] : null;\n nextTick(asyncId, emitCloseNT, this);\n};\n\n\nfunction emitCloseNT(self) {\n debug('SERVER: emit close');\n self.emit('close');\n}\n\n\nServer.prototype.listenFD = internalUtil.deprecate(function(fd, type) {\n return this.listen({ fd: fd });\n}, 'Server.listenFD is deprecated. Use Server.listen({fd: }) instead.',\n 'DEP0021');\n\nServer.prototype._setupSlave = function(socketList) {\n this._usingSlaves = true;\n this._slaves.push(socketList);\n};\n\nServer.prototype.ref = function() {\n this._unref = false;\n\n if (this._handle)\n this._handle.ref();\n\n return this;\n};\n\nServer.prototype.unref = function() {\n this._unref = true;\n\n if (this._handle)\n this._handle.unref();\n\n return this;\n};\n\nvar _setSimultaneousAccepts;\n\nif (process.platform === 'win32') {\n var simultaneousAccepts;\n\n _setSimultaneousAccepts = function(handle) {\n if (handle === undefined) {\n return;\n }\n\n if (simultaneousAccepts === undefined) {\n simultaneousAccepts = (process.env.NODE_MANY_ACCEPTS &&\n process.env.NODE_MANY_ACCEPTS !== '0');\n }\n\n if (handle._simultaneousAccepts !== simultaneousAccepts) {\n handle.setSimultaneousAccepts(simultaneousAccepts);\n handle._simultaneousAccepts = simultaneousAccepts;\n }\n };\n} else {\n _setSimultaneousAccepts = function(handle) {};\n}\n\nmodule.exports = {\n _createServerHandle: createServerHandle,\n _normalizeArgs: normalizeArgs,\n _setSimultaneousAccepts,\n connect,\n createConnection: connect,\n createServer,\n isIP: cares.isIP,\n isIPv4: cares.isIPv4,\n isIPv6: cares.isIPv6,\n Server,\n Socket,\n Stream: Socket, // Legacy naming\n};\n\n});", "pkgUrl": "(system)" }, { "id": "52", "url": "_stream_duplex.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\nmodule.exports = Duplex;\n\nconst util = require('util');\nconst Readable = require('_stream_readable');\nconst Writable = require('_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\nvar keys = Object.keys(Writable.prototype);\nfor (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false)\n this.readable = false;\n\n if (options && options.writable === false)\n this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false)\n this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended)\n return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get() {\n if (this._readableState === undefined ||\n this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined ||\n this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function(err, cb) {\n this.push(null);\n this.end();\n\n process.nextTick(cb, err);\n};\n\n});", "pkgUrl": "(system)" }, { "id": "51", "url": "_stream_writable.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\nWritable.WritableState = WritableState;\n\nconst util = require('util');\nconst internalUtil = require('internal/util');\nconst Stream = require('stream');\nconst Buffer = require('buffer').Buffer;\nconst destroyImpl = require('internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n options = options || {};\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Stream.Duplex)\n this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = onwrite.bind(undefined, stream);\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n var corkReq = { next: null, entry: null, finish: undefined };\n corkReq.finish = onCorkedFinish.bind(undefined, corkReq, this);\n this.corkedRequestsFree = corkReq;\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\nObject.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' +\n 'instead.', 'DEP0003')\n});\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance) {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function(object) {\n if (realHasInstance.call(this, object))\n return true;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!(realHasInstance.call(Writable, this)) &&\n !(this instanceof Stream.Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function')\n this._write = options.write;\n\n if (typeof options.writev === 'function')\n this._writev = options.writev;\n\n if (typeof options.destroy === 'function')\n this._destroy = options.destroy;\n\n if (typeof options.final === 'function')\n this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function() {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' &&\n chunk !== undefined &&\n !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n process.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = Stream._isUint8Array(chunk) && !state.objectMode;\n\n if (isBuf && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = Stream._uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf)\n encoding = 'buffer';\n else if (!encoding)\n encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function')\n cb = nop;\n\n if (state.ended)\n writeAfterEnd(this, cb);\n else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function() {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function() {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing &&\n !state.corked &&\n !state.finished &&\n !state.bufferProcessing &&\n state.bufferedRequest)\n clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string')\n encoding = encoding.toLowerCase();\n if (!Buffer.isEncoding(encoding))\n throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode &&\n state.decodeStrings !== false &&\n typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret)\n state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk,\n encoding,\n isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev)\n stream._writev(chunk, state.onwrite);\n else\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished &&\n !state.corked &&\n !state.bufferProcessing &&\n state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf)\n allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n var corkReq = { next: null, entry: null, finish: undefined };\n corkReq.finish = onCorkedFinish.bind(undefined, corkReq, state);\n state.corkedRequestsFree = corkReq;\n }\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null)\n state.lastBufferedRequest = null;\n }\n\n state.bufferedRequestCount = 0;\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function(chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined)\n this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished)\n endWritable(this, state, cb);\n};\n\n\nfunction needFinish(state) {\n return (state.ending &&\n state.length === 0 &&\n state.bufferedRequest === null &&\n !state.finished &&\n !state.writing);\n}\nfunction callFinal(stream, state) {\n stream._final((err) => {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function(err, cb) {\n this.end();\n cb(err);\n};\n\n});", "pkgUrl": "(system)" }, { "id": "113", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nconst spawn = require('child_process').spawn;\nconst path = require('path');\nconst format = require('util').format;\nconst lazyRequire = require('lazy-req')(require);\n\nconst configstore = lazyRequire('configstore');\nconst chalk = lazyRequire('chalk');\nconst semverDiff = lazyRequire('semver-diff');\nconst latestVersion = lazyRequire('latest-version');\nconst isNpm = lazyRequire('is-npm');\nconst boxen = lazyRequire('boxen');\nconst xdgBasedir = lazyRequire('xdg-basedir');\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nclass UpdateNotifier {\n\tconstructor(options) {\n\t\tthis.options = options = options || {};\n\t\toptions.pkg = options.pkg || {};\n\n\t\t// Reduce pkg to the essential keys. with fallback to deprecated options\n\t\t// TODO: Remove deprecated options at some point far into the future\n\t\toptions.pkg = {\n\t\t\tname: options.pkg.name || options.packageName,\n\t\t\tversion: options.pkg.version || options.packageVersion\n\t\t};\n\n\t\tif (!options.pkg.name || !options.pkg.version) {\n\t\t\tthrow new Error('pkg.name and pkg.version required');\n\t\t}\n\n\t\tthis.packageName = options.pkg.name;\n\t\tthis.packageVersion = options.pkg.version;\n\t\tthis.updateCheckInterval = typeof options.updateCheckInterval === 'number' ? options.updateCheckInterval : ONE_DAY;\n\t\tthis.hasCallback = typeof options.callback === 'function';\n\t\tthis.callback = options.callback || (() => {});\n\n\t\tif (!this.hasCallback) {\n\t\t\ttry {\n\t\t\t\tconst ConfigStore = configstore();\n\t\t\t\tthis.config = new ConfigStore(`update-notifier-${this.packageName}`, {\n\t\t\t\t\toptOut: false,\n\t\t\t\t\t// Init with the current time so the first check is only\n\t\t\t\t\t// after the set interval, so not to bother users right away\n\t\t\t\t\tlastUpdateCheck: Date.now()\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\t// Expecting error code EACCES or EPERM\n\t\t\t\tconst msg =\n\t\t\t\t\tchalk().yellow(format(' %s update check failed ', options.pkg.name)) +\n\t\t\t\t\tformat('\\n Try running with %s or get access ', chalk().cyan('sudo')) +\n\t\t\t\t\t'\\n to the local update config store via \\n' +\n\t\t\t\t\tchalk().cyan(format(' sudo chown -R $USER:$(id -gn $USER) %s ', xdgBasedir().config));\n\n\t\t\t\tprocess.on('exit', () => {\n\t\t\t\t\tconsole.error('\\n' + boxen()(msg, {align: 'center'}));\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tcheck() {\n\t\tif (this.hasCallback) {\n\t\t\tthis.checkNpm()\n\t\t\t\t.then(update => this.callback(null, update))\n\t\t\t\t.catch(err => this.callback(err));\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\t!this.config ||\n\t\t\tthis.config.get('optOut') ||\n\t\t\t'NO_UPDATE_NOTIFIER' in process.env ||\n\t\t\tprocess.argv.indexOf('--no-update-notifier') !== -1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.update = this.config.get('update');\n\n\t\tif (this.update) {\n\t\t\tthis.config.delete('update');\n\t\t}\n\n\t\t// Only check for updates on a set interval\n\t\tif (Date.now() - this.config.get('lastUpdateCheck') < this.updateCheckInterval) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Spawn a detached process, passing the options as an environment property\n\t\tspawn(process.execPath, [path.join(__dirname, 'check.js'), JSON.stringify(this.options)], {\n\t\t\tdetached: true,\n\t\t\tstdio: 'ignore'\n\t\t}).unref();\n\t}\n\tcheckNpm() {\n\t\treturn latestVersion()(this.packageName).then(latestVersion => {\n\t\t\treturn {\n\t\t\t\tlatest: latestVersion,\n\t\t\t\tcurrent: this.packageVersion,\n\t\t\t\ttype: semverDiff()(this.packageVersion, latestVersion) || 'latest',\n\t\t\t\tname: this.packageName\n\t\t\t};\n\t\t});\n\t}\n\tnotify(opts) {\n\t\tif (!process.stdout.isTTY || isNpm() || !this.update) {\n\t\t\treturn this;\n\t\t}\n\n\t\topts = Object.assign({isGlobal: true}, opts);\n\n\t\topts.message = opts.message || 'Update available ' + chalk().dim(this.update.current) + chalk().reset(' → ') +\n\t\t\tchalk().green(this.update.latest) + ' \\nRun ' + chalk().cyan('npm i ' + (opts.isGlobal ? '-g ' : '') + this.packageName) + ' to update';\n\n\t\topts.boxenOpts = opts.boxenOpts || {\n\t\t\tpadding: 1,\n\t\t\tmargin: 1,\n\t\t\talign: 'center',\n\t\t\tborderColor: 'yellow',\n\t\t\tborderStyle: 'round'\n\t\t};\n\n\t\tconst message = '\\n' + boxen()(opts.message, opts.boxenOpts);\n\n\t\tif (opts.defer === false) {\n\t\t\tconsole.error(message);\n\t\t} else {\n\t\t\tprocess.on('exit', () => {\n\t\t\t\tconsole.error(message);\n\t\t\t});\n\n\t\t\tprocess.on('SIGINT', () => {\n\t\t\t\tconsole.error('');\n\t\t\t\tprocess.exit();\n\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n}\n\nmodule.exports = options => {\n\tconst updateNotifier = new UpdateNotifier(options);\n\tupdateNotifier.check();\n\treturn updateNotifier;\n};\n\nmodule.exports.UpdateNotifier = UpdateNotifier;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier" }, { "id": "114", "url": "child_process.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst util = require('util');\nconst { deprecate, convertToValidSignal } = require('internal/util');\nconst { createPromise,\n promiseResolve, promiseReject } = process.binding('util');\nconst debug = util.debuglog('child_process');\n\nconst uv = process.binding('uv');\nconst spawn_sync = process.binding('spawn_sync');\nconst Buffer = require('buffer').Buffer;\nconst Pipe = process.binding('pipe_wrap').Pipe;\nconst { isUint8Array } = process.binding('util');\nconst child_process = require('internal/child_process');\n\nconst errnoException = util._errnoException;\nconst _validateStdio = child_process._validateStdio;\nconst setupChannel = child_process.setupChannel;\nconst ChildProcess = exports.ChildProcess = child_process.ChildProcess;\n\nfunction stdioStringToArray(option) {\n switch (option) {\n case 'ignore':\n case 'pipe':\n case 'inherit':\n return [option, option, option, 'ipc'];\n default:\n throw new TypeError('Incorrect value of stdio option: ' + option);\n }\n}\n\nexports.fork = function(modulePath /*, args, options*/) {\n\n // Get options and args arguments.\n var execArgv;\n var options = {};\n var args = [];\n var pos = 1;\n if (pos < arguments.length && Array.isArray(arguments[pos])) {\n args = arguments[pos++];\n }\n\n if (pos < arguments.length && arguments[pos] != null) {\n if (typeof arguments[pos] !== 'object') {\n throw new TypeError('Incorrect value of args option');\n }\n\n options = util._extend({}, arguments[pos++]);\n }\n\n // Prepare arguments for fork:\n execArgv = options.execArgv || process.execArgv;\n\n if (execArgv === process.execArgv && process._eval != null) {\n const index = execArgv.lastIndexOf(process._eval);\n if (index > 0) {\n // Remove the -e switch to avoid fork bombing ourselves.\n execArgv = execArgv.slice();\n execArgv.splice(index - 1, 2);\n }\n }\n\n args = execArgv.concat([modulePath], args);\n\n if (typeof options.stdio === 'string') {\n options.stdio = stdioStringToArray(options.stdio);\n } else if (!Array.isArray(options.stdio)) {\n // Use a separate fd=3 for the IPC channel. Inherit stdin, stdout,\n // and stderr from the parent if silent isn't set.\n options.stdio = options.silent ? stdioStringToArray('pipe') :\n stdioStringToArray('inherit');\n } else if (options.stdio.indexOf('ipc') === -1) {\n throw new TypeError('Forked processes must have an IPC channel');\n }\n\n options.execPath = options.execPath || process.execPath;\n\n return spawn(options.execPath, args, options);\n};\n\n\nexports._forkChild = function(fd) {\n // set process.send()\n var p = new Pipe(true);\n p.open(fd);\n p.unref();\n const control = setupChannel(process, p);\n process.on('newListener', function onNewListener(name) {\n if (name === 'message' || name === 'disconnect') control.ref();\n });\n process.on('removeListener', function onRemoveListener(name) {\n if (name === 'message' || name === 'disconnect') control.unref();\n });\n};\n\n\nfunction normalizeExecArgs(command, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n\n // Make a shallow copy so we don't clobber the user's options object.\n options = Object.assign({}, options);\n options.shell = typeof options.shell === 'string' ? options.shell : true;\n\n return {\n file: command,\n options: options,\n callback: callback\n };\n}\n\n\nexports.exec = function(command /*, options, callback*/) {\n var opts = normalizeExecArgs.apply(null, arguments);\n return exports.execFile(opts.file,\n opts.options,\n opts.callback);\n};\n\nconst customPromiseExecFunction = (orig) => {\n return (...args) => {\n const promise = createPromise();\n\n orig(...args, (err, stdout, stderr) => {\n if (err !== null) {\n err.stdout = stdout;\n err.stderr = stderr;\n promiseReject(promise, err);\n } else {\n promiseResolve(promise, { stdout, stderr });\n }\n });\n return promise;\n };\n};\n\nObject.defineProperty(exports.exec, util.promisify.custom, {\n enumerable: false,\n value: customPromiseExecFunction(exports.exec)\n});\n\nexports.execFile = function(file /*, args, options, callback*/) {\n var args = [];\n var callback;\n var options = {\n encoding: 'utf8',\n timeout: 0,\n maxBuffer: 200 * 1024,\n killSignal: 'SIGTERM',\n cwd: null,\n env: null,\n shell: false\n };\n\n // Parse the optional positional parameters.\n var pos = 1;\n if (pos < arguments.length && Array.isArray(arguments[pos])) {\n args = arguments[pos++];\n } else if (pos < arguments.length && arguments[pos] == null) {\n pos++;\n }\n\n if (pos < arguments.length && typeof arguments[pos] === 'object') {\n util._extend(options, arguments[pos++]);\n } else if (pos < arguments.length && arguments[pos] == null) {\n pos++;\n }\n\n if (pos < arguments.length && typeof arguments[pos] === 'function') {\n callback = arguments[pos++];\n }\n\n if (!callback && pos < arguments.length && arguments[pos] != null) {\n throw new TypeError('Incorrect value of args option');\n }\n\n // Validate the timeout, if present.\n validateTimeout(options.timeout);\n\n // Validate maxBuffer, if present.\n validateMaxBuffer(options.maxBuffer);\n\n options.killSignal = sanitizeKillSignal(options.killSignal);\n\n var child = spawn(file, args, {\n cwd: options.cwd,\n env: options.env,\n gid: options.gid,\n uid: options.uid,\n shell: options.shell,\n windowsVerbatimArguments: !!options.windowsVerbatimArguments\n });\n\n var encoding;\n var _stdout;\n var _stderr;\n if (options.encoding !== 'buffer' && Buffer.isEncoding(options.encoding)) {\n encoding = options.encoding;\n _stdout = '';\n _stderr = '';\n } else {\n _stdout = [];\n _stderr = [];\n encoding = null;\n }\n var stdoutLen = 0;\n var stderrLen = 0;\n var killed = false;\n var exited = false;\n var timeoutId;\n\n var ex = null;\n\n var cmd = file;\n\n function exithandler(code, signal) {\n if (exited) return;\n exited = true;\n\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n\n if (!callback) return;\n\n // merge chunks\n var stdout;\n var stderr;\n if (encoding) {\n stdout = _stdout;\n stderr = _stderr;\n } else {\n stdout = Buffer.concat(_stdout);\n stderr = Buffer.concat(_stderr);\n }\n\n if (!ex && code === 0 && signal === null) {\n callback(null, stdout, stderr);\n return;\n }\n\n if (args.length !== 0)\n cmd += ' ' + args.join(' ');\n\n if (!ex) {\n ex = new Error('Command failed: ' + cmd + '\\n' + stderr);\n ex.killed = child.killed || killed;\n ex.code = code < 0 ? uv.errname(code) : code;\n ex.signal = signal;\n }\n\n ex.cmd = cmd;\n callback(ex, stdout, stderr);\n }\n\n function errorhandler(e) {\n ex = e;\n\n if (child.stdout)\n child.stdout.destroy();\n\n if (child.stderr)\n child.stderr.destroy();\n\n exithandler();\n }\n\n function kill() {\n if (child.stdout)\n child.stdout.destroy();\n\n if (child.stderr)\n child.stderr.destroy();\n\n killed = true;\n try {\n child.kill(options.killSignal);\n } catch (e) {\n ex = e;\n exithandler();\n }\n }\n\n if (options.timeout > 0) {\n timeoutId = setTimeout(function delayedKill() {\n kill();\n timeoutId = null;\n }, options.timeout);\n }\n\n if (child.stdout) {\n if (encoding)\n child.stdout.setEncoding(encoding);\n\n child.stdout.on('data', function onChildStdout(chunk) {\n stdoutLen += encoding ? Buffer.byteLength(chunk, encoding) : chunk.length;\n\n if (stdoutLen > options.maxBuffer) {\n ex = new Error('stdout maxBuffer exceeded');\n kill();\n } else {\n if (encoding)\n _stdout += chunk;\n else\n _stdout.push(chunk);\n }\n });\n }\n\n if (child.stderr) {\n if (encoding)\n child.stderr.setEncoding(encoding);\n\n child.stderr.on('data', function onChildStderr(chunk) {\n stderrLen += encoding ? Buffer.byteLength(chunk, encoding) : chunk.length;\n\n if (stderrLen > options.maxBuffer) {\n ex = new Error('stderr maxBuffer exceeded');\n kill();\n } else {\n if (encoding)\n _stderr += chunk;\n else\n _stderr.push(chunk);\n }\n });\n }\n\n child.addListener('close', exithandler);\n child.addListener('error', errorhandler);\n\n return child;\n};\n\nObject.defineProperty(exports.execFile, util.promisify.custom, {\n enumerable: false,\n value: customPromiseExecFunction(exports.execFile)\n});\n\nconst _deprecatedCustomFds = deprecate(\n function deprecateCustomFds(options) {\n options.stdio = options.customFds.map(function mapCustomFds(fd) {\n return fd === -1 ? 'pipe' : fd;\n });\n }, 'child_process: options.customFds option is deprecated. ' +\n 'Use options.stdio instead.', 'DEP0006');\n\nfunction _convertCustomFds(options) {\n if (options.customFds && !options.stdio) {\n _deprecatedCustomFds(options);\n }\n}\n\nfunction normalizeSpawnArguments(file, args, options) {\n if (typeof file !== 'string' || file.length === 0)\n throw new TypeError('\"file\" argument must be a non-empty string');\n\n if (Array.isArray(args)) {\n args = args.slice(0);\n } else if (args !== undefined &&\n (args === null || typeof args !== 'object')) {\n throw new TypeError('Incorrect value of args option');\n } else {\n options = args;\n args = [];\n }\n\n if (options === undefined)\n options = {};\n else if (options === null || typeof options !== 'object')\n throw new TypeError('\"options\" argument must be an object');\n\n // Validate the cwd, if present.\n if (options.cwd != null &&\n typeof options.cwd !== 'string') {\n throw new TypeError('\"cwd\" must be a string');\n }\n\n // Validate detached, if present.\n if (options.detached != null &&\n typeof options.detached !== 'boolean') {\n throw new TypeError('\"detached\" must be a boolean');\n }\n\n // Validate the uid, if present.\n if (options.uid != null && !Number.isInteger(options.uid)) {\n throw new TypeError('\"uid\" must be an integer');\n }\n\n // Validate the gid, if present.\n if (options.gid != null && !Number.isInteger(options.gid)) {\n throw new TypeError('\"gid\" must be an integer');\n }\n\n // Validate the shell, if present.\n if (options.shell != null &&\n typeof options.shell !== 'boolean' &&\n typeof options.shell !== 'string') {\n throw new TypeError('\"shell\" must be a boolean or string');\n }\n\n // Validate argv0, if present.\n if (options.argv0 != null &&\n typeof options.argv0 !== 'string') {\n throw new TypeError('\"argv0\" must be a string');\n }\n\n // Validate windowsVerbatimArguments, if present.\n if (options.windowsVerbatimArguments != null &&\n typeof options.windowsVerbatimArguments !== 'boolean') {\n throw new TypeError('\"windowsVerbatimArguments\" must be a boolean');\n }\n\n // Make a shallow copy so we don't clobber the user's options object.\n options = Object.assign({}, options);\n\n if (options.shell) {\n const command = [file].concat(args).join(' ');\n\n if (process.platform === 'win32') {\n file = typeof options.shell === 'string' ? options.shell :\n process.env.comspec || 'cmd.exe';\n args = ['/d', '/s', '/c', '\"' + command + '\"'];\n options.windowsVerbatimArguments = true;\n } else {\n if (typeof options.shell === 'string')\n file = options.shell;\n else if (process.platform === 'android')\n file = '/system/bin/sh';\n else\n file = '/bin/sh';\n args = ['-c', command];\n }\n }\n\n if (typeof options.argv0 === 'string') {\n args.unshift(options.argv0);\n } else {\n args.unshift(file);\n }\n\n var env = options.env || process.env;\n var envPairs = [];\n\n for (var key in env) {\n envPairs.push(key + '=' + env[key]);\n }\n\n _convertCustomFds(options);\n\n return {\n file: file,\n args: args,\n options: options,\n envPairs: envPairs\n };\n}\n\n\nvar spawn = exports.spawn = function(/*file, args, options*/) {\n var opts = normalizeSpawnArguments.apply(null, arguments);\n var options = opts.options;\n var child = new ChildProcess();\n\n debug('spawn', opts.args, options);\n\n child.spawn({\n file: opts.file,\n args: opts.args,\n cwd: options.cwd,\n windowsVerbatimArguments: !!options.windowsVerbatimArguments,\n detached: !!options.detached,\n envPairs: opts.envPairs,\n stdio: options.stdio,\n uid: options.uid,\n gid: options.gid\n });\n\n return child;\n};\n\nfunction spawnSync(/*file, args, options*/) {\n var opts = normalizeSpawnArguments.apply(null, arguments);\n\n var options = opts.options;\n\n var i;\n\n debug('spawnSync', opts.args, options);\n\n // Validate the timeout, if present.\n validateTimeout(options.timeout);\n\n // Validate maxBuffer, if present.\n validateMaxBuffer(options.maxBuffer);\n\n options.file = opts.file;\n options.args = opts.args;\n options.envPairs = opts.envPairs;\n\n // Validate and translate the kill signal, if present.\n options.killSignal = sanitizeKillSignal(options.killSignal);\n\n options.stdio = _validateStdio(options.stdio || 'pipe', true).stdio;\n\n if (options.input) {\n var stdin = options.stdio[0] = util._extend({}, options.stdio[0]);\n stdin.input = options.input;\n }\n\n // We may want to pass data in on any given fd, ensure it is a valid buffer\n for (i = 0; i < options.stdio.length; i++) {\n var input = options.stdio[i] && options.stdio[i].input;\n if (input != null) {\n var pipe = options.stdio[i] = util._extend({}, options.stdio[i]);\n if (isUint8Array(input))\n pipe.input = input;\n else if (typeof input === 'string')\n pipe.input = Buffer.from(input, options.encoding);\n else\n throw new TypeError(util.format(\n 'stdio[%d] should be Buffer, Uint8Array or string not %s',\n i,\n typeof input));\n }\n }\n\n var result = spawn_sync.spawn(options);\n\n if (result.output && options.encoding && options.encoding !== 'buffer') {\n for (i = 0; i < result.output.length; i++) {\n if (!result.output[i])\n continue;\n result.output[i] = result.output[i].toString(options.encoding);\n }\n }\n\n result.stdout = result.output && result.output[1];\n result.stderr = result.output && result.output[2];\n\n if (result.error) {\n result.error = errnoException(result.error, 'spawnSync ' + opts.file);\n result.error.path = opts.file;\n result.error.spawnargs = opts.args.slice(1);\n }\n\n util._extend(result, opts);\n\n return result;\n}\nexports.spawnSync = spawnSync;\n\n\nfunction checkExecSyncError(ret) {\n if (ret.error || ret.status !== 0) {\n var err = ret.error;\n ret.error = null;\n\n if (!err) {\n var msg = 'Command failed: ';\n msg += ret.cmd || ret.args.join(' ');\n if (ret.stderr && ret.stderr.length > 0)\n msg += '\\n' + ret.stderr.toString();\n err = new Error(msg);\n }\n\n util._extend(err, ret);\n return err;\n }\n\n return false;\n}\n\n\nfunction execFileSync(/*command, args, options*/) {\n var opts = normalizeSpawnArguments.apply(null, arguments);\n var inheritStderr = !opts.options.stdio;\n\n var ret = spawnSync(opts.file, opts.args.slice(1), opts.options);\n\n if (inheritStderr && ret.stderr)\n process.stderr.write(ret.stderr);\n\n var err = checkExecSyncError(ret);\n\n if (err)\n throw err;\n\n return ret.stdout;\n}\nexports.execFileSync = execFileSync;\n\n\nfunction execSync(command /*, options*/) {\n var opts = normalizeExecArgs.apply(null, arguments);\n var inheritStderr = !opts.options.stdio;\n\n var ret = spawnSync(opts.file, opts.options);\n ret.cmd = command;\n\n if (inheritStderr && ret.stderr)\n process.stderr.write(ret.stderr);\n\n var err = checkExecSyncError(ret);\n\n if (err)\n throw err;\n\n return ret.stdout;\n}\nexports.execSync = execSync;\n\n\nfunction validateTimeout(timeout) {\n if (timeout != null && !(Number.isInteger(timeout) && timeout >= 0)) {\n throw new TypeError('\"timeout\" must be an unsigned integer');\n }\n}\n\n\nfunction validateMaxBuffer(maxBuffer) {\n if (maxBuffer != null && !(typeof maxBuffer === 'number' && maxBuffer >= 0)) {\n throw new TypeError('\"maxBuffer\" must be a positive number');\n }\n}\n\n\nfunction sanitizeKillSignal(killSignal) {\n if (typeof killSignal === 'string' || typeof killSignal === 'number') {\n return convertToValidSignal(killSignal);\n } else if (killSignal != null) {\n throw new TypeError('\"killSignal\" must be a string or number');\n }\n}\n\n});", "pkgUrl": "(system)" }, { "id": "115", "url": "internal/child_process.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nconst errors = require('internal/errors');\nconst StringDecoder = require('string_decoder').StringDecoder;\nconst EventEmitter = require('events');\nconst net = require('net');\nconst dgram = require('dgram');\nconst util = require('util');\nconst assert = require('assert');\n\nconst Process = process.binding('process_wrap').Process;\nconst WriteWrap = process.binding('stream_wrap').WriteWrap;\nconst uv = process.binding('uv');\nconst Pipe = process.binding('pipe_wrap').Pipe;\nconst TTY = process.binding('tty_wrap').TTY;\nconst TCP = process.binding('tcp_wrap').TCP;\nconst UDP = process.binding('udp_wrap').UDP;\nconst SocketList = require('internal/socket_list');\nconst { isUint8Array } = process.binding('util');\nconst { convertToValidSignal } = require('internal/util');\n\nconst errnoException = util._errnoException;\nconst SocketListSend = SocketList.SocketListSend;\nconst SocketListReceive = SocketList.SocketListReceive;\n\n// this object contain function to convert TCP objects to native handle objects\n// and back again.\nconst handleConversion = {\n 'net.Native': {\n simultaneousAccepts: true,\n\n send: function(message, handle, options) {\n return handle;\n },\n\n got: function(message, handle, emit) {\n emit(handle);\n }\n },\n\n 'net.Server': {\n simultaneousAccepts: true,\n\n send: function(message, server, options) {\n return server._handle;\n },\n\n got: function(message, handle, emit) {\n var server = new net.Server();\n server.listen(handle, function() {\n emit(server);\n });\n }\n },\n\n 'net.Socket': {\n send: function(message, socket, options) {\n if (!socket._handle)\n return;\n\n // if the socket was created by net.Server\n if (socket.server) {\n // the slave should keep track of the socket\n message.key = socket.server._connectionKey;\n\n var firstTime = !this.channel.sockets.send[message.key];\n var socketList = getSocketList('send', this, message.key);\n\n // the server should no longer expose a .connection property\n // and when asked to close it should query the socket status from\n // the slaves\n if (firstTime) socket.server._setupSlave(socketList);\n\n // Act like socket is detached\n if (!options.keepOpen)\n socket.server._connections--;\n }\n\n var handle = socket._handle;\n\n // remove handle from socket object, it will be closed when the socket\n // will be sent\n if (!options.keepOpen) {\n handle.onread = nop;\n socket._handle = null;\n }\n\n return handle;\n },\n\n postSend: function(handle, options, target) {\n // Store the handle after successfully sending it, so it can be closed\n // when the NODE_HANDLE_ACK is received. If the handle could not be sent,\n // just close it.\n if (handle && !options.keepOpen) {\n if (target) {\n // There can only be one _pendingHandle as passing handles are\n // processed one at a time: handles are stored in _handleQueue while\n // waiting for the NODE_HANDLE_ACK of the current passing handle.\n assert(!target._pendingHandle);\n target._pendingHandle = handle;\n } else {\n handle.close();\n }\n }\n },\n\n got: function(message, handle, emit) {\n var socket = new net.Socket({handle: handle});\n socket.readable = socket.writable = true;\n\n // if the socket was created by net.Server we will track the socket\n if (message.key) {\n\n // add socket to connections list\n var socketList = getSocketList('got', this, message.key);\n socketList.add({\n socket: socket\n });\n }\n\n emit(socket);\n }\n },\n\n 'dgram.Native': {\n simultaneousAccepts: false,\n\n send: function(message, handle, options) {\n return handle;\n },\n\n got: function(message, handle, emit) {\n emit(handle);\n }\n },\n\n 'dgram.Socket': {\n simultaneousAccepts: false,\n\n send: function(message, socket, options) {\n message.dgramType = socket.type;\n\n return socket._handle;\n },\n\n got: function(message, handle, emit) {\n var socket = new dgram.Socket(message.dgramType);\n\n socket.bind(handle, function() {\n emit(socket);\n });\n }\n }\n};\n\n\nfunction ChildProcess() {\n EventEmitter.call(this);\n\n this._closesNeeded = 1;\n this._closesGot = 0;\n this.connected = false;\n\n this.signalCode = null;\n this.exitCode = null;\n this.killed = false;\n this.spawnfile = null;\n\n this._handle = new Process();\n this._handle.owner = this;\n\n this._handle.onexit = (exitCode, signalCode) => {\n if (signalCode) {\n this.signalCode = signalCode;\n } else {\n this.exitCode = exitCode;\n }\n\n if (this.stdin) {\n this.stdin.destroy();\n }\n\n this._handle.close();\n this._handle = null;\n\n if (exitCode < 0) {\n var syscall = this.spawnfile ? 'spawn ' + this.spawnfile : 'spawn';\n const err = errnoException(exitCode, syscall);\n\n if (this.spawnfile)\n err.path = this.spawnfile;\n\n err.spawnargs = this.spawnargs.slice(1);\n this.emit('error', err);\n } else {\n this.emit('exit', this.exitCode, this.signalCode);\n }\n\n // if any of the stdio streams have not been touched,\n // then pull all the data through so that it can get the\n // eof and emit a 'close' event.\n // Do it on nextTick so that the user has one last chance\n // to consume the output, if for example they only want to\n // start reading the data once the process exits.\n process.nextTick(flushStdio, this);\n\n maybeClose(this);\n };\n}\nutil.inherits(ChildProcess, EventEmitter);\n\n\nfunction flushStdio(subprocess) {\n const stdio = subprocess.stdio;\n\n if (stdio == null) return;\n\n for (var i = 0; i < stdio.length; i++) {\n const stream = stdio[i];\n if (!stream || !stream.readable || stream._readableState.readableListening)\n continue;\n stream.resume();\n }\n}\n\n\nfunction createSocket(pipe, readable) {\n var s = new net.Socket({ handle: pipe });\n\n if (readable) {\n s.writable = false;\n s.readable = true;\n } else {\n s.writable = true;\n s.readable = false;\n }\n\n return s;\n}\n\n\nfunction getHandleWrapType(stream) {\n if (stream instanceof Pipe) return 'pipe';\n if (stream instanceof TTY) return 'tty';\n if (stream instanceof TCP) return 'tcp';\n if (stream instanceof UDP) return 'udp';\n\n return false;\n}\n\n\nChildProcess.prototype.spawn = function(options) {\n var ipc;\n var ipcFd;\n var i;\n\n if (options === null || typeof options !== 'object')\n throw new TypeError('\"options\" must be an object');\n\n // If no `stdio` option was given - use default\n var stdio = options.stdio || 'pipe';\n\n stdio = _validateStdio(stdio, false);\n\n ipc = stdio.ipc;\n ipcFd = stdio.ipcFd;\n stdio = options.stdio = stdio.stdio;\n\n if (ipc !== undefined) {\n // Let child process know about opened IPC channel\n if (options.envPairs === undefined)\n options.envPairs = [];\n else if (!Array.isArray(options.envPairs))\n throw new TypeError('\"envPairs\" must be an array');\n\n options.envPairs.push('NODE_CHANNEL_FD=' + ipcFd);\n }\n\n if (typeof options.file === 'string')\n this.spawnfile = options.file;\n else\n throw new TypeError('\"file\" must be a string');\n\n if (Array.isArray(options.args))\n this.spawnargs = options.args;\n else if (options.args === undefined)\n this.spawnargs = [];\n else\n throw new TypeError('\"args\" must be an array');\n\n var err = this._handle.spawn(options);\n\n // Run-time errors should emit an error, not throw an exception.\n if (err === uv.UV_EAGAIN ||\n err === uv.UV_EMFILE ||\n err === uv.UV_ENFILE ||\n err === uv.UV_ENOENT) {\n process.nextTick(onErrorNT, this, err);\n // There is no point in continuing when we've hit EMFILE or ENFILE\n // because we won't be able to set up the stdio file descriptors.\n // It's kind of silly that the de facto spec for ENOENT (the test suite)\n // mandates that stdio _is_ set up, even if there is no process on the\n // receiving end, but it is what it is.\n if (err !== uv.UV_ENOENT) return err;\n } else if (err) {\n // Close all opened fds on error\n for (i = 0; i < stdio.length; i++) {\n const stream = stdio[i];\n if (stream.type === 'pipe') {\n stream.handle.close();\n }\n }\n\n this._handle.close();\n this._handle = null;\n throw errnoException(err, 'spawn');\n }\n\n this.pid = this._handle.pid;\n\n for (i = 0; i < stdio.length; i++) {\n const stream = stdio[i];\n if (stream.type === 'ignore') continue;\n\n if (stream.ipc) {\n this._closesNeeded++;\n continue;\n }\n\n if (stream.handle) {\n // when i === 0 - we're dealing with stdin\n // (which is the only one writable pipe)\n stream.socket = createSocket(this.pid !== 0 ?\n stream.handle : null, i > 0);\n\n if (i > 0 && this.pid !== 0) {\n this._closesNeeded++;\n stream.socket.on('close', () => {\n maybeClose(this);\n });\n }\n }\n }\n\n this.stdin = stdio.length >= 1 && stdio[0].socket !== undefined ?\n stdio[0].socket : null;\n this.stdout = stdio.length >= 2 && stdio[1].socket !== undefined ?\n stdio[1].socket : null;\n this.stderr = stdio.length >= 3 && stdio[2].socket !== undefined ?\n stdio[2].socket : null;\n\n this.stdio = [];\n\n for (i = 0; i < stdio.length; i++)\n this.stdio.push(stdio[i].socket === undefined ? null : stdio[i].socket);\n\n // Add .send() method and start listening for IPC data\n if (ipc !== undefined) setupChannel(this, ipc);\n\n return err;\n};\n\n\nfunction onErrorNT(self, err) {\n self._handle.onexit(err);\n}\n\n\nChildProcess.prototype.kill = function(sig) {\n\n const signal = sig === 0 ? sig :\n convertToValidSignal(sig === undefined ? 'SIGTERM' : sig);\n\n if (this._handle) {\n var err = this._handle.kill(signal);\n if (err === 0) {\n /* Success. */\n this.killed = true;\n return true;\n }\n if (err === uv.UV_ESRCH) {\n /* Already dead. */\n } else if (err === uv.UV_EINVAL || err === uv.UV_ENOSYS) {\n /* The underlying platform doesn't support this signal. */\n throw errnoException(err, 'kill');\n } else {\n /* Other error, almost certainly EPERM. */\n this.emit('error', errnoException(err, 'kill'));\n }\n }\n\n /* Kill didn't succeed. */\n return false;\n};\n\n\nChildProcess.prototype.ref = function() {\n if (this._handle) this._handle.ref();\n};\n\n\nChildProcess.prototype.unref = function() {\n if (this._handle) this._handle.unref();\n};\n\nclass Control extends EventEmitter {\n constructor(channel) {\n super();\n this.channel = channel;\n this.refs = 0;\n }\n ref() {\n if (++this.refs === 1) {\n this.channel.ref();\n }\n }\n unref() {\n if (--this.refs === 0) {\n this.channel.unref();\n this.emit('unref');\n }\n }\n}\n\nfunction setupChannel(target, channel) {\n target.channel = channel;\n\n // _channel can be deprecated in version 8\n Object.defineProperty(target, '_channel', {\n get() { return target.channel; },\n set(val) { target.channel = val; },\n enumerable: true\n });\n\n target._handleQueue = null;\n target._pendingHandle = null;\n\n const control = new Control(channel);\n\n var decoder = new StringDecoder('utf8');\n var jsonBuffer = '';\n channel.buffering = false;\n channel.onread = function(nread, pool, recvHandle) {\n // TODO(bnoordhuis) Check that nread > 0.\n if (pool) {\n // Linebreak is used as a message end sign\n var chunks = decoder.write(pool).split('\\n');\n var numCompleteChunks = chunks.length - 1;\n // Last line does not have trailing linebreak\n var incompleteChunk = chunks[numCompleteChunks];\n if (numCompleteChunks === 0) {\n jsonBuffer += incompleteChunk;\n this.buffering = jsonBuffer.length !== 0;\n return;\n }\n chunks[0] = jsonBuffer + chunks[0];\n\n var nextTick = false;\n for (var i = 0; i < numCompleteChunks; i++) {\n var message = JSON.parse(chunks[i]);\n\n // There will be at most one NODE_HANDLE message in every chunk we\n // read because SCM_RIGHTS messages don't get coalesced. Make sure\n // that we deliver the handle with the right message however.\n if (isInternal(message)) {\n if (message.cmd === 'NODE_HANDLE')\n handleMessage(message, recvHandle, true, false);\n else\n handleMessage(message, undefined, true, false);\n } else {\n handleMessage(message, undefined, false, nextTick);\n nextTick = true;\n }\n }\n jsonBuffer = incompleteChunk;\n this.buffering = jsonBuffer.length !== 0;\n\n } else {\n this.buffering = false;\n target.disconnect();\n channel.onread = nop;\n channel.close();\n target.channel = null;\n maybeClose(target);\n }\n };\n\n // object where socket lists will live\n channel.sockets = { got: {}, send: {} };\n\n // handlers will go through this\n target.on('internalMessage', function(message, handle) {\n // Once acknowledged - continue sending handles.\n if (message.cmd === 'NODE_HANDLE_ACK') {\n if (target._pendingHandle) {\n target._pendingHandle.close();\n target._pendingHandle = null;\n }\n\n assert(Array.isArray(target._handleQueue));\n var queue = target._handleQueue;\n target._handleQueue = null;\n\n for (var i = 0; i < queue.length; i++) {\n var args = queue[i];\n target._send(args.message, args.handle, args.options, args.callback);\n }\n\n // Process a pending disconnect (if any).\n if (!target.connected && target.channel && !target._handleQueue)\n target._disconnect();\n\n return;\n }\n\n if (message.cmd !== 'NODE_HANDLE') return;\n\n // Acknowledge handle receival. Don't emit error events (for example if\n // the other side has disconnected) because this call to send() is not\n // initiated by the user and it shouldn't be fatal to be unable to ACK\n // a message.\n target._send({ cmd: 'NODE_HANDLE_ACK' }, null, true);\n\n var obj = handleConversion[message.type];\n\n // Update simultaneous accepts on Windows\n if (process.platform === 'win32') {\n handle._simultaneousAccepts = false;\n net._setSimultaneousAccepts(handle);\n }\n\n // Convert handle object\n obj.got.call(this, message, handle, function(handle) {\n handleMessage(message.msg, handle, isInternal(message.msg), false);\n });\n });\n\n target.send = function(message, handle, options, callback) {\n if (typeof handle === 'function') {\n callback = handle;\n handle = undefined;\n options = undefined;\n } else if (typeof options === 'function') {\n callback = options;\n options = undefined;\n } else if (options !== undefined &&\n (options === null || typeof options !== 'object')) {\n throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'options', 'Object');\n }\n\n options = Object.assign({swallowErrors: false}, options);\n\n if (this.connected) {\n return this._send(message, handle, options, callback);\n }\n const ex = new errors.Error('ERR_IPC_CHANNEL_CLOSED');\n if (typeof callback === 'function') {\n process.nextTick(callback, ex);\n } else {\n this.emit('error', ex); // FIXME(bnoordhuis) Defer to next tick.\n }\n return false;\n };\n\n target._send = function(message, handle, options, callback) {\n assert(this.connected || this.channel);\n\n if (message === undefined)\n throw new errors.TypeError('ERR_MISSING_ARGS', 'message');\n\n // Support legacy function signature\n if (typeof options === 'boolean') {\n options = {swallowErrors: options};\n }\n\n // package messages with a handle object\n if (handle) {\n // this message will be handled by an internalMessage event handler\n message = {\n cmd: 'NODE_HANDLE',\n type: null,\n msg: message\n };\n\n if (handle instanceof net.Socket) {\n message.type = 'net.Socket';\n } else if (handle instanceof net.Server) {\n message.type = 'net.Server';\n } else if (handle instanceof TCP || handle instanceof Pipe) {\n message.type = 'net.Native';\n } else if (handle instanceof dgram.Socket) {\n message.type = 'dgram.Socket';\n } else if (handle instanceof UDP) {\n message.type = 'dgram.Native';\n } else {\n throw new errors.TypeError('ERR_INVALID_HANDLE_TYPE');\n }\n\n // Queue-up message and handle if we haven't received ACK yet.\n if (this._handleQueue) {\n this._handleQueue.push({\n callback: callback,\n handle: handle,\n options: options,\n message: message.msg,\n });\n return this._handleQueue.length === 1;\n }\n\n var obj = handleConversion[message.type];\n\n // convert TCP object to native handle object\n handle = handleConversion[message.type].send.call(target,\n message,\n handle,\n options);\n\n // If handle was sent twice, or it is impossible to get native handle\n // out of it - just send a text without the handle.\n if (!handle)\n message = message.msg;\n\n // Update simultaneous accepts on Windows\n if (obj.simultaneousAccepts) {\n net._setSimultaneousAccepts(handle);\n }\n } else if (this._handleQueue &&\n !(message && message.cmd === 'NODE_HANDLE_ACK')) {\n // Queue request anyway to avoid out-of-order messages.\n this._handleQueue.push({\n callback: callback,\n handle: null,\n options: options,\n message: message,\n });\n return this._handleQueue.length === 1;\n }\n\n var req = new WriteWrap();\n req.async = false;\n\n var string = JSON.stringify(message) + '\\n';\n var err = channel.writeUtf8String(req, string, handle);\n\n if (err === 0) {\n if (handle) {\n if (!this._handleQueue)\n this._handleQueue = [];\n if (obj && obj.postSend)\n obj.postSend(handle, options, target);\n }\n\n if (req.async) {\n req.oncomplete = function() {\n control.unref();\n if (typeof callback === 'function')\n callback(null);\n };\n control.ref();\n } else if (typeof callback === 'function') {\n process.nextTick(callback, null);\n }\n } else {\n // Cleanup handle on error\n if (obj && obj.postSend)\n obj.postSend(handle, options);\n\n if (!options.swallowErrors) {\n const ex = errnoException(err, 'write');\n if (typeof callback === 'function') {\n process.nextTick(callback, ex);\n } else {\n this.emit('error', ex); // FIXME(bnoordhuis) Defer to next tick.\n }\n }\n }\n\n /* If the master is > 2 read() calls behind, please stop sending. */\n return channel.writeQueueSize < (65536 * 2);\n };\n\n // connected will be set to false immediately when a disconnect() is\n // requested, even though the channel might still be alive internally to\n // process queued messages. The three states are distinguished as follows:\n // - disconnect() never requested: channel is not null and connected\n // is true\n // - disconnect() requested, messages in the queue: channel is not null\n // and connected is false\n // - disconnect() requested, channel actually disconnected: channel is\n // null and connected is false\n target.connected = true;\n\n target.disconnect = function() {\n if (!this.connected) {\n this.emit('error', new errors.Error('ERR_IPC_DISCONNECTED'));\n return;\n }\n\n // Do not allow any new messages to be written.\n this.connected = false;\n\n // If there are no queued messages, disconnect immediately. Otherwise,\n // postpone the disconnect so that it happens internally after the\n // queue is flushed.\n if (!this._handleQueue)\n this._disconnect();\n };\n\n target._disconnect = function() {\n assert(this.channel);\n\n // This marks the fact that the channel is actually disconnected.\n this.channel = null;\n\n if (this._pendingHandle) {\n this._pendingHandle.close();\n this._pendingHandle = null;\n }\n\n var fired = false;\n function finish() {\n if (fired) return;\n fired = true;\n\n channel.close();\n target.emit('disconnect');\n }\n\n // If a message is being read, then wait for it to complete.\n if (channel.buffering) {\n this.once('message', finish);\n this.once('internalMessage', finish);\n\n return;\n }\n\n process.nextTick(finish);\n };\n\n function emit(event, message, handle) {\n target.emit(event, message, handle);\n }\n\n function handleMessage(message, handle, internal, nextTick) {\n if (!target.channel)\n return;\n\n var eventName = (internal ? 'internalMessage' : 'message');\n if (nextTick)\n process.nextTick(emit, eventName, message, handle);\n else\n target.emit(eventName, message, handle);\n }\n\n channel.readStart();\n return control;\n}\n\nconst INTERNAL_PREFIX = 'NODE_';\nfunction isInternal(message) {\n return (message !== null &&\n typeof message === 'object' &&\n typeof message.cmd === 'string' &&\n message.cmd.length > INTERNAL_PREFIX.length &&\n message.cmd.slice(0, INTERNAL_PREFIX.length) === INTERNAL_PREFIX);\n}\n\nfunction nop() { }\n\nfunction _validateStdio(stdio, sync) {\n var ipc;\n var ipcFd;\n\n // Replace shortcut with an array\n if (typeof stdio === 'string') {\n switch (stdio) {\n case 'ignore': stdio = ['ignore', 'ignore', 'ignore']; break;\n case 'pipe': stdio = ['pipe', 'pipe', 'pipe']; break;\n case 'inherit': stdio = [0, 1, 2]; break;\n default:\n throw new errors.TypeError('ERR_INVALID_OPT_VALUE', 'stdio', stdio);\n }\n } else if (!Array.isArray(stdio)) {\n throw new errors.TypeError('ERR_INVALID_OPT_VALUE',\n 'stdio', util.inspect(stdio));\n }\n\n // At least 3 stdio will be created\n // Don't concat() a new Array() because it would be sparse, and\n // stdio.reduce() would skip the sparse elements of stdio.\n // See http://stackoverflow.com/a/5501711/3561\n while (stdio.length < 3) stdio.push(undefined);\n\n // Translate stdio into C++-readable form\n // (i.e. PipeWraps or fds)\n stdio = stdio.reduce(function(acc, stdio, i) {\n function cleanup() {\n for (var i = 0; i < acc.length; i++) {\n if ((acc[i].type === 'pipe' || acc[i].type === 'ipc') && acc[i].handle)\n acc[i].handle.close();\n }\n }\n\n // Defaults\n if (stdio == null) {\n stdio = i < 3 ? 'pipe' : 'ignore';\n }\n\n if (stdio === 'ignore') {\n acc.push({type: 'ignore'});\n } else if (stdio === 'pipe' || typeof stdio === 'number' && stdio < 0) {\n var a = {\n type: 'pipe',\n readable: i === 0,\n writable: i !== 0\n };\n\n if (!sync)\n a.handle = new Pipe();\n\n acc.push(a);\n } else if (stdio === 'ipc') {\n if (sync || ipc !== undefined) {\n // Cleanup previously created pipes\n cleanup();\n if (!sync)\n throw new errors.Error('ERR_IPC_ONE_PIPE');\n else\n throw new errors.Error('ERR_IPC_SYNC_FORK');\n }\n\n ipc = new Pipe(true);\n ipcFd = i;\n\n acc.push({\n type: 'pipe',\n handle: ipc,\n ipc: true\n });\n } else if (stdio === 'inherit') {\n acc.push({\n type: 'inherit',\n fd: i\n });\n } else if (typeof stdio === 'number' || typeof stdio.fd === 'number') {\n acc.push({\n type: 'fd',\n fd: typeof stdio === 'number' ? stdio : stdio.fd\n });\n } else if (getHandleWrapType(stdio) || getHandleWrapType(stdio.handle) ||\n getHandleWrapType(stdio._handle)) {\n var handle = getHandleWrapType(stdio) ?\n stdio :\n getHandleWrapType(stdio.handle) ? stdio.handle : stdio._handle;\n\n acc.push({\n type: 'wrap',\n wrapType: getHandleWrapType(handle),\n handle: handle\n });\n } else if (isUint8Array(stdio) || typeof stdio === 'string') {\n if (!sync) {\n cleanup();\n throw new errors.TypeError('ERR_INVALID_SYNC_FORK_INPUT',\n util.inspect(stdio));\n }\n } else {\n // Cleanup\n cleanup();\n throw new errors.TypeError('ERR_INVALID_OPT_VALUE', 'stdio',\n util.inspect(stdio));\n }\n\n return acc;\n }, []);\n\n return { stdio, ipc, ipcFd };\n}\n\n\nfunction getSocketList(type, slave, key) {\n var sockets = slave.channel.sockets[type];\n var socketList = sockets[key];\n if (!socketList) {\n var Construct = type === 'send' ? SocketListSend : SocketListReceive;\n socketList = sockets[key] = new Construct(slave, key);\n }\n return socketList;\n}\n\n\nfunction maybeClose(subprocess) {\n subprocess._closesGot++;\n\n if (subprocess._closesGot === subprocess._closesNeeded) {\n subprocess.emit('close', subprocess.exitCode, subprocess.signalCode);\n }\n}\n\nmodule.exports = {\n ChildProcess,\n setupChannel,\n _validateStdio,\n getSocketList\n};\n\n});", "pkgUrl": "(system)" }, { "id": "141", "url": "/usr/local/lib/node_modules/npm/lib/npm.js", "source": "(function (exports, require, module, __filename, __dirname) { ;(function () {\n // windows: running 'npm blah' in this folder will invoke WSH, not node.\n /*globals WScript*/\n if (typeof WScript !== 'undefined') {\n WScript.echo(\n 'npm does not work when run\\n' +\n 'with the Windows Scripting Host\\n\\n' +\n '\"cd\" to a different directory,\\n' +\n 'or type \"npm.cmd \",\\n' +\n 'or type \"node npm \".'\n )\n WScript.quit(1)\n return\n }\n\n var unsupported = require('../lib/utils/unsupported.js')\n unsupported.checkForBrokenNode()\n\n var gfs = require('graceful-fs')\n // Patch the global fs module here at the app level\n var fs = gfs.gracefulify(require('fs'))\n\n var EventEmitter = require('events').EventEmitter\n var npm = module.exports = new EventEmitter()\n var npmconf = require('./config/core.js')\n var log = require('npmlog')\n\n var tty = require('tty')\n var path = require('path')\n var abbrev = require('abbrev')\n var which = require('which')\n var glob = require('glob')\n var rimraf = require('rimraf')\n var lazyProperty = require('lazy-property')\n var parseJSON = require('./utils/parse-json.js')\n var clientConfig = require('./config/reg-client.js')\n var aliases = require('./config/cmd-list').aliases\n var cmdList = require('./config/cmd-list').cmdList\n var plumbing = require('./config/cmd-list').plumbing\n var output = require('./utils/output.js')\n var startMetrics = require('./utils/metrics.js').start\n var perf = require('./utils/perf.js')\n\n perf.emit('time', 'npm')\n perf.on('timing', function (name, finished) {\n log.timing(name, 'Completed in', finished + 'ms')\n })\n\n npm.config = {\n loaded: false,\n get: function () {\n throw new Error('npm.load() required')\n },\n set: function () {\n throw new Error('npm.load() required')\n }\n }\n\n npm.commands = {}\n\n // TUNING\n npm.limit = {\n fetch: 10,\n action: 50\n }\n // ***\n\n npm.lockfileVersion = 1\n\n npm.rollbacks = []\n\n try {\n // startup, ok to do this synchronously\n var j = parseJSON(fs.readFileSync(\n path.join(__dirname, '../package.json')) + '')\n npm.name = j.name\n npm.version = j.version\n } catch (ex) {\n try {\n log.info('error reading version', ex)\n } catch (er) {}\n npm.version = ex\n }\n\n var commandCache = {}\n var aliasNames = Object.keys(aliases)\n\n var littleGuys = [ 'isntall', 'verison' ]\n var fullList = cmdList.concat(aliasNames).filter(function (c) {\n return plumbing.indexOf(c) === -1\n })\n var abbrevs = abbrev(fullList)\n\n // we have our reasons\n fullList = npm.fullList = fullList.filter(function (c) {\n return littleGuys.indexOf(c) === -1\n })\n\n var registryRefer\n var registryLoaded\n\n Object.keys(abbrevs).concat(plumbing).forEach(function addCommand (c) {\n Object.defineProperty(npm.commands, c, { get: function () {\n if (!loaded) {\n throw new Error(\n 'Call npm.load(config, cb) before using this command.\\n' +\n 'See the README.md or bin/npm-cli.js for example usage.'\n )\n }\n var a = npm.deref(c)\n if (c === 'la' || c === 'll') {\n npm.config.set('long', true)\n }\n\n npm.command = c\n if (commandCache[a]) return commandCache[a]\n\n var cmd = require(path.join(__dirname, a + '.js'))\n\n commandCache[a] = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n if (typeof args[args.length - 1] !== 'function') {\n args.push(defaultCb)\n }\n if (args.length === 1) args.unshift([])\n\n // Options are prefixed by a hyphen-minus (-, \\u2d).\n // Other dash-type chars look similar but are invalid.\n Array(args[0]).forEach(function (arg) {\n if (/^[\\u2010-\\u2015\\u2212\\uFE58\\uFE63\\uFF0D]/.test(arg)) {\n log.error('arg', 'Argument starts with non-ascii dash, this is probably invalid:', arg)\n }\n })\n\n if (!registryRefer) {\n registryRefer = [a].concat(args[0]).map(function (arg) {\n // exclude anything that might be a URL, path, or private module\n // Those things will always have a slash in them somewhere\n if (arg && arg.match && arg.match(/\\/|\\\\/)) {\n return '[REDACTED]'\n } else {\n return arg\n }\n }).filter(function (arg) {\n return arg && arg.match\n }).join(' ')\n if (registryLoaded) npm.registry.refer = registryRefer\n }\n\n cmd.apply(npm, args)\n }\n\n Object.keys(cmd).forEach(function (k) {\n commandCache[a][k] = cmd[k]\n })\n\n return commandCache[a]\n }, enumerable: fullList.indexOf(c) !== -1, configurable: true })\n\n // make css-case commands callable via camelCase as well\n if (c.match(/\\-([a-z])/)) {\n addCommand(c.replace(/\\-([a-z])/g, function (a, b) {\n return b.toUpperCase()\n }))\n }\n })\n\n function defaultCb (er, data) {\n log.disableProgress()\n if (er) console.error(er.stack || er.message)\n else output(data)\n }\n\n npm.deref = function (c) {\n if (!c) return ''\n if (c.match(/[A-Z]/)) {\n c = c.replace(/([A-Z])/g, function (m) {\n return '-' + m.toLowerCase()\n })\n }\n if (plumbing.indexOf(c) !== -1) return c\n var a = abbrevs[c]\n if (aliases[a]) a = aliases[a]\n return a\n }\n\n var loaded = false\n var loading = false\n var loadErr = null\n var loadListeners = []\n\n function loadCb (er) {\n loadListeners.forEach(function (cb) {\n process.nextTick(cb.bind(npm, er, npm))\n })\n loadListeners.length = 0\n }\n\n npm.load = function (cli, cb_) {\n if (!cb_ && typeof cli === 'function') {\n cb_ = cli\n cli = {}\n }\n if (!cb_) cb_ = function () {}\n if (!cli) cli = {}\n loadListeners.push(cb_)\n if (loaded || loadErr) return cb(loadErr)\n if (loading) return\n loading = true\n var onload = true\n\n function cb (er) {\n if (loadErr) return\n loadErr = er\n if (er) return cb_(er)\n if (npm.config.get('force')) {\n log.warn('using --force', 'I sure hope you know what you are doing.')\n }\n npm.config.loaded = true\n loaded = true\n loadCb(loadErr = er)\n onload = onload && npm.config.get('onload-script')\n if (onload) {\n try {\n require(onload)\n } catch (err) {\n log.warn('onload-script', 'failed to require onload script', onload)\n log.warn('onload-script', err)\n }\n onload = false\n }\n }\n\n log.pause()\n\n load(npm, cli, cb)\n }\n\n function load (npm, cli, cb) {\n which(process.argv[0], function (er, node) {\n if (!er && node.toUpperCase() !== process.execPath.toUpperCase()) {\n log.verbose('node symlink', node)\n process.execPath = node\n process.installPrefix = path.resolve(node, '..', '..')\n }\n\n // look up configs\n var builtin = path.resolve(__dirname, '..', 'npmrc')\n npmconf.load(cli, builtin, function (er, config) {\n if (er === config) er = null\n\n npm.config = config\n if (er) return cb(er)\n\n // if the 'project' config is not a filename, and we're\n // not in global mode, then that means that it collided\n // with either the default or effective userland config\n if (!config.get('global') &&\n config.sources.project &&\n config.sources.project.type !== 'ini') {\n log.verbose(\n 'config',\n 'Skipping project config: %s. (matches userconfig)',\n config.localPrefix + '/.npmrc'\n )\n }\n\n // Include npm-version and node-version in user-agent\n var ua = config.get('user-agent') || ''\n ua = ua.replace(/\\{node-version\\}/gi, process.version)\n ua = ua.replace(/\\{npm-version\\}/gi, npm.version)\n ua = ua.replace(/\\{platform\\}/gi, process.platform)\n ua = ua.replace(/\\{arch\\}/gi, process.arch)\n config.set('user-agent', ua)\n\n if (config.get('metrics-registry') == null) {\n config.set('metrics-registry', config.get('registry'))\n }\n\n var color = config.get('color')\n\n log.level = config.get('loglevel')\n log.heading = config.get('heading') || 'npm'\n log.stream = config.get('logstream')\n\n switch (color) {\n case 'always':\n log.enableColor()\n npm.color = true\n break\n case false:\n log.disableColor()\n npm.color = false\n break\n default:\n if (process.stdout.isTTY) npm.color = true\n else if (!tty.isatty) npm.color = true\n else if (tty.isatty(1)) npm.color = true\n else npm.color = false\n break\n }\n\n if (config.get('unicode')) {\n log.enableUnicode()\n } else {\n log.disableUnicode()\n }\n\n if (config.get('progress') && (process.stderr.isTTY || (tty.isatty && tty.isatty(2)))) {\n log.enableProgress()\n } else {\n log.disableProgress()\n }\n\n glob(path.resolve(npm.cache, '_logs', '*-debug.log'), function (er, files) {\n if (er) return cb(er)\n\n while (files.length >= npm.config.get('logs-max')) {\n rimraf.sync(files[0])\n files.splice(0, 1)\n }\n })\n\n log.resume()\n\n var umask = npm.config.get('umask')\n npm.modes = {\n exec: parseInt('0777', 8) & (~umask),\n file: parseInt('0666', 8) & (~umask),\n umask: umask\n }\n\n var gp = Object.getOwnPropertyDescriptor(config, 'globalPrefix')\n Object.defineProperty(npm, 'globalPrefix', gp)\n\n var lp = Object.getOwnPropertyDescriptor(config, 'localPrefix')\n Object.defineProperty(npm, 'localPrefix', lp)\n\n config.set('scope', scopeifyScope(config.get('scope')))\n npm.projectScope = config.get('scope') ||\n scopeifyScope(getProjectScope(npm.prefix))\n\n // at this point the configs are all set.\n // go ahead and spin up the registry client.\n lazyProperty(npm, 'registry', function () {\n registryLoaded = true\n var RegClient = require('npm-registry-client')\n var registry = new RegClient(clientConfig(npm, log, npm.config))\n registry.version = npm.version\n registry.refer = registryRefer\n return registry\n })\n\n startMetrics()\n\n return cb(null, npm)\n })\n })\n }\n\n Object.defineProperty(npm, 'prefix',\n {\n get: function () {\n return npm.config.get('global') ? npm.globalPrefix : npm.localPrefix\n },\n set: function (r) {\n var k = npm.config.get('global') ? 'globalPrefix' : 'localPrefix'\n npm[k] = r\n return r\n },\n enumerable: true\n })\n\n Object.defineProperty(npm, 'bin',\n {\n get: function () {\n if (npm.config.get('global')) return npm.globalBin\n return path.resolve(npm.root, '.bin')\n },\n enumerable: true\n })\n\n Object.defineProperty(npm, 'globalBin',\n {\n get: function () {\n var b = npm.globalPrefix\n if (process.platform !== 'win32') b = path.resolve(b, 'bin')\n return b\n }\n })\n\n Object.defineProperty(npm, 'dir',\n {\n get: function () {\n if (npm.config.get('global')) return npm.globalDir\n return path.resolve(npm.prefix, 'node_modules')\n },\n enumerable: true\n })\n\n Object.defineProperty(npm, 'globalDir',\n {\n get: function () {\n return (process.platform !== 'win32')\n ? path.resolve(npm.globalPrefix, 'lib', 'node_modules')\n : path.resolve(npm.globalPrefix, 'node_modules')\n },\n enumerable: true\n })\n\n Object.defineProperty(npm, 'root',\n { get: function () { return npm.dir } })\n\n Object.defineProperty(npm, 'cache',\n { get: function () { return npm.config.get('cache') },\n set: function (r) { return npm.config.set('cache', r) },\n enumerable: true\n })\n\n var tmpFolder\n var rand = require('crypto').randomBytes(4).toString('hex')\n Object.defineProperty(npm, 'tmp',\n {\n get: function () {\n if (!tmpFolder) tmpFolder = 'npm-' + process.pid + '-' + rand\n return path.resolve(npm.config.get('tmp'), tmpFolder)\n },\n enumerable: true\n })\n\n // the better to repl you with\n Object.getOwnPropertyNames(npm.commands).forEach(function (n) {\n if (npm.hasOwnProperty(n) || n === 'config') return\n\n Object.defineProperty(npm, n, { get: function () {\n return function () {\n var args = Array.prototype.slice.call(arguments, 0)\n var cb = defaultCb\n\n if (args.length === 1 && Array.isArray(args[0])) {\n args = args[0]\n }\n\n if (typeof args[args.length - 1] === 'function') {\n cb = args.pop()\n }\n npm.commands[n](args, cb)\n }\n }, enumerable: false, configurable: true })\n })\n\n if (require.main === module) {\n require('../bin/npm-cli.js')\n }\n\n function scopeifyScope (scope) {\n return (!scope || scope[0] === '@') ? scope : ('@' + scope)\n }\n\n function getProjectScope (prefix) {\n try {\n var pkg = JSON.parse(fs.readFileSync(path.join(prefix, 'package.json')))\n if (typeof pkg.name !== 'string') return ''\n var sep = pkg.name.indexOf('/')\n if (sep === -1) return ''\n return pkg.name.slice(0, sep)\n } catch (ex) {\n return ''\n }\n }\n})()\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "142", "url": "/usr/local/lib/node_modules/npm/lib/config/core.js", "source": "(function (exports, require, module, __filename, __dirname) { var CC = require('config-chain').ConfigChain\nvar inherits = require('inherits')\nvar configDefs = require('./defaults.js')\nvar types = configDefs.types\nvar once = require('once')\nvar fs = require('fs')\nvar path = require('path')\nvar nopt = require('nopt')\nvar ini = require('ini')\nvar Umask = configDefs.Umask\nvar mkdirp = require('mkdirp')\nvar umask = require('../utils/umask')\nvar isWindows = require('../utils/is-windows.js')\n\nexports.load = load\nexports.Conf = Conf\nexports.loaded = false\nexports.rootConf = null\nexports.usingBuiltin = false\nexports.defs = configDefs\n\nObject.defineProperty(exports, 'defaults', { get: function () {\n return configDefs.defaults\n}, enumerable: true })\n\nObject.defineProperty(exports, 'types', { get: function () {\n return configDefs.types\n}, enumerable: true })\n\nexports.validate = validate\n\nvar myUid = process.env.SUDO_UID !== undefined\n ? process.env.SUDO_UID : (process.getuid && process.getuid())\nvar myGid = process.env.SUDO_GID !== undefined\n ? process.env.SUDO_GID : (process.getgid && process.getgid())\n\nvar loading = false\nvar loadCbs = []\nfunction load () {\n var cli, builtin, cb\n for (var i = 0; i < arguments.length; i++) {\n switch (typeof arguments[i]) {\n case 'string': builtin = arguments[i]; break\n case 'object': cli = arguments[i]; break\n case 'function': cb = arguments[i]; break\n }\n }\n\n if (!cb) cb = function () {}\n\n if (exports.loaded) {\n var ret = exports.loaded\n if (cli) {\n ret = new Conf(ret)\n ret.unshift(cli)\n }\n return process.nextTick(cb.bind(null, null, ret))\n }\n\n // either a fresh object, or a clone of the passed in obj\n if (!cli) {\n cli = {}\n } else {\n cli = Object.keys(cli).reduce(function (c, k) {\n c[k] = cli[k]\n return c\n }, {})\n }\n\n loadCbs.push(cb)\n if (loading) return\n\n loading = true\n\n cb = once(function (er, conf) {\n if (!er) {\n exports.loaded = conf\n loading = false\n }\n loadCbs.forEach(function (fn) {\n fn(er, conf)\n })\n loadCbs.length = 0\n })\n\n // check for a builtin if provided.\n exports.usingBuiltin = !!builtin\n var rc = exports.rootConf = new Conf()\n if (builtin) {\n rc.addFile(builtin, 'builtin')\n } else {\n rc.add({}, 'builtin')\n }\n\n rc.on('load', function () {\n load_(builtin, rc, cli, cb)\n })\n rc.on('error', cb)\n}\n\nfunction load_ (builtin, rc, cli, cb) {\n var defaults = configDefs.defaults\n var conf = new Conf(rc)\n\n conf.usingBuiltin = !!builtin\n conf.add(cli, 'cli')\n conf.addEnv()\n\n conf.loadPrefix(function (er) {\n if (er) return cb(er)\n\n // If you're doing `npm --userconfig=~/foo.npmrc` then you'd expect\n // that ~/.npmrc won't override the stuff in ~/foo.npmrc (or, indeed\n // be used at all).\n //\n // However, if the cwd is ~, then ~/.npmrc is the home for the project\n // config, and will override the userconfig.\n //\n // If you're not setting the userconfig explicitly, then it will be loaded\n // twice, which is harmless but excessive. If you *are* setting the\n // userconfig explicitly then it will override your explicit intent, and\n // that IS harmful and unexpected.\n //\n // Solution: Do not load project config file that is the same as either\n // the default or resolved userconfig value. npm will log a \"verbose\"\n // message about this when it happens, but it is a rare enough edge case\n // that we don't have to be super concerned about it.\n var projectConf = path.resolve(conf.localPrefix, '.npmrc')\n var defaultUserConfig = rc.get('userconfig')\n var resolvedUserConfig = conf.get('userconfig')\n if (!conf.get('global') &&\n projectConf !== defaultUserConfig &&\n projectConf !== resolvedUserConfig) {\n conf.addFile(projectConf, 'project')\n conf.once('load', afterPrefix)\n } else {\n conf.add({}, 'project')\n afterPrefix()\n }\n })\n\n function afterPrefix () {\n conf.addFile(conf.get('userconfig'), 'user')\n conf.once('error', cb)\n conf.once('load', afterUser)\n }\n\n function afterUser () {\n // globalconfig and globalignorefile defaults\n // need to respond to the 'prefix' setting up to this point.\n // Eg, `npm config get globalconfig --prefix ~/local` should\n // return `~/local/etc/npmrc`\n // annoying humans and their expectations!\n if (conf.get('prefix')) {\n var etc = path.resolve(conf.get('prefix'), 'etc')\n mkdirp(etc, function () {\n defaults.globalconfig = path.resolve(etc, 'npmrc')\n defaults.globalignorefile = path.resolve(etc, 'npmignore')\n afterUserContinuation()\n })\n } else {\n afterUserContinuation()\n }\n }\n\n function afterUserContinuation () {\n conf.addFile(conf.get('globalconfig'), 'global')\n\n // move the builtin into the conf stack now.\n conf.root = defaults\n conf.add(rc.shift(), 'builtin')\n conf.once('load', function () {\n conf.loadExtras(afterExtras)\n })\n }\n\n function afterExtras (er) {\n if (er) return cb(er)\n\n // warn about invalid bits.\n validate(conf)\n\n var cafile = conf.get('cafile')\n\n if (cafile) {\n return conf.loadCAFile(cafile, finalize)\n }\n\n finalize()\n }\n\n function finalize (er) {\n if (er) {\n return cb(er)\n }\n\n exports.loaded = conf\n cb(er, conf)\n }\n}\n\n// Basically the same as CC, but:\n// 1. Always ini\n// 2. Parses environment variable names in field values\n// 3. Field values that start with ~/ are replaced with process.env.HOME\n// 4. Can inherit from another Conf object, using it as the base.\ninherits(Conf, CC)\nfunction Conf (base) {\n if (!(this instanceof Conf)) return new Conf(base)\n\n CC.call(this)\n\n if (base) {\n if (base instanceof Conf) {\n this.root = base.list[0] || base.root\n } else {\n this.root = base\n }\n } else {\n this.root = configDefs.defaults\n }\n}\n\nConf.prototype.loadPrefix = require('./load-prefix.js')\nConf.prototype.loadCAFile = require('./load-cafile.js')\nConf.prototype.loadUid = require('./load-uid.js')\nConf.prototype.setUser = require('./set-user.js')\nConf.prototype.findPrefix = require('./find-prefix.js')\nConf.prototype.getCredentialsByURI = require('./get-credentials-by-uri.js')\nConf.prototype.setCredentialsByURI = require('./set-credentials-by-uri.js')\nConf.prototype.clearCredentialsByURI = require('./clear-credentials-by-uri.js')\n\nConf.prototype.loadExtras = function (cb) {\n this.setUser(function (er) {\n if (er) return cb(er)\n this.loadUid(function (er) {\n if (er) return cb(er)\n // Without prefix, nothing will ever work\n mkdirp(this.prefix, cb)\n }.bind(this))\n }.bind(this))\n}\n\nConf.prototype.save = function (where, cb) {\n var target = this.sources[where]\n if (!target || !(target.path || target.source) || !target.data) {\n var er\n if (where !== 'builtin') er = new Error('bad save target: ' + where)\n if (cb) {\n process.nextTick(cb.bind(null, er))\n return this\n }\n return this.emit('error', er)\n }\n\n if (target.source) {\n var pref = target.prefix || ''\n Object.keys(target.data).forEach(function (k) {\n target.source[pref + k] = target.data[k]\n })\n if (cb) process.nextTick(cb)\n return this\n }\n\n var data = ini.stringify(target.data)\n\n var then = function then (er) {\n if (er) return done(er)\n\n fs.chmod(target.path, mode, done)\n }\n\n var done = function done (er) {\n if (er) {\n if (cb) return cb(er)\n else return this.emit('error', er)\n }\n this._saving --\n if (this._saving === 0) {\n if (cb) cb()\n this.emit('save')\n }\n }\n\n then = then.bind(this)\n done = done.bind(this)\n this._saving ++\n\n var mode = where === 'user' ? '0600' : '0666'\n if (!data.trim()) {\n fs.unlink(target.path, function () {\n // ignore the possible error (e.g. the file doesn't exist)\n done(null)\n })\n } else {\n mkdirp(path.dirname(target.path), function (er) {\n if (er) return then(er)\n fs.writeFile(target.path, data, 'utf8', function (er) {\n if (er) return then(er)\n if (where === 'user' && myUid && myGid) {\n fs.chown(target.path, +myUid, +myGid, then)\n } else {\n then()\n }\n })\n })\n }\n\n return this\n}\n\nConf.prototype.addFile = function (file, name) {\n name = name || file\n var marker = { __source__: name }\n this.sources[name] = { path: file, type: 'ini' }\n this.push(marker)\n this._await()\n fs.readFile(file, 'utf8', function (er, data) {\n // just ignore missing files.\n if (er) return this.add({}, marker)\n\n this.addString(data, file, 'ini', marker)\n }.bind(this))\n return this\n}\n\n// always ini files.\nConf.prototype.parse = function (content, file) {\n return CC.prototype.parse.call(this, content, file, 'ini')\n}\n\nConf.prototype.add = function (data, marker) {\n try {\n Object.keys(data).forEach(function (k) {\n data[k] = parseField(data[k], k)\n })\n } catch (e) {\n this.emit('error', e)\n return this\n }\n return CC.prototype.add.call(this, data, marker)\n}\n\nConf.prototype.addEnv = function (env) {\n env = env || process.env\n var conf = {}\n Object.keys(env)\n .filter(function (k) { return k.match(/^npm_config_/i) })\n .forEach(function (k) {\n if (!env[k]) return\n\n // leave first char untouched, even if\n // it is a '_' - convert all other to '-'\n var p = k.toLowerCase()\n .replace(/^npm_config_/, '')\n .replace(/(?!^)_/g, '-')\n conf[p] = env[k]\n })\n return CC.prototype.addEnv.call(this, '', conf, 'env')\n}\n\nfunction parseField (f, k) {\n if (typeof f !== 'string' && !(f instanceof String)) return f\n\n // type can be an array or single thing.\n var typeList = [].concat(types[k])\n var isPath = typeList.indexOf(path) !== -1\n var isBool = typeList.indexOf(Boolean) !== -1\n var isString = typeList.indexOf(String) !== -1\n var isUmask = typeList.indexOf(Umask) !== -1\n var isNumber = typeList.indexOf(Number) !== -1\n\n f = ('' + f).trim()\n\n if (f.match(/^\".*\"$/)) {\n try {\n f = JSON.parse(f)\n } catch (e) {\n throw new Error('Failed parsing JSON config key ' + k + ': ' + f)\n }\n }\n\n if (isBool && !isString && f === '') return true\n\n switch (f) {\n case 'true': return true\n case 'false': return false\n case 'null': return null\n case 'undefined': return undefined\n }\n\n f = envReplace(f)\n\n if (isPath) {\n var homePattern = isWindows ? /^~(\\/|\\\\)/ : /^~\\//\n if (f.match(homePattern) && process.env.HOME) {\n f = path.resolve(process.env.HOME, f.substr(2))\n }\n f = path.resolve(f)\n }\n\n if (isUmask) f = umask.fromString(f)\n\n if (isNumber && !isNaN(f)) f = +f\n\n return f\n}\n\nfunction envReplace (f) {\n if (typeof f !== 'string' || !f) return f\n\n // replace any ${ENV} values with the appropriate environ.\n var envExpr = /(\\\\*)\\$\\{([^}]+)\\}/g\n return f.replace(envExpr, function (orig, esc, name) {\n esc = esc.length && esc.length % 2\n if (esc) return orig\n if (undefined === process.env[name]) {\n throw new Error('Failed to replace env in config: ' + orig)\n }\n\n return process.env[name]\n })\n}\n\nfunction validate (cl) {\n // warn about invalid configs at every level.\n cl.list.forEach(function (conf) {\n nopt.clean(conf, configDefs.types)\n })\n\n nopt.clean(cl.root, configDefs.types)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "143", "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var ProtoList = require('proto-list')\n , path = require('path')\n , fs = require('fs')\n , ini = require('ini')\n , EE = require('events').EventEmitter\n , url = require('url')\n , http = require('http')\n\nvar exports = module.exports = function () {\n var args = [].slice.call(arguments)\n , conf = new ConfigChain()\n\n while(args.length) {\n var a = args.shift()\n if(a) conf.push\n ( 'string' === typeof a\n ? json(a)\n : a )\n }\n\n return conf\n}\n\n//recursively find a file...\n\nvar find = exports.find = function () {\n var rel = path.join.apply(null, [].slice.call(arguments))\n\n function find(start, rel) {\n var file = path.join(start, rel)\n try {\n fs.statSync(file)\n return file\n } catch (err) {\n if(path.dirname(start) !== start) // root\n return find(path.dirname(start), rel)\n }\n }\n return find(__dirname, rel)\n}\n\nvar parse = exports.parse = function (content, file, type) {\n content = '' + content\n // if we don't know what it is, try json and fall back to ini\n // if we know what it is, then it must be that.\n if (!type) {\n try { return JSON.parse(content) }\n catch (er) { return ini.parse(content) }\n } else if (type === 'json') {\n if (this.emit) {\n try { return JSON.parse(content) }\n catch (er) { this.emit('error', er) }\n } else {\n return JSON.parse(content)\n }\n } else {\n return ini.parse(content)\n }\n}\n\nvar json = exports.json = function () {\n var args = [].slice.call(arguments).filter(function (arg) { return arg != null })\n var file = path.join.apply(null, args)\n var content\n try {\n content = fs.readFileSync(file,'utf-8')\n } catch (err) {\n return\n }\n return parse(content, file, 'json')\n}\n\nvar env = exports.env = function (prefix, env) {\n env = env || process.env\n var obj = {}\n var l = prefix.length\n for(var k in env) {\n if(k.indexOf(prefix) === 0)\n obj[k.substring(l)] = env[k]\n }\n\n return obj\n}\n\nexports.ConfigChain = ConfigChain\nfunction ConfigChain () {\n EE.apply(this)\n ProtoList.apply(this, arguments)\n this._awaiting = 0\n this._saving = 0\n this.sources = {}\n}\n\n// multi-inheritance-ish\nvar extras = {\n constructor: { value: ConfigChain }\n}\nObject.keys(EE.prototype).forEach(function (k) {\n extras[k] = Object.getOwnPropertyDescriptor(EE.prototype, k)\n})\nConfigChain.prototype = Object.create(ProtoList.prototype, extras)\n\nConfigChain.prototype.del = function (key, where) {\n // if not specified where, then delete from the whole chain, scorched\n // earth style\n if (where) {\n var target = this.sources[where]\n target = target && target.data\n if (!target) {\n return this.emit('error', new Error('not found '+where))\n }\n delete target[key]\n } else {\n for (var i = 0, l = this.list.length; i < l; i ++) {\n delete this.list[i][key]\n }\n }\n return this\n}\n\nConfigChain.prototype.set = function (key, value, where) {\n var target\n\n if (where) {\n target = this.sources[where]\n target = target && target.data\n if (!target) {\n return this.emit('error', new Error('not found '+where))\n }\n } else {\n target = this.list[0]\n if (!target) {\n return this.emit('error', new Error('cannot set, no confs!'))\n }\n }\n target[key] = value\n return this\n}\n\nConfigChain.prototype.get = function (key, where) {\n if (where) {\n where = this.sources[where]\n if (where) where = where.data\n if (where && Object.hasOwnProperty.call(where, key)) return where[key]\n return undefined\n }\n return this.list[0][key]\n}\n\nConfigChain.prototype.save = function (where, type, cb) {\n if (typeof type === 'function') cb = type, type = null\n var target = this.sources[where]\n if (!target || !(target.path || target.source) || !target.data) {\n // TODO: maybe save() to a url target could be a PUT or something?\n // would be easy to swap out with a reddis type thing, too\n return this.emit('error', new Error('bad save target: '+where))\n }\n\n if (target.source) {\n var pref = target.prefix || ''\n Object.keys(target.data).forEach(function (k) {\n target.source[pref + k] = target.data[k]\n })\n return this\n }\n\n var type = type || target.type\n var data = target.data\n if (target.type === 'json') {\n data = JSON.stringify(data)\n } else {\n data = ini.stringify(data)\n }\n\n this._saving ++\n fs.writeFile(target.path, data, 'utf8', function (er) {\n this._saving --\n if (er) {\n if (cb) return cb(er)\n else return this.emit('error', er)\n }\n if (this._saving === 0) {\n if (cb) cb()\n this.emit('save')\n }\n }.bind(this))\n return this\n}\n\nConfigChain.prototype.addFile = function (file, type, name) {\n name = name || file\n var marker = {__source__:name}\n this.sources[name] = { path: file, type: type }\n this.push(marker)\n this._await()\n fs.readFile(file, 'utf8', function (er, data) {\n if (er) this.emit('error', er)\n this.addString(data, file, type, marker)\n }.bind(this))\n return this\n}\n\nConfigChain.prototype.addEnv = function (prefix, env, name) {\n name = name || 'env'\n var data = exports.env(prefix, env)\n this.sources[name] = { data: data, source: env, prefix: prefix }\n return this.add(data, name)\n}\n\nConfigChain.prototype.addUrl = function (req, type, name) {\n this._await()\n var href = url.format(req)\n name = name || href\n var marker = {__source__:name}\n this.sources[name] = { href: href, type: type }\n this.push(marker)\n http.request(req, function (res) {\n var c = []\n var ct = res.headers['content-type']\n if (!type) {\n type = ct.indexOf('json') !== -1 ? 'json'\n : ct.indexOf('ini') !== -1 ? 'ini'\n : href.match(/\\.json$/) ? 'json'\n : href.match(/\\.ini$/) ? 'ini'\n : null\n marker.type = type\n }\n\n res.on('data', c.push.bind(c))\n .on('end', function () {\n this.addString(Buffer.concat(c), href, type, marker)\n }.bind(this))\n .on('error', this.emit.bind(this, 'error'))\n\n }.bind(this))\n .on('error', this.emit.bind(this, 'error'))\n .end()\n\n return this\n}\n\nConfigChain.prototype.addString = function (data, file, type, marker) {\n data = this.parse(data, file, type)\n this.add(data, marker)\n return this\n}\n\nConfigChain.prototype.add = function (data, marker) {\n if (marker && typeof marker === 'object') {\n var i = this.list.indexOf(marker)\n if (i === -1) {\n return this.emit('error', new Error('bad marker'))\n }\n this.splice(i, 1, data)\n marker = marker.__source__\n this.sources[marker] = this.sources[marker] || {}\n this.sources[marker].data = data\n // we were waiting for this. maybe emit 'load'\n this._resolve()\n } else {\n if (typeof marker === 'string') {\n this.sources[marker] = this.sources[marker] || {}\n this.sources[marker].data = data\n }\n // trigger the load event if nothing was already going to do so.\n this._await()\n this.push(data)\n process.nextTick(this._resolve.bind(this))\n }\n return this\n}\n\nConfigChain.prototype.parse = exports.parse\n\nConfigChain.prototype._await = function () {\n this._awaiting++\n}\n\nConfigChain.prototype._resolve = function () {\n this._awaiting--\n if (this._awaiting === 0) this.emit('load', this)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/config-chain" }, { "id": "147", "url": "http.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst agent = require('_http_agent');\nconst client = require('_http_client');\nconst common = require('_http_common');\nconst incoming = require('_http_incoming');\nconst outgoing = require('_http_outgoing');\nconst server = require('_http_server');\n\nconst Server = server.Server;\nconst ClientRequest = client.ClientRequest;\n\nfunction createServer(requestListener) {\n return new Server(requestListener);\n}\n\nfunction request(options, cb) {\n return new ClientRequest(options, cb);\n}\n\nfunction get(options, cb) {\n var req = request(options, cb);\n req.end();\n return req;\n}\n\nmodule.exports = {\n _connectionListener: server._connectionListener,\n METHODS: common.methods.slice().sort(),\n STATUS_CODES: server.STATUS_CODES,\n Agent: agent.Agent,\n ClientRequest,\n globalAgent: agent.globalAgent,\n IncomingMessage: incoming.IncomingMessage,\n OutgoingMessage: outgoing.OutgoingMessage,\n Server,\n ServerResponse: server.ServerResponse,\n createServer,\n get,\n request\n};\n\n});", "pkgUrl": "(system)" }, { "id": "149", "url": "_http_client.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst util = require('util');\nconst net = require('net');\nconst url = require('url');\nconst HTTPParser = process.binding('http_parser').HTTPParser;\nconst assert = require('assert').ok;\nconst common = require('_http_common');\nconst httpSocketSetup = common.httpSocketSetup;\nconst parsers = common.parsers;\nconst freeParser = common.freeParser;\nconst debug = common.debug;\nconst OutgoingMessage = require('_http_outgoing').OutgoingMessage;\nconst Agent = require('_http_agent');\nconst Buffer = require('buffer').Buffer;\nconst { urlToOptions, searchParamsSymbol } = require('internal/url');\nconst outHeadersKey = require('internal/http').outHeadersKey;\nconst nextTick = require('internal/process/next_tick').nextTick;\n\n// The actual list of disallowed characters in regexp form is more like:\n// /[^A-Za-z0-9\\-._~!$&'()*+,;=/:@]/\n// with an additional rule for ignoring percentage-escaped characters, but\n// that's a) hard to capture in a regular expression that performs well, and\n// b) possibly too restrictive for real-world usage. So instead we restrict the\n// filter to just control characters and spaces.\n//\n// This function is used in the case of small paths, where manual character code\n// checks can greatly outperform the equivalent regexp (tested in V8 5.4).\nfunction isInvalidPath(s) {\n var i = 0;\n if (s.charCodeAt(0) <= 32) return true;\n if (++i >= s.length) return false;\n if (s.charCodeAt(1) <= 32) return true;\n if (++i >= s.length) return false;\n if (s.charCodeAt(2) <= 32) return true;\n if (++i >= s.length) return false;\n if (s.charCodeAt(3) <= 32) return true;\n if (++i >= s.length) return false;\n if (s.charCodeAt(4) <= 32) return true;\n if (++i >= s.length) return false;\n if (s.charCodeAt(5) <= 32) return true;\n ++i;\n for (; i < s.length; ++i)\n if (s.charCodeAt(i) <= 32) return true;\n return false;\n}\n\nfunction validateHost(host, name) {\n if (host != null && typeof host !== 'string') {\n throw new TypeError(\n `\"options.${name}\" must either be a string, undefined or null`);\n }\n return host;\n}\n\nfunction ClientRequest(options, cb) {\n OutgoingMessage.call(this);\n\n if (typeof options === 'string') {\n options = url.parse(options);\n if (!options.hostname) {\n throw new Error('Unable to determine the domain name');\n }\n } else if (options && options[searchParamsSymbol] &&\n options[searchParamsSymbol][searchParamsSymbol]) {\n // url.URL instance\n options = urlToOptions(options);\n } else {\n options = util._extend({}, options);\n }\n\n var agent = options.agent;\n var defaultAgent = options._defaultAgent || Agent.globalAgent;\n if (agent === false) {\n agent = new defaultAgent.constructor();\n } else if (agent === null || agent === undefined) {\n if (typeof options.createConnection !== 'function') {\n agent = defaultAgent;\n }\n // Explicitly pass through this statement as agent will not be used\n // when createConnection is provided.\n } else if (typeof agent.addRequest !== 'function') {\n throw new TypeError(\n 'Agent option must be an Agent-like object, undefined, or false.'\n );\n }\n this.agent = agent;\n\n var protocol = options.protocol || defaultAgent.protocol;\n var expectedProtocol = defaultAgent.protocol;\n if (this.agent && this.agent.protocol)\n expectedProtocol = this.agent.protocol;\n\n var path;\n if (options.path) {\n path = '' + options.path;\n var invalidPath;\n if (path.length <= 39) { // Determined experimentally in V8 5.4\n invalidPath = isInvalidPath(path);\n } else {\n invalidPath = /[\\u0000-\\u0020]/.test(path);\n }\n if (invalidPath)\n throw new TypeError('Request path contains unescaped characters');\n }\n\n if (protocol !== expectedProtocol) {\n throw new Error('Protocol \"' + protocol + '\" not supported. ' +\n 'Expected \"' + expectedProtocol + '\"');\n }\n\n var defaultPort = options.defaultPort ||\n this.agent && this.agent.defaultPort;\n\n var port = options.port = options.port || defaultPort || 80;\n var host = options.host = validateHost(options.hostname, 'hostname') ||\n validateHost(options.host, 'host') || 'localhost';\n\n var setHost = (options.setHost === undefined);\n\n this.socketPath = options.socketPath;\n this.timeout = options.timeout;\n\n var method = options.method;\n var methodIsString = (typeof method === 'string');\n if (method != null && !methodIsString) {\n throw new TypeError('Method must be a string');\n }\n\n if (methodIsString && method) {\n if (!common._checkIsHttpToken(method)) {\n throw new TypeError('Method must be a valid HTTP token');\n }\n method = this.method = method.toUpperCase();\n } else {\n method = this.method = 'GET';\n }\n\n this.path = options.path || '/';\n if (cb) {\n this.once('response', cb);\n }\n\n var headersArray = Array.isArray(options.headers);\n if (!headersArray) {\n if (options.headers) {\n var keys = Object.keys(options.headers);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n this.setHeader(key, options.headers[key]);\n }\n }\n if (host && !this.getHeader('host') && setHost) {\n var hostHeader = host;\n\n // For the Host header, ensure that IPv6 addresses are enclosed\n // in square brackets, as defined by URI formatting\n // https://tools.ietf.org/html/rfc3986#section-3.2.2\n var posColon = hostHeader.indexOf(':');\n if (posColon !== -1 &&\n hostHeader.indexOf(':', posColon + 1) !== -1 &&\n hostHeader.charCodeAt(0) !== 91/*'['*/) {\n hostHeader = `[${hostHeader}]`;\n }\n\n if (port && +port !== defaultPort) {\n hostHeader += ':' + port;\n }\n this.setHeader('Host', hostHeader);\n }\n }\n\n if (options.auth && !this.getHeader('Authorization')) {\n this.setHeader('Authorization', 'Basic ' +\n Buffer.from(options.auth).toString('base64'));\n }\n\n if (method === 'GET' ||\n method === 'HEAD' ||\n method === 'DELETE' ||\n method === 'OPTIONS' ||\n method === 'CONNECT') {\n this.useChunkedEncodingByDefault = false;\n } else {\n this.useChunkedEncodingByDefault = true;\n }\n\n if (headersArray) {\n this._storeHeader(this.method + ' ' + this.path + ' HTTP/1.1\\r\\n',\n options.headers);\n } else if (this.getHeader('expect')) {\n if (this._header) {\n throw new Error('Can\\'t render headers after they are sent to the ' +\n 'client');\n }\n\n this._storeHeader(this.method + ' ' + this.path + ' HTTP/1.1\\r\\n',\n this[outHeadersKey]);\n }\n\n this._ended = false;\n this.res = null;\n this.aborted = undefined;\n this.timeoutCb = null;\n this.upgradeOrConnect = false;\n this.parser = null;\n this.maxHeadersCount = null;\n\n var called = false;\n\n var oncreate = (err, socket) => {\n if (called)\n return;\n called = true;\n if (err) {\n process.nextTick(() => this.emit('error', err));\n return;\n }\n this.onSocket(socket);\n this._deferToConnect(null, null, () => this._flush());\n };\n\n var newSocket;\n if (this.socketPath) {\n this._last = true;\n this.shouldKeepAlive = false;\n var optionsPath = {\n path: this.socketPath,\n timeout: this.timeout,\n rejectUnauthorized: !!options.rejectUnauthorized\n };\n newSocket = this.agent.createConnection(optionsPath, oncreate);\n if (newSocket && !called) {\n called = true;\n this.onSocket(newSocket);\n } else {\n return;\n }\n } else if (this.agent) {\n // If there is an agent we should default to Connection:keep-alive,\n // but only if the Agent will actually reuse the connection!\n // If it's not a keepAlive agent, and the maxSockets==Infinity, then\n // there's never a case where this socket will actually be reused\n if (!this.agent.keepAlive && !Number.isFinite(this.agent.maxSockets)) {\n this._last = true;\n this.shouldKeepAlive = false;\n } else {\n this._last = false;\n this.shouldKeepAlive = true;\n }\n this.agent.addRequest(this, options);\n } else {\n // No agent, default to Connection:close.\n this._last = true;\n this.shouldKeepAlive = false;\n if (typeof options.createConnection === 'function') {\n newSocket = options.createConnection(options, oncreate);\n if (newSocket && !called) {\n called = true;\n this.onSocket(newSocket);\n } else {\n return;\n }\n } else {\n debug('CLIENT use net.createConnection', options);\n this.onSocket(net.createConnection(options));\n }\n }\n\n this._deferToConnect(null, null, () => this._flush());\n}\n\nutil.inherits(ClientRequest, OutgoingMessage);\n\n\nClientRequest.prototype._finish = function _finish() {\n DTRACE_HTTP_CLIENT_REQUEST(this, this.connection);\n ;\n ;\n OutgoingMessage.prototype._finish.call(this);\n};\n\nClientRequest.prototype._implicitHeader = function _implicitHeader() {\n if (this._header) {\n throw new Error('Can\\'t render headers after they are sent to the client');\n }\n this._storeHeader(this.method + ' ' + this.path + ' HTTP/1.1\\r\\n',\n this[outHeadersKey]);\n};\n\nClientRequest.prototype.abort = function abort() {\n if (!this.aborted) {\n process.nextTick(emitAbortNT.bind(this));\n }\n // Mark as aborting so we can avoid sending queued request data\n // This is used as a truthy flag elsewhere. The use of Date.now is for\n // debugging purposes only.\n this.aborted = Date.now();\n\n // If we're aborting, we don't care about any more response data.\n if (this.res)\n this.res._dump();\n else\n this.once('response', function(res) {\n res._dump();\n });\n\n // In the event that we don't have a socket, we will pop out of\n // the request queue through handling in onSocket.\n if (this.socket) {\n // in-progress\n this.socket.destroy();\n }\n};\n\n\nfunction emitAbortNT() {\n this.emit('abort');\n}\n\n\nfunction createHangUpError() {\n var error = new Error('socket hang up');\n error.code = 'ECONNRESET';\n return error;\n}\n\n\nfunction socketCloseListener() {\n var socket = this;\n var req = socket._httpMessage;\n debug('HTTP socket close');\n\n // Pull through final chunk, if anything is buffered.\n // the ondata function will handle it properly, and this\n // is a no-op if no final chunk remains.\n socket.read();\n\n // NOTE: It's important to get parser here, because it could be freed by\n // the `socketOnData`.\n var parser = socket.parser;\n req.emit('close');\n if (req.res && req.res.readable) {\n // Socket closed before we emitted 'end' below.\n req.res.emit('aborted');\n var res = req.res;\n res.on('end', function() {\n res.emit('close');\n });\n res.push(null);\n } else if (!req.res && !req.socket._hadError) {\n // This socket error fired before we started to\n // receive a response. The error needs to\n // fire on the request.\n req.emit('error', createHangUpError());\n req.socket._hadError = true;\n }\n\n // Too bad. That output wasn't getting written.\n // This is pretty terrible that it doesn't raise an error.\n // Fixed better in v0.10\n if (req.output)\n req.output.length = 0;\n if (req.outputEncodings)\n req.outputEncodings.length = 0;\n\n if (parser) {\n parser.finish();\n freeParser(parser, req, socket);\n }\n}\n\nfunction socketErrorListener(err) {\n var socket = this;\n var req = socket._httpMessage;\n debug('SOCKET ERROR:', err.message, err.stack);\n\n if (req) {\n req.emit('error', err);\n // For Safety. Some additional errors might fire later on\n // and we need to make sure we don't double-fire the error event.\n req.socket._hadError = true;\n }\n\n // Handle any pending data\n socket.read();\n\n var parser = socket.parser;\n if (parser) {\n parser.finish();\n freeParser(parser, req, socket);\n }\n\n // Ensure that no further data will come out of the socket\n socket.removeListener('data', socketOnData);\n socket.removeListener('end', socketOnEnd);\n socket.destroy();\n}\n\nfunction freeSocketErrorListener(err) {\n var socket = this;\n debug('SOCKET ERROR on FREE socket:', err.message, err.stack);\n socket.destroy();\n socket.emit('agentRemove');\n}\n\nfunction socketOnEnd() {\n var socket = this;\n var req = this._httpMessage;\n var parser = this.parser;\n\n if (!req.res && !req.socket._hadError) {\n // If we don't have a response then we know that the socket\n // ended prematurely and we need to emit an error on the request.\n req.emit('error', createHangUpError());\n req.socket._hadError = true;\n }\n if (parser) {\n parser.finish();\n freeParser(parser, req, socket);\n }\n socket.destroy();\n}\n\nfunction socketOnData(d) {\n var socket = this;\n var req = this._httpMessage;\n var parser = this.parser;\n\n assert(parser && parser.socket === socket);\n\n var ret = parser.execute(d);\n if (ret instanceof Error) {\n debug('parse error', ret);\n freeParser(parser, req, socket);\n socket.destroy();\n req.emit('error', ret);\n req.socket._hadError = true;\n } else if (parser.incoming && parser.incoming.upgrade) {\n // Upgrade or CONNECT\n var bytesParsed = ret;\n var res = parser.incoming;\n req.res = res;\n\n socket.removeListener('data', socketOnData);\n socket.removeListener('end', socketOnEnd);\n parser.finish();\n\n var bodyHead = d.slice(bytesParsed, d.length);\n\n var eventName = req.method === 'CONNECT' ? 'connect' : 'upgrade';\n if (req.listenerCount(eventName) > 0) {\n req.upgradeOrConnect = true;\n\n // detach the socket\n socket.emit('agentRemove');\n socket.removeListener('close', socketCloseListener);\n socket.removeListener('error', socketErrorListener);\n\n // TODO(isaacs): Need a way to reset a stream to fresh state\n // IE, not flowing, and not explicitly paused.\n socket._readableState.flowing = null;\n\n req.emit(eventName, res, socket, bodyHead);\n req.emit('close');\n } else {\n // Got Upgrade header or CONNECT method, but have no handler.\n socket.destroy();\n }\n freeParser(parser, req, socket);\n } else if (parser.incoming && parser.incoming.complete &&\n // When the status code is 100 (Continue), the server will\n // send a final response after this client sends a request\n // body. So, we must not free the parser.\n parser.incoming.statusCode !== 100) {\n socket.removeListener('data', socketOnData);\n socket.removeListener('end', socketOnEnd);\n freeParser(parser, req, socket);\n }\n}\n\n\n// client\nfunction parserOnIncomingClient(res, shouldKeepAlive) {\n var socket = this.socket;\n var req = socket._httpMessage;\n\n\n // propagate \"domain\" setting...\n if (req.domain && !res.domain) {\n debug('setting \"res.domain\"');\n res.domain = req.domain;\n }\n\n debug('AGENT incoming response!');\n\n if (req.res) {\n // We already have a response object, this means the server\n // sent a double response.\n socket.destroy();\n return;\n }\n req.res = res;\n\n // Responses to CONNECT request is handled as Upgrade.\n if (req.method === 'CONNECT') {\n res.upgrade = true;\n return 2; // skip body, and the rest\n }\n\n // Responses to HEAD requests are crazy.\n // HEAD responses aren't allowed to have an entity-body\n // but *can* have a content-length which actually corresponds\n // to the content-length of the entity-body had the request\n // been a GET.\n var isHeadResponse = req.method === 'HEAD';\n debug('AGENT isHeadResponse', isHeadResponse);\n\n if (res.statusCode === 100) {\n // restart the parser, as this is a continue message.\n req.res = null; // Clear res so that we don't hit double-responses.\n req.emit('continue');\n return true;\n }\n\n if (req.shouldKeepAlive && !shouldKeepAlive && !req.upgradeOrConnect) {\n // Server MUST respond with Connection:keep-alive for us to enable it.\n // If we've been upgraded (via WebSockets) we also shouldn't try to\n // keep the connection open.\n req.shouldKeepAlive = false;\n }\n\n\n DTRACE_HTTP_CLIENT_RESPONSE(socket, req);\n ;\n ;\n req.res = res;\n res.req = req;\n\n // add our listener first, so that we guarantee socket cleanup\n res.on('end', responseOnEnd);\n req.on('prefinish', requestOnPrefinish);\n var handled = req.emit('response', res);\n\n // If the user did not listen for the 'response' event, then they\n // can't possibly read the data, so we ._dump() it into the void\n // so that the socket doesn't hang there in a paused state.\n if (!handled)\n res._dump();\n\n return isHeadResponse;\n}\n\n// client\nfunction responseKeepAlive(res, req) {\n var socket = req.socket;\n\n if (!req.shouldKeepAlive) {\n if (socket.writable) {\n debug('AGENT socket.destroySoon()');\n socket.destroySoon();\n }\n assert(!socket.writable);\n } else {\n debug('AGENT socket keep-alive');\n if (req.timeoutCb) {\n socket.setTimeout(0, req.timeoutCb);\n req.timeoutCb = null;\n }\n socket.removeListener('close', socketCloseListener);\n socket.removeListener('error', socketErrorListener);\n socket.once('error', freeSocketErrorListener);\n // There are cases where _handle === null. Avoid those. Passing null to\n // nextTick() will call initTriggerId() to retrieve the id.\n const asyncId = socket._handle ? socket._handle.getAsyncId() : null;\n // Mark this socket as available, AFTER user-added end\n // handlers have a chance to run.\n nextTick(asyncId, emitFreeNT, socket);\n }\n}\n\nfunction responseOnEnd() {\n const res = this;\n const req = this.req;\n\n req._ended = true;\n if (!req.shouldKeepAlive || req.finished)\n responseKeepAlive(res, req);\n}\n\nfunction requestOnPrefinish() {\n const req = this;\n const res = this.res;\n\n if (!req.shouldKeepAlive)\n return;\n\n if (req._ended)\n responseKeepAlive(res, req);\n}\n\nfunction emitFreeNT(socket) {\n socket.emit('free');\n}\n\nfunction tickOnSocket(req, socket) {\n var parser = parsers.alloc();\n req.socket = socket;\n req.connection = socket;\n parser.reinitialize(HTTPParser.RESPONSE);\n parser.socket = socket;\n parser.incoming = null;\n parser.outgoing = req;\n req.parser = parser;\n\n socket.parser = parser;\n socket._httpMessage = req;\n\n // Setup \"drain\" propagation.\n httpSocketSetup(socket);\n\n // Propagate headers limit from request object to parser\n if (typeof req.maxHeadersCount === 'number') {\n parser.maxHeaderPairs = req.maxHeadersCount << 1;\n } else {\n // Set default value because parser may be reused from FreeList\n parser.maxHeaderPairs = 2000;\n }\n\n parser.onIncoming = parserOnIncomingClient;\n socket.removeListener('error', freeSocketErrorListener);\n socket.on('error', socketErrorListener);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('close', socketCloseListener);\n\n if (req.timeout) {\n const emitRequestTimeout = () => req.emit('timeout');\n socket.once('timeout', emitRequestTimeout);\n req.once('response', (res) => {\n res.once('end', () => {\n socket.removeListener('timeout', emitRequestTimeout);\n });\n });\n }\n req.emit('socket', socket);\n}\n\nClientRequest.prototype.onSocket = function onSocket(socket) {\n process.nextTick(onSocketNT, this, socket);\n};\n\nfunction onSocketNT(req, socket) {\n if (req.aborted) {\n // If we were aborted while waiting for a socket, skip the whole thing.\n if (req.socketPath || !req.agent) {\n socket.destroy();\n } else {\n socket.emit('free');\n }\n } else {\n tickOnSocket(req, socket);\n }\n}\n\nClientRequest.prototype._deferToConnect = _deferToConnect;\nfunction _deferToConnect(method, arguments_, cb) {\n // This function is for calls that need to happen once the socket is\n // connected and writable. It's an important promisy thing for all the socket\n // calls that happen either now (when a socket is assigned) or\n // in the future (when a socket gets assigned out of the pool and is\n // eventually writable).\n\n const callSocketMethod = () => {\n if (method)\n this.socket[method].apply(this.socket, arguments_);\n\n if (typeof cb === 'function')\n cb();\n };\n\n const onSocket = () => {\n if (this.socket.writable) {\n callSocketMethod();\n } else {\n this.socket.once('connect', callSocketMethod);\n }\n };\n\n if (!this.socket) {\n this.once('socket', onSocket);\n } else {\n onSocket();\n }\n}\n\nClientRequest.prototype.setTimeout = function setTimeout(msecs, callback) {\n if (callback) this.once('timeout', callback);\n\n const emitTimeout = () => this.emit('timeout');\n\n if (this.socket && this.socket.writable) {\n if (this.timeoutCb)\n this.socket.setTimeout(0, this.timeoutCb);\n this.timeoutCb = emitTimeout;\n this.socket.setTimeout(msecs, emitTimeout);\n return this;\n }\n\n // Set timeoutCb so that it'll get cleaned up on request end\n this.timeoutCb = emitTimeout;\n if (this.socket) {\n var sock = this.socket;\n this.socket.once('connect', function() {\n sock.setTimeout(msecs, emitTimeout);\n });\n return this;\n }\n\n this.once('socket', function(sock) {\n sock.setTimeout(msecs, emitTimeout);\n });\n\n return this;\n};\n\nClientRequest.prototype.setNoDelay = function setNoDelay(noDelay) {\n this._deferToConnect('setNoDelay', [noDelay]);\n};\n\nClientRequest.prototype.setSocketKeepAlive =\n function setSocketKeepAlive(enable, initialDelay) {\n this._deferToConnect('setKeepAlive', [enable, initialDelay]);\n };\n\nClientRequest.prototype.clearTimeout = function clearTimeout(cb) {\n this.setTimeout(0, cb);\n};\n\nmodule.exports = {\n ClientRequest\n};\n\n});", "pkgUrl": "(system)" }, { "id": "150", "url": "_http_common.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst binding = process.binding('http_parser');\nconst methods = binding.methods;\nconst HTTPParser = binding.HTTPParser;\n\nconst FreeList = require('internal/freelist');\nconst ondrain = require('internal/http').ondrain;\nconst incoming = require('_http_incoming');\nconst emitDestroy = require('async_hooks').emitDestroy;\nconst IncomingMessage = incoming.IncomingMessage;\nconst readStart = incoming.readStart;\nconst readStop = incoming.readStop;\n\nconst debug = require('util').debuglog('http');\n\nconst kOnHeaders = HTTPParser.kOnHeaders | 0;\nconst kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;\nconst kOnBody = HTTPParser.kOnBody | 0;\nconst kOnMessageComplete = HTTPParser.kOnMessageComplete | 0;\nconst kOnExecute = HTTPParser.kOnExecute | 0;\n\n// Only called in the slow case where slow means\n// that the request headers were either fragmented\n// across multiple TCP packets or too large to be\n// processed in a single run. This method is also\n// called to process trailing HTTP headers.\nfunction parserOnHeaders(headers, url) {\n // Once we exceeded headers limit - stop collecting them\n if (this.maxHeaderPairs <= 0 ||\n this._headers.length < this.maxHeaderPairs) {\n this._headers = this._headers.concat(headers);\n }\n this._url += url;\n}\n\n// `headers` and `url` are set only if .onHeaders() has not been called for\n// this request.\n// `url` is not set for response parsers but that's not applicable here since\n// all our parsers are request parsers.\nfunction parserOnHeadersComplete(versionMajor, versionMinor, headers, method,\n url, statusCode, statusMessage, upgrade,\n shouldKeepAlive) {\n var parser = this;\n\n if (!headers) {\n headers = parser._headers;\n parser._headers = [];\n }\n\n if (!url) {\n url = parser._url;\n parser._url = '';\n }\n\n parser.incoming = new IncomingMessage(parser.socket);\n parser.incoming.httpVersionMajor = versionMajor;\n parser.incoming.httpVersionMinor = versionMinor;\n parser.incoming.httpVersion = versionMajor + '.' + versionMinor;\n parser.incoming.url = url;\n\n var n = headers.length;\n\n // If parser.maxHeaderPairs <= 0 assume that there's no limit.\n if (parser.maxHeaderPairs > 0)\n n = Math.min(n, parser.maxHeaderPairs);\n\n parser.incoming._addHeaderLines(headers, n);\n\n if (typeof method === 'number') {\n // server only\n parser.incoming.method = methods[method];\n } else {\n // client only\n parser.incoming.statusCode = statusCode;\n parser.incoming.statusMessage = statusMessage;\n }\n\n if (upgrade && parser.outgoing !== null && !parser.outgoing.upgrading) {\n // The client made non-upgrade request, and server is just advertising\n // supported protocols.\n //\n // See RFC7230 Section 6.7\n upgrade = false;\n }\n\n parser.incoming.upgrade = upgrade;\n\n var skipBody = 0; // response to HEAD or CONNECT\n\n if (!upgrade) {\n // For upgraded connections and CONNECT method request, we'll emit this\n // after parser.execute so that we can capture the first part of the new\n // protocol.\n skipBody = parser.onIncoming(parser.incoming, shouldKeepAlive);\n }\n\n if (typeof skipBody !== 'number')\n return skipBody ? 1 : 0;\n else\n return skipBody;\n}\n\n// XXX This is a mess.\n// TODO: http.Parser should be a Writable emits request/response events.\nfunction parserOnBody(b, start, len) {\n var parser = this;\n var stream = parser.incoming;\n\n // if the stream has already been removed, then drop it.\n if (!stream)\n return;\n\n var socket = stream.socket;\n\n // pretend this was the result of a stream._read call.\n if (len > 0 && !stream._dumped) {\n var slice = b.slice(start, start + len);\n var ret = stream.push(slice);\n if (!ret)\n readStop(socket);\n }\n}\n\nfunction parserOnMessageComplete() {\n var parser = this;\n var stream = parser.incoming;\n\n if (stream) {\n stream.complete = true;\n // Emit any trailing headers.\n var headers = parser._headers;\n if (headers) {\n parser.incoming._addHeaderLines(headers, headers.length);\n parser._headers = [];\n parser._url = '';\n }\n\n // For emit end event\n stream.push(null);\n }\n\n // force to read the next incoming message\n readStart(parser.socket);\n}\n\n\nvar parsers = new FreeList('parsers', 1000, function() {\n var parser = new HTTPParser(HTTPParser.REQUEST);\n\n parser._headers = [];\n parser._url = '';\n parser._consumed = false;\n\n parser.socket = null;\n parser.incoming = null;\n parser.outgoing = null;\n\n // Only called in the slow case where slow means\n // that the request headers were either fragmented\n // across multiple TCP packets or too large to be\n // processed in a single run. This method is also\n // called to process trailing HTTP headers.\n parser[kOnHeaders] = parserOnHeaders;\n parser[kOnHeadersComplete] = parserOnHeadersComplete;\n parser[kOnBody] = parserOnBody;\n parser[kOnMessageComplete] = parserOnMessageComplete;\n parser[kOnExecute] = null;\n\n return parser;\n});\n\n\n// Free the parser and also break any links that it\n// might have to any other things.\n// TODO: All parser data should be attached to a\n// single object, so that it can be easily cleaned\n// up by doing `parser.data = {}`, which should\n// be done in FreeList.free. `parsers.free(parser)`\n// should be all that is needed.\nfunction freeParser(parser, req, socket) {\n if (parser) {\n parser._headers = [];\n parser.onIncoming = null;\n if (parser._consumed)\n parser.unconsume();\n parser._consumed = false;\n if (parser.socket)\n parser.socket.parser = null;\n parser.socket = null;\n parser.incoming = null;\n parser.outgoing = null;\n parser[kOnExecute] = null;\n if (parsers.free(parser) === false) {\n parser.close();\n } else {\n // Since the Parser destructor isn't going to run the destroy() callbacks\n // it needs to be triggered manually.\n emitDestroy(parser.getAsyncId());\n }\n }\n if (req) {\n req.parser = null;\n }\n if (socket) {\n socket.parser = null;\n }\n}\n\n\nfunction httpSocketSetup(socket) {\n socket.removeListener('drain', ondrain);\n socket.on('drain', ondrain);\n}\n\n/**\n * Verifies that the given val is a valid HTTP token\n * per the rules defined in RFC 7230\n * See https://tools.ietf.org/html/rfc7230#section-3.2.6\n *\n * Allowed characters in an HTTP token:\n * ^_`a-z 94-122\n * A-Z 65-90\n * - 45\n * 0-9 48-57\n * ! 33\n * #$%&' 35-39\n * *+ 42-43\n * . 46\n * | 124\n * ~ 126\n *\n * This implementation of checkIsHttpToken() loops over the string instead of\n * using a regular expression since the former is up to 180% faster with v8 4.9\n * depending on the string length (the shorter the string, the larger the\n * performance difference)\n *\n * Additionally, checkIsHttpToken() is currently designed to be inlinable by v8,\n * so take care when making changes to the implementation so that the source\n * code size does not exceed v8's default max_inlined_source_size setting.\n **/\nvar validTokens = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, // 112 - 127\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 128 ...\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // ... 255\n];\nfunction checkIsHttpToken(val) {\n if (!validTokens[val.charCodeAt(0)])\n return false;\n if (val.length < 2)\n return true;\n if (!validTokens[val.charCodeAt(1)])\n return false;\n if (val.length < 3)\n return true;\n if (!validTokens[val.charCodeAt(2)])\n return false;\n if (val.length < 4)\n return true;\n if (!validTokens[val.charCodeAt(3)])\n return false;\n for (var i = 4; i < val.length; ++i) {\n if (!validTokens[val.charCodeAt(i)])\n return false;\n }\n return true;\n}\n\n/**\n * True if val contains an invalid field-vchar\n * field-value = *( field-content / obs-fold )\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n *\n * checkInvalidHeaderChar() is currently designed to be inlinable by v8,\n * so take care when making changes to the implementation so that the source\n * code size does not exceed v8's default max_inlined_source_size setting.\n **/\nvar validHdrChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 48 - 63\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, // 112 - 127\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 128 ...\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // ... 255\n];\nfunction checkInvalidHeaderChar(val) {\n val += '';\n if (val.length < 1)\n return false;\n if (!validHdrChars[val.charCodeAt(0)])\n return true;\n if (val.length < 2)\n return false;\n if (!validHdrChars[val.charCodeAt(1)])\n return true;\n if (val.length < 3)\n return false;\n if (!validHdrChars[val.charCodeAt(2)])\n return true;\n if (val.length < 4)\n return false;\n if (!validHdrChars[val.charCodeAt(3)])\n return true;\n for (var i = 4; i < val.length; ++i) {\n if (!validHdrChars[val.charCodeAt(i)])\n return true;\n }\n return false;\n}\n\nmodule.exports = {\n _checkInvalidHeaderChar: checkInvalidHeaderChar,\n _checkIsHttpToken: checkIsHttpToken,\n chunkExpression: /(?:^|\\W)chunked(?:$|\\W)/i,\n continueExpression: /(?:^|\\W)100-continue(?:$|\\W)/i,\n CRLF: '\\r\\n',\n debug,\n freeParser,\n httpSocketSetup,\n methods,\n parsers\n};\n\n});", "pkgUrl": "(system)" }, { "id": "154", "url": "_http_outgoing.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst assert = require('assert').ok;\nconst Stream = require('stream');\nconst timers = require('timers');\nconst util = require('util');\nconst internalUtil = require('internal/util');\nconst Buffer = require('buffer').Buffer;\nconst common = require('_http_common');\nconst checkIsHttpToken = common._checkIsHttpToken;\nconst checkInvalidHeaderChar = common._checkInvalidHeaderChar;\nconst outHeadersKey = require('internal/http').outHeadersKey;\nconst async_id_symbol = process.binding('async_wrap').async_id_symbol;\nconst nextTick = require('internal/process/next_tick').nextTick;\n\nconst CRLF = common.CRLF;\nconst debug = common.debug;\n\nvar RE_FIELDS =\n /^(?:Connection|Transfer-Encoding|Content-Length|Date|Expect|Trailer|Upgrade)$/i;\nvar RE_CONN_VALUES = /(?:^|\\W)close|upgrade(?:$|\\W)/ig;\nvar RE_TE_CHUNKED = common.chunkExpression;\n\n// isCookieField performs a case-insensitive comparison of a provided string\n// against the word \"cookie.\" This method (at least as of V8 5.4) is faster than\n// the equivalent case-insensitive regexp, even if isCookieField does not get\n// inlined.\nfunction isCookieField(s) {\n if (s.length !== 6) return false;\n var ch = s.charCodeAt(0);\n if (ch !== 99 && ch !== 67) return false;\n ch = s.charCodeAt(1);\n if (ch !== 111 && ch !== 79) return false;\n ch = s.charCodeAt(2);\n if (ch !== 111 && ch !== 79) return false;\n ch = s.charCodeAt(3);\n if (ch !== 107 && ch !== 75) return false;\n ch = s.charCodeAt(4);\n if (ch !== 105 && ch !== 73) return false;\n ch = s.charCodeAt(5);\n if (ch !== 101 && ch !== 69) return false;\n return true;\n}\n\nvar dateCache;\nfunction utcDate() {\n if (!dateCache) {\n var d = new Date();\n dateCache = d.toUTCString();\n timers.enroll(utcDate, 1000 - d.getMilliseconds());\n timers._unrefActive(utcDate);\n }\n return dateCache;\n}\nutcDate._onTimeout = function _onTimeout() {\n dateCache = undefined;\n};\n\n\nfunction noopPendingOutput(amount) {}\n\n\nfunction OutgoingMessage() {\n Stream.call(this);\n\n // Queue that holds all currently pending data, until the response will be\n // assigned to the socket (until it will its turn in the HTTP pipeline).\n this.output = [];\n this.outputEncodings = [];\n this.outputCallbacks = [];\n\n // `outputSize` is an approximate measure of how much data is queued on this\n // response. `_onPendingData` will be invoked to update similar global\n // per-connection counter. That counter will be used to pause/unpause the\n // TCP socket and HTTP Parser and thus handle the backpressure.\n this.outputSize = 0;\n\n this.writable = true;\n\n this._last = false;\n this.upgrading = false;\n this.chunkedEncoding = false;\n this.shouldKeepAlive = true;\n this.useChunkedEncodingByDefault = true;\n this.sendDate = false;\n this._removedConnection = false;\n this._removedContLen = false;\n this._removedTE = false;\n\n this._contentLength = null;\n this._hasBody = true;\n this._trailer = '';\n\n this.finished = false;\n this._headerSent = false;\n\n this.socket = null;\n this.connection = null;\n this._header = null;\n this[outHeadersKey] = null;\n\n this._onPendingData = noopPendingOutput;\n}\nutil.inherits(OutgoingMessage, Stream);\n\n\nObject.defineProperty(OutgoingMessage.prototype, '_headers', {\n get: function() {\n return this.getHeaders();\n },\n set: function(val) {\n if (val == null) {\n this[outHeadersKey] = null;\n } else if (typeof val === 'object') {\n const headers = this[outHeadersKey] = {};\n const keys = Object.keys(val);\n for (var i = 0; i < keys.length; ++i) {\n const name = keys[i];\n headers[name.toLowerCase()] = [name, val[name]];\n }\n }\n }\n});\n\nObject.defineProperty(OutgoingMessage.prototype, '_headerNames', {\n get: function() {\n const headers = this[outHeadersKey];\n if (headers) {\n const out = Object.create(null);\n const keys = Object.keys(headers);\n for (var i = 0; i < keys.length; ++i) {\n const key = keys[i];\n const val = headers[key][0];\n out[key] = val;\n }\n return out;\n } else {\n return headers;\n }\n },\n set: function(val) {\n if (typeof val === 'object' && val !== null) {\n const headers = this[outHeadersKey];\n if (!headers)\n return;\n const keys = Object.keys(val);\n for (var i = 0; i < keys.length; ++i) {\n const header = headers[keys[i]];\n if (header)\n header[0] = val[keys[i]];\n }\n }\n }\n});\n\n\nOutgoingMessage.prototype._renderHeaders = function _renderHeaders() {\n if (this._header) {\n throw new Error('Can\\'t render headers after they are sent to the client');\n }\n\n var headersMap = this[outHeadersKey];\n if (!headersMap) return {};\n\n var headers = {};\n var keys = Object.keys(headersMap);\n\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n headers[headersMap[key][0]] = headersMap[key][1];\n }\n return headers;\n};\n\n\nexports.OutgoingMessage = OutgoingMessage;\n\n\nOutgoingMessage.prototype.setTimeout = function setTimeout(msecs, callback) {\n\n if (callback) {\n this.on('timeout', callback);\n }\n\n if (!this.socket) {\n this.once('socket', function(socket) {\n socket.setTimeout(msecs);\n });\n } else {\n this.socket.setTimeout(msecs);\n }\n return this;\n};\n\n\n// It's possible that the socket will be destroyed, and removed from\n// any messages, before ever calling this. In that case, just skip\n// it, since something else is destroying this connection anyway.\nOutgoingMessage.prototype.destroy = function destroy(error) {\n if (this.socket)\n this.socket.destroy(error);\n else\n this.once('socket', function(socket) {\n socket.destroy(error);\n });\n};\n\n\n// This abstract either writing directly to the socket or buffering it.\nOutgoingMessage.prototype._send = function _send(data, encoding, callback) {\n // This is a shameful hack to get the headers and first body chunk onto\n // the same packet. Future versions of Node are going to take care of\n // this at a lower level and in a more general way.\n if (!this._headerSent) {\n if (typeof data === 'string' &&\n (encoding === 'utf8' || encoding === 'latin1' || !encoding)) {\n data = this._header + data;\n } else {\n var header = this._header;\n if (this.output.length === 0) {\n this.output = [header];\n this.outputEncodings = ['latin1'];\n this.outputCallbacks = [null];\n } else {\n this.output.unshift(header);\n this.outputEncodings.unshift('latin1');\n this.outputCallbacks.unshift(null);\n }\n this.outputSize += header.length;\n this._onPendingData(header.length);\n }\n this._headerSent = true;\n }\n return this._writeRaw(data, encoding, callback);\n};\n\n\nOutgoingMessage.prototype._writeRaw = _writeRaw;\nfunction _writeRaw(data, encoding, callback) {\n const conn = this.connection;\n if (conn && conn.destroyed) {\n // The socket was destroyed. If we're still trying to write to it,\n // then we haven't gotten the 'close' event yet.\n return false;\n }\n\n if (typeof encoding === 'function') {\n callback = encoding;\n encoding = null;\n }\n\n if (conn && conn._httpMessage === this && conn.writable && !conn.destroyed) {\n // There might be pending data in the this.output buffer.\n if (this.output.length) {\n this._flushOutput(conn);\n } else if (!data.length) {\n if (typeof callback === 'function') {\n nextTick(this.socket[async_id_symbol], callback);\n }\n return true;\n }\n // Directly write to socket.\n return conn.write(data, encoding, callback);\n }\n // Buffer, as long as we're not destroyed.\n this.output.push(data);\n this.outputEncodings.push(encoding);\n this.outputCallbacks.push(callback);\n this.outputSize += data.length;\n this._onPendingData(data.length);\n return false;\n}\n\n\nOutgoingMessage.prototype._storeHeader = _storeHeader;\nfunction _storeHeader(firstLine, headers) {\n // firstLine in the case of request is: 'GET /index.html HTTP/1.1\\r\\n'\n // in the case of response it is: 'HTTP/1.1 200 OK\\r\\n'\n var state = {\n connection: false,\n connUpgrade: false,\n contLen: false,\n te: false,\n date: false,\n expect: false,\n trailer: false,\n upgrade: false,\n header: firstLine\n };\n\n var field;\n var key;\n var value;\n var i;\n var j;\n if (headers === this[outHeadersKey]) {\n for (key in headers) {\n var entry = headers[key];\n field = entry[0];\n value = entry[1];\n\n if (value instanceof Array) {\n if (value.length < 2 || !isCookieField(field)) {\n for (j = 0; j < value.length; j++)\n storeHeader(this, state, field, value[j], false);\n continue;\n }\n value = value.join('; ');\n }\n storeHeader(this, state, field, value, false);\n }\n } else if (headers instanceof Array) {\n for (i = 0; i < headers.length; i++) {\n field = headers[i][0];\n value = headers[i][1];\n\n if (value instanceof Array) {\n for (j = 0; j < value.length; j++) {\n storeHeader(this, state, field, value[j], true);\n }\n } else {\n storeHeader(this, state, field, value, true);\n }\n }\n } else if (headers) {\n var keys = Object.keys(headers);\n for (i = 0; i < keys.length; i++) {\n field = keys[i];\n value = headers[field];\n\n if (value instanceof Array) {\n if (value.length < 2 || !isCookieField(field)) {\n for (j = 0; j < value.length; j++)\n storeHeader(this, state, field, value[j], true);\n continue;\n }\n value = value.join('; ');\n }\n storeHeader(this, state, field, value, true);\n }\n }\n\n // Are we upgrading the connection?\n if (state.connUpgrade && state.upgrade)\n this.upgrading = true;\n\n // Date header\n if (this.sendDate && !state.date) {\n state.header += 'Date: ' + utcDate() + CRLF;\n }\n\n // Force the connection to close when the response is a 204 No Content or\n // a 304 Not Modified and the user has set a \"Transfer-Encoding: chunked\"\n // header.\n //\n // RFC 2616 mandates that 204 and 304 responses MUST NOT have a body but\n // node.js used to send out a zero chunk anyway to accommodate clients\n // that don't have special handling for those responses.\n //\n // It was pointed out that this might confuse reverse proxies to the point\n // of creating security liabilities, so suppress the zero chunk and force\n // the connection to close.\n var statusCode = this.statusCode;\n if ((statusCode === 204 || statusCode === 304) && this.chunkedEncoding) {\n debug(statusCode + ' response should not use chunked encoding,' +\n ' closing connection.');\n this.chunkedEncoding = false;\n this.shouldKeepAlive = false;\n }\n\n // keep-alive logic\n if (this._removedConnection) {\n this._last = true;\n this.shouldKeepAlive = false;\n } else if (!state.connection) {\n var shouldSendKeepAlive = this.shouldKeepAlive &&\n (state.contLen || this.useChunkedEncodingByDefault || this.agent);\n if (shouldSendKeepAlive) {\n state.header += 'Connection: keep-alive\\r\\n';\n } else {\n this._last = true;\n state.header += 'Connection: close\\r\\n';\n }\n }\n\n if (!state.contLen && !state.te) {\n if (!this._hasBody) {\n // Make sure we don't end the 0\\r\\n\\r\\n at the end of the message.\n this.chunkedEncoding = false;\n } else if (!this.useChunkedEncodingByDefault) {\n this._last = true;\n } else {\n if (!state.trailer &&\n !this._removedContLen &&\n typeof this._contentLength === 'number') {\n state.header += 'Content-Length: ' + this._contentLength + CRLF;\n } else if (!this._removedTE) {\n state.header += 'Transfer-Encoding: chunked\\r\\n';\n this.chunkedEncoding = true;\n } else {\n // We should only be able to get here if both Content-Length and\n // Transfer-Encoding are removed by the user.\n // See: test/parallel/test-http-remove-header-stays-removed.js\n debug('Both Content-Length and Transfer-Encoding are removed');\n }\n }\n }\n\n this._header = state.header + CRLF;\n this._headerSent = false;\n\n // wait until the first body chunk, or close(), is sent to flush,\n // UNLESS we're sending Expect: 100-continue.\n if (state.expect) this._send('');\n}\n\nfunction storeHeader(self, state, key, value, validate) {\n if (validate) {\n if (typeof key !== 'string' || !key || !checkIsHttpToken(key)) {\n throw new TypeError(\n 'Header name must be a valid HTTP Token [\"' + key + '\"]');\n }\n if (value === undefined) {\n throw new Error('Header \"%s\" value must not be undefined', key);\n } else if (checkInvalidHeaderChar(value)) {\n debug('Header \"%s\" contains invalid characters', key);\n throw new TypeError('The header content contains invalid characters');\n }\n }\n state.header += key + ': ' + escapeHeaderValue(value) + CRLF;\n matchHeader(self, state, key, value);\n}\n\nfunction matchConnValue(self, state, value) {\n var sawClose = false;\n var m = RE_CONN_VALUES.exec(value);\n while (m) {\n if (m[0].length === 5)\n sawClose = true;\n else\n state.connUpgrade = true;\n m = RE_CONN_VALUES.exec(value);\n }\n if (sawClose)\n self._last = true;\n else\n self.shouldKeepAlive = true;\n}\n\nfunction matchHeader(self, state, field, value) {\n var m = RE_FIELDS.exec(field);\n if (!m)\n return;\n var len = m[0].length;\n if (len === 10) {\n state.connection = true;\n matchConnValue(self, state, value);\n } else if (len === 17) {\n state.te = true;\n if (RE_TE_CHUNKED.test(value)) self.chunkedEncoding = true;\n } else if (len === 14) {\n state.contLen = true;\n } else if (len === 4) {\n state.date = true;\n } else if (len === 6) {\n state.expect = true;\n } else if (len === 7) {\n var ch = m[0].charCodeAt(0);\n if (ch === 85 || ch === 117)\n state.upgrade = true;\n else\n state.trailer = true;\n }\n}\n\nfunction validateHeader(msg, name, value) {\n if (typeof name !== 'string' || !name || !checkIsHttpToken(name))\n throw new TypeError(\n 'Header name must be a valid HTTP Token [\"' + name + '\"]');\n if (value === undefined)\n throw new Error('\"value\" required in setHeader(\"' + name + '\", value)');\n if (msg._header)\n throw new Error('Can\\'t set headers after they are sent.');\n if (checkInvalidHeaderChar(value)) {\n debug('Header \"%s\" contains invalid characters', name);\n throw new TypeError('The header content contains invalid characters');\n }\n}\nOutgoingMessage.prototype.setHeader = function setHeader(name, value) {\n validateHeader(this, name, value);\n\n if (!this[outHeadersKey])\n this[outHeadersKey] = {};\n\n const key = name.toLowerCase();\n this[outHeadersKey][key] = [name, value];\n\n switch (key.length) {\n case 10:\n if (key === 'connection')\n this._removedConnection = false;\n break;\n case 14:\n if (key === 'content-length')\n this._removedContLen = false;\n break;\n case 17:\n if (key === 'transfer-encoding')\n this._removedTE = false;\n break;\n }\n};\n\n\nOutgoingMessage.prototype.getHeader = function getHeader(name) {\n if (typeof name !== 'string') {\n throw new TypeError('\"name\" argument must be a string');\n }\n\n if (!this[outHeadersKey]) return;\n\n var entry = this[outHeadersKey][name.toLowerCase()];\n if (!entry)\n return;\n return entry[1];\n};\n\n\n// Returns an array of the names of the current outgoing headers.\nOutgoingMessage.prototype.getHeaderNames = function getHeaderNames() {\n return (this[outHeadersKey] ? Object.keys(this[outHeadersKey]) : []);\n};\n\n\n// Returns a shallow copy of the current outgoing headers.\nOutgoingMessage.prototype.getHeaders = function getHeaders() {\n const headers = this[outHeadersKey];\n const ret = Object.create(null);\n if (headers) {\n const keys = Object.keys(headers);\n for (var i = 0; i < keys.length; ++i) {\n const key = keys[i];\n const val = headers[key][1];\n ret[key] = val;\n }\n }\n return ret;\n};\n\n\nOutgoingMessage.prototype.hasHeader = function hasHeader(name) {\n if (typeof name !== 'string') {\n throw new TypeError('\"name\" argument must be a string');\n }\n\n return !!(this[outHeadersKey] && this[outHeadersKey][name.toLowerCase()]);\n};\n\n\nOutgoingMessage.prototype.removeHeader = function removeHeader(name) {\n if (typeof name !== 'string') {\n throw new TypeError('\"name\" argument must be a string');\n }\n\n if (this._header) {\n throw new Error('Can\\'t remove headers after they are sent');\n }\n\n var key = name.toLowerCase();\n\n switch (key.length) {\n case 10:\n if (key === 'connection')\n this._removedConnection = true;\n break;\n case 14:\n if (key === 'content-length')\n this._removedContLen = true;\n break;\n case 17:\n if (key === 'transfer-encoding')\n this._removedTE = true;\n break;\n case 4:\n if (key === 'date')\n this.sendDate = false;\n break;\n }\n\n if (this[outHeadersKey]) {\n delete this[outHeadersKey][key];\n }\n};\n\n\nOutgoingMessage.prototype._implicitHeader = function _implicitHeader() {\n throw new Error('_implicitHeader() method is not implemented');\n};\n\nObject.defineProperty(OutgoingMessage.prototype, 'headersSent', {\n configurable: true,\n enumerable: true,\n get: function() { return !!this._header; }\n});\n\n\nconst crlf_buf = Buffer.from('\\r\\n');\nOutgoingMessage.prototype.write = function write(chunk, encoding, callback) {\n return write_(this, chunk, encoding, callback, false);\n};\n\nfunction write_(msg, chunk, encoding, callback, fromEnd) {\n if (msg.finished) {\n var err = new Error('write after end');\n nextTick(msg.socket[async_id_symbol],\n writeAfterEndNT.bind(msg),\n err,\n callback);\n\n return true;\n }\n\n if (!msg._header) {\n msg._implicitHeader();\n }\n\n if (!msg._hasBody) {\n debug('This type of response MUST NOT have a body. ' +\n 'Ignoring write() calls.');\n return true;\n }\n\n if (!fromEnd && typeof chunk !== 'string' && !(chunk instanceof Buffer)) {\n throw new TypeError('First argument must be a string or Buffer');\n }\n\n\n // If we get an empty string or buffer, then just do nothing, and\n // signal the user to keep writing.\n if (chunk.length === 0) return true;\n\n var len, ret;\n if (msg.chunkedEncoding) {\n if (typeof chunk === 'string')\n len = Buffer.byteLength(chunk, encoding);\n else\n len = chunk.length;\n\n if (msg.connection && !msg.connection.corked) {\n msg.connection.cork();\n process.nextTick(connectionCorkNT, msg.connection);\n }\n\n msg._send(len.toString(16), 'latin1', null);\n msg._send(crlf_buf, null, null);\n msg._send(chunk, encoding, null);\n ret = msg._send(crlf_buf, null, callback);\n } else {\n ret = msg._send(chunk, encoding, callback);\n }\n\n debug('write ret = ' + ret);\n return ret;\n}\n\n\nfunction writeAfterEndNT(err, callback) {\n this.emit('error', err);\n if (callback) callback(err);\n}\n\n\nfunction connectionCorkNT(conn) {\n conn.uncork();\n}\n\n\nfunction escapeHeaderValue(value) {\n // Protect against response splitting. The regex test is there to\n // minimize the performance impact in the common case.\n return /[\\r\\n]/.test(value) ? value.replace(/[\\r\\n]+[ \\t]*/g, '') : value;\n}\n\n\nOutgoingMessage.prototype.addTrailers = function addTrailers(headers) {\n this._trailer = '';\n var keys = Object.keys(headers);\n var isArray = Array.isArray(headers);\n var field, value;\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n if (isArray) {\n field = headers[key][0];\n value = headers[key][1];\n } else {\n field = key;\n value = headers[key];\n }\n if (typeof field !== 'string' || !field || !checkIsHttpToken(field)) {\n throw new TypeError(\n 'Trailer name must be a valid HTTP Token [\"' + field + '\"]');\n }\n if (checkInvalidHeaderChar(value)) {\n debug('Trailer \"%s\" contains invalid characters', field);\n throw new TypeError('The trailer content contains invalid characters');\n }\n this._trailer += field + ': ' + escapeHeaderValue(value) + CRLF;\n }\n};\n\nfunction onFinish(outmsg) {\n outmsg.emit('finish');\n}\n\nOutgoingMessage.prototype.end = function end(chunk, encoding, callback) {\n if (typeof chunk === 'function') {\n callback = chunk;\n chunk = null;\n } else if (typeof encoding === 'function') {\n callback = encoding;\n encoding = null;\n }\n\n if (this.finished) {\n return false;\n }\n\n var uncork;\n if (chunk) {\n if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) {\n throw new TypeError('First argument must be a string or Buffer');\n }\n if (!this._header) {\n if (typeof chunk === 'string')\n this._contentLength = Buffer.byteLength(chunk, encoding);\n else\n this._contentLength = chunk.length;\n }\n if (this.connection) {\n this.connection.cork();\n uncork = true;\n }\n write_(this, chunk, encoding, null, true);\n } else if (!this._header) {\n this._contentLength = 0;\n this._implicitHeader();\n }\n\n if (typeof callback === 'function')\n this.once('finish', callback);\n\n var finish = onFinish.bind(undefined, this);\n\n var ret;\n if (this._hasBody && this.chunkedEncoding) {\n ret = this._send('0\\r\\n' + this._trailer + '\\r\\n', 'latin1', finish);\n } else {\n // Force a flush, HACK.\n ret = this._send('', 'latin1', finish);\n }\n\n if (uncork)\n this.connection.uncork();\n\n this.finished = true;\n\n // There is the first message on the outgoing queue, and we've sent\n // everything to the socket.\n debug('outgoing message end.');\n if (this.output.length === 0 &&\n this.connection &&\n this.connection._httpMessage === this) {\n this._finish();\n }\n\n return ret;\n};\n\n\nOutgoingMessage.prototype._finish = function _finish() {\n assert(this.connection);\n this.emit('prefinish');\n};\n\n\n// This logic is probably a bit confusing. Let me explain a bit:\n//\n// In both HTTP servers and clients it is possible to queue up several\n// outgoing messages. This is easiest to imagine in the case of a client.\n// Take the following situation:\n//\n// req1 = client.request('GET', '/');\n// req2 = client.request('POST', '/');\n//\n// When the user does\n//\n// req2.write('hello world\\n');\n//\n// it's possible that the first request has not been completely flushed to\n// the socket yet. Thus the outgoing messages need to be prepared to queue\n// up data internally before sending it on further to the socket's queue.\n//\n// This function, outgoingFlush(), is called by both the Server and Client\n// to attempt to flush any pending messages out to the socket.\nOutgoingMessage.prototype._flush = function _flush() {\n var socket = this.socket;\n var ret;\n\n if (socket && socket.writable) {\n // There might be remaining data in this.output; write it out\n ret = this._flushOutput(socket);\n\n if (this.finished) {\n // This is a queue to the server or client to bring in the next this.\n this._finish();\n } else if (ret) {\n // This is necessary to prevent https from breaking\n this.emit('drain');\n }\n }\n};\n\nOutgoingMessage.prototype._flushOutput = function _flushOutput(socket) {\n var ret;\n var outputLength = this.output.length;\n if (outputLength <= 0)\n return ret;\n\n var output = this.output;\n var outputEncodings = this.outputEncodings;\n var outputCallbacks = this.outputCallbacks;\n socket.cork();\n for (var i = 0; i < outputLength; i++) {\n ret = socket.write(output[i], outputEncodings[i], outputCallbacks[i]);\n }\n socket.uncork();\n\n this.output = [];\n this.outputEncodings = [];\n this.outputCallbacks = [];\n this._onPendingData(-this.outputSize);\n this.outputSize = 0;\n\n return ret;\n};\n\n\nOutgoingMessage.prototype.flushHeaders = function flushHeaders() {\n if (!this._header) {\n this._implicitHeader();\n }\n\n // Force-flush the headers.\n this._send('');\n};\n\nOutgoingMessage.prototype.flush = internalUtil.deprecate(function() {\n this.flushHeaders();\n}, 'OutgoingMessage.flush is deprecated. Use flushHeaders instead.', 'DEP0001');\n\n\nmodule.exports = {\n OutgoingMessage\n};\n\n});", "pkgUrl": "(system)" }, { "id": "156", "url": "/usr/local/lib/node_modules/npm/lib/config/defaults.js", "source": "(function (exports, require, module, __filename, __dirname) { // defaults, types, and shorthands.\n\nvar path = require('path')\nvar url = require('url')\nvar Stream = require('stream').Stream\nvar semver = require('semver')\nvar stableFamily = semver.parse(process.version)\nvar nopt = require('nopt')\nvar os = require('os')\nvar osenv = require('osenv')\nvar umask = require('../utils/umask')\nvar hasUnicode = require('has-unicode')\n\nvar log\ntry {\n log = require('npmlog')\n} catch (er) {\n var util = require('util')\n log = { warn: function (m) {\n console.warn(m + ' ' + util.format.apply(util, [].slice.call(arguments, 1)))\n } }\n}\n\nexports.Umask = Umask\nfunction Umask () {}\nfunction validateUmask (data, k, val) {\n return umask.validate(data, k, val)\n}\n\nfunction validateSemver (data, k, val) {\n if (!semver.valid(val)) return false\n data[k] = semver.valid(val)\n}\n\nfunction validateStream (data, k, val) {\n if (!(val instanceof Stream)) return false\n data[k] = val\n}\n\nnopt.typeDefs.semver = { type: semver, validate: validateSemver }\nnopt.typeDefs.Stream = { type: Stream, validate: validateStream }\nnopt.typeDefs.Umask = { type: Umask, validate: validateUmask }\n\nnopt.invalidHandler = function (k, val, type) {\n log.warn('invalid config', k + '=' + JSON.stringify(val))\n\n if (Array.isArray(type)) {\n if (type.indexOf(url) !== -1) type = url\n else if (type.indexOf(path) !== -1) type = path\n }\n\n switch (type) {\n case Umask:\n log.warn('invalid config', 'Must be umask, octal number in range 0000..0777')\n break\n case url:\n log.warn('invalid config', \"Must be a full url with 'http://'\")\n break\n case path:\n log.warn('invalid config', 'Must be a valid filesystem path')\n break\n case Number:\n log.warn('invalid config', 'Must be a numeric value')\n break\n case Stream:\n log.warn('invalid config', 'Must be an instance of the Stream class')\n break\n }\n}\n\nif (!stableFamily || (+stableFamily.minor % 2)) stableFamily = null\nelse stableFamily = stableFamily.major + '.' + stableFamily.minor\n\nvar defaults\n\nvar temp = osenv.tmpdir()\nvar home = osenv.home()\n\nvar uidOrPid = process.getuid ? process.getuid() : process.pid\n\nif (home) process.env.HOME = home\nelse home = path.resolve(temp, 'npm-' + uidOrPid)\n\nvar cacheExtra = process.platform === 'win32' ? 'npm-cache' : '.npm'\nvar cacheRoot = process.platform === 'win32' && process.env.APPDATA || home\nvar cache = path.resolve(cacheRoot, cacheExtra)\n\nvar globalPrefix\nObject.defineProperty(exports, 'defaults', {get: function () {\n if (defaults) return defaults\n\n if (process.env.PREFIX) {\n globalPrefix = process.env.PREFIX\n } else if (process.platform === 'win32') {\n // c:\\node\\node.exe --> prefix=c:\\node\\\n globalPrefix = path.dirname(process.execPath)\n } else {\n // /usr/local/bin/node --> prefix=/usr/local\n globalPrefix = path.dirname(path.dirname(process.execPath))\n\n // destdir only is respected on Unix\n if (process.env.DESTDIR) {\n globalPrefix = path.join(process.env.DESTDIR, globalPrefix)\n }\n }\n\n defaults = {\n access: null,\n 'allow-same-version': false,\n 'always-auth': false,\n also: null,\n 'auth-type': 'legacy',\n\n 'bin-links': true,\n browser: null,\n\n ca: null,\n cafile: null,\n\n cache: cache,\n\n 'cache-lock-stale': 60000,\n 'cache-lock-retries': 10,\n 'cache-lock-wait': 10000,\n\n 'cache-max': Infinity,\n 'cache-min': 10,\n\n cert: null,\n\n color: true,\n depth: Infinity,\n description: true,\n dev: false,\n 'dry-run': false,\n editor: osenv.editor(),\n 'engine-strict': false,\n force: false,\n\n 'fetch-retries': 2,\n 'fetch-retry-factor': 10,\n 'fetch-retry-mintimeout': 10000,\n 'fetch-retry-maxtimeout': 60000,\n\n git: 'git',\n 'git-tag-version': true,\n\n global: false,\n globalconfig: path.resolve(globalPrefix, 'etc', 'npmrc'),\n 'global-style': false,\n group: process.platform === 'win32' ? 0\n : process.env.SUDO_GID || (process.getgid && process.getgid()),\n 'ham-it-up': false,\n heading: 'npm',\n 'if-present': false,\n 'ignore-prepublish': false,\n 'ignore-scripts': false,\n 'init-module': path.resolve(home, '.npm-init.js'),\n 'init-author-name': '',\n 'init-author-email': '',\n 'init-author-url': '',\n 'init-version': '1.0.0',\n 'init-license': 'ISC',\n json: false,\n key: null,\n 'legacy-bundling': false,\n link: false,\n 'local-address': undefined,\n loglevel: 'notice',\n logstream: process.stderr,\n 'logs-max': 10,\n long: false,\n maxsockets: 50,\n message: '%s',\n 'metrics-registry': null,\n 'node-version': process.version,\n 'offline': false,\n 'onload-script': false,\n only: null,\n optional: true,\n 'package-lock': true,\n parseable: false,\n 'prefer-offline': false,\n 'prefer-online': false,\n prefix: globalPrefix,\n production: process.env.NODE_ENV === 'production',\n 'progress': !process.env.TRAVIS && !process.env.CI,\n 'proprietary-attribs': true,\n proxy: null,\n 'https-proxy': null,\n 'user-agent': 'npm/{npm-version} ' +\n 'node/{node-version} ' +\n '{platform} ' +\n '{arch}',\n 'rebuild-bundle': true,\n registry: 'https://registry.npmjs.org/',\n rollback: true,\n save: true,\n 'save-bundle': false,\n 'save-dev': false,\n 'save-exact': false,\n 'save-optional': false,\n 'save-prefix': '^',\n 'save-prod': false,\n scope: '',\n 'scripts-prepend-node-path': 'warn-only',\n searchopts: '',\n searchexclude: null,\n searchlimit: 20,\n searchstaleness: 15 * 60,\n 'send-metrics': false,\n shell: osenv.shell(),\n shrinkwrap: true,\n 'sign-git-tag': false,\n 'sso-poll-frequency': 500,\n 'sso-type': 'oauth',\n 'strict-ssl': true,\n tag: 'latest',\n 'tag-version-prefix': 'v',\n timing: false,\n tmp: temp,\n unicode: hasUnicode(),\n 'unsafe-perm': process.platform === 'win32' ||\n process.platform === 'cygwin' ||\n !(process.getuid && process.setuid &&\n process.getgid && process.setgid) ||\n process.getuid() !== 0,\n usage: false,\n user: process.platform === 'win32' ? 0 : 'nobody',\n userconfig: path.resolve(home, '.npmrc'),\n umask: process.umask ? process.umask() : umask.fromString('022'),\n version: false,\n versions: false,\n viewer: process.platform === 'win32' ? 'browser' : 'man',\n\n _exit: true\n }\n\n return defaults\n}})\n\nexports.types = {\n access: [null, 'restricted', 'public'],\n 'allow-same-version': Boolean,\n 'always-auth': Boolean,\n also: [null, 'dev', 'development'],\n 'auth-type': ['legacy', 'sso', 'saml', 'oauth'],\n 'bin-links': Boolean,\n browser: [null, String],\n ca: [null, String, Array],\n cafile: path,\n cache: path,\n 'cache-lock-stale': Number,\n 'cache-lock-retries': Number,\n 'cache-lock-wait': Number,\n 'cache-max': Number,\n 'cache-min': Number,\n cert: [null, String],\n color: ['always', Boolean],\n depth: Number,\n description: Boolean,\n dev: Boolean,\n 'dry-run': Boolean,\n editor: String,\n 'engine-strict': Boolean,\n force: Boolean,\n 'fetch-retries': Number,\n 'fetch-retry-factor': Number,\n 'fetch-retry-mintimeout': Number,\n 'fetch-retry-maxtimeout': Number,\n git: String,\n 'git-tag-version': Boolean,\n global: Boolean,\n globalconfig: path,\n 'global-style': Boolean,\n group: [Number, String],\n 'https-proxy': [null, url],\n 'user-agent': String,\n 'ham-it-up': Boolean,\n 'heading': String,\n 'if-present': Boolean,\n 'ignore-prepublish': Boolean,\n 'ignore-scripts': Boolean,\n 'init-module': path,\n 'init-author-name': String,\n 'init-author-email': String,\n 'init-author-url': ['', url],\n 'init-license': String,\n 'init-version': semver,\n json: Boolean,\n key: [null, String],\n 'legacy-bundling': Boolean,\n link: Boolean,\n // local-address must be listed as an IP for a local network interface\n // must be IPv4 due to node bug\n 'local-address': getLocalAddresses(),\n loglevel: ['silent', 'error', 'warn', 'notice', 'http', 'timing', 'info', 'verbose', 'silly'],\n logstream: Stream,\n 'logs-max': Number,\n long: Boolean,\n maxsockets: Number,\n message: String,\n 'metrics-registry': [null, String],\n 'node-version': [null, semver],\n offline: Boolean,\n 'onload-script': [null, String],\n only: [null, 'dev', 'development', 'prod', 'production'],\n optional: Boolean,\n 'package-lock': Boolean,\n parseable: Boolean,\n 'prefer-offline': Boolean,\n 'prefer-online': Boolean,\n prefix: path,\n production: Boolean,\n progress: Boolean,\n 'proprietary-attribs': Boolean,\n proxy: [null, false, url], // allow proxy to be disabled explicitly\n 'rebuild-bundle': Boolean,\n registry: [null, url],\n rollback: Boolean,\n save: Boolean,\n 'save-bundle': Boolean,\n 'save-dev': Boolean,\n 'save-exact': Boolean,\n 'save-optional': Boolean,\n 'save-prefix': String,\n 'save-prod': Boolean,\n scope: String,\n 'scripts-prepend-node-path': [false, true, 'auto', 'warn-only'],\n searchopts: String,\n searchexclude: [null, String],\n searchlimit: Number,\n searchstaleness: Number,\n 'send-metrics': Boolean,\n shell: String,\n shrinkwrap: Boolean,\n 'sign-git-tag': Boolean,\n 'sso-poll-frequency': Number,\n 'sso-type': [null, 'oauth', 'saml'],\n 'strict-ssl': Boolean,\n tag: String,\n timing: Boolean,\n tmp: path,\n unicode: Boolean,\n 'unsafe-perm': Boolean,\n usage: Boolean,\n user: [Number, String],\n userconfig: path,\n umask: Umask,\n version: Boolean,\n 'tag-version-prefix': String,\n versions: Boolean,\n viewer: String,\n _exit: Boolean\n}\n\nfunction getLocalAddresses () {\n var interfaces\n // #8094: some environments require elevated permissions to enumerate\n // interfaces, and synchronously throw EPERM when run without\n // elevated privileges\n try {\n interfaces = os.networkInterfaces()\n } catch (e) {\n interfaces = {}\n }\n\n return Object.keys(interfaces).map(function (nic) {\n return interfaces[nic].filter(function (addr) {\n return addr.family === 'IPv4'\n })\n .map(function (addr) {\n return addr.address\n })\n }).reduce(function (curr, next) {\n return curr.concat(next)\n }, []).concat(undefined)\n}\n\nexports.shorthands = {\n s: ['--loglevel', 'silent'],\n d: ['--loglevel', 'info'],\n dd: ['--loglevel', 'verbose'],\n ddd: ['--loglevel', 'silly'],\n noreg: ['--no-registry'],\n N: ['--no-registry'],\n reg: ['--registry'],\n 'no-reg': ['--no-registry'],\n silent: ['--loglevel', 'silent'],\n verbose: ['--loglevel', 'verbose'],\n quiet: ['--loglevel', 'warn'],\n q: ['--loglevel', 'warn'],\n h: ['--usage'],\n H: ['--usage'],\n '?': ['--usage'],\n help: ['--usage'],\n v: ['--version'],\n f: ['--force'],\n desc: ['--description'],\n 'no-desc': ['--no-description'],\n 'local': ['--no-global'],\n l: ['--long'],\n m: ['--message'],\n p: ['--parseable'],\n porcelain: ['--parseable'],\n g: ['--global'],\n S: ['--save'],\n D: ['--save-dev'],\n E: ['--save-exact'],\n O: ['--save-optional'],\n P: ['--save-prod'],\n y: ['--yes'],\n n: ['--no-yes'],\n B: ['--save-bundle'],\n C: ['--prefix']\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "159", "url": "/usr/local/lib/node_modules/npm/node_modules/osenv/osenv.js", "source": "(function (exports, require, module, __filename, __dirname) { var isWindows = process.platform === 'win32'\nvar path = require('path')\nvar exec = require('child_process').exec\nvar osTmpdir = require('os-tmpdir')\nvar osHomedir = require('os-homedir')\n\n// looking up envs is a bit costly.\n// Also, sometimes we want to have a fallback\n// Pass in a callback to wait for the fallback on failures\n// After the first lookup, always returns the same thing.\nfunction memo (key, lookup, fallback) {\n var fell = false\n var falling = false\n exports[key] = function (cb) {\n var val = lookup()\n if (!val && !fell && !falling && fallback) {\n fell = true\n falling = true\n exec(fallback, function (er, output, stderr) {\n falling = false\n if (er) return // oh well, we tried\n val = output.trim()\n })\n }\n exports[key] = function (cb) {\n if (cb) process.nextTick(cb.bind(null, null, val))\n return val\n }\n if (cb && !falling) process.nextTick(cb.bind(null, null, val))\n return val\n }\n}\n\nmemo('user', function () {\n return ( isWindows\n ? process.env.USERDOMAIN + '\\\\' + process.env.USERNAME\n : process.env.USER\n )\n}, 'whoami')\n\nmemo('prompt', function () {\n return isWindows ? process.env.PROMPT : process.env.PS1\n})\n\nmemo('hostname', function () {\n return isWindows ? process.env.COMPUTERNAME : process.env.HOSTNAME\n}, 'hostname')\n\nmemo('tmpdir', function () {\n return osTmpdir()\n})\n\nmemo('home', function () {\n return osHomedir()\n})\n\nmemo('path', function () {\n return (process.env.PATH ||\n process.env.Path ||\n process.env.path).split(isWindows ? ';' : ':')\n})\n\nmemo('editor', function () {\n return process.env.EDITOR ||\n process.env.VISUAL ||\n (isWindows ? 'notepad.exe' : 'vi')\n})\n\nmemo('shell', function () {\n return isWindows ? process.env.ComSpec || 'cmd'\n : process.env.SHELL || 'bash'\n})\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/osenv" }, { "id": "160", "url": "/usr/local/lib/node_modules/npm/node_modules/osenv/node_modules/os-tmpdir/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nvar isWindows = process.platform === 'win32';\nvar trailingSlashRe = isWindows ? /[^:]\\\\$/ : /.\\/$/;\n\n// https://github.com/nodejs/node/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43\nmodule.exports = function () {\n\tvar path;\n\n\tif (isWindows) {\n\t\tpath = process.env.TEMP ||\n\t\t\tprocess.env.TMP ||\n\t\t\t(process.env.SystemRoot || process.env.windir) + '\\\\temp';\n\t} else {\n\t\tpath = process.env.TMPDIR ||\n\t\t\tprocess.env.TMP ||\n\t\t\tprocess.env.TEMP ||\n\t\t\t'/tmp';\n\t}\n\n\tif (trailingSlashRe.test(path)) {\n\t\tpath = path.slice(0, -1);\n\t}\n\n\treturn path;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/osenv/node_modules/os-tmpdir" }, { "id": "7", "url": "native string.js", "pkgUrl": "(system)" }, { "id": "168", "url": "/usr/local/lib/node_modules/npm/lib/config/load-prefix.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = loadPrefix\n\nvar findPrefix = require('./find-prefix.js')\nvar path = require('path')\n\nfunction loadPrefix (cb) {\n var cli = this.list[0]\n\n Object.defineProperty(this, 'prefix',\n {\n set: function (prefix) {\n var g = this.get('global')\n this[g ? 'globalPrefix' : 'localPrefix'] = prefix\n }.bind(this),\n get: function () {\n var g = this.get('global')\n return g ? this.globalPrefix : this.localPrefix\n }.bind(this),\n enumerable: true\n })\n\n Object.defineProperty(this, 'globalPrefix',\n {\n set: function (prefix) {\n this.set('prefix', prefix)\n }.bind(this),\n get: function () {\n return path.resolve(this.get('prefix'))\n }.bind(this),\n enumerable: true\n })\n\n var p\n Object.defineProperty(this, 'localPrefix',\n { set: function (prefix) { p = prefix },\n get: function () { return p },\n enumerable: true })\n\n // try to guess at a good node_modules location.\n // If we are *explicitly* given a prefix on the cli, then\n // always use that. otherwise, infer local prefix from cwd.\n if (Object.prototype.hasOwnProperty.call(cli, 'prefix')) {\n p = path.resolve(cli.prefix)\n process.nextTick(cb)\n } else {\n findPrefix(process.cwd(), function (er, found) {\n p = found\n cb(er)\n })\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "174", "url": "/usr/local/lib/node_modules/npm/lib/config/get-credentials-by-uri.js", "source": "(function (exports, require, module, __filename, __dirname) { var assert = require('assert')\n\nvar toNerfDart = require('./nerf-dart.js')\n\nmodule.exports = getCredentialsByURI\n\nfunction getCredentialsByURI (uri) {\n assert(uri && typeof uri === 'string', 'registry URL is required')\n var nerfed = toNerfDart(uri)\n var defnerf = toNerfDart(this.get('registry'))\n\n // hidden class micro-optimization\n var c = {\n scope: nerfed,\n token: undefined,\n password: undefined,\n username: undefined,\n email: undefined,\n auth: undefined,\n alwaysAuth: undefined\n }\n\n // used to override scope matching for tokens as well as legacy auth\n if (this.get(nerfed + ':always-auth') !== undefined) {\n var val = this.get(nerfed + ':always-auth')\n c.alwaysAuth = val === 'false' ? false : !!val\n } else if (this.get('always-auth') !== undefined) {\n c.alwaysAuth = this.get('always-auth')\n }\n\n if (this.get(nerfed + ':_authToken')) {\n c.token = this.get(nerfed + ':_authToken')\n // the bearer token is enough, don't confuse things\n return c\n }\n\n // Handle the old-style _auth= style for the default\n // registry, if set.\n //\n // XXX(isaacs): Remove when npm 1.4 is no longer relevant\n var authDef = this.get('_auth')\n var userDef = this.get('username')\n var passDef = this.get('_password')\n if (authDef && !(userDef && passDef)) {\n authDef = new Buffer(authDef, 'base64').toString()\n authDef = authDef.split(':')\n userDef = authDef.shift()\n passDef = authDef.join(':')\n }\n\n if (this.get(nerfed + ':_password')) {\n c.password = new Buffer(this.get(nerfed + ':_password'), 'base64').toString('utf8')\n } else if (nerfed === defnerf && passDef) {\n c.password = passDef\n }\n\n if (this.get(nerfed + ':username')) {\n c.username = this.get(nerfed + ':username')\n } else if (nerfed === defnerf && userDef) {\n c.username = userDef\n }\n\n if (this.get(nerfed + ':email')) {\n c.email = this.get(nerfed + ':email')\n } else if (this.get('email')) {\n c.email = this.get('email')\n }\n\n if (c.username && c.password) {\n c.auth = new Buffer(c.username + ':' + c.password).toString('base64')\n }\n\n return c\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "181", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/glob.js", "source": "(function (exports, require, module, __filename, __dirname) { // Approach:\n//\n// 1. Get the minimatch set\n// 2. For each pattern in the set, PROCESS(pattern, false)\n// 3. Store matches per-set, then uniq them\n//\n// PROCESS(pattern, inGlobStar)\n// Get the first [n] items from pattern that are all strings\n// Join these together. This is PREFIX.\n// If there is no more remaining, then stat(PREFIX) and\n// add to matches if it succeeds. END.\n//\n// If inGlobStar and PREFIX is symlink and points to dir\n// set ENTRIES = []\n// else readdir(PREFIX) as ENTRIES\n// If fail, END\n//\n// with ENTRIES\n// If pattern[n] is GLOBSTAR\n// // handle the case where the globstar match is empty\n// // by pruning it out, and testing the resulting pattern\n// PROCESS(pattern[0..n] + pattern[n+1 .. $], false)\n// // handle other cases.\n// for ENTRY in ENTRIES (not dotfiles)\n// // attach globstar + tail onto the entry\n// // Mark that this entry is a globstar match\n// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)\n//\n// else // not globstar\n// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)\n// Test ENTRY against pattern[n]\n// If fails, continue\n// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])\n//\n// Caveat:\n// Cache all stats and readdirs results to minimize syscall. Since all\n// we ever care about is existence and directory-ness, we can just keep\n// `true` for files, and [children,...] for directories, or `false` for\n// things that don't exist.\n\nmodule.exports = glob\n\nvar fs = require('fs')\nvar rp = require('fs.realpath')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar inherits = require('inherits')\nvar EE = require('events').EventEmitter\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar globSync = require('./sync.js')\nvar common = require('./common.js')\nvar alphasort = common.alphasort\nvar alphasorti = common.alphasorti\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar inflight = require('inflight')\nvar util = require('util')\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nvar once = require('once')\n\nfunction glob (pattern, options, cb) {\n if (typeof options === 'function') cb = options, options = {}\n if (!options) options = {}\n\n if (options.sync) {\n if (cb)\n throw new TypeError('callback provided to sync glob')\n return globSync(pattern, options)\n }\n\n return new Glob(pattern, options, cb)\n}\n\nglob.sync = globSync\nvar GlobSync = glob.GlobSync = globSync.GlobSync\n\n// old api surface\nglob.glob = glob\n\nfunction extend (origin, add) {\n if (add === null || typeof add !== 'object') {\n return origin\n }\n\n var keys = Object.keys(add)\n var i = keys.length\n while (i--) {\n origin[keys[i]] = add[keys[i]]\n }\n return origin\n}\n\nglob.hasMagic = function (pattern, options_) {\n var options = extend({}, options_)\n options.noprocess = true\n\n var g = new Glob(pattern, options)\n var set = g.minimatch.set\n\n if (!pattern)\n return false\n\n if (set.length > 1)\n return true\n\n for (var j = 0; j < set[0].length; j++) {\n if (typeof set[0][j] !== 'string')\n return true\n }\n\n return false\n}\n\nglob.Glob = Glob\ninherits(Glob, EE)\nfunction Glob (pattern, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n\n if (options && options.sync) {\n if (cb)\n throw new TypeError('callback provided to sync glob')\n return new GlobSync(pattern, options)\n }\n\n if (!(this instanceof Glob))\n return new Glob(pattern, options, cb)\n\n setopts(this, pattern, options)\n this._didRealPath = false\n\n // process each pattern in the minimatch set\n var n = this.minimatch.set.length\n\n // The matches are stored as {: true,...} so that\n // duplicates are automagically pruned.\n // Later, we do an Object.keys() on these.\n // Keep them as a list so we can fill in when nonull is set.\n this.matches = new Array(n)\n\n if (typeof cb === 'function') {\n cb = once(cb)\n this.on('error', cb)\n this.on('end', function (matches) {\n cb(null, matches)\n })\n }\n\n var self = this\n this._processing = 0\n\n this._emitQueue = []\n this._processQueue = []\n this.paused = false\n\n if (this.noprocess)\n return this\n\n if (n === 0)\n return done()\n\n var sync = true\n for (var i = 0; i < n; i ++) {\n this._process(this.minimatch.set[i], i, false, done)\n }\n sync = false\n\n function done () {\n --self._processing\n if (self._processing <= 0) {\n if (sync) {\n process.nextTick(function () {\n self._finish()\n })\n } else {\n self._finish()\n }\n }\n }\n}\n\nGlob.prototype._finish = function () {\n assert(this instanceof Glob)\n if (this.aborted)\n return\n\n if (this.realpath && !this._didRealpath)\n return this._realpath()\n\n common.finish(this)\n this.emit('end', this.found)\n}\n\nGlob.prototype._realpath = function () {\n if (this._didRealpath)\n return\n\n this._didRealpath = true\n\n var n = this.matches.length\n if (n === 0)\n return this._finish()\n\n var self = this\n for (var i = 0; i < this.matches.length; i++)\n this._realpathSet(i, next)\n\n function next () {\n if (--n === 0)\n self._finish()\n }\n}\n\nGlob.prototype._realpathSet = function (index, cb) {\n var matchset = this.matches[index]\n if (!matchset)\n return cb()\n\n var found = Object.keys(matchset)\n var self = this\n var n = found.length\n\n if (n === 0)\n return cb()\n\n var set = this.matches[index] = Object.create(null)\n found.forEach(function (p, i) {\n // If there's a problem with the stat, then it means that\n // one or more of the links in the realpath couldn't be\n // resolved. just return the abs value in that case.\n p = self._makeAbs(p)\n rp.realpath(p, self.realpathCache, function (er, real) {\n if (!er)\n set[real] = true\n else if (er.syscall === 'stat')\n set[p] = true\n else\n self.emit('error', er) // srsly wtf right here\n\n if (--n === 0) {\n self.matches[index] = set\n cb()\n }\n })\n })\n}\n\nGlob.prototype._mark = function (p) {\n return common.mark(this, p)\n}\n\nGlob.prototype._makeAbs = function (f) {\n return common.makeAbs(this, f)\n}\n\nGlob.prototype.abort = function () {\n this.aborted = true\n this.emit('abort')\n}\n\nGlob.prototype.pause = function () {\n if (!this.paused) {\n this.paused = true\n this.emit('pause')\n }\n}\n\nGlob.prototype.resume = function () {\n if (this.paused) {\n this.emit('resume')\n this.paused = false\n if (this._emitQueue.length) {\n var eq = this._emitQueue.slice(0)\n this._emitQueue.length = 0\n for (var i = 0; i < eq.length; i ++) {\n var e = eq[i]\n this._emitMatch(e[0], e[1])\n }\n }\n if (this._processQueue.length) {\n var pq = this._processQueue.slice(0)\n this._processQueue.length = 0\n for (var i = 0; i < pq.length; i ++) {\n var p = pq[i]\n this._processing--\n this._process(p[0], p[1], p[2], p[3])\n }\n }\n }\n}\n\nGlob.prototype._process = function (pattern, index, inGlobStar, cb) {\n assert(this instanceof Glob)\n assert(typeof cb === 'function')\n\n if (this.aborted)\n return\n\n this._processing++\n if (this.paused) {\n this._processQueue.push([pattern, index, inGlobStar, cb])\n return\n }\n\n //console.error('PROCESS %d', this._processing, pattern)\n\n // Get the first [n] parts of pattern that are all strings.\n var n = 0\n while (typeof pattern[n] === 'string') {\n n ++\n }\n // now n is the index of the first one that is *not* a string.\n\n // see if there's anything else\n var prefix\n switch (n) {\n // if not, then this is rather simple\n case pattern.length:\n this._processSimple(pattern.join('/'), index, cb)\n return\n\n case 0:\n // pattern *starts* with some non-trivial item.\n // going to readdir(cwd), but not include the prefix in matches.\n prefix = null\n break\n\n default:\n // pattern has some string bits in the front.\n // whatever it starts with, whether that's 'absolute' like /foo/bar,\n // or 'relative' like '../baz'\n prefix = pattern.slice(0, n).join('/')\n break\n }\n\n var remain = pattern.slice(n)\n\n // get the list of entries.\n var read\n if (prefix === null)\n read = '.'\n else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {\n if (!prefix || !isAbsolute(prefix))\n prefix = '/' + prefix\n read = prefix\n } else\n read = prefix\n\n var abs = this._makeAbs(read)\n\n //if ignored, skip _processing\n if (childrenIgnored(this, read))\n return cb()\n\n var isGlobStar = remain[0] === minimatch.GLOBSTAR\n if (isGlobStar)\n this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)\n else\n this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)\n}\n\nGlob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n var self = this\n this._readdir(abs, inGlobStar, function (er, entries) {\n return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n })\n}\n\nGlob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n\n // if the abs isn't a dir, then nothing can match!\n if (!entries)\n return cb()\n\n // It will only match dot entries if it starts with a dot, or if\n // dot is set. Stuff like @(.foo|.bar) isn't allowed.\n var pn = remain[0]\n var negate = !!this.minimatch.negate\n var rawGlob = pn._glob\n var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n var matchedEntries = []\n for (var i = 0; i < entries.length; i++) {\n var e = entries[i]\n if (e.charAt(0) !== '.' || dotOk) {\n var m\n if (negate && !prefix) {\n m = !e.match(pn)\n } else {\n m = e.match(pn)\n }\n if (m)\n matchedEntries.push(e)\n }\n }\n\n //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)\n\n var len = matchedEntries.length\n // If there are no matched entries, then nothing matches.\n if (len === 0)\n return cb()\n\n // if this is the last remaining pattern bit, then no need for\n // an additional stat *unless* the user has specified mark or\n // stat explicitly. We know they exist, since readdir returned\n // them.\n\n if (remain.length === 1 && !this.mark && !this.stat) {\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n if (prefix) {\n if (prefix !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n\n if (e.charAt(0) === '/' && !this.nomount) {\n e = path.join(this.root, e)\n }\n this._emitMatch(index, e)\n }\n // This was the last one, and no stats were needed\n return cb()\n }\n\n // now test all matched entries as stand-ins for that part\n // of the pattern.\n remain.shift()\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n var newPattern\n if (prefix) {\n if (prefix !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n this._process([e].concat(remain), index, inGlobStar, cb)\n }\n cb()\n}\n\nGlob.prototype._emitMatch = function (index, e) {\n if (this.aborted)\n return\n\n if (isIgnored(this, e))\n return\n\n if (this.paused) {\n this._emitQueue.push([index, e])\n return\n }\n\n var abs = isAbsolute(e) ? e : this._makeAbs(e)\n\n if (this.mark)\n e = this._mark(e)\n\n if (this.absolute)\n e = abs\n\n if (this.matches[index][e])\n return\n\n if (this.nodir) {\n var c = this.cache[abs]\n if (c === 'DIR' || Array.isArray(c))\n return\n }\n\n this.matches[index][e] = true\n\n var st = this.statCache[abs]\n if (st)\n this.emit('stat', e, st)\n\n this.emit('match', e)\n}\n\nGlob.prototype._readdirInGlobStar = function (abs, cb) {\n if (this.aborted)\n return\n\n // follow all symlinked directories forever\n // just proceed as if this is a non-globstar situation\n if (this.follow)\n return this._readdir(abs, false, cb)\n\n var lstatkey = 'lstat\\0' + abs\n var self = this\n var lstatcb = inflight(lstatkey, lstatcb_)\n\n if (lstatcb)\n fs.lstat(abs, lstatcb)\n\n function lstatcb_ (er, lstat) {\n if (er && er.code === 'ENOENT')\n return cb()\n\n var isSym = lstat && lstat.isSymbolicLink()\n self.symlinks[abs] = isSym\n\n // If it's not a symlink or a dir, then it's definitely a regular file.\n // don't bother doing a readdir in that case.\n if (!isSym && lstat && !lstat.isDirectory()) {\n self.cache[abs] = 'FILE'\n cb()\n } else\n self._readdir(abs, false, cb)\n }\n}\n\nGlob.prototype._readdir = function (abs, inGlobStar, cb) {\n if (this.aborted)\n return\n\n cb = inflight('readdir\\0'+abs+'\\0'+inGlobStar, cb)\n if (!cb)\n return\n\n //console.error('RD %j %j', +inGlobStar, abs)\n if (inGlobStar && !ownProp(this.symlinks, abs))\n return this._readdirInGlobStar(abs, cb)\n\n if (ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n if (!c || c === 'FILE')\n return cb()\n\n if (Array.isArray(c))\n return cb(null, c)\n }\n\n var self = this\n fs.readdir(abs, readdirCb(this, abs, cb))\n}\n\nfunction readdirCb (self, abs, cb) {\n return function (er, entries) {\n if (er)\n self._readdirError(abs, er, cb)\n else\n self._readdirEntries(abs, entries, cb)\n }\n}\n\nGlob.prototype._readdirEntries = function (abs, entries, cb) {\n if (this.aborted)\n return\n\n // if we haven't asked to stat everything, then just\n // assume that everything in there exists, so we can avoid\n // having to stat it a second time.\n if (!this.mark && !this.stat) {\n for (var i = 0; i < entries.length; i ++) {\n var e = entries[i]\n if (abs === '/')\n e = abs + e\n else\n e = abs + '/' + e\n this.cache[e] = true\n }\n }\n\n this.cache[abs] = entries\n return cb(null, entries)\n}\n\nGlob.prototype._readdirError = function (f, er, cb) {\n if (this.aborted)\n return\n\n // handle errors, and cache the information\n switch (er.code) {\n case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n case 'ENOTDIR': // totally normal. means it *does* exist.\n var abs = this._makeAbs(f)\n this.cache[abs] = 'FILE'\n if (abs === this.cwdAbs) {\n var error = new Error(er.code + ' invalid cwd ' + this.cwd)\n error.path = this.cwd\n error.code = er.code\n this.emit('error', error)\n this.abort()\n }\n break\n\n case 'ENOENT': // not terribly unusual\n case 'ELOOP':\n case 'ENAMETOOLONG':\n case 'UNKNOWN':\n this.cache[this._makeAbs(f)] = false\n break\n\n default: // some unusual error. Treat as failure.\n this.cache[this._makeAbs(f)] = false\n if (this.strict) {\n this.emit('error', er)\n // If the error is handled, then we abort\n // if not, we threw out of here\n this.abort()\n }\n if (!this.silent)\n console.error('glob error', er)\n break\n }\n\n return cb()\n}\n\nGlob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n var self = this\n this._readdir(abs, inGlobStar, function (er, entries) {\n self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n })\n}\n\n\nGlob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n //console.error('pgs2', prefix, remain[0], entries)\n\n // no entries means not a dir, so it can never have matches\n // foo.txt/** doesn't match foo.txt\n if (!entries)\n return cb()\n\n // test without the globstar, and with every child both below\n // and replacing the globstar.\n var remainWithoutGlobStar = remain.slice(1)\n var gspref = prefix ? [ prefix ] : []\n var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n // the noGlobStar pattern exits the inGlobStar state\n this._process(noGlobStar, index, false, cb)\n\n var isSym = this.symlinks[abs]\n var len = entries.length\n\n // If it's a symlink, and we're in a globstar, then stop\n if (isSym && inGlobStar)\n return cb()\n\n for (var i = 0; i < len; i++) {\n var e = entries[i]\n if (e.charAt(0) === '.' && !this.dot)\n continue\n\n // these two cases enter the inGlobStar state\n var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n this._process(instead, index, true, cb)\n\n var below = gspref.concat(entries[i], remain)\n this._process(below, index, true, cb)\n }\n\n cb()\n}\n\nGlob.prototype._processSimple = function (prefix, index, cb) {\n // XXX review this. Shouldn't it be doing the mounting etc\n // before doing stat? kinda weird?\n var self = this\n this._stat(prefix, function (er, exists) {\n self._processSimple2(prefix, index, er, exists, cb)\n })\n}\nGlob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {\n\n //console.error('ps2', prefix, exists)\n\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n // If it doesn't exist, then just mark the lack of results\n if (!exists)\n return cb()\n\n if (prefix && isAbsolute(prefix) && !this.nomount) {\n var trail = /[\\/\\\\]$/.test(prefix)\n if (prefix.charAt(0) === '/') {\n prefix = path.join(this.root, prefix)\n } else {\n prefix = path.resolve(this.root, prefix)\n if (trail)\n prefix += '/'\n }\n }\n\n if (process.platform === 'win32')\n prefix = prefix.replace(/\\\\/g, '/')\n\n // Mark this as a match\n this._emitMatch(index, prefix)\n cb()\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlob.prototype._stat = function (f, cb) {\n var abs = this._makeAbs(f)\n var needDir = f.slice(-1) === '/'\n\n if (f.length > this.maxLength)\n return cb()\n\n if (!this.stat && ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n\n if (Array.isArray(c))\n c = 'DIR'\n\n // It exists, but maybe not how we need it\n if (!needDir || c === 'DIR')\n return cb(null, c)\n\n if (needDir && c === 'FILE')\n return cb()\n\n // otherwise we have to stat, because maybe c=true\n // if we know it exists, but not what it is.\n }\n\n var exists\n var stat = this.statCache[abs]\n if (stat !== undefined) {\n if (stat === false)\n return cb(null, stat)\n else {\n var type = stat.isDirectory() ? 'DIR' : 'FILE'\n if (needDir && type === 'FILE')\n return cb()\n else\n return cb(null, type, stat)\n }\n }\n\n var self = this\n var statcb = inflight('stat\\0' + abs, lstatcb_)\n if (statcb)\n fs.lstat(abs, statcb)\n\n function lstatcb_ (er, lstat) {\n if (lstat && lstat.isSymbolicLink()) {\n // If it's a symlink, then treat it as the target, unless\n // the target does not exist, then treat it as a file.\n return fs.stat(abs, function (er, stat) {\n if (er)\n self._stat2(f, abs, null, lstat, cb)\n else\n self._stat2(f, abs, er, stat, cb)\n })\n } else {\n self._stat2(f, abs, er, lstat, cb)\n }\n }\n}\n\nGlob.prototype._stat2 = function (f, abs, er, stat, cb) {\n if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {\n this.statCache[abs] = false\n return cb()\n }\n\n var needDir = f.slice(-1) === '/'\n this.statCache[abs] = stat\n\n if (abs.slice(-1) === '/' && stat && !stat.isDirectory())\n return cb(null, false, stat)\n\n var c = true\n if (stat)\n c = stat.isDirectory() ? 'DIR' : 'FILE'\n this.cache[abs] = this.cache[abs] || c\n\n if (needDir && c === 'FILE')\n return cb()\n\n return cb(null, c, stat)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/glob" }, { "id": "182", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/fs.realpath/index.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = realpath\nrealpath.realpath = realpath\nrealpath.sync = realpathSync\nrealpath.realpathSync = realpathSync\nrealpath.monkeypatch = monkeypatch\nrealpath.unmonkeypatch = unmonkeypatch\n\nvar fs = require('fs')\nvar origRealpath = fs.realpath\nvar origRealpathSync = fs.realpathSync\n\nvar version = process.version\nvar ok = /^v[0-5]\\./.test(version)\nvar old = require('./old.js')\n\nfunction newError (er) {\n return er && er.syscall === 'realpath' && (\n er.code === 'ELOOP' ||\n er.code === 'ENOMEM' ||\n er.code === 'ENAMETOOLONG'\n )\n}\n\nfunction realpath (p, cache, cb) {\n if (ok) {\n return origRealpath(p, cache, cb)\n }\n\n if (typeof cache === 'function') {\n cb = cache\n cache = null\n }\n origRealpath(p, cache, function (er, result) {\n if (newError(er)) {\n old.realpath(p, cache, cb)\n } else {\n cb(er, result)\n }\n })\n}\n\nfunction realpathSync (p, cache) {\n if (ok) {\n return origRealpathSync(p, cache)\n }\n\n try {\n return origRealpathSync(p, cache)\n } catch (er) {\n if (newError(er)) {\n return old.realpathSync(p, cache)\n } else {\n throw er\n }\n }\n}\n\nfunction monkeypatch () {\n fs.realpath = realpath\n fs.realpathSync = realpathSync\n}\n\nfunction unmonkeypatch () {\n fs.realpath = origRealpath\n fs.realpathSync = origRealpathSync\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/fs.realpath" }, { "id": "184", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/minimatch.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = require('path')\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = console.error\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n if (inClass) {\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '.':\n case '[':\n case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch" }, { "id": "185", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion" }, { "id": "198", "url": "/usr/local/lib/node_modules/npm/lib/utils/metrics.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nexports.start = startMetrics\nexports.stop = stopMetrics\nexports.save = saveMetrics\nexports.send = sendMetrics\n\nvar fs = require('fs')\nvar path = require('path')\nvar npm = require('../npm.js')\nvar uuid = require('uuid')\n\nvar inMetrics = false\n\nfunction startMetrics () {\n if (inMetrics) return\n // loaded on demand to avoid any recursive deps when `./metrics-launch` requires us.\n var metricsLaunch = require('./metrics-launch.js')\n npm.metricsProcess = metricsLaunch()\n}\n\nfunction stopMetrics () {\n if (inMetrics) return\n if (npm.metricsProcess) npm.metricsProcess.kill('SIGKILL')\n}\n\nfunction saveMetrics (itWorked) {\n if (inMetrics) return\n // If the metrics reporter hasn't managed to PUT yet then kill it so that it doesn't\n // step on our updating the anonymous-cli-metrics json\n stopMetrics()\n var metricsFile = path.join(npm.config.get('cache'), 'anonymous-cli-metrics.json')\n var metrics\n try {\n metrics = JSON.parse(fs.readFileSync(metricsFile))\n metrics.metrics.to = new Date().toISOString()\n if (itWorked) {\n ++metrics.metrics.successfulInstalls\n } else {\n ++metrics.metrics.failedInstalls\n }\n } catch (ex) {\n metrics = {\n metricId: uuid.v4(),\n metrics: {\n from: new Date().toISOString(),\n to: new Date().toISOString(),\n successfulInstalls: itWorked ? 1 : 0,\n failedInstalls: itWorked ? 0 : 1\n }\n }\n }\n try {\n fs.writeFileSync(metricsFile, JSON.stringify(metrics))\n } catch (ex) {\n // we couldn't write the error metrics file, um, well, oh well.\n }\n}\n\nfunction sendMetrics (metricsFile, metricsRegistry) {\n inMetrics = true\n var cliMetrics = JSON.parse(fs.readFileSync(metricsFile))\n npm.load({}, function (err) {\n if (err) return\n npm.registry.config.retry.retries = 0\n npm.registry.sendAnonymousCLIMetrics(metricsRegistry, cliMetrics, function (err) {\n if (err) {\n fs.writeFileSync(path.join(path.dirname(metricsFile), 'last-send-metrics-error.txt'), err.stack)\n } else {\n fs.unlinkSync(metricsFile)\n }\n })\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "199", "url": "/usr/local/lib/node_modules/npm/node_modules/uuid/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/uuid" }, { "id": "158", "url": "/usr/local/lib/node_modules/npm/node_modules/abbrev/abbrev.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = exports = abbrev.abbrev = abbrev\n\nabbrev.monkeyPatch = monkeyPatch\n\nfunction monkeyPatch () {\n Object.defineProperty(Array.prototype, 'abbrev', {\n value: function () { return abbrev(this) },\n enumerable: false, configurable: true, writable: true\n })\n\n Object.defineProperty(Object.prototype, 'abbrev', {\n value: function () { return abbrev(Object.keys(this)) },\n enumerable: false, configurable: true, writable: true\n })\n}\n\nfunction abbrev (list) {\n if (arguments.length !== 1 || !Array.isArray(list)) {\n list = Array.prototype.slice.call(arguments, 0)\n }\n for (var i = 0, l = list.length, args = [] ; i < l ; i ++) {\n args[i] = typeof list[i] === \"string\" ? list[i] : String(list[i])\n }\n\n // sort them lexicographically, so that they're next to their nearest kin\n args = args.sort(lexSort)\n\n // walk through each, seeing how much it has in common with the next and previous\n var abbrevs = {}\n , prev = \"\"\n for (var i = 0, l = args.length ; i < l ; i ++) {\n var current = args[i]\n , next = args[i + 1] || \"\"\n , nextMatches = true\n , prevMatches = true\n if (current === next) continue\n for (var j = 0, cl = current.length ; j < cl ; j ++) {\n var curChar = current.charAt(j)\n nextMatches = nextMatches && curChar === next.charAt(j)\n prevMatches = prevMatches && curChar === prev.charAt(j)\n if (!nextMatches && !prevMatches) {\n j ++\n break\n }\n }\n prev = current\n if (j === cl) {\n abbrevs[current] = current\n continue\n }\n for (var a = current.substr(0, j) ; j <= cl ; j ++) {\n abbrevs[a] = current\n a += current.charAt(j)\n }\n }\n return abbrevs\n}\n\nfunction lexSort (a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/abbrev" }, { "id": "205", "url": "/usr/local/lib/node_modules/npm/lib/utils/error-handler.js", "source": "(function (exports, require, module, __filename, __dirname) { \nmodule.exports = errorHandler\nmodule.exports.exit = exit\n\nvar cbCalled = false\nvar log = require('npmlog')\nvar npm = require('../npm.js')\nvar itWorked = false\nvar path = require('path')\nvar wroteLogFile = false\nvar exitCode = 0\nvar rollbacks = npm.rollbacks\nvar chain = require('slide').chain\nvar writeFileAtomic = require('write-file-atomic')\nvar errorMessage = require('./error-message.js')\nvar stopMetrics = require('./metrics.js').stop\nvar mkdirp = require('mkdirp')\nvar fs = require('graceful-fs')\n\nvar logFileName\nfunction getLogFile () {\n if (!logFileName) {\n logFileName = path.resolve(npm.config.get('cache'), '_logs', (new Date()).toISOString().replace(/[.:]/g, '_') + '-debug.log')\n }\n return logFileName\n}\n\nvar timings = {\n version: npm.version,\n command: process.argv.slice(2),\n logfile: null\n}\nprocess.on('timing', function (name, value) {\n if (timings[name]) { timings[name] += value } else { timings[name] = value }\n})\n\nprocess.on('exit', function (code) {\n process.emit('timeEnd', 'npm')\n log.disableProgress()\n if (npm.config.loaded && npm.config.get('timing')) {\n try {\n timings.logfile = getLogFile()\n fs.appendFileSync(path.join(npm.config.get('cache'), '_timing.json'), JSON.stringify(timings) + '\\n')\n } catch (_) {\n // ignore\n }\n }\n\n // kill any outstanding stats reporter if it hasn't finished yet\n stopMetrics()\n\n if (code) itWorked = false\n if (itWorked) {\n log.info('ok')\n } else {\n if (!cbCalled) {\n log.error('', 'cb() never called!')\n console.error('')\n log.error('', 'This is an error with npm itself. Please report this error at:')\n log.error('', ' ')\n writeLogFile()\n }\n\n if (code) {\n log.verbose('code', code)\n }\n }\n if (npm.config.loaded && npm.config.get('timing') && !wroteLogFile) writeLogFile()\n if (wroteLogFile) {\n // just a line break\n if (log.levels[log.level] <= log.levels.error) console.error('')\n\n log.error(\n '',\n [\n 'A complete log of this run can be found in:',\n ' ' + getLogFile()\n ].join('\\n')\n )\n wroteLogFile = false\n }\n\n var doExit = npm.config.loaded && npm.config.get('_exit')\n if (doExit) {\n // actually exit.\n if (exitCode === 0 && !itWorked) {\n exitCode = 1\n }\n if (exitCode !== 0) process.exit(exitCode)\n } else {\n itWorked = false // ready for next exit\n }\n})\n\nfunction exit (code, noLog) {\n exitCode = exitCode || process.exitCode || code\n\n var doExit = npm.config.loaded ? npm.config.get('_exit') : true\n log.verbose('exit', [code, doExit])\n if (log.level === 'silent') noLog = true\n\n if (rollbacks.length) {\n chain(rollbacks.map(function (f) {\n return function (cb) {\n npm.commands.unbuild([f], true, cb)\n }\n }), function (er) {\n if (er) {\n log.error('error rolling back', er)\n if (!code) {\n errorHandler(er)\n } else {\n if (!noLog) writeLogFile()\n reallyExit(er)\n }\n } else {\n if (!noLog && code) writeLogFile()\n reallyExit()\n }\n })\n rollbacks.length = 0\n } else if (code && !noLog) {\n writeLogFile()\n } else {\n reallyExit()\n }\n\n function reallyExit (er) {\n if (er && !code) code = typeof er.errno === 'number' ? er.errno : 1\n\n itWorked = !code\n\n // Exit directly -- nothing in the CLI should still be running in the\n // background at this point, and this makes sure anything left dangling\n // for whatever reason gets thrown away, instead of leaving the CLI open\n //\n // Commands that expect long-running actions should just delay `cb()`\n process.exit(code)\n }\n}\n\nfunction errorHandler (er) {\n log.disableProgress()\n if (!npm.config || !npm.config.loaded) {\n // logging won't work unless we pretend that it's ready\n er = er || new Error('Exit prior to config file resolving.')\n console.error(er.stack || er.message)\n }\n\n if (cbCalled) {\n er = er || new Error('Callback called more than once.')\n }\n\n cbCalled = true\n if (!er) return exit(0)\n if (typeof er === 'string') {\n log.error('', er)\n return exit(1, true)\n } else if (!(er instanceof Error)) {\n log.error('weird error', er)\n return exit(1, true)\n }\n\n var m = er.code || er.message.match(/^(?:Error: )?(E[A-Z]+)/)\n if (m && !er.code) {\n er.code = m\n }\n\n ;[\n 'type',\n 'fstream_path',\n 'fstream_unc_path',\n 'fstream_type',\n 'fstream_class',\n 'fstream_finish_call',\n 'fstream_linkpath',\n 'stack',\n 'fstream_stack',\n 'statusCode',\n 'pkgid'\n ].forEach(function (k) {\n var v = er[k]\n if (!v) return\n if (k === 'fstream_stack') v = v.join('\\n')\n log.verbose(k, v)\n })\n\n log.verbose('cwd', process.cwd())\n\n var os = require('os')\n log.verbose('', os.type() + ' ' + os.release())\n log.verbose('argv', process.argv.map(JSON.stringify).join(' '))\n log.verbose('node', process.version)\n log.verbose('npm ', 'v' + npm.version)\n\n ;[\n 'file',\n 'path',\n 'code',\n 'errno',\n 'syscall'\n ].forEach(function (k) {\n var v = er[k]\n if (v) log.error(k, v)\n })\n\n var msg = errorMessage(er)\n msg.summary.concat(msg.detail).forEach(function (errline) {\n log.error.apply(log, errline)\n })\n if (npm.config.get('json')) {\n var error = {\n error: {\n code: er.code,\n summary: messageText(msg.summary),\n detail: messageText(msg.detail)\n }\n }\n console.log(JSON.stringify(error, null, 2))\n }\n\n exit(typeof er.errno === 'number' ? er.errno : 1)\n}\n\nfunction messageText (msg) {\n return msg.map(function (line) {\n return line.slice(1).join(' ')\n }).join('\\n')\n}\n\nfunction writeLogFile () {\n if (wroteLogFile) return\n\n var os = require('os')\n\n try {\n mkdirp.sync(path.resolve(npm.config.get('cache'), '_logs'))\n var logOutput = ''\n log.record.forEach(function (m) {\n var pref = [m.id, m.level]\n if (m.prefix) pref.push(m.prefix)\n pref = pref.join(' ')\n\n m.message.trim().split(/\\r?\\n/).map(function (line) {\n return (pref + ' ' + line).trim()\n }).forEach(function (line) {\n logOutput += line + os.EOL\n })\n })\n writeFileAtomic.sync(getLogFile(), logOutput)\n\n // truncate once it's been written.\n log.record.length = 0\n wroteLogFile = true\n } catch (ex) {\n return\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "6", "url": "native array.js", "pkgUrl": "(system)" }, { "id": "119", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nconst lazy = (mod, fn, id) => mod === undefined ? fn(id) : mod;\n\nmodule.exports = fn => {\n\treturn id => {\n\t\tlet mod;\n\n\t\treturn function () {\n\t\t\tif (arguments.length === 0) {\n\t\t\t\tmod = lazy(mod, fn, id);\n\t\t\t\treturn mod;\n\t\t\t}\n\n\t\t\tconst ret = {};\n\n\t\t\t[].forEach.call(arguments, prop => {\n\t\t\t\tObject.defineProperty(ret, prop, {\n\t\t\t\t\tget: () => {\n\t\t\t\t\t\tmod = lazy(mod, fn, id);\n\t\t\t\t\t\tif (typeof mod[prop] === 'function') {\n\t\t\t\t\t\t\treturn function () {\n\t\t\t\t\t\t\t\treturn mod[prop].apply(mod, arguments);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn mod[prop];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn ret;\n\t\t};\n\t};\n};\n\nmodule.exports.proxy = fn => {\n\treturn id => {\n\t\tlet mod;\n\n\t\tconst handler = {\n\t\t\tget: (target, property) => {\n\t\t\t\tmod = lazy(mod, fn, id);\n\t\t\t\treturn Reflect.get(mod, property);\n\t\t\t},\n\t\t\tapply: (target, thisArg, argumentsList) => {\n\t\t\t\tmod = lazy(mod, fn, id);\n\t\t\t\treturn Reflect.apply(mod, thisArg, argumentsList);\n\t\t\t}\n\t\t};\n\n\t\treturn new Proxy(() => {}, handler);\n\t};\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req" }, { "id": "120", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nconst path = require('path');\nconst os = require('os');\nconst fs = require('graceful-fs');\nconst mkdirp = require('mkdirp');\nconst xdgBasedir = require('xdg-basedir');\nconst writeFileAtomic = require('write-file-atomic');\nconst dotProp = require('dot-prop');\nconst uniqueString = require('unique-string');\n\nconst configDir = xdgBasedir.config || path.join(os.tmpdir(), uniqueString());\nconst permissionError = 'You don\\'t have access to this file.';\nconst defaultPathMode = 0o0700;\nconst writeFileOptions = {mode: 0o0600};\n\nclass Configstore {\n\tconstructor(id, defaults, opts) {\n\t\topts = opts || {};\n\n\t\tconst pathPrefix = opts.globalConfigPath ?\n\t\t\tpath.join(id, 'config.json') :\n\t\t\tpath.join('configstore', `${id}.json`);\n\n\t\tthis.path = path.join(configDir, pathPrefix);\n\t\tthis.all = Object.assign({}, defaults, this.all);\n\t}\n\tget all() {\n\t\ttry {\n\t\t\treturn JSON.parse(fs.readFileSync(this.path, 'utf8'));\n\t\t} catch (err) {\n\t\t\t// Create dir if it doesn't exist\n\t\t\tif (err.code === 'ENOENT') {\n\t\t\t\tmkdirp.sync(path.dirname(this.path), defaultPathMode);\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\t// Improve the message of permission errors\n\t\t\tif (err.code === 'EACCES') {\n\t\t\t\terr.message = `${err.message}\\n${permissionError}\\n`;\n\t\t\t}\n\n\t\t\t// Empty the file if it encounters invalid JSON\n\t\t\tif (err.name === 'SyntaxError') {\n\t\t\t\twriteFileAtomic.sync(this.path, '', writeFileOptions);\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t}\n\tset all(val) {\n\t\ttry {\n\t\t\t// Make sure the folder exists as it could have been deleted in the meantime\n\t\t\tmkdirp.sync(path.dirname(this.path), defaultPathMode);\n\n\t\t\twriteFileAtomic.sync(this.path, JSON.stringify(val, null, '\\t'), writeFileOptions);\n\t\t} catch (err) {\n\t\t\t// Improve the message of permission errors\n\t\t\tif (err.code === 'EACCES') {\n\t\t\t\terr.message = `${err.message}\\n${permissionError}\\n`;\n\t\t\t}\n\n\t\t\tthrow err;\n\t\t}\n\t}\n\tget size() {\n\t\treturn Object.keys(this.all || {}).length;\n\t}\n\tget(key) {\n\t\treturn dotProp.get(this.all, key);\n\t}\n\tset(key, val) {\n\t\tconst config = this.all;\n\n\t\tif (arguments.length === 1) {\n\t\t\tfor (const k of Object.keys(key)) {\n\t\t\t\tdotProp.set(config, k, key[k]);\n\t\t\t}\n\t\t} else {\n\t\t\tdotProp.set(config, key, val);\n\t\t}\n\n\t\tthis.all = config;\n\t}\n\thas(key) {\n\t\treturn dotProp.has(this.all, key);\n\t}\n\tdelete(key) {\n\t\tconst config = this.all;\n\t\tdotProp.delete(config, key);\n\t\tthis.all = config;\n\t}\n\tclear() {\n\t\tthis.all = {};\n\t}\n}\n\nmodule.exports = Configstore;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore" }, { "id": "121", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require('fs')\nvar polyfills = require('./polyfills.js')\nvar legacy = require('./legacy-streams.js')\nvar queue = []\n\nvar util = require('util')\n\nfunction noop () {}\n\nvar debug = noop\nif (util.debuglog)\n debug = util.debuglog('gfs4')\nelse if (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || ''))\n debug = function() {\n var m = util.format.apply(util, arguments)\n m = 'GFS4: ' + m.split(/\\n/).join('\\nGFS4: ')\n console.error(m)\n }\n\nif (/\\bgfs4\\b/i.test(process.env.NODE_DEBUG || '')) {\n process.on('exit', function() {\n debug(queue)\n require('assert').equal(queue.length, 0)\n })\n}\n\nmodule.exports = patch(require('./fs.js'))\nif (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH) {\n module.exports = patch(fs)\n}\n\n// Always patch fs.close/closeSync, because we want to\n// retry() whenever a close happens *anywhere* in the program.\n// This is essential when multiple graceful-fs instances are\n// in play at the same time.\nmodule.exports.close =\nfs.close = (function (fs$close) { return function (fd, cb) {\n return fs$close.call(fs, fd, function (err) {\n if (!err)\n retry()\n\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n })\n}})(fs.close)\n\nmodule.exports.closeSync =\nfs.closeSync = (function (fs$closeSync) { return function (fd) {\n // Note that graceful-fs also retries when fs.closeSync() fails.\n // Looks like a bug to me, although it's probably a harmless one.\n var rval = fs$closeSync.apply(fs, arguments)\n retry()\n return rval\n}})(fs.closeSync)\n\nfunction patch (fs) {\n // Everything that references the open() function needs to be in here\n polyfills(fs)\n fs.gracefulify = patch\n fs.FileReadStream = ReadStream; // Legacy name.\n fs.FileWriteStream = WriteStream; // Legacy name.\n fs.createReadStream = createReadStream\n fs.createWriteStream = createWriteStream\n var fs$readFile = fs.readFile\n fs.readFile = readFile\n function readFile (path, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$readFile(path, options, cb)\n\n function go$readFile (path, options, cb) {\n return fs$readFile(path, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readFile, [path, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$writeFile = fs.writeFile\n fs.writeFile = writeFile\n function writeFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$writeFile(path, data, options, cb)\n\n function go$writeFile (path, data, options, cb) {\n return fs$writeFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$writeFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$appendFile = fs.appendFile\n if (fs$appendFile)\n fs.appendFile = appendFile\n function appendFile (path, data, options, cb) {\n if (typeof options === 'function')\n cb = options, options = null\n\n return go$appendFile(path, data, options, cb)\n\n function go$appendFile (path, data, options, cb) {\n return fs$appendFile(path, data, options, function (err) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$appendFile, [path, data, options, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n var fs$readdir = fs.readdir\n fs.readdir = readdir\n function readdir (path, options, cb) {\n var args = [path]\n if (typeof options !== 'function') {\n args.push(options)\n } else {\n cb = options\n }\n args.push(go$readdir$cb)\n\n return go$readdir(args)\n\n function go$readdir$cb (err, files) {\n if (files && files.sort)\n files.sort()\n\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$readdir, [args]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n }\n }\n\n function go$readdir (args) {\n return fs$readdir.apply(fs, args)\n }\n\n if (process.version.substr(0, 4) === 'v0.8') {\n var legStreams = legacy(fs)\n ReadStream = legStreams.ReadStream\n WriteStream = legStreams.WriteStream\n }\n\n var fs$ReadStream = fs.ReadStream\n ReadStream.prototype = Object.create(fs$ReadStream.prototype)\n ReadStream.prototype.open = ReadStream$open\n\n var fs$WriteStream = fs.WriteStream\n WriteStream.prototype = Object.create(fs$WriteStream.prototype)\n WriteStream.prototype.open = WriteStream$open\n\n fs.ReadStream = ReadStream\n fs.WriteStream = WriteStream\n\n function ReadStream (path, options) {\n if (this instanceof ReadStream)\n return fs$ReadStream.apply(this, arguments), this\n else\n return ReadStream.apply(Object.create(ReadStream.prototype), arguments)\n }\n\n function ReadStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n if (that.autoClose)\n that.destroy()\n\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n that.read()\n }\n })\n }\n\n function WriteStream (path, options) {\n if (this instanceof WriteStream)\n return fs$WriteStream.apply(this, arguments), this\n else\n return WriteStream.apply(Object.create(WriteStream.prototype), arguments)\n }\n\n function WriteStream$open () {\n var that = this\n open(that.path, that.flags, that.mode, function (err, fd) {\n if (err) {\n that.destroy()\n that.emit('error', err)\n } else {\n that.fd = fd\n that.emit('open', fd)\n }\n })\n }\n\n function createReadStream (path, options) {\n return new ReadStream(path, options)\n }\n\n function createWriteStream (path, options) {\n return new WriteStream(path, options)\n }\n\n var fs$open = fs.open\n fs.open = open\n function open (path, flags, mode, cb) {\n if (typeof mode === 'function')\n cb = mode, mode = null\n\n return go$open(path, flags, mode, cb)\n\n function go$open (path, flags, mode, cb) {\n return fs$open(path, flags, mode, function (err, fd) {\n if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))\n enqueue([go$open, [path, flags, mode, cb]])\n else {\n if (typeof cb === 'function')\n cb.apply(this, arguments)\n retry()\n }\n })\n }\n }\n\n return fs\n}\n\nfunction enqueue (elem) {\n debug('ENQUEUE', elem[0].name, elem[1])\n queue.push(elem)\n}\n\nfunction retry () {\n var elem = queue.shift()\n if (elem) {\n debug('RETRY', elem[0].name, elem[1])\n elem[0].apply(null, elem[1])\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs" }, { "id": "122", "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require('./fs.js')\nvar constants = require('constants')\n\nvar origCwd = process.cwd\nvar cwd = null\n\nvar platform = process.env.GRACEFUL_FS_PLATFORM || process.platform\n\nprocess.cwd = function() {\n if (!cwd)\n cwd = origCwd.call(process)\n return cwd\n}\ntry {\n process.cwd()\n} catch (er) {}\n\nvar chdir = process.chdir\nprocess.chdir = function(d) {\n cwd = null\n chdir.call(process, d)\n}\n\nmodule.exports = patch\n\nfunction patch (fs) {\n // (re-)implement some things that are known busted or missing.\n\n // lchmod, broken prior to 0.6.2\n // back-port the fix here.\n if (constants.hasOwnProperty('O_SYMLINK') &&\n process.version.match(/^v0\\.6\\.[0-2]|^v0\\.5\\./)) {\n patchLchmod(fs)\n }\n\n // lutimes implementation, or no-op\n if (!fs.lutimes) {\n patchLutimes(fs)\n }\n\n // https://github.com/isaacs/node-graceful-fs/issues/4\n // Chown should not fail on einval or eperm if non-root.\n // It should not fail on enosys ever, as this just indicates\n // that a fs doesn't support the intended operation.\n\n fs.chown = chownFix(fs.chown)\n fs.fchown = chownFix(fs.fchown)\n fs.lchown = chownFix(fs.lchown)\n\n fs.chmod = chmodFix(fs.chmod)\n fs.fchmod = chmodFix(fs.fchmod)\n fs.lchmod = chmodFix(fs.lchmod)\n\n fs.chownSync = chownFixSync(fs.chownSync)\n fs.fchownSync = chownFixSync(fs.fchownSync)\n fs.lchownSync = chownFixSync(fs.lchownSync)\n\n fs.chmodSync = chmodFixSync(fs.chmodSync)\n fs.fchmodSync = chmodFixSync(fs.fchmodSync)\n fs.lchmodSync = chmodFixSync(fs.lchmodSync)\n\n fs.stat = statFix(fs.stat)\n fs.fstat = statFix(fs.fstat)\n fs.lstat = statFix(fs.lstat)\n\n fs.statSync = statFixSync(fs.statSync)\n fs.fstatSync = statFixSync(fs.fstatSync)\n fs.lstatSync = statFixSync(fs.lstatSync)\n\n // if lchmod/lchown do not exist, then make them no-ops\n if (!fs.lchmod) {\n fs.lchmod = function (path, mode, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchmodSync = function () {}\n }\n if (!fs.lchown) {\n fs.lchown = function (path, uid, gid, cb) {\n if (cb) process.nextTick(cb)\n }\n fs.lchownSync = function () {}\n }\n\n // on Windows, A/V software can lock the directory, causing this\n // to fail with an EACCES or EPERM if the directory contains newly\n // created files. Try again on failure, for up to 60 seconds.\n\n // Set the timeout this long because some Windows Anti-Virus, such as Parity\n // bit9, may lock files for up to a minute, causing npm package install\n // failures. Also, take care to yield the scheduler. Windows scheduling gives\n // CPU to a busy looping process, which can cause the program causing the lock\n // contention to be starved of CPU by node, so the contention doesn't resolve.\n if (platform === \"win32\") {\n fs.rename = (function (fs$rename) { return function (from, to, cb) {\n var start = Date.now()\n var backoff = 0;\n fs$rename(from, to, function CB (er) {\n if (er\n && (er.code === \"EACCES\" || er.code === \"EPERM\")\n && Date.now() - start < 60000) {\n setTimeout(function() {\n fs.stat(to, function (stater, st) {\n if (stater && stater.code === \"ENOENT\")\n fs$rename(from, to, CB);\n else\n cb(er)\n })\n }, backoff)\n if (backoff < 100)\n backoff += 10;\n return;\n }\n if (cb) cb(er)\n })\n }})(fs.rename)\n }\n\n // if read() returns EAGAIN, then just try it again.\n fs.read = (function (fs$read) { return function (fd, buffer, offset, length, position, callback_) {\n var callback\n if (callback_ && typeof callback_ === 'function') {\n var eagCounter = 0\n callback = function (er, _, __) {\n if (er && er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }\n callback_.apply(this, arguments)\n }\n }\n return fs$read.call(fs, fd, buffer, offset, length, position, callback)\n }})(fs.read)\n\n fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) {\n var eagCounter = 0\n while (true) {\n try {\n return fs$readSync.call(fs, fd, buffer, offset, length, position)\n } catch (er) {\n if (er.code === 'EAGAIN' && eagCounter < 10) {\n eagCounter ++\n continue\n }\n throw er\n }\n }\n }})(fs.readSync)\n}\n\nfunction patchLchmod (fs) {\n fs.lchmod = function (path, mode, callback) {\n fs.open( path\n , constants.O_WRONLY | constants.O_SYMLINK\n , mode\n , function (err, fd) {\n if (err) {\n if (callback) callback(err)\n return\n }\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n fs.fchmod(fd, mode, function (err) {\n fs.close(fd, function(err2) {\n if (callback) callback(err || err2)\n })\n })\n })\n }\n\n fs.lchmodSync = function (path, mode) {\n var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)\n\n // prefer to return the chmod error, if one occurs,\n // but still try to close, and report closing errors if they occur.\n var threw = true\n var ret\n try {\n ret = fs.fchmodSync(fd, mode)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n}\n\nfunction patchLutimes (fs) {\n if (constants.hasOwnProperty(\"O_SYMLINK\")) {\n fs.lutimes = function (path, at, mt, cb) {\n fs.open(path, constants.O_SYMLINK, function (er, fd) {\n if (er) {\n if (cb) cb(er)\n return\n }\n fs.futimes(fd, at, mt, function (er) {\n fs.close(fd, function (er2) {\n if (cb) cb(er || er2)\n })\n })\n })\n }\n\n fs.lutimesSync = function (path, at, mt) {\n var fd = fs.openSync(path, constants.O_SYMLINK)\n var ret\n var threw = true\n try {\n ret = fs.futimesSync(fd, at, mt)\n threw = false\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd)\n } catch (er) {}\n } else {\n fs.closeSync(fd)\n }\n }\n return ret\n }\n\n } else {\n fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }\n fs.lutimesSync = function () {}\n }\n}\n\nfunction chmodFix (orig) {\n if (!orig) return orig\n return function (target, mode, cb) {\n return orig.call(fs, target, mode, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n}\n\nfunction chmodFixSync (orig) {\n if (!orig) return orig\n return function (target, mode) {\n try {\n return orig.call(fs, target, mode)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n}\n\n\nfunction chownFix (orig) {\n if (!orig) return orig\n return function (target, uid, gid, cb) {\n return orig.call(fs, target, uid, gid, function (er) {\n if (chownErOk(er)) er = null\n if (cb) cb.apply(this, arguments)\n })\n }\n}\n\nfunction chownFixSync (orig) {\n if (!orig) return orig\n return function (target, uid, gid) {\n try {\n return orig.call(fs, target, uid, gid)\n } catch (er) {\n if (!chownErOk(er)) throw er\n }\n }\n}\n\n\nfunction statFix (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target, cb) {\n return orig.call(fs, target, function (er, stats) {\n if (!stats) return cb.apply(this, arguments)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n if (cb) cb.apply(this, arguments)\n })\n }\n}\n\nfunction statFixSync (orig) {\n if (!orig) return orig\n // Older versions of Node erroneously returned signed integers for\n // uid + gid.\n return function (target) {\n var stats = orig.call(fs, target)\n if (stats.uid < 0) stats.uid += 0x100000000\n if (stats.gid < 0) stats.gid += 0x100000000\n return stats;\n }\n}\n\n// ENOSYS means that the fs doesn't support the op. Just ignore\n// that, because it doesn't matter.\n//\n// if there's no getuid, or if getuid() is something other\n// than 0, and the error is EINVAL or EPERM, then just ignore\n// it.\n//\n// This specific case is a silent failure in cp, install, tar,\n// and most other unix tools that manage permissions.\n//\n// When running as root, or if other types of errors are\n// encountered, then it's strict.\nfunction chownErOk (er) {\n if (!er)\n return true\n\n if (er.code === \"ENOSYS\")\n return true\n\n var nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (er.code === \"EINVAL\" || er.code === \"EPERM\")\n return true\n }\n\n return false\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs" }, { "id": "124", "url": "constants.js", "pkgUrl": "(system)" }, { "id": "128", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/write-file-atomic/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nmodule.exports = writeFile\nmodule.exports.sync = writeFileSync\nmodule.exports._getTmpname = getTmpname // for testing\n\nvar fs = require('graceful-fs')\nvar chain = require('slide').chain\nvar MurmurHash3 = require('imurmurhash')\nvar extend = Object.assign || require('util')._extend\n\nvar invocations = 0\nfunction getTmpname (filename) {\n return filename + '.' +\n MurmurHash3(__filename)\n .hash(String(process.pid))\n .hash(String(++invocations))\n .result()\n}\n\nfunction writeFile (filename, data, options, callback) {\n if (options instanceof Function) {\n callback = options\n options = null\n }\n if (!options) options = {}\n fs.realpath(filename, function (_, realname) {\n _writeFile(realname || filename, data, options, callback)\n })\n}\nfunction _writeFile (filename, data, options, callback) {\n var tmpfile = getTmpname(filename)\n\n if (options.mode && options.chown) {\n return thenWriteFile()\n } else {\n // Either mode or chown is not explicitly set\n // Default behavior is to copy it from original file\n return fs.stat(filename, function (err, stats) {\n if (err || !stats) return thenWriteFile()\n\n options = extend({}, options)\n if (!options.mode) {\n options.mode = stats.mode\n }\n if (!options.chown && process.getuid) {\n options.chown = { uid: stats.uid, gid: stats.gid }\n }\n return thenWriteFile()\n })\n }\n\n function thenWriteFile () {\n chain([\n [writeFileAsync, tmpfile, data, options.mode, options.encoding || 'utf8'],\n options.chown && [fs, fs.chown, tmpfile, options.chown.uid, options.chown.gid],\n options.mode && [fs, fs.chmod, tmpfile, options.mode],\n [fs, fs.rename, tmpfile, filename]\n ], function (err) {\n err ? fs.unlink(tmpfile, function () { callback(err) })\n : callback()\n })\n }\n\n // doing this instead of `fs.writeFile` in order to get the ability to\n // call `fsync`.\n function writeFileAsync (file, data, mode, encoding, cb) {\n fs.open(file, 'w', options.mode, function (err, fd) {\n if (err) return cb(err)\n if (Buffer.isBuffer(data)) {\n return fs.write(fd, data, 0, data.length, 0, syncAndClose)\n } else if (data != null) {\n return fs.write(fd, String(data), 0, String(encoding), syncAndClose)\n } else {\n return syncAndClose()\n }\n function syncAndClose (err) {\n if (err) return cb(err)\n fs.fsync(fd, function (err) {\n if (err) return cb(err)\n fs.close(fd, cb)\n })\n }\n })\n }\n}\n\nfunction writeFileSync (filename, data, options) {\n if (!options) options = {}\n try {\n filename = fs.realpathSync(filename)\n } catch (ex) {\n // it's ok, it'll happen on a not yet existing file\n }\n var tmpfile = getTmpname(filename)\n\n try {\n if (!options.mode || !options.chown) {\n // Either mode or chown is not explicitly set\n // Default behavior is to copy it from original file\n try {\n var stats = fs.statSync(filename)\n options = extend({}, options)\n if (!options.mode) {\n options.mode = stats.mode\n }\n if (!options.chown && process.getuid) {\n options.chown = { uid: stats.uid, gid: stats.gid }\n }\n } catch (ex) {\n // ignore stat errors\n }\n }\n\n var fd = fs.openSync(tmpfile, 'w', options.mode)\n if (Buffer.isBuffer(data)) {\n fs.writeSync(fd, data, 0, data.length, 0)\n } else if (data != null) {\n fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8'))\n }\n fs.fsyncSync(fd)\n fs.closeSync(fd)\n if (options.chown) fs.chownSync(tmpfile, options.chown.uid, options.chown.gid)\n if (options.mode) fs.chmodSync(tmpfile, options.mode)\n fs.renameSync(tmpfile, filename)\n } catch (err) {\n try { fs.unlinkSync(tmpfile) } catch (e) {}\n throw err\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/write-file-atomic" }, { "id": "134", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/dot-prop/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nconst isObj = require('is-obj');\n\nfunction getPathSegments(path) {\n\tconst pathArr = path.split('.');\n\tconst parts = [];\n\n\tfor (let i = 0; i < pathArr.length; i++) {\n\t\tlet p = pathArr[i];\n\n\t\twhile (p[p.length - 1] === '\\\\' && pathArr[i + 1] !== undefined) {\n\t\t\tp = p.slice(0, -1) + '.';\n\t\t\tp += pathArr[++i];\n\t\t}\n\n\t\tparts.push(p);\n\t}\n\n\treturn parts;\n}\n\nmodule.exports = {\n\tget(obj, path, value) {\n\t\tif (!isObj(obj) || typeof path !== 'string') {\n\t\t\treturn value === undefined ? obj : value;\n\t\t}\n\n\t\tconst pathArr = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArr.length; i++) {\n\t\t\tif (!Object.prototype.propertyIsEnumerable.call(obj, pathArr[i])) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tobj = obj[pathArr[i]];\n\n\t\t\tif (obj === undefined || obj === null) {\n\t\t\t\t// `obj` is either `undefined` or `null` so we want to stop the loop, and\n\t\t\t\t// if this is not the last bit of the path, and\n\t\t\t\t// if it did't return `undefined`\n\t\t\t\t// it would return `null` if `obj` is `null`\n\t\t\t\t// but we want `get({foo: null}, 'foo.bar')` to equal `undefined`, or the supplied value, not `null`\n\t\t\t\tif (i !== pathArr.length - 1) {\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\tset(obj, path, value) {\n\t\tif (!isObj(obj) || typeof path !== 'string') {\n\t\t\treturn;\n\t\t}\n\n\t\tconst pathArr = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArr.length; i++) {\n\t\t\tconst p = pathArr[i];\n\n\t\t\tif (!isObj(obj[p])) {\n\t\t\t\tobj[p] = {};\n\t\t\t}\n\n\t\t\tif (i === pathArr.length - 1) {\n\t\t\t\tobj[p] = value;\n\t\t\t}\n\n\t\t\tobj = obj[p];\n\t\t}\n\t},\n\n\tdelete(obj, path) {\n\t\tif (!isObj(obj) || typeof path !== 'string') {\n\t\t\treturn;\n\t\t}\n\n\t\tconst pathArr = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArr.length; i++) {\n\t\t\tconst p = pathArr[i];\n\n\t\t\tif (i === pathArr.length - 1) {\n\t\t\t\tdelete obj[p];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tobj = obj[p];\n\n\t\t\tif (!isObj(obj)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t},\n\n\thas(obj, path) {\n\t\tif (!isObj(obj) || typeof path !== 'string') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst pathArr = getPathSegments(path);\n\n\t\tfor (let i = 0; i < pathArr.length; i++) {\n\t\t\tif (isObj(obj)) {\n\t\t\t\tif (!(pathArr[i] in obj)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tobj = obj[pathArr[i]];\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/dot-prop" }, { "id": "136", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nconst cryptoRandomString = require('crypto-random-string');\n\nmodule.exports = () => cryptoRandomString(32);\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string" }, { "id": "137", "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string/node_modules/crypto-random-string/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nconst crypto = require('crypto');\n\nmodule.exports = len => {\n\tif (!Number.isFinite(len)) {\n\t\tthrow new TypeError('Expected a finite number');\n\t}\n\n\treturn crypto.randomBytes(Math.ceil(len / 2)).toString('hex').slice(0, len);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string/node_modules/crypto-random-string" }, { "id": "138", "url": "crypto.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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// Note: In 0.8 and before, crypto functions all defaulted to using\n// binary-encoded strings rather than buffers.\n\n'use strict';\n\nconst internalUtil = require('internal/util');\ninternalUtil.assertCrypto();\n\nexports.DEFAULT_ENCODING = 'buffer';\n\nconst constants = process.binding('constants').crypto;\nconst binding = process.binding('crypto');\nconst randomBytes = binding.randomBytes;\nconst getCiphers = binding.getCiphers;\nconst getHashes = binding.getHashes;\nconst getCurves = binding.getCurves;\nconst getFipsCrypto = binding.getFipsCrypto;\nconst setFipsCrypto = binding.setFipsCrypto;\nconst timingSafeEqual = binding.timingSafeEqual;\n\nconst Buffer = require('buffer').Buffer;\nconst kBufferMaxLength = require('buffer').kMaxLength;\nconst stream = require('stream');\nconst util = require('util');\nconst { isUint8Array } = process.binding('util');\nconst LazyTransform = require('internal/streams/lazy_transform');\n\nconst DH_GENERATOR = 2;\n\nObject.defineProperty(exports, 'constants', {\n configurable: false,\n enumerable: true,\n value: constants\n});\n\n// This is here because many functions accepted binary strings without\n// any explicit encoding in older versions of node, and we don't want\n// to break them unnecessarily.\nfunction toBuf(str, encoding) {\n if (typeof str === 'string') {\n if (encoding === 'buffer' || !encoding)\n encoding = 'utf8';\n return Buffer.from(str, encoding);\n }\n return str;\n}\nexports._toBuf = toBuf;\n\n\nconst assert = require('assert');\nconst StringDecoder = require('string_decoder').StringDecoder;\n\n\nexports.createHash = exports.Hash = Hash;\nfunction Hash(algorithm, options) {\n if (!(this instanceof Hash))\n return new Hash(algorithm, options);\n this._handle = new binding.Hash(algorithm);\n LazyTransform.call(this, options);\n}\n\nutil.inherits(Hash, LazyTransform);\n\nHash.prototype._transform = function _transform(chunk, encoding, callback) {\n this._handle.update(chunk, encoding);\n callback();\n};\n\nHash.prototype._flush = function _flush(callback) {\n this.push(this._handle.digest());\n callback();\n};\n\nHash.prototype.update = function update(data, encoding) {\n encoding = encoding || exports.DEFAULT_ENCODING;\n this._handle.update(data, encoding);\n return this;\n};\n\n\nHash.prototype.digest = function digest(outputEncoding) {\n outputEncoding = outputEncoding || exports.DEFAULT_ENCODING;\n // Explicit conversion for backward compatibility.\n return this._handle.digest(`${outputEncoding}`);\n};\n\n\nexports.createHmac = exports.Hmac = Hmac;\n\nfunction Hmac(hmac, key, options) {\n if (!(this instanceof Hmac))\n return new Hmac(hmac, key, options);\n this._handle = new binding.Hmac();\n this._handle.init(hmac, toBuf(key));\n LazyTransform.call(this, options);\n}\n\nutil.inherits(Hmac, LazyTransform);\n\nHmac.prototype.update = Hash.prototype.update;\nHmac.prototype.digest = Hash.prototype.digest;\nHmac.prototype._flush = Hash.prototype._flush;\nHmac.prototype._transform = Hash.prototype._transform;\n\n\nfunction getDecoder(decoder, encoding) {\n encoding = internalUtil.normalizeEncoding(encoding);\n decoder = decoder || new StringDecoder(encoding);\n assert(decoder.encoding === encoding, 'Cannot change encoding');\n return decoder;\n}\n\n\nexports.createCipher = exports.Cipher = Cipher;\nfunction Cipher(cipher, password, options) {\n if (!(this instanceof Cipher))\n return new Cipher(cipher, password, options);\n this._handle = new binding.CipherBase(true);\n\n this._handle.init(cipher, toBuf(password));\n this._decoder = null;\n\n LazyTransform.call(this, options);\n}\n\nutil.inherits(Cipher, LazyTransform);\n\nCipher.prototype._transform = function _transform(chunk, encoding, callback) {\n this.push(this._handle.update(chunk, encoding));\n callback();\n};\n\nCipher.prototype._flush = function _flush(callback) {\n try {\n this.push(this._handle.final());\n } catch (e) {\n callback(e);\n return;\n }\n callback();\n};\n\nCipher.prototype.update = function update(data, inputEncoding, outputEncoding) {\n inputEncoding = inputEncoding || exports.DEFAULT_ENCODING;\n outputEncoding = outputEncoding || exports.DEFAULT_ENCODING;\n\n var ret = this._handle.update(data, inputEncoding);\n\n if (outputEncoding && outputEncoding !== 'buffer') {\n this._decoder = getDecoder(this._decoder, outputEncoding);\n ret = this._decoder.write(ret);\n }\n\n return ret;\n};\n\n\nCipher.prototype.final = function final(outputEncoding) {\n outputEncoding = outputEncoding || exports.DEFAULT_ENCODING;\n var ret = this._handle.final();\n\n if (outputEncoding && outputEncoding !== 'buffer') {\n this._decoder = getDecoder(this._decoder, outputEncoding);\n ret = this._decoder.end(ret);\n }\n\n return ret;\n};\n\n\nCipher.prototype.setAutoPadding = function setAutoPadding(ap) {\n this._handle.setAutoPadding(ap);\n return this;\n};\n\nCipher.prototype.getAuthTag = function getAuthTag() {\n return this._handle.getAuthTag();\n};\n\n\nCipher.prototype.setAuthTag = function setAuthTag(tagbuf) {\n this._handle.setAuthTag(tagbuf);\n return this;\n};\n\nCipher.prototype.setAAD = function setAAD(aadbuf) {\n this._handle.setAAD(aadbuf);\n return this;\n};\n\nexports.createCipheriv = exports.Cipheriv = Cipheriv;\nfunction Cipheriv(cipher, key, iv, options) {\n if (!(this instanceof Cipheriv))\n return new Cipheriv(cipher, key, iv, options);\n this._handle = new binding.CipherBase(true);\n this._handle.initiv(cipher, toBuf(key), toBuf(iv));\n this._decoder = null;\n\n LazyTransform.call(this, options);\n}\n\nutil.inherits(Cipheriv, LazyTransform);\n\nCipheriv.prototype._transform = Cipher.prototype._transform;\nCipheriv.prototype._flush = Cipher.prototype._flush;\nCipheriv.prototype.update = Cipher.prototype.update;\nCipheriv.prototype.final = Cipher.prototype.final;\nCipheriv.prototype.setAutoPadding = Cipher.prototype.setAutoPadding;\nCipheriv.prototype.getAuthTag = Cipher.prototype.getAuthTag;\nCipheriv.prototype.setAuthTag = Cipher.prototype.setAuthTag;\nCipheriv.prototype.setAAD = Cipher.prototype.setAAD;\n\nexports.createDecipher = exports.Decipher = Decipher;\nfunction Decipher(cipher, password, options) {\n if (!(this instanceof Decipher))\n return new Decipher(cipher, password, options);\n\n this._handle = new binding.CipherBase(false);\n this._handle.init(cipher, toBuf(password));\n this._decoder = null;\n\n LazyTransform.call(this, options);\n}\n\nutil.inherits(Decipher, LazyTransform);\n\nDecipher.prototype._transform = Cipher.prototype._transform;\nDecipher.prototype._flush = Cipher.prototype._flush;\nDecipher.prototype.update = Cipher.prototype.update;\nDecipher.prototype.final = Cipher.prototype.final;\nDecipher.prototype.finaltol = Cipher.prototype.final;\nDecipher.prototype.setAutoPadding = Cipher.prototype.setAutoPadding;\nDecipher.prototype.getAuthTag = Cipher.prototype.getAuthTag;\nDecipher.prototype.setAuthTag = Cipher.prototype.setAuthTag;\nDecipher.prototype.setAAD = Cipher.prototype.setAAD;\n\n\nexports.createDecipheriv = exports.Decipheriv = Decipheriv;\nfunction Decipheriv(cipher, key, iv, options) {\n if (!(this instanceof Decipheriv))\n return new Decipheriv(cipher, key, iv, options);\n\n this._handle = new binding.CipherBase(false);\n this._handle.initiv(cipher, toBuf(key), toBuf(iv));\n this._decoder = null;\n\n LazyTransform.call(this, options);\n}\n\nutil.inherits(Decipheriv, LazyTransform);\n\nDecipheriv.prototype._transform = Cipher.prototype._transform;\nDecipheriv.prototype._flush = Cipher.prototype._flush;\nDecipheriv.prototype.update = Cipher.prototype.update;\nDecipheriv.prototype.final = Cipher.prototype.final;\nDecipheriv.prototype.finaltol = Cipher.prototype.final;\nDecipheriv.prototype.setAutoPadding = Cipher.prototype.setAutoPadding;\nDecipheriv.prototype.getAuthTag = Cipher.prototype.getAuthTag;\nDecipheriv.prototype.setAuthTag = Cipher.prototype.setAuthTag;\nDecipheriv.prototype.setAAD = Cipher.prototype.setAAD;\n\n\nexports.createSign = exports.Sign = Sign;\nfunction Sign(algorithm, options) {\n if (!(this instanceof Sign))\n return new Sign(algorithm, options);\n this._handle = new binding.Sign();\n this._handle.init(algorithm);\n\n stream.Writable.call(this, options);\n}\n\nutil.inherits(Sign, stream.Writable);\n\nSign.prototype._write = function _write(chunk, encoding, callback) {\n this._handle.update(chunk, encoding);\n callback();\n};\n\nSign.prototype.update = Hash.prototype.update;\n\nSign.prototype.sign = function sign(options, encoding) {\n if (!options)\n throw new Error('No key provided to sign');\n\n var key = options.key || options;\n var passphrase = options.passphrase || null;\n\n // Options specific to RSA\n var rsaPadding = constants.RSA_PKCS1_PADDING;\n if (options.hasOwnProperty('padding')) {\n if (options.padding === options.padding >> 0) {\n rsaPadding = options.padding;\n } else {\n throw new TypeError('padding must be an integer');\n }\n }\n\n var pssSaltLength = constants.RSA_PSS_SALTLEN_AUTO;\n if (options.hasOwnProperty('saltLength')) {\n if (options.saltLength === options.saltLength >> 0) {\n pssSaltLength = options.saltLength;\n } else {\n throw new TypeError('saltLength must be an integer');\n }\n }\n\n var ret = this._handle.sign(toBuf(key), passphrase, rsaPadding,\n pssSaltLength);\n\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n ret = ret.toString(encoding);\n\n return ret;\n};\n\n\nexports.createVerify = exports.Verify = Verify;\nfunction Verify(algorithm, options) {\n if (!(this instanceof Verify))\n return new Verify(algorithm, options);\n\n this._handle = new binding.Verify();\n this._handle.init(algorithm);\n\n stream.Writable.call(this, options);\n}\n\nutil.inherits(Verify, stream.Writable);\n\nVerify.prototype._write = Sign.prototype._write;\nVerify.prototype.update = Sign.prototype.update;\n\nVerify.prototype.verify = function verify(options, signature, sigEncoding) {\n var key = options.key || options;\n sigEncoding = sigEncoding || exports.DEFAULT_ENCODING;\n\n // Options specific to RSA\n var rsaPadding = constants.RSA_PKCS1_PADDING;\n if (options.hasOwnProperty('padding')) {\n if (options.padding === options.padding >> 0) {\n rsaPadding = options.padding;\n } else {\n throw new TypeError('padding must be an integer');\n }\n }\n\n var pssSaltLength = constants.RSA_PSS_SALTLEN_AUTO;\n if (options.hasOwnProperty('saltLength')) {\n if (options.saltLength === options.saltLength >> 0) {\n pssSaltLength = options.saltLength;\n } else {\n throw new TypeError('saltLength must be an integer');\n }\n }\n\n return this._handle.verify(toBuf(key), toBuf(signature, sigEncoding),\n rsaPadding, pssSaltLength);\n};\n\nfunction rsaPublic(method, defaultPadding) {\n return function(options, buffer) {\n var key = options.key || options;\n var padding = options.padding || defaultPadding;\n var passphrase = options.passphrase || null;\n return method(toBuf(key), buffer, padding, passphrase);\n };\n}\n\nfunction rsaPrivate(method, defaultPadding) {\n return function(options, buffer) {\n var key = options.key || options;\n var passphrase = options.passphrase || null;\n var padding = options.padding || defaultPadding;\n return method(toBuf(key), buffer, padding, passphrase);\n };\n}\n\nexports.publicEncrypt = rsaPublic(binding.publicEncrypt,\n constants.RSA_PKCS1_OAEP_PADDING);\nexports.publicDecrypt = rsaPublic(binding.publicDecrypt,\n constants.RSA_PKCS1_PADDING);\nexports.privateEncrypt = rsaPrivate(binding.privateEncrypt,\n constants.RSA_PKCS1_PADDING);\nexports.privateDecrypt = rsaPrivate(binding.privateDecrypt,\n constants.RSA_PKCS1_OAEP_PADDING);\n\n\nexports.createDiffieHellman = exports.DiffieHellman = DiffieHellman;\n\nfunction DiffieHellman(sizeOrKey, keyEncoding, generator, genEncoding) {\n if (!(this instanceof DiffieHellman))\n return new DiffieHellman(sizeOrKey, keyEncoding, generator, genEncoding);\n\n if (typeof sizeOrKey !== 'number' &&\n typeof sizeOrKey !== 'string' &&\n !ArrayBuffer.isView(sizeOrKey)) {\n throw new TypeError('First argument should be number, string, ' +\n 'Buffer, TypedArray, or DataView');\n }\n\n if (keyEncoding) {\n if (typeof keyEncoding !== 'string' ||\n (!Buffer.isEncoding(keyEncoding) && keyEncoding !== 'buffer')) {\n genEncoding = generator;\n generator = keyEncoding;\n keyEncoding = false;\n }\n }\n\n keyEncoding = keyEncoding || exports.DEFAULT_ENCODING;\n genEncoding = genEncoding || exports.DEFAULT_ENCODING;\n\n if (typeof sizeOrKey !== 'number')\n sizeOrKey = toBuf(sizeOrKey, keyEncoding);\n\n if (!generator)\n generator = DH_GENERATOR;\n else if (typeof generator !== 'number')\n generator = toBuf(generator, genEncoding);\n\n this._handle = new binding.DiffieHellman(sizeOrKey, generator);\n Object.defineProperty(this, 'verifyError', {\n enumerable: true,\n value: this._handle.verifyError,\n writable: false\n });\n}\n\n\nexports.DiffieHellmanGroup =\n exports.createDiffieHellmanGroup =\n exports.getDiffieHellman = DiffieHellmanGroup;\n\nfunction DiffieHellmanGroup(name) {\n if (!(this instanceof DiffieHellmanGroup))\n return new DiffieHellmanGroup(name);\n this._handle = new binding.DiffieHellmanGroup(name);\n Object.defineProperty(this, 'verifyError', {\n enumerable: true,\n value: this._handle.verifyError,\n writable: false\n });\n}\n\n\nDiffieHellmanGroup.prototype.generateKeys =\n DiffieHellman.prototype.generateKeys =\n dhGenerateKeys;\n\nfunction dhGenerateKeys(encoding) {\n var keys = this._handle.generateKeys();\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n keys = keys.toString(encoding);\n return keys;\n}\n\n\nDiffieHellmanGroup.prototype.computeSecret =\n DiffieHellman.prototype.computeSecret =\n dhComputeSecret;\n\nfunction dhComputeSecret(key, inEnc, outEnc) {\n inEnc = inEnc || exports.DEFAULT_ENCODING;\n outEnc = outEnc || exports.DEFAULT_ENCODING;\n var ret = this._handle.computeSecret(toBuf(key, inEnc));\n if (outEnc && outEnc !== 'buffer')\n ret = ret.toString(outEnc);\n return ret;\n}\n\n\nDiffieHellmanGroup.prototype.getPrime =\n DiffieHellman.prototype.getPrime =\n dhGetPrime;\n\nfunction dhGetPrime(encoding) {\n var prime = this._handle.getPrime();\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n prime = prime.toString(encoding);\n return prime;\n}\n\n\nDiffieHellmanGroup.prototype.getGenerator =\n DiffieHellman.prototype.getGenerator =\n dhGetGenerator;\n\nfunction dhGetGenerator(encoding) {\n var generator = this._handle.getGenerator();\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n generator = generator.toString(encoding);\n return generator;\n}\n\n\nDiffieHellmanGroup.prototype.getPublicKey =\n DiffieHellman.prototype.getPublicKey =\n dhGetPublicKey;\n\nfunction dhGetPublicKey(encoding) {\n var key = this._handle.getPublicKey();\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n key = key.toString(encoding);\n return key;\n}\n\n\nDiffieHellmanGroup.prototype.getPrivateKey =\n DiffieHellman.prototype.getPrivateKey =\n dhGetPrivateKey;\n\nfunction dhGetPrivateKey(encoding) {\n var key = this._handle.getPrivateKey();\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n key = key.toString(encoding);\n return key;\n}\n\n\nDiffieHellman.prototype.setPublicKey = function setPublicKey(key, encoding) {\n encoding = encoding || exports.DEFAULT_ENCODING;\n this._handle.setPublicKey(toBuf(key, encoding));\n return this;\n};\n\n\nDiffieHellman.prototype.setPrivateKey = function setPrivateKey(key, encoding) {\n encoding = encoding || exports.DEFAULT_ENCODING;\n this._handle.setPrivateKey(toBuf(key, encoding));\n return this;\n};\n\n\nfunction ECDH(curve) {\n if (typeof curve !== 'string')\n throw new TypeError('\"curve\" argument should be a string');\n\n this._handle = new binding.ECDH(curve);\n}\n\nexports.createECDH = function createECDH(curve) {\n return new ECDH(curve);\n};\n\nECDH.prototype.computeSecret = DiffieHellman.prototype.computeSecret;\nECDH.prototype.setPrivateKey = DiffieHellman.prototype.setPrivateKey;\nECDH.prototype.setPublicKey = DiffieHellman.prototype.setPublicKey;\nECDH.prototype.getPrivateKey = DiffieHellman.prototype.getPrivateKey;\n\nECDH.prototype.generateKeys = function generateKeys(encoding, format) {\n this._handle.generateKeys();\n\n return this.getPublicKey(encoding, format);\n};\n\nECDH.prototype.getPublicKey = function getPublicKey(encoding, format) {\n var f;\n if (format) {\n if (typeof format === 'number')\n f = format;\n if (format === 'compressed')\n f = constants.POINT_CONVERSION_COMPRESSED;\n else if (format === 'hybrid')\n f = constants.POINT_CONVERSION_HYBRID;\n // Default\n else if (format === 'uncompressed')\n f = constants.POINT_CONVERSION_UNCOMPRESSED;\n else\n throw new TypeError('Bad format: ' + format);\n } else {\n f = constants.POINT_CONVERSION_UNCOMPRESSED;\n }\n var key = this._handle.getPublicKey(f);\n encoding = encoding || exports.DEFAULT_ENCODING;\n if (encoding && encoding !== 'buffer')\n key = key.toString(encoding);\n return key;\n};\n\n\nexports.pbkdf2 = function(password,\n salt,\n iterations,\n keylen,\n digest,\n callback) {\n if (typeof digest === 'function') {\n callback = digest;\n digest = undefined;\n }\n\n if (typeof callback !== 'function')\n throw new Error('No callback provided to pbkdf2');\n\n return pbkdf2(password, salt, iterations, keylen, digest, callback);\n};\n\n\nexports.pbkdf2Sync = function(password, salt, iterations, keylen, digest) {\n return pbkdf2(password, salt, iterations, keylen, digest);\n};\n\n\nfunction pbkdf2(password, salt, iterations, keylen, digest, callback) {\n\n if (digest === undefined) {\n throw new TypeError(\n 'The \"digest\" argument is required and must not be undefined');\n }\n\n password = toBuf(password);\n salt = toBuf(salt);\n\n if (exports.DEFAULT_ENCODING === 'buffer')\n return binding.PBKDF2(password, salt, iterations, keylen, digest, callback);\n\n // at this point, we need to handle encodings.\n var encoding = exports.DEFAULT_ENCODING;\n if (callback) {\n function next(er, ret) {\n if (ret)\n ret = ret.toString(encoding);\n callback(er, ret);\n }\n binding.PBKDF2(password, salt, iterations, keylen, digest, next);\n } else {\n var ret = binding.PBKDF2(password, salt, iterations, keylen, digest);\n return ret.toString(encoding);\n }\n}\n\n\nexports.Certificate = Certificate;\n\nfunction Certificate() {\n if (!(this instanceof Certificate))\n return new Certificate();\n}\n\n\nCertificate.prototype.verifySpkac = function verifySpkac(object) {\n return binding.certVerifySpkac(object);\n};\n\n\nCertificate.prototype.exportPublicKey =\n function exportPublicKey(object, encoding) {\n return binding.certExportPublicKey(toBuf(object, encoding));\n };\n\n\nCertificate.prototype.exportChallenge =\n function exportChallenge(object, encoding) {\n return binding.certExportChallenge(toBuf(object, encoding));\n };\n\n\nexports.setEngine = function setEngine(id, flags) {\n if (typeof id !== 'string')\n throw new TypeError('\"id\" argument should be a string');\n\n if (flags && typeof flags !== 'number')\n throw new TypeError('\"flags\" argument should be a number, if present');\n flags = flags >>> 0;\n\n // Use provided engine for everything by default\n if (flags === 0)\n flags = constants.ENGINE_METHOD_ALL;\n\n return binding.setEngine(id, flags);\n};\n\nconst kMaxUint32 = Math.pow(2, 32) - 1;\n\nfunction randomFillSync(buf, offset = 0, size) {\n if (!isUint8Array(buf)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');\n }\n\n assertOffset(offset, buf.length);\n\n if (size === undefined) size = buf.length - offset;\n\n assertSize(size, offset, buf.length);\n\n return binding.randomFill(buf, offset, size);\n}\nexports.randomFillSync = randomFillSync;\n\nfunction randomFill(buf, offset, size, cb) {\n if (!isUint8Array(buf)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');\n }\n\n if (typeof offset === 'function') {\n cb = offset;\n offset = 0;\n size = buf.length;\n } else if (typeof size === 'function') {\n cb = size;\n size = buf.length - offset;\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function');\n }\n\n assertOffset(offset, buf.length);\n assertSize(size, offset, buf.length);\n\n return binding.randomFill(buf, offset, size, cb);\n}\nexports.randomFill = randomFill;\n\nfunction assertOffset(offset, length) {\n if (typeof offset !== 'number' || offset !== offset) {\n throw new TypeError('offset must be a number');\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32');\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range');\n }\n}\n\nfunction assertSize(size, offset, length) {\n if (typeof size !== 'number' || size !== size) {\n throw new TypeError('size must be a number');\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32');\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small');\n }\n}\n\nexports.randomBytes = exports.pseudoRandomBytes = randomBytes;\n\nexports.rng = exports.prng = randomBytes;\n\nexports.getCiphers = internalUtil.cachedResult(\n () => internalUtil.filterDuplicateStrings(getCiphers())\n);\n\nexports.getHashes = internalUtil.cachedResult(\n () => internalUtil.filterDuplicateStrings(getHashes())\n);\n\nexports.getCurves = internalUtil.cachedResult(\n () => internalUtil.filterDuplicateStrings(getCurves())\n);\n\nObject.defineProperty(exports, 'fips', {\n get: getFipsCrypto,\n set: setFipsCrypto\n});\n\nexports.timingSafeEqual = timingSafeEqual;\n\n// Legacy API\nObject.defineProperty(exports, 'createCredentials', {\n configurable: true,\n enumerable: true,\n get: internalUtil.deprecate(function() {\n return require('tls').createSecureContext;\n }, 'crypto.createCredentials is deprecated. ' +\n 'Use tls.createSecureContext instead.', 'DEP0010')\n});\n\nObject.defineProperty(exports, 'Credentials', {\n configurable: true,\n enumerable: true,\n get: internalUtil.deprecate(function() {\n return require('tls').SecureContext;\n }, 'crypto.Credentials is deprecated. ' +\n 'Use tls.SecureContext instead.', 'DEP0011')\n});\n\n});", "pkgUrl": "(system)" }, { "id": "157", "url": "/usr/local/lib/node_modules/npm/node_modules/nopt/lib/nopt.js", "source": "(function (exports, require, module, __filename, __dirname) { // info about each config option.\n\nvar debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG\n ? function () { console.error.apply(console, arguments) }\n : function () {}\n\nvar url = require(\"url\")\n , path = require(\"path\")\n , Stream = require(\"stream\").Stream\n , abbrev = require(\"abbrev\")\n , osenv = require(\"osenv\")\n\nmodule.exports = exports = nopt\nexports.clean = clean\n\nexports.typeDefs =\n { String : { type: String, validate: validateString }\n , Boolean : { type: Boolean, validate: validateBoolean }\n , url : { type: url, validate: validateUrl }\n , Number : { type: Number, validate: validateNumber }\n , path : { type: path, validate: validatePath }\n , Stream : { type: Stream, validate: validateStream }\n , Date : { type: Date, validate: validateDate }\n }\n\nfunction nopt (types, shorthands, args, slice) {\n args = args || process.argv\n types = types || {}\n shorthands = shorthands || {}\n if (typeof slice !== \"number\") slice = 2\n\n debug(types, shorthands, args, slice)\n\n args = args.slice(slice)\n var data = {}\n , key\n , argv = {\n remain: [],\n cooked: args,\n original: args.slice(0)\n }\n\n parse(args, data, argv.remain, types, shorthands)\n // now data is full\n clean(data, types, exports.typeDefs)\n data.argv = argv\n Object.defineProperty(data.argv, 'toString', { value: function () {\n return this.original.map(JSON.stringify).join(\" \")\n }, enumerable: false })\n return data\n}\n\nfunction clean (data, types, typeDefs) {\n typeDefs = typeDefs || exports.typeDefs\n var remove = {}\n , typeDefault = [false, true, null, String, Array]\n\n Object.keys(data).forEach(function (k) {\n if (k === \"argv\") return\n var val = data[k]\n , isArray = Array.isArray(val)\n , type = types[k]\n if (!isArray) val = [val]\n if (!type) type = typeDefault\n if (type === Array) type = typeDefault.concat(Array)\n if (!Array.isArray(type)) type = [type]\n\n debug(\"val=%j\", val)\n debug(\"types=\", type)\n val = val.map(function (val) {\n // if it's an unknown value, then parse false/true/null/numbers/dates\n if (typeof val === \"string\") {\n debug(\"string %j\", val)\n val = val.trim()\n if ((val === \"null\" && ~type.indexOf(null))\n || (val === \"true\" &&\n (~type.indexOf(true) || ~type.indexOf(Boolean)))\n || (val === \"false\" &&\n (~type.indexOf(false) || ~type.indexOf(Boolean)))) {\n val = JSON.parse(val)\n debug(\"jsonable %j\", val)\n } else if (~type.indexOf(Number) && !isNaN(val)) {\n debug(\"convert to number\", val)\n val = +val\n } else if (~type.indexOf(Date) && !isNaN(Date.parse(val))) {\n debug(\"convert to date\", val)\n val = new Date(val)\n }\n }\n\n if (!types.hasOwnProperty(k)) {\n return val\n }\n\n // allow `--no-blah` to set 'blah' to null if null is allowed\n if (val === false && ~type.indexOf(null) &&\n !(~type.indexOf(false) || ~type.indexOf(Boolean))) {\n val = null\n }\n\n var d = {}\n d[k] = val\n debug(\"prevalidated val\", d, val, types[k])\n if (!validate(d, k, val, types[k], typeDefs)) {\n if (exports.invalidHandler) {\n exports.invalidHandler(k, val, types[k], data)\n } else if (exports.invalidHandler !== false) {\n debug(\"invalid: \"+k+\"=\"+val, types[k])\n }\n return remove\n }\n debug(\"validated val\", d, val, types[k])\n return d[k]\n }).filter(function (val) { return val !== remove })\n\n if (!val.length) delete data[k]\n else if (isArray) {\n debug(isArray, data[k], val)\n data[k] = val\n } else data[k] = val[0]\n\n debug(\"k=%s val=%j\", k, val, data[k])\n })\n}\n\nfunction validateString (data, k, val) {\n data[k] = String(val)\n}\n\nfunction validatePath (data, k, val) {\n if (val === true) return false\n if (val === null) return true\n\n val = String(val)\n\n var isWin = process.platform === 'win32'\n , homePattern = isWin ? /^~(\\/|\\\\)/ : /^~\\//\n , home = osenv.home()\n\n if (home && val.match(homePattern)) {\n data[k] = path.resolve(home, val.substr(2))\n } else {\n data[k] = path.resolve(val)\n }\n return true\n}\n\nfunction validateNumber (data, k, val) {\n debug(\"validate Number %j %j %j\", k, val, isNaN(val))\n if (isNaN(val)) return false\n data[k] = +val\n}\n\nfunction validateDate (data, k, val) {\n var s = Date.parse(val)\n debug(\"validate Date %j %j %j\", k, val, s)\n if (isNaN(s)) return false\n data[k] = new Date(val)\n}\n\nfunction validateBoolean (data, k, val) {\n if (val instanceof Boolean) val = val.valueOf()\n else if (typeof val === \"string\") {\n if (!isNaN(val)) val = !!(+val)\n else if (val === \"null\" || val === \"false\") val = false\n else val = true\n } else val = !!val\n data[k] = val\n}\n\nfunction validateUrl (data, k, val) {\n val = url.parse(String(val))\n if (!val.host) return false\n data[k] = val.href\n}\n\nfunction validateStream (data, k, val) {\n if (!(val instanceof Stream)) return false\n data[k] = val\n}\n\nfunction validate (data, k, val, type, typeDefs) {\n // arrays are lists of types.\n if (Array.isArray(type)) {\n for (var i = 0, l = type.length; i < l; i ++) {\n if (type[i] === Array) continue\n if (validate(data, k, val, type[i], typeDefs)) return true\n }\n delete data[k]\n return false\n }\n\n // an array of anything?\n if (type === Array) return true\n\n // NaN is poisonous. Means that something is not allowed.\n if (type !== type) {\n debug(\"Poison NaN\", k, val, type)\n delete data[k]\n return false\n }\n\n // explicit list of values\n if (val === type) {\n debug(\"Explicitly allowed %j\", val)\n // if (isArray) (data[k] = data[k] || []).push(val)\n // else data[k] = val\n data[k] = val\n return true\n }\n\n // now go through the list of typeDefs, validate against each one.\n var ok = false\n , types = Object.keys(typeDefs)\n for (var i = 0, l = types.length; i < l; i ++) {\n debug(\"test type %j %j %j\", k, val, types[i])\n var t = typeDefs[types[i]]\n if (t &&\n ((type && type.name && t.type && t.type.name) ? (type.name === t.type.name) : (type === t.type))) {\n var d = {}\n ok = false !== t.validate(d, k, val)\n val = d[k]\n if (ok) {\n // if (isArray) (data[k] = data[k] || []).push(val)\n // else data[k] = val\n data[k] = val\n break\n }\n }\n }\n debug(\"OK? %j (%j %j %j)\", ok, k, val, types[i])\n\n if (!ok) delete data[k]\n return ok\n}\n\nfunction parse (args, data, remain, types, shorthands) {\n debug(\"parse\", args, data, remain)\n\n var key = null\n , abbrevs = abbrev(Object.keys(types))\n , shortAbbr = abbrev(Object.keys(shorthands))\n\n for (var i = 0; i < args.length; i ++) {\n var arg = args[i]\n debug(\"arg\", arg)\n\n if (arg.match(/^-{2,}$/)) {\n // done with keys.\n // the rest are args.\n remain.push.apply(remain, args.slice(i + 1))\n args[i] = \"--\"\n break\n }\n var hadEq = false\n if (arg.charAt(0) === \"-\" && arg.length > 1) {\n var at = arg.indexOf('=')\n if (at > -1) {\n hadEq = true\n var v = arg.substr(at + 1)\n arg = arg.substr(0, at)\n args.splice(i, 1, arg, v)\n }\n\n // see if it's a shorthand\n // if so, splice and back up to re-parse it.\n var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs)\n debug(\"arg=%j shRes=%j\", arg, shRes)\n if (shRes) {\n debug(arg, shRes)\n args.splice.apply(args, [i, 1].concat(shRes))\n if (arg !== shRes[0]) {\n i --\n continue\n }\n }\n arg = arg.replace(/^-+/, \"\")\n var no = null\n while (arg.toLowerCase().indexOf(\"no-\") === 0) {\n no = !no\n arg = arg.substr(3)\n }\n\n if (abbrevs[arg]) arg = abbrevs[arg]\n\n var argType = types[arg]\n var isTypeArray = Array.isArray(argType)\n if (isTypeArray && argType.length === 1) {\n isTypeArray = false\n argType = argType[0]\n }\n\n var isArray = argType === Array ||\n isTypeArray && argType.indexOf(Array) !== -1\n\n // allow unknown things to be arrays if specified multiple times.\n if (!types.hasOwnProperty(arg) && data.hasOwnProperty(arg)) {\n if (!Array.isArray(data[arg]))\n data[arg] = [data[arg]]\n isArray = true\n }\n\n var val\n , la = args[i + 1]\n\n var isBool = typeof no === 'boolean' ||\n argType === Boolean ||\n isTypeArray && argType.indexOf(Boolean) !== -1 ||\n (typeof argType === 'undefined' && !hadEq) ||\n (la === \"false\" &&\n (argType === null ||\n isTypeArray && ~argType.indexOf(null)))\n\n if (isBool) {\n // just set and move along\n val = !no\n // however, also support --bool true or --bool false\n if (la === \"true\" || la === \"false\") {\n val = JSON.parse(la)\n la = null\n if (no) val = !val\n i ++\n }\n\n // also support \"foo\":[Boolean, \"bar\"] and \"--foo bar\"\n if (isTypeArray && la) {\n if (~argType.indexOf(la)) {\n // an explicit type\n val = la\n i ++\n } else if ( la === \"null\" && ~argType.indexOf(null) ) {\n // null allowed\n val = null\n i ++\n } else if ( !la.match(/^-{2,}[^-]/) &&\n !isNaN(la) &&\n ~argType.indexOf(Number) ) {\n // number\n val = +la\n i ++\n } else if ( !la.match(/^-[^-]/) && ~argType.indexOf(String) ) {\n // string\n val = la\n i ++\n }\n }\n\n if (isArray) (data[arg] = data[arg] || []).push(val)\n else data[arg] = val\n\n continue\n }\n\n if (argType === String) {\n if (la === undefined) {\n la = \"\"\n } else if (la.match(/^-{1,2}[^-]+/)) {\n la = \"\"\n i --\n }\n }\n\n if (la && la.match(/^-{2,}$/)) {\n la = undefined\n i --\n }\n\n val = la === undefined ? true : la\n if (isArray) (data[arg] = data[arg] || []).push(val)\n else data[arg] = val\n\n i ++\n continue\n }\n remain.push(arg)\n }\n}\n\nfunction resolveShort (arg, shorthands, shortAbbr, abbrevs) {\n // handle single-char shorthands glommed together, like\n // npm ls -glp, but only if there is one dash, and only if\n // all of the chars are single-char shorthands, and it's\n // not a match to some other abbrev.\n arg = arg.replace(/^-+/, '')\n\n // if it's an exact known option, then don't go any further\n if (abbrevs[arg] === arg)\n return null\n\n // if it's an exact known shortopt, same deal\n if (shorthands[arg]) {\n // make it an array, if it's a list of words\n if (shorthands[arg] && !Array.isArray(shorthands[arg]))\n shorthands[arg] = shorthands[arg].split(/\\s+/)\n\n return shorthands[arg]\n }\n\n // first check to see if this arg is a set of single-char shorthands\n var singles = shorthands.___singles\n if (!singles) {\n singles = Object.keys(shorthands).filter(function (s) {\n return s.length === 1\n }).reduce(function (l,r) {\n l[r] = true\n return l\n }, {})\n shorthands.___singles = singles\n debug('shorthand singles', singles)\n }\n\n var chrs = arg.split(\"\").filter(function (c) {\n return singles[c]\n })\n\n if (chrs.join(\"\") === arg) return chrs.map(function (c) {\n return shorthands[c]\n }).reduce(function (l, r) {\n return l.concat(r)\n }, [])\n\n\n // if it's an arg abbrev, and not a literal shorthand, then prefer the arg\n if (abbrevs[arg] && !shorthands[arg])\n return null\n\n // if it's an abbr for a shorthand, then use that\n if (shortAbbr[arg])\n arg = shortAbbr[arg]\n\n // make it an array, if it's a list of words\n if (shorthands[arg] && !Array.isArray(shorthands[arg]))\n shorthands[arg] = shorthands[arg].split(/\\s+/)\n\n return shorthands[arg]\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/nopt" }, { "id": "180", "url": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n fs.stat(path, function (er, stat) {\n cb(er, er ? false : checkStat(stat, options))\n })\n}\n\nfunction sync (path, options) {\n return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n var mod = stat.mode\n var uid = stat.uid\n var gid = stat.gid\n\n var myUid = options.uid !== undefined ?\n options.uid : process.getuid && process.getuid()\n var myGid = options.gid !== undefined ?\n options.gid : process.getgid && process.getgid()\n\n var u = parseInt('100', 8)\n var g = parseInt('010', 8)\n var o = parseInt('001', 8)\n var ug = u | g\n\n var ret = (mod & o) ||\n (mod & g) && gid === myGid ||\n (mod & u) && uid === myUid ||\n (mod & ug) && myUid === 0\n\n return ret\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe" }, { "id": "179", "url": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n core = require('./windows.js')\n} else {\n core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = {}\n }\n\n if (!cb) {\n if (typeof Promise !== 'function') {\n throw new TypeError('callback not provided')\n }\n\n return new Promise(function (resolve, reject) {\n isexe(path, options || {}, function (er, is) {\n if (er) {\n reject(er)\n } else {\n resolve(is)\n }\n })\n })\n }\n\n core(path, options || {}, function (er, is) {\n // ignore EACCES because that just means we aren't allowed to run it\n if (er) {\n if (er.code === 'EACCES' || options && options.ignoreErrors) {\n er = null\n is = false\n }\n }\n cb(er, is)\n })\n}\n\nfunction sync (path, options) {\n // my kingdom for a filtered catch\n try {\n return core.sync(path, options || {})\n } catch (er) {\n if (options && options.ignoreErrors || er.code === 'EACCES') {\n return false\n } else {\n throw er\n }\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe" }, { "id": "178", "url": "/usr/local/lib/node_modules/npm/node_modules/which/which.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = which\nwhich.sync = whichSync\n\nvar isWindows = process.platform === 'win32' ||\n process.env.OSTYPE === 'cygwin' ||\n process.env.OSTYPE === 'msys'\n\nvar path = require('path')\nvar COLON = isWindows ? ';' : ':'\nvar isexe = require('isexe')\n\nfunction getNotFoundError (cmd) {\n var er = new Error('not found: ' + cmd)\n er.code = 'ENOENT'\n\n return er\n}\n\nfunction getPathInfo (cmd, opt) {\n var colon = opt.colon || COLON\n var pathEnv = opt.path || process.env.PATH || ''\n var pathExt = ['']\n\n pathEnv = pathEnv.split(colon)\n\n var pathExtExe = ''\n if (isWindows) {\n pathEnv.unshift(process.cwd())\n pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM')\n pathExt = pathExtExe.split(colon)\n\n\n // Always test the cmd itself first. isexe will check to make sure\n // it's found in the pathExt set.\n if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n pathExt.unshift('')\n }\n\n // If it has a slash, then we don't bother searching the pathenv.\n // just check the file itself, and that's it.\n if (cmd.match(/\\//) || isWindows && cmd.match(/\\\\/))\n pathEnv = ['']\n\n return {\n env: pathEnv,\n ext: pathExt,\n extExe: pathExtExe\n }\n}\n\nfunction which (cmd, opt, cb) {\n if (typeof opt === 'function') {\n cb = opt\n opt = {}\n }\n\n var info = getPathInfo(cmd, opt)\n var pathEnv = info.env\n var pathExt = info.ext\n var pathExtExe = info.extExe\n var found = []\n\n ;(function F (i, l) {\n if (i === l) {\n if (opt.all && found.length)\n return cb(null, found)\n else\n return cb(getNotFoundError(cmd))\n }\n\n var pathPart = pathEnv[i]\n if (pathPart.charAt(0) === '\"' && pathPart.slice(-1) === '\"')\n pathPart = pathPart.slice(1, -1)\n\n var p = path.join(pathPart, cmd)\n if (!pathPart && (/^\\.[\\\\\\/]/).test(cmd)) {\n p = cmd.slice(0, 2) + p\n }\n ;(function E (ii, ll) {\n if (ii === ll) return F(i + 1, l)\n var ext = pathExt[ii]\n isexe(p + ext, { pathExt: pathExtExe }, function (er, is) {\n if (!er && is) {\n if (opt.all)\n found.push(p + ext)\n else\n return cb(null, p + ext)\n }\n return E(ii + 1, ll)\n })\n })(0, pathExt.length)\n })(0, pathEnv.length)\n}\n\nfunction whichSync (cmd, opt) {\n opt = opt || {}\n\n var info = getPathInfo(cmd, opt)\n var pathEnv = info.env\n var pathExt = info.ext\n var pathExtExe = info.extExe\n var found = []\n\n for (var i = 0, l = pathEnv.length; i < l; i ++) {\n var pathPart = pathEnv[i]\n if (pathPart.charAt(0) === '\"' && pathPart.slice(-1) === '\"')\n pathPart = pathPart.slice(1, -1)\n\n var p = path.join(pathPart, cmd)\n if (!pathPart && /^\\.[\\\\\\/]/.test(cmd)) {\n p = cmd.slice(0, 2) + p\n }\n for (var j = 0, ll = pathExt.length; j < ll; j ++) {\n var cur = p + pathExt[j]\n var is\n try {\n is = isexe.sync(cur, { pathExt: pathExtExe })\n if (is) {\n if (opt.all)\n found.push(cur)\n else\n return cur\n }\n } catch (ex) {}\n }\n }\n\n if (opt.all && found.length)\n return found\n\n throw getNotFoundError(cmd)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/which" }, { "id": "126", "url": "/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var path = require('path');\nvar fs = require('fs');\nvar _0777 = parseInt('0777', 8);\n\nmodule.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;\n\nfunction mkdirP (p, opts, f, made) {\n if (typeof opts === 'function') {\n f = opts;\n opts = {};\n }\n else if (!opts || typeof opts !== 'object') {\n opts = { mode: opts };\n }\n \n var mode = opts.mode;\n var xfs = opts.fs || fs;\n \n if (mode === undefined) {\n mode = _0777 & (~process.umask());\n }\n if (!made) made = null;\n \n var cb = f || function () {};\n p = path.resolve(p);\n \n xfs.mkdir(p, mode, function (er) {\n if (!er) {\n made = made || p;\n return cb(null, made);\n }\n switch (er.code) {\n case 'ENOENT':\n mkdirP(path.dirname(p), opts, function (er, made) {\n if (er) cb(er, made);\n else mkdirP(p, opts, cb, made);\n });\n break;\n\n // In the case of any other error, just see if there's a dir\n // there already. If so, then hooray! If not, then something\n // is borked.\n default:\n xfs.stat(p, function (er2, stat) {\n // if the stat fails, then that's super weird.\n // let the original error be the failure reason.\n if (er2 || !stat.isDirectory()) cb(er, made)\n else cb(null, made);\n });\n break;\n }\n });\n}\n\nmkdirP.sync = function sync (p, opts, made) {\n if (!opts || typeof opts !== 'object') {\n opts = { mode: opts };\n }\n \n var mode = opts.mode;\n var xfs = opts.fs || fs;\n \n if (mode === undefined) {\n mode = _0777 & (~process.umask());\n }\n if (!made) made = null;\n\n p = path.resolve(p);\n\n try {\n xfs.mkdirSync(p, mode);\n made = made || p;\n }\n catch (err0) {\n switch (err0.code) {\n case 'ENOENT' :\n made = sync(path.dirname(p), opts, made);\n sync(p, opts, made);\n break;\n\n // In the case of any other error, just see if there's a dir\n // there already. If so, then hooray! If not, then something\n // is borked.\n default:\n var stat;\n try {\n stat = xfs.statSync(p);\n }\n catch (err1) {\n throw err0;\n }\n if (!stat.isDirectory()) throw err0;\n break;\n }\n }\n\n return made;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mkdirp" }, { "id": "165", "url": "/usr/local/lib/node_modules/npm/node_modules/once/once.js", "source": "(function (exports, require, module, __filename, __dirname) { var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/once" }, { "id": "190", "url": "/usr/local/lib/node_modules/npm/node_modules/glob/common.js", "source": "(function (exports, require, module, __filename, __dirname) { exports.alphasort = alphasort\nexports.alphasorti = alphasorti\nexports.setopts = setopts\nexports.ownProp = ownProp\nexports.makeAbs = makeAbs\nexports.finish = finish\nexports.mark = mark\nexports.isIgnored = isIgnored\nexports.childrenIgnored = childrenIgnored\n\nfunction ownProp (obj, field) {\n return Object.prototype.hasOwnProperty.call(obj, field)\n}\n\nvar path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasorti (a, b) {\n return a.toLowerCase().localeCompare(b.toLowerCase())\n}\n\nfunction alphasort (a, b) {\n return a.localeCompare(b)\n}\n\nfunction setupIgnores (self, options) {\n self.ignore = options.ignore || []\n\n if (!Array.isArray(self.ignore))\n self.ignore = [self.ignore]\n\n if (self.ignore.length) {\n self.ignore = self.ignore.map(ignoreMap)\n }\n}\n\n// ignore patterns are always in dot:true mode.\nfunction ignoreMap (pattern) {\n var gmatcher = null\n if (pattern.slice(-3) === '/**') {\n var gpattern = pattern.replace(/(\\/\\*\\*)+$/, '')\n gmatcher = new Minimatch(gpattern, { dot: true })\n }\n\n return {\n matcher: new Minimatch(pattern, { dot: true }),\n gmatcher: gmatcher\n }\n}\n\nfunction setopts (self, pattern, options) {\n if (!options)\n options = {}\n\n // base-matching: just use globstar for that.\n if (options.matchBase && -1 === pattern.indexOf(\"/\")) {\n if (options.noglobstar) {\n throw new Error(\"base matching requires globstar\")\n }\n pattern = \"**/\" + pattern\n }\n\n self.silent = !!options.silent\n self.pattern = pattern\n self.strict = options.strict !== false\n self.realpath = !!options.realpath\n self.realpathCache = options.realpathCache || Object.create(null)\n self.follow = !!options.follow\n self.dot = !!options.dot\n self.mark = !!options.mark\n self.nodir = !!options.nodir\n if (self.nodir)\n self.mark = true\n self.sync = !!options.sync\n self.nounique = !!options.nounique\n self.nonull = !!options.nonull\n self.nosort = !!options.nosort\n self.nocase = !!options.nocase\n self.stat = !!options.stat\n self.noprocess = !!options.noprocess\n self.absolute = !!options.absolute\n\n self.maxLength = options.maxLength || Infinity\n self.cache = options.cache || Object.create(null)\n self.statCache = options.statCache || Object.create(null)\n self.symlinks = options.symlinks || Object.create(null)\n\n setupIgnores(self, options)\n\n self.changedCwd = false\n var cwd = process.cwd()\n if (!ownProp(options, \"cwd\"))\n self.cwd = cwd\n else {\n self.cwd = path.resolve(options.cwd)\n self.changedCwd = self.cwd !== cwd\n }\n\n self.root = options.root || path.resolve(self.cwd, \"/\")\n self.root = path.resolve(self.root)\n if (process.platform === \"win32\")\n self.root = self.root.replace(/\\\\/g, \"/\")\n\n // TODO: is an absolute `cwd` supposed to be resolved against `root`?\n // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test')\n self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd)\n if (process.platform === \"win32\")\n self.cwdAbs = self.cwdAbs.replace(/\\\\/g, \"/\")\n self.nomount = !!options.nomount\n\n // disable comments and negation in Minimatch.\n // Note that they are not supported in Glob itself anyway.\n options.nonegate = true\n options.nocomment = true\n\n self.minimatch = new Minimatch(pattern, options)\n self.options = self.minimatch.options\n}\n\nfunction finish (self) {\n var nou = self.nounique\n var all = nou ? [] : Object.create(null)\n\n for (var i = 0, l = self.matches.length; i < l; i ++) {\n var matches = self.matches[i]\n if (!matches || Object.keys(matches).length === 0) {\n if (self.nonull) {\n // do like the shell, and spit out the literal glob\n var literal = self.minimatch.globSet[i]\n if (nou)\n all.push(literal)\n else\n all[literal] = true\n }\n } else {\n // had matches\n var m = Object.keys(matches)\n if (nou)\n all.push.apply(all, m)\n else\n m.forEach(function (m) {\n all[m] = true\n })\n }\n }\n\n if (!nou)\n all = Object.keys(all)\n\n if (!self.nosort)\n all = all.sort(self.nocase ? alphasorti : alphasort)\n\n // at *some* point we statted all of these\n if (self.mark) {\n for (var i = 0; i < all.length; i++) {\n all[i] = self._mark(all[i])\n }\n if (self.nodir) {\n all = all.filter(function (e) {\n var notDir = !(/\\/$/.test(e))\n var c = self.cache[e] || self.cache[makeAbs(self, e)]\n if (notDir && c)\n notDir = c !== 'DIR' && !Array.isArray(c)\n return notDir\n })\n }\n }\n\n if (self.ignore.length)\n all = all.filter(function(m) {\n return !isIgnored(self, m)\n })\n\n self.found = all\n}\n\nfunction mark (self, p) {\n var abs = makeAbs(self, p)\n var c = self.cache[abs]\n var m = p\n if (c) {\n var isDir = c === 'DIR' || Array.isArray(c)\n var slash = p.slice(-1) === '/'\n\n if (isDir && !slash)\n m += '/'\n else if (!isDir && slash)\n m = m.slice(0, -1)\n\n if (m !== p) {\n var mabs = makeAbs(self, m)\n self.statCache[mabs] = self.statCache[abs]\n self.cache[mabs] = self.cache[abs]\n }\n }\n\n return m\n}\n\n// lotta situps...\nfunction makeAbs (self, f) {\n var abs = f\n if (f.charAt(0) === '/') {\n abs = path.join(self.root, f)\n } else if (isAbsolute(f) || f === '') {\n abs = f\n } else if (self.changedCwd) {\n abs = path.resolve(self.cwd, f)\n } else {\n abs = path.resolve(f)\n }\n\n if (process.platform === 'win32')\n abs = abs.replace(/\\\\/g, '/')\n\n return abs\n}\n\n\n// Return true, if pattern ends with globstar '**', for the accompanying parent directory.\n// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents\nfunction isIgnored (self, path) {\n if (!self.ignore.length)\n return false\n\n return self.ignore.some(function(item) {\n return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))\n })\n}\n\nfunction childrenIgnored (self, path) {\n if (!self.ignore.length)\n return false\n\n return self.ignore.some(function(item) {\n return !!(item.gmatcher && item.gmatcher.match(path))\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/glob" }, { "id": "213", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree/rpt.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require('fs')\nvar rpj = require('read-package-json')\nvar path = require('path')\nvar dz = require('dezalgo')\nvar once = require('once')\nvar readdir = require('readdir-scoped-modules')\nvar debug = require('debuglog')('rpt')\n\nfunction asyncForEach (items, todo, done) {\n var remaining = items.length\n if (remaining === 0) return done()\n var seenErr\n items.forEach(function (item) {\n todo(item, handleComplete)\n })\n function handleComplete (err) {\n if (seenErr) return\n if (err) {\n seenErr = true\n return done(err)\n }\n if (--remaining === 0) done()\n }\n}\n\nfunction dpath (p) {\n if (!p) return ''\n if (p.indexOf(process.cwd()) === 0) {\n p = p.substr(process.cwd().length + 1)\n }\n return p\n}\n\nmodule.exports = rpt\n\nrpt.Node = Node\nrpt.Link = Link\n\nvar ID = 0\nfunction Node (pkg, logical, physical, er, cache, fromLink) {\n if (!(this instanceof Node)) {\n return new Node(pkg, logical, physical, er, cache)\n }\n\n var node = cache[physical] || this\n if (fromLink && cache[physical]) return cache[physical]\n\n debug(node.constructor.name, dpath(physical), pkg && pkg._id)\n\n node.path = logical\n node.realpath = physical\n node.error = er\n if (!cache[physical]) {\n node.id = ID++\n node.package = pkg || {}\n node.parent = null\n node.isLink = false\n node.children = []\n }\n return cache[physical] = node\n}\n\nNode.prototype.package = null\nNode.prototype.path = ''\nNode.prototype.realpath = ''\nNode.prototype.children = null\nNode.prototype.error = null\n\nfunction Link (pkg, logical, physical, realpath, er, cache) {\n if (cache[physical]) return cache[physical]\n\n if (!(this instanceof Link)) {\n return new Link(pkg, logical, physical, realpath, er, cache)\n }\n\n cache[physical] = this\n\n debug(this.constructor.name, dpath(physical), pkg && pkg._id)\n\n this.id = ID++\n this.path = logical\n this.realpath = realpath\n this.package = pkg || {}\n this.parent = null\n this.target = new Node(this.package, logical, realpath, er, cache, true)\n this.isLink = true\n this.children = this.target.children\n this.error = er\n}\n\nLink.prototype = Object.create(Node.prototype, {\n constructor: { value: Link }\n})\nLink.prototype.target = null\nLink.prototype.realpath = ''\n\nfunction loadNode (logical, physical, cache, cb) {\n debug('loadNode', dpath(logical))\n return fs.realpath(physical, thenReadPackageJson)\n\n var realpath\n function thenReadPackageJson (er, real) {\n if (er) {\n var node = new Node(null, logical, physical, er, cache)\n return cb(null, node)\n }\n debug('realpath l=%j p=%j real=%j', dpath(logical), dpath(physical), dpath(real))\n var pj = path.join(real, 'package.json')\n realpath = real\n return rpj(pj, thenCreateNode)\n }\n function thenCreateNode (er, pkg) {\n pkg = pkg || null\n var node\n if (physical === realpath) {\n node = new Node(pkg, logical, physical, er, cache)\n } else {\n node = new Link(pkg, logical, physical, realpath, er, cache)\n }\n\n cb(null, node)\n }\n}\n\nfunction loadChildren (node, cache, filterWith, cb) {\n debug('loadChildren', dpath(node.path))\n // needed 'cause we process all kids async-like and errors\n // short circuit, so we have to be sure that after an error\n // the cbs from other kids don't result in calling cb a second\n // (or more) time.\n cb = once(cb)\n var nm = path.join(node.path, 'node_modules')\n var rm\n return fs.realpath(path.join(node.path, 'node_modules'), thenReaddir)\n\n function thenReaddir (er, real_nm) {\n if (er) return cb(null, node)\n rm = real_nm\n readdir(nm, thenLoadKids)\n }\n\n function thenLoadKids (er, kids) {\n // If there are no children, that's fine, just return\n if (er) return cb(null, node)\n\n kids = kids.filter(function (kid) {\n return kid[0] !== '.' && (!filterWith || filterWith(node, kid))\n })\n\n asyncForEach(kids, thenLoadNode, thenSortChildren)\n }\n function thenLoadNode (kid, done) {\n var kidPath = path.join(nm, kid)\n var kidRealPath = path.join(rm, kid)\n loadNode(kidPath, kidRealPath, cache, andAddNode(done))\n }\n function andAddNode (done) {\n return function (er, kid) {\n if (er) return done(er)\n node.children.push(kid)\n kid.parent = node\n done()\n }\n }\n function thenSortChildren (er) {\n sortChildren(node)\n cb(er, node)\n }\n}\n\nfunction sortChildren (node) {\n node.children = node.children.sort(function (a, b) {\n a = a.package.name ? a.package.name.toLowerCase() : a.path\n b = b.package.name ? b.package.name.toLowerCase() : b.path\n return a > b ? 1 : -1\n })\n}\n\nfunction loadTree (node, did, cache, filterWith, cb) {\n debug('loadTree', dpath(node.path), !!cache[node.path])\n\n if (did[node.realpath]) {\n return dz(cb)(null, node)\n }\n\n did[node.realpath] = true\n\n // needed 'cause we process all kids async-like and errors\n // short circuit, so we have to be sure that after an error\n // the cbs from other kids don't result in calling cb a second\n // (or more) time.\n cb = once(cb)\n return loadChildren(node, cache, filterWith, thenProcessChildren)\n\n function thenProcessChildren (er, node) {\n if (er) return cb(er)\n\n var kids = node.children.filter(function (kid) {\n return !did[kid.realpath]\n })\n\n return asyncForEach(kids, loadTreeForKid, cb)\n }\n function loadTreeForKid (kid, done) {\n loadTree(kid, did, cache, filterWith, done)\n }\n}\n\nfunction rpt (root, filterWith, cb) {\n if (!cb) {\n cb = filterWith\n filterWith = null\n }\n var cache = Object.create(null)\n var topErr\n var tree\n return fs.realpath(root, thenLoadNode)\n\n function thenLoadNode (er, realRoot) {\n if (er) return cb(er)\n debug('rpt', dpath(realRoot))\n loadNode(root, realRoot, cache, thenLoadTree)\n }\n function thenLoadTree(er, node) {\n // even if there's an error, it's fine, as long as we got a node\n if (node) {\n topErr = er\n tree = node\n loadTree(node, {}, cache, filterWith, thenHandleErrors)\n } else {\n cb(er)\n }\n }\n function thenHandleErrors (er) {\n cb(topErr && topErr.code !== 'ENOENT' ? topErr : er, tree)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree" }, { "id": "617", "url": "/usr/local/lib/node_modules/npm/lib/outdated.js", "source": "(function (exports, require, module, __filename, __dirname) { /*\n\nnpm outdated [pkg]\n\nDoes the following:\n\n1. check for a new version of pkg\n\nIf no packages are specified, then run for all installed\npackages.\n\n--parseable creates output like this:\n:::\n\n*/\n\nmodule.exports = outdated\n\noutdated.usage = 'npm outdated [[<@scope>/] ...]'\n\noutdated.completion = require('./utils/completion/installed-deep.js')\n\nvar os = require('os')\nvar url = require('url')\nvar path = require('path')\nvar readPackageTree = require('read-package-tree')\nvar readJson = require('read-package-json')\nvar asyncMap = require('slide').asyncMap\nvar color = require('ansicolors')\nvar styles = require('ansistyles')\nvar table = require('text-table')\nvar semver = require('semver')\nvar npa = require('npm-package-arg')\nvar mutateIntoLogicalTree = require('./install/mutate-into-logical-tree.js')\nvar cache = require('./cache.js')\nvar npm = require('./npm.js')\nvar long = npm.config.get('long')\nvar mapToRegistry = require('./utils/map-to-registry.js')\nvar isExtraneous = require('./install/is-extraneous.js')\nvar computeMetadata = require('./install/deps.js').computeMetadata\nvar moduleName = require('./utils/module-name.js')\nvar output = require('./utils/output.js')\nvar ansiTrim = require('./utils/ansi-trim')\n\nfunction uniqName (item) {\n return item[0].path + '|' + item[1] + '|' + item[7]\n}\n\nfunction uniq (list) {\n var uniqed = []\n var seen = {}\n list.forEach(function (item) {\n var name = uniqName(item)\n if (seen[name]) return\n seen[name] = true\n uniqed.push(item)\n })\n return uniqed\n}\n\nfunction andComputeMetadata (next) {\n return function (er, tree) {\n if (er) return next(er)\n next(null, computeMetadata(tree))\n }\n}\n\nfunction outdated (args, silent, cb) {\n if (typeof cb !== 'function') {\n cb = silent\n silent = false\n }\n var dir = path.resolve(npm.dir, '..')\n\n // default depth for `outdated` is 0 (cf. `ls`)\n if (npm.config.get('depth') === Infinity) npm.config.set('depth', 0)\n\n readPackageTree(dir, andComputeMetadata(function (er, tree) {\n if (!tree) return cb(er)\n mutateIntoLogicalTree(tree)\n outdated_(args, '', tree, {}, 0, function (er, list) {\n list = uniq(list || []).sort(function (aa, bb) {\n return aa[0].path.localeCompare(bb[0].path) ||\n aa[1].localeCompare(bb[1])\n })\n if (er || silent || list.length === 0) return cb(er, list)\n if (npm.config.get('json')) {\n output(makeJSON(list))\n } else if (npm.config.get('parseable')) {\n output(makeParseable(list))\n } else {\n var outList = list.map(makePretty)\n var outHead = [ 'Package',\n 'Current',\n 'Wanted',\n 'Latest',\n 'Location'\n ]\n if (long) outHead.push('Package Type')\n var outTable = [outHead].concat(outList)\n\n if (npm.color) {\n outTable[0] = outTable[0].map(function (heading) {\n return styles.underline(heading)\n })\n }\n\n var tableOpts = {\n align: ['l', 'r', 'r', 'r', 'l'],\n stringLength: function (s) { return ansiTrim(s).length }\n }\n output(table(outTable, tableOpts))\n }\n process.exitCode = 1\n cb(null, list.map(function (item) { return [item[0].parent.path].concat(item.slice(1, 7)) }))\n })\n }))\n}\n\n// [[ dir, dep, has, want, latest, type ]]\nfunction makePretty (p) {\n var dep = p[0]\n var depname = p[1]\n var dir = dep.path\n var has = p[2]\n var want = p[3]\n var latest = p[4]\n var type = p[6]\n var deppath = p[7]\n\n if (!npm.config.get('global')) {\n dir = path.relative(process.cwd(), dir)\n }\n\n var columns = [ depname,\n has || 'MISSING',\n want,\n latest,\n deppath\n ]\n if (long) columns[5] = type\n\n if (npm.color) {\n columns[0] = color[has === want || want === 'linked' ? 'yellow' : 'red'](columns[0]) // dep\n columns[2] = color.green(columns[2]) // want\n columns[3] = color.magenta(columns[3]) // latest\n }\n\n return columns\n}\n\nfunction makeParseable (list) {\n return list.map(function (p) {\n var dep = p[0]\n var depname = p[1]\n var dir = dep.path\n var has = p[2]\n var want = p[3]\n var latest = p[4]\n var type = p[6]\n\n var out = [\n dir,\n depname + '@' + want,\n (has ? (depname + '@' + has) : 'MISSING'),\n depname + '@' + latest\n ]\n if (long) out.push(type)\n\n return out.join(':')\n }).join(os.EOL)\n}\n\nfunction makeJSON (list) {\n var out = {}\n list.forEach(function (p) {\n var dep = p[0]\n var depname = p[1]\n var dir = dep.path\n var has = p[2]\n var want = p[3]\n var latest = p[4]\n var type = p[6]\n if (!npm.config.get('global')) {\n dir = path.relative(process.cwd(), dir)\n }\n out[depname] = { current: has,\n wanted: want,\n latest: latest,\n location: dir\n }\n if (long) out[depname].type = type\n })\n return JSON.stringify(out, null, 2)\n}\n\nfunction outdated_ (args, path, tree, parentHas, depth, cb) {\n if (!tree.package) tree.package = {}\n if (path && tree.package.name) path += ' > ' + tree.package.name\n if (!path && tree.package.name) path = tree.package.name\n if (depth > npm.config.get('depth')) {\n return cb(null, [])\n }\n var types = {}\n var pkg = tree.package\n\n var deps = tree.children.filter(function (child) { return !isExtraneous(child) }) || []\n\n deps.forEach(function (dep) {\n types[moduleName(dep)] = 'dependencies'\n })\n\n Object.keys(tree.missingDeps).forEach(function (name) {\n deps.push({\n package: { name: name },\n path: tree.path,\n parent: tree,\n isMissing: true\n })\n types[name] = 'dependencies'\n })\n\n // If we explicitly asked for dev deps OR we didn't ask for production deps\n // AND we asked to save dev-deps OR we didn't ask to save anything that's NOT\n // dev deps then…\n // (All the save checking here is because this gets called from npm-update currently\n // and that requires this logic around dev deps.)\n // FIXME: Refactor npm update to not be in terms of outdated.\n var dev = npm.config.get('dev') || /^dev(elopment)?$/.test(npm.config.get('also'))\n var prod = npm.config.get('production') || /^prod(uction)?$/.test(npm.config.get('only'))\n if ((dev || !prod) &&\n (npm.config.get('save-dev') || (\n !npm.config.get('save') && !npm.config.get('save-optional')))) {\n Object.keys(tree.missingDevDeps).forEach(function (name) {\n deps.push({\n package: { name: name },\n path: tree.path,\n parent: tree,\n isMissing: true\n })\n if (!types[name]) {\n types[name] = 'devDependencies'\n }\n })\n }\n\n if (npm.config.get('save-dev')) {\n deps = deps.filter(function (dep) { return pkg.devDependencies[moduleName(dep)] })\n deps.forEach(function (dep) {\n types[moduleName(dep)] = 'devDependencies'\n })\n } else if (npm.config.get('save')) {\n // remove optional dependencies from dependencies during --save.\n deps = deps.filter(function (dep) { return !pkg.optionalDependencies[moduleName(dep)] })\n } else if (npm.config.get('save-optional')) {\n deps = deps.filter(function (dep) { return pkg.optionalDependencies[moduleName(dep)] })\n deps.forEach(function (dep) {\n types[moduleName(dep)] = 'optionalDependencies'\n })\n }\n var doUpdate = dev || (\n !prod &&\n !Object.keys(parentHas).length &&\n !npm.config.get('global')\n )\n if (doUpdate) {\n Object.keys(pkg.devDependencies).forEach(function (k) {\n if (!(k in parentHas)) {\n deps[k] = pkg.devDependencies[k]\n types[k] = 'devDependencies'\n }\n })\n }\n\n var has = Object.create(parentHas)\n tree.children.forEach(function (child) {\n if (child.package.name && child.package.private) {\n deps = deps.filter(function (dep) { return dep !== child })\n }\n has[child.package.name] = {\n version: child.package.version,\n from: child.package._from\n }\n })\n\n // now get what we should have, based on the dep.\n // if has[dep] !== shouldHave[dep], then cb with the data\n // otherwise dive into the folder\n asyncMap(deps, function (dep, cb) {\n var name = moduleName(dep)\n var required = (tree.package.dependencies)[name] ||\n (tree.package.optionalDependencies)[name] ||\n (tree.package.devDependencies)[name] ||\n dep.package._requested && dep.package._requested.fetchSpec ||\n '*'\n if (!long) return shouldUpdate(args, dep, name, has, required, depth, path, cb)\n\n shouldUpdate(args, dep, name, has, required, depth, path, cb, types[name])\n }, cb)\n}\n\nfunction shouldUpdate (args, tree, dep, has, req, depth, pkgpath, cb, type) {\n // look up the most recent version.\n // if that's what we already have, or if it's not on the args list,\n // then dive into it. Otherwise, cb() with the data.\n\n // { version: , from: }\n var curr = has[dep]\n\n function skip (er) {\n // show user that no viable version can be found\n if (er) return cb(er)\n outdated_(args,\n pkgpath,\n tree,\n has,\n depth + 1,\n cb)\n }\n\n function doIt (wanted, latest) {\n if (!long) {\n return cb(null, [[tree, dep, curr && curr.version, wanted, latest, req, null, pkgpath]])\n }\n cb(null, [[tree, dep, curr && curr.version, wanted, latest, req, type, pkgpath]])\n }\n\n if (args.length && args.indexOf(dep) === -1) return skip()\n var parsed = npa.resolve(dep, req)\n if (tree.isLink && tree.parent && tree.parent.isTop) {\n return doIt('linked', 'linked')\n }\n if (parsed.type === 'git' || parsed.type === 'hosted') {\n return doIt('git', 'git')\n }\n\n // search for the latest package\n mapToRegistry(dep, npm.config, function (er, uri, auth) {\n if (er) return cb(er)\n\n npm.registry.get(uri, { auth: auth }, updateDeps)\n })\n\n function updateLocalDeps (latestRegistryVersion) {\n readJson(path.resolve(parsed.fetchSpec, 'package.json'), function (er, localDependency) {\n if (er) return cb()\n\n var wanted = localDependency.version\n var latest = localDependency.version\n\n if (latestRegistryVersion) {\n latest = latestRegistryVersion\n if (semver.lt(wanted, latestRegistryVersion)) {\n wanted = latestRegistryVersion\n req = dep + '@' + latest\n }\n }\n\n if (!curr || curr.version !== wanted) {\n doIt(wanted, latest)\n } else {\n skip()\n }\n })\n }\n\n function updateDeps (er, d) {\n if (er) {\n if (parsed.type !== 'directory' && parsed.type !== 'file') return cb(er)\n return updateLocalDeps()\n }\n\n if (!d || !d['dist-tags'] || !d.versions) return cb()\n var l = d.versions[d['dist-tags'].latest]\n if (!l) return cb()\n\n var r = req\n if (d['dist-tags'][req]) {\n r = d['dist-tags'][req]\n }\n\n if (semver.validRange(r, true)) {\n // some kind of semver range.\n // see if it's in the doc.\n var vers = Object.keys(d.versions)\n var v = semver.maxSatisfying(vers, r, true)\n if (v) {\n return onCacheAdd(null, d.versions[v])\n }\n }\n\n // We didn't find the version in the doc. See if cache can find it.\n cache.add(dep, req, null, false, onCacheAdd)\n\n function onCacheAdd (er, d) {\n // if this fails, then it means we can't update this thing.\n // it's probably a thing that isn't published.\n if (er) {\n if (er.code && er.code === 'ETARGET') {\n // no viable version found\n return skip(er)\n }\n return skip()\n }\n\n // check that the url origin hasn't changed (#1727) and that\n // there is no newer version available\n var dFromUrl = d._from && url.parse(d._from).protocol\n var cFromUrl = curr && curr.from && url.parse(curr.from).protocol\n\n if (!curr ||\n dFromUrl && cFromUrl && d._from !== curr.from ||\n d.version !== curr.version ||\n d.version !== l.version) {\n if (parsed.type === 'file' || parsed.type === 'directory') return updateLocalDeps(l.version)\n\n doIt(d.version, l.version)\n } else {\n skip()\n }\n }\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "320", "url": "/usr/local/lib/node_modules/npm/lib/install/deps.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nvar fs = require('fs')\nvar assert = require('assert')\nvar path = require('path')\nvar semver = require('semver')\nvar asyncMap = require('slide').asyncMap\nvar chain = require('slide').chain\nvar iferr = require('iferr')\nvar npa = require('npm-package-arg')\nvar validate = require('aproba')\nvar dezalgo = require('dezalgo')\nvar fetchPackageMetadata = require('../fetch-package-metadata.js')\nvar andAddParentToErrors = require('./and-add-parent-to-errors.js')\nvar addBundled = require('../fetch-package-metadata.js').addBundled\nvar readShrinkwrap = require('./read-shrinkwrap.js')\nvar inflateShrinkwrap = require('./inflate-shrinkwrap.js')\nvar inflateBundled = require('./inflate-bundled.js')\nvar andFinishTracker = require('./and-finish-tracker.js')\nvar npm = require('../npm.js')\nvar flatNameFromTree = require('./flatten-tree.js').flatNameFromTree\nvar createChild = require('./node.js').create\nvar resetMetadata = require('./node.js').reset\nvar isInstallable = require('./validate-args.js').isInstallable\nvar packageId = require('../utils/package-id.js')\nvar moduleName = require('../utils/module-name.js')\nvar isDevDep = require('./is-dev-dep.js')\nvar isProdDep = require('./is-prod-dep.js')\nvar reportOptionalFailure = require('./report-optional-failure.js')\nvar getSaveType = require('./save.js').getSaveType\n\n// The export functions in this module mutate a dependency tree, adding\n// items to them.\n\nvar registryTypes = { range: true, version: true }\n\nfunction doesChildVersionMatch (child, requested, requestor) {\n // we always consider deps provided by a shrinkwrap as \"correct\" or else\n // we'll subvert them if they're intentionally \"invalid\"\n if (child.parent === requestor && child.fromShrinkwrap) return true\n // ranges of * ALWAYS count as a match, because when downloading we allow\n // prereleases to match * if there are ONLY prereleases\n if (requested.type === 'range' && requested.fetchSpec === '*') return true\n\n if (requested.type === 'directory') {\n if (!child.isLink) return false\n return path.relative(child.realpath, requested.fetchSpec) === ''\n }\n\n if (!registryTypes[requested.type]) {\n var childReq = child.package._requested\n if (!childReq && child.package._from) {\n childReq = npa.resolve(moduleName(child), child.package._from.replace(new RegExp('^' + moduleName(child) + '@'), ''))\n }\n if (childReq) {\n if (childReq.rawSpec === requested.rawSpec) return true\n if (childReq.type === requested.type && childReq.saveSpec === requested.saveSpec) return true\n if (childReq.type === requested.type && childReq.spec === requested.saveSpec) return true\n }\n // If _requested didn't exist OR if it didn't match then we'll try using\n // _from. We pass it through npa to normalize the specifier.\n // This can happen when installing from an `npm-shrinkwrap.json` where `_requested` will\n // be the tarball URL from `resolved` and thus can't match what's in the `package.json`.\n // In those cases _from, will be preserved and we can compare that to ensure that they\n // really came from the same sources.\n // You'll see this scenario happen with at least tags and git dependencies.\n if (child.package._from) {\n var fromReq = npa(child.package._from)\n if (fromReq.rawSpec === requested.rawSpec) return true\n if (fromReq.type === requested.type && fromReq.saveSpec && fromReq.saveSpec === requested.saveSpec) return true\n }\n return false\n }\n try {\n return semver.satisfies(child.package.version, requested.fetchSpec)\n } catch (e) {\n return false\n }\n}\n\nfunction childDependencySpecifier (tree, name, spec) {\n return npa.resolve(name, spec, packageRelativePath(tree))\n}\n\nexports.computeMetadata = computeMetadata\nfunction computeMetadata (tree, seen) {\n if (!seen) seen = {}\n if (!tree || seen[tree.path]) return\n seen[tree.path] = true\n if (tree.parent == null) {\n resetMetadata(tree)\n tree.isTop = true\n }\n tree.location = flatNameFromTree(tree)\n\n function findChild (name, spec, kind) {\n try {\n var req = childDependencySpecifier(tree, name, spec)\n } catch (err) {\n return\n }\n var child = findRequirement(tree, req.name, req)\n if (child) {\n resolveWithExistingModule(child, tree)\n return true\n }\n return\n }\n\n const deps = tree.package.dependencies || {}\n for (let name of Object.keys(deps)) {\n if (findChild(name, deps[name])) continue\n tree.missingDeps[name] = deps[name]\n }\n if (tree.isTop) {\n const devDeps = tree.package.devDependencies || {}\n for (let name of Object.keys(devDeps)) {\n if (findChild(name, devDeps[name])) continue\n tree.missingDevDeps[name] = devDeps[name]\n }\n }\n\n tree.children.filter((child) => !child.removed && !child.failed).forEach((child) => computeMetadata(child, seen))\n\n return tree\n}\n\nfunction isDep (tree, child) {\n var name = moduleName(child)\n var prodVer = isProdDep(tree, name)\n var devVer = isDevDep(tree, name)\n\n try {\n var prodSpec = childDependencySpecifier(tree, name, prodVer)\n } catch (err) {\n return {isDep: true, isProdDep: false, isDevDep: false}\n }\n var matches\n if (prodSpec) matches = doesChildVersionMatch(child, prodSpec, tree)\n if (matches) return {isDep: true, isProdDep: prodSpec, isDevDep: false}\n if (devVer === prodVer) return {isDep: child.fromShrinkwrap, isProdDep: false, isDevDep: false}\n try {\n var devSpec = childDependencySpecifier(tree, name, devVer)\n return {isDep: doesChildVersionMatch(child, devSpec, tree) || child.fromShrinkwrap, isProdDep: false, isDevDep: devSpec}\n } catch (err) {\n return {isDep: child.fromShrinkwrap, isProdDep: false, isDevDep: false}\n }\n}\n\nfunction addRequiredDep (tree, child) {\n var dep = isDep(tree, child)\n if (!dep.isDep) return false\n replaceModuleByPath(child, 'requiredBy', tree)\n replaceModuleByName(tree, 'requires', child)\n if (dep.isProdDep && tree.missingDeps) delete tree.missingDeps[moduleName(child)]\n if (dep.isDevDep && tree.missingDevDeps) delete tree.missingDevDeps[moduleName(child)]\n return true\n}\n\nexports.removeObsoleteDep = removeObsoleteDep\nfunction removeObsoleteDep (child, log) {\n if (child.removed) return\n child.removed = true\n if (log) {\n log.silly('removeObsoleteDep', 'removing ' + packageId(child) +\n ' from the tree as its been replaced by a newer version or is no longer required')\n }\n // remove from physical tree\n if (child.parent) {\n child.parent.children = child.parent.children.filter(function (pchild) { return pchild !== child })\n }\n // remove from logical tree\n var requires = child.requires || []\n requires.forEach(function (requirement) {\n requirement.requiredBy = requirement.requiredBy.filter(function (reqBy) { return reqBy !== child })\n if (requirement.requiredBy.length === 0) removeObsoleteDep(requirement, log)\n })\n}\n\nfunction packageRelativePath (tree) {\n if (!tree) return ''\n var requested = tree.package._requested || {}\n var isLocal = requested.type === 'directory' || requested.type === 'file'\n return isLocal ? requested.fetchSpec\n : (tree.isLink || tree.isInLink) && !preserveSymlinks() ? tree.realpath\n : tree.path\n}\n\nfunction matchingDep (tree, name) {\n if (!tree || !tree.package) return\n if (tree.package.dependencies && tree.package.dependencies[name]) return tree.package.dependencies[name]\n if (tree.package.devDependencies && tree.package.devDependencies[name]) return tree.package.devDependencies[name]\n return\n}\n\nexports.getAllMetadata = function (args, tree, where, next) {\n asyncMap(args, function (arg, done) {\n var spec = npa(arg)\n if (spec.type !== 'file' && spec.type !== 'directory' && (spec.name == null || spec.rawSpec === '')) {\n return fs.stat(path.join(arg, 'package.json'), (err) => {\n if (err) {\n var version = matchingDep(tree, spec.name)\n if (version) {\n return fetchPackageMetadata(npa.resolve(spec.name, version), where, done)\n } else {\n return fetchPackageMetadata(spec, where, done)\n }\n } else {\n return fetchPackageMetadata(npa('file:' + arg), where, done)\n }\n })\n } else {\n return fetchPackageMetadata(spec, where, done)\n }\n }, next)\n}\n\n// Add a list of args to tree's top level dependencies\nexports.loadRequestedDeps = function (args, tree, saveToDependencies, log, next) {\n validate('AOOF', [args, tree, log, next])\n asyncMap(args, function (pkg, done) {\n var depLoaded = andAddParentToErrors(tree, done)\n resolveWithNewModule(pkg, tree, log.newGroup('loadRequestedDeps'), iferr(depLoaded, function (child, tracker) {\n validate('OO', arguments)\n if (npm.config.get('global')) {\n child.isGlobal = true\n }\n var childName = moduleName(child)\n child.saveSpec = computeVersionSpec(tree, child)\n child.userRequired = true\n child.save = getSaveType(tree, child)\n const types = ['dependencies', 'devDependencies', 'optionalDependencies']\n if (child.save) {\n tree.package[child.save][childName] = child.saveSpec\n // Astute readers might notice that this exact same code exists in\n // save.js under a different guise. That code is responsible for deps\n // being removed from the final written `package.json`. The removal in\n // this function is specifically to prevent \"installed as both X and Y\"\n // warnings when moving an existing dep between different dep fields.\n //\n // Or, try it by removing this loop, and do `npm i -P x && npm i -D x`\n for (let saveType of types) {\n if (child.save !== saveType) {\n delete tree.package[saveType][childName]\n }\n }\n }\n\n // For things the user asked to install, that aren't a dependency (or\n // won't be when we're done), flag it as \"depending\" on the user\n // themselves, so we don't remove it as a dep that no longer exists\n var childIsDep = addRequiredDep(tree, child)\n if (!childIsDep) child.userRequired = true\n depLoaded(null, child, tracker)\n }))\n }, andForEachChild(loadDeps, andFinishTracker(log, next)))\n}\n\nmodule.exports.computeVersionSpec = computeVersionSpec\nfunction computeVersionSpec (tree, child) {\n validate('OO', arguments)\n var requested\n if (child.package._requested) {\n requested = child.package._requested\n } else if (child.package._from) {\n requested = npa(child.package._from)\n } else {\n requested = npa.resolve(child.package.name, child.package.version)\n }\n if (requested.registry) {\n var version = child.package.version\n var rangeDescriptor = ''\n if (semver.valid(version, true) &&\n semver.gte(version, '0.1.0', true) &&\n !npm.config.get('save-exact')) {\n rangeDescriptor = npm.config.get('save-prefix')\n }\n return rangeDescriptor + version\n } else if (requested.type === 'directory' || requested.type === 'file') {\n return 'file:' + path.relative(tree.path, requested.fetchSpec)\n } else {\n return requested.saveSpec\n }\n}\n\nfunction moduleNameMatches (name) {\n return function (child) { return moduleName(child) === name }\n}\n\nfunction noModuleNameMatches (name) {\n return function (child) { return moduleName(child) !== name }\n}\n\n// while this implementation does not require async calling, doing so\n// gives this a consistent interface with loadDeps et al\nexports.removeDeps = function (args, tree, saveToDependencies, next) {\n validate('AOSF|AOZF', [args, tree, saveToDependencies, next])\n for (let pkg of args) {\n var pkgName = moduleName(pkg)\n var toRemove = tree.children.filter(moduleNameMatches(pkgName))\n var pkgToRemove = toRemove[0] || createChild({package: {name: pkgName}})\n var saveType = getSaveType(tree, pkg) || 'dependencies'\n if (tree.isTop && saveToDependencies) {\n pkgToRemove.save = saveType\n }\n if (tree.package[saveType][pkgName]) {\n delete tree.package[saveType][pkgName]\n if (saveType === 'optionalDependencies' && tree.package.dependencies[pkgName]) {\n delete tree.package.dependencies[pkgName]\n }\n }\n replaceModuleByPath(tree, 'removedChildren', pkgToRemove)\n for (let parent of pkgToRemove.requiredBy) {\n parent.requires = parent.requires.filter((child) => child !== pkgToRemove)\n }\n pkgToRemove.requiredBy = pkgToRemove.requiredBy.filter((parent) => parent !== tree)\n }\n next()\n}\nexports.removeExtraneous = function (args, tree, next) {\n for (let pkg of args) {\n var pkgName = moduleName(pkg)\n var toRemove = tree.children.filter(moduleNameMatches(pkgName))\n if (toRemove.length) {\n removeObsoleteDep(toRemove[0])\n }\n }\n next()\n}\n\nfunction andForEachChild (load, next) {\n validate('F', [next])\n next = dezalgo(next)\n return function (er, children, logs) {\n // when children is empty, logs won't be passed in at all (asyncMap is weird)\n // so shortcircuit before arg validation\n if (!er && (!children || children.length === 0)) return next()\n validate('EAA', arguments)\n if (er) return next(er)\n assert(children.length === logs.length)\n var cmds = []\n for (var ii = 0; ii < children.length; ++ii) {\n cmds.push([load, children[ii], logs[ii]])\n }\n var sortedCmds = cmds.sort(function installOrder (aa, bb) {\n return moduleName(aa[1]).localeCompare(moduleName(bb[1]))\n })\n chain(sortedCmds, next)\n }\n}\n\nfunction isDepOptional (tree, name, pkg) {\n if (pkg.package && pkg.package._optional) return true\n if (!tree.package.optionalDependencies) return false\n if (tree.package.optionalDependencies[name] != null) return true\n return false\n}\n\nvar failedDependency = exports.failedDependency = function (tree, name_pkg) {\n var name\n var pkg = {}\n if (typeof name_pkg === 'string') {\n name = name_pkg\n } else {\n pkg = name_pkg\n name = moduleName(pkg)\n }\n tree.children = tree.children.filter(noModuleNameMatches(name))\n\n if (isDepOptional(tree, name, pkg)) {\n return false\n }\n\n tree.failed = true\n\n if (tree.isTop) return true\n\n if (tree.userRequired) return true\n\n removeObsoleteDep(tree)\n\n if (!tree.requiredBy) return false\n\n for (var ii = 0; ii < tree.requiredBy.length; ++ii) {\n var requireParent = tree.requiredBy[ii]\n if (failedDependency(requireParent, tree.package)) {\n return true\n }\n }\n return false\n}\n\nfunction andHandleOptionalErrors (log, tree, name, done) {\n validate('OOSF', arguments)\n return function (er, child, childLog) {\n if (!er) validate('OO', [child, childLog])\n if (!er) return done(er, child, childLog)\n var isFatal = failedDependency(tree, name)\n if (er && !isFatal) {\n tree.children = tree.children.filter(noModuleNameMatches(name))\n reportOptionalFailure(tree, name, er)\n return done()\n } else {\n return done(er, child, childLog)\n }\n }\n}\n\nexports.prefetchDeps = prefetchDeps\nfunction prefetchDeps (tree, deps, log, next) {\n validate('OOOF', arguments)\n var skipOptional = !npm.config.get('optional')\n var seen = {}\n const finished = andFinishTracker(log, next)\n const fpm = BB.promisify(fetchPackageMetadata)\n resolveBranchDeps(tree.package, deps).then(\n () => finished(), finished\n )\n\n function resolveBranchDeps (pkg, deps) {\n return BB.resolve(null).then(() => {\n var allDependencies = Object.keys(deps).map((dep) => {\n return npa.resolve(dep, deps[dep])\n }).filter((dep) => {\n return dep.registry &&\n !seen[dep.toString()] &&\n !findRequirement(tree, dep.name, dep)\n })\n if (skipOptional) {\n var optDeps = pkg.optionalDependencies || {}\n allDependencies = allDependencies.filter((dep) => !optDeps[dep.name])\n }\n return BB.map(allDependencies, (dep) => {\n seen[dep.toString()] = true\n return fpm(dep, '', {tracker: log.newItem('fetchMetadata')}).then(\n (pkg) => {\n return pkg && pkg.dependencies && resolveBranchDeps(pkg, pkg.dependencies)\n },\n () => null\n )\n })\n })\n }\n}\n\n// Load any missing dependencies in the given tree\nexports.loadDeps = loadDeps\nfunction loadDeps (tree, log, next) {\n validate('OOF', arguments)\n if (tree.loaded || (tree.parent && tree.parent.failed) || tree.removed) return andFinishTracker.now(log, next)\n if (tree.parent) tree.loaded = true\n if (!tree.package.dependencies) tree.package.dependencies = {}\n asyncMap(Object.keys(tree.package.dependencies), function (dep, done) {\n var version = tree.package.dependencies[dep]\n if (tree.package.optionalDependencies &&\n tree.package.optionalDependencies[dep] &&\n !npm.config.get('optional')) {\n return done()\n }\n\n addDependency(dep, version, tree, log.newGroup('loadDep:' + dep), andHandleOptionalErrors(log, tree, dep, done))\n }, andForEachChild(loadDeps, andFinishTracker(log, next)))\n}\n\n// Load development dependencies into the given tree\nexports.loadDevDeps = function (tree, log, next) {\n validate('OOF', arguments)\n if (!tree.package.devDependencies) return andFinishTracker.now(log, next)\n // if any of our prexisting children are from a shrinkwrap then we skip\n // loading dev deps as the shrinkwrap will already have provided them for us.\n if (tree.children.some(function (child) { return child.shrinkwrapDev })) {\n return andFinishTracker.now(log, next)\n }\n asyncMap(Object.keys(tree.package.devDependencies), function (dep, done) {\n // things defined as both dev dependencies and regular dependencies are treated\n // as the former\n if (tree.package.dependencies[dep]) return done()\n\n var logGroup = log.newGroup('loadDevDep:' + dep)\n addDependency(dep, tree.package.devDependencies[dep], tree, logGroup, done)\n }, andForEachChild(loadDeps, andFinishTracker(log, next)))\n}\n\nvar loadExtraneous = exports.loadExtraneous = function (tree, log, next) {\n var seen = {}\n\n function loadExtraneous (tree) {\n if (seen[tree.path]) return\n seen[tree.path] = true\n for (var child of tree.children) {\n if (child.loaded) continue\n resolveWithExistingModule(child, tree)\n loadExtraneous(child)\n }\n }\n loadExtraneous(tree)\n log.finish()\n next()\n}\n\nexports.loadExtraneous.andResolveDeps = function (tree, log, next) {\n validate('OOF', arguments)\n // For canonicalized trees (eg from shrinkwrap) we don't want to bother\n // resolving the dependencies of extraneous deps.\n if (tree.loaded) return loadExtraneous(tree, log, next)\n asyncMap(tree.children.filter(function (child) { return !child.loaded }), function (child, done) {\n resolveWithExistingModule(child, tree)\n done(null, child, log)\n }, andForEachChild(loadDeps, andFinishTracker(log, next)))\n}\n\nfunction addDependency (name, versionSpec, tree, log, done) {\n validate('SSOOF', arguments)\n var next = andAddParentToErrors(tree, done)\n try {\n var req = childDependencySpecifier(tree, name, versionSpec)\n } catch (err) {\n return done(err)\n }\n var child = findRequirement(tree, name, req)\n if (child) {\n resolveWithExistingModule(child, tree)\n if (child.package._shrinkwrap === undefined) {\n readShrinkwrap.andInflate(child, function (er) { next(er, child, log) })\n } else {\n next(null, child, log)\n }\n } else {\n fetchPackageMetadata(req, packageRelativePath(tree), {tracker: log.newItem('fetchMetadata')}, iferr(next, function (pkg) {\n resolveWithNewModule(pkg, tree, log, next)\n }))\n }\n}\n\nfunction resolveWithExistingModule (child, tree) {\n validate('OO', arguments)\n addRequiredDep(tree, child)\n if (tree.parent && child.parent !== tree) updatePhantomChildren(tree.parent, child)\n}\n\nvar updatePhantomChildren = exports.updatePhantomChildren = function (current, child) {\n validate('OO', arguments)\n while (current && current !== child.parent) {\n if (!current.phantomChildren) current.phantomChildren = {}\n current.phantomChildren[moduleName(child)] = child\n current = current.parent\n }\n}\n\nexports._replaceModuleByPath = replaceModuleByPath\nfunction replaceModuleByPath (obj, key, child) {\n return replaceModule(obj, key, child, function (replacing, child) {\n return replacing.path === child.path\n })\n}\n\nexports._replaceModuleByName = replaceModuleByName\nfunction replaceModuleByName (obj, key, child) {\n var childName = moduleName(child)\n return replaceModule(obj, key, child, function (replacing, child) {\n return moduleName(replacing) === childName\n })\n}\n\nfunction replaceModule (obj, key, child, matchBy) {\n validate('OSOF', arguments)\n if (!obj[key]) obj[key] = []\n // we replace children with a new array object instead of mutating it\n // because mutating it results in weird failure states.\n // I would very much like to know _why_ this is. =/\n var children = [].concat(obj[key])\n for (var replaceAt = 0; replaceAt < children.length; ++replaceAt) {\n if (matchBy(children[replaceAt], child)) break\n }\n var replacing = children.splice(replaceAt, 1, child)\n obj[key] = children\n return replacing[0]\n}\n\nfunction resolveWithNewModule (pkg, tree, log, next) {\n validate('OOOF', arguments)\n\n log.silly('resolveWithNewModule', packageId(pkg), 'checking installable status')\n return isInstallable(pkg, iferr(next, function () {\n addBundled(pkg, iferr(next, function () {\n var parent = earliestInstallable(tree, tree, pkg) || tree\n var isLink = pkg._requested.type === 'directory'\n var child = createChild({\n package: pkg,\n parent: parent,\n path: path.join(parent.isLink ? parent.realpath : parent.path, 'node_modules', pkg.name),\n realpath: isLink ? pkg._requested.fetchSpec : path.join(parent.realpath, 'node_modules', pkg.name),\n children: pkg._bundled || [],\n isLink: isLink,\n isInLink: parent.isLink,\n knownInstallable: true\n })\n delete pkg._bundled\n var hasBundled = child.children.length\n\n var replaced = replaceModuleByName(parent, 'children', child)\n if (replaced) removeObsoleteDep(replaced)\n addRequiredDep(tree, child)\n child.location = flatNameFromTree(child)\n\n if (tree.parent && parent !== tree) updatePhantomChildren(tree.parent, child)\n\n if (hasBundled) {\n inflateBundled(child, child, child.children)\n }\n\n if (pkg._shrinkwrap && pkg._shrinkwrap.dependencies) {\n return inflateShrinkwrap(child, pkg._shrinkwrap.dependencies, function (er) {\n next(er, child, log)\n })\n }\n next(null, child, log)\n }))\n }))\n}\n\nvar validatePeerDeps = exports.validatePeerDeps = function (tree, onInvalid) {\n if (!tree.package.peerDependencies) return\n Object.keys(tree.package.peerDependencies).forEach(function (pkgname) {\n var version = tree.package.peerDependencies[pkgname]\n var match = findRequirement(tree.parent || tree, pkgname, npa.resolve(pkgname, version))\n if (!match) onInvalid(tree, pkgname, version)\n })\n}\n\nexports.validateAllPeerDeps = function (tree, onInvalid) {\n validateAllPeerDeps(tree, onInvalid, {})\n}\n\nfunction validateAllPeerDeps (tree, onInvalid, seen) {\n validate('OFO', arguments)\n if (seen[tree.path]) return\n seen[tree.path] = true\n validatePeerDeps(tree, onInvalid)\n tree.children.forEach(function (child) { validateAllPeerDeps(child, onInvalid, seen) })\n}\n\n// Determine if a module requirement is already met by the tree at or above\n// our current location in the tree.\nvar findRequirement = exports.findRequirement = function (tree, name, requested, requestor) {\n validate('OSO', [tree, name, requested])\n if (!requestor) requestor = tree\n var nameMatch = function (child) {\n return moduleName(child) === name && child.parent && !child.removed && !child.failed\n }\n var versionMatch = function (child) {\n return doesChildVersionMatch(child, requested, requestor)\n }\n if (nameMatch(tree)) {\n // this *is* the module, but it doesn't match the version, so a\n // new copy will have to be installed\n return versionMatch(tree) ? tree : null\n }\n\n var matches = tree.children.filter(nameMatch)\n if (matches.length) {\n matches = matches.filter(versionMatch)\n // the module exists as a dependent, but the version doesn't match, so\n // a new copy will have to be installed above here\n if (matches.length) return matches[0]\n return null\n }\n if (tree.isTop) return null\n return findRequirement(tree.parent, name, requested, requestor)\n}\n\nfunction preserveSymlinks () {\n if (!('NODE_PRESERVE_SYMLINKS' in process.env)) return false\n const value = process.env.NODE_PRESERVE_SYMLINKS\n if (value == null || value === '' || value === 'false' || value === 'no' || value === '0') return false\n return true\n}\n\n// Find the highest level in the tree that we can install this module in.\n// If the module isn't installed above us yet, that'd be the very top.\n// If it is, then it's the level below where its installed.\nvar earliestInstallable = exports.earliestInstallable = function (requiredBy, tree, pkg) {\n validate('OOO', arguments)\n function undeletedModuleMatches (child) {\n return !child.removed && moduleName(child) === pkg.name\n }\n if (tree.children.some(undeletedModuleMatches)) return null\n\n // If any of the children of this tree have conflicting\n // binaries then we need to decline to install this package here.\n var binaryMatches = pkg.bin && tree.children.some(function (child) {\n if (child.removed || !child.package.bin) return false\n return Object.keys(child.package.bin).some(function (bin) {\n return pkg.bin[bin]\n })\n })\n\n if (binaryMatches) return null\n\n // if this tree location requested the same module then we KNOW it\n // isn't compatible because if it were findRequirement would have\n // found that version.\n var deps = tree.package.dependencies || {}\n if (!tree.removed && requiredBy !== tree && deps[pkg.name]) {\n return null\n }\n\n var devDeps = tree.package.devDependencies || {}\n if (tree.isTop && devDeps[pkg.name]) {\n var requested = childDependencySpecifier(tree, pkg.name, devDeps[pkg.name])\n if (!doesChildVersionMatch({package: pkg}, requested, tree)) {\n return null\n }\n }\n\n if (tree.phantomChildren && tree.phantomChildren[pkg.name]) return null\n\n if (tree.isTop) return tree\n if (tree.isGlobal) return tree\n\n if (npm.config.get('global-style') && tree.parent.isTop) return tree\n if (npm.config.get('legacy-bundling')) return tree\n\n if (!preserveSymlinks() && /^[.][.][\\\\/]/.test(path.relative(tree.parent.realpath, tree.realpath))) return tree\n\n return (earliestInstallable(requiredBy, tree.parent, pkg) || tree)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "250", "url": "/usr/local/lib/node_modules/npm/lib/install/node.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar defaultTemplate = {\n package: {\n version: '',\n dependencies: {},\n devDependencies: {},\n optionalDependencies: {}\n },\n loaded: false,\n children: [],\n requiredBy: [],\n requires: [],\n missingDeps: {},\n missingDevDeps: {},\n phantomChildren: {},\n path: null,\n realpath: null,\n location: null,\n userRequired: false,\n save: false,\n saveSpec: null,\n isTop: false,\n fromBundle: false\n}\n\nfunction isLink (node) {\n return node && node.isLink\n}\n\nvar create = exports.create = function (node, template, isNotTop) {\n if (!template) template = defaultTemplate\n Object.keys(template).forEach(function (key) {\n if (template[key] != null && typeof template[key] === 'object' && !(template[key] instanceof Array)) {\n if (!node[key]) node[key] = {}\n return create(node[key], template[key], true)\n }\n if (node[key] != null) return\n node[key] = template[key]\n })\n if (!isNotTop) {\n // isLink is true for the symlink and everything inside it.\n // by contrast, isInLink is true for only the things inside a link\n if (node.isLink == null && isLink(node.parent)) {\n node.isLink = true\n node.isInLink = true\n } else if (node.isLink == null) {\n node.isLink = false\n node.isInLink = false\n }\n if (node.fromBundle == null && node.package) {\n node.fromBundle = node.package._inBundle\n } else if (node.fromBundle == null) {\n node.fromBundle = false\n }\n }\n return node\n}\n\nexports.reset = function (node) {\n reset(node, {})\n}\n\nfunction reset (node, seen) {\n if (seen[node.path]) return\n seen[node.path] = true\n var child = create(node)\n\n // FIXME: cleaning up after read-package-json's mess =(\n if (child.package._id === '@') delete child.package._id\n\n child.isTop = false\n child.requiredBy = []\n child.requires = []\n child.missingDeps = {}\n child.missingDevDeps = {}\n child.phantomChildren = {}\n child.location = null\n\n child.children.forEach(function (child) { reset(child, seen) })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "318", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/npa.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nmodule.exports = npa\nmodule.exports.resolve = resolve\nmodule.exports.Result = Result\n\nlet url\nlet HostedGit\nlet semver\nlet path\nlet validatePackageName\nlet osenv\n\nconst isWindows = process.platform === 'win32' || global.FAKE_WINDOWS\nconst hasSlashes = isWindows ? /\\\\|[/]/ : /[/]/\nconst isURL = /^(?:git[+])?[a-z]+:/i\nconst isFilename = /[.](?:tgz|tar.gz|tar)$/i\n\nfunction npa (arg, where) {\n let name\n let spec\n const nameEndsAt = arg[0] === '@' ? arg.slice(1).indexOf('@') + 1 : arg.indexOf('@')\n const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg\n if (isURL.test(arg)) {\n spec = arg\n } else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) {\n spec = arg\n } else if (nameEndsAt > 0) {\n name = namePart\n spec = arg.slice(nameEndsAt + 1)\n } else {\n if (!validatePackageName) validatePackageName = require('validate-npm-package-name')\n const valid = validatePackageName(arg)\n if (valid.validForOldPackages) {\n name = arg\n } else {\n spec = arg\n }\n }\n return resolve(name, spec, where, arg)\n}\n\nconst isFilespec = isWindows ? /^(?:[.]|~[/]|[/\\\\]|[a-zA-Z]:)/ : /^(?:[.]|~[/]|[/]|[a-zA-Z]:)/\n\nfunction resolve (name, spec, where, arg) {\n const res = new Result({\n raw: arg,\n name: name,\n rawSpec: spec,\n fromArgument: arg != null\n })\n\n if (name) res.setName(name)\n\n if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) {\n return fromFile(res, where)\n }\n if (!HostedGit) HostedGit = require('hosted-git-info')\n const hosted = HostedGit.fromUrl(spec, {noGitPlus: true, noCommittish: true})\n if (hosted) {\n return fromHostedGit(res, hosted)\n } else if (spec && isURL.test(spec)) {\n return fromURL(res)\n } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) {\n return fromFile(res, where)\n } else {\n return fromRegistry(res)\n }\n}\n\nfunction invalidPackageName (name, valid) {\n const err = new Error(`Invalid package name \"${name}\": ${valid.errors.join('; ')}`)\n err.code = 'EINVALIDPACKAGENAME'\n return err\n}\nfunction invalidTagName (name) {\n const err = new Error(`Invalid tag name \"${name}\": Tags may not have any characters that encodeURIComponent encodes.`)\n err.code = 'EINVALIDTAGNAME'\n return err\n}\n\nfunction Result (opts) {\n this.type = opts.type\n this.registry = opts.registry\n this.where = opts.where\n if (opts.raw == null) {\n this.raw = opts.name ? opts.name + '@' + opts.rawSpec : opts.rawSpec\n } else {\n this.raw = opts.raw\n }\n this.name = undefined\n this.escapedName = undefined\n this.scope = undefined\n this.rawSpec = opts.rawSpec == null ? '' : opts.rawSpec\n this.saveSpec = opts.saveSpec\n this.fetchSpec = opts.fetchSpec\n if (opts.name) this.setName(opts.name)\n this.gitRange = opts.gitRange\n this.gitCommittish = opts.gitCommittish\n this.hosted = opts.hosted\n}\nResult.prototype = {}\n\nResult.prototype.setName = function (name) {\n if (!validatePackageName) validatePackageName = require('validate-npm-package-name')\n const valid = validatePackageName(name)\n if (!valid.validForOldPackages) {\n throw invalidPackageName(name, valid)\n }\n this.name = name\n this.scope = name[0] === '@' ? name.slice(0, name.indexOf('/')) : undefined\n // scoped packages in couch must have slash url-encoded, e.g. @foo%2Fbar\n this.escapedName = name.replace('/', '%2f')\n return this\n}\n\nResult.prototype.toString = function () {\n const full = []\n if (this.name != null && this.name !== '') full.push(this.name)\n const spec = this.saveSpec || this.fetchSpec || this.rawSpec\n if (spec != null && spec !== '') full.push(spec)\n return full.length ? full.join('@') : this.raw\n}\n\nResult.prototype.toJSON = function () {\n const result = Object.assign({}, this)\n delete result.hosted\n return result\n}\n\nfunction setGitCommittish (res, committish) {\n if (committish != null && committish.length >= 7 && committish.slice(0, 7) === 'semver:') {\n res.gitRange = decodeURIComponent(committish.slice(7))\n res.gitCommittish = null\n } else if (committish == null || committish === '') {\n res.gitCommittish = 'master'\n } else {\n res.gitCommittish = committish\n }\n return res\n}\n\nconst isAbsolutePath = /^[/]|^[A-Za-z]:/\n\nfunction resolvePath (where, spec) {\n if (isAbsolutePath.test(spec)) return spec\n if (!path) path = require('path')\n return path.resolve(where, spec)\n}\n\nfunction isAbsolute (dir) {\n if (dir[0] === '/') return true\n if (/^[A-Za-z]:/.test(dir)) return true\n return false\n}\n\nfunction fromFile (res, where) {\n if (!where) where = process.cwd()\n res.type = isFilename.test(res.rawSpec) ? 'file' : 'directory'\n res.where = where\n\n const spec = res.rawSpec.replace(/\\\\/g, '/')\n .replace(/^file:[/]*([A-Za-z]:)/, '$1') // drive name paths on windows\n .replace(/^file:(?:[/]*([~./]))?/, '$1')\n if (/^~[/]/.test(spec)) {\n // this is needed for windows and for file:~/foo/bar\n if (!osenv) osenv = require('osenv')\n res.fetchSpec = resolvePath(osenv.home(), spec.slice(2))\n res.saveSpec = 'file:' + spec\n } else {\n res.fetchSpec = resolvePath(where, spec)\n if (isAbsolute(spec)) {\n res.saveSpec = 'file:' + spec\n } else {\n if (!path) path = require('path')\n res.saveSpec = 'file:' + path.relative(where, res.fetchSpec)\n }\n }\n return res\n}\n\nfunction fromHostedGit (res, hosted) {\n res.type = 'git'\n res.hosted = hosted\n res.saveSpec = hosted.toString({noGitPlus: false, noCommittish: false})\n res.fetchSpec = hosted.getDefaultRepresentation() === 'shortcut' ? null : hosted.toString()\n return setGitCommittish(res, hosted.committish)\n}\n\nfunction unsupportedURLType (protocol, spec) {\n const err = new Error(`Unsupported URL Type \"${protocol}\": ${spec}`)\n err.code = 'EUNSUPPORTEDPROTOCOL'\n return err\n}\n\nfunction matchGitScp (spec) {\n // git ssh specifiers are overloaded to also use scp-style git\n // specifiers, so we have to parse those out and treat them special.\n // They are NOT true URIs, so we can't hand them to `url.parse`.\n //\n // This regex looks for things that look like:\n // git+ssh://git@my.custom.git.com:username/project.git#deadbeef\n //\n // ...and various combinations. The username in the beginning is *required*.\n const matched = spec.match(/^git\\+ssh:\\/\\/([^:]+:[^#]+(?:\\.git)?)(?:#(.*))$/i)\n return matched && !matched[1].match(/:[0-9]+\\/?.*$/i) && {\n fetchSpec: matched[1],\n gitCommittish: matched[2]\n }\n}\n\nfunction fromURL (res) {\n if (!url) url = require('url')\n const urlparse = url.parse(res.rawSpec)\n res.saveSpec = res.rawSpec\n // check the protocol, and then see if it's git or not\n switch (urlparse.protocol) {\n case 'git:':\n case 'git+http:':\n case 'git+https:':\n case 'git+rsync:':\n case 'git+ftp:':\n case 'git+file:':\n case 'git+ssh:':\n res.type = 'git'\n const match = urlparse.protocol === 'git+ssh:' && matchGitScp(res.rawSpec)\n if (match) {\n res.fetchSpec = match.fetchSpec\n res.gitCommittish = match.gitCommittish\n } else {\n setGitCommittish(res, urlparse.hash != null ? urlparse.hash.slice(1) : '')\n urlparse.protocol = urlparse.protocol.replace(/^git[+]/, '')\n delete urlparse.hash\n res.fetchSpec = url.format(urlparse)\n }\n break\n case 'http:':\n case 'https:':\n res.type = 'remote'\n res.fetchSpec = res.saveSpec\n break\n\n default:\n throw unsupportedURLType(urlparse.protocol, res.rawSpec)\n }\n\n return res\n}\n\nfunction fromRegistry (res) {\n res.registry = true\n const spec = res.rawSpec === '' ? 'latest' : res.rawSpec\n // no save spec for registry components as we save based on the fetched\n // version, not on the argument so this can't compute that.\n res.saveSpec = null\n res.fetchSpec = spec\n if (!semver) semver = require('semver')\n const version = semver.valid(spec, true)\n const range = semver.validRange(spec, true)\n if (version) {\n res.type = 'version'\n } else if (range) {\n res.type = 'range'\n } else {\n if (encodeURIComponent(spec) !== spec) {\n throw invalidTagName(spec)\n }\n res.type = 'tag'\n }\n return res\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg" }, { "id": "208", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar scopedPackagePattern = new RegExp('^(?:@([^/]+?)[/])?([^/]+?)$')\nvar builtins = require('builtins')\nvar blacklist = [\n 'node_modules',\n 'favicon.ico'\n]\n\nvar validate = module.exports = function (name) {\n var warnings = []\n var errors = []\n\n if (name === null) {\n errors.push('name cannot be null')\n return done(warnings, errors)\n }\n\n if (name === undefined) {\n errors.push('name cannot be undefined')\n return done(warnings, errors)\n }\n\n if (typeof name !== 'string') {\n errors.push('name must be a string')\n return done(warnings, errors)\n }\n\n if (!name.length) {\n errors.push('name length must be greater than zero')\n }\n\n if (name.match(/^\\./)) {\n errors.push('name cannot start with a period')\n }\n\n if (name.match(/^_/)) {\n errors.push('name cannot start with an underscore')\n }\n\n if (name.trim() !== name) {\n errors.push('name cannot contain leading or trailing spaces')\n }\n\n // No funny business\n blacklist.forEach(function (blacklistedName) {\n if (name.toLowerCase() === blacklistedName) {\n errors.push(blacklistedName + ' is a blacklisted name')\n }\n })\n\n // Generate warnings for stuff that used to be allowed\n\n // core module names like http, events, util, etc\n builtins.forEach(function (builtin) {\n if (name.toLowerCase() === builtin) {\n warnings.push(builtin + ' is a core module name')\n }\n })\n\n // really-long-package-names-------------------------------such--length-----many---wow\n // the thisisareallyreallylongpackagenameitshouldpublishdowenowhavealimittothelengthofpackagenames-poch.\n if (name.length > 214) {\n warnings.push('name can no longer contain more than 214 characters')\n }\n\n // mIxeD CaSe nAMEs\n if (name.toLowerCase() !== name) {\n warnings.push('name can no longer contain capital letters')\n }\n\n if (/[~'!()*]/.test(name.split('/').slice(-1)[0])) {\n warnings.push('name can no longer contain special characters (\"~\\'!()*\")')\n }\n\n if (encodeURIComponent(name) !== name) {\n // Maybe it's a scoped package name, like @user/package\n var nameMatch = name.match(scopedPackagePattern)\n if (nameMatch) {\n var user = nameMatch[1]\n var pkg = nameMatch[2]\n if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) {\n return done(warnings, errors)\n }\n }\n\n errors.push('name can only contain URL-friendly characters')\n }\n\n return done(warnings, errors)\n}\n\nvalidate.scopedPackagePattern = scopedPackagePattern\n\nvar done = function (warnings, errors) {\n var result = {\n validForNewPackages: errors.length === 0 && warnings.length === 0,\n validForOldPackages: errors.length === 0,\n warnings: warnings,\n errors: errors\n }\n if (!result.warnings.length) delete result.warnings\n if (!result.errors.length) delete result.errors\n return result\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name" }, { "id": "229", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar url = require('url')\nvar gitHosts = require('./git-host-info.js')\nvar GitHost = module.exports = require('./git-host.js')\n\nvar protocolToRepresentationMap = {\n 'git+ssh': 'sshurl',\n 'git+https': 'https',\n 'ssh': 'sshurl',\n 'git': 'git'\n}\n\nfunction protocolToRepresentation (protocol) {\n if (protocol.substr(-1) === ':') protocol = protocol.slice(0, -1)\n return protocolToRepresentationMap[protocol] || protocol\n}\n\nvar authProtocols = {\n 'git:': true,\n 'https:': true,\n 'git+https:': true,\n 'http:': true,\n 'git+http:': true\n}\n\nmodule.exports.fromUrl = function (giturl, opts) {\n if (giturl == null || giturl === '') return\n var url = fixupUnqualifiedGist(\n isGitHubShorthand(giturl) ? 'github:' + giturl : giturl\n )\n var parsed = parseGitUrl(url)\n var shortcutMatch = url.match(new RegExp('^([^:]+):(?:(?:[^@:]+(?:[^@]+)?@)?([^/]*))[/](.+?)(?:[.]git)?($|#)'))\n var matches = Object.keys(gitHosts).map(function (gitHostName) {\n try {\n var gitHostInfo = gitHosts[gitHostName]\n var auth = null\n if (parsed.auth && authProtocols[parsed.protocol]) {\n auth = decodeURIComponent(parsed.auth)\n }\n var committish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null\n var user = null\n var project = null\n var defaultRepresentation = null\n if (shortcutMatch && shortcutMatch[1] === gitHostName) {\n user = shortcutMatch[2] && decodeURIComponent(shortcutMatch[2])\n project = decodeURIComponent(shortcutMatch[3])\n defaultRepresentation = 'shortcut'\n } else {\n if (parsed.host !== gitHostInfo.domain) return\n if (!gitHostInfo.protocols_re.test(parsed.protocol)) return\n if (!parsed.path) return\n var pathmatch = gitHostInfo.pathmatch\n var matched = parsed.path.match(pathmatch)\n if (!matched) return\n if (matched[1] != null) user = decodeURIComponent(matched[1].replace(/^:/, ''))\n if (matched[2] != null) project = decodeURIComponent(matched[2])\n defaultRepresentation = protocolToRepresentation(parsed.protocol)\n }\n return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts)\n } catch (ex) {\n if (!(ex instanceof URIError)) throw ex\n }\n }).filter(function (gitHostInfo) { return gitHostInfo })\n if (matches.length !== 1) return\n return matches[0]\n}\n\nfunction isGitHubShorthand (arg) {\n // Note: This does not fully test the git ref format.\n // See https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html\n //\n // The only way to do this properly would be to shell out to\n // git-check-ref-format, and as this is a fast sync function,\n // we don't want to do that. Just let git fail if it turns\n // out that the commit-ish is invalid.\n // GH usernames cannot start with . or -\n return /^[^:@%/\\s.-][^:@%/\\s]*[/][^:@\\s/%]+(?:#.*)?$/.test(arg)\n}\n\nfunction fixupUnqualifiedGist (giturl) {\n // necessary for round-tripping gists\n var parsed = url.parse(giturl)\n if (parsed.protocol === 'gist:' && parsed.host && !parsed.path) {\n return parsed.protocol + '/' + parsed.host\n } else {\n return giturl\n }\n}\n\nfunction parseGitUrl (giturl) {\n if (typeof giturl !== 'string') giturl = '' + giturl\n var matched = giturl.match(/^([^@]+)@([^:/]+):[/]?((?:[^/]+[/])?[^/]+?)(?:[.]git)?(#.*)?$/)\n if (!matched) return url.parse(giturl)\n return {\n protocol: 'git+ssh:',\n slashes: true,\n auth: matched[1],\n host: matched[2],\n port: null,\n hostname: matched[2],\n hash: matched[4],\n search: null,\n query: null,\n pathname: '/' + matched[3],\n path: '/' + matched[3],\n href: 'git+ssh://' + matched[1] + '@' + matched[2] +\n '/' + matched[3] + (matched[4] || '')\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info" }, { "id": "231", "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/git-host.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar gitHosts = require('./git-host-info.js')\nvar extend = Object.assign || require('util')._extend\n\nvar GitHost = module.exports = function (type, user, auth, project, committish, defaultRepresentation, opts) {\n var gitHostInfo = this\n gitHostInfo.type = type\n Object.keys(gitHosts[type]).forEach(function (key) {\n gitHostInfo[key] = gitHosts[type][key]\n })\n gitHostInfo.user = user\n gitHostInfo.auth = auth\n gitHostInfo.project = project\n gitHostInfo.committish = committish\n gitHostInfo.default = defaultRepresentation\n gitHostInfo.opts = opts || {}\n}\nGitHost.prototype = {}\n\nGitHost.prototype.hash = function () {\n return this.committish ? '#' + this.committish : ''\n}\n\nGitHost.prototype._fill = function (template, opts) {\n if (!template) return\n var vars = extend({}, opts)\n opts = extend(extend({}, this.opts), opts)\n var self = this\n Object.keys(this).forEach(function (key) {\n if (self[key] != null && vars[key] == null) vars[key] = self[key]\n })\n var rawAuth = vars.auth\n var rawComittish = vars.committish\n Object.keys(vars).forEach(function (key) {\n vars[key] = encodeURIComponent(vars[key])\n })\n vars['auth@'] = rawAuth ? rawAuth + '@' : ''\n if (opts.noCommittish) {\n vars['#committish'] = ''\n vars['/tree/committish'] = ''\n vars['/comittish'] = ''\n vars.comittish = ''\n } else {\n vars['#committish'] = rawComittish ? '#' + rawComittish : ''\n vars['/tree/committish'] = vars.committish\n ? '/' + vars.treepath + '/' + vars.committish\n : ''\n vars['/committish'] = vars.committish ? '/' + vars.committish : ''\n vars.committish = vars.committish || 'master'\n }\n var res = template\n Object.keys(vars).forEach(function (key) {\n res = res.replace(new RegExp('[{]' + key + '[}]', 'g'), vars[key])\n })\n if (opts.noGitPlus) {\n return res.replace(/^git[+]/, '')\n } else {\n return res\n }\n}\n\nGitHost.prototype.ssh = function (opts) {\n return this._fill(this.sshtemplate, opts)\n}\n\nGitHost.prototype.sshurl = function (opts) {\n return this._fill(this.sshurltemplate, opts)\n}\n\nGitHost.prototype.browse = function (opts) {\n return this._fill(this.browsetemplate, opts)\n}\n\nGitHost.prototype.docs = function (opts) {\n return this._fill(this.docstemplate, opts)\n}\n\nGitHost.prototype.bugs = function (opts) {\n return this._fill(this.bugstemplate, opts)\n}\n\nGitHost.prototype.https = function (opts) {\n return this._fill(this.httpstemplate, opts)\n}\n\nGitHost.prototype.git = function (opts) {\n return this._fill(this.gittemplate, opts)\n}\n\nGitHost.prototype.shortcut = function (opts) {\n return this._fill(this.shortcuttemplate, opts)\n}\n\nGitHost.prototype.path = function (opts) {\n return this._fill(this.pathtemplate, opts)\n}\n\nGitHost.prototype.tarball = function (opts) {\n return this._fill(this.tarballtemplate, opts)\n}\n\nGitHost.prototype.file = function (P, opts) {\n return this._fill(this.filetemplate, extend({\n path: P.replace(/^[/]+/g, '')\n }, opts))\n}\n\nGitHost.prototype.getDefaultRepresentation = function () {\n return this.default\n}\n\nGitHost.prototype.toString = function (opts) {\n return (this[this.default] || this.sshurl).call(this, opts)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info" }, { "id": "91", "url": "/usr/local/lib/node_modules/npm/node_modules/aproba/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nfunction isArguments (thingy) {\n return thingy != null && typeof thingy === 'object' && thingy.hasOwnProperty('callee')\n}\n\nvar types = {\n '*': {label: 'any', check: function () { return true }},\n A: {label: 'array', check: function (thingy) { return Array.isArray(thingy) || isArguments(thingy) }},\n S: {label: 'string', check: function (thingy) { return typeof thingy === 'string' }},\n N: {label: 'number', check: function (thingy) { return typeof thingy === 'number' }},\n F: {label: 'function', check: function (thingy) { return typeof thingy === 'function' }},\n O: {label: 'object', check: function (thingy) { return typeof thingy === 'object' && thingy != null && !types.A.check(thingy) && !types.E.check(thingy) }},\n B: {label: 'boolean', check: function (thingy) { return typeof thingy === 'boolean' }},\n E: {label: 'error', check: function (thingy) { return thingy instanceof Error }},\n Z: {label: 'null', check: function (thingy) { return thingy == null }}\n}\n\nfunction addSchema (schema, arity) {\n var group = arity[schema.length] = arity[schema.length] || []\n if (group.indexOf(schema) === -1) group.push(schema)\n}\n\nvar validate = module.exports = function (rawSchemas, args) {\n if (arguments.length !== 2) throw wrongNumberOfArgs(['SA'], arguments.length)\n if (!rawSchemas) throw missingRequiredArg(0, 'rawSchemas')\n if (!args) throw missingRequiredArg(1, 'args')\n if (!types.S.check(rawSchemas)) throw invalidType(0, ['string'], rawSchemas)\n if (!types.A.check(args)) throw invalidType(1, ['array'], args)\n var schemas = rawSchemas.split('|')\n var arity = {}\n\n schemas.forEach(function (schema) {\n for (var ii = 0; ii < schema.length; ++ii) {\n var type = schema[ii]\n if (!types[type]) throw unknownType(ii, type)\n }\n if (/E.*E/.test(schema)) throw moreThanOneError(schema)\n addSchema(schema, arity)\n if (/E/.test(schema)) {\n addSchema(schema.replace(/E.*$/, 'E'), arity)\n addSchema(schema.replace(/E/, 'Z'), arity)\n if (schema.length === 1) addSchema('', arity)\n }\n })\n var matching = arity[args.length]\n if (!matching) {\n throw wrongNumberOfArgs(Object.keys(arity), args.length)\n }\n for (var ii = 0; ii < args.length; ++ii) {\n var newMatching = matching.filter(function (schema) {\n var type = schema[ii]\n var typeCheck = types[type].check\n return typeCheck(args[ii])\n })\n if (!newMatching.length) {\n var labels = matching.map(function (schema) {\n return types[schema[ii]].label\n }).filter(function (schema) { return schema != null })\n throw invalidType(ii, labels, args[ii])\n }\n matching = newMatching\n }\n}\n\nfunction missingRequiredArg (num) {\n return newException('EMISSINGARG', 'Missing required argument #' + (num + 1))\n}\n\nfunction unknownType (num, type) {\n return newException('EUNKNOWNTYPE', 'Unknown type ' + type + ' in argument #' + (num + 1))\n}\n\nfunction invalidType (num, expectedTypes, value) {\n var valueType\n Object.keys(types).forEach(function (typeCode) {\n if (types[typeCode].check(value)) valueType = types[typeCode].label\n })\n return newException('EINVALIDTYPE', 'Argument #' + (num + 1) + ': Expected ' +\n englishList(expectedTypes) + ' but got ' + valueType)\n}\n\nfunction englishList (list) {\n return list.join(', ').replace(/, ([^,]+)$/, ' or $1')\n}\n\nfunction wrongNumberOfArgs (expected, got) {\n var english = englishList(expected)\n var args = expected.every(function (ex) { return ex.length === 1 })\n ? 'argument'\n : 'arguments'\n return newException('EWRONGARGCOUNT', 'Expected ' + english + ' ' + args + ' but got ' + got)\n}\n\nfunction moreThanOneError (schema) {\n return newException('ETOOMANYERRORTYPES',\n 'Only one error type per argument signature is allowed, more than one found in \"' + schema + '\"')\n}\n\nfunction newException (code, msg) {\n var e = new Error(msg)\n e.code = code\n Error.captureStackTrace(e, validate)\n return e\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/aproba" }, { "id": "553", "url": "/usr/local/lib/node_modules/npm/lib/install/flatten-tree.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar validate = require('aproba')\nvar moduleName = require('../utils/module-name.js')\n\nmodule.exports = flattenTree\nmodule.exports.flatName = flatName\nmodule.exports.flatNameFromTree = flatNameFromTree\n\nfunction flattenTree (tree) {\n validate('O', arguments)\n var seen = {}\n var flat = {}\n var todo = [[tree, '/']]\n while (todo.length) {\n var next = todo.shift()\n var pkg = next[0]\n seen[pkg.path] = true\n var path = next[1]\n flat[path] = pkg\n if (path !== '/') path += '/'\n for (var ii = 0; ii < pkg.children.length; ++ii) {\n var child = pkg.children[ii]\n if (!seen[child.path]) {\n todo.push([child, flatName(path, child)])\n }\n }\n }\n return flat\n}\n\nfunction flatName (path, child) {\n validate('SO', arguments)\n return path + (moduleName(child) || 'TOP')\n}\n\nfunction flatNameFromTree (tree) {\n validate('O', arguments)\n if (tree.isTop) return '/'\n var path = flatNameFromTree(tree.parent)\n if (path !== '/') path += '/'\n return flatName(path, tree)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "557", "url": "/usr/local/lib/node_modules/npm/lib/install/is-dev-dep.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nmodule.exports = isDevDep\n\nfunction isDevDep (node, name) {\n return node.package &&\n node.package.devDependencies &&\n node.package.devDependencies[name]\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "146", "url": "url.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst { toASCII } = process.binding('config').hasIntl ?\n process.binding('icu') : require('punycode');\n\nconst { hexTable } = require('internal/querystring');\n\n// WHATWG URL implementation provided by internal/url\nconst {\n URL,\n URLSearchParams,\n domainToASCII,\n domainToUnicode,\n formatSymbol\n} = require('internal/url');\n\n// Original url.parse() API\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nconst protocolPattern = /^[a-z0-9.+-]+:/i;\nconst portPattern = /:[0-9]*$/;\nconst hostPattern = /^\\/\\/[^@/]+@[^@/]+/;\n\n// Special case for a simple path URL\nconst simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/;\n\nconst hostnameMaxLen = 255;\n// protocols that can allow \"unsafe\" and \"unwise\" chars.\nconst unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n};\n// protocols that never have a hostname.\nconst hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n};\n// protocols that always contain a // bit.\nconst slashedProtocol = {\n 'http': true,\n 'http:': true,\n 'https': true,\n 'https:': true,\n 'ftp': true,\n 'ftp:': true,\n 'gopher': true,\n 'gopher:': true,\n 'file': true,\n 'file:': true\n};\nconst querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url instanceof Url) return url;\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function parse(url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError('Parameter \"url\" must be a string, not ' + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var hasHash = false;\n var start = -1;\n var end = -1;\n var rest = '';\n var lastPos = 0;\n var i = 0;\n for (var inWs = false, split = false; i < url.length; ++i) {\n const code = url.charCodeAt(i);\n\n // Find first and last non-whitespace characters for trimming\n const isWs = code === 32/* */ ||\n code === 9/*\\t*/ ||\n code === 13/*\\r*/ ||\n code === 10/*\\n*/ ||\n code === 12/*\\f*/ ||\n code === 160/*\\u00A0*/ ||\n code === 65279/*\\uFEFF*/;\n if (start === -1) {\n if (isWs)\n continue;\n lastPos = start = i;\n } else {\n if (inWs) {\n if (!isWs) {\n end = -1;\n inWs = false;\n }\n } else if (isWs) {\n end = i;\n inWs = true;\n }\n }\n\n // Only convert backslashes while we haven't seen a split character\n if (!split) {\n switch (code) {\n case 35: // '#'\n hasHash = true;\n // Fall through\n case 63: // '?'\n split = true;\n break;\n case 92: // '\\\\'\n if (i - lastPos > 0)\n rest += url.slice(lastPos, i);\n rest += '/';\n lastPos = i + 1;\n break;\n }\n } else if (!hasHash && code === 35/*#*/) {\n hasHash = true;\n }\n }\n\n // Check if string was non-empty (including strings with only whitespace)\n if (start !== -1) {\n if (lastPos === start) {\n // We didn't convert any backslashes\n\n if (end === -1) {\n if (start === 0)\n rest = url;\n else\n rest = url.slice(start);\n } else {\n rest = url.slice(start, end);\n }\n } else if (end === -1 && lastPos < url.length) {\n // We converted some backslashes and have only part of the entire string\n rest += url.slice(lastPos);\n } else if (end !== -1 && lastPos < end) {\n // We converted some backslashes and have only part of the entire string\n rest += url.slice(lastPos, end);\n }\n }\n\n if (!slashesDenoteHost && !hasHash) {\n // Try fast path regexp\n const simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.slice(1));\n } else {\n this.query = this.search.slice(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = Object.create(null);\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.slice(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || hostPattern.test(rest)) {\n var slashes = rest.charCodeAt(0) === 47/*/*/ &&\n rest.charCodeAt(1) === 47/*/*/;\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.slice(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:b path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n var hostEnd = -1;\n var atSign = -1;\n var nonHost = -1;\n for (i = 0; i < rest.length; ++i) {\n switch (rest.charCodeAt(i)) {\n case 9: // '\\t'\n case 10: // '\\n'\n case 13: // '\\r'\n case 32: // ' '\n case 34: // '\"'\n case 37: // '%'\n case 39: // '\\''\n case 59: // ';'\n case 60: // '<'\n case 62: // '>'\n case 92: // '\\\\'\n case 94: // '^'\n case 96: // '`'\n case 123: // '{'\n case 124: // '|'\n case 125: // '}'\n // Characters that are never ever allowed in a hostname from RFC 2396\n if (nonHost === -1)\n nonHost = i;\n break;\n case 35: // '#'\n case 47: // '/'\n case 63: // '?'\n // Find the first instance of any host-ending characters\n if (nonHost === -1)\n nonHost = i;\n hostEnd = i;\n break;\n case 64: // '@'\n // At this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n atSign = i;\n nonHost = -1;\n break;\n }\n if (hostEnd !== -1)\n break;\n }\n start = 0;\n if (atSign !== -1) {\n this.auth = decodeURIComponent(rest.slice(0, atSign));\n start = atSign + 1;\n }\n if (nonHost === -1) {\n this.host = rest.slice(start);\n rest = '';\n } else {\n this.host = rest.slice(start, nonHost);\n rest = rest.slice(nonHost);\n }\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n if (typeof this.hostname !== 'string')\n this.hostname = '';\n\n var hostname = this.hostname;\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = hostname.charCodeAt(0) === 91/*[*/ &&\n hostname.charCodeAt(hostname.length - 1) === 93/*]*/;\n\n // validate a little.\n if (!ipv6Hostname) {\n const result = validateHostname(this, rest, hostname);\n if (result !== undefined)\n rest = result;\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n\n // Use lenient mode (`true`) to try to support even non-compliant\n // URLs.\n this.hostname = toASCII(this.hostname, true);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.slice(1, -1);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n const result = autoEscapeStr(rest);\n if (result !== undefined)\n rest = result;\n }\n\n var questionIdx = -1;\n var hashIdx = -1;\n for (i = 0; i < rest.length; ++i) {\n const code = rest.charCodeAt(i);\n if (code === 35/*#*/) {\n this.hash = rest.slice(i);\n hashIdx = i;\n break;\n } else if (code === 63/*?*/ && questionIdx === -1) {\n questionIdx = i;\n }\n }\n\n if (questionIdx !== -1) {\n if (hashIdx === -1) {\n this.search = rest.slice(questionIdx);\n this.query = rest.slice(questionIdx + 1);\n } else {\n this.search = rest.slice(questionIdx, hashIdx);\n this.query = rest.slice(questionIdx + 1, hashIdx);\n }\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = Object.create(null);\n }\n\n var firstIdx = (questionIdx !== -1 &&\n (hashIdx === -1 || questionIdx < hashIdx) ?\n questionIdx :\n hashIdx);\n if (firstIdx === -1) {\n if (rest.length > 0)\n this.pathname = rest;\n } else if (firstIdx > 0) {\n this.pathname = rest.slice(0, firstIdx);\n }\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n const p = this.pathname || '';\n const s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\nfunction validateHostname(self, rest, hostname) {\n for (var i = 0; i < hostname.length; ++i) {\n const code = hostname.charCodeAt(i);\n const isValid = (code >= 97/*a*/ && code <= 122/*z*/) ||\n code === 46/*.*/ ||\n (code >= 65/*A*/ && code <= 90/*Z*/) ||\n (code >= 48/*0*/ && code <= 57/*9*/) ||\n code === 45/*-*/ ||\n code === 43/*+*/ ||\n code === 95/*_*/ ||\n code > 127;\n\n // Invalid host character\n if (!isValid) {\n self.hostname = hostname.slice(0, i);\n return '/' + hostname.slice(i) + rest;\n }\n }\n}\n\n// Automatically escape all delimiters and unwise characters from RFC 2396.\n// Also escape single quotes in case of an XSS attack.\n// Return undefined if the string doesn't need escaping,\n// otherwise return the escaped string.\nfunction autoEscapeStr(rest) {\n var escaped = '';\n var lastEscapedPos = 0;\n for (var i = 0; i < rest.length; ++i) {\n // Manual switching is faster than using a Map/Object.\n // `escaped` contains substring up to the last escaped cahracter.\n switch (rest.charCodeAt(i)) {\n case 9: // '\\t'\n // Concat if there are ordinary characters in the middle.\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%09';\n lastEscapedPos = i + 1;\n break;\n case 10: // '\\n'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%0A';\n lastEscapedPos = i + 1;\n break;\n case 13: // '\\r'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%0D';\n lastEscapedPos = i + 1;\n break;\n case 32: // ' '\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%20';\n lastEscapedPos = i + 1;\n break;\n case 34: // '\"'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%22';\n lastEscapedPos = i + 1;\n break;\n case 39: // '\\''\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%27';\n lastEscapedPos = i + 1;\n break;\n case 60: // '<'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%3C';\n lastEscapedPos = i + 1;\n break;\n case 62: // '>'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%3E';\n lastEscapedPos = i + 1;\n break;\n case 92: // '\\\\'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%5C';\n lastEscapedPos = i + 1;\n break;\n case 94: // '^'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%5E';\n lastEscapedPos = i + 1;\n break;\n case 96: // '`'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%60';\n lastEscapedPos = i + 1;\n break;\n case 123: // '{'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%7B';\n lastEscapedPos = i + 1;\n break;\n case 124: // '|'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%7C';\n lastEscapedPos = i + 1;\n break;\n case 125: // '}'\n if (i > lastEscapedPos)\n escaped += rest.slice(lastEscapedPos, i);\n escaped += '%7D';\n lastEscapedPos = i + 1;\n break;\n }\n }\n if (lastEscapedPos === 0) // Nothing has been escaped.\n return;\n // There are ordinary characters at the end.\n if (lastEscapedPos < rest.length)\n return escaped + rest.slice(lastEscapedPos);\n else // The last character is escaped.\n return escaped;\n}\n\n// format a parsed object into a url string\nfunction urlFormat(obj, options) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (typeof obj === 'string') {\n obj = urlParse(obj);\n } else if (typeof obj !== 'object' || obj === null) {\n throw new TypeError('Parameter \"urlObj\" must be an object, not ' +\n (obj === null ? 'null' : typeof obj));\n } else if (!(obj instanceof Url)) {\n var format = obj[formatSymbol];\n return format ?\n format.call(obj, options) :\n Url.prototype.format.call(obj);\n }\n return obj.format();\n}\n\nUrl.prototype.format = function format() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeAuth(auth);\n auth += '@';\n }\n\n var protocol = this.protocol || '';\n var pathname = this.pathname || '';\n var hash = this.hash || '';\n var host = '';\n var query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query !== null && typeof this.query === 'object')\n query = querystring.stringify(this.query);\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.charCodeAt(protocol.length - 1) !== 58/*:*/)\n protocol += ':';\n\n var newPathname = '';\n var lastPos = 0;\n for (var i = 0; i < pathname.length; ++i) {\n switch (pathname.charCodeAt(i)) {\n case 35: // '#'\n if (i - lastPos > 0)\n newPathname += pathname.slice(lastPos, i);\n newPathname += '%23';\n lastPos = i + 1;\n break;\n case 63: // '?'\n if (i - lastPos > 0)\n newPathname += pathname.slice(lastPos, i);\n newPathname += '%3F';\n lastPos = i + 1;\n break;\n }\n }\n if (lastPos > 0) {\n if (lastPos !== pathname.length)\n pathname = newPathname + pathname.slice(lastPos);\n else\n pathname = newPathname;\n }\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes || slashedProtocol[protocol]) {\n if (this.slashes || host) {\n if (pathname && pathname.charCodeAt(0) !== 47/*/*/)\n pathname = '/' + pathname;\n host = '//' + host;\n } else if (protocol.length >= 4 &&\n protocol.charCodeAt(0) === 102/*f*/ &&\n protocol.charCodeAt(1) === 105/*i*/ &&\n protocol.charCodeAt(2) === 108/*l*/ &&\n protocol.charCodeAt(3) === 101/*e*/) {\n host = '//';\n }\n }\n\n search = search.replace(/#/g, '%23');\n\n if (hash && hash.charCodeAt(0) !== 35/*#*/) hash = '#' + hash;\n if (search && search.charCodeAt(0) !== 63/*?*/) search = '?' + search;\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function resolve(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function resolveObject(relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host &&\n !/^file:?$/.test(relative.protocol) &&\n !hostlessProtocol[relative.protocol]) {\n const relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/');\n var isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n );\n var mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname));\n var removeAllDots = mustEndAbs;\n var srcPath = result.pathname && result.pathname.split('/') || [];\n var relPath = relative.pathname && relative.pathname.split('/') || [];\n var noLeadingSlashes = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (noLeadingSlashes) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n result.auth = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n if (relative.host || relative.host === '') {\n if (result.host !== relative.host) result.auth = null;\n result.host = relative.host;\n result.port = relative.port;\n }\n if (relative.hostname || relative.hostname === '') {\n if (result.hostname !== relative.hostname) result.auth = null;\n result.hostname = relative.hostname;\n }\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search !== null && relative.search !== undefined) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (noLeadingSlashes) {\n result.hostname = result.host = srcPath.shift();\n //occasionally the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n const authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length - 1; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n spliceOne(srcPath, i);\n } else if (last === '..') {\n spliceOne(srcPath, i);\n up++;\n } else if (up) {\n spliceOne(srcPath, i);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (noLeadingSlashes) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occasionally the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n const authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function parseHost() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.slice(1);\n }\n host = host.slice(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n\n// About 1.5x faster than the two-arg version of Array#splice().\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)\n list[i] = list[k];\n list.pop();\n}\n\n// These characters do not need escaping:\n// ! - . _ ~\n// ' ( ) * :\n// digits\n// alpha (uppercase)\n// alpha (lowercase)\nconst noEscapeAuth = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x00 - 0x0F\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x10 - 0x1F\n 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, // 0x20 - 0x2F\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, // 0x30 - 0x3F\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x40 - 0x4F\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, // 0x50 - 0x5F\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60 - 0x6F\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0 // 0x70 - 0x7F\n];\n\nfunction encodeAuth(str) {\n // faster encodeURIComponent alternative for encoding auth uri components\n var out = '';\n var lastPos = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n\n // ASCII\n if (c < 0x80) {\n if (noEscapeAuth[c] === 1)\n continue;\n if (lastPos < i)\n out += str.slice(lastPos, i);\n lastPos = i + 1;\n out += hexTable[c];\n continue;\n }\n\n if (lastPos < i)\n out += str.slice(lastPos, i);\n\n // Multi-byte characters ...\n if (c < 0x800) {\n lastPos = i + 1;\n out += hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n if (c < 0xD800 || c >= 0xE000) {\n lastPos = i + 1;\n out += hexTable[0xE0 | (c >> 12)] +\n hexTable[0x80 | ((c >> 6) & 0x3F)] +\n hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n // Surrogate pair\n ++i;\n var c2;\n if (i < str.length)\n c2 = str.charCodeAt(i) & 0x3FF;\n else\n c2 = 0;\n lastPos = i + 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | c2);\n out += hexTable[0xF0 | (c >> 18)] +\n hexTable[0x80 | ((c >> 12) & 0x3F)] +\n hexTable[0x80 | ((c >> 6) & 0x3F)] +\n hexTable[0x80 | (c & 0x3F)];\n }\n if (lastPos === 0)\n return str;\n if (lastPos < str.length)\n return out + str.slice(lastPos);\n return out;\n}\n\nmodule.exports = {\n // Original API\n Url,\n parse: urlParse,\n resolve: urlResolve,\n resolveObject: urlResolveObject,\n format: urlFormat,\n\n // WHATWG API\n URL,\n URLSearchParams,\n domainToASCII,\n domainToUnicode\n};\n\n});", "pkgUrl": "(system)" }, { "id": "19", "url": "native i18n.js", "pkgUrl": "(system)" }, { "id": "626", "url": "/usr/local/lib/node_modules/npm/lib/install/mutate-into-logical-tree.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar union = require('lodash.union')\nvar without = require('lodash.without')\nvar validate = require('aproba')\nvar flattenTree = require('./flatten-tree.js')\nvar isExtraneous = require('./is-extraneous.js')\nvar validateAllPeerDeps = require('./deps.js').validateAllPeerDeps\nvar packageId = require('../utils/package-id.js')\nvar moduleName = require('../utils/module-name.js')\nvar npm = require('../npm.js')\n\n// Return true if tree is a part of a cycle that:\n// A) Never connects to the top of the tree\n// B) Has not not had a point in the cycle arbitraryly declared its top\n// yet.\nfunction isDisconnectedCycle (tree, seen) {\n if (!seen) seen = {}\n if (tree.isTop || tree.cycleTop || tree.requiredBy.length === 0) {\n return false\n } else if (seen[tree.path]) {\n return true\n } else {\n seen[tree.path] = true\n return tree.requiredBy.every(function (node) {\n return isDisconnectedCycle(node, Object.create(seen))\n })\n }\n}\n\nvar mutateIntoLogicalTree = module.exports = function (tree) {\n validate('O', arguments)\n\n validateAllPeerDeps(tree, function (tree, pkgname, version) {\n if (!tree.missingPeers) tree.missingPeers = {}\n tree.missingPeers[pkgname] = version\n })\n\n var flat = flattenTree(tree)\n\n Object.keys(flat).sort().forEach(function (flatname) {\n var node = flat[flatname]\n if (!(node.requiredBy && node.requiredBy.length)) return\n\n if (node.parent) {\n // If a node is a cycle that never reaches the root of the logical\n // tree then we'll leave it attached to the root, or else it\n // would go missing. Further we'll note that this is the node in the\n // cycle that we picked arbitrarily to be the one attached to the root.\n // others will fall\n if (isDisconnectedCycle(node)) {\n node.cycleTop = true\n // Nor do we want to disconnect non-cyclical extraneous modules from the tree.\n } else if (node.requiredBy.length) {\n // regular deps though, we do, as we're moving them into the capable\n // hands of the modules that require them.\n node.parent.children = without(node.parent.children, node)\n }\n }\n\n node.requiredBy.forEach(function (parentNode) {\n parentNode.children = union(parentNode.children, [node])\n })\n })\n return tree\n}\n\nmodule.exports.asReadInstalled = function (tree) {\n mutateIntoLogicalTree(tree)\n return translateTree(tree)\n}\n\nfunction translateTree (tree) {\n return translateTree_(tree, {})\n}\n\nfunction translateTree_ (tree, seen) {\n var pkg = tree.package\n if (seen[tree.path]) return pkg\n seen[tree.path] = pkg\n if (pkg._dependencies) return pkg\n pkg._dependencies = pkg.dependencies\n pkg.dependencies = {}\n tree.children.forEach(function (child) {\n pkg.dependencies[moduleName(child)] = translateTree_(child, seen)\n })\n\n function markMissing (name, requiredBy) {\n if (pkg.dependencies[name]) {\n if (pkg.dependencies[name].missing) return\n pkg.dependencies[name].invalid = true\n pkg.dependencies[name].realName = name\n pkg.dependencies[name].extraneous = false\n } else {\n pkg.dependencies[name] = {\n requiredBy: requiredBy,\n missing: true,\n optional: !!pkg.optionalDependencies[name]\n }\n }\n }\n\n Object.keys(tree.missingDeps).forEach(function (name) {\n markMissing(name, tree.missingDeps[name])\n })\n Object.keys(tree.missingDevDeps).forEach(function (name) {\n markMissing(name, tree.missingDevDeps[name])\n })\n var checkForMissingPeers = (tree.parent ? [] : [tree]).concat(tree.children)\n checkForMissingPeers.filter(function (child) {\n return child.missingPeers\n }).forEach(function (child) {\n Object.keys(child.missingPeers).forEach(function (pkgname) {\n var version = child.missingPeers[pkgname]\n var peerPkg = pkg.dependencies[pkgname]\n if (!peerPkg) {\n peerPkg = pkg.dependencies[pkgname] = {\n _id: pkgname + '@' + version,\n name: pkgname,\n version: version\n }\n }\n if (!peerPkg.peerMissing) peerPkg.peerMissing = []\n peerPkg.peerMissing.push({\n requiredBy: packageId(child),\n requires: pkgname + '@' + version\n })\n })\n })\n pkg.path = tree.path\n\n pkg.error = tree.error\n pkg.extraneous = !tree.isTop && (!tree.parent.isTop || !tree.parent.error) && !npm.config.get('global') && isExtraneous(tree)\n if (tree.target && tree.parent && !tree.parent.target) pkg.link = tree.realpath\n return pkg\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "627", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union/index.js", "source": "(function (exports, require, module, __filename, __dirname) { /**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n Set = getNative(root, 'Set'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = union;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/lodash.union" }, { "id": "576", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.without/index.js", "source": "(function (exports, require, module, __filename, __dirname) { /**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = without;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/lodash.without" }, { "id": "130", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js", "source": "(function (exports, require, module, __filename, __dirname) { \n/*\nusage:\n\n// do something to a list of things\nasyncMap(myListOfStuff, function (thing, cb) { doSomething(thing.foo, cb) }, cb)\n// do more than one thing to each item\nasyncMap(list, fooFn, barFn, cb)\n\n*/\n\nmodule.exports = asyncMap\n\nfunction asyncMap () {\n var steps = Array.prototype.slice.call(arguments)\n , list = steps.shift() || []\n , cb_ = steps.pop()\n if (typeof cb_ !== \"function\") throw new Error(\n \"No callback provided to asyncMap\")\n if (!list) return cb_(null, [])\n if (!Array.isArray(list)) list = [list]\n var n = steps.length\n , data = [] // 2d array\n , errState = null\n , l = list.length\n , a = l * n\n if (!a) return cb_(null, [])\n function cb (er) {\n if (er && !errState) errState = er\n\n var argLen = arguments.length\n for (var i = 1; i < argLen; i ++) if (arguments[i] !== undefined) {\n data[i - 1] = (data[i - 1] || []).concat(arguments[i])\n }\n // see if any new things have been added.\n if (list.length > l) {\n var newList = list.slice(l)\n a += (list.length - l) * n\n l = list.length\n process.nextTick(function () {\n newList.forEach(function (ar) {\n steps.forEach(function (fn) { fn(ar, cb) })\n })\n })\n }\n\n if (--a === 0) cb_.apply(null, [errState].concat(data))\n }\n // expect the supplied cb function to be called\n // \"n\" times for each thing in the array.\n list.forEach(function (ar) {\n steps.forEach(function (fn) { fn(ar, cb) })\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/slide" }, { "id": "629", "url": "/usr/local/lib/node_modules/npm/lib/utils/map-to-registry.js", "source": "(function (exports, require, module, __filename, __dirname) { var url = require('url')\n\nvar log = require('npmlog')\nvar npa = require('npm-package-arg')\n\nmodule.exports = mapToRegistry\n\nfunction mapToRegistry (name, config, cb) {\n log.silly('mapToRegistry', 'name', name)\n var registry\n\n // the name itself takes precedence\n var data = npa(name)\n if (data.scope) {\n // the name is definitely scoped, so escape now\n name = name.replace('/', '%2f')\n\n log.silly('mapToRegistry', 'scope (from package name)', data.scope)\n\n registry = config.get(data.scope + ':registry')\n if (!registry) {\n log.verbose('mapToRegistry', 'no registry URL found in name for scope', data.scope)\n }\n }\n\n // ...then --scope=@scope or --scope=scope\n var scope = config.get('scope')\n if (!registry && scope) {\n // I'm an enabler, sorry\n if (scope.charAt(0) !== '@') scope = '@' + scope\n\n log.silly('mapToRegistry', 'scope (from config)', scope)\n\n registry = config.get(scope + ':registry')\n if (!registry) {\n log.verbose('mapToRegistry', 'no registry URL found in config for scope', scope)\n }\n }\n\n // ...and finally use the default registry\n if (!registry) {\n log.silly('mapToRegistry', 'using default registry')\n registry = config.get('registry')\n }\n\n log.silly('mapToRegistry', 'registry', registry)\n\n var auth = config.getCredentialsByURI(registry)\n\n // normalize registry URL so resolution doesn't drop a piece of registry URL\n var normalized = registry.slice(-1) !== '/' ? registry + '/' : registry\n var uri\n log.silly('mapToRegistry', 'data', data)\n if (data.type === 'remote') {\n uri = data.fetchSpec\n } else {\n uri = url.resolve(normalized, name)\n }\n\n log.silly('mapToRegistry', 'uri', uri)\n\n cb(null, uri, scopeAuth(uri, registry, auth), normalized)\n}\n\nfunction scopeAuth (uri, registry, auth) {\n var cleaned = {\n scope: auth.scope,\n email: auth.email,\n alwaysAuth: auth.alwaysAuth,\n token: undefined,\n username: undefined,\n password: undefined,\n auth: undefined\n }\n\n var requestHost\n var registryHost\n\n if (auth.token || auth.auth || (auth.username && auth.password)) {\n requestHost = url.parse(uri).hostname\n registryHost = url.parse(registry).hostname\n\n if (requestHost === registryHost) {\n cleaned.token = auth.token\n cleaned.auth = auth.auth\n cleaned.username = auth.username\n cleaned.password = auth.password\n } else if (auth.alwaysAuth) {\n log.verbose('scopeAuth', 'alwaysAuth set for', registry)\n cleaned.token = auth.token\n cleaned.auth = auth.auth\n cleaned.username = auth.username\n cleaned.password = auth.password\n } else {\n log.silly('scopeAuth', uri, \"doesn't share host with registry\", registry)\n }\n }\n\n return cleaned\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "175", "url": "/usr/local/lib/node_modules/npm/lib/config/nerf-dart.js", "source": "(function (exports, require, module, __filename, __dirname) { var url = require('url')\n\nmodule.exports = toNerfDart\n\n/**\n * Maps a URL to an identifier.\n *\n * Name courtesy schiffertronix media LLC, a New Jersey corporation\n *\n * @param {String} uri The URL to be nerfed.\n *\n * @returns {String} A nerfed URL.\n */\nfunction toNerfDart (uri) {\n var parsed = url.parse(uri)\n delete parsed.protocol\n delete parsed.auth\n delete parsed.query\n delete parsed.search\n delete parsed.hash\n\n return url.resolve(url.format(parsed), '.')\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "193", "url": "/usr/local/lib/node_modules/npm/node_modules/lazy-property/lazyProperty.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\"\n\nfunction addLazyProperty(object, name, initializer, enumerable) {\n Object.defineProperty(object, name, {\n get: function() {\n var v = initializer.call(this)\n Object.defineProperty(this, name, { value: v, enumerable: !!enumerable, writable: true })\n return v\n },\n set: function(v) {\n Object.defineProperty(this, name, { value: v, enumerable: !!enumerable, writable: true })\n return v\n },\n enumerable: !!enumerable,\n configurable: true\n })\n}\n\nmodule.exports = addLazyProperty\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/lazy-property" }, { "id": "631", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/index.js", "source": "(function (exports, require, module, __filename, __dirname) { // utilities for working with the js-registry site.\n\nmodule.exports = RegClient\n\nvar npmlog\ntry {\n npmlog = require('npmlog')\n} catch (er) {\n npmlog = {\n error: noop,\n warn: noop,\n info: noop,\n verbose: noop,\n silly: noop,\n http: noop,\n pause: noop,\n resume: noop\n }\n}\n\nfunction noop () {}\n\nfunction RegClient (config) {\n this.config = Object.create(config || {})\n\n this.config.proxy = this.config.proxy || {}\n if (!this.config.proxy.https && this.config.proxy.http) {\n this.config.proxy.https = this.config.proxy.http\n }\n\n this.config.ssl = this.config.ssl || {}\n if (this.config.ssl.strict === undefined) this.config.ssl.strict = true\n\n this.config.retry = this.config.retry || {}\n if (typeof this.config.retry.retries !== 'number') this.config.retry.retries = 2\n if (typeof this.config.retry.factor !== 'number') this.config.retry.factor = 10\n if (typeof this.config.retry.minTimeout !== 'number') this.config.retry.minTimeout = 10000\n if (typeof this.config.retry.maxTimeout !== 'number') this.config.retry.maxTimeout = 60000\n if (typeof this.config.maxSockets !== 'number') this.config.maxSockets = 50\n\n this.config.userAgent = this.config.userAgent || 'node/' + process.version\n this.config.defaultTag = this.config.defaultTag || 'latest'\n\n this.log = this.config.log || npmlog\n delete this.config.log\n\n var client = this\n client.access = require('./lib/access')\n client.adduser = require('./lib/adduser')\n client.attempt = require('./lib/attempt')\n client.authify = require('./lib/authify')\n client.deprecate = require('./lib/deprecate')\n client.distTags = Object.create(client)\n client.distTags.add = require('./lib/dist-tags/add')\n client.distTags.fetch = require('./lib/dist-tags/fetch')\n client.distTags.rm = require('./lib/dist-tags/rm')\n client.distTags.set = require('./lib/dist-tags/set')\n client.distTags.update = require('./lib/dist-tags/update')\n client.fetch = require('./lib/fetch')\n client.get = require('./lib/get')\n client.initialize = require('./lib/initialize')\n client.logout = require('./lib/logout')\n client.org = require('./lib/org')\n client.ping = require('./lib/ping')\n client.publish = require('./lib/publish')\n client.request = require('./lib/request')\n client.sendAnonymousCLIMetrics = require('./lib/send-anonymous-CLI-metrics')\n client.star = require('./lib/star')\n client.stars = require('./lib/stars')\n client.tag = require('./lib/tag')\n client.team = require('./lib/team')\n client.unpublish = require('./lib/unpublish')\n client.whoami = require('./lib/whoami')\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client" }, { "id": "632", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/log.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar Progress = require('are-we-there-yet')\nvar Gauge = require('gauge')\nvar EE = require('events').EventEmitter\nvar log = exports = module.exports = new EE()\nvar util = require('util')\n\nvar setBlocking = require('set-blocking')\nvar consoleControl = require('console-control-strings')\n\nsetBlocking(true)\nvar stream = process.stderr\nObject.defineProperty(log, 'stream', {\n set: function (newStream) {\n stream = newStream\n if (this.gauge) this.gauge.setWriteTo(stream, stream)\n },\n get: function () {\n return stream\n }\n})\n\n// by default, decide based on tty-ness.\nvar colorEnabled\nlog.useColor = function () {\n return colorEnabled != null ? colorEnabled : stream.isTTY\n}\n\nlog.enableColor = function () {\n colorEnabled = true\n this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled})\n}\nlog.disableColor = function () {\n colorEnabled = false\n this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled})\n}\n\n// default level\nlog.level = 'info'\n\nlog.gauge = new Gauge(stream, {\n theme: {hasColor: log.useColor()},\n template: [\n {type: 'progressbar', length: 20},\n {type: 'activityIndicator', kerning: 1, length: 1},\n {type: 'section', default: ''},\n ':',\n {type: 'logline', kerning: 1, default: ''}\n ]\n})\n\nlog.tracker = new Progress.TrackerGroup()\n\n// no progress bars unless asked\nlog.progressEnabled = false\n\nvar unicodeEnabled\n\nlog.enableUnicode = function () {\n unicodeEnabled = true\n this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled})\n}\n\nlog.disableUnicode = function () {\n unicodeEnabled = false\n this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled})\n}\n\nlog.setGaugeThemeset = function (themes) {\n this.gauge.setThemeset(themes)\n}\n\nlog.setGaugeTemplate = function (template) {\n this.gauge.setTemplate(template)\n}\n\nlog.enableProgress = function () {\n if (this.progressEnabled) return\n this.progressEnabled = true\n if (this._pause) return\n this.tracker.on('change', this.showProgress)\n this.gauge.enable()\n this.showProgress()\n}\n\nlog.disableProgress = function () {\n if (!this.progressEnabled) return\n this.clearProgress()\n this.progressEnabled = false\n this.tracker.removeListener('change', this.showProgress)\n this.gauge.disable()\n}\n\nvar trackerConstructors = ['newGroup', 'newItem', 'newStream']\n\nvar mixinLog = function (tracker) {\n // mixin the public methods from log into the tracker\n // (except: conflicts and one's we handle specially)\n Object.keys(log).forEach(function (P) {\n if (P[0] === '_') return\n if (trackerConstructors.filter(function (C) { return C === P }).length) return\n if (tracker[P]) return\n if (typeof log[P] !== 'function') return\n var func = log[P]\n tracker[P] = function () {\n return func.apply(log, arguments)\n }\n })\n // if the new tracker is a group, make sure any subtrackers get\n // mixed in too\n if (tracker instanceof Progress.TrackerGroup) {\n trackerConstructors.forEach(function (C) {\n var func = tracker[C]\n tracker[C] = function () { return mixinLog(func.apply(tracker, arguments)) }\n })\n }\n return tracker\n}\n\n// Add tracker constructors to the top level log object\ntrackerConstructors.forEach(function (C) {\n log[C] = function () { return mixinLog(this.tracker[C].apply(this.tracker, arguments)) }\n})\n\nlog.clearProgress = function (cb) {\n if (!this.progressEnabled) return cb && process.nextTick(cb)\n this.gauge.hide(cb)\n}\n\nlog.showProgress = function (name, completed) {\n if (!this.progressEnabled) return\n var values = {}\n if (name) values.section = name\n var last = log.record[log.record.length - 1]\n if (last) {\n values.subsection = last.prefix\n var disp = log.disp[last.level] || last.level\n var logline = this._format(disp, log.style[last.level])\n if (last.prefix) logline += ' ' + this._format(last.prefix, this.prefixStyle)\n logline += ' ' + last.message.split(/\\r?\\n/)[0]\n values.logline = logline\n }\n values.completed = completed || this.tracker.completed()\n this.gauge.show(values)\n}.bind(log) // bind for use in tracker's on-change listener\n\n// temporarily stop emitting, but don't drop\nlog.pause = function () {\n this._paused = true\n}\n\nlog.resume = function () {\n if (!this._paused) return\n this._paused = false\n\n var b = this._buffer\n this._buffer = []\n b.forEach(function (m) {\n this.emitLog(m)\n }, this)\n if (this.progressEnabled) this.enableProgress()\n}\n\nlog._buffer = []\n\nvar id = 0\nlog.record = []\nlog.maxRecordSize = 10000\nlog.log = function (lvl, prefix, message) {\n var l = this.levels[lvl]\n if (l === undefined) {\n return this.emit('error', new Error(util.format(\n 'Undefined log level: %j', lvl)))\n }\n\n var a = new Array(arguments.length - 2)\n var stack = null\n for (var i = 2; i < arguments.length; i++) {\n var arg = a[i - 2] = arguments[i]\n\n // resolve stack traces to a plain string.\n if (typeof arg === 'object' && arg &&\n (arg instanceof Error) && arg.stack) {\n arg.stack = stack = arg.stack + ''\n }\n }\n if (stack) a.unshift(stack + '\\n')\n message = util.format.apply(util, a)\n\n var m = { id: id++,\n level: lvl,\n prefix: String(prefix || ''),\n message: message,\n messageRaw: a }\n\n this.emit('log', m)\n this.emit('log.' + lvl, m)\n if (m.prefix) this.emit(m.prefix, m)\n\n this.record.push(m)\n var mrs = this.maxRecordSize\n var n = this.record.length - mrs\n if (n > mrs / 10) {\n var newSize = Math.floor(mrs * 0.9)\n this.record = this.record.slice(-1 * newSize)\n }\n\n this.emitLog(m)\n}.bind(log)\n\nlog.emitLog = function (m) {\n if (this._paused) {\n this._buffer.push(m)\n return\n }\n if (this.progressEnabled) this.gauge.pulse(m.prefix)\n var l = this.levels[m.level]\n if (l === undefined) return\n if (l < this.levels[this.level]) return\n if (l > 0 && !isFinite(l)) return\n\n var disp = log.disp[m.level] || m.level\n this.clearProgress()\n m.message.split(/\\r?\\n/).forEach(function (line) {\n if (this.heading) {\n this.write(this.heading, this.headingStyle)\n this.write(' ')\n }\n this.write(disp, log.style[m.level])\n var p = m.prefix || ''\n if (p) this.write(' ')\n this.write(p, this.prefixStyle)\n this.write(' ' + line + '\\n')\n }, this)\n this.showProgress()\n}\n\nlog._format = function (msg, style) {\n if (!stream) return\n\n var output = ''\n if (this.useColor()) {\n style = style || {}\n var settings = []\n if (style.fg) settings.push(style.fg)\n if (style.bg) settings.push('bg' + style.bg[0].toUpperCase() + style.bg.slice(1))\n if (style.bold) settings.push('bold')\n if (style.underline) settings.push('underline')\n if (style.inverse) settings.push('inverse')\n if (settings.length) output += consoleControl.color(settings)\n if (style.beep) output += consoleControl.beep()\n }\n output += msg\n if (this.useColor()) {\n output += consoleControl.color('reset')\n }\n return output\n}\n\nlog.write = function (msg, style) {\n if (!stream) return\n\n stream.write(this._format(msg, style))\n}\n\nlog.addLevel = function (lvl, n, style, disp) {\n if (!disp) disp = lvl\n this.levels[lvl] = n\n this.style[lvl] = style\n if (!this[lvl]) {\n this[lvl] = function () {\n var a = new Array(arguments.length + 1)\n a[0] = lvl\n for (var i = 0; i < arguments.length; i++) {\n a[i + 1] = arguments[i]\n }\n return this.log.apply(this, a)\n }.bind(this)\n }\n this.disp[lvl] = disp\n}\n\nlog.prefixStyle = { fg: 'magenta' }\nlog.headingStyle = { fg: 'white', bg: 'black' }\n\nlog.style = {}\nlog.levels = {}\nlog.disp = {}\nlog.addLevel('silly', -Infinity, { inverse: true }, 'sill')\nlog.addLevel('verbose', 1000, { fg: 'blue', bg: 'black' }, 'verb')\nlog.addLevel('info', 2000, { fg: 'green' })\nlog.addLevel('http', 3000, { fg: 'green', bg: 'black' })\nlog.addLevel('warn', 4000, { fg: 'black', bg: 'yellow' }, 'WARN')\nlog.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!')\nlog.addLevel('silent', Infinity)\n\n// allow 'error' prefix\nlog.on('error', function () {})\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog" }, { "id": "633", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet" }, { "id": "634", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar util = require('util')\nvar TrackerBase = require('./tracker-base.js')\nvar Tracker = require('./tracker.js')\nvar TrackerStream = require('./tracker-stream.js')\n\nvar TrackerGroup = module.exports = function (name) {\n TrackerBase.call(this, name)\n this.parentGroup = null\n this.trackers = []\n this.completion = {}\n this.weight = {}\n this.totalWeight = 0\n this.finished = false\n this.bubbleChange = bubbleChange(this)\n}\nutil.inherits(TrackerGroup, TrackerBase)\n\nfunction bubbleChange (trackerGroup) {\n return function (name, completed, tracker) {\n trackerGroup.completion[tracker.id] = completed\n if (trackerGroup.finished) return\n trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)\n }\n}\n\nTrackerGroup.prototype.nameInTree = function () {\n var names = []\n var from = this\n while (from) {\n names.unshift(from.name)\n from = from.parentGroup\n }\n return names.join('/')\n}\n\nTrackerGroup.prototype.addUnit = function (unit, weight) {\n if (unit.addUnit) {\n var toTest = this\n while (toTest) {\n if (unit === toTest) {\n throw new Error(\n 'Attempted to add tracker group ' +\n unit.name + ' to tree that already includes it ' +\n this.nameInTree(this))\n }\n toTest = toTest.parentGroup\n }\n unit.parentGroup = this\n }\n this.weight[unit.id] = weight || 1\n this.totalWeight += this.weight[unit.id]\n this.trackers.push(unit)\n this.completion[unit.id] = unit.completed()\n unit.on('change', this.bubbleChange)\n if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit)\n return unit\n}\n\nTrackerGroup.prototype.completed = function () {\n if (this.trackers.length === 0) return 0\n var valPerWeight = 1 / this.totalWeight\n var completed = 0\n for (var ii = 0; ii < this.trackers.length; ii++) {\n var trackerId = this.trackers[ii].id\n completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId]\n }\n return completed\n}\n\nTrackerGroup.prototype.newGroup = function (name, weight) {\n return this.addUnit(new TrackerGroup(name), weight)\n}\n\nTrackerGroup.prototype.newItem = function (name, todo, weight) {\n return this.addUnit(new Tracker(name, todo), weight)\n}\n\nTrackerGroup.prototype.newStream = function (name, todo, weight) {\n return this.addUnit(new TrackerStream(name, todo), weight)\n}\n\nTrackerGroup.prototype.finish = function () {\n this.finished = true\n if (!this.trackers.length) this.addUnit(new Tracker(), 1, true)\n for (var ii = 0; ii < this.trackers.length; ii++) {\n var tracker = this.trackers[ii]\n tracker.finish()\n tracker.removeListener('change', this.bubbleChange)\n }\n this.emit('change', this.name, 1, this)\n}\n\nvar buffer = ' '\nTrackerGroup.prototype.debug = function (depth) {\n depth = depth || 0\n var indent = depth ? buffer.substr(0, depth) : ''\n var output = indent + (this.name || 'top') + ': ' + this.completed() + '\\n'\n this.trackers.forEach(function (tracker) {\n if (tracker instanceof TrackerGroup) {\n output += tracker.debug(depth + 1)\n } else {\n output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\\n'\n }\n })\n return output\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet" }, { "id": "637", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar util = require('util')\nvar stream = require('readable-stream')\nvar delegate = require('delegates')\nvar Tracker = require('./tracker.js')\n\nvar TrackerStream = module.exports = function (name, size, options) {\n stream.Transform.call(this, options)\n this.tracker = new Tracker(name, size)\n this.name = name\n this.id = this.tracker.id\n this.tracker.on('change', delegateChange(this))\n}\nutil.inherits(TrackerStream, stream.Transform)\n\nfunction delegateChange (trackerStream) {\n return function (name, completion, tracker) {\n trackerStream.emit('change', name, completion, trackerStream)\n }\n}\n\nTrackerStream.prototype._transform = function (data, encoding, cb) {\n this.tracker.completeWork(data.length ? data.length : 1)\n this.push(data)\n cb()\n}\n\nTrackerStream.prototype._flush = function (cb) {\n this.tracker.finish()\n cb()\n}\n\ndelegate(TrackerStream.prototype, 'tracker')\n .method('completed')\n .method('addWork')\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet" }, { "id": "639", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar Plumbing = require('./plumbing.js')\nvar hasUnicode = require('has-unicode')\nvar hasColor = require('./has-color.js')\nvar onExit = require('signal-exit')\nvar defaultThemes = require('./themes')\nvar setInterval = require('./set-interval.js')\nvar process = require('./process.js')\nvar setImmediate = require('./set-immediate')\n\nmodule.exports = Gauge\n\nfunction callWith (obj, method) {\n return function () {\n return method.call(obj)\n }\n}\n\nfunction Gauge (arg1, arg2) {\n var options, writeTo\n if (arg1 && arg1.write) {\n writeTo = arg1\n options = arg2 || {}\n } else if (arg2 && arg2.write) {\n writeTo = arg2\n options = arg1 || {}\n } else {\n writeTo = process.stderr\n options = arg1 || arg2 || {}\n }\n\n this._status = {\n spun: 0,\n section: '',\n subsection: ''\n }\n this._paused = false // are we paused for back pressure?\n this._disabled = true // are all progress bar updates disabled?\n this._showing = false // do we WANT the progress bar on screen\n this._onScreen = false // IS the progress bar on screen\n this._needsRedraw = false // should we print something at next tick?\n this._hideCursor = options.hideCursor == null ? true : options.hideCursor\n this._fixedFramerate = options.fixedFramerate == null\n ? !(/^v0\\.8\\./.test(process.version))\n : options.fixedFramerate\n this._lastUpdateAt = null\n this._updateInterval = options.updateInterval == null ? 50 : options.updateInterval\n\n this._themes = options.themes || defaultThemes\n this._theme = options.theme\n var theme = this._computeTheme(options.theme)\n var template = options.template || [\n {type: 'progressbar', length: 20},\n {type: 'activityIndicator', kerning: 1, length: 1},\n {type: 'section', kerning: 1, default: ''},\n {type: 'subsection', kerning: 1, default: ''}\n ]\n this.setWriteTo(writeTo, options.tty)\n var PlumbingClass = options.Plumbing || Plumbing\n this._gauge = new PlumbingClass(theme, template, this.getWidth())\n\n this._$$doRedraw = callWith(this, this._doRedraw)\n this._$$handleSizeChange = callWith(this, this._handleSizeChange)\n\n if (options.cleanupOnExit == null || options.cleanupOnExit) {\n onExit(callWith(this, this.disable))\n }\n\n if (options.enabled || (options.enabled == null && this._tty && this._tty.isTTY)) {\n this.enable()\n } else {\n this.disable()\n }\n}\nGauge.prototype = {}\n\nGauge.prototype.setTemplate = function (template) {\n this._gauge.setTemplate(template)\n if (this._showing) this._requestRedraw()\n}\n\nGauge.prototype._computeTheme = function (theme) {\n if (!theme) theme = {}\n if (theme && (Object.keys(theme).length === 0 || theme.hasUnicode != null || theme.hasColor != null)) {\n var useUnicode = theme.hasUnicode == null ? hasUnicode() : theme.hasUnicode\n var useColor = theme.hasColor == null ? hasColor : theme.hasColor\n theme = this._themes.getDefault({hasUnicode: useUnicode, hasColor: useColor, platform: theme.platform})\n } else if (typeof theme === 'string') {\n theme = this._themes.getTheme(theme)\n }\n return theme\n}\n\nGauge.prototype.setThemeset = function (themes) {\n this._themes = themes\n this.setTheme(this._theme)\n}\n\nGauge.prototype.setTheme = function (theme) {\n this._gauge.setTheme(this._computeTheme(theme))\n if (this._showing) this._requestRedraw()\n this._theme = theme\n}\n\nGauge.prototype._requestRedraw = function () {\n this._needsRedraw = true\n if (!this._fixedFramerate) this._doRedraw()\n}\n\nGauge.prototype.getWidth = function () {\n return ((this._tty && this._tty.columns) || 80) - 1\n}\n\nGauge.prototype.setWriteTo = function (writeTo, tty) {\n var enabled = !this._disabled\n if (enabled) this.disable()\n this._writeTo = writeTo\n this._tty = tty ||\n (writeTo === process.stderr && process.stdout.isTTY && process.stdout) ||\n (writeTo.isTTY && writeTo) ||\n this._tty\n if (this._gauge) this._gauge.setWidth(this.getWidth())\n if (enabled) this.enable()\n}\n\nGauge.prototype.enable = function () {\n if (!this._disabled) return\n this._disabled = false\n if (this._tty) this._enableEvents()\n if (this._showing) this.show()\n}\n\nGauge.prototype.disable = function () {\n if (this._disabled) return\n if (this._showing) {\n this._lastUpdateAt = null\n this._showing = false\n this._doRedraw()\n this._showing = true\n }\n this._disabled = true\n if (this._tty) this._disableEvents()\n}\n\nGauge.prototype._enableEvents = function () {\n this._tty.on('resize', this._$$handleSizeChange)\n if (this._fixedFramerate) {\n this.redrawTracker = setInterval(this._$$doRedraw, this._updateInterval)\n if (this.redrawTracker.unref) this.redrawTracker.unref()\n }\n}\n\nGauge.prototype._disableEvents = function () {\n this._tty.removeListener('resize', this._$$handleSizeChange)\n if (this._fixedFramerate) clearInterval(this.redrawTracker)\n}\n\nGauge.prototype.hide = function (cb) {\n if (this._disabled) return cb && process.nextTick(cb)\n if (!this._showing) return cb && process.nextTick(cb)\n this._showing = false\n this._doRedraw()\n cb && setImmediate(cb)\n}\n\nGauge.prototype.show = function (section, completed) {\n if (this._disabled) return\n this._showing = true\n if (typeof section === 'string') {\n this._status.section = section\n } else if (typeof section === 'object') {\n var sectionKeys = Object.keys(section)\n for (var ii = 0; ii < sectionKeys.length; ++ii) {\n var key = sectionKeys[ii]\n this._status[key] = section[key]\n }\n }\n if (completed != null) this._status.completed = completed\n this._requestRedraw()\n}\n\nGauge.prototype.pulse = function (subsection) {\n if (this._disabled) return\n if (!this._showing) return\n this._status.subsection = subsection || ''\n this._status.spun ++\n this._requestRedraw()\n}\n\nGauge.prototype._handleSizeChange = function () {\n this._gauge.setWidth(this._tty.columns - 1)\n this._requestRedraw()\n}\n\nGauge.prototype._doRedraw = function () {\n if (this._disabled || this._paused) return\n if (!this._fixedFramerate) {\n var now = Date.now()\n if (this._lastUpdateAt && now - this._lastUpdateAt < this._updateInterval) return\n this._lastUpdateAt = now\n }\n if (!this._showing && this._onScreen) {\n this._onScreen = false\n var result = this._gauge.hide()\n if (this._hideCursor) {\n result += this._gauge.showCursor()\n }\n return this._writeTo.write(result)\n }\n if (!this._showing && !this._onScreen) return\n if (this._showing && !this._onScreen) {\n this._onScreen = true\n this._needsRedraw = true\n if (this._hideCursor) {\n this._writeTo.write(this._gauge.hideCursor())\n }\n }\n if (!this._needsRedraw) return\n if (!this._writeTo.write(this._gauge.show(this._status))) {\n this._paused = true\n this._writeTo.on('drain', callWith(this, function () {\n this._paused = false\n this._doRedraw()\n }))\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge" }, { "id": "640", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/plumbing.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar consoleControl = require('console-control-strings')\nvar renderTemplate = require('./render-template.js')\nvar validate = require('aproba')\n\nvar Plumbing = module.exports = function (theme, template, width) {\n if (!width) width = 80\n validate('OAN', [theme, template, width])\n this.showing = false\n this.theme = theme\n this.width = width\n this.template = template\n}\nPlumbing.prototype = {}\n\nPlumbing.prototype.setTheme = function (theme) {\n validate('O', [theme])\n this.theme = theme\n}\n\nPlumbing.prototype.setTemplate = function (template) {\n validate('A', [template])\n this.template = template\n}\n\nPlumbing.prototype.setWidth = function (width) {\n validate('N', [width])\n this.width = width\n}\n\nPlumbing.prototype.hide = function () {\n return consoleControl.gotoSOL() + consoleControl.eraseLine()\n}\n\nPlumbing.prototype.hideCursor = consoleControl.hideCursor\n\nPlumbing.prototype.showCursor = consoleControl.showCursor\n\nPlumbing.prototype.show = function (status) {\n var values = Object.create(this.theme)\n for (var key in status) {\n values[key] = status[key]\n }\n\n return renderTemplate(this.width, this.template, values).trim() +\n consoleControl.eraseLine() + consoleControl.gotoSOL()\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge" }, { "id": "642", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/render-template.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar align = require('wide-align')\nvar validate = require('aproba')\nvar objectAssign = require('object-assign')\nvar wideTruncate = require('./wide-truncate')\nvar error = require('./error')\nvar TemplateItem = require('./template-item')\n\nfunction renderValueWithValues (values) {\n return function (item) {\n return renderValue(item, values)\n }\n}\n\nvar renderTemplate = module.exports = function (width, template, values) {\n var items = prepareItems(width, template, values)\n var rendered = items.map(renderValueWithValues(values)).join('')\n return align.left(wideTruncate(rendered, width), width)\n}\n\nfunction preType (item) {\n var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1)\n return 'pre' + cappedTypeName\n}\n\nfunction postType (item) {\n var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1)\n return 'post' + cappedTypeName\n}\n\nfunction hasPreOrPost (item, values) {\n if (!item.type) return\n return values[preType(item)] || values[postType(item)]\n}\n\nfunction generatePreAndPost (baseItem, parentValues) {\n var item = objectAssign({}, baseItem)\n var values = Object.create(parentValues)\n var template = []\n var pre = preType(item)\n var post = postType(item)\n if (values[pre]) {\n template.push({value: values[pre]})\n values[pre] = null\n }\n item.minLength = null\n item.length = null\n item.maxLength = null\n template.push(item)\n values[item.type] = values[item.type]\n if (values[post]) {\n template.push({value: values[post]})\n values[post] = null\n }\n return function ($1, $2, length) {\n return renderTemplate(length, template, values)\n }\n}\n\nfunction prepareItems (width, template, values) {\n function cloneAndObjectify (item, index, arr) {\n var cloned = new TemplateItem(item, width)\n var type = cloned.type\n if (cloned.value == null) {\n if (!(type in values)) {\n if (cloned.default == null) {\n throw new error.MissingTemplateValue(cloned, values)\n } else {\n cloned.value = cloned.default\n }\n } else {\n cloned.value = values[type]\n }\n }\n if (cloned.value == null || cloned.value === '') return null\n cloned.index = index\n cloned.first = index === 0\n cloned.last = index === arr.length - 1\n if (hasPreOrPost(cloned, values)) cloned.value = generatePreAndPost(cloned, values)\n return cloned\n }\n\n var output = template.map(cloneAndObjectify).filter(function (item) { return item != null })\n\n var outputLength = 0\n var remainingSpace = width\n var variableCount = output.length\n\n function consumeSpace (length) {\n if (length > remainingSpace) length = remainingSpace\n outputLength += length\n remainingSpace -= length\n }\n\n function finishSizing (item, length) {\n if (item.finished) throw new error.Internal('Tried to finish template item that was already finished')\n if (length === Infinity) throw new error.Internal('Length of template item cannot be infinity')\n if (length != null) item.length = length\n item.minLength = null\n item.maxLength = null\n --variableCount\n item.finished = true\n if (item.length == null) item.length = item.getBaseLength()\n if (item.length == null) throw new error.Internal('Finished template items must have a length')\n consumeSpace(item.getLength())\n }\n\n output.forEach(function (item) {\n if (!item.kerning) return\n var prevPadRight = item.first ? 0 : output[item.index - 1].padRight\n if (!item.first && prevPadRight < item.kerning) item.padLeft = item.kerning - prevPadRight\n if (!item.last) item.padRight = item.kerning\n })\n\n // Finish any that have a fixed (literal or intuited) length\n output.forEach(function (item) {\n if (item.getBaseLength() == null) return\n finishSizing(item)\n })\n\n var resized = 0\n var resizing\n var hunkSize\n do {\n resizing = false\n hunkSize = Math.round(remainingSpace / variableCount)\n output.forEach(function (item) {\n if (item.finished) return\n if (!item.maxLength) return\n if (item.getMaxLength() < hunkSize) {\n finishSizing(item, item.maxLength)\n resizing = true\n }\n })\n } while (resizing && resized++ < output.length)\n if (resizing) throw new error.Internal('Resize loop iterated too many times while determining maxLength')\n\n resized = 0\n do {\n resizing = false\n hunkSize = Math.round(remainingSpace / variableCount)\n output.forEach(function (item) {\n if (item.finished) return\n if (!item.minLength) return\n if (item.getMinLength() >= hunkSize) {\n finishSizing(item, item.minLength)\n resizing = true\n }\n })\n } while (resizing && resized++ < output.length)\n if (resizing) throw new error.Internal('Resize loop iterated too many times while determining minLength')\n\n hunkSize = Math.round(remainingSpace / variableCount)\n output.forEach(function (item) {\n if (item.finished) return\n finishSizing(item, hunkSize)\n })\n\n return output\n}\n\nfunction renderFunction (item, values, length) {\n validate('OON', arguments)\n if (item.type) {\n return item.value(values, values[item.type + 'Theme'] || {}, length)\n } else {\n return item.value(values, {}, length)\n }\n}\n\nfunction renderValue (item, values) {\n var length = item.getBaseLength()\n var value = typeof item.value === 'function' ? renderFunction(item, values, length) : item.value\n if (value == null || value === '') return ''\n var alignWith = align[item.align] || align.left\n var leftPadding = item.padLeft ? align.left('', item.padLeft) : ''\n var rightPadding = item.padRight ? align.right('', item.padRight) : ''\n var truncated = wideTruncate(String(value), length)\n var aligned = alignWith(truncated, length)\n return leftPadding + aligned + rightPadding\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge" }, { "id": "643", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar stringWidth = require('string-width')\n\nexports.center = alignCenter\nexports.left = alignLeft\nexports.right = alignRight\n\n// lodash's way of generating pad characters.\n\nfunction createPadding (width) {\n var result = ''\n var string = ' '\n var n = width\n do {\n if (n % 2) {\n result += string;\n }\n n = Math.floor(n / 2);\n string += string;\n } while (n);\n\n return result;\n}\n\nfunction alignLeft (str, width) {\n var trimmed = str.trimRight()\n if (trimmed.length === 0 && str.length >= width) return str\n var padding = ''\n var strWidth = stringWidth(trimmed)\n\n if (strWidth < width) {\n padding = createPadding(width - strWidth)\n }\n\n return trimmed + padding\n}\n\nfunction alignRight (str, width) {\n var trimmed = str.trimLeft()\n if (trimmed.length === 0 && str.length >= width) return str\n var padding = ''\n var strWidth = stringWidth(trimmed)\n\n if (strWidth < width) {\n padding = createPadding(width - strWidth)\n }\n\n return padding + trimmed\n}\n\nfunction alignCenter (str, width) {\n var trimmed = str.trim()\n if (trimmed.length === 0 && str.length >= width) return str\n var padLeft = ''\n var padRight = ''\n var strWidth = stringWidth(trimmed)\n\n if (strWidth < width) {\n var padLeftBy = parseInt((width - strWidth) / 2, 10) \n padLeft = createPadding(padLeftBy)\n padRight = createPadding(width - (strWidth + padLeftBy))\n }\n\n return padLeft + trimmed + padRight\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/wide-align" }, { "id": "644", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nvar stripAnsi = require('strip-ansi');\nvar codePointAt = require('code-point-at');\nvar isFullwidthCodePoint = require('is-fullwidth-code-point');\n\n// https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345\nmodule.exports = function (str) {\n\tif (typeof str !== 'string' || str.length === 0) {\n\t\treturn 0;\n\t}\n\n\tvar width = 0;\n\n\tstr = stripAnsi(str);\n\n\tfor (var i = 0; i < str.length; i++) {\n\t\tvar code = codePointAt(str, i);\n\n\t\t// ignore control characters\n\t\tif (code <= 0x1f || (code >= 0x7f && code <= 0x9f)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// surrogates\n\t\tif (code >= 0x10000) {\n\t\t\ti++;\n\t\t}\n\n\t\tif (isFullwidthCodePoint(code)) {\n\t\t\twidth += 2;\n\t\t} else {\n\t\t\twidth++;\n\t\t}\n\t}\n\n\treturn width;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width" }, { "id": "647", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nvar numberIsNan = require('number-is-nan');\n\nmodule.exports = function (str, pos) {\n\tif (str === null || str === undefined) {\n\t\tthrow TypeError();\n\t}\n\n\tstr = String(str);\n\n\tvar size = str.length;\n\tvar i = pos ? Number(pos) : 0;\n\n\tif (numberIsNan(i)) {\n\t\ti = 0;\n\t}\n\n\tif (i < 0 || i >= size) {\n\t\treturn undefined;\n\t}\n\n\tvar first = str.charCodeAt(i);\n\n\tif (first >= 0xD800 && first <= 0xDBFF && size > i + 1) {\n\t\tvar second = str.charCodeAt(i + 1);\n\n\t\tif (second >= 0xDC00 && second <= 0xDFFF) {\n\t\t\treturn (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t\t}\n\t}\n\n\treturn first;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at" }, { "id": "656", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js", "source": "(function (exports, require, module, __filename, __dirname) { // Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\nvar assert = require('assert')\nvar signals = require('./signals.js')\n\nvar EE = require('events')\n/* istanbul ignore if */\nif (typeof EE !== 'function') {\n EE = EE.EventEmitter\n}\n\nvar emitter\nif (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n} else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n}\n\nmodule.exports = function (cb, opts) {\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n}\n\nmodule.exports.unload = unload\nfunction unload () {\n if (!loaded) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n}\n\nfunction emit (event, code, signal) {\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n}\n\n// { : , ... }\nvar sigListeners = {}\nsignals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n process.kill(process.pid, sig)\n }\n }\n})\n\nmodule.exports.signals = function () {\n return signals\n}\n\nmodule.exports.load = load\n\nvar loaded = false\n\nfunction load () {\n if (loaded) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n}\n\nvar originalProcessReallyExit = process.reallyExit\nfunction processReallyExit (code) {\n process.exitCode = code || 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n}\n\nvar originalProcessEmit = process.emit\nfunction processEmit (ev, arg) {\n if (ev === 'exit') {\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit" }, { "id": "658", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/themes.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge" }, { "id": "659", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/theme-set.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar objectAssign = require('object-assign')\n\nmodule.exports = function () {\n return ThemeSetProto.newThemeSet()\n}\n\nvar ThemeSetProto = {}\n\nThemeSetProto.baseTheme = require('./base-theme.js')\n\nThemeSetProto.newTheme = function (parent, theme) {\n if (!theme) {\n theme = parent\n parent = this.baseTheme\n }\n return objectAssign({}, parent, theme)\n}\n\nThemeSetProto.getThemeNames = function () {\n return Object.keys(this.themes)\n}\n\nThemeSetProto.addTheme = function (name, parent, theme) {\n this.themes[name] = this.newTheme(parent, theme)\n}\n\nThemeSetProto.addToAllThemes = function (theme) {\n var themes = this.themes\n Object.keys(themes).forEach(function (name) {\n objectAssign(themes[name], theme)\n })\n objectAssign(this.baseTheme, theme)\n}\n\nThemeSetProto.getTheme = function (name) {\n if (!this.themes[name]) throw this.newMissingThemeError(name)\n return this.themes[name]\n}\n\nThemeSetProto.setDefault = function (opts, name) {\n if (name == null) {\n name = opts\n opts = {}\n }\n var platform = opts.platform == null ? 'fallback' : opts.platform\n var hasUnicode = !!opts.hasUnicode\n var hasColor = !!opts.hasColor\n if (!this.defaults[platform]) this.defaults[platform] = {true: {}, false: {}}\n this.defaults[platform][hasUnicode][hasColor] = name\n}\n\nThemeSetProto.getDefault = function (opts) {\n if (!opts) opts = {}\n var platformName = opts.platform || process.platform\n var platform = this.defaults[platformName] || this.defaults.fallback\n var hasUnicode = !!opts.hasUnicode\n var hasColor = !!opts.hasColor\n if (!platform) throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor)\n if (!platform[hasUnicode][hasColor]) {\n if (hasUnicode && hasColor && platform[!hasUnicode][hasColor]) {\n hasUnicode = false\n } else if (hasUnicode && hasColor && platform[hasUnicode][!hasColor]) {\n hasColor = false\n } else if (hasUnicode && hasColor && platform[!hasUnicode][!hasColor]) {\n hasUnicode = false\n hasColor = false\n } else if (hasUnicode && !hasColor && platform[!hasUnicode][hasColor]) {\n hasUnicode = false\n } else if (!hasUnicode && hasColor && platform[hasUnicode][!hasColor]) {\n hasColor = false\n } else if (platform === this.defaults.fallback) {\n throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor)\n }\n }\n if (platform[hasUnicode][hasColor]) {\n return this.getTheme(platform[hasUnicode][hasColor])\n } else {\n return this.getDefault(objectAssign({}, opts, {platform: 'fallback'}))\n }\n}\n\nThemeSetProto.newMissingThemeError = function newMissingThemeError (name) {\n var err = new Error('Could not find a gauge theme named \"' + name + '\"')\n Error.captureStackTrace.call(err, newMissingThemeError)\n err.theme = name\n err.code = 'EMISSINGTHEME'\n return err\n}\n\nThemeSetProto.newMissingDefaultThemeError = function newMissingDefaultThemeError (platformName, hasUnicode, hasColor) {\n var err = new Error(\n 'Could not find a gauge theme for your platform/unicode/color use combo:\\n' +\n ' platform = ' + platformName + '\\n' +\n ' hasUnicode = ' + hasUnicode + '\\n' +\n ' hasColor = ' + hasColor)\n Error.captureStackTrace.call(err, newMissingDefaultThemeError)\n err.platform = platformName\n err.hasUnicode = hasUnicode\n err.hasColor = hasColor\n err.code = 'EMISSINGTHEME'\n return err\n}\n\nThemeSetProto.newThemeSet = function () {\n var themeset = function (opts) {\n return themeset.getDefault(opts)\n }\n return objectAssign(themeset, ThemeSetProto, {\n themes: objectAssign({}, this.themes),\n baseTheme: objectAssign({}, this.baseTheme),\n defaults: JSON.parse(JSON.stringify(this.defaults || {}))\n })\n}\n\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge" }, { "id": "660", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/base-theme.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar spin = require('./spin.js')\nvar progressBar = require('./progress-bar.js')\n\nmodule.exports = {\n activityIndicator: function (values, theme, width) {\n if (values.spun == null) return\n return spin(theme, values.spun)\n },\n progressbar: function (values, theme, width) {\n if (values.completed == null) return\n return progressBar(theme, width, values.completed)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge" }, { "id": "680", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/fetch.js", "source": "(function (exports, require, module, __filename, __dirname) { var assert = require('assert')\nvar url = require('url')\n\nvar request = require('request')\nvar once = require('once')\n\nmodule.exports = fetch\n\nfunction fetch (uri, params, cb) {\n assert(typeof uri === 'string', 'must pass uri to request')\n assert(params && typeof params === 'object', 'must pass params to request')\n assert(typeof cb === 'function', 'must pass callback to request')\n\n cb = once(cb)\n\n var client = this\n this.attempt(function (operation) {\n makeRequest.call(client, uri, params, function (er, req) {\n if (er) return cb(er)\n\n req.once('error', retryOnError)\n\n function retryOnError (er) {\n if (operation.retry(er)) {\n client.log.info('retry', 'will retry, error on last attempt: ' + er)\n } else {\n cb(er)\n }\n }\n\n req.on('response', function (res) {\n client.log.http('fetch', '' + res.statusCode, uri)\n req.removeListener('error', retryOnError)\n\n var er\n var statusCode = res && res.statusCode\n if (statusCode === 200) {\n // Work around bug in node v0.10.0 where the CryptoStream\n // gets stuck and never starts reading again.\n res.resume()\n if (process.version === 'v0.10.0') unstick(res)\n\n req.once('error', function (er) {\n res.emit('error', er)\n })\n\n return cb(null, res)\n // Only retry on 408, 5xx or no `response`.\n } else if (statusCode === 408) {\n er = new Error('request timed out')\n } else if (statusCode >= 500) {\n er = new Error('server error ' + statusCode)\n }\n\n if (er && operation.retry(er)) {\n client.log.info('retry', 'will retry, error on last attempt: ' + er)\n } else {\n cb(new Error('fetch failed with status code ' + statusCode))\n }\n })\n })\n })\n}\n\nfunction unstick (response) {\n response.resume = (function (orig) {\n return function () {\n var ret = orig.apply(response, arguments)\n if (response.socket.encrypted) response.socket.encrypted.read(0)\n return ret\n }\n })(response.resume)\n}\n\nfunction makeRequest (remote, params, cb) {\n var parsed = url.parse(remote)\n this.log.http('fetch', 'GET', parsed.href)\n\n var headers = params.headers || {}\n var er = this.authify(\n params.auth && params.auth.alwaysAuth,\n parsed,\n headers,\n params.auth\n )\n if (er) return cb(er)\n\n var opts = this.initialize(\n parsed,\n 'GET',\n 'application/x-tar, application/vnd.github+json; q=0.1',\n headers\n )\n // always want to follow redirects for fetch\n opts.followRedirect = true\n\n cb(null, request(opts))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client" }, { "id": "681", "url": "/usr/local/lib/node_modules/npm/node_modules/request/index.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2010-2012 Mikeal Rogers\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n'use strict'\n\nvar extend = require('extend')\n , cookies = require('./lib/cookies')\n , helpers = require('./lib/helpers')\n\nvar paramsHaveRequestBody = helpers.paramsHaveRequestBody\n\n\n// organize params for patch, post, put, head, del\nfunction initParams(uri, options, callback) {\n if (typeof options === 'function') {\n callback = options\n }\n\n var params = {}\n if (typeof options === 'object') {\n extend(params, options, {uri: uri})\n } else if (typeof uri === 'string') {\n extend(params, {uri: uri})\n } else {\n extend(params, uri)\n }\n\n params.callback = callback || params.callback\n return params\n}\n\nfunction request (uri, options, callback) {\n if (typeof uri === 'undefined') {\n throw new Error('undefined is not a valid uri or options object.')\n }\n\n var params = initParams(uri, options, callback)\n\n if (params.method === 'HEAD' && paramsHaveRequestBody(params)) {\n throw new Error('HTTP HEAD requests MUST NOT include a request body.')\n }\n\n return new request.Request(params)\n}\n\nfunction verbFunc (verb) {\n var method = verb.toUpperCase()\n return function (uri, options, callback) {\n var params = initParams(uri, options, callback)\n params.method = method\n return request(params, params.callback)\n }\n}\n\n// define like this to please codeintel/intellisense IDEs\nrequest.get = verbFunc('get')\nrequest.head = verbFunc('head')\nrequest.post = verbFunc('post')\nrequest.put = verbFunc('put')\nrequest.patch = verbFunc('patch')\nrequest.del = verbFunc('delete')\nrequest['delete'] = verbFunc('delete')\n\nrequest.jar = function (store) {\n return cookies.jar(store)\n}\n\nrequest.cookie = function (str) {\n return cookies.parse(str)\n}\n\nfunction wrapRequestMethod (method, options, requester, verb) {\n\n return function (uri, opts, callback) {\n var params = initParams(uri, opts, callback)\n\n var target = {}\n extend(true, target, options, params)\n\n target.pool = params.pool || options.pool\n\n if (verb) {\n target.method = verb.toUpperCase()\n }\n\n if (typeof requester === 'function') {\n method = requester\n }\n\n return method(target, target.callback)\n }\n}\n\nrequest.defaults = function (options, requester) {\n var self = this\n\n options = options || {}\n\n if (typeof options === 'function') {\n requester = options\n options = {}\n }\n\n var defaults = wrapRequestMethod(self, options, requester)\n\n var verbs = ['get', 'head', 'post', 'put', 'patch', 'del', 'delete']\n verbs.forEach(function(verb) {\n defaults[verb] = wrapRequestMethod(self[verb], options, requester, verb)\n })\n\n defaults.cookie = wrapRequestMethod(self.cookie, options, requester)\n defaults.jar = self.jar\n defaults.defaults = self.defaults\n return defaults\n}\n\nrequest.forever = function (agentOptions, optionsArg) {\n var options = {}\n if (optionsArg) {\n extend(options, optionsArg)\n }\n if (agentOptions) {\n options.agentOptions = agentOptions\n }\n\n options.forever = true\n return request.defaults(options)\n}\n\n// Exports\n\nmodule.exports = request\nrequest.Request = require('./request')\nrequest.initParams = initParams\n\n// Backwards compatibility for request.debug\nObject.defineProperty(request, 'debug', {\n enumerable : true,\n get : function() {\n return request.Request.debug\n },\n set : function(debug) {\n request.Request.debug = debug\n }\n})\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request" }, { "id": "683", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/cookies.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar tough = require('tough-cookie')\n\nvar Cookie = tough.Cookie\n , CookieJar = tough.CookieJar\n\n\nexports.parse = function(str) {\n if (str && str.uri) {\n str = str.uri\n }\n if (typeof str !== 'string') {\n throw new Error('The cookie function only accepts STRING as param')\n }\n return Cookie.parse(str, {loose: true})\n}\n\n// Adapt the sometimes-Async api of tough.CookieJar to our requirements\nfunction RequestJar(store) {\n var self = this\n self._jar = new CookieJar(store, {looseMode: true})\n}\nRequestJar.prototype.setCookie = function(cookieOrStr, uri, options) {\n var self = this\n return self._jar.setCookieSync(cookieOrStr, uri, options || {})\n}\nRequestJar.prototype.getCookieString = function(uri) {\n var self = this\n return self._jar.getCookieStringSync(uri)\n}\nRequestJar.prototype.getCookies = function(uri) {\n var self = this\n return self._jar.getCookiesSync(uri)\n}\n\nexports.jar = function(store) {\n return new RequestJar(store)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request" }, { "id": "684", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie/lib/cookie.js", "source": "(function (exports, require, module, __filename, __dirname) { /*!\n * Copyright (c) 2015, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n'use strict';\nvar net = require('net');\nvar urlParse = require('url').parse;\nvar pubsuffix = require('./pubsuffix');\nvar Store = require('./store').Store;\nvar MemoryCookieStore = require('./memstore').MemoryCookieStore;\nvar pathMatch = require('./pathMatch').pathMatch;\nvar VERSION = require('../package.json').version;\n\nvar punycode;\ntry {\n punycode = require('punycode');\n} catch(e) {\n console.warn(\"cookie: can't load punycode; won't use punycode for domain normalization\");\n}\n\nvar DATE_DELIM = /[\\x09\\x20-\\x2F\\x3B-\\x40\\x5B-\\x60\\x7B-\\x7E]/;\n\n// From RFC6265 S4.1.1\n// note that it excludes \\x3B \";\"\nvar COOKIE_OCTET = /[\\x21\\x23-\\x2B\\x2D-\\x3A\\x3C-\\x5B\\x5D-\\x7E]/;\nvar COOKIE_OCTETS = new RegExp('^'+COOKIE_OCTET.source+'+$');\n\nvar CONTROL_CHARS = /[\\x00-\\x1F]/;\n\n// Double quotes are part of the value (see: S4.1.1).\n// '\\r', '\\n' and '\\0' should be treated as a terminator in the \"relaxed\" mode\n// (see: https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L60)\n// '=' and ';' are attribute/values separators\n// (see: https://github.com/ChromiumWebApps/chromium/blob/b3d3b4da8bb94c1b2e061600df106d590fda3620/net/cookies/parsed_cookie.cc#L64)\nvar COOKIE_PAIR = /^(([^=;]+))\\s*=\\s*([^\\n\\r\\0]*)/;\n\n// Used to parse non-RFC-compliant cookies like '=abc' when given the `loose`\n// option in Cookie.parse:\nvar LOOSE_COOKIE_PAIR = /^((?:=)?([^=;]*)\\s*=\\s*)?([^\\n\\r\\0]*)/;\n\n// RFC6265 S4.1.1 defines path value as 'any CHAR except CTLs or \";\"'\n// Note ';' is \\x3B\nvar PATH_VALUE = /[\\x20-\\x3A\\x3C-\\x7E]+/;\n\nvar DAY_OF_MONTH = /^(\\d{1,2})[^\\d]*$/;\nvar TIME = /^(\\d{1,2})[^\\d]*:(\\d{1,2})[^\\d]*:(\\d{1,2})[^\\d]*$/;\nvar MONTH = /^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/i;\n\nvar MONTH_TO_NUM = {\n jan:0, feb:1, mar:2, apr:3, may:4, jun:5,\n jul:6, aug:7, sep:8, oct:9, nov:10, dec:11\n};\nvar NUM_TO_MONTH = [\n 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'\n];\nvar NUM_TO_DAY = [\n 'Sun','Mon','Tue','Wed','Thu','Fri','Sat'\n];\n\nvar YEAR = /^(\\d{2}|\\d{4})$/; // 2 to 4 digits\n\nvar MAX_TIME = 2147483647000; // 31-bit max\nvar MIN_TIME = 0; // 31-bit min\n\n\n// RFC6265 S5.1.1 date parser:\nfunction parseDate(str) {\n if (!str) {\n return;\n }\n\n /* RFC6265 S5.1.1:\n * 2. Process each date-token sequentially in the order the date-tokens\n * appear in the cookie-date\n */\n var tokens = str.split(DATE_DELIM);\n if (!tokens) {\n return;\n }\n\n var hour = null;\n var minutes = null;\n var seconds = null;\n var day = null;\n var month = null;\n var year = null;\n\n for (var i=0; i 23 || minutes > 59 || seconds > 59) {\n return;\n }\n\n continue;\n }\n }\n\n /* 2.2. If the found-day-of-month flag is not set and the date-token matches\n * the day-of-month production, set the found-day-of- month flag and set\n * the day-of-month-value to the number denoted by the date-token. Skip\n * the remaining sub-steps and continue to the next date-token.\n */\n if (day === null) {\n result = DAY_OF_MONTH.exec(token);\n if (result) {\n day = parseInt(result, 10);\n /* RFC6265 S5.1.1.5:\n * [fail if] the day-of-month-value is less than 1 or greater than 31\n */\n if(day < 1 || day > 31) {\n return;\n }\n continue;\n }\n }\n\n /* 2.3. If the found-month flag is not set and the date-token matches the\n * month production, set the found-month flag and set the month-value to\n * the month denoted by the date-token. Skip the remaining sub-steps and\n * continue to the next date-token.\n */\n if (month === null) {\n result = MONTH.exec(token);\n if (result) {\n month = MONTH_TO_NUM[result[1].toLowerCase()];\n continue;\n }\n }\n\n /* 2.4. If the found-year flag is not set and the date-token matches the year\n * production, set the found-year flag and set the year-value to the number\n * denoted by the date-token. Skip the remaining sub-steps and continue to\n * the next date-token.\n */\n if (year === null) {\n result = YEAR.exec(token);\n if (result) {\n year = parseInt(result[0], 10);\n /* From S5.1.1:\n * 3. If the year-value is greater than or equal to 70 and less\n * than or equal to 99, increment the year-value by 1900.\n * 4. If the year-value is greater than or equal to 0 and less\n * than or equal to 69, increment the year-value by 2000.\n */\n if (70 <= year && year <= 99) {\n year += 1900;\n } else if (0 <= year && year <= 69) {\n year += 2000;\n }\n\n if (year < 1601) {\n return; // 5. ... the year-value is less than 1601\n }\n }\n }\n }\n\n if (seconds === null || day === null || month === null || year === null) {\n return; // 5. ... at least one of the found-day-of-month, found-month, found-\n // year, or found-time flags is not set,\n }\n\n return new Date(Date.UTC(year, month, day, hour, minutes, seconds));\n}\n\nfunction formatDate(date) {\n var d = date.getUTCDate(); d = d >= 10 ? d : '0'+d;\n var h = date.getUTCHours(); h = h >= 10 ? h : '0'+h;\n var m = date.getUTCMinutes(); m = m >= 10 ? m : '0'+m;\n var s = date.getUTCSeconds(); s = s >= 10 ? s : '0'+s;\n return NUM_TO_DAY[date.getUTCDay()] + ', ' +\n d+' '+ NUM_TO_MONTH[date.getUTCMonth()] +' '+ date.getUTCFullYear() +' '+\n h+':'+m+':'+s+' GMT';\n}\n\n// S5.1.2 Canonicalized Host Names\nfunction canonicalDomain(str) {\n if (str == null) {\n return null;\n }\n str = str.trim().replace(/^\\./,''); // S4.1.2.3 & S5.2.3: ignore leading .\n\n // convert to IDN if any non-ASCII characters\n if (punycode && /[^\\u0001-\\u007f]/.test(str)) {\n str = punycode.toASCII(str);\n }\n\n return str.toLowerCase();\n}\n\n// S5.1.3 Domain Matching\nfunction domainMatch(str, domStr, canonicalize) {\n if (str == null || domStr == null) {\n return null;\n }\n if (canonicalize !== false) {\n str = canonicalDomain(str);\n domStr = canonicalDomain(domStr);\n }\n\n /*\n * \"The domain string and the string are identical. (Note that both the\n * domain string and the string will have been canonicalized to lower case at\n * this point)\"\n */\n if (str == domStr) {\n return true;\n }\n\n /* \"All of the following [three] conditions hold:\" (order adjusted from the RFC) */\n\n /* \"* The string is a host name (i.e., not an IP address).\" */\n if (net.isIP(str)) {\n return false;\n }\n\n /* \"* The domain string is a suffix of the string\" */\n var idx = str.indexOf(domStr);\n if (idx <= 0) {\n return false; // it's a non-match (-1) or prefix (0)\n }\n\n // e.g \"a.b.c\".indexOf(\"b.c\") === 2\n // 5 === 3+2\n if (str.length !== domStr.length + idx) { // it's not a suffix\n return false;\n }\n\n /* \"* The last character of the string that is not included in the domain\n * string is a %x2E (\".\") character.\" */\n if (str.substr(idx-1,1) !== '.') {\n return false;\n }\n\n return true;\n}\n\n\n// RFC6265 S5.1.4 Paths and Path-Match\n\n/*\n * \"The user agent MUST use an algorithm equivalent to the following algorithm\n * to compute the default-path of a cookie:\"\n *\n * Assumption: the path (and not query part or absolute uri) is passed in.\n */\nfunction defaultPath(path) {\n // \"2. If the uri-path is empty or if the first character of the uri-path is not\n // a %x2F (\"/\") character, output %x2F (\"/\") and skip the remaining steps.\n if (!path || path.substr(0,1) !== \"/\") {\n return \"/\";\n }\n\n // \"3. If the uri-path contains no more than one %x2F (\"/\") character, output\n // %x2F (\"/\") and skip the remaining step.\"\n if (path === \"/\") {\n return path;\n }\n\n var rightSlash = path.lastIndexOf(\"/\");\n if (rightSlash === 0) {\n return \"/\";\n }\n\n // \"4. Output the characters of the uri-path from the first character up to,\n // but not including, the right-most %x2F (\"/\").\"\n return path.slice(0, rightSlash);\n}\n\n\nfunction parse(str, options) {\n if (!options || typeof options !== 'object') {\n options = {};\n }\n str = str.trim();\n\n // We use a regex to parse the \"name-value-pair\" part of S5.2\n var firstSemi = str.indexOf(';'); // S5.2 step 1\n var pairRe = options.loose ? LOOSE_COOKIE_PAIR : COOKIE_PAIR;\n var result = pairRe.exec(firstSemi === -1 ? str : str.substr(0,firstSemi));\n\n // Rx satisfies the \"the name string is empty\" and \"lacks a %x3D (\"=\")\"\n // constraints as well as trimming any whitespace.\n if (!result) {\n return;\n }\n\n var c = new Cookie();\n if (result[1]) {\n c.key = result[2].trim();\n } else {\n c.key = '';\n }\n c.value = result[3].trim();\n if (CONTROL_CHARS.test(c.key) || CONTROL_CHARS.test(c.value)) {\n return;\n }\n\n if (firstSemi === -1) {\n return c;\n }\n\n // S5.2.3 \"unparsed-attributes consist of the remainder of the set-cookie-string\n // (including the %x3B (\";\") in question).\" plus later on in the same section\n // \"discard the first \";\" and trim\".\n var unparsed = str.slice(firstSemi + 1).trim();\n\n // \"If the unparsed-attributes string is empty, skip the rest of these\n // steps.\"\n if (unparsed.length === 0) {\n return c;\n }\n\n /*\n * S5.2 says that when looping over the items \"[p]rocess the attribute-name\n * and attribute-value according to the requirements in the following\n * subsections\" for every item. Plus, for many of the individual attributes\n * in S5.3 it says to use the \"attribute-value of the last attribute in the\n * cookie-attribute-list\". Therefore, in this implementation, we overwrite\n * the previous value.\n */\n var cookie_avs = unparsed.split(';');\n while (cookie_avs.length) {\n var av = cookie_avs.shift().trim();\n if (av.length === 0) { // happens if \";;\" appears\n continue;\n }\n var av_sep = av.indexOf('=');\n var av_key, av_value;\n\n if (av_sep === -1) {\n av_key = av;\n av_value = null;\n } else {\n av_key = av.substr(0,av_sep);\n av_value = av.substr(av_sep+1);\n }\n\n av_key = av_key.trim().toLowerCase();\n\n if (av_value) {\n av_value = av_value.trim();\n }\n\n switch(av_key) {\n case 'expires': // S5.2.1\n if (av_value) {\n var exp = parseDate(av_value);\n // \"If the attribute-value failed to parse as a cookie date, ignore the\n // cookie-av.\"\n if (exp) {\n // over and underflow not realistically a concern: V8's getTime() seems to\n // store something larger than a 32-bit time_t (even with 32-bit node)\n c.expires = exp;\n }\n }\n break;\n\n case 'max-age': // S5.2.2\n if (av_value) {\n // \"If the first character of the attribute-value is not a DIGIT or a \"-\"\n // character ...[or]... If the remainder of attribute-value contains a\n // non-DIGIT character, ignore the cookie-av.\"\n if (/^-?[0-9]+$/.test(av_value)) {\n var delta = parseInt(av_value, 10);\n // \"If delta-seconds is less than or equal to zero (0), let expiry-time\n // be the earliest representable date and time.\"\n c.setMaxAge(delta);\n }\n }\n break;\n\n case 'domain': // S5.2.3\n // \"If the attribute-value is empty, the behavior is undefined. However,\n // the user agent SHOULD ignore the cookie-av entirely.\"\n if (av_value) {\n // S5.2.3 \"Let cookie-domain be the attribute-value without the leading %x2E\n // (\".\") character.\"\n var domain = av_value.trim().replace(/^\\./, '');\n if (domain) {\n // \"Convert the cookie-domain to lower case.\"\n c.domain = domain.toLowerCase();\n }\n }\n break;\n\n case 'path': // S5.2.4\n /*\n * \"If the attribute-value is empty or if the first character of the\n * attribute-value is not %x2F (\"/\"):\n * Let cookie-path be the default-path.\n * Otherwise:\n * Let cookie-path be the attribute-value.\"\n *\n * We'll represent the default-path as null since it depends on the\n * context of the parsing.\n */\n c.path = av_value && av_value[0] === \"/\" ? av_value : null;\n break;\n\n case 'secure': // S5.2.5\n /*\n * \"If the attribute-name case-insensitively matches the string \"Secure\",\n * the user agent MUST append an attribute to the cookie-attribute-list\n * with an attribute-name of Secure and an empty attribute-value.\"\n */\n c.secure = true;\n break;\n\n case 'httponly': // S5.2.6 -- effectively the same as 'secure'\n c.httpOnly = true;\n break;\n\n default:\n c.extensions = c.extensions || [];\n c.extensions.push(av);\n break;\n }\n }\n\n return c;\n}\n\n// avoid the V8 deoptimization monster!\nfunction jsonParse(str) {\n var obj;\n try {\n obj = JSON.parse(str);\n } catch (e) {\n return e;\n }\n return obj;\n}\n\nfunction fromJSON(str) {\n if (!str) {\n return null;\n }\n\n var obj;\n if (typeof str === 'string') {\n obj = jsonParse(str);\n if (obj instanceof Error) {\n return null;\n }\n } else {\n // assume it's an Object\n obj = str;\n }\n\n var c = new Cookie();\n for (var i=0; i 1) {\n var lindex = path.lastIndexOf('/');\n if (lindex === 0) {\n break;\n }\n path = path.substr(0,lindex);\n permutations.push(path);\n }\n permutations.push('/');\n return permutations;\n}\n\nfunction getCookieContext(url) {\n if (url instanceof Object) {\n return url;\n }\n // NOTE: decodeURI will throw on malformed URIs (see GH-32).\n // Therefore, we will just skip decoding for such URIs.\n try {\n url = decodeURI(url);\n }\n catch(err) {\n // Silently swallow error\n }\n\n return urlParse(url);\n}\n\nfunction Cookie(options) {\n options = options || {};\n\n Object.keys(options).forEach(function(prop) {\n if (Cookie.prototype.hasOwnProperty(prop) &&\n Cookie.prototype[prop] !== options[prop] &&\n prop.substr(0,1) !== '_')\n {\n this[prop] = options[prop];\n }\n }, this);\n\n this.creation = this.creation || new Date();\n\n // used to break creation ties in cookieCompare():\n Object.defineProperty(this, 'creationIndex', {\n configurable: false,\n enumerable: false, // important for assert.deepEqual checks\n writable: true,\n value: ++Cookie.cookiesCreated\n });\n}\n\nCookie.cookiesCreated = 0; // incremented each time a cookie is created\n\nCookie.parse = parse;\nCookie.fromJSON = fromJSON;\n\nCookie.prototype.key = \"\";\nCookie.prototype.value = \"\";\n\n// the order in which the RFC has them:\nCookie.prototype.expires = \"Infinity\"; // coerces to literal Infinity\nCookie.prototype.maxAge = null; // takes precedence over expires for TTL\nCookie.prototype.domain = null;\nCookie.prototype.path = null;\nCookie.prototype.secure = false;\nCookie.prototype.httpOnly = false;\nCookie.prototype.extensions = null;\n\n// set by the CookieJar:\nCookie.prototype.hostOnly = null; // boolean when set\nCookie.prototype.pathIsDefault = null; // boolean when set\nCookie.prototype.creation = null; // Date when set; defaulted by Cookie.parse\nCookie.prototype.lastAccessed = null; // Date when set\nObject.defineProperty(Cookie.prototype, 'creationIndex', {\n configurable: true,\n enumerable: false,\n writable: true,\n value: 0\n});\n\nCookie.serializableProperties = Object.keys(Cookie.prototype)\n .filter(function(prop) {\n return !(\n Cookie.prototype[prop] instanceof Function ||\n prop === 'creationIndex' ||\n prop.substr(0,1) === '_'\n );\n });\n\nCookie.prototype.inspect = function inspect() {\n var now = Date.now();\n return 'Cookie=\"'+this.toString() +\n '; hostOnly='+(this.hostOnly != null ? this.hostOnly : '?') +\n '; aAge='+(this.lastAccessed ? (now-this.lastAccessed.getTime())+'ms' : '?') +\n '; cAge='+(this.creation ? (now-this.creation.getTime())+'ms' : '?') +\n '\"';\n};\n\nCookie.prototype.toJSON = function() {\n var obj = {};\n\n var props = Cookie.serializableProperties;\n for (var i=0; i suffixLen) {\n var publicSuffix = parts.slice(0,suffixLen+1).reverse().join('.');\n return converted ? punycode.toUnicode(publicSuffix) : publicSuffix;\n }\n\n return null;\n};\n\n// The following generated structure is used under the MPL version 2.0\n// See public-suffix.txt for more information\n\nvar index = module.exports.index = Object.freeze(\n{\"ac\":true,\"com.ac\":true,\"edu.ac\":true,\"gov.ac\":true,\"net.ac\":true,\"mil.ac\":true,\"org.ac\":true,\"ad\":true,\"nom.ad\":true,\"ae\":true,\"co.ae\":true,\"net.ae\":true,\"org.ae\":true,\"sch.ae\":true,\"ac.ae\":true,\"gov.ae\":true,\"mil.ae\":true,\"aero\":true,\"accident-investigation.aero\":true,\"accident-prevention.aero\":true,\"aerobatic.aero\":true,\"aeroclub.aero\":true,\"aerodrome.aero\":true,\"agents.aero\":true,\"aircraft.aero\":true,\"airline.aero\":true,\"airport.aero\":true,\"air-surveillance.aero\":true,\"airtraffic.aero\":true,\"air-traffic-control.aero\":true,\"ambulance.aero\":true,\"amusement.aero\":true,\"association.aero\":true,\"author.aero\":true,\"ballooning.aero\":true,\"broker.aero\":true,\"caa.aero\":true,\"cargo.aero\":true,\"catering.aero\":true,\"certification.aero\":true,\"championship.aero\":true,\"charter.aero\":true,\"civilaviation.aero\":true,\"club.aero\":true,\"conference.aero\":true,\"consultant.aero\":true,\"consulting.aero\":true,\"control.aero\":true,\"council.aero\":true,\"crew.aero\":true,\"design.aero\":true,\"dgca.aero\":true,\"educator.aero\":true,\"emergency.aero\":true,\"engine.aero\":true,\"engineer.aero\":true,\"entertainment.aero\":true,\"equipment.aero\":true,\"exchange.aero\":true,\"express.aero\":true,\"federation.aero\":true,\"flight.aero\":true,\"freight.aero\":true,\"fuel.aero\":true,\"gliding.aero\":true,\"government.aero\":true,\"groundhandling.aero\":true,\"group.aero\":true,\"hanggliding.aero\":true,\"homebuilt.aero\":true,\"insurance.aero\":true,\"journal.aero\":true,\"journalist.aero\":true,\"leasing.aero\":true,\"logistics.aero\":true,\"magazine.aero\":true,\"maintenance.aero\":true,\"marketplace.aero\":true,\"media.aero\":true,\"microlight.aero\":true,\"modelling.aero\":true,\"navigation.aero\":true,\"parachuting.aero\":true,\"paragliding.aero\":true,\"passenger-association.aero\":true,\"pilot.aero\":true,\"press.aero\":true,\"production.aero\":true,\"recreation.aero\":true,\"repbody.aero\":true,\"res.aero\":true,\"research.aero\":true,\"rotorcraft.aero\":true,\"safety.aero\":true,\"scientist.aero\":true,\"services.aero\":true,\"show.aero\":true,\"skydiving.aero\":true,\"software.aero\":true,\"student.aero\":true,\"taxi.aero\":true,\"trader.aero\":true,\"trading.aero\":true,\"trainer.aero\":true,\"union.aero\":true,\"workinggroup.aero\":true,\"works.aero\":true,\"af\":true,\"gov.af\":true,\"com.af\":true,\"org.af\":true,\"net.af\":true,\"edu.af\":true,\"ag\":true,\"com.ag\":true,\"org.ag\":true,\"net.ag\":true,\"co.ag\":true,\"nom.ag\":true,\"ai\":true,\"off.ai\":true,\"com.ai\":true,\"net.ai\":true,\"org.ai\":true,\"al\":true,\"com.al\":true,\"edu.al\":true,\"gov.al\":true,\"mil.al\":true,\"net.al\":true,\"org.al\":true,\"am\":true,\"an\":true,\"com.an\":true,\"net.an\":true,\"org.an\":true,\"edu.an\":true,\"ao\":true,\"ed.ao\":true,\"gv.ao\":true,\"og.ao\":true,\"co.ao\":true,\"pb.ao\":true,\"it.ao\":true,\"aq\":true,\"ar\":true,\"com.ar\":true,\"edu.ar\":true,\"gob.ar\":true,\"gov.ar\":true,\"int.ar\":true,\"mil.ar\":true,\"net.ar\":true,\"org.ar\":true,\"tur.ar\":true,\"arpa\":true,\"e164.arpa\":true,\"in-addr.arpa\":true,\"ip6.arpa\":true,\"iris.arpa\":true,\"uri.arpa\":true,\"urn.arpa\":true,\"as\":true,\"gov.as\":true,\"asia\":true,\"at\":true,\"ac.at\":true,\"co.at\":true,\"gv.at\":true,\"or.at\":true,\"au\":true,\"com.au\":true,\"net.au\":true,\"org.au\":true,\"edu.au\":true,\"gov.au\":true,\"asn.au\":true,\"id.au\":true,\"info.au\":true,\"conf.au\":true,\"oz.au\":true,\"act.au\":true,\"nsw.au\":true,\"nt.au\":true,\"qld.au\":true,\"sa.au\":true,\"tas.au\":true,\"vic.au\":true,\"wa.au\":true,\"act.edu.au\":true,\"nsw.edu.au\":true,\"nt.edu.au\":true,\"qld.edu.au\":true,\"sa.edu.au\":true,\"tas.edu.au\":true,\"vic.edu.au\":true,\"wa.edu.au\":true,\"qld.gov.au\":true,\"sa.gov.au\":true,\"tas.gov.au\":true,\"vic.gov.au\":true,\"wa.gov.au\":true,\"aw\":true,\"com.aw\":true,\"ax\":true,\"az\":true,\"com.az\":true,\"net.az\":true,\"int.az\":true,\"gov.az\":true,\"org.az\":true,\"edu.az\":true,\"info.az\":true,\"pp.az\":true,\"mil.az\":true,\"name.az\":true,\"pro.az\":true,\"biz.az\":true,\"ba\":true,\"org.ba\":true,\"net.ba\":true,\"edu.ba\":true,\"gov.ba\":true,\"mil.ba\":true,\"unsa.ba\":true,\"unbi.ba\":true,\"co.ba\":true,\"com.ba\":true,\"rs.ba\":true,\"bb\":true,\"biz.bb\":true,\"co.bb\":true,\"com.bb\":true,\"edu.bb\":true,\"gov.bb\":true,\"info.bb\":true,\"net.bb\":true,\"org.bb\":true,\"store.bb\":true,\"tv.bb\":true,\"*.bd\":true,\"be\":true,\"ac.be\":true,\"bf\":true,\"gov.bf\":true,\"bg\":true,\"a.bg\":true,\"b.bg\":true,\"c.bg\":true,\"d.bg\":true,\"e.bg\":true,\"f.bg\":true,\"g.bg\":true,\"h.bg\":true,\"i.bg\":true,\"j.bg\":true,\"k.bg\":true,\"l.bg\":true,\"m.bg\":true,\"n.bg\":true,\"o.bg\":true,\"p.bg\":true,\"q.bg\":true,\"r.bg\":true,\"s.bg\":true,\"t.bg\":true,\"u.bg\":true,\"v.bg\":true,\"w.bg\":true,\"x.bg\":true,\"y.bg\":true,\"z.bg\":true,\"0.bg\":true,\"1.bg\":true,\"2.bg\":true,\"3.bg\":true,\"4.bg\":true,\"5.bg\":true,\"6.bg\":true,\"7.bg\":true,\"8.bg\":true,\"9.bg\":true,\"bh\":true,\"com.bh\":true,\"edu.bh\":true,\"net.bh\":true,\"org.bh\":true,\"gov.bh\":true,\"bi\":true,\"co.bi\":true,\"com.bi\":true,\"edu.bi\":true,\"or.bi\":true,\"org.bi\":true,\"biz\":true,\"bj\":true,\"asso.bj\":true,\"barreau.bj\":true,\"gouv.bj\":true,\"bm\":true,\"com.bm\":true,\"edu.bm\":true,\"gov.bm\":true,\"net.bm\":true,\"org.bm\":true,\"*.bn\":true,\"bo\":true,\"com.bo\":true,\"edu.bo\":true,\"gov.bo\":true,\"gob.bo\":true,\"int.bo\":true,\"org.bo\":true,\"net.bo\":true,\"mil.bo\":true,\"tv.bo\":true,\"br\":true,\"adm.br\":true,\"adv.br\":true,\"agr.br\":true,\"am.br\":true,\"arq.br\":true,\"art.br\":true,\"ato.br\":true,\"b.br\":true,\"bio.br\":true,\"blog.br\":true,\"bmd.br\":true,\"cim.br\":true,\"cng.br\":true,\"cnt.br\":true,\"com.br\":true,\"coop.br\":true,\"ecn.br\":true,\"eco.br\":true,\"edu.br\":true,\"emp.br\":true,\"eng.br\":true,\"esp.br\":true,\"etc.br\":true,\"eti.br\":true,\"far.br\":true,\"flog.br\":true,\"fm.br\":true,\"fnd.br\":true,\"fot.br\":true,\"fst.br\":true,\"g12.br\":true,\"ggf.br\":true,\"gov.br\":true,\"imb.br\":true,\"ind.br\":true,\"inf.br\":true,\"jor.br\":true,\"jus.br\":true,\"leg.br\":true,\"lel.br\":true,\"mat.br\":true,\"med.br\":true,\"mil.br\":true,\"mp.br\":true,\"mus.br\":true,\"net.br\":true,\"*.nom.br\":true,\"not.br\":true,\"ntr.br\":true,\"odo.br\":true,\"org.br\":true,\"ppg.br\":true,\"pro.br\":true,\"psc.br\":true,\"psi.br\":true,\"qsl.br\":true,\"radio.br\":true,\"rec.br\":true,\"slg.br\":true,\"srv.br\":true,\"taxi.br\":true,\"teo.br\":true,\"tmp.br\":true,\"trd.br\":true,\"tur.br\":true,\"tv.br\":true,\"vet.br\":true,\"vlog.br\":true,\"wiki.br\":true,\"zlg.br\":true,\"bs\":true,\"com.bs\":true,\"net.bs\":true,\"org.bs\":true,\"edu.bs\":true,\"gov.bs\":true,\"bt\":true,\"com.bt\":true,\"edu.bt\":true,\"gov.bt\":true,\"net.bt\":true,\"org.bt\":true,\"bv\":true,\"bw\":true,\"co.bw\":true,\"org.bw\":true,\"by\":true,\"gov.by\":true,\"mil.by\":true,\"com.by\":true,\"of.by\":true,\"bz\":true,\"com.bz\":true,\"net.bz\":true,\"org.bz\":true,\"edu.bz\":true,\"gov.bz\":true,\"ca\":true,\"ab.ca\":true,\"bc.ca\":true,\"mb.ca\":true,\"nb.ca\":true,\"nf.ca\":true,\"nl.ca\":true,\"ns.ca\":true,\"nt.ca\":true,\"nu.ca\":true,\"on.ca\":true,\"pe.ca\":true,\"qc.ca\":true,\"sk.ca\":true,\"yk.ca\":true,\"gc.ca\":true,\"cat\":true,\"cc\":true,\"cd\":true,\"gov.cd\":true,\"cf\":true,\"cg\":true,\"ch\":true,\"ci\":true,\"org.ci\":true,\"or.ci\":true,\"com.ci\":true,\"co.ci\":true,\"edu.ci\":true,\"ed.ci\":true,\"ac.ci\":true,\"net.ci\":true,\"go.ci\":true,\"asso.ci\":true,\"xn--aroport-bya.ci\":true,\"int.ci\":true,\"presse.ci\":true,\"md.ci\":true,\"gouv.ci\":true,\"*.ck\":true,\"www.ck\":false,\"cl\":true,\"gov.cl\":true,\"gob.cl\":true,\"co.cl\":true,\"mil.cl\":true,\"cm\":true,\"co.cm\":true,\"com.cm\":true,\"gov.cm\":true,\"net.cm\":true,\"cn\":true,\"ac.cn\":true,\"com.cn\":true,\"edu.cn\":true,\"gov.cn\":true,\"net.cn\":true,\"org.cn\":true,\"mil.cn\":true,\"xn--55qx5d.cn\":true,\"xn--io0a7i.cn\":true,\"xn--od0alg.cn\":true,\"ah.cn\":true,\"bj.cn\":true,\"cq.cn\":true,\"fj.cn\":true,\"gd.cn\":true,\"gs.cn\":true,\"gz.cn\":true,\"gx.cn\":true,\"ha.cn\":true,\"hb.cn\":true,\"he.cn\":true,\"hi.cn\":true,\"hl.cn\":true,\"hn.cn\":true,\"jl.cn\":true,\"js.cn\":true,\"jx.cn\":true,\"ln.cn\":true,\"nm.cn\":true,\"nx.cn\":true,\"qh.cn\":true,\"sc.cn\":true,\"sd.cn\":true,\"sh.cn\":true,\"sn.cn\":true,\"sx.cn\":true,\"tj.cn\":true,\"xj.cn\":true,\"xz.cn\":true,\"yn.cn\":true,\"zj.cn\":true,\"hk.cn\":true,\"mo.cn\":true,\"tw.cn\":true,\"co\":true,\"arts.co\":true,\"com.co\":true,\"edu.co\":true,\"firm.co\":true,\"gov.co\":true,\"info.co\":true,\"int.co\":true,\"mil.co\":true,\"net.co\":true,\"nom.co\":true,\"org.co\":true,\"rec.co\":true,\"web.co\":true,\"com\":true,\"coop\":true,\"cr\":true,\"ac.cr\":true,\"co.cr\":true,\"ed.cr\":true,\"fi.cr\":true,\"go.cr\":true,\"or.cr\":true,\"sa.cr\":true,\"cu\":true,\"com.cu\":true,\"edu.cu\":true,\"org.cu\":true,\"net.cu\":true,\"gov.cu\":true,\"inf.cu\":true,\"cv\":true,\"cw\":true,\"com.cw\":true,\"edu.cw\":true,\"net.cw\":true,\"org.cw\":true,\"cx\":true,\"gov.cx\":true,\"ac.cy\":true,\"biz.cy\":true,\"com.cy\":true,\"ekloges.cy\":true,\"gov.cy\":true,\"ltd.cy\":true,\"name.cy\":true,\"net.cy\":true,\"org.cy\":true,\"parliament.cy\":true,\"press.cy\":true,\"pro.cy\":true,\"tm.cy\":true,\"cz\":true,\"de\":true,\"dj\":true,\"dk\":true,\"dm\":true,\"com.dm\":true,\"net.dm\":true,\"org.dm\":true,\"edu.dm\":true,\"gov.dm\":true,\"do\":true,\"art.do\":true,\"com.do\":true,\"edu.do\":true,\"gob.do\":true,\"gov.do\":true,\"mil.do\":true,\"net.do\":true,\"org.do\":true,\"sld.do\":true,\"web.do\":true,\"dz\":true,\"com.dz\":true,\"org.dz\":true,\"net.dz\":true,\"gov.dz\":true,\"edu.dz\":true,\"asso.dz\":true,\"pol.dz\":true,\"art.dz\":true,\"ec\":true,\"com.ec\":true,\"info.ec\":true,\"net.ec\":true,\"fin.ec\":true,\"k12.ec\":true,\"med.ec\":true,\"pro.ec\":true,\"org.ec\":true,\"edu.ec\":true,\"gov.ec\":true,\"gob.ec\":true,\"mil.ec\":true,\"edu\":true,\"ee\":true,\"edu.ee\":true,\"gov.ee\":true,\"riik.ee\":true,\"lib.ee\":true,\"med.ee\":true,\"com.ee\":true,\"pri.ee\":true,\"aip.ee\":true,\"org.ee\":true,\"fie.ee\":true,\"eg\":true,\"com.eg\":true,\"edu.eg\":true,\"eun.eg\":true,\"gov.eg\":true,\"mil.eg\":true,\"name.eg\":true,\"net.eg\":true,\"org.eg\":true,\"sci.eg\":true,\"*.er\":true,\"es\":true,\"com.es\":true,\"nom.es\":true,\"org.es\":true,\"gob.es\":true,\"edu.es\":true,\"et\":true,\"com.et\":true,\"gov.et\":true,\"org.et\":true,\"edu.et\":true,\"biz.et\":true,\"name.et\":true,\"info.et\":true,\"net.et\":true,\"eu\":true,\"fi\":true,\"aland.fi\":true,\"*.fj\":true,\"*.fk\":true,\"fm\":true,\"fo\":true,\"fr\":true,\"com.fr\":true,\"asso.fr\":true,\"nom.fr\":true,\"prd.fr\":true,\"presse.fr\":true,\"tm.fr\":true,\"aeroport.fr\":true,\"assedic.fr\":true,\"avocat.fr\":true,\"avoues.fr\":true,\"cci.fr\":true,\"chambagri.fr\":true,\"chirurgiens-dentistes.fr\":true,\"experts-comptables.fr\":true,\"geometre-expert.fr\":true,\"gouv.fr\":true,\"greta.fr\":true,\"huissier-justice.fr\":true,\"medecin.fr\":true,\"notaires.fr\":true,\"pharmacien.fr\":true,\"port.fr\":true,\"veterinaire.fr\":true,\"ga\":true,\"gb\":true,\"gd\":true,\"ge\":true,\"com.ge\":true,\"edu.ge\":true,\"gov.ge\":true,\"org.ge\":true,\"mil.ge\":true,\"net.ge\":true,\"pvt.ge\":true,\"gf\":true,\"gg\":true,\"co.gg\":true,\"net.gg\":true,\"org.gg\":true,\"gh\":true,\"com.gh\":true,\"edu.gh\":true,\"gov.gh\":true,\"org.gh\":true,\"mil.gh\":true,\"gi\":true,\"com.gi\":true,\"ltd.gi\":true,\"gov.gi\":true,\"mod.gi\":true,\"edu.gi\":true,\"org.gi\":true,\"gl\":true,\"co.gl\":true,\"com.gl\":true,\"edu.gl\":true,\"net.gl\":true,\"org.gl\":true,\"gm\":true,\"gn\":true,\"ac.gn\":true,\"com.gn\":true,\"edu.gn\":true,\"gov.gn\":true,\"org.gn\":true,\"net.gn\":true,\"gov\":true,\"gp\":true,\"com.gp\":true,\"net.gp\":true,\"mobi.gp\":true,\"edu.gp\":true,\"org.gp\":true,\"asso.gp\":true,\"gq\":true,\"gr\":true,\"com.gr\":true,\"edu.gr\":true,\"net.gr\":true,\"org.gr\":true,\"gov.gr\":true,\"gs\":true,\"gt\":true,\"com.gt\":true,\"edu.gt\":true,\"gob.gt\":true,\"ind.gt\":true,\"mil.gt\":true,\"net.gt\":true,\"org.gt\":true,\"*.gu\":true,\"gw\":true,\"gy\":true,\"co.gy\":true,\"com.gy\":true,\"net.gy\":true,\"hk\":true,\"com.hk\":true,\"edu.hk\":true,\"gov.hk\":true,\"idv.hk\":true,\"net.hk\":true,\"org.hk\":true,\"xn--55qx5d.hk\":true,\"xn--wcvs22d.hk\":true,\"xn--lcvr32d.hk\":true,\"xn--mxtq1m.hk\":true,\"xn--gmqw5a.hk\":true,\"xn--ciqpn.hk\":true,\"xn--gmq050i.hk\":true,\"xn--zf0avx.hk\":true,\"xn--io0a7i.hk\":true,\"xn--mk0axi.hk\":true,\"xn--od0alg.hk\":true,\"xn--od0aq3b.hk\":true,\"xn--tn0ag.hk\":true,\"xn--uc0atv.hk\":true,\"xn--uc0ay4a.hk\":true,\"hm\":true,\"hn\":true,\"com.hn\":true,\"edu.hn\":true,\"org.hn\":true,\"net.hn\":true,\"mil.hn\":true,\"gob.hn\":true,\"hr\":true,\"iz.hr\":true,\"from.hr\":true,\"name.hr\":true,\"com.hr\":true,\"ht\":true,\"com.ht\":true,\"shop.ht\":true,\"firm.ht\":true,\"info.ht\":true,\"adult.ht\":true,\"net.ht\":true,\"pro.ht\":true,\"org.ht\":true,\"med.ht\":true,\"art.ht\":true,\"coop.ht\":true,\"pol.ht\":true,\"asso.ht\":true,\"edu.ht\":true,\"rel.ht\":true,\"gouv.ht\":true,\"perso.ht\":true,\"hu\":true,\"co.hu\":true,\"info.hu\":true,\"org.hu\":true,\"priv.hu\":true,\"sport.hu\":true,\"tm.hu\":true,\"2000.hu\":true,\"agrar.hu\":true,\"bolt.hu\":true,\"casino.hu\":true,\"city.hu\":true,\"erotica.hu\":true,\"erotika.hu\":true,\"film.hu\":true,\"forum.hu\":true,\"games.hu\":true,\"hotel.hu\":true,\"ingatlan.hu\":true,\"jogasz.hu\":true,\"konyvelo.hu\":true,\"lakas.hu\":true,\"media.hu\":true,\"news.hu\":true,\"reklam.hu\":true,\"sex.hu\":true,\"shop.hu\":true,\"suli.hu\":true,\"szex.hu\":true,\"tozsde.hu\":true,\"utazas.hu\":true,\"video.hu\":true,\"id\":true,\"ac.id\":true,\"biz.id\":true,\"co.id\":true,\"desa.id\":true,\"go.id\":true,\"mil.id\":true,\"my.id\":true,\"net.id\":true,\"or.id\":true,\"sch.id\":true,\"web.id\":true,\"ie\":true,\"gov.ie\":true,\"il\":true,\"ac.il\":true,\"co.il\":true,\"gov.il\":true,\"idf.il\":true,\"k12.il\":true,\"muni.il\":true,\"net.il\":true,\"org.il\":true,\"im\":true,\"ac.im\":true,\"co.im\":true,\"com.im\":true,\"ltd.co.im\":true,\"net.im\":true,\"org.im\":true,\"plc.co.im\":true,\"tt.im\":true,\"tv.im\":true,\"in\":true,\"co.in\":true,\"firm.in\":true,\"net.in\":true,\"org.in\":true,\"gen.in\":true,\"ind.in\":true,\"nic.in\":true,\"ac.in\":true,\"edu.in\":true,\"res.in\":true,\"gov.in\":true,\"mil.in\":true,\"info\":true,\"int\":true,\"eu.int\":true,\"io\":true,\"com.io\":true,\"iq\":true,\"gov.iq\":true,\"edu.iq\":true,\"mil.iq\":true,\"com.iq\":true,\"org.iq\":true,\"net.iq\":true,\"ir\":true,\"ac.ir\":true,\"co.ir\":true,\"gov.ir\":true,\"id.ir\":true,\"net.ir\":true,\"org.ir\":true,\"sch.ir\":true,\"xn--mgba3a4f16a.ir\":true,\"xn--mgba3a4fra.ir\":true,\"is\":true,\"net.is\":true,\"com.is\":true,\"edu.is\":true,\"gov.is\":true,\"org.is\":true,\"int.is\":true,\"it\":true,\"gov.it\":true,\"edu.it\":true,\"abr.it\":true,\"abruzzo.it\":true,\"aosta-valley.it\":true,\"aostavalley.it\":true,\"bas.it\":true,\"basilicata.it\":true,\"cal.it\":true,\"calabria.it\":true,\"cam.it\":true,\"campania.it\":true,\"emilia-romagna.it\":true,\"emiliaromagna.it\":true,\"emr.it\":true,\"friuli-v-giulia.it\":true,\"friuli-ve-giulia.it\":true,\"friuli-vegiulia.it\":true,\"friuli-venezia-giulia.it\":true,\"friuli-veneziagiulia.it\":true,\"friuli-vgiulia.it\":true,\"friuliv-giulia.it\":true,\"friulive-giulia.it\":true,\"friulivegiulia.it\":true,\"friulivenezia-giulia.it\":true,\"friuliveneziagiulia.it\":true,\"friulivgiulia.it\":true,\"fvg.it\":true,\"laz.it\":true,\"lazio.it\":true,\"lig.it\":true,\"liguria.it\":true,\"lom.it\":true,\"lombardia.it\":true,\"lombardy.it\":true,\"lucania.it\":true,\"mar.it\":true,\"marche.it\":true,\"mol.it\":true,\"molise.it\":true,\"piedmont.it\":true,\"piemonte.it\":true,\"pmn.it\":true,\"pug.it\":true,\"puglia.it\":true,\"sar.it\":true,\"sardegna.it\":true,\"sardinia.it\":true,\"sic.it\":true,\"sicilia.it\":true,\"sicily.it\":true,\"taa.it\":true,\"tos.it\":true,\"toscana.it\":true,\"trentino-a-adige.it\":true,\"trentino-aadige.it\":true,\"trentino-alto-adige.it\":true,\"trentino-altoadige.it\":true,\"trentino-s-tirol.it\":true,\"trentino-stirol.it\":true,\"trentino-sud-tirol.it\":true,\"trentino-sudtirol.it\":true,\"trentino-sued-tirol.it\":true,\"trentino-suedtirol.it\":true,\"trentinoa-adige.it\":true,\"trentinoaadige.it\":true,\"trentinoalto-adige.it\":true,\"trentinoaltoadige.it\":true,\"trentinos-tirol.it\":true,\"trentinostirol.it\":true,\"trentinosud-tirol.it\":true,\"trentinosudtirol.it\":true,\"trentinosued-tirol.it\":true,\"trentinosuedtirol.it\":true,\"tuscany.it\":true,\"umb.it\":true,\"umbria.it\":true,\"val-d-aosta.it\":true,\"val-daosta.it\":true,\"vald-aosta.it\":true,\"valdaosta.it\":true,\"valle-aosta.it\":true,\"valle-d-aosta.it\":true,\"valle-daosta.it\":true,\"valleaosta.it\":true,\"valled-aosta.it\":true,\"valledaosta.it\":true,\"vallee-aoste.it\":true,\"valleeaoste.it\":true,\"vao.it\":true,\"vda.it\":true,\"ven.it\":true,\"veneto.it\":true,\"ag.it\":true,\"agrigento.it\":true,\"al.it\":true,\"alessandria.it\":true,\"alto-adige.it\":true,\"altoadige.it\":true,\"an.it\":true,\"ancona.it\":true,\"andria-barletta-trani.it\":true,\"andria-trani-barletta.it\":true,\"andriabarlettatrani.it\":true,\"andriatranibarletta.it\":true,\"ao.it\":true,\"aosta.it\":true,\"aoste.it\":true,\"ap.it\":true,\"aq.it\":true,\"aquila.it\":true,\"ar.it\":true,\"arezzo.it\":true,\"ascoli-piceno.it\":true,\"ascolipiceno.it\":true,\"asti.it\":true,\"at.it\":true,\"av.it\":true,\"avellino.it\":true,\"ba.it\":true,\"balsan.it\":true,\"bari.it\":true,\"barletta-trani-andria.it\":true,\"barlettatraniandria.it\":true,\"belluno.it\":true,\"benevento.it\":true,\"bergamo.it\":true,\"bg.it\":true,\"bi.it\":true,\"biella.it\":true,\"bl.it\":true,\"bn.it\":true,\"bo.it\":true,\"bologna.it\":true,\"bolzano.it\":true,\"bozen.it\":true,\"br.it\":true,\"brescia.it\":true,\"brindisi.it\":true,\"bs.it\":true,\"bt.it\":true,\"bz.it\":true,\"ca.it\":true,\"cagliari.it\":true,\"caltanissetta.it\":true,\"campidano-medio.it\":true,\"campidanomedio.it\":true,\"campobasso.it\":true,\"carbonia-iglesias.it\":true,\"carboniaiglesias.it\":true,\"carrara-massa.it\":true,\"carraramassa.it\":true,\"caserta.it\":true,\"catania.it\":true,\"catanzaro.it\":true,\"cb.it\":true,\"ce.it\":true,\"cesena-forli.it\":true,\"cesenaforli.it\":true,\"ch.it\":true,\"chieti.it\":true,\"ci.it\":true,\"cl.it\":true,\"cn.it\":true,\"co.it\":true,\"como.it\":true,\"cosenza.it\":true,\"cr.it\":true,\"cremona.it\":true,\"crotone.it\":true,\"cs.it\":true,\"ct.it\":true,\"cuneo.it\":true,\"cz.it\":true,\"dell-ogliastra.it\":true,\"dellogliastra.it\":true,\"en.it\":true,\"enna.it\":true,\"fc.it\":true,\"fe.it\":true,\"fermo.it\":true,\"ferrara.it\":true,\"fg.it\":true,\"fi.it\":true,\"firenze.it\":true,\"florence.it\":true,\"fm.it\":true,\"foggia.it\":true,\"forli-cesena.it\":true,\"forlicesena.it\":true,\"fr.it\":true,\"frosinone.it\":true,\"ge.it\":true,\"genoa.it\":true,\"genova.it\":true,\"go.it\":true,\"gorizia.it\":true,\"gr.it\":true,\"grosseto.it\":true,\"iglesias-carbonia.it\":true,\"iglesiascarbonia.it\":true,\"im.it\":true,\"imperia.it\":true,\"is.it\":true,\"isernia.it\":true,\"kr.it\":true,\"la-spezia.it\":true,\"laquila.it\":true,\"laspezia.it\":true,\"latina.it\":true,\"lc.it\":true,\"le.it\":true,\"lecce.it\":true,\"lecco.it\":true,\"li.it\":true,\"livorno.it\":true,\"lo.it\":true,\"lodi.it\":true,\"lt.it\":true,\"lu.it\":true,\"lucca.it\":true,\"macerata.it\":true,\"mantova.it\":true,\"massa-carrara.it\":true,\"massacarrara.it\":true,\"matera.it\":true,\"mb.it\":true,\"mc.it\":true,\"me.it\":true,\"medio-campidano.it\":true,\"mediocampidano.it\":true,\"messina.it\":true,\"mi.it\":true,\"milan.it\":true,\"milano.it\":true,\"mn.it\":true,\"mo.it\":true,\"modena.it\":true,\"monza-brianza.it\":true,\"monza-e-della-brianza.it\":true,\"monza.it\":true,\"monzabrianza.it\":true,\"monzaebrianza.it\":true,\"monzaedellabrianza.it\":true,\"ms.it\":true,\"mt.it\":true,\"na.it\":true,\"naples.it\":true,\"napoli.it\":true,\"no.it\":true,\"novara.it\":true,\"nu.it\":true,\"nuoro.it\":true,\"og.it\":true,\"ogliastra.it\":true,\"olbia-tempio.it\":true,\"olbiatempio.it\":true,\"or.it\":true,\"oristano.it\":true,\"ot.it\":true,\"pa.it\":true,\"padova.it\":true,\"padua.it\":true,\"palermo.it\":true,\"parma.it\":true,\"pavia.it\":true,\"pc.it\":true,\"pd.it\":true,\"pe.it\":true,\"perugia.it\":true,\"pesaro-urbino.it\":true,\"pesarourbino.it\":true,\"pescara.it\":true,\"pg.it\":true,\"pi.it\":true,\"piacenza.it\":true,\"pisa.it\":true,\"pistoia.it\":true,\"pn.it\":true,\"po.it\":true,\"pordenone.it\":true,\"potenza.it\":true,\"pr.it\":true,\"prato.it\":true,\"pt.it\":true,\"pu.it\":true,\"pv.it\":true,\"pz.it\":true,\"ra.it\":true,\"ragusa.it\":true,\"ravenna.it\":true,\"rc.it\":true,\"re.it\":true,\"reggio-calabria.it\":true,\"reggio-emilia.it\":true,\"reggiocalabria.it\":true,\"reggioemilia.it\":true,\"rg.it\":true,\"ri.it\":true,\"rieti.it\":true,\"rimini.it\":true,\"rm.it\":true,\"rn.it\":true,\"ro.it\":true,\"roma.it\":true,\"rome.it\":true,\"rovigo.it\":true,\"sa.it\":true,\"salerno.it\":true,\"sassari.it\":true,\"savona.it\":true,\"si.it\":true,\"siena.it\":true,\"siracusa.it\":true,\"so.it\":true,\"sondrio.it\":true,\"sp.it\":true,\"sr.it\":true,\"ss.it\":true,\"suedtirol.it\":true,\"sv.it\":true,\"ta.it\":true,\"taranto.it\":true,\"te.it\":true,\"tempio-olbia.it\":true,\"tempioolbia.it\":true,\"teramo.it\":true,\"terni.it\":true,\"tn.it\":true,\"to.it\":true,\"torino.it\":true,\"tp.it\":true,\"tr.it\":true,\"trani-andria-barletta.it\":true,\"trani-barletta-andria.it\":true,\"traniandriabarletta.it\":true,\"tranibarlettaandria.it\":true,\"trapani.it\":true,\"trentino.it\":true,\"trento.it\":true,\"treviso.it\":true,\"trieste.it\":true,\"ts.it\":true,\"turin.it\":true,\"tv.it\":true,\"ud.it\":true,\"udine.it\":true,\"urbino-pesaro.it\":true,\"urbinopesaro.it\":true,\"va.it\":true,\"varese.it\":true,\"vb.it\":true,\"vc.it\":true,\"ve.it\":true,\"venezia.it\":true,\"venice.it\":true,\"verbania.it\":true,\"vercelli.it\":true,\"verona.it\":true,\"vi.it\":true,\"vibo-valentia.it\":true,\"vibovalentia.it\":true,\"vicenza.it\":true,\"viterbo.it\":true,\"vr.it\":true,\"vs.it\":true,\"vt.it\":true,\"vv.it\":true,\"je\":true,\"co.je\":true,\"net.je\":true,\"org.je\":true,\"*.jm\":true,\"jo\":true,\"com.jo\":true,\"org.jo\":true,\"net.jo\":true,\"edu.jo\":true,\"sch.jo\":true,\"gov.jo\":true,\"mil.jo\":true,\"name.jo\":true,\"jobs\":true,\"jp\":true,\"ac.jp\":true,\"ad.jp\":true,\"co.jp\":true,\"ed.jp\":true,\"go.jp\":true,\"gr.jp\":true,\"lg.jp\":true,\"ne.jp\":true,\"or.jp\":true,\"aichi.jp\":true,\"akita.jp\":true,\"aomori.jp\":true,\"chiba.jp\":true,\"ehime.jp\":true,\"fukui.jp\":true,\"fukuoka.jp\":true,\"fukushima.jp\":true,\"gifu.jp\":true,\"gunma.jp\":true,\"hiroshima.jp\":true,\"hokkaido.jp\":true,\"hyogo.jp\":true,\"ibaraki.jp\":true,\"ishikawa.jp\":true,\"iwate.jp\":true,\"kagawa.jp\":true,\"kagoshima.jp\":true,\"kanagawa.jp\":true,\"kochi.jp\":true,\"kumamoto.jp\":true,\"kyoto.jp\":true,\"mie.jp\":true,\"miyagi.jp\":true,\"miyazaki.jp\":true,\"nagano.jp\":true,\"nagasaki.jp\":true,\"nara.jp\":true,\"niigata.jp\":true,\"oita.jp\":true,\"okayama.jp\":true,\"okinawa.jp\":true,\"osaka.jp\":true,\"saga.jp\":true,\"saitama.jp\":true,\"shiga.jp\":true,\"shimane.jp\":true,\"shizuoka.jp\":true,\"tochigi.jp\":true,\"tokushima.jp\":true,\"tokyo.jp\":true,\"tottori.jp\":true,\"toyama.jp\":true,\"wakayama.jp\":true,\"yamagata.jp\":true,\"yamaguchi.jp\":true,\"yamanashi.jp\":true,\"xn--4pvxs.jp\":true,\"xn--vgu402c.jp\":true,\"xn--c3s14m.jp\":true,\"xn--f6qx53a.jp\":true,\"xn--8pvr4u.jp\":true,\"xn--uist22h.jp\":true,\"xn--djrs72d6uy.jp\":true,\"xn--mkru45i.jp\":true,\"xn--0trq7p7nn.jp\":true,\"xn--8ltr62k.jp\":true,\"xn--2m4a15e.jp\":true,\"xn--efvn9s.jp\":true,\"xn--32vp30h.jp\":true,\"xn--4it797k.jp\":true,\"xn--1lqs71d.jp\":true,\"xn--5rtp49c.jp\":true,\"xn--5js045d.jp\":true,\"xn--ehqz56n.jp\":true,\"xn--1lqs03n.jp\":true,\"xn--qqqt11m.jp\":true,\"xn--kbrq7o.jp\":true,\"xn--pssu33l.jp\":true,\"xn--ntsq17g.jp\":true,\"xn--uisz3g.jp\":true,\"xn--6btw5a.jp\":true,\"xn--1ctwo.jp\":true,\"xn--6orx2r.jp\":true,\"xn--rht61e.jp\":true,\"xn--rht27z.jp\":true,\"xn--djty4k.jp\":true,\"xn--nit225k.jp\":true,\"xn--rht3d.jp\":true,\"xn--klty5x.jp\":true,\"xn--kltx9a.jp\":true,\"xn--kltp7d.jp\":true,\"xn--uuwu58a.jp\":true,\"xn--zbx025d.jp\":true,\"xn--ntso0iqx3a.jp\":true,\"xn--elqq16h.jp\":true,\"xn--4it168d.jp\":true,\"xn--klt787d.jp\":true,\"xn--rny31h.jp\":true,\"xn--7t0a264c.jp\":true,\"xn--5rtq34k.jp\":true,\"xn--k7yn95e.jp\":true,\"xn--tor131o.jp\":true,\"xn--d5qv7z876c.jp\":true,\"*.kawasaki.jp\":true,\"*.kitakyushu.jp\":true,\"*.kobe.jp\":true,\"*.nagoya.jp\":true,\"*.sapporo.jp\":true,\"*.sendai.jp\":true,\"*.yokohama.jp\":true,\"city.kawasaki.jp\":false,\"city.kitakyushu.jp\":false,\"city.kobe.jp\":false,\"city.nagoya.jp\":false,\"city.sapporo.jp\":false,\"city.sendai.jp\":false,\"city.yokohama.jp\":false,\"aisai.aichi.jp\":true,\"ama.aichi.jp\":true,\"anjo.aichi.jp\":true,\"asuke.aichi.jp\":true,\"chiryu.aichi.jp\":true,\"chita.aichi.jp\":true,\"fuso.aichi.jp\":true,\"gamagori.aichi.jp\":true,\"handa.aichi.jp\":true,\"hazu.aichi.jp\":true,\"hekinan.aichi.jp\":true,\"higashiura.aichi.jp\":true,\"ichinomiya.aichi.jp\":true,\"inazawa.aichi.jp\":true,\"inuyama.aichi.jp\":true,\"isshiki.aichi.jp\":true,\"iwakura.aichi.jp\":true,\"kanie.aichi.jp\":true,\"kariya.aichi.jp\":true,\"kasugai.aichi.jp\":true,\"kira.aichi.jp\":true,\"kiyosu.aichi.jp\":true,\"komaki.aichi.jp\":true,\"konan.aichi.jp\":true,\"kota.aichi.jp\":true,\"mihama.aichi.jp\":true,\"miyoshi.aichi.jp\":true,\"nishio.aichi.jp\":true,\"nisshin.aichi.jp\":true,\"obu.aichi.jp\":true,\"oguchi.aichi.jp\":true,\"oharu.aichi.jp\":true,\"okazaki.aichi.jp\":true,\"owariasahi.aichi.jp\":true,\"seto.aichi.jp\":true,\"shikatsu.aichi.jp\":true,\"shinshiro.aichi.jp\":true,\"shitara.aichi.jp\":true,\"tahara.aichi.jp\":true,\"takahama.aichi.jp\":true,\"tobishima.aichi.jp\":true,\"toei.aichi.jp\":true,\"togo.aichi.jp\":true,\"tokai.aichi.jp\":true,\"tokoname.aichi.jp\":true,\"toyoake.aichi.jp\":true,\"toyohashi.aichi.jp\":true,\"toyokawa.aichi.jp\":true,\"toyone.aichi.jp\":true,\"toyota.aichi.jp\":true,\"tsushima.aichi.jp\":true,\"yatomi.aichi.jp\":true,\"akita.akita.jp\":true,\"daisen.akita.jp\":true,\"fujisato.akita.jp\":true,\"gojome.akita.jp\":true,\"hachirogata.akita.jp\":true,\"happou.akita.jp\":true,\"higashinaruse.akita.jp\":true,\"honjo.akita.jp\":true,\"honjyo.akita.jp\":true,\"ikawa.akita.jp\":true,\"kamikoani.akita.jp\":true,\"kamioka.akita.jp\":true,\"katagami.akita.jp\":true,\"kazuno.akita.jp\":true,\"kitaakita.akita.jp\":true,\"kosaka.akita.jp\":true,\"kyowa.akita.jp\":true,\"misato.akita.jp\":true,\"mitane.akita.jp\":true,\"moriyoshi.akita.jp\":true,\"nikaho.akita.jp\":true,\"noshiro.akita.jp\":true,\"odate.akita.jp\":true,\"oga.akita.jp\":true,\"ogata.akita.jp\":true,\"semboku.akita.jp\":true,\"yokote.akita.jp\":true,\"yurihonjo.akita.jp\":true,\"aomori.aomori.jp\":true,\"gonohe.aomori.jp\":true,\"hachinohe.aomori.jp\":true,\"hashikami.aomori.jp\":true,\"hiranai.aomori.jp\":true,\"hirosaki.aomori.jp\":true,\"itayanagi.aomori.jp\":true,\"kuroishi.aomori.jp\":true,\"misawa.aomori.jp\":true,\"mutsu.aomori.jp\":true,\"nakadomari.aomori.jp\":true,\"noheji.aomori.jp\":true,\"oirase.aomori.jp\":true,\"owani.aomori.jp\":true,\"rokunohe.aomori.jp\":true,\"sannohe.aomori.jp\":true,\"shichinohe.aomori.jp\":true,\"shingo.aomori.jp\":true,\"takko.aomori.jp\":true,\"towada.aomori.jp\":true,\"tsugaru.aomori.jp\":true,\"tsuruta.aomori.jp\":true,\"abiko.chiba.jp\":true,\"asahi.chiba.jp\":true,\"chonan.chiba.jp\":true,\"chosei.chiba.jp\":true,\"choshi.chiba.jp\":true,\"chuo.chiba.jp\":true,\"funabashi.chiba.jp\":true,\"futtsu.chiba.jp\":true,\"hanamigawa.chiba.jp\":true,\"ichihara.chiba.jp\":true,\"ichikawa.chiba.jp\":true,\"ichinomiya.chiba.jp\":true,\"inzai.chiba.jp\":true,\"isumi.chiba.jp\":true,\"kamagaya.chiba.jp\":true,\"kamogawa.chiba.jp\":true,\"kashiwa.chiba.jp\":true,\"katori.chiba.jp\":true,\"katsuura.chiba.jp\":true,\"kimitsu.chiba.jp\":true,\"kisarazu.chiba.jp\":true,\"kozaki.chiba.jp\":true,\"kujukuri.chiba.jp\":true,\"kyonan.chiba.jp\":true,\"matsudo.chiba.jp\":true,\"midori.chiba.jp\":true,\"mihama.chiba.jp\":true,\"minamiboso.chiba.jp\":true,\"mobara.chiba.jp\":true,\"mutsuzawa.chiba.jp\":true,\"nagara.chiba.jp\":true,\"nagareyama.chiba.jp\":true,\"narashino.chiba.jp\":true,\"narita.chiba.jp\":true,\"noda.chiba.jp\":true,\"oamishirasato.chiba.jp\":true,\"omigawa.chiba.jp\":true,\"onjuku.chiba.jp\":true,\"otaki.chiba.jp\":true,\"sakae.chiba.jp\":true,\"sakura.chiba.jp\":true,\"shimofusa.chiba.jp\":true,\"shirako.chiba.jp\":true,\"shiroi.chiba.jp\":true,\"shisui.chiba.jp\":true,\"sodegaura.chiba.jp\":true,\"sosa.chiba.jp\":true,\"tako.chiba.jp\":true,\"tateyama.chiba.jp\":true,\"togane.chiba.jp\":true,\"tohnosho.chiba.jp\":true,\"tomisato.chiba.jp\":true,\"urayasu.chiba.jp\":true,\"yachimata.chiba.jp\":true,\"yachiyo.chiba.jp\":true,\"yokaichiba.chiba.jp\":true,\"yokoshibahikari.chiba.jp\":true,\"yotsukaido.chiba.jp\":true,\"ainan.ehime.jp\":true,\"honai.ehime.jp\":true,\"ikata.ehime.jp\":true,\"imabari.ehime.jp\":true,\"iyo.ehime.jp\":true,\"kamijima.ehime.jp\":true,\"kihoku.ehime.jp\":true,\"kumakogen.ehime.jp\":true,\"masaki.ehime.jp\":true,\"matsuno.ehime.jp\":true,\"matsuyama.ehime.jp\":true,\"namikata.ehime.jp\":true,\"niihama.ehime.jp\":true,\"ozu.ehime.jp\":true,\"saijo.ehime.jp\":true,\"seiyo.ehime.jp\":true,\"shikokuchuo.ehime.jp\":true,\"tobe.ehime.jp\":true,\"toon.ehime.jp\":true,\"uchiko.ehime.jp\":true,\"uwajima.ehime.jp\":true,\"yawatahama.ehime.jp\":true,\"echizen.fukui.jp\":true,\"eiheiji.fukui.jp\":true,\"fukui.fukui.jp\":true,\"ikeda.fukui.jp\":true,\"katsuyama.fukui.jp\":true,\"mihama.fukui.jp\":true,\"minamiechizen.fukui.jp\":true,\"obama.fukui.jp\":true,\"ohi.fukui.jp\":true,\"ono.fukui.jp\":true,\"sabae.fukui.jp\":true,\"sakai.fukui.jp\":true,\"takahama.fukui.jp\":true,\"tsuruga.fukui.jp\":true,\"wakasa.fukui.jp\":true,\"ashiya.fukuoka.jp\":true,\"buzen.fukuoka.jp\":true,\"chikugo.fukuoka.jp\":true,\"chikuho.fukuoka.jp\":true,\"chikujo.fukuoka.jp\":true,\"chikushino.fukuoka.jp\":true,\"chikuzen.fukuoka.jp\":true,\"chuo.fukuoka.jp\":true,\"dazaifu.fukuoka.jp\":true,\"fukuchi.fukuoka.jp\":true,\"hakata.fukuoka.jp\":true,\"higashi.fukuoka.jp\":true,\"hirokawa.fukuoka.jp\":true,\"hisayama.fukuoka.jp\":true,\"iizuka.fukuoka.jp\":true,\"inatsuki.fukuoka.jp\":true,\"kaho.fukuoka.jp\":true,\"kasuga.fukuoka.jp\":true,\"kasuya.fukuoka.jp\":true,\"kawara.fukuoka.jp\":true,\"keisen.fukuoka.jp\":true,\"koga.fukuoka.jp\":true,\"kurate.fukuoka.jp\":true,\"kurogi.fukuoka.jp\":true,\"kurume.fukuoka.jp\":true,\"minami.fukuoka.jp\":true,\"miyako.fukuoka.jp\":true,\"miyama.fukuoka.jp\":true,\"miyawaka.fukuoka.jp\":true,\"mizumaki.fukuoka.jp\":true,\"munakata.fukuoka.jp\":true,\"nakagawa.fukuoka.jp\":true,\"nakama.fukuoka.jp\":true,\"nishi.fukuoka.jp\":true,\"nogata.fukuoka.jp\":true,\"ogori.fukuoka.jp\":true,\"okagaki.fukuoka.jp\":true,\"okawa.fukuoka.jp\":true,\"oki.fukuoka.jp\":true,\"omuta.fukuoka.jp\":true,\"onga.fukuoka.jp\":true,\"onojo.fukuoka.jp\":true,\"oto.fukuoka.jp\":true,\"saigawa.fukuoka.jp\":true,\"sasaguri.fukuoka.jp\":true,\"shingu.fukuoka.jp\":true,\"shinyoshitomi.fukuoka.jp\":true,\"shonai.fukuoka.jp\":true,\"soeda.fukuoka.jp\":true,\"sue.fukuoka.jp\":true,\"tachiarai.fukuoka.jp\":true,\"tagawa.fukuoka.jp\":true,\"takata.fukuoka.jp\":true,\"toho.fukuoka.jp\":true,\"toyotsu.fukuoka.jp\":true,\"tsuiki.fukuoka.jp\":true,\"ukiha.fukuoka.jp\":true,\"umi.fukuoka.jp\":true,\"usui.fukuoka.jp\":true,\"yamada.fukuoka.jp\":true,\"yame.fukuoka.jp\":true,\"yanagawa.fukuoka.jp\":true,\"yukuhashi.fukuoka.jp\":true,\"aizubange.fukushima.jp\":true,\"aizumisato.fukushima.jp\":true,\"aizuwakamatsu.fukushima.jp\":true,\"asakawa.fukushima.jp\":true,\"bandai.fukushima.jp\":true,\"date.fukushima.jp\":true,\"fukushima.fukushima.jp\":true,\"furudono.fukushima.jp\":true,\"futaba.fukushima.jp\":true,\"hanawa.fukushima.jp\":true,\"higashi.fukushima.jp\":true,\"hirata.fukushima.jp\":true,\"hirono.fukushima.jp\":true,\"iitate.fukushima.jp\":true,\"inawashiro.fukushima.jp\":true,\"ishikawa.fukushima.jp\":true,\"iwaki.fukushima.jp\":true,\"izumizaki.fukushima.jp\":true,\"kagamiishi.fukushima.jp\":true,\"kaneyama.fukushima.jp\":true,\"kawamata.fukushima.jp\":true,\"kitakata.fukushima.jp\":true,\"kitashiobara.fukushima.jp\":true,\"koori.fukushima.jp\":true,\"koriyama.fukushima.jp\":true,\"kunimi.fukushima.jp\":true,\"miharu.fukushima.jp\":true,\"mishima.fukushima.jp\":true,\"namie.fukushima.jp\":true,\"nango.fukushima.jp\":true,\"nishiaizu.fukushima.jp\":true,\"nishigo.fukushima.jp\":true,\"okuma.fukushima.jp\":true,\"omotego.fukushima.jp\":true,\"ono.fukushima.jp\":true,\"otama.fukushima.jp\":true,\"samegawa.fukushima.jp\":true,\"shimogo.fukushima.jp\":true,\"shirakawa.fukushima.jp\":true,\"showa.fukushima.jp\":true,\"soma.fukushima.jp\":true,\"sukagawa.fukushima.jp\":true,\"taishin.fukushima.jp\":true,\"tamakawa.fukushima.jp\":true,\"tanagura.fukushima.jp\":true,\"tenei.fukushima.jp\":true,\"yabuki.fukushima.jp\":true,\"yamato.fukushima.jp\":true,\"yamatsuri.fukushima.jp\":true,\"yanaizu.fukushima.jp\":true,\"yugawa.fukushima.jp\":true,\"anpachi.gifu.jp\":true,\"ena.gifu.jp\":true,\"gifu.gifu.jp\":true,\"ginan.gifu.jp\":true,\"godo.gifu.jp\":true,\"gujo.gifu.jp\":true,\"hashima.gifu.jp\":true,\"hichiso.gifu.jp\":true,\"hida.gifu.jp\":true,\"higashishirakawa.gifu.jp\":true,\"ibigawa.gifu.jp\":true,\"ikeda.gifu.jp\":true,\"kakamigahara.gifu.jp\":true,\"kani.gifu.jp\":true,\"kasahara.gifu.jp\":true,\"kasamatsu.gifu.jp\":true,\"kawaue.gifu.jp\":true,\"kitagata.gifu.jp\":true,\"mino.gifu.jp\":true,\"minokamo.gifu.jp\":true,\"mitake.gifu.jp\":true,\"mizunami.gifu.jp\":true,\"motosu.gifu.jp\":true,\"nakatsugawa.gifu.jp\":true,\"ogaki.gifu.jp\":true,\"sakahogi.gifu.jp\":true,\"seki.gifu.jp\":true,\"sekigahara.gifu.jp\":true,\"shirakawa.gifu.jp\":true,\"tajimi.gifu.jp\":true,\"takayama.gifu.jp\":true,\"tarui.gifu.jp\":true,\"toki.gifu.jp\":true,\"tomika.gifu.jp\":true,\"wanouchi.gifu.jp\":true,\"yamagata.gifu.jp\":true,\"yaotsu.gifu.jp\":true,\"yoro.gifu.jp\":true,\"annaka.gunma.jp\":true,\"chiyoda.gunma.jp\":true,\"fujioka.gunma.jp\":true,\"higashiagatsuma.gunma.jp\":true,\"isesaki.gunma.jp\":true,\"itakura.gunma.jp\":true,\"kanna.gunma.jp\":true,\"kanra.gunma.jp\":true,\"katashina.gunma.jp\":true,\"kawaba.gunma.jp\":true,\"kiryu.gunma.jp\":true,\"kusatsu.gunma.jp\":true,\"maebashi.gunma.jp\":true,\"meiwa.gunma.jp\":true,\"midori.gunma.jp\":true,\"minakami.gunma.jp\":true,\"naganohara.gunma.jp\":true,\"nakanojo.gunma.jp\":true,\"nanmoku.gunma.jp\":true,\"numata.gunma.jp\":true,\"oizumi.gunma.jp\":true,\"ora.gunma.jp\":true,\"ota.gunma.jp\":true,\"shibukawa.gunma.jp\":true,\"shimonita.gunma.jp\":true,\"shinto.gunma.jp\":true,\"showa.gunma.jp\":true,\"takasaki.gunma.jp\":true,\"takayama.gunma.jp\":true,\"tamamura.gunma.jp\":true,\"tatebayashi.gunma.jp\":true,\"tomioka.gunma.jp\":true,\"tsukiyono.gunma.jp\":true,\"tsumagoi.gunma.jp\":true,\"ueno.gunma.jp\":true,\"yoshioka.gunma.jp\":true,\"asaminami.hiroshima.jp\":true,\"daiwa.hiroshima.jp\":true,\"etajima.hiroshima.jp\":true,\"fuchu.hiroshima.jp\":true,\"fukuyama.hiroshima.jp\":true,\"hatsukaichi.hiroshima.jp\":true,\"higashihiroshima.hiroshima.jp\":true,\"hongo.hiroshima.jp\":true,\"jinsekikogen.hiroshima.jp\":true,\"kaita.hiroshima.jp\":true,\"kui.hiroshima.jp\":true,\"kumano.hiroshima.jp\":true,\"kure.hiroshima.jp\":true,\"mihara.hiroshima.jp\":true,\"miyoshi.hiroshima.jp\":true,\"naka.hiroshima.jp\":true,\"onomichi.hiroshima.jp\":true,\"osakikamijima.hiroshima.jp\":true,\"otake.hiroshima.jp\":true,\"saka.hiroshima.jp\":true,\"sera.hiroshima.jp\":true,\"seranishi.hiroshima.jp\":true,\"shinichi.hiroshima.jp\":true,\"shobara.hiroshima.jp\":true,\"takehara.hiroshima.jp\":true,\"abashiri.hokkaido.jp\":true,\"abira.hokkaido.jp\":true,\"aibetsu.hokkaido.jp\":true,\"akabira.hokkaido.jp\":true,\"akkeshi.hokkaido.jp\":true,\"asahikawa.hokkaido.jp\":true,\"ashibetsu.hokkaido.jp\":true,\"ashoro.hokkaido.jp\":true,\"assabu.hokkaido.jp\":true,\"atsuma.hokkaido.jp\":true,\"bibai.hokkaido.jp\":true,\"biei.hokkaido.jp\":true,\"bifuka.hokkaido.jp\":true,\"bihoro.hokkaido.jp\":true,\"biratori.hokkaido.jp\":true,\"chippubetsu.hokkaido.jp\":true,\"chitose.hokkaido.jp\":true,\"date.hokkaido.jp\":true,\"ebetsu.hokkaido.jp\":true,\"embetsu.hokkaido.jp\":true,\"eniwa.hokkaido.jp\":true,\"erimo.hokkaido.jp\":true,\"esan.hokkaido.jp\":true,\"esashi.hokkaido.jp\":true,\"fukagawa.hokkaido.jp\":true,\"fukushima.hokkaido.jp\":true,\"furano.hokkaido.jp\":true,\"furubira.hokkaido.jp\":true,\"haboro.hokkaido.jp\":true,\"hakodate.hokkaido.jp\":true,\"hamatonbetsu.hokkaido.jp\":true,\"hidaka.hokkaido.jp\":true,\"higashikagura.hokkaido.jp\":true,\"higashikawa.hokkaido.jp\":true,\"hiroo.hokkaido.jp\":true,\"hokuryu.hokkaido.jp\":true,\"hokuto.hokkaido.jp\":true,\"honbetsu.hokkaido.jp\":true,\"horokanai.hokkaido.jp\":true,\"horonobe.hokkaido.jp\":true,\"ikeda.hokkaido.jp\":true,\"imakane.hokkaido.jp\":true,\"ishikari.hokkaido.jp\":true,\"iwamizawa.hokkaido.jp\":true,\"iwanai.hokkaido.jp\":true,\"kamifurano.hokkaido.jp\":true,\"kamikawa.hokkaido.jp\":true,\"kamishihoro.hokkaido.jp\":true,\"kamisunagawa.hokkaido.jp\":true,\"kamoenai.hokkaido.jp\":true,\"kayabe.hokkaido.jp\":true,\"kembuchi.hokkaido.jp\":true,\"kikonai.hokkaido.jp\":true,\"kimobetsu.hokkaido.jp\":true,\"kitahiroshima.hokkaido.jp\":true,\"kitami.hokkaido.jp\":true,\"kiyosato.hokkaido.jp\":true,\"koshimizu.hokkaido.jp\":true,\"kunneppu.hokkaido.jp\":true,\"kuriyama.hokkaido.jp\":true,\"kuromatsunai.hokkaido.jp\":true,\"kushiro.hokkaido.jp\":true,\"kutchan.hokkaido.jp\":true,\"kyowa.hokkaido.jp\":true,\"mashike.hokkaido.jp\":true,\"matsumae.hokkaido.jp\":true,\"mikasa.hokkaido.jp\":true,\"minamifurano.hokkaido.jp\":true,\"mombetsu.hokkaido.jp\":true,\"moseushi.hokkaido.jp\":true,\"mukawa.hokkaido.jp\":true,\"muroran.hokkaido.jp\":true,\"naie.hokkaido.jp\":true,\"nakagawa.hokkaido.jp\":true,\"nakasatsunai.hokkaido.jp\":true,\"nakatombetsu.hokkaido.jp\":true,\"nanae.hokkaido.jp\":true,\"nanporo.hokkaido.jp\":true,\"nayoro.hokkaido.jp\":true,\"nemuro.hokkaido.jp\":true,\"niikappu.hokkaido.jp\":true,\"niki.hokkaido.jp\":true,\"nishiokoppe.hokkaido.jp\":true,\"noboribetsu.hokkaido.jp\":true,\"numata.hokkaido.jp\":true,\"obihiro.hokkaido.jp\":true,\"obira.hokkaido.jp\":true,\"oketo.hokkaido.jp\":true,\"okoppe.hokkaido.jp\":true,\"otaru.hokkaido.jp\":true,\"otobe.hokkaido.jp\":true,\"otofuke.hokkaido.jp\":true,\"otoineppu.hokkaido.jp\":true,\"oumu.hokkaido.jp\":true,\"ozora.hokkaido.jp\":true,\"pippu.hokkaido.jp\":true,\"rankoshi.hokkaido.jp\":true,\"rebun.hokkaido.jp\":true,\"rikubetsu.hokkaido.jp\":true,\"rishiri.hokkaido.jp\":true,\"rishirifuji.hokkaido.jp\":true,\"saroma.hokkaido.jp\":true,\"sarufutsu.hokkaido.jp\":true,\"shakotan.hokkaido.jp\":true,\"shari.hokkaido.jp\":true,\"shibecha.hokkaido.jp\":true,\"shibetsu.hokkaido.jp\":true,\"shikabe.hokkaido.jp\":true,\"shikaoi.hokkaido.jp\":true,\"shimamaki.hokkaido.jp\":true,\"shimizu.hokkaido.jp\":true,\"shimokawa.hokkaido.jp\":true,\"shinshinotsu.hokkaido.jp\":true,\"shintoku.hokkaido.jp\":true,\"shiranuka.hokkaido.jp\":true,\"shiraoi.hokkaido.jp\":true,\"shiriuchi.hokkaido.jp\":true,\"sobetsu.hokkaido.jp\":true,\"sunagawa.hokkaido.jp\":true,\"taiki.hokkaido.jp\":true,\"takasu.hokkaido.jp\":true,\"takikawa.hokkaido.jp\":true,\"takinoue.hokkaido.jp\":true,\"teshikaga.hokkaido.jp\":true,\"tobetsu.hokkaido.jp\":true,\"tohma.hokkaido.jp\":true,\"tomakomai.hokkaido.jp\":true,\"tomari.hokkaido.jp\":true,\"toya.hokkaido.jp\":true,\"toyako.hokkaido.jp\":true,\"toyotomi.hokkaido.jp\":true,\"toyoura.hokkaido.jp\":true,\"tsubetsu.hokkaido.jp\":true,\"tsukigata.hokkaido.jp\":true,\"urakawa.hokkaido.jp\":true,\"urausu.hokkaido.jp\":true,\"uryu.hokkaido.jp\":true,\"utashinai.hokkaido.jp\":true,\"wakkanai.hokkaido.jp\":true,\"wassamu.hokkaido.jp\":true,\"yakumo.hokkaido.jp\":true,\"yoichi.hokkaido.jp\":true,\"aioi.hyogo.jp\":true,\"akashi.hyogo.jp\":true,\"ako.hyogo.jp\":true,\"amagasaki.hyogo.jp\":true,\"aogaki.hyogo.jp\":true,\"asago.hyogo.jp\":true,\"ashiya.hyogo.jp\":true,\"awaji.hyogo.jp\":true,\"fukusaki.hyogo.jp\":true,\"goshiki.hyogo.jp\":true,\"harima.hyogo.jp\":true,\"himeji.hyogo.jp\":true,\"ichikawa.hyogo.jp\":true,\"inagawa.hyogo.jp\":true,\"itami.hyogo.jp\":true,\"kakogawa.hyogo.jp\":true,\"kamigori.hyogo.jp\":true,\"kamikawa.hyogo.jp\":true,\"kasai.hyogo.jp\":true,\"kasuga.hyogo.jp\":true,\"kawanishi.hyogo.jp\":true,\"miki.hyogo.jp\":true,\"minamiawaji.hyogo.jp\":true,\"nishinomiya.hyogo.jp\":true,\"nishiwaki.hyogo.jp\":true,\"ono.hyogo.jp\":true,\"sanda.hyogo.jp\":true,\"sannan.hyogo.jp\":true,\"sasayama.hyogo.jp\":true,\"sayo.hyogo.jp\":true,\"shingu.hyogo.jp\":true,\"shinonsen.hyogo.jp\":true,\"shiso.hyogo.jp\":true,\"sumoto.hyogo.jp\":true,\"taishi.hyogo.jp\":true,\"taka.hyogo.jp\":true,\"takarazuka.hyogo.jp\":true,\"takasago.hyogo.jp\":true,\"takino.hyogo.jp\":true,\"tamba.hyogo.jp\":true,\"tatsuno.hyogo.jp\":true,\"toyooka.hyogo.jp\":true,\"yabu.hyogo.jp\":true,\"yashiro.hyogo.jp\":true,\"yoka.hyogo.jp\":true,\"yokawa.hyogo.jp\":true,\"ami.ibaraki.jp\":true,\"asahi.ibaraki.jp\":true,\"bando.ibaraki.jp\":true,\"chikusei.ibaraki.jp\":true,\"daigo.ibaraki.jp\":true,\"fujishiro.ibaraki.jp\":true,\"hitachi.ibaraki.jp\":true,\"hitachinaka.ibaraki.jp\":true,\"hitachiomiya.ibaraki.jp\":true,\"hitachiota.ibaraki.jp\":true,\"ibaraki.ibaraki.jp\":true,\"ina.ibaraki.jp\":true,\"inashiki.ibaraki.jp\":true,\"itako.ibaraki.jp\":true,\"iwama.ibaraki.jp\":true,\"joso.ibaraki.jp\":true,\"kamisu.ibaraki.jp\":true,\"kasama.ibaraki.jp\":true,\"kashima.ibaraki.jp\":true,\"kasumigaura.ibaraki.jp\":true,\"koga.ibaraki.jp\":true,\"miho.ibaraki.jp\":true,\"mito.ibaraki.jp\":true,\"moriya.ibaraki.jp\":true,\"naka.ibaraki.jp\":true,\"namegata.ibaraki.jp\":true,\"oarai.ibaraki.jp\":true,\"ogawa.ibaraki.jp\":true,\"omitama.ibaraki.jp\":true,\"ryugasaki.ibaraki.jp\":true,\"sakai.ibaraki.jp\":true,\"sakuragawa.ibaraki.jp\":true,\"shimodate.ibaraki.jp\":true,\"shimotsuma.ibaraki.jp\":true,\"shirosato.ibaraki.jp\":true,\"sowa.ibaraki.jp\":true,\"suifu.ibaraki.jp\":true,\"takahagi.ibaraki.jp\":true,\"tamatsukuri.ibaraki.jp\":true,\"tokai.ibaraki.jp\":true,\"tomobe.ibaraki.jp\":true,\"tone.ibaraki.jp\":true,\"toride.ibaraki.jp\":true,\"tsuchiura.ibaraki.jp\":true,\"tsukuba.ibaraki.jp\":true,\"uchihara.ibaraki.jp\":true,\"ushiku.ibaraki.jp\":true,\"yachiyo.ibaraki.jp\":true,\"yamagata.ibaraki.jp\":true,\"yawara.ibaraki.jp\":true,\"yuki.ibaraki.jp\":true,\"anamizu.ishikawa.jp\":true,\"hakui.ishikawa.jp\":true,\"hakusan.ishikawa.jp\":true,\"kaga.ishikawa.jp\":true,\"kahoku.ishikawa.jp\":true,\"kanazawa.ishikawa.jp\":true,\"kawakita.ishikawa.jp\":true,\"komatsu.ishikawa.jp\":true,\"nakanoto.ishikawa.jp\":true,\"nanao.ishikawa.jp\":true,\"nomi.ishikawa.jp\":true,\"nonoichi.ishikawa.jp\":true,\"noto.ishikawa.jp\":true,\"shika.ishikawa.jp\":true,\"suzu.ishikawa.jp\":true,\"tsubata.ishikawa.jp\":true,\"tsurugi.ishikawa.jp\":true,\"uchinada.ishikawa.jp\":true,\"wajima.ishikawa.jp\":true,\"fudai.iwate.jp\":true,\"fujisawa.iwate.jp\":true,\"hanamaki.iwate.jp\":true,\"hiraizumi.iwate.jp\":true,\"hirono.iwate.jp\":true,\"ichinohe.iwate.jp\":true,\"ichinoseki.iwate.jp\":true,\"iwaizumi.iwate.jp\":true,\"iwate.iwate.jp\":true,\"joboji.iwate.jp\":true,\"kamaishi.iwate.jp\":true,\"kanegasaki.iwate.jp\":true,\"karumai.iwate.jp\":true,\"kawai.iwate.jp\":true,\"kitakami.iwate.jp\":true,\"kuji.iwate.jp\":true,\"kunohe.iwate.jp\":true,\"kuzumaki.iwate.jp\":true,\"miyako.iwate.jp\":true,\"mizusawa.iwate.jp\":true,\"morioka.iwate.jp\":true,\"ninohe.iwate.jp\":true,\"noda.iwate.jp\":true,\"ofunato.iwate.jp\":true,\"oshu.iwate.jp\":true,\"otsuchi.iwate.jp\":true,\"rikuzentakata.iwate.jp\":true,\"shiwa.iwate.jp\":true,\"shizukuishi.iwate.jp\":true,\"sumita.iwate.jp\":true,\"tanohata.iwate.jp\":true,\"tono.iwate.jp\":true,\"yahaba.iwate.jp\":true,\"yamada.iwate.jp\":true,\"ayagawa.kagawa.jp\":true,\"higashikagawa.kagawa.jp\":true,\"kanonji.kagawa.jp\":true,\"kotohira.kagawa.jp\":true,\"manno.kagawa.jp\":true,\"marugame.kagawa.jp\":true,\"mitoyo.kagawa.jp\":true,\"naoshima.kagawa.jp\":true,\"sanuki.kagawa.jp\":true,\"tadotsu.kagawa.jp\":true,\"takamatsu.kagawa.jp\":true,\"tonosho.kagawa.jp\":true,\"uchinomi.kagawa.jp\":true,\"utazu.kagawa.jp\":true,\"zentsuji.kagawa.jp\":true,\"akune.kagoshima.jp\":true,\"amami.kagoshima.jp\":true,\"hioki.kagoshima.jp\":true,\"isa.kagoshima.jp\":true,\"isen.kagoshima.jp\":true,\"izumi.kagoshima.jp\":true,\"kagoshima.kagoshima.jp\":true,\"kanoya.kagoshima.jp\":true,\"kawanabe.kagoshima.jp\":true,\"kinko.kagoshima.jp\":true,\"kouyama.kagoshima.jp\":true,\"makurazaki.kagoshima.jp\":true,\"matsumoto.kagoshima.jp\":true,\"minamitane.kagoshima.jp\":true,\"nakatane.kagoshima.jp\":true,\"nishinoomote.kagoshima.jp\":true,\"satsumasendai.kagoshima.jp\":true,\"soo.kagoshima.jp\":true,\"tarumizu.kagoshima.jp\":true,\"yusui.kagoshima.jp\":true,\"aikawa.kanagawa.jp\":true,\"atsugi.kanagawa.jp\":true,\"ayase.kanagawa.jp\":true,\"chigasaki.kanagawa.jp\":true,\"ebina.kanagawa.jp\":true,\"fujisawa.kanagawa.jp\":true,\"hadano.kanagawa.jp\":true,\"hakone.kanagawa.jp\":true,\"hiratsuka.kanagawa.jp\":true,\"isehara.kanagawa.jp\":true,\"kaisei.kanagawa.jp\":true,\"kamakura.kanagawa.jp\":true,\"kiyokawa.kanagawa.jp\":true,\"matsuda.kanagawa.jp\":true,\"minamiashigara.kanagawa.jp\":true,\"miura.kanagawa.jp\":true,\"nakai.kanagawa.jp\":true,\"ninomiya.kanagawa.jp\":true,\"odawara.kanagawa.jp\":true,\"oi.kanagawa.jp\":true,\"oiso.kanagawa.jp\":true,\"sagamihara.kanagawa.jp\":true,\"samukawa.kanagawa.jp\":true,\"tsukui.kanagawa.jp\":true,\"yamakita.kanagawa.jp\":true,\"yamato.kanagawa.jp\":true,\"yokosuka.kanagawa.jp\":true,\"yugawara.kanagawa.jp\":true,\"zama.kanagawa.jp\":true,\"zushi.kanagawa.jp\":true,\"aki.kochi.jp\":true,\"geisei.kochi.jp\":true,\"hidaka.kochi.jp\":true,\"higashitsuno.kochi.jp\":true,\"ino.kochi.jp\":true,\"kagami.kochi.jp\":true,\"kami.kochi.jp\":true,\"kitagawa.kochi.jp\":true,\"kochi.kochi.jp\":true,\"mihara.kochi.jp\":true,\"motoyama.kochi.jp\":true,\"muroto.kochi.jp\":true,\"nahari.kochi.jp\":true,\"nakamura.kochi.jp\":true,\"nankoku.kochi.jp\":true,\"nishitosa.kochi.jp\":true,\"niyodogawa.kochi.jp\":true,\"ochi.kochi.jp\":true,\"okawa.kochi.jp\":true,\"otoyo.kochi.jp\":true,\"otsuki.kochi.jp\":true,\"sakawa.kochi.jp\":true,\"sukumo.kochi.jp\":true,\"susaki.kochi.jp\":true,\"tosa.kochi.jp\":true,\"tosashimizu.kochi.jp\":true,\"toyo.kochi.jp\":true,\"tsuno.kochi.jp\":true,\"umaji.kochi.jp\":true,\"yasuda.kochi.jp\":true,\"yusuhara.kochi.jp\":true,\"amakusa.kumamoto.jp\":true,\"arao.kumamoto.jp\":true,\"aso.kumamoto.jp\":true,\"choyo.kumamoto.jp\":true,\"gyokuto.kumamoto.jp\":true,\"hitoyoshi.kumamoto.jp\":true,\"kamiamakusa.kumamoto.jp\":true,\"kashima.kumamoto.jp\":true,\"kikuchi.kumamoto.jp\":true,\"kosa.kumamoto.jp\":true,\"kumamoto.kumamoto.jp\":true,\"mashiki.kumamoto.jp\":true,\"mifune.kumamoto.jp\":true,\"minamata.kumamoto.jp\":true,\"minamioguni.kumamoto.jp\":true,\"nagasu.kumamoto.jp\":true,\"nishihara.kumamoto.jp\":true,\"oguni.kumamoto.jp\":true,\"ozu.kumamoto.jp\":true,\"sumoto.kumamoto.jp\":true,\"takamori.kumamoto.jp\":true,\"uki.kumamoto.jp\":true,\"uto.kumamoto.jp\":true,\"yamaga.kumamoto.jp\":true,\"yamato.kumamoto.jp\":true,\"yatsushiro.kumamoto.jp\":true,\"ayabe.kyoto.jp\":true,\"fukuchiyama.kyoto.jp\":true,\"higashiyama.kyoto.jp\":true,\"ide.kyoto.jp\":true,\"ine.kyoto.jp\":true,\"joyo.kyoto.jp\":true,\"kameoka.kyoto.jp\":true,\"kamo.kyoto.jp\":true,\"kita.kyoto.jp\":true,\"kizu.kyoto.jp\":true,\"kumiyama.kyoto.jp\":true,\"kyotamba.kyoto.jp\":true,\"kyotanabe.kyoto.jp\":true,\"kyotango.kyoto.jp\":true,\"maizuru.kyoto.jp\":true,\"minami.kyoto.jp\":true,\"minamiyamashiro.kyoto.jp\":true,\"miyazu.kyoto.jp\":true,\"muko.kyoto.jp\":true,\"nagaokakyo.kyoto.jp\":true,\"nakagyo.kyoto.jp\":true,\"nantan.kyoto.jp\":true,\"oyamazaki.kyoto.jp\":true,\"sakyo.kyoto.jp\":true,\"seika.kyoto.jp\":true,\"tanabe.kyoto.jp\":true,\"uji.kyoto.jp\":true,\"ujitawara.kyoto.jp\":true,\"wazuka.kyoto.jp\":true,\"yamashina.kyoto.jp\":true,\"yawata.kyoto.jp\":true,\"asahi.mie.jp\":true,\"inabe.mie.jp\":true,\"ise.mie.jp\":true,\"kameyama.mie.jp\":true,\"kawagoe.mie.jp\":true,\"kiho.mie.jp\":true,\"kisosaki.mie.jp\":true,\"kiwa.mie.jp\":true,\"komono.mie.jp\":true,\"kumano.mie.jp\":true,\"kuwana.mie.jp\":true,\"matsusaka.mie.jp\":true,\"meiwa.mie.jp\":true,\"mihama.mie.jp\":true,\"minamiise.mie.jp\":true,\"misugi.mie.jp\":true,\"miyama.mie.jp\":true,\"nabari.mie.jp\":true,\"shima.mie.jp\":true,\"suzuka.mie.jp\":true,\"tado.mie.jp\":true,\"taiki.mie.jp\":true,\"taki.mie.jp\":true,\"tamaki.mie.jp\":true,\"toba.mie.jp\":true,\"tsu.mie.jp\":true,\"udono.mie.jp\":true,\"ureshino.mie.jp\":true,\"watarai.mie.jp\":true,\"yokkaichi.mie.jp\":true,\"furukawa.miyagi.jp\":true,\"higashimatsushima.miyagi.jp\":true,\"ishinomaki.miyagi.jp\":true,\"iwanuma.miyagi.jp\":true,\"kakuda.miyagi.jp\":true,\"kami.miyagi.jp\":true,\"kawasaki.miyagi.jp\":true,\"kesennuma.miyagi.jp\":true,\"marumori.miyagi.jp\":true,\"matsushima.miyagi.jp\":true,\"minamisanriku.miyagi.jp\":true,\"misato.miyagi.jp\":true,\"murata.miyagi.jp\":true,\"natori.miyagi.jp\":true,\"ogawara.miyagi.jp\":true,\"ohira.miyagi.jp\":true,\"onagawa.miyagi.jp\":true,\"osaki.miyagi.jp\":true,\"rifu.miyagi.jp\":true,\"semine.miyagi.jp\":true,\"shibata.miyagi.jp\":true,\"shichikashuku.miyagi.jp\":true,\"shikama.miyagi.jp\":true,\"shiogama.miyagi.jp\":true,\"shiroishi.miyagi.jp\":true,\"tagajo.miyagi.jp\":true,\"taiwa.miyagi.jp\":true,\"tome.miyagi.jp\":true,\"tomiya.miyagi.jp\":true,\"wakuya.miyagi.jp\":true,\"watari.miyagi.jp\":true,\"yamamoto.miyagi.jp\":true,\"zao.miyagi.jp\":true,\"aya.miyazaki.jp\":true,\"ebino.miyazaki.jp\":true,\"gokase.miyazaki.jp\":true,\"hyuga.miyazaki.jp\":true,\"kadogawa.miyazaki.jp\":true,\"kawaminami.miyazaki.jp\":true,\"kijo.miyazaki.jp\":true,\"kitagawa.miyazaki.jp\":true,\"kitakata.miyazaki.jp\":true,\"kitaura.miyazaki.jp\":true,\"kobayashi.miyazaki.jp\":true,\"kunitomi.miyazaki.jp\":true,\"kushima.miyazaki.jp\":true,\"mimata.miyazaki.jp\":true,\"miyakonojo.miyazaki.jp\":true,\"miyazaki.miyazaki.jp\":true,\"morotsuka.miyazaki.jp\":true,\"nichinan.miyazaki.jp\":true,\"nishimera.miyazaki.jp\":true,\"nobeoka.miyazaki.jp\":true,\"saito.miyazaki.jp\":true,\"shiiba.miyazaki.jp\":true,\"shintomi.miyazaki.jp\":true,\"takaharu.miyazaki.jp\":true,\"takanabe.miyazaki.jp\":true,\"takazaki.miyazaki.jp\":true,\"tsuno.miyazaki.jp\":true,\"achi.nagano.jp\":true,\"agematsu.nagano.jp\":true,\"anan.nagano.jp\":true,\"aoki.nagano.jp\":true,\"asahi.nagano.jp\":true,\"azumino.nagano.jp\":true,\"chikuhoku.nagano.jp\":true,\"chikuma.nagano.jp\":true,\"chino.nagano.jp\":true,\"fujimi.nagano.jp\":true,\"hakuba.nagano.jp\":true,\"hara.nagano.jp\":true,\"hiraya.nagano.jp\":true,\"iida.nagano.jp\":true,\"iijima.nagano.jp\":true,\"iiyama.nagano.jp\":true,\"iizuna.nagano.jp\":true,\"ikeda.nagano.jp\":true,\"ikusaka.nagano.jp\":true,\"ina.nagano.jp\":true,\"karuizawa.nagano.jp\":true,\"kawakami.nagano.jp\":true,\"kiso.nagano.jp\":true,\"kisofukushima.nagano.jp\":true,\"kitaaiki.nagano.jp\":true,\"komagane.nagano.jp\":true,\"komoro.nagano.jp\":true,\"matsukawa.nagano.jp\":true,\"matsumoto.nagano.jp\":true,\"miasa.nagano.jp\":true,\"minamiaiki.nagano.jp\":true,\"minamimaki.nagano.jp\":true,\"minamiminowa.nagano.jp\":true,\"minowa.nagano.jp\":true,\"miyada.nagano.jp\":true,\"miyota.nagano.jp\":true,\"mochizuki.nagano.jp\":true,\"nagano.nagano.jp\":true,\"nagawa.nagano.jp\":true,\"nagiso.nagano.jp\":true,\"nakagawa.nagano.jp\":true,\"nakano.nagano.jp\":true,\"nozawaonsen.nagano.jp\":true,\"obuse.nagano.jp\":true,\"ogawa.nagano.jp\":true,\"okaya.nagano.jp\":true,\"omachi.nagano.jp\":true,\"omi.nagano.jp\":true,\"ookuwa.nagano.jp\":true,\"ooshika.nagano.jp\":true,\"otaki.nagano.jp\":true,\"otari.nagano.jp\":true,\"sakae.nagano.jp\":true,\"sakaki.nagano.jp\":true,\"saku.nagano.jp\":true,\"sakuho.nagano.jp\":true,\"shimosuwa.nagano.jp\":true,\"shinanomachi.nagano.jp\":true,\"shiojiri.nagano.jp\":true,\"suwa.nagano.jp\":true,\"suzaka.nagano.jp\":true,\"takagi.nagano.jp\":true,\"takamori.nagano.jp\":true,\"takayama.nagano.jp\":true,\"tateshina.nagano.jp\":true,\"tatsuno.nagano.jp\":true,\"togakushi.nagano.jp\":true,\"togura.nagano.jp\":true,\"tomi.nagano.jp\":true,\"ueda.nagano.jp\":true,\"wada.nagano.jp\":true,\"yamagata.nagano.jp\":true,\"yamanouchi.nagano.jp\":true,\"yasaka.nagano.jp\":true,\"yasuoka.nagano.jp\":true,\"chijiwa.nagasaki.jp\":true,\"futsu.nagasaki.jp\":true,\"goto.nagasaki.jp\":true,\"hasami.nagasaki.jp\":true,\"hirado.nagasaki.jp\":true,\"iki.nagasaki.jp\":true,\"isahaya.nagasaki.jp\":true,\"kawatana.nagasaki.jp\":true,\"kuchinotsu.nagasaki.jp\":true,\"matsuura.nagasaki.jp\":true,\"nagasaki.nagasaki.jp\":true,\"obama.nagasaki.jp\":true,\"omura.nagasaki.jp\":true,\"oseto.nagasaki.jp\":true,\"saikai.nagasaki.jp\":true,\"sasebo.nagasaki.jp\":true,\"seihi.nagasaki.jp\":true,\"shimabara.nagasaki.jp\":true,\"shinkamigoto.nagasaki.jp\":true,\"togitsu.nagasaki.jp\":true,\"tsushima.nagasaki.jp\":true,\"unzen.nagasaki.jp\":true,\"ando.nara.jp\":true,\"gose.nara.jp\":true,\"heguri.nara.jp\":true,\"higashiyoshino.nara.jp\":true,\"ikaruga.nara.jp\":true,\"ikoma.nara.jp\":true,\"kamikitayama.nara.jp\":true,\"kanmaki.nara.jp\":true,\"kashiba.nara.jp\":true,\"kashihara.nara.jp\":true,\"katsuragi.nara.jp\":true,\"kawai.nara.jp\":true,\"kawakami.nara.jp\":true,\"kawanishi.nara.jp\":true,\"koryo.nara.jp\":true,\"kurotaki.nara.jp\":true,\"mitsue.nara.jp\":true,\"miyake.nara.jp\":true,\"nara.nara.jp\":true,\"nosegawa.nara.jp\":true,\"oji.nara.jp\":true,\"ouda.nara.jp\":true,\"oyodo.nara.jp\":true,\"sakurai.nara.jp\":true,\"sango.nara.jp\":true,\"shimoichi.nara.jp\":true,\"shimokitayama.nara.jp\":true,\"shinjo.nara.jp\":true,\"soni.nara.jp\":true,\"takatori.nara.jp\":true,\"tawaramoto.nara.jp\":true,\"tenkawa.nara.jp\":true,\"tenri.nara.jp\":true,\"uda.nara.jp\":true,\"yamatokoriyama.nara.jp\":true,\"yamatotakada.nara.jp\":true,\"yamazoe.nara.jp\":true,\"yoshino.nara.jp\":true,\"aga.niigata.jp\":true,\"agano.niigata.jp\":true,\"gosen.niigata.jp\":true,\"itoigawa.niigata.jp\":true,\"izumozaki.niigata.jp\":true,\"joetsu.niigata.jp\":true,\"kamo.niigata.jp\":true,\"kariwa.niigata.jp\":true,\"kashiwazaki.niigata.jp\":true,\"minamiuonuma.niigata.jp\":true,\"mitsuke.niigata.jp\":true,\"muika.niigata.jp\":true,\"murakami.niigata.jp\":true,\"myoko.niigata.jp\":true,\"nagaoka.niigata.jp\":true,\"niigata.niigata.jp\":true,\"ojiya.niigata.jp\":true,\"omi.niigata.jp\":true,\"sado.niigata.jp\":true,\"sanjo.niigata.jp\":true,\"seiro.niigata.jp\":true,\"seirou.niigata.jp\":true,\"sekikawa.niigata.jp\":true,\"shibata.niigata.jp\":true,\"tagami.niigata.jp\":true,\"tainai.niigata.jp\":true,\"tochio.niigata.jp\":true,\"tokamachi.niigata.jp\":true,\"tsubame.niigata.jp\":true,\"tsunan.niigata.jp\":true,\"uonuma.niigata.jp\":true,\"yahiko.niigata.jp\":true,\"yoita.niigata.jp\":true,\"yuzawa.niigata.jp\":true,\"beppu.oita.jp\":true,\"bungoono.oita.jp\":true,\"bungotakada.oita.jp\":true,\"hasama.oita.jp\":true,\"hiji.oita.jp\":true,\"himeshima.oita.jp\":true,\"hita.oita.jp\":true,\"kamitsue.oita.jp\":true,\"kokonoe.oita.jp\":true,\"kuju.oita.jp\":true,\"kunisaki.oita.jp\":true,\"kusu.oita.jp\":true,\"oita.oita.jp\":true,\"saiki.oita.jp\":true,\"taketa.oita.jp\":true,\"tsukumi.oita.jp\":true,\"usa.oita.jp\":true,\"usuki.oita.jp\":true,\"yufu.oita.jp\":true,\"akaiwa.okayama.jp\":true,\"asakuchi.okayama.jp\":true,\"bizen.okayama.jp\":true,\"hayashima.okayama.jp\":true,\"ibara.okayama.jp\":true,\"kagamino.okayama.jp\":true,\"kasaoka.okayama.jp\":true,\"kibichuo.okayama.jp\":true,\"kumenan.okayama.jp\":true,\"kurashiki.okayama.jp\":true,\"maniwa.okayama.jp\":true,\"misaki.okayama.jp\":true,\"nagi.okayama.jp\":true,\"niimi.okayama.jp\":true,\"nishiawakura.okayama.jp\":true,\"okayama.okayama.jp\":true,\"satosho.okayama.jp\":true,\"setouchi.okayama.jp\":true,\"shinjo.okayama.jp\":true,\"shoo.okayama.jp\":true,\"soja.okayama.jp\":true,\"takahashi.okayama.jp\":true,\"tamano.okayama.jp\":true,\"tsuyama.okayama.jp\":true,\"wake.okayama.jp\":true,\"yakage.okayama.jp\":true,\"aguni.okinawa.jp\":true,\"ginowan.okinawa.jp\":true,\"ginoza.okinawa.jp\":true,\"gushikami.okinawa.jp\":true,\"haebaru.okinawa.jp\":true,\"higashi.okinawa.jp\":true,\"hirara.okinawa.jp\":true,\"iheya.okinawa.jp\":true,\"ishigaki.okinawa.jp\":true,\"ishikawa.okinawa.jp\":true,\"itoman.okinawa.jp\":true,\"izena.okinawa.jp\":true,\"kadena.okinawa.jp\":true,\"kin.okinawa.jp\":true,\"kitadaito.okinawa.jp\":true,\"kitanakagusuku.okinawa.jp\":true,\"kumejima.okinawa.jp\":true,\"kunigami.okinawa.jp\":true,\"minamidaito.okinawa.jp\":true,\"motobu.okinawa.jp\":true,\"nago.okinawa.jp\":true,\"naha.okinawa.jp\":true,\"nakagusuku.okinawa.jp\":true,\"nakijin.okinawa.jp\":true,\"nanjo.okinawa.jp\":true,\"nishihara.okinawa.jp\":true,\"ogimi.okinawa.jp\":true,\"okinawa.okinawa.jp\":true,\"onna.okinawa.jp\":true,\"shimoji.okinawa.jp\":true,\"taketomi.okinawa.jp\":true,\"tarama.okinawa.jp\":true,\"tokashiki.okinawa.jp\":true,\"tomigusuku.okinawa.jp\":true,\"tonaki.okinawa.jp\":true,\"urasoe.okinawa.jp\":true,\"uruma.okinawa.jp\":true,\"yaese.okinawa.jp\":true,\"yomitan.okinawa.jp\":true,\"yonabaru.okinawa.jp\":true,\"yonaguni.okinawa.jp\":true,\"zamami.okinawa.jp\":true,\"abeno.osaka.jp\":true,\"chihayaakasaka.osaka.jp\":true,\"chuo.osaka.jp\":true,\"daito.osaka.jp\":true,\"fujiidera.osaka.jp\":true,\"habikino.osaka.jp\":true,\"hannan.osaka.jp\":true,\"higashiosaka.osaka.jp\":true,\"higashisumiyoshi.osaka.jp\":true,\"higashiyodogawa.osaka.jp\":true,\"hirakata.osaka.jp\":true,\"ibaraki.osaka.jp\":true,\"ikeda.osaka.jp\":true,\"izumi.osaka.jp\":true,\"izumiotsu.osaka.jp\":true,\"izumisano.osaka.jp\":true,\"kadoma.osaka.jp\":true,\"kaizuka.osaka.jp\":true,\"kanan.osaka.jp\":true,\"kashiwara.osaka.jp\":true,\"katano.osaka.jp\":true,\"kawachinagano.osaka.jp\":true,\"kishiwada.osaka.jp\":true,\"kita.osaka.jp\":true,\"kumatori.osaka.jp\":true,\"matsubara.osaka.jp\":true,\"minato.osaka.jp\":true,\"minoh.osaka.jp\":true,\"misaki.osaka.jp\":true,\"moriguchi.osaka.jp\":true,\"neyagawa.osaka.jp\":true,\"nishi.osaka.jp\":true,\"nose.osaka.jp\":true,\"osakasayama.osaka.jp\":true,\"sakai.osaka.jp\":true,\"sayama.osaka.jp\":true,\"sennan.osaka.jp\":true,\"settsu.osaka.jp\":true,\"shijonawate.osaka.jp\":true,\"shimamoto.osaka.jp\":true,\"suita.osaka.jp\":true,\"tadaoka.osaka.jp\":true,\"taishi.osaka.jp\":true,\"tajiri.osaka.jp\":true,\"takaishi.osaka.jp\":true,\"takatsuki.osaka.jp\":true,\"tondabayashi.osaka.jp\":true,\"toyonaka.osaka.jp\":true,\"toyono.osaka.jp\":true,\"yao.osaka.jp\":true,\"ariake.saga.jp\":true,\"arita.saga.jp\":true,\"fukudomi.saga.jp\":true,\"genkai.saga.jp\":true,\"hamatama.saga.jp\":true,\"hizen.saga.jp\":true,\"imari.saga.jp\":true,\"kamimine.saga.jp\":true,\"kanzaki.saga.jp\":true,\"karatsu.saga.jp\":true,\"kashima.saga.jp\":true,\"kitagata.saga.jp\":true,\"kitahata.saga.jp\":true,\"kiyama.saga.jp\":true,\"kouhoku.saga.jp\":true,\"kyuragi.saga.jp\":true,\"nishiarita.saga.jp\":true,\"ogi.saga.jp\":true,\"omachi.saga.jp\":true,\"ouchi.saga.jp\":true,\"saga.saga.jp\":true,\"shiroishi.saga.jp\":true,\"taku.saga.jp\":true,\"tara.saga.jp\":true,\"tosu.saga.jp\":true,\"yoshinogari.saga.jp\":true,\"arakawa.saitama.jp\":true,\"asaka.saitama.jp\":true,\"chichibu.saitama.jp\":true,\"fujimi.saitama.jp\":true,\"fujimino.saitama.jp\":true,\"fukaya.saitama.jp\":true,\"hanno.saitama.jp\":true,\"hanyu.saitama.jp\":true,\"hasuda.saitama.jp\":true,\"hatogaya.saitama.jp\":true,\"hatoyama.saitama.jp\":true,\"hidaka.saitama.jp\":true,\"higashichichibu.saitama.jp\":true,\"higashimatsuyama.saitama.jp\":true,\"honjo.saitama.jp\":true,\"ina.saitama.jp\":true,\"iruma.saitama.jp\":true,\"iwatsuki.saitama.jp\":true,\"kamiizumi.saitama.jp\":true,\"kamikawa.saitama.jp\":true,\"kamisato.saitama.jp\":true,\"kasukabe.saitama.jp\":true,\"kawagoe.saitama.jp\":true,\"kawaguchi.saitama.jp\":true,\"kawajima.saitama.jp\":true,\"kazo.saitama.jp\":true,\"kitamoto.saitama.jp\":true,\"koshigaya.saitama.jp\":true,\"kounosu.saitama.jp\":true,\"kuki.saitama.jp\":true,\"kumagaya.saitama.jp\":true,\"matsubushi.saitama.jp\":true,\"minano.saitama.jp\":true,\"misato.saitama.jp\":true,\"miyashiro.saitama.jp\":true,\"miyoshi.saitama.jp\":true,\"moroyama.saitama.jp\":true,\"nagatoro.saitama.jp\":true,\"namegawa.saitama.jp\":true,\"niiza.saitama.jp\":true,\"ogano.saitama.jp\":true,\"ogawa.saitama.jp\":true,\"ogose.saitama.jp\":true,\"okegawa.saitama.jp\":true,\"omiya.saitama.jp\":true,\"otaki.saitama.jp\":true,\"ranzan.saitama.jp\":true,\"ryokami.saitama.jp\":true,\"saitama.saitama.jp\":true,\"sakado.saitama.jp\":true,\"satte.saitama.jp\":true,\"sayama.saitama.jp\":true,\"shiki.saitama.jp\":true,\"shiraoka.saitama.jp\":true,\"soka.saitama.jp\":true,\"sugito.saitama.jp\":true,\"toda.saitama.jp\":true,\"tokigawa.saitama.jp\":true,\"tokorozawa.saitama.jp\":true,\"tsurugashima.saitama.jp\":true,\"urawa.saitama.jp\":true,\"warabi.saitama.jp\":true,\"yashio.saitama.jp\":true,\"yokoze.saitama.jp\":true,\"yono.saitama.jp\":true,\"yorii.saitama.jp\":true,\"yoshida.saitama.jp\":true,\"yoshikawa.saitama.jp\":true,\"yoshimi.saitama.jp\":true,\"aisho.shiga.jp\":true,\"gamo.shiga.jp\":true,\"higashiomi.shiga.jp\":true,\"hikone.shiga.jp\":true,\"koka.shiga.jp\":true,\"konan.shiga.jp\":true,\"kosei.shiga.jp\":true,\"koto.shiga.jp\":true,\"kusatsu.shiga.jp\":true,\"maibara.shiga.jp\":true,\"moriyama.shiga.jp\":true,\"nagahama.shiga.jp\":true,\"nishiazai.shiga.jp\":true,\"notogawa.shiga.jp\":true,\"omihachiman.shiga.jp\":true,\"otsu.shiga.jp\":true,\"ritto.shiga.jp\":true,\"ryuoh.shiga.jp\":true,\"takashima.shiga.jp\":true,\"takatsuki.shiga.jp\":true,\"torahime.shiga.jp\":true,\"toyosato.shiga.jp\":true,\"yasu.shiga.jp\":true,\"akagi.shimane.jp\":true,\"ama.shimane.jp\":true,\"gotsu.shimane.jp\":true,\"hamada.shimane.jp\":true,\"higashiizumo.shimane.jp\":true,\"hikawa.shimane.jp\":true,\"hikimi.shimane.jp\":true,\"izumo.shimane.jp\":true,\"kakinoki.shimane.jp\":true,\"masuda.shimane.jp\":true,\"matsue.shimane.jp\":true,\"misato.shimane.jp\":true,\"nishinoshima.shimane.jp\":true,\"ohda.shimane.jp\":true,\"okinoshima.shimane.jp\":true,\"okuizumo.shimane.jp\":true,\"shimane.shimane.jp\":true,\"tamayu.shimane.jp\":true,\"tsuwano.shimane.jp\":true,\"unnan.shimane.jp\":true,\"yakumo.shimane.jp\":true,\"yasugi.shimane.jp\":true,\"yatsuka.shimane.jp\":true,\"arai.shizuoka.jp\":true,\"atami.shizuoka.jp\":true,\"fuji.shizuoka.jp\":true,\"fujieda.shizuoka.jp\":true,\"fujikawa.shizuoka.jp\":true,\"fujinomiya.shizuoka.jp\":true,\"fukuroi.shizuoka.jp\":true,\"gotemba.shizuoka.jp\":true,\"haibara.shizuoka.jp\":true,\"hamamatsu.shizuoka.jp\":true,\"higashiizu.shizuoka.jp\":true,\"ito.shizuoka.jp\":true,\"iwata.shizuoka.jp\":true,\"izu.shizuoka.jp\":true,\"izunokuni.shizuoka.jp\":true,\"kakegawa.shizuoka.jp\":true,\"kannami.shizuoka.jp\":true,\"kawanehon.shizuoka.jp\":true,\"kawazu.shizuoka.jp\":true,\"kikugawa.shizuoka.jp\":true,\"kosai.shizuoka.jp\":true,\"makinohara.shizuoka.jp\":true,\"matsuzaki.shizuoka.jp\":true,\"minamiizu.shizuoka.jp\":true,\"mishima.shizuoka.jp\":true,\"morimachi.shizuoka.jp\":true,\"nishiizu.shizuoka.jp\":true,\"numazu.shizuoka.jp\":true,\"omaezaki.shizuoka.jp\":true,\"shimada.shizuoka.jp\":true,\"shimizu.shizuoka.jp\":true,\"shimoda.shizuoka.jp\":true,\"shizuoka.shizuoka.jp\":true,\"susono.shizuoka.jp\":true,\"yaizu.shizuoka.jp\":true,\"yoshida.shizuoka.jp\":true,\"ashikaga.tochigi.jp\":true,\"bato.tochigi.jp\":true,\"haga.tochigi.jp\":true,\"ichikai.tochigi.jp\":true,\"iwafune.tochigi.jp\":true,\"kaminokawa.tochigi.jp\":true,\"kanuma.tochigi.jp\":true,\"karasuyama.tochigi.jp\":true,\"kuroiso.tochigi.jp\":true,\"mashiko.tochigi.jp\":true,\"mibu.tochigi.jp\":true,\"moka.tochigi.jp\":true,\"motegi.tochigi.jp\":true,\"nasu.tochigi.jp\":true,\"nasushiobara.tochigi.jp\":true,\"nikko.tochigi.jp\":true,\"nishikata.tochigi.jp\":true,\"nogi.tochigi.jp\":true,\"ohira.tochigi.jp\":true,\"ohtawara.tochigi.jp\":true,\"oyama.tochigi.jp\":true,\"sakura.tochigi.jp\":true,\"sano.tochigi.jp\":true,\"shimotsuke.tochigi.jp\":true,\"shioya.tochigi.jp\":true,\"takanezawa.tochigi.jp\":true,\"tochigi.tochigi.jp\":true,\"tsuga.tochigi.jp\":true,\"ujiie.tochigi.jp\":true,\"utsunomiya.tochigi.jp\":true,\"yaita.tochigi.jp\":true,\"aizumi.tokushima.jp\":true,\"anan.tokushima.jp\":true,\"ichiba.tokushima.jp\":true,\"itano.tokushima.jp\":true,\"kainan.tokushima.jp\":true,\"komatsushima.tokushima.jp\":true,\"matsushige.tokushima.jp\":true,\"mima.tokushima.jp\":true,\"minami.tokushima.jp\":true,\"miyoshi.tokushima.jp\":true,\"mugi.tokushima.jp\":true,\"nakagawa.tokushima.jp\":true,\"naruto.tokushima.jp\":true,\"sanagochi.tokushima.jp\":true,\"shishikui.tokushima.jp\":true,\"tokushima.tokushima.jp\":true,\"wajiki.tokushima.jp\":true,\"adachi.tokyo.jp\":true,\"akiruno.tokyo.jp\":true,\"akishima.tokyo.jp\":true,\"aogashima.tokyo.jp\":true,\"arakawa.tokyo.jp\":true,\"bunkyo.tokyo.jp\":true,\"chiyoda.tokyo.jp\":true,\"chofu.tokyo.jp\":true,\"chuo.tokyo.jp\":true,\"edogawa.tokyo.jp\":true,\"fuchu.tokyo.jp\":true,\"fussa.tokyo.jp\":true,\"hachijo.tokyo.jp\":true,\"hachioji.tokyo.jp\":true,\"hamura.tokyo.jp\":true,\"higashikurume.tokyo.jp\":true,\"higashimurayama.tokyo.jp\":true,\"higashiyamato.tokyo.jp\":true,\"hino.tokyo.jp\":true,\"hinode.tokyo.jp\":true,\"hinohara.tokyo.jp\":true,\"inagi.tokyo.jp\":true,\"itabashi.tokyo.jp\":true,\"katsushika.tokyo.jp\":true,\"kita.tokyo.jp\":true,\"kiyose.tokyo.jp\":true,\"kodaira.tokyo.jp\":true,\"koganei.tokyo.jp\":true,\"kokubunji.tokyo.jp\":true,\"komae.tokyo.jp\":true,\"koto.tokyo.jp\":true,\"kouzushima.tokyo.jp\":true,\"kunitachi.tokyo.jp\":true,\"machida.tokyo.jp\":true,\"meguro.tokyo.jp\":true,\"minato.tokyo.jp\":true,\"mitaka.tokyo.jp\":true,\"mizuho.tokyo.jp\":true,\"musashimurayama.tokyo.jp\":true,\"musashino.tokyo.jp\":true,\"nakano.tokyo.jp\":true,\"nerima.tokyo.jp\":true,\"ogasawara.tokyo.jp\":true,\"okutama.tokyo.jp\":true,\"ome.tokyo.jp\":true,\"oshima.tokyo.jp\":true,\"ota.tokyo.jp\":true,\"setagaya.tokyo.jp\":true,\"shibuya.tokyo.jp\":true,\"shinagawa.tokyo.jp\":true,\"shinjuku.tokyo.jp\":true,\"suginami.tokyo.jp\":true,\"sumida.tokyo.jp\":true,\"tachikawa.tokyo.jp\":true,\"taito.tokyo.jp\":true,\"tama.tokyo.jp\":true,\"toshima.tokyo.jp\":true,\"chizu.tottori.jp\":true,\"hino.tottori.jp\":true,\"kawahara.tottori.jp\":true,\"koge.tottori.jp\":true,\"kotoura.tottori.jp\":true,\"misasa.tottori.jp\":true,\"nanbu.tottori.jp\":true,\"nichinan.tottori.jp\":true,\"sakaiminato.tottori.jp\":true,\"tottori.tottori.jp\":true,\"wakasa.tottori.jp\":true,\"yazu.tottori.jp\":true,\"yonago.tottori.jp\":true,\"asahi.toyama.jp\":true,\"fuchu.toyama.jp\":true,\"fukumitsu.toyama.jp\":true,\"funahashi.toyama.jp\":true,\"himi.toyama.jp\":true,\"imizu.toyama.jp\":true,\"inami.toyama.jp\":true,\"johana.toyama.jp\":true,\"kamiichi.toyama.jp\":true,\"kurobe.toyama.jp\":true,\"nakaniikawa.toyama.jp\":true,\"namerikawa.toyama.jp\":true,\"nanto.toyama.jp\":true,\"nyuzen.toyama.jp\":true,\"oyabe.toyama.jp\":true,\"taira.toyama.jp\":true,\"takaoka.toyama.jp\":true,\"tateyama.toyama.jp\":true,\"toga.toyama.jp\":true,\"tonami.toyama.jp\":true,\"toyama.toyama.jp\":true,\"unazuki.toyama.jp\":true,\"uozu.toyama.jp\":true,\"yamada.toyama.jp\":true,\"arida.wakayama.jp\":true,\"aridagawa.wakayama.jp\":true,\"gobo.wakayama.jp\":true,\"hashimoto.wakayama.jp\":true,\"hidaka.wakayama.jp\":true,\"hirogawa.wakayama.jp\":true,\"inami.wakayama.jp\":true,\"iwade.wakayama.jp\":true,\"kainan.wakayama.jp\":true,\"kamitonda.wakayama.jp\":true,\"katsuragi.wakayama.jp\":true,\"kimino.wakayama.jp\":true,\"kinokawa.wakayama.jp\":true,\"kitayama.wakayama.jp\":true,\"koya.wakayama.jp\":true,\"koza.wakayama.jp\":true,\"kozagawa.wakayama.jp\":true,\"kudoyama.wakayama.jp\":true,\"kushimoto.wakayama.jp\":true,\"mihama.wakayama.jp\":true,\"misato.wakayama.jp\":true,\"nachikatsuura.wakayama.jp\":true,\"shingu.wakayama.jp\":true,\"shirahama.wakayama.jp\":true,\"taiji.wakayama.jp\":true,\"tanabe.wakayama.jp\":true,\"wakayama.wakayama.jp\":true,\"yuasa.wakayama.jp\":true,\"yura.wakayama.jp\":true,\"asahi.yamagata.jp\":true,\"funagata.yamagata.jp\":true,\"higashine.yamagata.jp\":true,\"iide.yamagata.jp\":true,\"kahoku.yamagata.jp\":true,\"kaminoyama.yamagata.jp\":true,\"kaneyama.yamagata.jp\":true,\"kawanishi.yamagata.jp\":true,\"mamurogawa.yamagata.jp\":true,\"mikawa.yamagata.jp\":true,\"murayama.yamagata.jp\":true,\"nagai.yamagata.jp\":true,\"nakayama.yamagata.jp\":true,\"nanyo.yamagata.jp\":true,\"nishikawa.yamagata.jp\":true,\"obanazawa.yamagata.jp\":true,\"oe.yamagata.jp\":true,\"oguni.yamagata.jp\":true,\"ohkura.yamagata.jp\":true,\"oishida.yamagata.jp\":true,\"sagae.yamagata.jp\":true,\"sakata.yamagata.jp\":true,\"sakegawa.yamagata.jp\":true,\"shinjo.yamagata.jp\":true,\"shirataka.yamagata.jp\":true,\"shonai.yamagata.jp\":true,\"takahata.yamagata.jp\":true,\"tendo.yamagata.jp\":true,\"tozawa.yamagata.jp\":true,\"tsuruoka.yamagata.jp\":true,\"yamagata.yamagata.jp\":true,\"yamanobe.yamagata.jp\":true,\"yonezawa.yamagata.jp\":true,\"yuza.yamagata.jp\":true,\"abu.yamaguchi.jp\":true,\"hagi.yamaguchi.jp\":true,\"hikari.yamaguchi.jp\":true,\"hofu.yamaguchi.jp\":true,\"iwakuni.yamaguchi.jp\":true,\"kudamatsu.yamaguchi.jp\":true,\"mitou.yamaguchi.jp\":true,\"nagato.yamaguchi.jp\":true,\"oshima.yamaguchi.jp\":true,\"shimonoseki.yamaguchi.jp\":true,\"shunan.yamaguchi.jp\":true,\"tabuse.yamaguchi.jp\":true,\"tokuyama.yamaguchi.jp\":true,\"toyota.yamaguchi.jp\":true,\"ube.yamaguchi.jp\":true,\"yuu.yamaguchi.jp\":true,\"chuo.yamanashi.jp\":true,\"doshi.yamanashi.jp\":true,\"fuefuki.yamanashi.jp\":true,\"fujikawa.yamanashi.jp\":true,\"fujikawaguchiko.yamanashi.jp\":true,\"fujiyoshida.yamanashi.jp\":true,\"hayakawa.yamanashi.jp\":true,\"hokuto.yamanashi.jp\":true,\"ichikawamisato.yamanashi.jp\":true,\"kai.yamanashi.jp\":true,\"kofu.yamanashi.jp\":true,\"koshu.yamanashi.jp\":true,\"kosuge.yamanashi.jp\":true,\"minami-alps.yamanashi.jp\":true,\"minobu.yamanashi.jp\":true,\"nakamichi.yamanashi.jp\":true,\"nanbu.yamanashi.jp\":true,\"narusawa.yamanashi.jp\":true,\"nirasaki.yamanashi.jp\":true,\"nishikatsura.yamanashi.jp\":true,\"oshino.yamanashi.jp\":true,\"otsuki.yamanashi.jp\":true,\"showa.yamanashi.jp\":true,\"tabayama.yamanashi.jp\":true,\"tsuru.yamanashi.jp\":true,\"uenohara.yamanashi.jp\":true,\"yamanakako.yamanashi.jp\":true,\"yamanashi.yamanashi.jp\":true,\"*.ke\":true,\"kg\":true,\"org.kg\":true,\"net.kg\":true,\"com.kg\":true,\"edu.kg\":true,\"gov.kg\":true,\"mil.kg\":true,\"*.kh\":true,\"ki\":true,\"edu.ki\":true,\"biz.ki\":true,\"net.ki\":true,\"org.ki\":true,\"gov.ki\":true,\"info.ki\":true,\"com.ki\":true,\"km\":true,\"org.km\":true,\"nom.km\":true,\"gov.km\":true,\"prd.km\":true,\"tm.km\":true,\"edu.km\":true,\"mil.km\":true,\"ass.km\":true,\"com.km\":true,\"coop.km\":true,\"asso.km\":true,\"presse.km\":true,\"medecin.km\":true,\"notaires.km\":true,\"pharmaciens.km\":true,\"veterinaire.km\":true,\"gouv.km\":true,\"kn\":true,\"net.kn\":true,\"org.kn\":true,\"edu.kn\":true,\"gov.kn\":true,\"kp\":true,\"com.kp\":true,\"edu.kp\":true,\"gov.kp\":true,\"org.kp\":true,\"rep.kp\":true,\"tra.kp\":true,\"kr\":true,\"ac.kr\":true,\"co.kr\":true,\"es.kr\":true,\"go.kr\":true,\"hs.kr\":true,\"kg.kr\":true,\"mil.kr\":true,\"ms.kr\":true,\"ne.kr\":true,\"or.kr\":true,\"pe.kr\":true,\"re.kr\":true,\"sc.kr\":true,\"busan.kr\":true,\"chungbuk.kr\":true,\"chungnam.kr\":true,\"daegu.kr\":true,\"daejeon.kr\":true,\"gangwon.kr\":true,\"gwangju.kr\":true,\"gyeongbuk.kr\":true,\"gyeonggi.kr\":true,\"gyeongnam.kr\":true,\"incheon.kr\":true,\"jeju.kr\":true,\"jeonbuk.kr\":true,\"jeonnam.kr\":true,\"seoul.kr\":true,\"ulsan.kr\":true,\"*.kw\":true,\"ky\":true,\"edu.ky\":true,\"gov.ky\":true,\"com.ky\":true,\"org.ky\":true,\"net.ky\":true,\"kz\":true,\"org.kz\":true,\"edu.kz\":true,\"net.kz\":true,\"gov.kz\":true,\"mil.kz\":true,\"com.kz\":true,\"la\":true,\"int.la\":true,\"net.la\":true,\"info.la\":true,\"edu.la\":true,\"gov.la\":true,\"per.la\":true,\"com.la\":true,\"org.la\":true,\"lb\":true,\"com.lb\":true,\"edu.lb\":true,\"gov.lb\":true,\"net.lb\":true,\"org.lb\":true,\"lc\":true,\"com.lc\":true,\"net.lc\":true,\"co.lc\":true,\"org.lc\":true,\"edu.lc\":true,\"gov.lc\":true,\"li\":true,\"lk\":true,\"gov.lk\":true,\"sch.lk\":true,\"net.lk\":true,\"int.lk\":true,\"com.lk\":true,\"org.lk\":true,\"edu.lk\":true,\"ngo.lk\":true,\"soc.lk\":true,\"web.lk\":true,\"ltd.lk\":true,\"assn.lk\":true,\"grp.lk\":true,\"hotel.lk\":true,\"ac.lk\":true,\"lr\":true,\"com.lr\":true,\"edu.lr\":true,\"gov.lr\":true,\"org.lr\":true,\"net.lr\":true,\"ls\":true,\"co.ls\":true,\"org.ls\":true,\"lt\":true,\"gov.lt\":true,\"lu\":true,\"lv\":true,\"com.lv\":true,\"edu.lv\":true,\"gov.lv\":true,\"org.lv\":true,\"mil.lv\":true,\"id.lv\":true,\"net.lv\":true,\"asn.lv\":true,\"conf.lv\":true,\"ly\":true,\"com.ly\":true,\"net.ly\":true,\"gov.ly\":true,\"plc.ly\":true,\"edu.ly\":true,\"sch.ly\":true,\"med.ly\":true,\"org.ly\":true,\"id.ly\":true,\"ma\":true,\"co.ma\":true,\"net.ma\":true,\"gov.ma\":true,\"org.ma\":true,\"ac.ma\":true,\"press.ma\":true,\"mc\":true,\"tm.mc\":true,\"asso.mc\":true,\"md\":true,\"me\":true,\"co.me\":true,\"net.me\":true,\"org.me\":true,\"edu.me\":true,\"ac.me\":true,\"gov.me\":true,\"its.me\":true,\"priv.me\":true,\"mg\":true,\"org.mg\":true,\"nom.mg\":true,\"gov.mg\":true,\"prd.mg\":true,\"tm.mg\":true,\"edu.mg\":true,\"mil.mg\":true,\"com.mg\":true,\"co.mg\":true,\"mh\":true,\"mil\":true,\"mk\":true,\"com.mk\":true,\"org.mk\":true,\"net.mk\":true,\"edu.mk\":true,\"gov.mk\":true,\"inf.mk\":true,\"name.mk\":true,\"ml\":true,\"com.ml\":true,\"edu.ml\":true,\"gouv.ml\":true,\"gov.ml\":true,\"net.ml\":true,\"org.ml\":true,\"presse.ml\":true,\"*.mm\":true,\"mn\":true,\"gov.mn\":true,\"edu.mn\":true,\"org.mn\":true,\"mo\":true,\"com.mo\":true,\"net.mo\":true,\"org.mo\":true,\"edu.mo\":true,\"gov.mo\":true,\"mobi\":true,\"mp\":true,\"mq\":true,\"mr\":true,\"gov.mr\":true,\"ms\":true,\"com.ms\":true,\"edu.ms\":true,\"gov.ms\":true,\"net.ms\":true,\"org.ms\":true,\"mt\":true,\"com.mt\":true,\"edu.mt\":true,\"net.mt\":true,\"org.mt\":true,\"mu\":true,\"com.mu\":true,\"net.mu\":true,\"org.mu\":true,\"gov.mu\":true,\"ac.mu\":true,\"co.mu\":true,\"or.mu\":true,\"museum\":true,\"academy.museum\":true,\"agriculture.museum\":true,\"air.museum\":true,\"airguard.museum\":true,\"alabama.museum\":true,\"alaska.museum\":true,\"amber.museum\":true,\"ambulance.museum\":true,\"american.museum\":true,\"americana.museum\":true,\"americanantiques.museum\":true,\"americanart.museum\":true,\"amsterdam.museum\":true,\"and.museum\":true,\"annefrank.museum\":true,\"anthro.museum\":true,\"anthropology.museum\":true,\"antiques.museum\":true,\"aquarium.museum\":true,\"arboretum.museum\":true,\"archaeological.museum\":true,\"archaeology.museum\":true,\"architecture.museum\":true,\"art.museum\":true,\"artanddesign.museum\":true,\"artcenter.museum\":true,\"artdeco.museum\":true,\"arteducation.museum\":true,\"artgallery.museum\":true,\"arts.museum\":true,\"artsandcrafts.museum\":true,\"asmatart.museum\":true,\"assassination.museum\":true,\"assisi.museum\":true,\"association.museum\":true,\"astronomy.museum\":true,\"atlanta.museum\":true,\"austin.museum\":true,\"australia.museum\":true,\"automotive.museum\":true,\"aviation.museum\":true,\"axis.museum\":true,\"badajoz.museum\":true,\"baghdad.museum\":true,\"bahn.museum\":true,\"bale.museum\":true,\"baltimore.museum\":true,\"barcelona.museum\":true,\"baseball.museum\":true,\"basel.museum\":true,\"baths.museum\":true,\"bauern.museum\":true,\"beauxarts.museum\":true,\"beeldengeluid.museum\":true,\"bellevue.museum\":true,\"bergbau.museum\":true,\"berkeley.museum\":true,\"berlin.museum\":true,\"bern.museum\":true,\"bible.museum\":true,\"bilbao.museum\":true,\"bill.museum\":true,\"birdart.museum\":true,\"birthplace.museum\":true,\"bonn.museum\":true,\"boston.museum\":true,\"botanical.museum\":true,\"botanicalgarden.museum\":true,\"botanicgarden.museum\":true,\"botany.museum\":true,\"brandywinevalley.museum\":true,\"brasil.museum\":true,\"bristol.museum\":true,\"british.museum\":true,\"britishcolumbia.museum\":true,\"broadcast.museum\":true,\"brunel.museum\":true,\"brussel.museum\":true,\"brussels.museum\":true,\"bruxelles.museum\":true,\"building.museum\":true,\"burghof.museum\":true,\"bus.museum\":true,\"bushey.museum\":true,\"cadaques.museum\":true,\"california.museum\":true,\"cambridge.museum\":true,\"can.museum\":true,\"canada.museum\":true,\"capebreton.museum\":true,\"carrier.museum\":true,\"cartoonart.museum\":true,\"casadelamoneda.museum\":true,\"castle.museum\":true,\"castres.museum\":true,\"celtic.museum\":true,\"center.museum\":true,\"chattanooga.museum\":true,\"cheltenham.museum\":true,\"chesapeakebay.museum\":true,\"chicago.museum\":true,\"children.museum\":true,\"childrens.museum\":true,\"childrensgarden.museum\":true,\"chiropractic.museum\":true,\"chocolate.museum\":true,\"christiansburg.museum\":true,\"cincinnati.museum\":true,\"cinema.museum\":true,\"circus.museum\":true,\"civilisation.museum\":true,\"civilization.museum\":true,\"civilwar.museum\":true,\"clinton.museum\":true,\"clock.museum\":true,\"coal.museum\":true,\"coastaldefence.museum\":true,\"cody.museum\":true,\"coldwar.museum\":true,\"collection.museum\":true,\"colonialwilliamsburg.museum\":true,\"coloradoplateau.museum\":true,\"columbia.museum\":true,\"columbus.museum\":true,\"communication.museum\":true,\"communications.museum\":true,\"community.museum\":true,\"computer.museum\":true,\"computerhistory.museum\":true,\"xn--comunicaes-v6a2o.museum\":true,\"contemporary.museum\":true,\"contemporaryart.museum\":true,\"convent.museum\":true,\"copenhagen.museum\":true,\"corporation.museum\":true,\"xn--correios-e-telecomunicaes-ghc29a.museum\":true,\"corvette.museum\":true,\"costume.museum\":true,\"countryestate.museum\":true,\"county.museum\":true,\"crafts.museum\":true,\"cranbrook.museum\":true,\"creation.museum\":true,\"cultural.museum\":true,\"culturalcenter.museum\":true,\"culture.museum\":true,\"cyber.museum\":true,\"cymru.museum\":true,\"dali.museum\":true,\"dallas.museum\":true,\"database.museum\":true,\"ddr.museum\":true,\"decorativearts.museum\":true,\"delaware.museum\":true,\"delmenhorst.museum\":true,\"denmark.museum\":true,\"depot.museum\":true,\"design.museum\":true,\"detroit.museum\":true,\"dinosaur.museum\":true,\"discovery.museum\":true,\"dolls.museum\":true,\"donostia.museum\":true,\"durham.museum\":true,\"eastafrica.museum\":true,\"eastcoast.museum\":true,\"education.museum\":true,\"educational.museum\":true,\"egyptian.museum\":true,\"eisenbahn.museum\":true,\"elburg.museum\":true,\"elvendrell.museum\":true,\"embroidery.museum\":true,\"encyclopedic.museum\":true,\"england.museum\":true,\"entomology.museum\":true,\"environment.museum\":true,\"environmentalconservation.museum\":true,\"epilepsy.museum\":true,\"essex.museum\":true,\"estate.museum\":true,\"ethnology.museum\":true,\"exeter.museum\":true,\"exhibition.museum\":true,\"family.museum\":true,\"farm.museum\":true,\"farmequipment.museum\":true,\"farmers.museum\":true,\"farmstead.museum\":true,\"field.museum\":true,\"figueres.museum\":true,\"filatelia.museum\":true,\"film.museum\":true,\"fineart.museum\":true,\"finearts.museum\":true,\"finland.museum\":true,\"flanders.museum\":true,\"florida.museum\":true,\"force.museum\":true,\"fortmissoula.museum\":true,\"fortworth.museum\":true,\"foundation.museum\":true,\"francaise.museum\":true,\"frankfurt.museum\":true,\"franziskaner.museum\":true,\"freemasonry.museum\":true,\"freiburg.museum\":true,\"fribourg.museum\":true,\"frog.museum\":true,\"fundacio.museum\":true,\"furniture.museum\":true,\"gallery.museum\":true,\"garden.museum\":true,\"gateway.museum\":true,\"geelvinck.museum\":true,\"gemological.museum\":true,\"geology.museum\":true,\"georgia.museum\":true,\"giessen.museum\":true,\"glas.museum\":true,\"glass.museum\":true,\"gorge.museum\":true,\"grandrapids.museum\":true,\"graz.museum\":true,\"guernsey.museum\":true,\"halloffame.museum\":true,\"hamburg.museum\":true,\"handson.museum\":true,\"harvestcelebration.museum\":true,\"hawaii.museum\":true,\"health.museum\":true,\"heimatunduhren.museum\":true,\"hellas.museum\":true,\"helsinki.museum\":true,\"hembygdsforbund.museum\":true,\"heritage.museum\":true,\"histoire.museum\":true,\"historical.museum\":true,\"historicalsociety.museum\":true,\"historichouses.museum\":true,\"historisch.museum\":true,\"historisches.museum\":true,\"history.museum\":true,\"historyofscience.museum\":true,\"horology.museum\":true,\"house.museum\":true,\"humanities.museum\":true,\"illustration.museum\":true,\"imageandsound.museum\":true,\"indian.museum\":true,\"indiana.museum\":true,\"indianapolis.museum\":true,\"indianmarket.museum\":true,\"intelligence.museum\":true,\"interactive.museum\":true,\"iraq.museum\":true,\"iron.museum\":true,\"isleofman.museum\":true,\"jamison.museum\":true,\"jefferson.museum\":true,\"jerusalem.museum\":true,\"jewelry.museum\":true,\"jewish.museum\":true,\"jewishart.museum\":true,\"jfk.museum\":true,\"journalism.museum\":true,\"judaica.museum\":true,\"judygarland.museum\":true,\"juedisches.museum\":true,\"juif.museum\":true,\"karate.museum\":true,\"karikatur.museum\":true,\"kids.museum\":true,\"koebenhavn.museum\":true,\"koeln.museum\":true,\"kunst.museum\":true,\"kunstsammlung.museum\":true,\"kunstunddesign.museum\":true,\"labor.museum\":true,\"labour.museum\":true,\"lajolla.museum\":true,\"lancashire.museum\":true,\"landes.museum\":true,\"lans.museum\":true,\"xn--lns-qla.museum\":true,\"larsson.museum\":true,\"lewismiller.museum\":true,\"lincoln.museum\":true,\"linz.museum\":true,\"living.museum\":true,\"livinghistory.museum\":true,\"localhistory.museum\":true,\"london.museum\":true,\"losangeles.museum\":true,\"louvre.museum\":true,\"loyalist.museum\":true,\"lucerne.museum\":true,\"luxembourg.museum\":true,\"luzern.museum\":true,\"mad.museum\":true,\"madrid.museum\":true,\"mallorca.museum\":true,\"manchester.museum\":true,\"mansion.museum\":true,\"mansions.museum\":true,\"manx.museum\":true,\"marburg.museum\":true,\"maritime.museum\":true,\"maritimo.museum\":true,\"maryland.museum\":true,\"marylhurst.museum\":true,\"media.museum\":true,\"medical.museum\":true,\"medizinhistorisches.museum\":true,\"meeres.museum\":true,\"memorial.museum\":true,\"mesaverde.museum\":true,\"michigan.museum\":true,\"midatlantic.museum\":true,\"military.museum\":true,\"mill.museum\":true,\"miners.museum\":true,\"mining.museum\":true,\"minnesota.museum\":true,\"missile.museum\":true,\"missoula.museum\":true,\"modern.museum\":true,\"moma.museum\":true,\"money.museum\":true,\"monmouth.museum\":true,\"monticello.museum\":true,\"montreal.museum\":true,\"moscow.museum\":true,\"motorcycle.museum\":true,\"muenchen.museum\":true,\"muenster.museum\":true,\"mulhouse.museum\":true,\"muncie.museum\":true,\"museet.museum\":true,\"museumcenter.museum\":true,\"museumvereniging.museum\":true,\"music.museum\":true,\"national.museum\":true,\"nationalfirearms.museum\":true,\"nationalheritage.museum\":true,\"nativeamerican.museum\":true,\"naturalhistory.museum\":true,\"naturalhistorymuseum.museum\":true,\"naturalsciences.museum\":true,\"nature.museum\":true,\"naturhistorisches.museum\":true,\"natuurwetenschappen.museum\":true,\"naumburg.museum\":true,\"naval.museum\":true,\"nebraska.museum\":true,\"neues.museum\":true,\"newhampshire.museum\":true,\"newjersey.museum\":true,\"newmexico.museum\":true,\"newport.museum\":true,\"newspaper.museum\":true,\"newyork.museum\":true,\"niepce.museum\":true,\"norfolk.museum\":true,\"north.museum\":true,\"nrw.museum\":true,\"nuernberg.museum\":true,\"nuremberg.museum\":true,\"nyc.museum\":true,\"nyny.museum\":true,\"oceanographic.museum\":true,\"oceanographique.museum\":true,\"omaha.museum\":true,\"online.museum\":true,\"ontario.museum\":true,\"openair.museum\":true,\"oregon.museum\":true,\"oregontrail.museum\":true,\"otago.museum\":true,\"oxford.museum\":true,\"pacific.museum\":true,\"paderborn.museum\":true,\"palace.museum\":true,\"paleo.museum\":true,\"palmsprings.museum\":true,\"panama.museum\":true,\"paris.museum\":true,\"pasadena.museum\":true,\"pharmacy.museum\":true,\"philadelphia.museum\":true,\"philadelphiaarea.museum\":true,\"philately.museum\":true,\"phoenix.museum\":true,\"photography.museum\":true,\"pilots.museum\":true,\"pittsburgh.museum\":true,\"planetarium.museum\":true,\"plantation.museum\":true,\"plants.museum\":true,\"plaza.museum\":true,\"portal.museum\":true,\"portland.museum\":true,\"portlligat.museum\":true,\"posts-and-telecommunications.museum\":true,\"preservation.museum\":true,\"presidio.museum\":true,\"press.museum\":true,\"project.museum\":true,\"public.museum\":true,\"pubol.museum\":true,\"quebec.museum\":true,\"railroad.museum\":true,\"railway.museum\":true,\"research.museum\":true,\"resistance.museum\":true,\"riodejaneiro.museum\":true,\"rochester.museum\":true,\"rockart.museum\":true,\"roma.museum\":true,\"russia.museum\":true,\"saintlouis.museum\":true,\"salem.museum\":true,\"salvadordali.museum\":true,\"salzburg.museum\":true,\"sandiego.museum\":true,\"sanfrancisco.museum\":true,\"santabarbara.museum\":true,\"santacruz.museum\":true,\"santafe.museum\":true,\"saskatchewan.museum\":true,\"satx.museum\":true,\"savannahga.museum\":true,\"schlesisches.museum\":true,\"schoenbrunn.museum\":true,\"schokoladen.museum\":true,\"school.museum\":true,\"schweiz.museum\":true,\"science.museum\":true,\"scienceandhistory.museum\":true,\"scienceandindustry.museum\":true,\"sciencecenter.museum\":true,\"sciencecenters.museum\":true,\"science-fiction.museum\":true,\"sciencehistory.museum\":true,\"sciences.museum\":true,\"sciencesnaturelles.museum\":true,\"scotland.museum\":true,\"seaport.museum\":true,\"settlement.museum\":true,\"settlers.museum\":true,\"shell.museum\":true,\"sherbrooke.museum\":true,\"sibenik.museum\":true,\"silk.museum\":true,\"ski.museum\":true,\"skole.museum\":true,\"society.museum\":true,\"sologne.museum\":true,\"soundandvision.museum\":true,\"southcarolina.museum\":true,\"southwest.museum\":true,\"space.museum\":true,\"spy.museum\":true,\"square.museum\":true,\"stadt.museum\":true,\"stalbans.museum\":true,\"starnberg.museum\":true,\"state.museum\":true,\"stateofdelaware.museum\":true,\"station.museum\":true,\"steam.museum\":true,\"steiermark.museum\":true,\"stjohn.museum\":true,\"stockholm.museum\":true,\"stpetersburg.museum\":true,\"stuttgart.museum\":true,\"suisse.museum\":true,\"surgeonshall.museum\":true,\"surrey.museum\":true,\"svizzera.museum\":true,\"sweden.museum\":true,\"sydney.museum\":true,\"tank.museum\":true,\"tcm.museum\":true,\"technology.museum\":true,\"telekommunikation.museum\":true,\"television.museum\":true,\"texas.museum\":true,\"textile.museum\":true,\"theater.museum\":true,\"time.museum\":true,\"timekeeping.museum\":true,\"topology.museum\":true,\"torino.museum\":true,\"touch.museum\":true,\"town.museum\":true,\"transport.museum\":true,\"tree.museum\":true,\"trolley.museum\":true,\"trust.museum\":true,\"trustee.museum\":true,\"uhren.museum\":true,\"ulm.museum\":true,\"undersea.museum\":true,\"university.museum\":true,\"usa.museum\":true,\"usantiques.museum\":true,\"usarts.museum\":true,\"uscountryestate.museum\":true,\"usculture.museum\":true,\"usdecorativearts.museum\":true,\"usgarden.museum\":true,\"ushistory.museum\":true,\"ushuaia.museum\":true,\"uslivinghistory.museum\":true,\"utah.museum\":true,\"uvic.museum\":true,\"valley.museum\":true,\"vantaa.museum\":true,\"versailles.museum\":true,\"viking.museum\":true,\"village.museum\":true,\"virginia.museum\":true,\"virtual.museum\":true,\"virtuel.museum\":true,\"vlaanderen.museum\":true,\"volkenkunde.museum\":true,\"wales.museum\":true,\"wallonie.museum\":true,\"war.museum\":true,\"washingtondc.museum\":true,\"watchandclock.museum\":true,\"watch-and-clock.museum\":true,\"western.museum\":true,\"westfalen.museum\":true,\"whaling.museum\":true,\"wildlife.museum\":true,\"williamsburg.museum\":true,\"windmill.museum\":true,\"workshop.museum\":true,\"york.museum\":true,\"yorkshire.museum\":true,\"yosemite.museum\":true,\"youth.museum\":true,\"zoological.museum\":true,\"zoology.museum\":true,\"xn--9dbhblg6di.museum\":true,\"xn--h1aegh.museum\":true,\"mv\":true,\"aero.mv\":true,\"biz.mv\":true,\"com.mv\":true,\"coop.mv\":true,\"edu.mv\":true,\"gov.mv\":true,\"info.mv\":true,\"int.mv\":true,\"mil.mv\":true,\"museum.mv\":true,\"name.mv\":true,\"net.mv\":true,\"org.mv\":true,\"pro.mv\":true,\"mw\":true,\"ac.mw\":true,\"biz.mw\":true,\"co.mw\":true,\"com.mw\":true,\"coop.mw\":true,\"edu.mw\":true,\"gov.mw\":true,\"int.mw\":true,\"museum.mw\":true,\"net.mw\":true,\"org.mw\":true,\"mx\":true,\"com.mx\":true,\"org.mx\":true,\"gob.mx\":true,\"edu.mx\":true,\"net.mx\":true,\"my\":true,\"com.my\":true,\"net.my\":true,\"org.my\":true,\"gov.my\":true,\"edu.my\":true,\"mil.my\":true,\"name.my\":true,\"*.mz\":true,\"teledata.mz\":false,\"na\":true,\"info.na\":true,\"pro.na\":true,\"name.na\":true,\"school.na\":true,\"or.na\":true,\"dr.na\":true,\"us.na\":true,\"mx.na\":true,\"ca.na\":true,\"in.na\":true,\"cc.na\":true,\"tv.na\":true,\"ws.na\":true,\"mobi.na\":true,\"co.na\":true,\"com.na\":true,\"org.na\":true,\"name\":true,\"nc\":true,\"asso.nc\":true,\"ne\":true,\"net\":true,\"nf\":true,\"com.nf\":true,\"net.nf\":true,\"per.nf\":true,\"rec.nf\":true,\"web.nf\":true,\"arts.nf\":true,\"firm.nf\":true,\"info.nf\":true,\"other.nf\":true,\"store.nf\":true,\"ng\":true,\"com.ng\":true,\"edu.ng\":true,\"name.ng\":true,\"net.ng\":true,\"org.ng\":true,\"sch.ng\":true,\"gov.ng\":true,\"mil.ng\":true,\"mobi.ng\":true,\"*.ni\":true,\"nl\":true,\"bv.nl\":true,\"no\":true,\"fhs.no\":true,\"vgs.no\":true,\"fylkesbibl.no\":true,\"folkebibl.no\":true,\"museum.no\":true,\"idrett.no\":true,\"priv.no\":true,\"mil.no\":true,\"stat.no\":true,\"dep.no\":true,\"kommune.no\":true,\"herad.no\":true,\"aa.no\":true,\"ah.no\":true,\"bu.no\":true,\"fm.no\":true,\"hl.no\":true,\"hm.no\":true,\"jan-mayen.no\":true,\"mr.no\":true,\"nl.no\":true,\"nt.no\":true,\"of.no\":true,\"ol.no\":true,\"oslo.no\":true,\"rl.no\":true,\"sf.no\":true,\"st.no\":true,\"svalbard.no\":true,\"tm.no\":true,\"tr.no\":true,\"va.no\":true,\"vf.no\":true,\"gs.aa.no\":true,\"gs.ah.no\":true,\"gs.bu.no\":true,\"gs.fm.no\":true,\"gs.hl.no\":true,\"gs.hm.no\":true,\"gs.jan-mayen.no\":true,\"gs.mr.no\":true,\"gs.nl.no\":true,\"gs.nt.no\":true,\"gs.of.no\":true,\"gs.ol.no\":true,\"gs.oslo.no\":true,\"gs.rl.no\":true,\"gs.sf.no\":true,\"gs.st.no\":true,\"gs.svalbard.no\":true,\"gs.tm.no\":true,\"gs.tr.no\":true,\"gs.va.no\":true,\"gs.vf.no\":true,\"akrehamn.no\":true,\"xn--krehamn-dxa.no\":true,\"algard.no\":true,\"xn--lgrd-poac.no\":true,\"arna.no\":true,\"brumunddal.no\":true,\"bryne.no\":true,\"bronnoysund.no\":true,\"xn--brnnysund-m8ac.no\":true,\"drobak.no\":true,\"xn--drbak-wua.no\":true,\"egersund.no\":true,\"fetsund.no\":true,\"floro.no\":true,\"xn--flor-jra.no\":true,\"fredrikstad.no\":true,\"hokksund.no\":true,\"honefoss.no\":true,\"xn--hnefoss-q1a.no\":true,\"jessheim.no\":true,\"jorpeland.no\":true,\"xn--jrpeland-54a.no\":true,\"kirkenes.no\":true,\"kopervik.no\":true,\"krokstadelva.no\":true,\"langevag.no\":true,\"xn--langevg-jxa.no\":true,\"leirvik.no\":true,\"mjondalen.no\":true,\"xn--mjndalen-64a.no\":true,\"mo-i-rana.no\":true,\"mosjoen.no\":true,\"xn--mosjen-eya.no\":true,\"nesoddtangen.no\":true,\"orkanger.no\":true,\"osoyro.no\":true,\"xn--osyro-wua.no\":true,\"raholt.no\":true,\"xn--rholt-mra.no\":true,\"sandnessjoen.no\":true,\"xn--sandnessjen-ogb.no\":true,\"skedsmokorset.no\":true,\"slattum.no\":true,\"spjelkavik.no\":true,\"stathelle.no\":true,\"stavern.no\":true,\"stjordalshalsen.no\":true,\"xn--stjrdalshalsen-sqb.no\":true,\"tananger.no\":true,\"tranby.no\":true,\"vossevangen.no\":true,\"afjord.no\":true,\"xn--fjord-lra.no\":true,\"agdenes.no\":true,\"al.no\":true,\"xn--l-1fa.no\":true,\"alesund.no\":true,\"xn--lesund-hua.no\":true,\"alstahaug.no\":true,\"alta.no\":true,\"xn--lt-liac.no\":true,\"alaheadju.no\":true,\"xn--laheadju-7ya.no\":true,\"alvdal.no\":true,\"amli.no\":true,\"xn--mli-tla.no\":true,\"amot.no\":true,\"xn--mot-tla.no\":true,\"andebu.no\":true,\"andoy.no\":true,\"xn--andy-ira.no\":true,\"andasuolo.no\":true,\"ardal.no\":true,\"xn--rdal-poa.no\":true,\"aremark.no\":true,\"arendal.no\":true,\"xn--s-1fa.no\":true,\"aseral.no\":true,\"xn--seral-lra.no\":true,\"asker.no\":true,\"askim.no\":true,\"askvoll.no\":true,\"askoy.no\":true,\"xn--asky-ira.no\":true,\"asnes.no\":true,\"xn--snes-poa.no\":true,\"audnedaln.no\":true,\"aukra.no\":true,\"aure.no\":true,\"aurland.no\":true,\"aurskog-holand.no\":true,\"xn--aurskog-hland-jnb.no\":true,\"austevoll.no\":true,\"austrheim.no\":true,\"averoy.no\":true,\"xn--avery-yua.no\":true,\"balestrand.no\":true,\"ballangen.no\":true,\"balat.no\":true,\"xn--blt-elab.no\":true,\"balsfjord.no\":true,\"bahccavuotna.no\":true,\"xn--bhccavuotna-k7a.no\":true,\"bamble.no\":true,\"bardu.no\":true,\"beardu.no\":true,\"beiarn.no\":true,\"bajddar.no\":true,\"xn--bjddar-pta.no\":true,\"baidar.no\":true,\"xn--bidr-5nac.no\":true,\"berg.no\":true,\"bergen.no\":true,\"berlevag.no\":true,\"xn--berlevg-jxa.no\":true,\"bearalvahki.no\":true,\"xn--bearalvhki-y4a.no\":true,\"bindal.no\":true,\"birkenes.no\":true,\"bjarkoy.no\":true,\"xn--bjarky-fya.no\":true,\"bjerkreim.no\":true,\"bjugn.no\":true,\"bodo.no\":true,\"xn--bod-2na.no\":true,\"badaddja.no\":true,\"xn--bdddj-mrabd.no\":true,\"budejju.no\":true,\"bokn.no\":true,\"bremanger.no\":true,\"bronnoy.no\":true,\"xn--brnny-wuac.no\":true,\"bygland.no\":true,\"bykle.no\":true,\"barum.no\":true,\"xn--brum-voa.no\":true,\"bo.telemark.no\":true,\"xn--b-5ga.telemark.no\":true,\"bo.nordland.no\":true,\"xn--b-5ga.nordland.no\":true,\"bievat.no\":true,\"xn--bievt-0qa.no\":true,\"bomlo.no\":true,\"xn--bmlo-gra.no\":true,\"batsfjord.no\":true,\"xn--btsfjord-9za.no\":true,\"bahcavuotna.no\":true,\"xn--bhcavuotna-s4a.no\":true,\"dovre.no\":true,\"drammen.no\":true,\"drangedal.no\":true,\"dyroy.no\":true,\"xn--dyry-ira.no\":true,\"donna.no\":true,\"xn--dnna-gra.no\":true,\"eid.no\":true,\"eidfjord.no\":true,\"eidsberg.no\":true,\"eidskog.no\":true,\"eidsvoll.no\":true,\"eigersund.no\":true,\"elverum.no\":true,\"enebakk.no\":true,\"engerdal.no\":true,\"etne.no\":true,\"etnedal.no\":true,\"evenes.no\":true,\"evenassi.no\":true,\"xn--eveni-0qa01ga.no\":true,\"evje-og-hornnes.no\":true,\"farsund.no\":true,\"fauske.no\":true,\"fuossko.no\":true,\"fuoisku.no\":true,\"fedje.no\":true,\"fet.no\":true,\"finnoy.no\":true,\"xn--finny-yua.no\":true,\"fitjar.no\":true,\"fjaler.no\":true,\"fjell.no\":true,\"flakstad.no\":true,\"flatanger.no\":true,\"flekkefjord.no\":true,\"flesberg.no\":true,\"flora.no\":true,\"fla.no\":true,\"xn--fl-zia.no\":true,\"folldal.no\":true,\"forsand.no\":true,\"fosnes.no\":true,\"frei.no\":true,\"frogn.no\":true,\"froland.no\":true,\"frosta.no\":true,\"frana.no\":true,\"xn--frna-woa.no\":true,\"froya.no\":true,\"xn--frya-hra.no\":true,\"fusa.no\":true,\"fyresdal.no\":true,\"forde.no\":true,\"xn--frde-gra.no\":true,\"gamvik.no\":true,\"gangaviika.no\":true,\"xn--ggaviika-8ya47h.no\":true,\"gaular.no\":true,\"gausdal.no\":true,\"gildeskal.no\":true,\"xn--gildeskl-g0a.no\":true,\"giske.no\":true,\"gjemnes.no\":true,\"gjerdrum.no\":true,\"gjerstad.no\":true,\"gjesdal.no\":true,\"gjovik.no\":true,\"xn--gjvik-wua.no\":true,\"gloppen.no\":true,\"gol.no\":true,\"gran.no\":true,\"grane.no\":true,\"granvin.no\":true,\"gratangen.no\":true,\"grimstad.no\":true,\"grong.no\":true,\"kraanghke.no\":true,\"xn--kranghke-b0a.no\":true,\"grue.no\":true,\"gulen.no\":true,\"hadsel.no\":true,\"halden.no\":true,\"halsa.no\":true,\"hamar.no\":true,\"hamaroy.no\":true,\"habmer.no\":true,\"xn--hbmer-xqa.no\":true,\"hapmir.no\":true,\"xn--hpmir-xqa.no\":true,\"hammerfest.no\":true,\"hammarfeasta.no\":true,\"xn--hmmrfeasta-s4ac.no\":true,\"haram.no\":true,\"hareid.no\":true,\"harstad.no\":true,\"hasvik.no\":true,\"aknoluokta.no\":true,\"xn--koluokta-7ya57h.no\":true,\"hattfjelldal.no\":true,\"aarborte.no\":true,\"haugesund.no\":true,\"hemne.no\":true,\"hemnes.no\":true,\"hemsedal.no\":true,\"heroy.more-og-romsdal.no\":true,\"xn--hery-ira.xn--mre-og-romsdal-qqb.no\":true,\"heroy.nordland.no\":true,\"xn--hery-ira.nordland.no\":true,\"hitra.no\":true,\"hjartdal.no\":true,\"hjelmeland.no\":true,\"hobol.no\":true,\"xn--hobl-ira.no\":true,\"hof.no\":true,\"hol.no\":true,\"hole.no\":true,\"holmestrand.no\":true,\"holtalen.no\":true,\"xn--holtlen-hxa.no\":true,\"hornindal.no\":true,\"horten.no\":true,\"hurdal.no\":true,\"hurum.no\":true,\"hvaler.no\":true,\"hyllestad.no\":true,\"hagebostad.no\":true,\"xn--hgebostad-g3a.no\":true,\"hoyanger.no\":true,\"xn--hyanger-q1a.no\":true,\"hoylandet.no\":true,\"xn--hylandet-54a.no\":true,\"ha.no\":true,\"xn--h-2fa.no\":true,\"ibestad.no\":true,\"inderoy.no\":true,\"xn--indery-fya.no\":true,\"iveland.no\":true,\"jevnaker.no\":true,\"jondal.no\":true,\"jolster.no\":true,\"xn--jlster-bya.no\":true,\"karasjok.no\":true,\"karasjohka.no\":true,\"xn--krjohka-hwab49j.no\":true,\"karlsoy.no\":true,\"galsa.no\":true,\"xn--gls-elac.no\":true,\"karmoy.no\":true,\"xn--karmy-yua.no\":true,\"kautokeino.no\":true,\"guovdageaidnu.no\":true,\"klepp.no\":true,\"klabu.no\":true,\"xn--klbu-woa.no\":true,\"kongsberg.no\":true,\"kongsvinger.no\":true,\"kragero.no\":true,\"xn--krager-gya.no\":true,\"kristiansand.no\":true,\"kristiansund.no\":true,\"krodsherad.no\":true,\"xn--krdsherad-m8a.no\":true,\"kvalsund.no\":true,\"rahkkeravju.no\":true,\"xn--rhkkervju-01af.no\":true,\"kvam.no\":true,\"kvinesdal.no\":true,\"kvinnherad.no\":true,\"kviteseid.no\":true,\"kvitsoy.no\":true,\"xn--kvitsy-fya.no\":true,\"kvafjord.no\":true,\"xn--kvfjord-nxa.no\":true,\"giehtavuoatna.no\":true,\"kvanangen.no\":true,\"xn--kvnangen-k0a.no\":true,\"navuotna.no\":true,\"xn--nvuotna-hwa.no\":true,\"kafjord.no\":true,\"xn--kfjord-iua.no\":true,\"gaivuotna.no\":true,\"xn--givuotna-8ya.no\":true,\"larvik.no\":true,\"lavangen.no\":true,\"lavagis.no\":true,\"loabat.no\":true,\"xn--loabt-0qa.no\":true,\"lebesby.no\":true,\"davvesiida.no\":true,\"leikanger.no\":true,\"leirfjord.no\":true,\"leka.no\":true,\"leksvik.no\":true,\"lenvik.no\":true,\"leangaviika.no\":true,\"xn--leagaviika-52b.no\":true,\"lesja.no\":true,\"levanger.no\":true,\"lier.no\":true,\"lierne.no\":true,\"lillehammer.no\":true,\"lillesand.no\":true,\"lindesnes.no\":true,\"lindas.no\":true,\"xn--linds-pra.no\":true,\"lom.no\":true,\"loppa.no\":true,\"lahppi.no\":true,\"xn--lhppi-xqa.no\":true,\"lund.no\":true,\"lunner.no\":true,\"luroy.no\":true,\"xn--lury-ira.no\":true,\"luster.no\":true,\"lyngdal.no\":true,\"lyngen.no\":true,\"ivgu.no\":true,\"lardal.no\":true,\"lerdal.no\":true,\"xn--lrdal-sra.no\":true,\"lodingen.no\":true,\"xn--ldingen-q1a.no\":true,\"lorenskog.no\":true,\"xn--lrenskog-54a.no\":true,\"loten.no\":true,\"xn--lten-gra.no\":true,\"malvik.no\":true,\"masoy.no\":true,\"xn--msy-ula0h.no\":true,\"muosat.no\":true,\"xn--muost-0qa.no\":true,\"mandal.no\":true,\"marker.no\":true,\"marnardal.no\":true,\"masfjorden.no\":true,\"meland.no\":true,\"meldal.no\":true,\"melhus.no\":true,\"meloy.no\":true,\"xn--mely-ira.no\":true,\"meraker.no\":true,\"xn--merker-kua.no\":true,\"moareke.no\":true,\"xn--moreke-jua.no\":true,\"midsund.no\":true,\"midtre-gauldal.no\":true,\"modalen.no\":true,\"modum.no\":true,\"molde.no\":true,\"moskenes.no\":true,\"moss.no\":true,\"mosvik.no\":true,\"malselv.no\":true,\"xn--mlselv-iua.no\":true,\"malatvuopmi.no\":true,\"xn--mlatvuopmi-s4a.no\":true,\"namdalseid.no\":true,\"aejrie.no\":true,\"namsos.no\":true,\"namsskogan.no\":true,\"naamesjevuemie.no\":true,\"xn--nmesjevuemie-tcba.no\":true,\"laakesvuemie.no\":true,\"nannestad.no\":true,\"narvik.no\":true,\"narviika.no\":true,\"naustdal.no\":true,\"nedre-eiker.no\":true,\"nes.akershus.no\":true,\"nes.buskerud.no\":true,\"nesna.no\":true,\"nesodden.no\":true,\"nesseby.no\":true,\"unjarga.no\":true,\"xn--unjrga-rta.no\":true,\"nesset.no\":true,\"nissedal.no\":true,\"nittedal.no\":true,\"nord-aurdal.no\":true,\"nord-fron.no\":true,\"nord-odal.no\":true,\"norddal.no\":true,\"nordkapp.no\":true,\"davvenjarga.no\":true,\"xn--davvenjrga-y4a.no\":true,\"nordre-land.no\":true,\"nordreisa.no\":true,\"raisa.no\":true,\"xn--risa-5na.no\":true,\"nore-og-uvdal.no\":true,\"notodden.no\":true,\"naroy.no\":true,\"xn--nry-yla5g.no\":true,\"notteroy.no\":true,\"xn--nttery-byae.no\":true,\"odda.no\":true,\"oksnes.no\":true,\"xn--ksnes-uua.no\":true,\"oppdal.no\":true,\"oppegard.no\":true,\"xn--oppegrd-ixa.no\":true,\"orkdal.no\":true,\"orland.no\":true,\"xn--rland-uua.no\":true,\"orskog.no\":true,\"xn--rskog-uua.no\":true,\"orsta.no\":true,\"xn--rsta-fra.no\":true,\"os.hedmark.no\":true,\"os.hordaland.no\":true,\"osen.no\":true,\"osteroy.no\":true,\"xn--ostery-fya.no\":true,\"ostre-toten.no\":true,\"xn--stre-toten-zcb.no\":true,\"overhalla.no\":true,\"ovre-eiker.no\":true,\"xn--vre-eiker-k8a.no\":true,\"oyer.no\":true,\"xn--yer-zna.no\":true,\"oygarden.no\":true,\"xn--ygarden-p1a.no\":true,\"oystre-slidre.no\":true,\"xn--ystre-slidre-ujb.no\":true,\"porsanger.no\":true,\"porsangu.no\":true,\"xn--porsgu-sta26f.no\":true,\"porsgrunn.no\":true,\"radoy.no\":true,\"xn--rady-ira.no\":true,\"rakkestad.no\":true,\"rana.no\":true,\"ruovat.no\":true,\"randaberg.no\":true,\"rauma.no\":true,\"rendalen.no\":true,\"rennebu.no\":true,\"rennesoy.no\":true,\"xn--rennesy-v1a.no\":true,\"rindal.no\":true,\"ringebu.no\":true,\"ringerike.no\":true,\"ringsaker.no\":true,\"rissa.no\":true,\"risor.no\":true,\"xn--risr-ira.no\":true,\"roan.no\":true,\"rollag.no\":true,\"rygge.no\":true,\"ralingen.no\":true,\"xn--rlingen-mxa.no\":true,\"rodoy.no\":true,\"xn--rdy-0nab.no\":true,\"romskog.no\":true,\"xn--rmskog-bya.no\":true,\"roros.no\":true,\"xn--rros-gra.no\":true,\"rost.no\":true,\"xn--rst-0na.no\":true,\"royken.no\":true,\"xn--ryken-vua.no\":true,\"royrvik.no\":true,\"xn--ryrvik-bya.no\":true,\"rade.no\":true,\"xn--rde-ula.no\":true,\"salangen.no\":true,\"siellak.no\":true,\"saltdal.no\":true,\"salat.no\":true,\"xn--slt-elab.no\":true,\"xn--slat-5na.no\":true,\"samnanger.no\":true,\"sande.more-og-romsdal.no\":true,\"sande.xn--mre-og-romsdal-qqb.no\":true,\"sande.vestfold.no\":true,\"sandefjord.no\":true,\"sandnes.no\":true,\"sandoy.no\":true,\"xn--sandy-yua.no\":true,\"sarpsborg.no\":true,\"sauda.no\":true,\"sauherad.no\":true,\"sel.no\":true,\"selbu.no\":true,\"selje.no\":true,\"seljord.no\":true,\"sigdal.no\":true,\"siljan.no\":true,\"sirdal.no\":true,\"skaun.no\":true,\"skedsmo.no\":true,\"ski.no\":true,\"skien.no\":true,\"skiptvet.no\":true,\"skjervoy.no\":true,\"xn--skjervy-v1a.no\":true,\"skierva.no\":true,\"xn--skierv-uta.no\":true,\"skjak.no\":true,\"xn--skjk-soa.no\":true,\"skodje.no\":true,\"skanland.no\":true,\"xn--sknland-fxa.no\":true,\"skanit.no\":true,\"xn--sknit-yqa.no\":true,\"smola.no\":true,\"xn--smla-hra.no\":true,\"snillfjord.no\":true,\"snasa.no\":true,\"xn--snsa-roa.no\":true,\"snoasa.no\":true,\"snaase.no\":true,\"xn--snase-nra.no\":true,\"sogndal.no\":true,\"sokndal.no\":true,\"sola.no\":true,\"solund.no\":true,\"songdalen.no\":true,\"sortland.no\":true,\"spydeberg.no\":true,\"stange.no\":true,\"stavanger.no\":true,\"steigen.no\":true,\"steinkjer.no\":true,\"stjordal.no\":true,\"xn--stjrdal-s1a.no\":true,\"stokke.no\":true,\"stor-elvdal.no\":true,\"stord.no\":true,\"stordal.no\":true,\"storfjord.no\":true,\"omasvuotna.no\":true,\"strand.no\":true,\"stranda.no\":true,\"stryn.no\":true,\"sula.no\":true,\"suldal.no\":true,\"sund.no\":true,\"sunndal.no\":true,\"surnadal.no\":true,\"sveio.no\":true,\"svelvik.no\":true,\"sykkylven.no\":true,\"sogne.no\":true,\"xn--sgne-gra.no\":true,\"somna.no\":true,\"xn--smna-gra.no\":true,\"sondre-land.no\":true,\"xn--sndre-land-0cb.no\":true,\"sor-aurdal.no\":true,\"xn--sr-aurdal-l8a.no\":true,\"sor-fron.no\":true,\"xn--sr-fron-q1a.no\":true,\"sor-odal.no\":true,\"xn--sr-odal-q1a.no\":true,\"sor-varanger.no\":true,\"xn--sr-varanger-ggb.no\":true,\"matta-varjjat.no\":true,\"xn--mtta-vrjjat-k7af.no\":true,\"sorfold.no\":true,\"xn--srfold-bya.no\":true,\"sorreisa.no\":true,\"xn--srreisa-q1a.no\":true,\"sorum.no\":true,\"xn--srum-gra.no\":true,\"tana.no\":true,\"deatnu.no\":true,\"time.no\":true,\"tingvoll.no\":true,\"tinn.no\":true,\"tjeldsund.no\":true,\"dielddanuorri.no\":true,\"tjome.no\":true,\"xn--tjme-hra.no\":true,\"tokke.no\":true,\"tolga.no\":true,\"torsken.no\":true,\"tranoy.no\":true,\"xn--trany-yua.no\":true,\"tromso.no\":true,\"xn--troms-zua.no\":true,\"tromsa.no\":true,\"romsa.no\":true,\"trondheim.no\":true,\"troandin.no\":true,\"trysil.no\":true,\"trana.no\":true,\"xn--trna-woa.no\":true,\"trogstad.no\":true,\"xn--trgstad-r1a.no\":true,\"tvedestrand.no\":true,\"tydal.no\":true,\"tynset.no\":true,\"tysfjord.no\":true,\"divtasvuodna.no\":true,\"divttasvuotna.no\":true,\"tysnes.no\":true,\"tysvar.no\":true,\"xn--tysvr-vra.no\":true,\"tonsberg.no\":true,\"xn--tnsberg-q1a.no\":true,\"ullensaker.no\":true,\"ullensvang.no\":true,\"ulvik.no\":true,\"utsira.no\":true,\"vadso.no\":true,\"xn--vads-jra.no\":true,\"cahcesuolo.no\":true,\"xn--hcesuolo-7ya35b.no\":true,\"vaksdal.no\":true,\"valle.no\":true,\"vang.no\":true,\"vanylven.no\":true,\"vardo.no\":true,\"xn--vard-jra.no\":true,\"varggat.no\":true,\"xn--vrggt-xqad.no\":true,\"vefsn.no\":true,\"vaapste.no\":true,\"vega.no\":true,\"vegarshei.no\":true,\"xn--vegrshei-c0a.no\":true,\"vennesla.no\":true,\"verdal.no\":true,\"verran.no\":true,\"vestby.no\":true,\"vestnes.no\":true,\"vestre-slidre.no\":true,\"vestre-toten.no\":true,\"vestvagoy.no\":true,\"xn--vestvgy-ixa6o.no\":true,\"vevelstad.no\":true,\"vik.no\":true,\"vikna.no\":true,\"vindafjord.no\":true,\"volda.no\":true,\"voss.no\":true,\"varoy.no\":true,\"xn--vry-yla5g.no\":true,\"vagan.no\":true,\"xn--vgan-qoa.no\":true,\"voagat.no\":true,\"vagsoy.no\":true,\"xn--vgsy-qoa0j.no\":true,\"vaga.no\":true,\"xn--vg-yiab.no\":true,\"valer.ostfold.no\":true,\"xn--vler-qoa.xn--stfold-9xa.no\":true,\"valer.hedmark.no\":true,\"xn--vler-qoa.hedmark.no\":true,\"*.np\":true,\"nr\":true,\"biz.nr\":true,\"info.nr\":true,\"gov.nr\":true,\"edu.nr\":true,\"org.nr\":true,\"net.nr\":true,\"com.nr\":true,\"nu\":true,\"nz\":true,\"ac.nz\":true,\"co.nz\":true,\"cri.nz\":true,\"geek.nz\":true,\"gen.nz\":true,\"govt.nz\":true,\"health.nz\":true,\"iwi.nz\":true,\"kiwi.nz\":true,\"maori.nz\":true,\"mil.nz\":true,\"xn--mori-qsa.nz\":true,\"net.nz\":true,\"org.nz\":true,\"parliament.nz\":true,\"school.nz\":true,\"om\":true,\"co.om\":true,\"com.om\":true,\"edu.om\":true,\"gov.om\":true,\"med.om\":true,\"museum.om\":true,\"net.om\":true,\"org.om\":true,\"pro.om\":true,\"org\":true,\"pa\":true,\"ac.pa\":true,\"gob.pa\":true,\"com.pa\":true,\"org.pa\":true,\"sld.pa\":true,\"edu.pa\":true,\"net.pa\":true,\"ing.pa\":true,\"abo.pa\":true,\"med.pa\":true,\"nom.pa\":true,\"pe\":true,\"edu.pe\":true,\"gob.pe\":true,\"nom.pe\":true,\"mil.pe\":true,\"org.pe\":true,\"com.pe\":true,\"net.pe\":true,\"pf\":true,\"com.pf\":true,\"org.pf\":true,\"edu.pf\":true,\"*.pg\":true,\"ph\":true,\"com.ph\":true,\"net.ph\":true,\"org.ph\":true,\"gov.ph\":true,\"edu.ph\":true,\"ngo.ph\":true,\"mil.ph\":true,\"i.ph\":true,\"pk\":true,\"com.pk\":true,\"net.pk\":true,\"edu.pk\":true,\"org.pk\":true,\"fam.pk\":true,\"biz.pk\":true,\"web.pk\":true,\"gov.pk\":true,\"gob.pk\":true,\"gok.pk\":true,\"gon.pk\":true,\"gop.pk\":true,\"gos.pk\":true,\"info.pk\":true,\"pl\":true,\"com.pl\":true,\"net.pl\":true,\"org.pl\":true,\"aid.pl\":true,\"agro.pl\":true,\"atm.pl\":true,\"auto.pl\":true,\"biz.pl\":true,\"edu.pl\":true,\"gmina.pl\":true,\"gsm.pl\":true,\"info.pl\":true,\"mail.pl\":true,\"miasta.pl\":true,\"media.pl\":true,\"mil.pl\":true,\"nieruchomosci.pl\":true,\"nom.pl\":true,\"pc.pl\":true,\"powiat.pl\":true,\"priv.pl\":true,\"realestate.pl\":true,\"rel.pl\":true,\"sex.pl\":true,\"shop.pl\":true,\"sklep.pl\":true,\"sos.pl\":true,\"szkola.pl\":true,\"targi.pl\":true,\"tm.pl\":true,\"tourism.pl\":true,\"travel.pl\":true,\"turystyka.pl\":true,\"gov.pl\":true,\"ap.gov.pl\":true,\"ic.gov.pl\":true,\"is.gov.pl\":true,\"us.gov.pl\":true,\"kmpsp.gov.pl\":true,\"kppsp.gov.pl\":true,\"kwpsp.gov.pl\":true,\"psp.gov.pl\":true,\"wskr.gov.pl\":true,\"kwp.gov.pl\":true,\"mw.gov.pl\":true,\"ug.gov.pl\":true,\"um.gov.pl\":true,\"umig.gov.pl\":true,\"ugim.gov.pl\":true,\"upow.gov.pl\":true,\"uw.gov.pl\":true,\"starostwo.gov.pl\":true,\"pa.gov.pl\":true,\"po.gov.pl\":true,\"psse.gov.pl\":true,\"pup.gov.pl\":true,\"rzgw.gov.pl\":true,\"sa.gov.pl\":true,\"so.gov.pl\":true,\"sr.gov.pl\":true,\"wsa.gov.pl\":true,\"sko.gov.pl\":true,\"uzs.gov.pl\":true,\"wiih.gov.pl\":true,\"winb.gov.pl\":true,\"pinb.gov.pl\":true,\"wios.gov.pl\":true,\"witd.gov.pl\":true,\"wzmiuw.gov.pl\":true,\"piw.gov.pl\":true,\"wiw.gov.pl\":true,\"griw.gov.pl\":true,\"wif.gov.pl\":true,\"oum.gov.pl\":true,\"sdn.gov.pl\":true,\"zp.gov.pl\":true,\"uppo.gov.pl\":true,\"mup.gov.pl\":true,\"wuoz.gov.pl\":true,\"konsulat.gov.pl\":true,\"oirm.gov.pl\":true,\"augustow.pl\":true,\"babia-gora.pl\":true,\"bedzin.pl\":true,\"beskidy.pl\":true,\"bialowieza.pl\":true,\"bialystok.pl\":true,\"bielawa.pl\":true,\"bieszczady.pl\":true,\"boleslawiec.pl\":true,\"bydgoszcz.pl\":true,\"bytom.pl\":true,\"cieszyn.pl\":true,\"czeladz.pl\":true,\"czest.pl\":true,\"dlugoleka.pl\":true,\"elblag.pl\":true,\"elk.pl\":true,\"glogow.pl\":true,\"gniezno.pl\":true,\"gorlice.pl\":true,\"grajewo.pl\":true,\"ilawa.pl\":true,\"jaworzno.pl\":true,\"jelenia-gora.pl\":true,\"jgora.pl\":true,\"kalisz.pl\":true,\"kazimierz-dolny.pl\":true,\"karpacz.pl\":true,\"kartuzy.pl\":true,\"kaszuby.pl\":true,\"katowice.pl\":true,\"kepno.pl\":true,\"ketrzyn.pl\":true,\"klodzko.pl\":true,\"kobierzyce.pl\":true,\"kolobrzeg.pl\":true,\"konin.pl\":true,\"konskowola.pl\":true,\"kutno.pl\":true,\"lapy.pl\":true,\"lebork.pl\":true,\"legnica.pl\":true,\"lezajsk.pl\":true,\"limanowa.pl\":true,\"lomza.pl\":true,\"lowicz.pl\":true,\"lubin.pl\":true,\"lukow.pl\":true,\"malbork.pl\":true,\"malopolska.pl\":true,\"mazowsze.pl\":true,\"mazury.pl\":true,\"mielec.pl\":true,\"mielno.pl\":true,\"mragowo.pl\":true,\"naklo.pl\":true,\"nowaruda.pl\":true,\"nysa.pl\":true,\"olawa.pl\":true,\"olecko.pl\":true,\"olkusz.pl\":true,\"olsztyn.pl\":true,\"opoczno.pl\":true,\"opole.pl\":true,\"ostroda.pl\":true,\"ostroleka.pl\":true,\"ostrowiec.pl\":true,\"ostrowwlkp.pl\":true,\"pila.pl\":true,\"pisz.pl\":true,\"podhale.pl\":true,\"podlasie.pl\":true,\"polkowice.pl\":true,\"pomorze.pl\":true,\"pomorskie.pl\":true,\"prochowice.pl\":true,\"pruszkow.pl\":true,\"przeworsk.pl\":true,\"pulawy.pl\":true,\"radom.pl\":true,\"rawa-maz.pl\":true,\"rybnik.pl\":true,\"rzeszow.pl\":true,\"sanok.pl\":true,\"sejny.pl\":true,\"slask.pl\":true,\"slupsk.pl\":true,\"sosnowiec.pl\":true,\"stalowa-wola.pl\":true,\"skoczow.pl\":true,\"starachowice.pl\":true,\"stargard.pl\":true,\"suwalki.pl\":true,\"swidnica.pl\":true,\"swiebodzin.pl\":true,\"swinoujscie.pl\":true,\"szczecin.pl\":true,\"szczytno.pl\":true,\"tarnobrzeg.pl\":true,\"tgory.pl\":true,\"turek.pl\":true,\"tychy.pl\":true,\"ustka.pl\":true,\"walbrzych.pl\":true,\"warmia.pl\":true,\"warszawa.pl\":true,\"waw.pl\":true,\"wegrow.pl\":true,\"wielun.pl\":true,\"wlocl.pl\":true,\"wloclawek.pl\":true,\"wodzislaw.pl\":true,\"wolomin.pl\":true,\"wroclaw.pl\":true,\"zachpomor.pl\":true,\"zagan.pl\":true,\"zarow.pl\":true,\"zgora.pl\":true,\"zgorzelec.pl\":true,\"pm\":true,\"pn\":true,\"gov.pn\":true,\"co.pn\":true,\"org.pn\":true,\"edu.pn\":true,\"net.pn\":true,\"post\":true,\"pr\":true,\"com.pr\":true,\"net.pr\":true,\"org.pr\":true,\"gov.pr\":true,\"edu.pr\":true,\"isla.pr\":true,\"pro.pr\":true,\"biz.pr\":true,\"info.pr\":true,\"name.pr\":true,\"est.pr\":true,\"prof.pr\":true,\"ac.pr\":true,\"pro\":true,\"aca.pro\":true,\"bar.pro\":true,\"cpa.pro\":true,\"jur.pro\":true,\"law.pro\":true,\"med.pro\":true,\"eng.pro\":true,\"ps\":true,\"edu.ps\":true,\"gov.ps\":true,\"sec.ps\":true,\"plo.ps\":true,\"com.ps\":true,\"org.ps\":true,\"net.ps\":true,\"pt\":true,\"net.pt\":true,\"gov.pt\":true,\"org.pt\":true,\"edu.pt\":true,\"int.pt\":true,\"publ.pt\":true,\"com.pt\":true,\"nome.pt\":true,\"pw\":true,\"co.pw\":true,\"ne.pw\":true,\"or.pw\":true,\"ed.pw\":true,\"go.pw\":true,\"belau.pw\":true,\"py\":true,\"com.py\":true,\"coop.py\":true,\"edu.py\":true,\"gov.py\":true,\"mil.py\":true,\"net.py\":true,\"org.py\":true,\"qa\":true,\"com.qa\":true,\"edu.qa\":true,\"gov.qa\":true,\"mil.qa\":true,\"name.qa\":true,\"net.qa\":true,\"org.qa\":true,\"sch.qa\":true,\"re\":true,\"com.re\":true,\"asso.re\":true,\"nom.re\":true,\"ro\":true,\"com.ro\":true,\"org.ro\":true,\"tm.ro\":true,\"nt.ro\":true,\"nom.ro\":true,\"info.ro\":true,\"rec.ro\":true,\"arts.ro\":true,\"firm.ro\":true,\"store.ro\":true,\"www.ro\":true,\"rs\":true,\"co.rs\":true,\"org.rs\":true,\"edu.rs\":true,\"ac.rs\":true,\"gov.rs\":true,\"in.rs\":true,\"ru\":true,\"ac.ru\":true,\"com.ru\":true,\"edu.ru\":true,\"int.ru\":true,\"net.ru\":true,\"org.ru\":true,\"pp.ru\":true,\"adygeya.ru\":true,\"altai.ru\":true,\"amur.ru\":true,\"arkhangelsk.ru\":true,\"astrakhan.ru\":true,\"bashkiria.ru\":true,\"belgorod.ru\":true,\"bir.ru\":true,\"bryansk.ru\":true,\"buryatia.ru\":true,\"cbg.ru\":true,\"chel.ru\":true,\"chelyabinsk.ru\":true,\"chita.ru\":true,\"chukotka.ru\":true,\"chuvashia.ru\":true,\"dagestan.ru\":true,\"dudinka.ru\":true,\"e-burg.ru\":true,\"grozny.ru\":true,\"irkutsk.ru\":true,\"ivanovo.ru\":true,\"izhevsk.ru\":true,\"jar.ru\":true,\"joshkar-ola.ru\":true,\"kalmykia.ru\":true,\"kaluga.ru\":true,\"kamchatka.ru\":true,\"karelia.ru\":true,\"kazan.ru\":true,\"kchr.ru\":true,\"kemerovo.ru\":true,\"khabarovsk.ru\":true,\"khakassia.ru\":true,\"khv.ru\":true,\"kirov.ru\":true,\"koenig.ru\":true,\"komi.ru\":true,\"kostroma.ru\":true,\"krasnoyarsk.ru\":true,\"kuban.ru\":true,\"kurgan.ru\":true,\"kursk.ru\":true,\"lipetsk.ru\":true,\"magadan.ru\":true,\"mari.ru\":true,\"mari-el.ru\":true,\"marine.ru\":true,\"mordovia.ru\":true,\"msk.ru\":true,\"murmansk.ru\":true,\"nalchik.ru\":true,\"nnov.ru\":true,\"nov.ru\":true,\"novosibirsk.ru\":true,\"nsk.ru\":true,\"omsk.ru\":true,\"orenburg.ru\":true,\"oryol.ru\":true,\"palana.ru\":true,\"penza.ru\":true,\"perm.ru\":true,\"ptz.ru\":true,\"rnd.ru\":true,\"ryazan.ru\":true,\"sakhalin.ru\":true,\"samara.ru\":true,\"saratov.ru\":true,\"simbirsk.ru\":true,\"smolensk.ru\":true,\"spb.ru\":true,\"stavropol.ru\":true,\"stv.ru\":true,\"surgut.ru\":true,\"tambov.ru\":true,\"tatarstan.ru\":true,\"tom.ru\":true,\"tomsk.ru\":true,\"tsaritsyn.ru\":true,\"tsk.ru\":true,\"tula.ru\":true,\"tuva.ru\":true,\"tver.ru\":true,\"tyumen.ru\":true,\"udm.ru\":true,\"udmurtia.ru\":true,\"ulan-ude.ru\":true,\"vladikavkaz.ru\":true,\"vladimir.ru\":true,\"vladivostok.ru\":true,\"volgograd.ru\":true,\"vologda.ru\":true,\"voronezh.ru\":true,\"vrn.ru\":true,\"vyatka.ru\":true,\"yakutia.ru\":true,\"yamal.ru\":true,\"yaroslavl.ru\":true,\"yekaterinburg.ru\":true,\"yuzhno-sakhalinsk.ru\":true,\"amursk.ru\":true,\"baikal.ru\":true,\"cmw.ru\":true,\"fareast.ru\":true,\"jamal.ru\":true,\"kms.ru\":true,\"k-uralsk.ru\":true,\"kustanai.ru\":true,\"kuzbass.ru\":true,\"magnitka.ru\":true,\"mytis.ru\":true,\"nakhodka.ru\":true,\"nkz.ru\":true,\"norilsk.ru\":true,\"oskol.ru\":true,\"pyatigorsk.ru\":true,\"rubtsovsk.ru\":true,\"snz.ru\":true,\"syzran.ru\":true,\"vdonsk.ru\":true,\"zgrad.ru\":true,\"gov.ru\":true,\"mil.ru\":true,\"test.ru\":true,\"rw\":true,\"gov.rw\":true,\"net.rw\":true,\"edu.rw\":true,\"ac.rw\":true,\"com.rw\":true,\"co.rw\":true,\"int.rw\":true,\"mil.rw\":true,\"gouv.rw\":true,\"sa\":true,\"com.sa\":true,\"net.sa\":true,\"org.sa\":true,\"gov.sa\":true,\"med.sa\":true,\"pub.sa\":true,\"edu.sa\":true,\"sch.sa\":true,\"sb\":true,\"com.sb\":true,\"edu.sb\":true,\"gov.sb\":true,\"net.sb\":true,\"org.sb\":true,\"sc\":true,\"com.sc\":true,\"gov.sc\":true,\"net.sc\":true,\"org.sc\":true,\"edu.sc\":true,\"sd\":true,\"com.sd\":true,\"net.sd\":true,\"org.sd\":true,\"edu.sd\":true,\"med.sd\":true,\"tv.sd\":true,\"gov.sd\":true,\"info.sd\":true,\"se\":true,\"a.se\":true,\"ac.se\":true,\"b.se\":true,\"bd.se\":true,\"brand.se\":true,\"c.se\":true,\"d.se\":true,\"e.se\":true,\"f.se\":true,\"fh.se\":true,\"fhsk.se\":true,\"fhv.se\":true,\"g.se\":true,\"h.se\":true,\"i.se\":true,\"k.se\":true,\"komforb.se\":true,\"kommunalforbund.se\":true,\"komvux.se\":true,\"l.se\":true,\"lanbib.se\":true,\"m.se\":true,\"n.se\":true,\"naturbruksgymn.se\":true,\"o.se\":true,\"org.se\":true,\"p.se\":true,\"parti.se\":true,\"pp.se\":true,\"press.se\":true,\"r.se\":true,\"s.se\":true,\"t.se\":true,\"tm.se\":true,\"u.se\":true,\"w.se\":true,\"x.se\":true,\"y.se\":true,\"z.se\":true,\"sg\":true,\"com.sg\":true,\"net.sg\":true,\"org.sg\":true,\"gov.sg\":true,\"edu.sg\":true,\"per.sg\":true,\"sh\":true,\"com.sh\":true,\"net.sh\":true,\"gov.sh\":true,\"org.sh\":true,\"mil.sh\":true,\"si\":true,\"sj\":true,\"sk\":true,\"sl\":true,\"com.sl\":true,\"net.sl\":true,\"edu.sl\":true,\"gov.sl\":true,\"org.sl\":true,\"sm\":true,\"sn\":true,\"art.sn\":true,\"com.sn\":true,\"edu.sn\":true,\"gouv.sn\":true,\"org.sn\":true,\"perso.sn\":true,\"univ.sn\":true,\"so\":true,\"com.so\":true,\"net.so\":true,\"org.so\":true,\"sr\":true,\"st\":true,\"co.st\":true,\"com.st\":true,\"consulado.st\":true,\"edu.st\":true,\"embaixada.st\":true,\"gov.st\":true,\"mil.st\":true,\"net.st\":true,\"org.st\":true,\"principe.st\":true,\"saotome.st\":true,\"store.st\":true,\"su\":true,\"adygeya.su\":true,\"arkhangelsk.su\":true,\"balashov.su\":true,\"bashkiria.su\":true,\"bryansk.su\":true,\"dagestan.su\":true,\"grozny.su\":true,\"ivanovo.su\":true,\"kalmykia.su\":true,\"kaluga.su\":true,\"karelia.su\":true,\"khakassia.su\":true,\"krasnodar.su\":true,\"kurgan.su\":true,\"lenug.su\":true,\"mordovia.su\":true,\"msk.su\":true,\"murmansk.su\":true,\"nalchik.su\":true,\"nov.su\":true,\"obninsk.su\":true,\"penza.su\":true,\"pokrovsk.su\":true,\"sochi.su\":true,\"spb.su\":true,\"togliatti.su\":true,\"troitsk.su\":true,\"tula.su\":true,\"tuva.su\":true,\"vladikavkaz.su\":true,\"vladimir.su\":true,\"vologda.su\":true,\"sv\":true,\"com.sv\":true,\"edu.sv\":true,\"gob.sv\":true,\"org.sv\":true,\"red.sv\":true,\"sx\":true,\"gov.sx\":true,\"sy\":true,\"edu.sy\":true,\"gov.sy\":true,\"net.sy\":true,\"mil.sy\":true,\"com.sy\":true,\"org.sy\":true,\"sz\":true,\"co.sz\":true,\"ac.sz\":true,\"org.sz\":true,\"tc\":true,\"td\":true,\"tel\":true,\"tf\":true,\"tg\":true,\"th\":true,\"ac.th\":true,\"co.th\":true,\"go.th\":true,\"in.th\":true,\"mi.th\":true,\"net.th\":true,\"or.th\":true,\"tj\":true,\"ac.tj\":true,\"biz.tj\":true,\"co.tj\":true,\"com.tj\":true,\"edu.tj\":true,\"go.tj\":true,\"gov.tj\":true,\"int.tj\":true,\"mil.tj\":true,\"name.tj\":true,\"net.tj\":true,\"nic.tj\":true,\"org.tj\":true,\"test.tj\":true,\"web.tj\":true,\"tk\":true,\"tl\":true,\"gov.tl\":true,\"tm\":true,\"com.tm\":true,\"co.tm\":true,\"org.tm\":true,\"net.tm\":true,\"nom.tm\":true,\"gov.tm\":true,\"mil.tm\":true,\"edu.tm\":true,\"tn\":true,\"com.tn\":true,\"ens.tn\":true,\"fin.tn\":true,\"gov.tn\":true,\"ind.tn\":true,\"intl.tn\":true,\"nat.tn\":true,\"net.tn\":true,\"org.tn\":true,\"info.tn\":true,\"perso.tn\":true,\"tourism.tn\":true,\"edunet.tn\":true,\"rnrt.tn\":true,\"rns.tn\":true,\"rnu.tn\":true,\"mincom.tn\":true,\"agrinet.tn\":true,\"defense.tn\":true,\"turen.tn\":true,\"to\":true,\"com.to\":true,\"gov.to\":true,\"net.to\":true,\"org.to\":true,\"edu.to\":true,\"mil.to\":true,\"tp\":true,\"tr\":true,\"com.tr\":true,\"info.tr\":true,\"biz.tr\":true,\"net.tr\":true,\"org.tr\":true,\"web.tr\":true,\"gen.tr\":true,\"tv.tr\":true,\"av.tr\":true,\"dr.tr\":true,\"bbs.tr\":true,\"name.tr\":true,\"tel.tr\":true,\"gov.tr\":true,\"bel.tr\":true,\"pol.tr\":true,\"mil.tr\":true,\"k12.tr\":true,\"edu.tr\":true,\"kep.tr\":true,\"nc.tr\":true,\"gov.nc.tr\":true,\"travel\":true,\"tt\":true,\"co.tt\":true,\"com.tt\":true,\"org.tt\":true,\"net.tt\":true,\"biz.tt\":true,\"info.tt\":true,\"pro.tt\":true,\"int.tt\":true,\"coop.tt\":true,\"jobs.tt\":true,\"mobi.tt\":true,\"travel.tt\":true,\"museum.tt\":true,\"aero.tt\":true,\"name.tt\":true,\"gov.tt\":true,\"edu.tt\":true,\"tv\":true,\"tw\":true,\"edu.tw\":true,\"gov.tw\":true,\"mil.tw\":true,\"com.tw\":true,\"net.tw\":true,\"org.tw\":true,\"idv.tw\":true,\"game.tw\":true,\"ebiz.tw\":true,\"club.tw\":true,\"xn--zf0ao64a.tw\":true,\"xn--uc0atv.tw\":true,\"xn--czrw28b.tw\":true,\"tz\":true,\"ac.tz\":true,\"co.tz\":true,\"go.tz\":true,\"hotel.tz\":true,\"info.tz\":true,\"me.tz\":true,\"mil.tz\":true,\"mobi.tz\":true,\"ne.tz\":true,\"or.tz\":true,\"sc.tz\":true,\"tv.tz\":true,\"ua\":true,\"com.ua\":true,\"edu.ua\":true,\"gov.ua\":true,\"in.ua\":true,\"net.ua\":true,\"org.ua\":true,\"cherkassy.ua\":true,\"cherkasy.ua\":true,\"chernigov.ua\":true,\"chernihiv.ua\":true,\"chernivtsi.ua\":true,\"chernovtsy.ua\":true,\"ck.ua\":true,\"cn.ua\":true,\"cr.ua\":true,\"crimea.ua\":true,\"cv.ua\":true,\"dn.ua\":true,\"dnepropetrovsk.ua\":true,\"dnipropetrovsk.ua\":true,\"dominic.ua\":true,\"donetsk.ua\":true,\"dp.ua\":true,\"if.ua\":true,\"ivano-frankivsk.ua\":true,\"kh.ua\":true,\"kharkiv.ua\":true,\"kharkov.ua\":true,\"kherson.ua\":true,\"khmelnitskiy.ua\":true,\"khmelnytskyi.ua\":true,\"kiev.ua\":true,\"kirovograd.ua\":true,\"km.ua\":true,\"kr.ua\":true,\"krym.ua\":true,\"ks.ua\":true,\"kv.ua\":true,\"kyiv.ua\":true,\"lg.ua\":true,\"lt.ua\":true,\"lugansk.ua\":true,\"lutsk.ua\":true,\"lv.ua\":true,\"lviv.ua\":true,\"mk.ua\":true,\"mykolaiv.ua\":true,\"nikolaev.ua\":true,\"od.ua\":true,\"odesa.ua\":true,\"odessa.ua\":true,\"pl.ua\":true,\"poltava.ua\":true,\"rivne.ua\":true,\"rovno.ua\":true,\"rv.ua\":true,\"sb.ua\":true,\"sebastopol.ua\":true,\"sevastopol.ua\":true,\"sm.ua\":true,\"sumy.ua\":true,\"te.ua\":true,\"ternopil.ua\":true,\"uz.ua\":true,\"uzhgorod.ua\":true,\"vinnica.ua\":true,\"vinnytsia.ua\":true,\"vn.ua\":true,\"volyn.ua\":true,\"yalta.ua\":true,\"zaporizhzhe.ua\":true,\"zaporizhzhia.ua\":true,\"zhitomir.ua\":true,\"zhytomyr.ua\":true,\"zp.ua\":true,\"zt.ua\":true,\"ug\":true,\"co.ug\":true,\"or.ug\":true,\"ac.ug\":true,\"sc.ug\":true,\"go.ug\":true,\"ne.ug\":true,\"com.ug\":true,\"org.ug\":true,\"uk\":true,\"ac.uk\":true,\"co.uk\":true,\"gov.uk\":true,\"ltd.uk\":true,\"me.uk\":true,\"net.uk\":true,\"nhs.uk\":true,\"org.uk\":true,\"plc.uk\":true,\"police.uk\":true,\"*.sch.uk\":true,\"us\":true,\"dni.us\":true,\"fed.us\":true,\"isa.us\":true,\"kids.us\":true,\"nsn.us\":true,\"ak.us\":true,\"al.us\":true,\"ar.us\":true,\"as.us\":true,\"az.us\":true,\"ca.us\":true,\"co.us\":true,\"ct.us\":true,\"dc.us\":true,\"de.us\":true,\"fl.us\":true,\"ga.us\":true,\"gu.us\":true,\"hi.us\":true,\"ia.us\":true,\"id.us\":true,\"il.us\":true,\"in.us\":true,\"ks.us\":true,\"ky.us\":true,\"la.us\":true,\"ma.us\":true,\"md.us\":true,\"me.us\":true,\"mi.us\":true,\"mn.us\":true,\"mo.us\":true,\"ms.us\":true,\"mt.us\":true,\"nc.us\":true,\"nd.us\":true,\"ne.us\":true,\"nh.us\":true,\"nj.us\":true,\"nm.us\":true,\"nv.us\":true,\"ny.us\":true,\"oh.us\":true,\"ok.us\":true,\"or.us\":true,\"pa.us\":true,\"pr.us\":true,\"ri.us\":true,\"sc.us\":true,\"sd.us\":true,\"tn.us\":true,\"tx.us\":true,\"ut.us\":true,\"vi.us\":true,\"vt.us\":true,\"va.us\":true,\"wa.us\":true,\"wi.us\":true,\"wv.us\":true,\"wy.us\":true,\"k12.ak.us\":true,\"k12.al.us\":true,\"k12.ar.us\":true,\"k12.as.us\":true,\"k12.az.us\":true,\"k12.ca.us\":true,\"k12.co.us\":true,\"k12.ct.us\":true,\"k12.dc.us\":true,\"k12.de.us\":true,\"k12.fl.us\":true,\"k12.ga.us\":true,\"k12.gu.us\":true,\"k12.ia.us\":true,\"k12.id.us\":true,\"k12.il.us\":true,\"k12.in.us\":true,\"k12.ks.us\":true,\"k12.ky.us\":true,\"k12.la.us\":true,\"k12.ma.us\":true,\"k12.md.us\":true,\"k12.me.us\":true,\"k12.mi.us\":true,\"k12.mn.us\":true,\"k12.mo.us\":true,\"k12.ms.us\":true,\"k12.mt.us\":true,\"k12.nc.us\":true,\"k12.ne.us\":true,\"k12.nh.us\":true,\"k12.nj.us\":true,\"k12.nm.us\":true,\"k12.nv.us\":true,\"k12.ny.us\":true,\"k12.oh.us\":true,\"k12.ok.us\":true,\"k12.or.us\":true,\"k12.pa.us\":true,\"k12.pr.us\":true,\"k12.ri.us\":true,\"k12.sc.us\":true,\"k12.tn.us\":true,\"k12.tx.us\":true,\"k12.ut.us\":true,\"k12.vi.us\":true,\"k12.vt.us\":true,\"k12.va.us\":true,\"k12.wa.us\":true,\"k12.wi.us\":true,\"k12.wy.us\":true,\"cc.ak.us\":true,\"cc.al.us\":true,\"cc.ar.us\":true,\"cc.as.us\":true,\"cc.az.us\":true,\"cc.ca.us\":true,\"cc.co.us\":true,\"cc.ct.us\":true,\"cc.dc.us\":true,\"cc.de.us\":true,\"cc.fl.us\":true,\"cc.ga.us\":true,\"cc.gu.us\":true,\"cc.hi.us\":true,\"cc.ia.us\":true,\"cc.id.us\":true,\"cc.il.us\":true,\"cc.in.us\":true,\"cc.ks.us\":true,\"cc.ky.us\":true,\"cc.la.us\":true,\"cc.ma.us\":true,\"cc.md.us\":true,\"cc.me.us\":true,\"cc.mi.us\":true,\"cc.mn.us\":true,\"cc.mo.us\":true,\"cc.ms.us\":true,\"cc.mt.us\":true,\"cc.nc.us\":true,\"cc.nd.us\":true,\"cc.ne.us\":true,\"cc.nh.us\":true,\"cc.nj.us\":true,\"cc.nm.us\":true,\"cc.nv.us\":true,\"cc.ny.us\":true,\"cc.oh.us\":true,\"cc.ok.us\":true,\"cc.or.us\":true,\"cc.pa.us\":true,\"cc.pr.us\":true,\"cc.ri.us\":true,\"cc.sc.us\":true,\"cc.sd.us\":true,\"cc.tn.us\":true,\"cc.tx.us\":true,\"cc.ut.us\":true,\"cc.vi.us\":true,\"cc.vt.us\":true,\"cc.va.us\":true,\"cc.wa.us\":true,\"cc.wi.us\":true,\"cc.wv.us\":true,\"cc.wy.us\":true,\"lib.ak.us\":true,\"lib.al.us\":true,\"lib.ar.us\":true,\"lib.as.us\":true,\"lib.az.us\":true,\"lib.ca.us\":true,\"lib.co.us\":true,\"lib.ct.us\":true,\"lib.dc.us\":true,\"lib.de.us\":true,\"lib.fl.us\":true,\"lib.ga.us\":true,\"lib.gu.us\":true,\"lib.hi.us\":true,\"lib.ia.us\":true,\"lib.id.us\":true,\"lib.il.us\":true,\"lib.in.us\":true,\"lib.ks.us\":true,\"lib.ky.us\":true,\"lib.la.us\":true,\"lib.ma.us\":true,\"lib.md.us\":true,\"lib.me.us\":true,\"lib.mi.us\":true,\"lib.mn.us\":true,\"lib.mo.us\":true,\"lib.ms.us\":true,\"lib.mt.us\":true,\"lib.nc.us\":true,\"lib.nd.us\":true,\"lib.ne.us\":true,\"lib.nh.us\":true,\"lib.nj.us\":true,\"lib.nm.us\":true,\"lib.nv.us\":true,\"lib.ny.us\":true,\"lib.oh.us\":true,\"lib.ok.us\":true,\"lib.or.us\":true,\"lib.pa.us\":true,\"lib.pr.us\":true,\"lib.ri.us\":true,\"lib.sc.us\":true,\"lib.sd.us\":true,\"lib.tn.us\":true,\"lib.tx.us\":true,\"lib.ut.us\":true,\"lib.vi.us\":true,\"lib.vt.us\":true,\"lib.va.us\":true,\"lib.wa.us\":true,\"lib.wi.us\":true,\"lib.wy.us\":true,\"pvt.k12.ma.us\":true,\"chtr.k12.ma.us\":true,\"paroch.k12.ma.us\":true,\"uy\":true,\"com.uy\":true,\"edu.uy\":true,\"gub.uy\":true,\"mil.uy\":true,\"net.uy\":true,\"org.uy\":true,\"uz\":true,\"co.uz\":true,\"com.uz\":true,\"net.uz\":true,\"org.uz\":true,\"va\":true,\"vc\":true,\"com.vc\":true,\"net.vc\":true,\"org.vc\":true,\"gov.vc\":true,\"mil.vc\":true,\"edu.vc\":true,\"ve\":true,\"arts.ve\":true,\"co.ve\":true,\"com.ve\":true,\"e12.ve\":true,\"edu.ve\":true,\"firm.ve\":true,\"gob.ve\":true,\"gov.ve\":true,\"info.ve\":true,\"int.ve\":true,\"mil.ve\":true,\"net.ve\":true,\"org.ve\":true,\"rec.ve\":true,\"store.ve\":true,\"tec.ve\":true,\"web.ve\":true,\"vg\":true,\"vi\":true,\"co.vi\":true,\"com.vi\":true,\"k12.vi\":true,\"net.vi\":true,\"org.vi\":true,\"vn\":true,\"com.vn\":true,\"net.vn\":true,\"org.vn\":true,\"edu.vn\":true,\"gov.vn\":true,\"int.vn\":true,\"ac.vn\":true,\"biz.vn\":true,\"info.vn\":true,\"name.vn\":true,\"pro.vn\":true,\"health.vn\":true,\"vu\":true,\"com.vu\":true,\"edu.vu\":true,\"net.vu\":true,\"org.vu\":true,\"wf\":true,\"ws\":true,\"com.ws\":true,\"net.ws\":true,\"org.ws\":true,\"gov.ws\":true,\"edu.ws\":true,\"yt\":true,\"xn--mgbaam7a8h\":true,\"xn--y9a3aq\":true,\"xn--54b7fta0cc\":true,\"xn--90ais\":true,\"xn--fiqs8s\":true,\"xn--fiqz9s\":true,\"xn--lgbbat1ad8j\":true,\"xn--wgbh1c\":true,\"xn--node\":true,\"xn--qxam\":true,\"xn--j6w193g\":true,\"xn--h2brj9c\":true,\"xn--mgbbh1a71e\":true,\"xn--fpcrj9c3d\":true,\"xn--gecrj9c\":true,\"xn--s9brj9c\":true,\"xn--45brj9c\":true,\"xn--xkc2dl3a5ee0h\":true,\"xn--mgba3a4f16a\":true,\"xn--mgba3a4fra\":true,\"xn--mgbtx2b\":true,\"xn--mgbayh7gpa\":true,\"xn--3e0b707e\":true,\"xn--80ao21a\":true,\"xn--fzc2c9e2c\":true,\"xn--xkc2al3hye2a\":true,\"xn--mgbc0a9azcg\":true,\"xn--d1alf\":true,\"xn--l1acc\":true,\"xn--mix891f\":true,\"xn--mix082f\":true,\"xn--mgbx4cd0ab\":true,\"xn--mgb9awbf\":true,\"xn--mgbai9azgqp6j\":true,\"xn--mgbai9a5eva00b\":true,\"xn--ygbi2ammx\":true,\"xn--90a3ac\":true,\"xn--o1ac.xn--90a3ac\":true,\"xn--c1avg.xn--90a3ac\":true,\"xn--90azh.xn--90a3ac\":true,\"xn--d1at.xn--90a3ac\":true,\"xn--o1ach.xn--90a3ac\":true,\"xn--80au.xn--90a3ac\":true,\"xn--p1ai\":true,\"xn--wgbl6a\":true,\"xn--mgberp4a5d4ar\":true,\"xn--mgberp4a5d4a87g\":true,\"xn--mgbqly7c0a67fbc\":true,\"xn--mgbqly7cvafr\":true,\"xn--mgbpl2fh\":true,\"xn--yfro4i67o\":true,\"xn--clchc0ea0b2g2a9gcd\":true,\"xn--ogbpf8fl\":true,\"xn--mgbtf8fl\":true,\"xn--o3cw4h\":true,\"xn--pgbs0dh\":true,\"xn--kpry57d\":true,\"xn--kprw13d\":true,\"xn--nnx388a\":true,\"xn--j1amh\":true,\"xn--mgb2ddes\":true,\"xxx\":true,\"*.ye\":true,\"ac.za\":true,\"agrica.za\":true,\"alt.za\":true,\"co.za\":true,\"edu.za\":true,\"gov.za\":true,\"grondar.za\":true,\"law.za\":true,\"mil.za\":true,\"net.za\":true,\"ngo.za\":true,\"nis.za\":true,\"nom.za\":true,\"org.za\":true,\"school.za\":true,\"tm.za\":true,\"web.za\":true,\"*.zm\":true,\"*.zw\":true,\"aaa\":true,\"aarp\":true,\"abarth\":true,\"abb\":true,\"abbott\":true,\"abbvie\":true,\"abc\":true,\"able\":true,\"abogado\":true,\"abudhabi\":true,\"academy\":true,\"accenture\":true,\"accountant\":true,\"accountants\":true,\"aco\":true,\"active\":true,\"actor\":true,\"adac\":true,\"ads\":true,\"adult\":true,\"aeg\":true,\"aetna\":true,\"afamilycompany\":true,\"afl\":true,\"africa\":true,\"africamagic\":true,\"agakhan\":true,\"agency\":true,\"aig\":true,\"aigo\":true,\"airbus\":true,\"airforce\":true,\"airtel\":true,\"akdn\":true,\"alfaromeo\":true,\"alibaba\":true,\"alipay\":true,\"allfinanz\":true,\"allstate\":true,\"ally\":true,\"alsace\":true,\"alstom\":true,\"americanexpress\":true,\"americanfamily\":true,\"amex\":true,\"amfam\":true,\"amica\":true,\"amsterdam\":true,\"analytics\":true,\"android\":true,\"anquan\":true,\"anz\":true,\"aol\":true,\"apartments\":true,\"app\":true,\"apple\":true,\"aquarelle\":true,\"aramco\":true,\"archi\":true,\"army\":true,\"arte\":true,\"asda\":true,\"associates\":true,\"athleta\":true,\"attorney\":true,\"auction\":true,\"audi\":true,\"audible\":true,\"audio\":true,\"auspost\":true,\"author\":true,\"auto\":true,\"autos\":true,\"avianca\":true,\"aws\":true,\"axa\":true,\"azure\":true,\"baby\":true,\"baidu\":true,\"banamex\":true,\"bananarepublic\":true,\"band\":true,\"bank\":true,\"bar\":true,\"barcelona\":true,\"barclaycard\":true,\"barclays\":true,\"barefoot\":true,\"bargains\":true,\"basketball\":true,\"bauhaus\":true,\"bayern\":true,\"bbc\":true,\"bbt\":true,\"bbva\":true,\"bcg\":true,\"bcn\":true,\"beats\":true,\"beer\":true,\"bentley\":true,\"berlin\":true,\"best\":true,\"bestbuy\":true,\"bet\":true,\"bharti\":true,\"bible\":true,\"bid\":true,\"bike\":true,\"bing\":true,\"bingo\":true,\"bio\":true,\"black\":true,\"blackfriday\":true,\"blanco\":true,\"blockbuster\":true,\"blog\":true,\"bloomberg\":true,\"blue\":true,\"bms\":true,\"bmw\":true,\"bnl\":true,\"bnpparibas\":true,\"boats\":true,\"boehringer\":true,\"bofa\":true,\"bom\":true,\"bond\":true,\"boo\":true,\"book\":true,\"booking\":true,\"boots\":true,\"bosch\":true,\"bostik\":true,\"bot\":true,\"boutique\":true,\"bradesco\":true,\"bridgestone\":true,\"broadway\":true,\"broker\":true,\"brother\":true,\"brussels\":true,\"budapest\":true,\"bugatti\":true,\"build\":true,\"builders\":true,\"business\":true,\"buy\":true,\"buzz\":true,\"bzh\":true,\"cab\":true,\"cafe\":true,\"cal\":true,\"call\":true,\"calvinklein\":true,\"camera\":true,\"camp\":true,\"cancerresearch\":true,\"canon\":true,\"capetown\":true,\"capital\":true,\"capitalone\":true,\"car\":true,\"caravan\":true,\"cards\":true,\"care\":true,\"career\":true,\"careers\":true,\"cars\":true,\"cartier\":true,\"casa\":true,\"case\":true,\"caseih\":true,\"cash\":true,\"casino\":true,\"catering\":true,\"cba\":true,\"cbn\":true,\"cbre\":true,\"cbs\":true,\"ceb\":true,\"center\":true,\"ceo\":true,\"cern\":true,\"cfa\":true,\"cfd\":true,\"chanel\":true,\"channel\":true,\"chase\":true,\"chat\":true,\"cheap\":true,\"chintai\":true,\"chloe\":true,\"christmas\":true,\"chrome\":true,\"chrysler\":true,\"church\":true,\"cipriani\":true,\"circle\":true,\"cisco\":true,\"citadel\":true,\"citi\":true,\"citic\":true,\"city\":true,\"cityeats\":true,\"claims\":true,\"cleaning\":true,\"click\":true,\"clinic\":true,\"clothing\":true,\"cloud\":true,\"club\":true,\"clubmed\":true,\"coach\":true,\"codes\":true,\"coffee\":true,\"college\":true,\"cologne\":true,\"comcast\":true,\"commbank\":true,\"community\":true,\"company\":true,\"computer\":true,\"comsec\":true,\"condos\":true,\"construction\":true,\"consulting\":true,\"contact\":true,\"contractors\":true,\"cooking\":true,\"cookingchannel\":true,\"cool\":true,\"corsica\":true,\"country\":true,\"coupon\":true,\"coupons\":true,\"courses\":true,\"credit\":true,\"creditcard\":true,\"creditunion\":true,\"cricket\":true,\"crown\":true,\"crs\":true,\"cruises\":true,\"csc\":true,\"cuisinella\":true,\"cymru\":true,\"cyou\":true,\"dabur\":true,\"dad\":true,\"dance\":true,\"date\":true,\"dating\":true,\"datsun\":true,\"day\":true,\"dclk\":true,\"dds\":true,\"deal\":true,\"dealer\":true,\"deals\":true,\"degree\":true,\"delivery\":true,\"dell\":true,\"deloitte\":true,\"delta\":true,\"democrat\":true,\"dental\":true,\"dentist\":true,\"desi\":true,\"design\":true,\"dev\":true,\"dhl\":true,\"diamonds\":true,\"diet\":true,\"digital\":true,\"direct\":true,\"directory\":true,\"discount\":true,\"discover\":true,\"dish\":true,\"dnp\":true,\"docs\":true,\"dodge\":true,\"dog\":true,\"doha\":true,\"domains\":true,\"doosan\":true,\"dot\":true,\"download\":true,\"drive\":true,\"dstv\":true,\"dtv\":true,\"dubai\":true,\"duck\":true,\"dunlop\":true,\"duns\":true,\"dupont\":true,\"durban\":true,\"dvag\":true,\"dwg\":true,\"earth\":true,\"eat\":true,\"edeka\":true,\"education\":true,\"email\":true,\"emerck\":true,\"emerson\":true,\"energy\":true,\"engineer\":true,\"engineering\":true,\"enterprises\":true,\"epost\":true,\"epson\":true,\"equipment\":true,\"ericsson\":true,\"erni\":true,\"esq\":true,\"estate\":true,\"esurance\":true,\"etisalat\":true,\"eurovision\":true,\"eus\":true,\"events\":true,\"everbank\":true,\"exchange\":true,\"expert\":true,\"exposed\":true,\"express\":true,\"extraspace\":true,\"fage\":true,\"fail\":true,\"fairwinds\":true,\"faith\":true,\"family\":true,\"fan\":true,\"fans\":true,\"farm\":true,\"farmers\":true,\"fashion\":true,\"fast\":true,\"fedex\":true,\"feedback\":true,\"ferrari\":true,\"ferrero\":true,\"fiat\":true,\"fidelity\":true,\"fido\":true,\"film\":true,\"final\":true,\"finance\":true,\"financial\":true,\"fire\":true,\"firestone\":true,\"firmdale\":true,\"fish\":true,\"fishing\":true,\"fit\":true,\"fitness\":true,\"flickr\":true,\"flights\":true,\"flir\":true,\"florist\":true,\"flowers\":true,\"flsmidth\":true,\"fly\":true,\"foo\":true,\"foodnetwork\":true,\"football\":true,\"ford\":true,\"forex\":true,\"forsale\":true,\"forum\":true,\"foundation\":true,\"fox\":true,\"fresenius\":true,\"frl\":true,\"frogans\":true,\"frontdoor\":true,\"frontier\":true,\"ftr\":true,\"fujitsu\":true,\"fujixerox\":true,\"fund\":true,\"furniture\":true,\"futbol\":true,\"fyi\":true,\"gal\":true,\"gallery\":true,\"gallo\":true,\"gallup\":true,\"game\":true,\"games\":true,\"gap\":true,\"garden\":true,\"gbiz\":true,\"gdn\":true,\"gea\":true,\"gent\":true,\"genting\":true,\"george\":true,\"ggee\":true,\"gift\":true,\"gifts\":true,\"gives\":true,\"giving\":true,\"glade\":true,\"glass\":true,\"gle\":true,\"global\":true,\"globo\":true,\"gmail\":true,\"gmo\":true,\"gmx\":true,\"godaddy\":true,\"gold\":true,\"goldpoint\":true,\"golf\":true,\"goo\":true,\"goodhands\":true,\"goodyear\":true,\"goog\":true,\"google\":true,\"gop\":true,\"got\":true,\"gotv\":true,\"grainger\":true,\"graphics\":true,\"gratis\":true,\"green\":true,\"gripe\":true,\"group\":true,\"guardian\":true,\"gucci\":true,\"guge\":true,\"guide\":true,\"guitars\":true,\"guru\":true,\"hamburg\":true,\"hangout\":true,\"haus\":true,\"hbo\":true,\"hdfc\":true,\"hdfcbank\":true,\"health\":true,\"healthcare\":true,\"help\":true,\"helsinki\":true,\"here\":true,\"hermes\":true,\"hgtv\":true,\"hiphop\":true,\"hisamitsu\":true,\"hitachi\":true,\"hiv\":true,\"hkt\":true,\"hockey\":true,\"holdings\":true,\"holiday\":true,\"homedepot\":true,\"homegoods\":true,\"homes\":true,\"homesense\":true,\"honda\":true,\"honeywell\":true,\"horse\":true,\"host\":true,\"hosting\":true,\"hot\":true,\"hoteles\":true,\"hotmail\":true,\"house\":true,\"how\":true,\"hsbc\":true,\"htc\":true,\"hughes\":true,\"hyatt\":true,\"hyundai\":true,\"ibm\":true,\"icbc\":true,\"ice\":true,\"icu\":true,\"ieee\":true,\"ifm\":true,\"iinet\":true,\"ikano\":true,\"imamat\":true,\"imdb\":true,\"immo\":true,\"immobilien\":true,\"industries\":true,\"infiniti\":true,\"ing\":true,\"ink\":true,\"institute\":true,\"insurance\":true,\"insure\":true,\"intel\":true,\"international\":true,\"intuit\":true,\"investments\":true,\"ipiranga\":true,\"irish\":true,\"iselect\":true,\"ismaili\":true,\"ist\":true,\"istanbul\":true,\"itau\":true,\"itv\":true,\"iveco\":true,\"iwc\":true,\"jaguar\":true,\"java\":true,\"jcb\":true,\"jcp\":true,\"jeep\":true,\"jetzt\":true,\"jewelry\":true,\"jio\":true,\"jlc\":true,\"jll\":true,\"jmp\":true,\"jnj\":true,\"joburg\":true,\"jot\":true,\"joy\":true,\"jpmorgan\":true,\"jprs\":true,\"juegos\":true,\"juniper\":true,\"kaufen\":true,\"kddi\":true,\"kerryhotels\":true,\"kerrylogistics\":true,\"kerryproperties\":true,\"kfh\":true,\"kia\":true,\"kim\":true,\"kinder\":true,\"kindle\":true,\"kitchen\":true,\"kiwi\":true,\"koeln\":true,\"komatsu\":true,\"kosher\":true,\"kpmg\":true,\"kpn\":true,\"krd\":true,\"kred\":true,\"kuokgroup\":true,\"kyknet\":true,\"kyoto\":true,\"lacaixa\":true,\"ladbrokes\":true,\"lamborghini\":true,\"lancaster\":true,\"lancia\":true,\"lancome\":true,\"land\":true,\"landrover\":true,\"lanxess\":true,\"lasalle\":true,\"lat\":true,\"latino\":true,\"latrobe\":true,\"law\":true,\"lawyer\":true,\"lds\":true,\"lease\":true,\"leclerc\":true,\"lefrak\":true,\"legal\":true,\"lego\":true,\"lexus\":true,\"lgbt\":true,\"liaison\":true,\"lidl\":true,\"life\":true,\"lifeinsurance\":true,\"lifestyle\":true,\"lighting\":true,\"like\":true,\"lilly\":true,\"limited\":true,\"limo\":true,\"lincoln\":true,\"linde\":true,\"link\":true,\"lipsy\":true,\"live\":true,\"living\":true,\"lixil\":true,\"loan\":true,\"loans\":true,\"locker\":true,\"locus\":true,\"loft\":true,\"lol\":true,\"london\":true,\"lotte\":true,\"lotto\":true,\"love\":true,\"lpl\":true,\"lplfinancial\":true,\"ltd\":true,\"ltda\":true,\"lundbeck\":true,\"lupin\":true,\"luxe\":true,\"luxury\":true,\"macys\":true,\"madrid\":true,\"maif\":true,\"maison\":true,\"makeup\":true,\"man\":true,\"management\":true,\"mango\":true,\"market\":true,\"marketing\":true,\"markets\":true,\"marriott\":true,\"marshalls\":true,\"maserati\":true,\"mattel\":true,\"mba\":true,\"mcd\":true,\"mcdonalds\":true,\"mckinsey\":true,\"med\":true,\"media\":true,\"meet\":true,\"melbourne\":true,\"meme\":true,\"memorial\":true,\"men\":true,\"menu\":true,\"meo\":true,\"metlife\":true,\"miami\":true,\"microsoft\":true,\"mini\":true,\"mint\":true,\"mit\":true,\"mitsubishi\":true,\"mlb\":true,\"mls\":true,\"mma\":true,\"mnet\":true,\"mobily\":true,\"moda\":true,\"moe\":true,\"moi\":true,\"mom\":true,\"monash\":true,\"money\":true,\"monster\":true,\"montblanc\":true,\"mopar\":true,\"mormon\":true,\"mortgage\":true,\"moscow\":true,\"moto\":true,\"motorcycles\":true,\"mov\":true,\"movie\":true,\"movistar\":true,\"msd\":true,\"mtn\":true,\"mtpc\":true,\"mtr\":true,\"multichoice\":true,\"mutual\":true,\"mutuelle\":true,\"mzansimagic\":true,\"nab\":true,\"nadex\":true,\"nagoya\":true,\"naspers\":true,\"nationwide\":true,\"natura\":true,\"navy\":true,\"nba\":true,\"nec\":true,\"netbank\":true,\"netflix\":true,\"network\":true,\"neustar\":true,\"new\":true,\"newholland\":true,\"news\":true,\"next\":true,\"nextdirect\":true,\"nexus\":true,\"nfl\":true,\"ngo\":true,\"nhk\":true,\"nico\":true,\"nike\":true,\"nikon\":true,\"ninja\":true,\"nissan\":true,\"nokia\":true,\"northwesternmutual\":true,\"norton\":true,\"now\":true,\"nowruz\":true,\"nowtv\":true,\"nra\":true,\"nrw\":true,\"ntt\":true,\"nyc\":true,\"obi\":true,\"observer\":true,\"off\":true,\"office\":true,\"okinawa\":true,\"olayan\":true,\"olayangroup\":true,\"oldnavy\":true,\"ollo\":true,\"omega\":true,\"one\":true,\"ong\":true,\"onl\":true,\"online\":true,\"onyourside\":true,\"ooo\":true,\"open\":true,\"oracle\":true,\"orange\":true,\"organic\":true,\"orientexpress\":true,\"osaka\":true,\"otsuka\":true,\"ott\":true,\"ovh\":true,\"page\":true,\"pamperedchef\":true,\"panasonic\":true,\"panerai\":true,\"paris\":true,\"pars\":true,\"partners\":true,\"parts\":true,\"party\":true,\"passagens\":true,\"pay\":true,\"payu\":true,\"pccw\":true,\"pet\":true,\"pfizer\":true,\"pharmacy\":true,\"philips\":true,\"photo\":true,\"photography\":true,\"photos\":true,\"physio\":true,\"piaget\":true,\"pics\":true,\"pictet\":true,\"pictures\":true,\"pid\":true,\"pin\":true,\"ping\":true,\"pink\":true,\"pioneer\":true,\"pizza\":true,\"place\":true,\"play\":true,\"playstation\":true,\"plumbing\":true,\"plus\":true,\"pnc\":true,\"pohl\":true,\"poker\":true,\"politie\":true,\"porn\":true,\"pramerica\":true,\"praxi\":true,\"press\":true,\"prime\":true,\"prod\":true,\"productions\":true,\"prof\":true,\"progressive\":true,\"promo\":true,\"properties\":true,\"property\":true,\"protection\":true,\"pru\":true,\"prudential\":true,\"pub\":true,\"qpon\":true,\"quebec\":true,\"quest\":true,\"qvc\":true,\"racing\":true,\"raid\":true,\"read\":true,\"realestate\":true,\"realtor\":true,\"realty\":true,\"recipes\":true,\"red\":true,\"redstone\":true,\"redumbrella\":true,\"rehab\":true,\"reise\":true,\"reisen\":true,\"reit\":true,\"reliance\":true,\"ren\":true,\"rent\":true,\"rentals\":true,\"repair\":true,\"report\":true,\"republican\":true,\"rest\":true,\"restaurant\":true,\"review\":true,\"reviews\":true,\"rexroth\":true,\"rich\":true,\"richardli\":true,\"ricoh\":true,\"rightathome\":true,\"ril\":true,\"rio\":true,\"rip\":true,\"rocher\":true,\"rocks\":true,\"rodeo\":true,\"rogers\":true,\"room\":true,\"rsvp\":true,\"ruhr\":true,\"run\":true,\"rwe\":true,\"ryukyu\":true,\"saarland\":true,\"safe\":true,\"safety\":true,\"sakura\":true,\"sale\":true,\"salon\":true,\"samsclub\":true,\"samsung\":true,\"sandvik\":true,\"sandvikcoromant\":true,\"sanofi\":true,\"sap\":true,\"sapo\":true,\"sarl\":true,\"sas\":true,\"save\":true,\"saxo\":true,\"sbi\":true,\"sbs\":true,\"sca\":true,\"scb\":true,\"schaeffler\":true,\"schmidt\":true,\"scholarships\":true,\"school\":true,\"schule\":true,\"schwarz\":true,\"science\":true,\"scjohnson\":true,\"scor\":true,\"scot\":true,\"seat\":true,\"secure\":true,\"security\":true,\"seek\":true,\"sener\":true,\"services\":true,\"ses\":true,\"seven\":true,\"sew\":true,\"sex\":true,\"sexy\":true,\"sfr\":true,\"shangrila\":true,\"sharp\":true,\"shaw\":true,\"shell\":true,\"shia\":true,\"shiksha\":true,\"shoes\":true,\"shouji\":true,\"show\":true,\"showtime\":true,\"shriram\":true,\"silk\":true,\"sina\":true,\"singles\":true,\"site\":true,\"ski\":true,\"skin\":true,\"sky\":true,\"skype\":true,\"sling\":true,\"smart\":true,\"smile\":true,\"sncf\":true,\"soccer\":true,\"social\":true,\"softbank\":true,\"software\":true,\"sohu\":true,\"solar\":true,\"solutions\":true,\"song\":true,\"sony\":true,\"soy\":true,\"space\":true,\"spiegel\":true,\"spot\":true,\"spreadbetting\":true,\"srl\":true,\"srt\":true,\"stada\":true,\"staples\":true,\"star\":true,\"starhub\":true,\"statebank\":true,\"statefarm\":true,\"statoil\":true,\"stc\":true,\"stcgroup\":true,\"stockholm\":true,\"storage\":true,\"store\":true,\"studio\":true,\"study\":true,\"style\":true,\"sucks\":true,\"supersport\":true,\"supplies\":true,\"supply\":true,\"support\":true,\"surf\":true,\"surgery\":true,\"suzuki\":true,\"swatch\":true,\"swiftcover\":true,\"swiss\":true,\"sydney\":true,\"symantec\":true,\"systems\":true,\"tab\":true,\"taipei\":true,\"talk\":true,\"taobao\":true,\"target\":true,\"tatamotors\":true,\"tatar\":true,\"tattoo\":true,\"tax\":true,\"taxi\":true,\"tci\":true,\"tdk\":true,\"team\":true,\"tech\":true,\"technology\":true,\"telecity\":true,\"telefonica\":true,\"temasek\":true,\"tennis\":true,\"teva\":true,\"thd\":true,\"theater\":true,\"theatre\":true,\"theguardian\":true,\"tiaa\":true,\"tickets\":true,\"tienda\":true,\"tiffany\":true,\"tips\":true,\"tires\":true,\"tirol\":true,\"tjmaxx\":true,\"tjx\":true,\"tkmaxx\":true,\"tmall\":true,\"today\":true,\"tokyo\":true,\"tools\":true,\"top\":true,\"toray\":true,\"toshiba\":true,\"total\":true,\"tours\":true,\"town\":true,\"toyota\":true,\"toys\":true,\"trade\":true,\"trading\":true,\"training\":true,\"travelchannel\":true,\"travelers\":true,\"travelersinsurance\":true,\"trust\":true,\"trv\":true,\"tube\":true,\"tui\":true,\"tunes\":true,\"tushu\":true,\"tvs\":true,\"ubank\":true,\"ubs\":true,\"uconnect\":true,\"university\":true,\"uno\":true,\"uol\":true,\"ups\":true,\"vacations\":true,\"vana\":true,\"vanguard\":true,\"vegas\":true,\"ventures\":true,\"verisign\":true,\"versicherung\":true,\"vet\":true,\"viajes\":true,\"video\":true,\"vig\":true,\"viking\":true,\"villas\":true,\"vin\":true,\"vip\":true,\"virgin\":true,\"visa\":true,\"vision\":true,\"vista\":true,\"vistaprint\":true,\"viva\":true,\"vivo\":true,\"vlaanderen\":true,\"vodka\":true,\"volkswagen\":true,\"vote\":true,\"voting\":true,\"voto\":true,\"voyage\":true,\"vuelos\":true,\"wales\":true,\"walmart\":true,\"walter\":true,\"wang\":true,\"wanggou\":true,\"warman\":true,\"watch\":true,\"watches\":true,\"weather\":true,\"weatherchannel\":true,\"webcam\":true,\"weber\":true,\"website\":true,\"wed\":true,\"wedding\":true,\"weibo\":true,\"weir\":true,\"whoswho\":true,\"wien\":true,\"wiki\":true,\"williamhill\":true,\"win\":true,\"windows\":true,\"wine\":true,\"winners\":true,\"wme\":true,\"wolterskluwer\":true,\"woodside\":true,\"work\":true,\"works\":true,\"world\":true,\"wtc\":true,\"wtf\":true,\"xbox\":true,\"xerox\":true,\"xfinity\":true,\"xihuan\":true,\"xin\":true,\"xn--11b4c3d\":true,\"xn--1ck2e1b\":true,\"xn--1qqw23a\":true,\"xn--30rr7y\":true,\"xn--3bst00m\":true,\"xn--3ds443g\":true,\"xn--3oq18vl8pn36a\":true,\"xn--3pxu8k\":true,\"xn--42c2d9a\":true,\"xn--45q11c\":true,\"xn--4gbrim\":true,\"xn--4gq48lf9j\":true,\"xn--55qw42g\":true,\"xn--55qx5d\":true,\"xn--5su34j936bgsg\":true,\"xn--5tzm5g\":true,\"xn--6frz82g\":true,\"xn--6qq986b3xl\":true,\"xn--80adxhks\":true,\"xn--80asehdb\":true,\"xn--80aswg\":true,\"xn--8y0a063a\":true,\"xn--9dbq2a\":true,\"xn--9et52u\":true,\"xn--9krt00a\":true,\"xn--b4w605ferd\":true,\"xn--bck1b9a5dre4c\":true,\"xn--c1avg\":true,\"xn--c2br7g\":true,\"xn--cck2b3b\":true,\"xn--cg4bki\":true,\"xn--czr694b\":true,\"xn--czrs0t\":true,\"xn--czru2d\":true,\"xn--d1acj3b\":true,\"xn--eckvdtc9d\":true,\"xn--efvy88h\":true,\"xn--estv75g\":true,\"xn--fct429k\":true,\"xn--fhbei\":true,\"xn--fiq228c5hs\":true,\"xn--fiq64b\":true,\"xn--fjq720a\":true,\"xn--flw351e\":true,\"xn--fzys8d69uvgm\":true,\"xn--g2xx48c\":true,\"xn--gckr3f0f\":true,\"xn--hxt814e\":true,\"xn--i1b6b1a6a2e\":true,\"xn--imr513n\":true,\"xn--io0a7i\":true,\"xn--j1aef\":true,\"xn--jlq61u9w7b\":true,\"xn--jvr189m\":true,\"xn--kcrx77d1x4a\":true,\"xn--kpu716f\":true,\"xn--kput3i\":true,\"xn--mgba3a3ejt\":true,\"xn--mgba7c0bbn0a\":true,\"xn--mgbaakc7dvf\":true,\"xn--mgbab2bd\":true,\"xn--mgbb9fbpob\":true,\"xn--mgbca7dzdo\":true,\"xn--mgbt3dhd\":true,\"xn--mk1bu44c\":true,\"xn--mxtq1m\":true,\"xn--ngbc5azd\":true,\"xn--ngbe9e0a\":true,\"xn--nqv7f\":true,\"xn--nqv7fs00ema\":true,\"xn--nyqy26a\":true,\"xn--p1acf\":true,\"xn--pbt977c\":true,\"xn--pssy2u\":true,\"xn--q9jyb4c\":true,\"xn--qcka1pmc\":true,\"xn--rhqv96g\":true,\"xn--rovu88b\":true,\"xn--ses554g\":true,\"xn--t60b56a\":true,\"xn--tckwe\":true,\"xn--unup4y\":true,\"xn--vermgensberater-ctb\":true,\"xn--vermgensberatung-pwb\":true,\"xn--vhquv\":true,\"xn--vuq861b\":true,\"xn--w4r85el8fhu5dnra\":true,\"xn--w4rs40l\":true,\"xn--xhq521b\":true,\"xn--zfr164b\":true,\"xperia\":true,\"xyz\":true,\"yachts\":true,\"yahoo\":true,\"yamaxun\":true,\"yandex\":true,\"yodobashi\":true,\"yoga\":true,\"yokohama\":true,\"you\":true,\"youtube\":true,\"yun\":true,\"zappos\":true,\"zara\":true,\"zero\":true,\"zip\":true,\"zippo\":true,\"zone\":true,\"zuerich\":true,\"cloudfront.net\":true,\"ap-northeast-1.compute.amazonaws.com\":true,\"ap-southeast-1.compute.amazonaws.com\":true,\"ap-southeast-2.compute.amazonaws.com\":true,\"cn-north-1.compute.amazonaws.cn\":true,\"compute.amazonaws.cn\":true,\"compute.amazonaws.com\":true,\"compute-1.amazonaws.com\":true,\"eu-west-1.compute.amazonaws.com\":true,\"eu-central-1.compute.amazonaws.com\":true,\"sa-east-1.compute.amazonaws.com\":true,\"us-east-1.amazonaws.com\":true,\"us-gov-west-1.compute.amazonaws.com\":true,\"us-west-1.compute.amazonaws.com\":true,\"us-west-2.compute.amazonaws.com\":true,\"z-1.compute-1.amazonaws.com\":true,\"z-2.compute-1.amazonaws.com\":true,\"elasticbeanstalk.com\":true,\"elb.amazonaws.com\":true,\"s3.amazonaws.com\":true,\"s3-ap-northeast-1.amazonaws.com\":true,\"s3-ap-southeast-1.amazonaws.com\":true,\"s3-ap-southeast-2.amazonaws.com\":true,\"s3-external-1.amazonaws.com\":true,\"s3-external-2.amazonaws.com\":true,\"s3-fips-us-gov-west-1.amazonaws.com\":true,\"s3-eu-central-1.amazonaws.com\":true,\"s3-eu-west-1.amazonaws.com\":true,\"s3-sa-east-1.amazonaws.com\":true,\"s3-us-gov-west-1.amazonaws.com\":true,\"s3-us-west-1.amazonaws.com\":true,\"s3-us-west-2.amazonaws.com\":true,\"s3.cn-north-1.amazonaws.com.cn\":true,\"s3.eu-central-1.amazonaws.com\":true,\"betainabox.com\":true,\"ae.org\":true,\"ar.com\":true,\"br.com\":true,\"cn.com\":true,\"com.de\":true,\"com.se\":true,\"de.com\":true,\"eu.com\":true,\"gb.com\":true,\"gb.net\":true,\"hu.com\":true,\"hu.net\":true,\"jp.net\":true,\"jpn.com\":true,\"kr.com\":true,\"mex.com\":true,\"no.com\":true,\"qc.com\":true,\"ru.com\":true,\"sa.com\":true,\"se.com\":true,\"se.net\":true,\"uk.com\":true,\"uk.net\":true,\"us.com\":true,\"uy.com\":true,\"za.bz\":true,\"za.com\":true,\"africa.com\":true,\"gr.com\":true,\"in.net\":true,\"us.org\":true,\"co.com\":true,\"c.la\":true,\"cloudcontrolled.com\":true,\"cloudcontrolapp.com\":true,\"co.ca\":true,\"c.cdn77.org\":true,\"cdn77-ssl.net\":true,\"r.cdn77.net\":true,\"rsc.cdn77.org\":true,\"ssl.origin.cdn77-secure.org\":true,\"co.nl\":true,\"co.no\":true,\"*.platform.sh\":true,\"cupcake.is\":true,\"dreamhosters.com\":true,\"duckdns.org\":true,\"dyndns-at-home.com\":true,\"dyndns-at-work.com\":true,\"dyndns-blog.com\":true,\"dyndns-free.com\":true,\"dyndns-home.com\":true,\"dyndns-ip.com\":true,\"dyndns-mail.com\":true,\"dyndns-office.com\":true,\"dyndns-pics.com\":true,\"dyndns-remote.com\":true,\"dyndns-server.com\":true,\"dyndns-web.com\":true,\"dyndns-wiki.com\":true,\"dyndns-work.com\":true,\"dyndns.biz\":true,\"dyndns.info\":true,\"dyndns.org\":true,\"dyndns.tv\":true,\"at-band-camp.net\":true,\"ath.cx\":true,\"barrel-of-knowledge.info\":true,\"barrell-of-knowledge.info\":true,\"better-than.tv\":true,\"blogdns.com\":true,\"blogdns.net\":true,\"blogdns.org\":true,\"blogsite.org\":true,\"boldlygoingnowhere.org\":true,\"broke-it.net\":true,\"buyshouses.net\":true,\"cechire.com\":true,\"dnsalias.com\":true,\"dnsalias.net\":true,\"dnsalias.org\":true,\"dnsdojo.com\":true,\"dnsdojo.net\":true,\"dnsdojo.org\":true,\"does-it.net\":true,\"doesntexist.com\":true,\"doesntexist.org\":true,\"dontexist.com\":true,\"dontexist.net\":true,\"dontexist.org\":true,\"doomdns.com\":true,\"doomdns.org\":true,\"dvrdns.org\":true,\"dyn-o-saur.com\":true,\"dynalias.com\":true,\"dynalias.net\":true,\"dynalias.org\":true,\"dynathome.net\":true,\"dyndns.ws\":true,\"endofinternet.net\":true,\"endofinternet.org\":true,\"endoftheinternet.org\":true,\"est-a-la-maison.com\":true,\"est-a-la-masion.com\":true,\"est-le-patron.com\":true,\"est-mon-blogueur.com\":true,\"for-better.biz\":true,\"for-more.biz\":true,\"for-our.info\":true,\"for-some.biz\":true,\"for-the.biz\":true,\"forgot.her.name\":true,\"forgot.his.name\":true,\"from-ak.com\":true,\"from-al.com\":true,\"from-ar.com\":true,\"from-az.net\":true,\"from-ca.com\":true,\"from-co.net\":true,\"from-ct.com\":true,\"from-dc.com\":true,\"from-de.com\":true,\"from-fl.com\":true,\"from-ga.com\":true,\"from-hi.com\":true,\"from-ia.com\":true,\"from-id.com\":true,\"from-il.com\":true,\"from-in.com\":true,\"from-ks.com\":true,\"from-ky.com\":true,\"from-la.net\":true,\"from-ma.com\":true,\"from-md.com\":true,\"from-me.org\":true,\"from-mi.com\":true,\"from-mn.com\":true,\"from-mo.com\":true,\"from-ms.com\":true,\"from-mt.com\":true,\"from-nc.com\":true,\"from-nd.com\":true,\"from-ne.com\":true,\"from-nh.com\":true,\"from-nj.com\":true,\"from-nm.com\":true,\"from-nv.com\":true,\"from-ny.net\":true,\"from-oh.com\":true,\"from-ok.com\":true,\"from-or.com\":true,\"from-pa.com\":true,\"from-pr.com\":true,\"from-ri.com\":true,\"from-sc.com\":true,\"from-sd.com\":true,\"from-tn.com\":true,\"from-tx.com\":true,\"from-ut.com\":true,\"from-va.com\":true,\"from-vt.com\":true,\"from-wa.com\":true,\"from-wi.com\":true,\"from-wv.com\":true,\"from-wy.com\":true,\"ftpaccess.cc\":true,\"fuettertdasnetz.de\":true,\"game-host.org\":true,\"game-server.cc\":true,\"getmyip.com\":true,\"gets-it.net\":true,\"go.dyndns.org\":true,\"gotdns.com\":true,\"gotdns.org\":true,\"groks-the.info\":true,\"groks-this.info\":true,\"ham-radio-op.net\":true,\"here-for-more.info\":true,\"hobby-site.com\":true,\"hobby-site.org\":true,\"home.dyndns.org\":true,\"homedns.org\":true,\"homeftp.net\":true,\"homeftp.org\":true,\"homeip.net\":true,\"homelinux.com\":true,\"homelinux.net\":true,\"homelinux.org\":true,\"homeunix.com\":true,\"homeunix.net\":true,\"homeunix.org\":true,\"iamallama.com\":true,\"in-the-band.net\":true,\"is-a-anarchist.com\":true,\"is-a-blogger.com\":true,\"is-a-bookkeeper.com\":true,\"is-a-bruinsfan.org\":true,\"is-a-bulls-fan.com\":true,\"is-a-candidate.org\":true,\"is-a-caterer.com\":true,\"is-a-celticsfan.org\":true,\"is-a-chef.com\":true,\"is-a-chef.net\":true,\"is-a-chef.org\":true,\"is-a-conservative.com\":true,\"is-a-cpa.com\":true,\"is-a-cubicle-slave.com\":true,\"is-a-democrat.com\":true,\"is-a-designer.com\":true,\"is-a-doctor.com\":true,\"is-a-financialadvisor.com\":true,\"is-a-geek.com\":true,\"is-a-geek.net\":true,\"is-a-geek.org\":true,\"is-a-green.com\":true,\"is-a-guru.com\":true,\"is-a-hard-worker.com\":true,\"is-a-hunter.com\":true,\"is-a-knight.org\":true,\"is-a-landscaper.com\":true,\"is-a-lawyer.com\":true,\"is-a-liberal.com\":true,\"is-a-libertarian.com\":true,\"is-a-linux-user.org\":true,\"is-a-llama.com\":true,\"is-a-musician.com\":true,\"is-a-nascarfan.com\":true,\"is-a-nurse.com\":true,\"is-a-painter.com\":true,\"is-a-patsfan.org\":true,\"is-a-personaltrainer.com\":true,\"is-a-photographer.com\":true,\"is-a-player.com\":true,\"is-a-republican.com\":true,\"is-a-rockstar.com\":true,\"is-a-socialist.com\":true,\"is-a-soxfan.org\":true,\"is-a-student.com\":true,\"is-a-teacher.com\":true,\"is-a-techie.com\":true,\"is-a-therapist.com\":true,\"is-an-accountant.com\":true,\"is-an-actor.com\":true,\"is-an-actress.com\":true,\"is-an-anarchist.com\":true,\"is-an-artist.com\":true,\"is-an-engineer.com\":true,\"is-an-entertainer.com\":true,\"is-by.us\":true,\"is-certified.com\":true,\"is-found.org\":true,\"is-gone.com\":true,\"is-into-anime.com\":true,\"is-into-cars.com\":true,\"is-into-cartoons.com\":true,\"is-into-games.com\":true,\"is-leet.com\":true,\"is-lost.org\":true,\"is-not-certified.com\":true,\"is-saved.org\":true,\"is-slick.com\":true,\"is-uberleet.com\":true,\"is-very-bad.org\":true,\"is-very-evil.org\":true,\"is-very-good.org\":true,\"is-very-nice.org\":true,\"is-very-sweet.org\":true,\"is-with-theband.com\":true,\"isa-geek.com\":true,\"isa-geek.net\":true,\"isa-geek.org\":true,\"isa-hockeynut.com\":true,\"issmarterthanyou.com\":true,\"isteingeek.de\":true,\"istmein.de\":true,\"kicks-ass.net\":true,\"kicks-ass.org\":true,\"knowsitall.info\":true,\"land-4-sale.us\":true,\"lebtimnetz.de\":true,\"leitungsen.de\":true,\"likes-pie.com\":true,\"likescandy.com\":true,\"merseine.nu\":true,\"mine.nu\":true,\"misconfused.org\":true,\"mypets.ws\":true,\"myphotos.cc\":true,\"neat-url.com\":true,\"office-on-the.net\":true,\"on-the-web.tv\":true,\"podzone.net\":true,\"podzone.org\":true,\"readmyblog.org\":true,\"saves-the-whales.com\":true,\"scrapper-site.net\":true,\"scrapping.cc\":true,\"selfip.biz\":true,\"selfip.com\":true,\"selfip.info\":true,\"selfip.net\":true,\"selfip.org\":true,\"sells-for-less.com\":true,\"sells-for-u.com\":true,\"sells-it.net\":true,\"sellsyourhome.org\":true,\"servebbs.com\":true,\"servebbs.net\":true,\"servebbs.org\":true,\"serveftp.net\":true,\"serveftp.org\":true,\"servegame.org\":true,\"shacknet.nu\":true,\"simple-url.com\":true,\"space-to-rent.com\":true,\"stuff-4-sale.org\":true,\"stuff-4-sale.us\":true,\"teaches-yoga.com\":true,\"thruhere.net\":true,\"traeumtgerade.de\":true,\"webhop.biz\":true,\"webhop.info\":true,\"webhop.net\":true,\"webhop.org\":true,\"worse-than.tv\":true,\"writesthisblog.com\":true,\"eu.org\":true,\"al.eu.org\":true,\"asso.eu.org\":true,\"at.eu.org\":true,\"au.eu.org\":true,\"be.eu.org\":true,\"bg.eu.org\":true,\"ca.eu.org\":true,\"cd.eu.org\":true,\"ch.eu.org\":true,\"cn.eu.org\":true,\"cy.eu.org\":true,\"cz.eu.org\":true,\"de.eu.org\":true,\"dk.eu.org\":true,\"edu.eu.org\":true,\"ee.eu.org\":true,\"es.eu.org\":true,\"fi.eu.org\":true,\"fr.eu.org\":true,\"gr.eu.org\":true,\"hr.eu.org\":true,\"hu.eu.org\":true,\"ie.eu.org\":true,\"il.eu.org\":true,\"in.eu.org\":true,\"int.eu.org\":true,\"is.eu.org\":true,\"it.eu.org\":true,\"jp.eu.org\":true,\"kr.eu.org\":true,\"lt.eu.org\":true,\"lu.eu.org\":true,\"lv.eu.org\":true,\"mc.eu.org\":true,\"me.eu.org\":true,\"mk.eu.org\":true,\"mt.eu.org\":true,\"my.eu.org\":true,\"net.eu.org\":true,\"ng.eu.org\":true,\"nl.eu.org\":true,\"no.eu.org\":true,\"nz.eu.org\":true,\"paris.eu.org\":true,\"pl.eu.org\":true,\"pt.eu.org\":true,\"q-a.eu.org\":true,\"ro.eu.org\":true,\"ru.eu.org\":true,\"se.eu.org\":true,\"si.eu.org\":true,\"sk.eu.org\":true,\"tr.eu.org\":true,\"uk.eu.org\":true,\"us.eu.org\":true,\"a.ssl.fastly.net\":true,\"b.ssl.fastly.net\":true,\"global.ssl.fastly.net\":true,\"a.prod.fastly.net\":true,\"global.prod.fastly.net\":true,\"firebaseapp.com\":true,\"flynnhub.com\":true,\"service.gov.uk\":true,\"github.io\":true,\"githubusercontent.com\":true,\"ro.com\":true,\"appspot.com\":true,\"blogspot.ae\":true,\"blogspot.al\":true,\"blogspot.am\":true,\"blogspot.ba\":true,\"blogspot.be\":true,\"blogspot.bg\":true,\"blogspot.bj\":true,\"blogspot.ca\":true,\"blogspot.cf\":true,\"blogspot.ch\":true,\"blogspot.cl\":true,\"blogspot.co.at\":true,\"blogspot.co.id\":true,\"blogspot.co.il\":true,\"blogspot.co.ke\":true,\"blogspot.co.nz\":true,\"blogspot.co.uk\":true,\"blogspot.co.za\":true,\"blogspot.com\":true,\"blogspot.com.ar\":true,\"blogspot.com.au\":true,\"blogspot.com.br\":true,\"blogspot.com.by\":true,\"blogspot.com.co\":true,\"blogspot.com.cy\":true,\"blogspot.com.ee\":true,\"blogspot.com.eg\":true,\"blogspot.com.es\":true,\"blogspot.com.mt\":true,\"blogspot.com.ng\":true,\"blogspot.com.tr\":true,\"blogspot.com.uy\":true,\"blogspot.cv\":true,\"blogspot.cz\":true,\"blogspot.de\":true,\"blogspot.dk\":true,\"blogspot.fi\":true,\"blogspot.fr\":true,\"blogspot.gr\":true,\"blogspot.hk\":true,\"blogspot.hr\":true,\"blogspot.hu\":true,\"blogspot.ie\":true,\"blogspot.in\":true,\"blogspot.is\":true,\"blogspot.it\":true,\"blogspot.jp\":true,\"blogspot.kr\":true,\"blogspot.li\":true,\"blogspot.lt\":true,\"blogspot.lu\":true,\"blogspot.md\":true,\"blogspot.mk\":true,\"blogspot.mr\":true,\"blogspot.mx\":true,\"blogspot.my\":true,\"blogspot.nl\":true,\"blogspot.no\":true,\"blogspot.pe\":true,\"blogspot.pt\":true,\"blogspot.qa\":true,\"blogspot.re\":true,\"blogspot.ro\":true,\"blogspot.rs\":true,\"blogspot.ru\":true,\"blogspot.se\":true,\"blogspot.sg\":true,\"blogspot.si\":true,\"blogspot.sk\":true,\"blogspot.sn\":true,\"blogspot.td\":true,\"blogspot.tw\":true,\"blogspot.ug\":true,\"blogspot.vn\":true,\"codespot.com\":true,\"googleapis.com\":true,\"googlecode.com\":true,\"pagespeedmobilizer.com\":true,\"withgoogle.com\":true,\"withyoutube.com\":true,\"herokuapp.com\":true,\"herokussl.com\":true,\"iki.fi\":true,\"biz.at\":true,\"info.at\":true,\"co.pl\":true,\"azurewebsites.net\":true,\"azure-mobile.net\":true,\"cloudapp.net\":true,\"bmoattachments.org\":true,\"4u.com\":true,\"nfshost.com\":true,\"nyc.mn\":true,\"nid.io\":true,\"operaunite.com\":true,\"outsystemscloud.com\":true,\"art.pl\":true,\"gliwice.pl\":true,\"krakow.pl\":true,\"poznan.pl\":true,\"wroc.pl\":true,\"zakopane.pl\":true,\"pantheon.io\":true,\"gotpantheon.com\":true,\"priv.at\":true,\"qa2.com\":true,\"rhcloud.com\":true,\"sandcats.io\":true,\"biz.ua\":true,\"co.ua\":true,\"pp.ua\":true,\"sinaapp.com\":true,\"vipsinaapp.com\":true,\"1kapp.com\":true,\"gda.pl\":true,\"gdansk.pl\":true,\"gdynia.pl\":true,\"med.pl\":true,\"sopot.pl\":true,\"hk.com\":true,\"hk.org\":true,\"ltd.hk\":true,\"inc.hk\":true,\"yolasite.com\":true,\"za.net\":true,\"za.org\":true});\n\n// END of automatically generated file\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie" }, { "id": "686", "url": "punycode.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\x20-\\x7E]/; // unprintable ASCII chars + non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = fn(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {Array} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(string, fn) {\n\tconst parts = string.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tstring = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tstring = string.replace(regexSeparators, '\\x2E');\n\tconst labels = string.split('.');\n\tconst encoded = map(labels, fn).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint - 0x30 < 0x0A) {\n\t\treturn codePoint - 0x16;\n\t}\n\tif (codePoint - 0x41 < 0x1A) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint - 0x61 < 0x1A) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (var j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (var index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tlet oldi = i;\n\t\tfor (var w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tlet inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tlet basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue == n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (var k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.0.0',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nmodule.exports = punycode;\n\n});", "pkgUrl": "(system)" }, { "id": "691", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/helpers.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar jsonSafeStringify = require('json-stringify-safe')\n , crypto = require('crypto')\n , Buffer = require('safe-buffer').Buffer\n\nvar defer = typeof setImmediate === 'undefined'\n ? process.nextTick\n : setImmediate\n\nfunction paramsHaveRequestBody(params) {\n return (\n params.body ||\n params.requestBodyStream ||\n (params.json && typeof params.json !== 'boolean') ||\n params.multipart\n )\n}\n\nfunction safeStringify (obj, replacer) {\n var ret\n try {\n ret = JSON.stringify(obj, replacer)\n } catch (e) {\n ret = jsonSafeStringify(obj, replacer)\n }\n return ret\n}\n\nfunction md5 (str) {\n return crypto.createHash('md5').update(str).digest('hex')\n}\n\nfunction isReadStream (rs) {\n return rs.readable && rs.path && rs.mode\n}\n\nfunction toBase64 (str) {\n return Buffer.from(str || '', 'utf8').toString('base64')\n}\n\nfunction copy (obj) {\n var o = {}\n Object.keys(obj).forEach(function (i) {\n o[i] = obj[i]\n })\n return o\n}\n\nfunction version () {\n var numbers = process.version.replace('v', '').split('.')\n return {\n major: parseInt(numbers[0], 10),\n minor: parseInt(numbers[1], 10),\n patch: parseInt(numbers[2], 10)\n }\n}\n\nexports.paramsHaveRequestBody = paramsHaveRequestBody\nexports.safeStringify = safeStringify\nexports.md5 = md5\nexports.isReadStream = isReadStream\nexports.toBase64 = toBase64\nexports.copy = copy\nexports.version = version\nexports.defer = defer\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request" }, { "id": "694", "url": "/usr/local/lib/node_modules/npm/node_modules/request/request.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar http = require('http')\n , https = require('https')\n , url = require('url')\n , util = require('util')\n , stream = require('stream')\n , zlib = require('zlib')\n , hawk = require('hawk')\n , aws2 = require('aws-sign2')\n , aws4 = require('aws4')\n , httpSignature = require('http-signature')\n , mime = require('mime-types')\n , stringstream = require('stringstream')\n , caseless = require('caseless')\n , ForeverAgent = require('forever-agent')\n , FormData = require('form-data')\n , extend = require('extend')\n , isstream = require('isstream')\n , isTypedArray = require('is-typedarray').strict\n , helpers = require('./lib/helpers')\n , cookies = require('./lib/cookies')\n , getProxyFromURI = require('./lib/getProxyFromURI')\n , Querystring = require('./lib/querystring').Querystring\n , Har = require('./lib/har').Har\n , Auth = require('./lib/auth').Auth\n , OAuth = require('./lib/oauth').OAuth\n , Multipart = require('./lib/multipart').Multipart\n , Redirect = require('./lib/redirect').Redirect\n , Tunnel = require('./lib/tunnel').Tunnel\n , now = require('performance-now')\n , Buffer = require('safe-buffer').Buffer\n\nvar safeStringify = helpers.safeStringify\n , isReadStream = helpers.isReadStream\n , toBase64 = helpers.toBase64\n , defer = helpers.defer\n , copy = helpers.copy\n , version = helpers.version\n , globalCookieJar = cookies.jar()\n\n\nvar globalPool = {}\n\nfunction filterForNonReserved(reserved, options) {\n // Filter out properties that are not reserved.\n // Reserved values are passed in at call site.\n\n var object = {}\n for (var i in options) {\n var notReserved = (reserved.indexOf(i) === -1)\n if (notReserved) {\n object[i] = options[i]\n }\n }\n return object\n}\n\nfunction filterOutReservedFunctions(reserved, options) {\n // Filter out properties that are functions and are reserved.\n // Reserved values are passed in at call site.\n\n var object = {}\n for (var i in options) {\n var isReserved = !(reserved.indexOf(i) === -1)\n var isFunction = (typeof options[i] === 'function')\n if (!(isReserved && isFunction)) {\n object[i] = options[i]\n }\n }\n return object\n\n}\n\n// Return a simpler request object to allow serialization\nfunction requestToJSON() {\n var self = this\n return {\n uri: self.uri,\n method: self.method,\n headers: self.headers\n }\n}\n\n// Return a simpler response object to allow serialization\nfunction responseToJSON() {\n var self = this\n return {\n statusCode: self.statusCode,\n body: self.body,\n headers: self.headers,\n request: requestToJSON.call(self.request)\n }\n}\n\nfunction Request (options) {\n // if given the method property in options, set property explicitMethod to true\n\n // extend the Request instance with any non-reserved properties\n // remove any reserved functions from the options object\n // set Request instance to be readable and writable\n // call init\n\n var self = this\n\n // start with HAR, then override with additional options\n if (options.har) {\n self._har = new Har(self)\n options = self._har.options(options)\n }\n\n stream.Stream.call(self)\n var reserved = Object.keys(Request.prototype)\n var nonReserved = filterForNonReserved(reserved, options)\n\n extend(self, nonReserved)\n options = filterOutReservedFunctions(reserved, options)\n\n self.readable = true\n self.writable = true\n if (options.method) {\n self.explicitMethod = true\n }\n self._qs = new Querystring(self)\n self._auth = new Auth(self)\n self._oauth = new OAuth(self)\n self._multipart = new Multipart(self)\n self._redirect = new Redirect(self)\n self._tunnel = new Tunnel(self)\n self.init(options)\n}\n\nutil.inherits(Request, stream.Stream)\n\n// Debugging\nRequest.debug = process.env.NODE_DEBUG && /\\brequest\\b/.test(process.env.NODE_DEBUG)\nfunction debug() {\n if (Request.debug) {\n console.error('REQUEST %s', util.format.apply(util, arguments))\n }\n}\nRequest.prototype.debug = debug\n\nRequest.prototype.init = function (options) {\n // init() contains all the code to setup the request object.\n // the actual outgoing request is not started until start() is called\n // this function is called from both the constructor and on redirect.\n var self = this\n if (!options) {\n options = {}\n }\n self.headers = self.headers ? copy(self.headers) : {}\n\n // Delete headers with value undefined since they break\n // ClientRequest.OutgoingMessage.setHeader in node 0.12\n for (var headerName in self.headers) {\n if (typeof self.headers[headerName] === 'undefined') {\n delete self.headers[headerName]\n }\n }\n\n caseless.httpify(self, self.headers)\n\n if (!self.method) {\n self.method = options.method || 'GET'\n }\n if (!self.localAddress) {\n self.localAddress = options.localAddress\n }\n\n self._qs.init(options)\n\n debug(options)\n if (!self.pool && self.pool !== false) {\n self.pool = globalPool\n }\n self.dests = self.dests || []\n self.__isRequestRequest = true\n\n // Protect against double callback\n if (!self._callback && self.callback) {\n self._callback = self.callback\n self.callback = function () {\n if (self._callbackCalled) {\n return // Print a warning maybe?\n }\n self._callbackCalled = true\n self._callback.apply(self, arguments)\n }\n self.on('error', self.callback.bind())\n self.on('complete', self.callback.bind(self, null))\n }\n\n // People use this property instead all the time, so support it\n if (!self.uri && self.url) {\n self.uri = self.url\n delete self.url\n }\n\n // If there's a baseUrl, then use it as the base URL (i.e. uri must be\n // specified as a relative path and is appended to baseUrl).\n if (self.baseUrl) {\n if (typeof self.baseUrl !== 'string') {\n return self.emit('error', new Error('options.baseUrl must be a string'))\n }\n\n if (typeof self.uri !== 'string') {\n return self.emit('error', new Error('options.uri must be a string when using options.baseUrl'))\n }\n\n if (self.uri.indexOf('//') === 0 || self.uri.indexOf('://') !== -1) {\n return self.emit('error', new Error('options.uri must be a path when using options.baseUrl'))\n }\n\n // Handle all cases to make sure that there's only one slash between\n // baseUrl and uri.\n var baseUrlEndsWithSlash = self.baseUrl.lastIndexOf('/') === self.baseUrl.length - 1\n var uriStartsWithSlash = self.uri.indexOf('/') === 0\n\n if (baseUrlEndsWithSlash && uriStartsWithSlash) {\n self.uri = self.baseUrl + self.uri.slice(1)\n } else if (baseUrlEndsWithSlash || uriStartsWithSlash) {\n self.uri = self.baseUrl + self.uri\n } else if (self.uri === '') {\n self.uri = self.baseUrl\n } else {\n self.uri = self.baseUrl + '/' + self.uri\n }\n delete self.baseUrl\n }\n\n // A URI is needed by this point, emit error if we haven't been able to get one\n if (!self.uri) {\n return self.emit('error', new Error('options.uri is a required argument'))\n }\n\n // If a string URI/URL was given, parse it into a URL object\n if (typeof self.uri === 'string') {\n self.uri = url.parse(self.uri)\n }\n\n // Some URL objects are not from a URL parsed string and need href added\n if (!self.uri.href) {\n self.uri.href = url.format(self.uri)\n }\n\n // DEPRECATED: Warning for users of the old Unix Sockets URL Scheme\n if (self.uri.protocol === 'unix:') {\n return self.emit('error', new Error('`unix://` URL scheme is no longer supported. Please use the format `http://unix:SOCKET:PATH`'))\n }\n\n // Support Unix Sockets\n if (self.uri.host === 'unix') {\n self.enableUnixSocket()\n }\n\n if (self.strictSSL === false) {\n self.rejectUnauthorized = false\n }\n\n if (!self.uri.pathname) {self.uri.pathname = '/'}\n\n if (!(self.uri.host || (self.uri.hostname && self.uri.port)) && !self.uri.isUnix) {\n // Invalid URI: it may generate lot of bad errors, like 'TypeError: Cannot call method `indexOf` of undefined' in CookieJar\n // Detect and reject it as soon as possible\n var faultyUri = url.format(self.uri)\n var message = 'Invalid URI \"' + faultyUri + '\"'\n if (Object.keys(options).length === 0) {\n // No option ? This can be the sign of a redirect\n // As this is a case where the user cannot do anything (they didn't call request directly with this URL)\n // they should be warned that it can be caused by a redirection (can save some hair)\n message += '. This can be caused by a crappy redirection.'\n }\n // This error was fatal\n self.abort()\n return self.emit('error', new Error(message))\n }\n\n if (!self.hasOwnProperty('proxy')) {\n self.proxy = getProxyFromURI(self.uri)\n }\n\n self.tunnel = self._tunnel.isEnabled()\n if (self.proxy) {\n self._tunnel.setup(options)\n }\n\n self._redirect.onRequest(options)\n\n self.setHost = false\n if (!self.hasHeader('host')) {\n var hostHeaderName = self.originalHostHeaderName || 'host'\n // When used with an IPv6 address, `host` will provide\n // the correct bracketed format, unlike using `hostname` and\n // optionally adding the `port` when necessary.\n self.setHeader(hostHeaderName, self.uri.host)\n self.setHost = true\n }\n\n self.jar(self._jar || options.jar)\n\n if (!self.uri.port) {\n if (self.uri.protocol === 'http:') {self.uri.port = 80}\n else if (self.uri.protocol === 'https:') {self.uri.port = 443}\n }\n\n if (self.proxy && !self.tunnel) {\n self.port = self.proxy.port\n self.host = self.proxy.hostname\n } else {\n self.port = self.uri.port\n self.host = self.uri.hostname\n }\n\n if (options.form) {\n self.form(options.form)\n }\n\n if (options.formData) {\n var formData = options.formData\n var requestForm = self.form()\n var appendFormValue = function (key, value) {\n if (value && value.hasOwnProperty('value') && value.hasOwnProperty('options')) {\n requestForm.append(key, value.value, value.options)\n } else {\n requestForm.append(key, value)\n }\n }\n for (var formKey in formData) {\n if (formData.hasOwnProperty(formKey)) {\n var formValue = formData[formKey]\n if (formValue instanceof Array) {\n for (var j = 0; j < formValue.length; j++) {\n appendFormValue(formKey, formValue[j])\n }\n } else {\n appendFormValue(formKey, formValue)\n }\n }\n }\n }\n\n if (options.qs) {\n self.qs(options.qs)\n }\n\n if (self.uri.path) {\n self.path = self.uri.path\n } else {\n self.path = self.uri.pathname + (self.uri.search || '')\n }\n\n if (self.path.length === 0) {\n self.path = '/'\n }\n\n // Auth must happen last in case signing is dependent on other headers\n if (options.aws) {\n self.aws(options.aws)\n }\n\n if (options.hawk) {\n self.hawk(options.hawk)\n }\n\n if (options.httpSignature) {\n self.httpSignature(options.httpSignature)\n }\n\n if (options.auth) {\n if (Object.prototype.hasOwnProperty.call(options.auth, 'username')) {\n options.auth.user = options.auth.username\n }\n if (Object.prototype.hasOwnProperty.call(options.auth, 'password')) {\n options.auth.pass = options.auth.password\n }\n\n self.auth(\n options.auth.user,\n options.auth.pass,\n options.auth.sendImmediately,\n options.auth.bearer\n )\n }\n\n if (self.gzip && !self.hasHeader('accept-encoding')) {\n self.setHeader('accept-encoding', 'gzip, deflate')\n }\n\n if (self.uri.auth && !self.hasHeader('authorization')) {\n var uriAuthPieces = self.uri.auth.split(':').map(function(item) {return self._qs.unescape(item)})\n self.auth(uriAuthPieces[0], uriAuthPieces.slice(1).join(':'), true)\n }\n\n if (!self.tunnel && self.proxy && self.proxy.auth && !self.hasHeader('proxy-authorization')) {\n var proxyAuthPieces = self.proxy.auth.split(':').map(function(item) {return self._qs.unescape(item)})\n var authHeader = 'Basic ' + toBase64(proxyAuthPieces.join(':'))\n self.setHeader('proxy-authorization', authHeader)\n }\n\n if (self.proxy && !self.tunnel) {\n self.path = (self.uri.protocol + '//' + self.uri.host + self.path)\n }\n\n if (options.json) {\n self.json(options.json)\n }\n if (options.multipart) {\n self.multipart(options.multipart)\n }\n\n if (options.time) {\n self.timing = true\n\n // NOTE: elapsedTime is deprecated in favor of .timings\n self.elapsedTime = self.elapsedTime || 0\n }\n\n function setContentLength () {\n if (isTypedArray(self.body)) {\n self.body = Buffer.from(self.body)\n }\n\n if (!self.hasHeader('content-length')) {\n var length\n if (typeof self.body === 'string') {\n length = Buffer.byteLength(self.body)\n }\n else if (Array.isArray(self.body)) {\n length = self.body.reduce(function (a, b) {return a + b.length}, 0)\n }\n else {\n length = self.body.length\n }\n\n if (length) {\n self.setHeader('content-length', length)\n } else {\n self.emit('error', new Error('Argument error, options.body.'))\n }\n }\n }\n if (self.body && !isstream(self.body)) {\n setContentLength()\n }\n\n if (options.oauth) {\n self.oauth(options.oauth)\n } else if (self._oauth.params && self.hasHeader('authorization')) {\n self.oauth(self._oauth.params)\n }\n\n var protocol = self.proxy && !self.tunnel ? self.proxy.protocol : self.uri.protocol\n , defaultModules = {'http:':http, 'https:':https}\n , httpModules = self.httpModules || {}\n\n self.httpModule = httpModules[protocol] || defaultModules[protocol]\n\n if (!self.httpModule) {\n return self.emit('error', new Error('Invalid protocol: ' + protocol))\n }\n\n if (options.ca) {\n self.ca = options.ca\n }\n\n if (!self.agent) {\n if (options.agentOptions) {\n self.agentOptions = options.agentOptions\n }\n\n if (options.agentClass) {\n self.agentClass = options.agentClass\n } else if (options.forever) {\n var v = version()\n // use ForeverAgent in node 0.10- only\n if (v.major === 0 && v.minor <= 10) {\n self.agentClass = protocol === 'http:' ? ForeverAgent : ForeverAgent.SSL\n } else {\n self.agentClass = self.httpModule.Agent\n self.agentOptions = self.agentOptions || {}\n self.agentOptions.keepAlive = true\n }\n } else {\n self.agentClass = self.httpModule.Agent\n }\n }\n\n if (self.pool === false) {\n self.agent = false\n } else {\n self.agent = self.agent || self.getNewAgent()\n }\n\n self.on('pipe', function (src) {\n if (self.ntick && self._started) {\n self.emit('error', new Error('You cannot pipe to this stream after the outbound request has started.'))\n }\n self.src = src\n if (isReadStream(src)) {\n if (!self.hasHeader('content-type')) {\n self.setHeader('content-type', mime.lookup(src.path))\n }\n } else {\n if (src.headers) {\n for (var i in src.headers) {\n if (!self.hasHeader(i)) {\n self.setHeader(i, src.headers[i])\n }\n }\n }\n if (self._json && !self.hasHeader('content-type')) {\n self.setHeader('content-type', 'application/json')\n }\n if (src.method && !self.explicitMethod) {\n self.method = src.method\n }\n }\n\n // self.on('pipe', function () {\n // console.error('You have already piped to this stream. Pipeing twice is likely to break the request.')\n // })\n })\n\n defer(function () {\n if (self._aborted) {\n return\n }\n\n var end = function () {\n if (self._form) {\n if (!self._auth.hasAuth) {\n self._form.pipe(self)\n }\n else if (self._auth.hasAuth && self._auth.sentAuth) {\n self._form.pipe(self)\n }\n }\n if (self._multipart && self._multipart.chunked) {\n self._multipart.body.pipe(self)\n }\n if (self.body) {\n if (isstream(self.body)) {\n self.body.pipe(self)\n } else {\n setContentLength()\n if (Array.isArray(self.body)) {\n self.body.forEach(function (part) {\n self.write(part)\n })\n } else {\n self.write(self.body)\n }\n self.end()\n }\n } else if (self.requestBodyStream) {\n console.warn('options.requestBodyStream is deprecated, please pass the request object to stream.pipe.')\n self.requestBodyStream.pipe(self)\n } else if (!self.src) {\n if (self._auth.hasAuth && !self._auth.sentAuth) {\n self.end()\n return\n }\n if (self.method !== 'GET' && typeof self.method !== 'undefined') {\n self.setHeader('content-length', 0)\n }\n self.end()\n }\n }\n\n if (self._form && !self.hasHeader('content-length')) {\n // Before ending the request, we had to compute the length of the whole form, asyncly\n self.setHeader(self._form.getHeaders(), true)\n self._form.getLength(function (err, length) {\n if (!err && !isNaN(length)) {\n self.setHeader('content-length', length)\n }\n end()\n })\n } else {\n end()\n }\n\n self.ntick = true\n })\n\n}\n\nRequest.prototype.getNewAgent = function () {\n var self = this\n var Agent = self.agentClass\n var options = {}\n if (self.agentOptions) {\n for (var i in self.agentOptions) {\n options[i] = self.agentOptions[i]\n }\n }\n if (self.ca) {\n options.ca = self.ca\n }\n if (self.ciphers) {\n options.ciphers = self.ciphers\n }\n if (self.secureProtocol) {\n options.secureProtocol = self.secureProtocol\n }\n if (self.secureOptions) {\n options.secureOptions = self.secureOptions\n }\n if (typeof self.rejectUnauthorized !== 'undefined') {\n options.rejectUnauthorized = self.rejectUnauthorized\n }\n\n if (self.cert && self.key) {\n options.key = self.key\n options.cert = self.cert\n }\n\n if (self.pfx) {\n options.pfx = self.pfx\n }\n\n if (self.passphrase) {\n options.passphrase = self.passphrase\n }\n\n var poolKey = ''\n\n // different types of agents are in different pools\n if (Agent !== self.httpModule.Agent) {\n poolKey += Agent.name\n }\n\n // ca option is only relevant if proxy or destination are https\n var proxy = self.proxy\n if (typeof proxy === 'string') {\n proxy = url.parse(proxy)\n }\n var isHttps = (proxy && proxy.protocol === 'https:') || this.uri.protocol === 'https:'\n\n if (isHttps) {\n if (options.ca) {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.ca\n }\n\n if (typeof options.rejectUnauthorized !== 'undefined') {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.rejectUnauthorized\n }\n\n if (options.cert) {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.cert.toString('ascii') + options.key.toString('ascii')\n }\n\n if (options.pfx) {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.pfx.toString('ascii')\n }\n\n if (options.ciphers) {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.ciphers\n }\n\n if (options.secureProtocol) {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.secureProtocol\n }\n\n if (options.secureOptions) {\n if (poolKey) {\n poolKey += ':'\n }\n poolKey += options.secureOptions\n }\n }\n\n if (self.pool === globalPool && !poolKey && Object.keys(options).length === 0 && self.httpModule.globalAgent) {\n // not doing anything special. Use the globalAgent\n return self.httpModule.globalAgent\n }\n\n // we're using a stored agent. Make sure it's protocol-specific\n poolKey = self.uri.protocol + poolKey\n\n // generate a new agent for this setting if none yet exists\n if (!self.pool[poolKey]) {\n self.pool[poolKey] = new Agent(options)\n // properly set maxSockets on new agents\n if (self.pool.maxSockets) {\n self.pool[poolKey].maxSockets = self.pool.maxSockets\n }\n }\n\n return self.pool[poolKey]\n}\n\nRequest.prototype.start = function () {\n // start() is called once we are ready to send the outgoing HTTP request.\n // this is usually called on the first write(), end() or on nextTick()\n var self = this\n\n if (self.timing) {\n // All timings will be relative to this request's startTime. In order to do this,\n // we need to capture the wall-clock start time (via Date), immediately followed\n // by the high-resolution timer (via now()). While these two won't be set\n // at the _exact_ same time, they should be close enough to be able to calculate\n // high-resolution, monotonically non-decreasing timestamps relative to startTime.\n var startTime = new Date().getTime()\n var startTimeNow = now()\n }\n\n if (self._aborted) {\n return\n }\n\n self._started = true\n self.method = self.method || 'GET'\n self.href = self.uri.href\n\n if (self.src && self.src.stat && self.src.stat.size && !self.hasHeader('content-length')) {\n self.setHeader('content-length', self.src.stat.size)\n }\n if (self._aws) {\n self.aws(self._aws, true)\n }\n\n // We have a method named auth, which is completely different from the http.request\n // auth option. If we don't remove it, we're gonna have a bad time.\n var reqOptions = copy(self)\n delete reqOptions.auth\n\n debug('make request', self.uri.href)\n\n // node v6.8.0 now supports a `timeout` value in `http.request()`, but we\n // should delete it for now since we handle timeouts manually for better\n // consistency with node versions before v6.8.0\n delete reqOptions.timeout\n\n try {\n self.req = self.httpModule.request(reqOptions)\n } catch (err) {\n self.emit('error', err)\n return\n }\n\n if (self.timing) {\n self.startTime = startTime\n self.startTimeNow = startTimeNow\n\n // Timing values will all be relative to startTime (by comparing to startTimeNow\n // so we have an accurate clock)\n self.timings = {}\n }\n\n var timeout\n if (self.timeout && !self.timeoutTimer) {\n if (self.timeout < 0) {\n timeout = 0\n } else if (typeof self.timeout === 'number' && isFinite(self.timeout)) {\n timeout = self.timeout\n }\n }\n\n self.req.on('response', self.onRequestResponse.bind(self))\n self.req.on('error', self.onRequestError.bind(self))\n self.req.on('drain', function() {\n self.emit('drain')\n })\n self.req.on('socket', function(socket) {\n // `._connecting` was the old property which was made public in node v6.1.0\n var isConnecting = socket._connecting || socket.connecting\n if (self.timing) {\n self.timings.socket = now() - self.startTimeNow\n\n if (isConnecting) {\n var onLookupTiming = function() {\n self.timings.lookup = now() - self.startTimeNow\n }\n\n var onConnectTiming = function() {\n self.timings.connect = now() - self.startTimeNow\n }\n\n socket.once('lookup', onLookupTiming)\n socket.once('connect', onConnectTiming)\n\n // clean up timing event listeners if needed on error\n self.req.once('error', function() {\n socket.removeListener('lookup', onLookupTiming)\n socket.removeListener('connect', onConnectTiming)\n })\n }\n }\n\n var setReqTimeout = function() {\n // This timeout sets the amount of time to wait *between* bytes sent\n // from the server once connected.\n //\n // In particular, it's useful for erroring if the server fails to send\n // data halfway through streaming a response.\n self.req.setTimeout(timeout, function () {\n if (self.req) {\n self.abort()\n var e = new Error('ESOCKETTIMEDOUT')\n e.code = 'ESOCKETTIMEDOUT'\n e.connect = false\n self.emit('error', e)\n }\n })\n }\n if (timeout !== undefined) {\n // Only start the connection timer if we're actually connecting a new\n // socket, otherwise if we're already connected (because this is a\n // keep-alive connection) do not bother. This is important since we won't\n // get a 'connect' event for an already connected socket.\n if (isConnecting) {\n var onReqSockConnect = function() {\n socket.removeListener('connect', onReqSockConnect)\n clearTimeout(self.timeoutTimer)\n self.timeoutTimer = null\n setReqTimeout()\n }\n\n socket.on('connect', onReqSockConnect)\n\n self.req.on('error', function(err) {\n socket.removeListener('connect', onReqSockConnect)\n })\n\n // Set a timeout in memory - this block will throw if the server takes more\n // than `timeout` to write the HTTP status and headers (corresponding to\n // the on('response') event on the client). NB: this measures wall-clock\n // time, not the time between bytes sent by the server.\n self.timeoutTimer = setTimeout(function () {\n socket.removeListener('connect', onReqSockConnect)\n self.abort()\n var e = new Error('ETIMEDOUT')\n e.code = 'ETIMEDOUT'\n e.connect = true\n self.emit('error', e)\n }, timeout)\n } else {\n // We're already connected\n setReqTimeout()\n }\n }\n self.emit('socket', socket)\n })\n\n self.emit('request', self.req)\n}\n\nRequest.prototype.onRequestError = function (error) {\n var self = this\n if (self._aborted) {\n return\n }\n if (self.req && self.req._reusedSocket && error.code === 'ECONNRESET'\n && self.agent.addRequestNoreuse) {\n self.agent = { addRequest: self.agent.addRequestNoreuse.bind(self.agent) }\n self.start()\n self.req.end()\n return\n }\n if (self.timeout && self.timeoutTimer) {\n clearTimeout(self.timeoutTimer)\n self.timeoutTimer = null\n }\n self.emit('error', error)\n}\n\nRequest.prototype.onRequestResponse = function (response) {\n var self = this\n\n if (self.timing) {\n self.timings.response = now() - self.startTimeNow\n }\n\n debug('onRequestResponse', self.uri.href, response.statusCode, response.headers)\n response.on('end', function() {\n if (self.timing) {\n self.timings.end = now() - self.startTimeNow\n response.timingStart = self.startTime\n\n // fill in the blanks for any periods that didn't trigger, such as\n // no lookup or connect due to keep alive\n if (!self.timings.socket) {\n self.timings.socket = 0\n }\n if (!self.timings.lookup) {\n self.timings.lookup = self.timings.socket\n }\n if (!self.timings.connect) {\n self.timings.connect = self.timings.lookup\n }\n if (!self.timings.response) {\n self.timings.response = self.timings.connect\n }\n\n debug('elapsed time', self.timings.end)\n\n // elapsedTime includes all redirects\n self.elapsedTime += Math.round(self.timings.end)\n\n // NOTE: elapsedTime is deprecated in favor of .timings\n response.elapsedTime = self.elapsedTime\n\n // timings is just for the final fetch\n response.timings = self.timings\n\n // pre-calculate phase timings as well\n response.timingPhases = {\n wait: self.timings.socket,\n dns: self.timings.lookup - self.timings.socket,\n tcp: self.timings.connect - self.timings.lookup,\n firstByte: self.timings.response - self.timings.connect,\n download: self.timings.end - self.timings.response,\n total: self.timings.end\n }\n }\n debug('response end', self.uri.href, response.statusCode, response.headers)\n })\n\n if (self._aborted) {\n debug('aborted', self.uri.href)\n response.resume()\n return\n }\n\n self.response = response\n response.request = self\n response.toJSON = responseToJSON\n\n // XXX This is different on 0.10, because SSL is strict by default\n if (self.httpModule === https &&\n self.strictSSL && (!response.hasOwnProperty('socket') ||\n !response.socket.authorized)) {\n debug('strict ssl error', self.uri.href)\n var sslErr = response.hasOwnProperty('socket') ? response.socket.authorizationError : self.uri.href + ' does not support SSL'\n self.emit('error', new Error('SSL Error: ' + sslErr))\n return\n }\n\n // Save the original host before any redirect (if it changes, we need to\n // remove any authorization headers). Also remember the case of the header\n // name because lots of broken servers expect Host instead of host and we\n // want the caller to be able to specify this.\n self.originalHost = self.getHeader('host')\n if (!self.originalHostHeaderName) {\n self.originalHostHeaderName = self.hasHeader('host')\n }\n if (self.setHost) {\n self.removeHeader('host')\n }\n if (self.timeout && self.timeoutTimer) {\n clearTimeout(self.timeoutTimer)\n self.timeoutTimer = null\n }\n\n var targetCookieJar = (self._jar && self._jar.setCookie) ? self._jar : globalCookieJar\n var addCookie = function (cookie) {\n //set the cookie if it's domain in the href's domain.\n try {\n targetCookieJar.setCookie(cookie, self.uri.href, {ignoreError: true})\n } catch (e) {\n self.emit('error', e)\n }\n }\n\n response.caseless = caseless(response.headers)\n\n if (response.caseless.has('set-cookie') && (!self._disableCookies)) {\n var headerName = response.caseless.has('set-cookie')\n if (Array.isArray(response.headers[headerName])) {\n response.headers[headerName].forEach(addCookie)\n } else {\n addCookie(response.headers[headerName])\n }\n }\n\n if (self._redirect.onResponse(response)) {\n return // Ignore the rest of the response\n } else {\n // Be a good stream and emit end when the response is finished.\n // Hack to emit end on close because of a core bug that never fires end\n response.on('close', function () {\n if (!self._ended) {\n self.response.emit('end')\n }\n })\n\n response.once('end', function () {\n self._ended = true\n })\n\n var noBody = function (code) {\n return (\n self.method === 'HEAD'\n // Informational\n || (code >= 100 && code < 200)\n // No Content\n || code === 204\n // Not Modified\n || code === 304\n )\n }\n\n var responseContent\n if (self.gzip && !noBody(response.statusCode)) {\n var contentEncoding = response.headers['content-encoding'] || 'identity'\n contentEncoding = contentEncoding.trim().toLowerCase()\n\n // Be more lenient with decoding compressed responses, since (very rarely)\n // servers send slightly invalid gzip responses that are still accepted\n // by common browsers.\n // Always using Z_SYNC_FLUSH is what cURL does.\n var zlibOptions = {\n flush: zlib.Z_SYNC_FLUSH\n , finishFlush: zlib.Z_SYNC_FLUSH\n }\n\n if (contentEncoding === 'gzip') {\n responseContent = zlib.createGunzip(zlibOptions)\n response.pipe(responseContent)\n } else if (contentEncoding === 'deflate') {\n responseContent = zlib.createInflate(zlibOptions)\n response.pipe(responseContent)\n } else {\n // Since previous versions didn't check for Content-Encoding header,\n // ignore any invalid values to preserve backwards-compatibility\n if (contentEncoding !== 'identity') {\n debug('ignoring unrecognized Content-Encoding ' + contentEncoding)\n }\n responseContent = response\n }\n } else {\n responseContent = response\n }\n\n if (self.encoding) {\n if (self.dests.length !== 0) {\n console.error('Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.')\n } else if (responseContent.setEncoding) {\n responseContent.setEncoding(self.encoding)\n } else {\n // Should only occur on node pre-v0.9.4 (joyent/node@9b5abe5) with\n // zlib streams.\n // If/When support for 0.9.4 is dropped, this should be unnecessary.\n responseContent = responseContent.pipe(stringstream(self.encoding))\n }\n }\n\n if (self._paused) {\n responseContent.pause()\n }\n\n self.responseContent = responseContent\n\n self.emit('response', response)\n\n self.dests.forEach(function (dest) {\n self.pipeDest(dest)\n })\n\n responseContent.on('data', function (chunk) {\n if (self.timing && !self.responseStarted) {\n self.responseStartTime = (new Date()).getTime()\n\n // NOTE: responseStartTime is deprecated in favor of .timings\n response.responseStartTime = self.responseStartTime\n }\n self._destdata = true\n self.emit('data', chunk)\n })\n responseContent.once('end', function (chunk) {\n self.emit('end', chunk)\n })\n responseContent.on('error', function (error) {\n self.emit('error', error)\n })\n responseContent.on('close', function () {self.emit('close')})\n\n if (self.callback) {\n self.readResponseBody(response)\n }\n //if no callback\n else {\n self.on('end', function () {\n if (self._aborted) {\n debug('aborted', self.uri.href)\n return\n }\n self.emit('complete', response)\n })\n }\n }\n debug('finish init function', self.uri.href)\n}\n\nRequest.prototype.readResponseBody = function (response) {\n var self = this\n debug('reading response\\'s body')\n var buffers = []\n , bufferLength = 0\n , strings = []\n\n self.on('data', function (chunk) {\n if (!Buffer.isBuffer(chunk)) {\n strings.push(chunk)\n } else if (chunk.length) {\n bufferLength += chunk.length\n buffers.push(chunk)\n }\n })\n self.on('end', function () {\n debug('end event', self.uri.href)\n if (self._aborted) {\n debug('aborted', self.uri.href)\n // `buffer` is defined in the parent scope and used in a closure it exists for the life of the request.\n // This can lead to leaky behavior if the user retains a reference to the request object.\n buffers = []\n bufferLength = 0\n return\n }\n\n if (bufferLength) {\n debug('has body', self.uri.href, bufferLength)\n response.body = Buffer.concat(buffers, bufferLength)\n if (self.encoding !== null) {\n response.body = response.body.toString(self.encoding)\n }\n // `buffer` is defined in the parent scope and used in a closure it exists for the life of the Request.\n // This can lead to leaky behavior if the user retains a reference to the request object.\n buffers = []\n bufferLength = 0\n } else if (strings.length) {\n // The UTF8 BOM [0xEF,0xBB,0xBF] is converted to [0xFE,0xFF] in the JS UTC16/UCS2 representation.\n // Strip this value out when the encoding is set to 'utf8', as upstream consumers won't expect it and it breaks JSON.parse().\n if (self.encoding === 'utf8' && strings[0].length > 0 && strings[0][0] === '\\uFEFF') {\n strings[0] = strings[0].substring(1)\n }\n response.body = strings.join('')\n }\n\n if (self._json) {\n try {\n response.body = JSON.parse(response.body, self._jsonReviver)\n } catch (e) {\n debug('invalid JSON received', self.uri.href)\n }\n }\n debug('emitting complete', self.uri.href)\n if (typeof response.body === 'undefined' && !self._json) {\n response.body = self.encoding === null ? Buffer.alloc(0) : ''\n }\n self.emit('complete', response, response.body)\n })\n}\n\nRequest.prototype.abort = function () {\n var self = this\n self._aborted = true\n\n if (self.req) {\n self.req.abort()\n }\n else if (self.response) {\n self.response.destroy()\n }\n\n self.emit('abort')\n}\n\nRequest.prototype.pipeDest = function (dest) {\n var self = this\n var response = self.response\n // Called after the response is received\n if (dest.headers && !dest.headersSent) {\n if (response.caseless.has('content-type')) {\n var ctname = response.caseless.has('content-type')\n if (dest.setHeader) {\n dest.setHeader(ctname, response.headers[ctname])\n }\n else {\n dest.headers[ctname] = response.headers[ctname]\n }\n }\n\n if (response.caseless.has('content-length')) {\n var clname = response.caseless.has('content-length')\n if (dest.setHeader) {\n dest.setHeader(clname, response.headers[clname])\n } else {\n dest.headers[clname] = response.headers[clname]\n }\n }\n }\n if (dest.setHeader && !dest.headersSent) {\n for (var i in response.headers) {\n // If the response content is being decoded, the Content-Encoding header\n // of the response doesn't represent the piped content, so don't pass it.\n if (!self.gzip || i !== 'content-encoding') {\n dest.setHeader(i, response.headers[i])\n }\n }\n dest.statusCode = response.statusCode\n }\n if (self.pipefilter) {\n self.pipefilter(response, dest)\n }\n}\n\nRequest.prototype.qs = function (q, clobber) {\n var self = this\n var base\n if (!clobber && self.uri.query) {\n base = self._qs.parse(self.uri.query)\n } else {\n base = {}\n }\n\n for (var i in q) {\n base[i] = q[i]\n }\n\n var qs = self._qs.stringify(base)\n\n if (qs === '') {\n return self\n }\n\n self.uri = url.parse(self.uri.href.split('?')[0] + '?' + qs)\n self.url = self.uri\n self.path = self.uri.path\n\n if (self.uri.host === 'unix') {\n self.enableUnixSocket()\n }\n\n return self\n}\nRequest.prototype.form = function (form) {\n var self = this\n if (form) {\n if (!/^application\\/x-www-form-urlencoded\\b/.test(self.getHeader('content-type'))) {\n self.setHeader('content-type', 'application/x-www-form-urlencoded')\n }\n self.body = (typeof form === 'string')\n ? self._qs.rfc3986(form.toString('utf8'))\n : self._qs.stringify(form).toString('utf8')\n return self\n }\n // create form-data object\n self._form = new FormData()\n self._form.on('error', function(err) {\n err.message = 'form-data: ' + err.message\n self.emit('error', err)\n self.abort()\n })\n return self._form\n}\nRequest.prototype.multipart = function (multipart) {\n var self = this\n\n self._multipart.onRequest(multipart)\n\n if (!self._multipart.chunked) {\n self.body = self._multipart.body\n }\n\n return self\n}\nRequest.prototype.json = function (val) {\n var self = this\n\n if (!self.hasHeader('accept')) {\n self.setHeader('accept', 'application/json')\n }\n\n if (typeof self.jsonReplacer === 'function') {\n self._jsonReplacer = self.jsonReplacer\n }\n\n self._json = true\n if (typeof val === 'boolean') {\n if (self.body !== undefined) {\n if (!/^application\\/x-www-form-urlencoded\\b/.test(self.getHeader('content-type'))) {\n self.body = safeStringify(self.body, self._jsonReplacer)\n } else {\n self.body = self._qs.rfc3986(self.body)\n }\n if (!self.hasHeader('content-type')) {\n self.setHeader('content-type', 'application/json')\n }\n }\n } else {\n self.body = safeStringify(val, self._jsonReplacer)\n if (!self.hasHeader('content-type')) {\n self.setHeader('content-type', 'application/json')\n }\n }\n\n if (typeof self.jsonReviver === 'function') {\n self._jsonReviver = self.jsonReviver\n }\n\n return self\n}\nRequest.prototype.getHeader = function (name, headers) {\n var self = this\n var result, re, match\n if (!headers) {\n headers = self.headers\n }\n Object.keys(headers).forEach(function (key) {\n if (key.length !== name.length) {\n return\n }\n re = new RegExp(name, 'i')\n match = key.match(re)\n if (match) {\n result = headers[key]\n }\n })\n return result\n}\nRequest.prototype.enableUnixSocket = function () {\n // Get the socket & request paths from the URL\n var unixParts = this.uri.path.split(':')\n , host = unixParts[0]\n , path = unixParts[1]\n // Apply unix properties to request\n this.socketPath = host\n this.uri.pathname = path\n this.uri.path = path\n this.uri.host = host\n this.uri.hostname = host\n this.uri.isUnix = true\n}\n\n\nRequest.prototype.auth = function (user, pass, sendImmediately, bearer) {\n var self = this\n\n self._auth.onRequest(user, pass, sendImmediately, bearer)\n\n return self\n}\nRequest.prototype.aws = function (opts, now) {\n var self = this\n\n if (!now) {\n self._aws = opts\n return self\n }\n\n if (opts.sign_version == 4 || opts.sign_version == '4') {\n // use aws4\n var options = {\n host: self.uri.host,\n path: self.uri.path,\n method: self.method,\n headers: {\n 'content-type': self.getHeader('content-type') || ''\n },\n body: self.body\n }\n var signRes = aws4.sign(options, {\n accessKeyId: opts.key,\n secretAccessKey: opts.secret,\n sessionToken: opts.session\n })\n self.setHeader('authorization', signRes.headers.Authorization)\n self.setHeader('x-amz-date', signRes.headers['X-Amz-Date'])\n if (signRes.headers['X-Amz-Security-Token']) {\n self.setHeader('x-amz-security-token', signRes.headers['X-Amz-Security-Token'])\n }\n }\n else {\n // default: use aws-sign2\n var date = new Date()\n self.setHeader('date', date.toUTCString())\n var auth =\n { key: opts.key\n , secret: opts.secret\n , verb: self.method.toUpperCase()\n , date: date\n , contentType: self.getHeader('content-type') || ''\n , md5: self.getHeader('content-md5') || ''\n , amazonHeaders: aws2.canonicalizeHeaders(self.headers)\n }\n var path = self.uri.path\n if (opts.bucket && path) {\n auth.resource = '/' + opts.bucket + path\n } else if (opts.bucket && !path) {\n auth.resource = '/' + opts.bucket\n } else if (!opts.bucket && path) {\n auth.resource = path\n } else if (!opts.bucket && !path) {\n auth.resource = '/'\n }\n auth.resource = aws2.canonicalizeResource(auth.resource)\n self.setHeader('authorization', aws2.authorization(auth))\n }\n\n return self\n}\nRequest.prototype.httpSignature = function (opts) {\n var self = this\n httpSignature.signRequest({\n getHeader: function(header) {\n return self.getHeader(header, self.headers)\n },\n setHeader: function(header, value) {\n self.setHeader(header, value)\n },\n method: self.method,\n path: self.path\n }, opts)\n debug('httpSignature authorization', self.getHeader('authorization'))\n\n return self\n}\nRequest.prototype.hawk = function (opts) {\n var self = this\n self.setHeader('Authorization', hawk.client.header(self.uri, self.method, opts).field)\n}\nRequest.prototype.oauth = function (_oauth) {\n var self = this\n\n self._oauth.onRequest(_oauth)\n\n return self\n}\n\nRequest.prototype.jar = function (jar) {\n var self = this\n var cookies\n\n if (self._redirect.redirectsFollowed === 0) {\n self.originalCookieHeader = self.getHeader('cookie')\n }\n\n if (!jar) {\n // disable cookies\n cookies = false\n self._disableCookies = true\n } else {\n var targetCookieJar = (jar && jar.getCookieString) ? jar : globalCookieJar\n var urihref = self.uri.href\n //fetch cookie in the Specified host\n if (targetCookieJar) {\n cookies = targetCookieJar.getCookieString(urihref)\n }\n }\n\n //if need cookie and cookie is not empty\n if (cookies && cookies.length) {\n if (self.originalCookieHeader) {\n // Don't overwrite existing Cookie header\n self.setHeader('cookie', self.originalCookieHeader + '; ' + cookies)\n } else {\n self.setHeader('cookie', cookies)\n }\n }\n self._jar = jar\n return self\n}\n\n\n// Stream API\nRequest.prototype.pipe = function (dest, opts) {\n var self = this\n\n if (self.response) {\n if (self._destdata) {\n self.emit('error', new Error('You cannot pipe after data has been emitted from the response.'))\n } else if (self._ended) {\n self.emit('error', new Error('You cannot pipe after the response has been ended.'))\n } else {\n stream.Stream.prototype.pipe.call(self, dest, opts)\n self.pipeDest(dest)\n return dest\n }\n } else {\n self.dests.push(dest)\n stream.Stream.prototype.pipe.call(self, dest, opts)\n return dest\n }\n}\nRequest.prototype.write = function () {\n var self = this\n if (self._aborted) {return}\n\n if (!self._started) {\n self.start()\n }\n if (self.req) {\n return self.req.write.apply(self.req, arguments)\n }\n}\nRequest.prototype.end = function (chunk) {\n var self = this\n if (self._aborted) {return}\n\n if (chunk) {\n self.write(chunk)\n }\n if (!self._started) {\n self.start()\n }\n if (self.req) {\n self.req.end()\n }\n}\nRequest.prototype.pause = function () {\n var self = this\n if (!self.responseContent) {\n self._paused = true\n } else {\n self.responseContent.pause.apply(self.responseContent, arguments)\n }\n}\nRequest.prototype.resume = function () {\n var self = this\n if (!self.responseContent) {\n self._paused = false\n } else {\n self.responseContent.resume.apply(self.responseContent, arguments)\n }\n}\nRequest.prototype.destroy = function () {\n var self = this\n if (!self._ended) {\n self.end()\n } else if (self.response) {\n self.response.destroy()\n }\n}\n\nRequest.defaultProxyHeaderWhiteList =\n Tunnel.defaultProxyHeaderWhiteList.slice()\n\nRequest.defaultProxyHeaderExclusiveList =\n Tunnel.defaultProxyHeaderExclusiveList.slice()\n\n// Exports\n\nRequest.prototype.toJSON = requestToJSON\nmodule.exports = Request\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request" }, { "id": "695", "url": "https.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nrequire('internal/util').assertCrypto();\n\nconst tls = require('tls');\nconst url = require('url');\nconst http = require('http');\nconst util = require('util');\nconst inherits = util.inherits;\nconst debug = util.debuglog('https');\nconst { urlToOptions, searchParamsSymbol } = require('internal/url');\n\nfunction Server(opts, requestListener) {\n if (!(this instanceof Server)) return new Server(opts, requestListener);\n\n if (process.features.tls_npn && !opts.NPNProtocols) {\n opts.NPNProtocols = ['http/1.1', 'http/1.0'];\n }\n\n if (process.features.tls_alpn && !opts.ALPNProtocols) {\n // http/1.0 is not defined as Protocol IDs in IANA\n // http://www.iana.org/assignments/tls-extensiontype-values\n // /tls-extensiontype-values.xhtml#alpn-protocol-ids\n opts.ALPNProtocols = ['http/1.1'];\n }\n\n tls.Server.call(this, opts, http._connectionListener);\n\n this.httpAllowHalfOpen = false;\n\n if (requestListener) {\n this.addListener('request', requestListener);\n }\n\n this.addListener('tlsClientError', function addListener(err, conn) {\n if (!this.emit('clientError', err, conn))\n conn.destroy(err);\n });\n\n this.timeout = 2 * 60 * 1000;\n this.keepAliveTimeout = 5000;\n}\ninherits(Server, tls.Server);\nexports.Server = Server;\n\nServer.prototype.setTimeout = http.Server.prototype.setTimeout;\n\nexports.createServer = function createServer(opts, requestListener) {\n return new Server(opts, requestListener);\n};\n\n\n// HTTPS agents.\n\nfunction createConnection(port, host, options) {\n if (port !== null && typeof port === 'object') {\n options = port;\n } else if (host !== null && typeof host === 'object') {\n options = host;\n } else if (options === null || typeof options !== 'object') {\n options = {};\n }\n\n if (typeof port === 'number') {\n options.port = port;\n }\n\n if (typeof host === 'string') {\n options.host = host;\n }\n\n debug('createConnection', options);\n\n if (options._agentKey) {\n const session = this._getSession(options._agentKey);\n if (session) {\n debug('reuse session for %j', options._agentKey);\n options = util._extend({\n session: session\n }, options);\n }\n }\n\n const socket = tls.connect(options, () => {\n if (!options._agentKey)\n return;\n\n this._cacheSession(options._agentKey, socket.getSession());\n });\n\n // Evict session on error\n socket.once('close', (err) => {\n if (err)\n this._evictSession(options._agentKey);\n });\n\n return socket;\n}\n\n\nfunction Agent(options) {\n if (!(this instanceof Agent))\n return new Agent(options);\n\n http.Agent.call(this, options);\n this.defaultPort = 443;\n this.protocol = 'https:';\n this.maxCachedSessions = this.options.maxCachedSessions;\n if (this.maxCachedSessions === undefined)\n this.maxCachedSessions = 100;\n\n this._sessionCache = {\n map: {},\n list: []\n };\n}\ninherits(Agent, http.Agent);\nAgent.prototype.createConnection = createConnection;\n\nAgent.prototype.getName = function getName(options) {\n var name = http.Agent.prototype.getName.call(this, options);\n\n name += ':';\n if (options.ca)\n name += options.ca;\n\n name += ':';\n if (options.cert)\n name += options.cert;\n\n name += ':';\n if (options.ciphers)\n name += options.ciphers;\n\n name += ':';\n if (options.key)\n name += options.key;\n\n name += ':';\n if (options.pfx)\n name += options.pfx;\n\n name += ':';\n if (options.rejectUnauthorized !== undefined)\n name += options.rejectUnauthorized;\n\n name += ':';\n if (options.servername && options.servername !== options.host)\n name += options.servername;\n\n name += ':';\n if (options.secureProtocol)\n name += options.secureProtocol;\n\n return name;\n};\n\nAgent.prototype._getSession = function _getSession(key) {\n return this._sessionCache.map[key];\n};\n\nAgent.prototype._cacheSession = function _cacheSession(key, session) {\n // Cache is disabled\n if (this.maxCachedSessions === 0)\n return;\n\n // Fast case - update existing entry\n if (this._sessionCache.map[key]) {\n this._sessionCache.map[key] = session;\n return;\n }\n\n // Put new entry\n if (this._sessionCache.list.length >= this.maxCachedSessions) {\n const oldKey = this._sessionCache.list.shift();\n debug('evicting %j', oldKey);\n delete this._sessionCache.map[oldKey];\n }\n\n this._sessionCache.list.push(key);\n this._sessionCache.map[key] = session;\n};\n\nAgent.prototype._evictSession = function _evictSession(key) {\n const index = this._sessionCache.list.indexOf(key);\n if (index === -1)\n return;\n\n this._sessionCache.list.splice(index, 1);\n delete this._sessionCache.map[key];\n};\n\nconst globalAgent = new Agent();\n\nexports.globalAgent = globalAgent;\nexports.Agent = Agent;\n\nexports.request = function request(options, cb) {\n if (typeof options === 'string') {\n options = url.parse(options);\n if (!options.hostname) {\n throw new Error('Unable to determine the domain name');\n }\n } else if (options && options[searchParamsSymbol] &&\n options[searchParamsSymbol][searchParamsSymbol]) {\n // url.URL instance\n options = urlToOptions(options);\n } else {\n options = util._extend({}, options);\n }\n options._defaultAgent = globalAgent;\n return http.request(options, cb);\n};\n\nexports.get = function get(options, cb) {\n var req = exports.request(options, cb);\n req.end();\n return req;\n};\n\n});", "pkgUrl": "(system)" }, { "id": "696", "url": "tls.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst internalUtil = require('internal/util');\ninternalUtil.assertCrypto();\n\nconst net = require('net');\nconst url = require('url');\nconst binding = process.binding('crypto');\nconst Buffer = require('buffer').Buffer;\nconst { isUint8Array } = process.binding('util');\n\n// Allow {CLIENT_RENEG_LIMIT} client-initiated session renegotiations\n// every {CLIENT_RENEG_WINDOW} seconds. An error event is emitted if more\n// renegotations are seen. The settings are applied to all remote client\n// connections.\nexports.CLIENT_RENEG_LIMIT = 3;\nexports.CLIENT_RENEG_WINDOW = 600;\n\nexports.SLAB_BUFFER_SIZE = 10 * 1024 * 1024;\n\nexports.DEFAULT_CIPHERS =\n process.binding('constants').crypto.defaultCipherList;\n\nexports.DEFAULT_ECDH_CURVE = 'prime256v1';\n\nexports.getCiphers = internalUtil.cachedResult(\n () => internalUtil.filterDuplicateStrings(binding.getSSLCiphers(), true)\n);\n\n// Convert protocols array into valid OpenSSL protocols list\n// (\"\\x06spdy/2\\x08http/1.1\\x08http/1.0\")\nfunction convertProtocols(protocols) {\n const lens = new Array(protocols.length);\n const buff = Buffer.allocUnsafe(protocols.reduce((p, c, i) => {\n var len = Buffer.byteLength(c);\n lens[i] = len;\n return p + 1 + len;\n }, 0));\n\n var offset = 0;\n for (var i = 0, c = protocols.length; i < c; i++) {\n buff[offset++] = lens[i];\n buff.write(protocols[i], offset);\n offset += lens[i];\n }\n\n return buff;\n}\n\nexports.convertNPNProtocols = function(protocols, out) {\n // If protocols is Array - translate it into buffer\n if (Array.isArray(protocols)) {\n out.NPNProtocols = convertProtocols(protocols);\n } else if (isUint8Array(protocols)) {\n // Copy new buffer not to be modified by user.\n out.NPNProtocols = Buffer.from(protocols);\n }\n};\n\nexports.convertALPNProtocols = function(protocols, out) {\n // If protocols is Array - translate it into buffer\n if (Array.isArray(protocols)) {\n out.ALPNProtocols = convertProtocols(protocols);\n } else if (isUint8Array(protocols)) {\n // Copy new buffer not to be modified by user.\n out.ALPNProtocols = Buffer.from(protocols);\n }\n};\n\nfunction unfqdn(host) {\n return host.replace(/[.]$/, '');\n}\n\nfunction splitHost(host) {\n // String#toLowerCase() is locale-sensitive so we use\n // a conservative version that only lowercases A-Z.\n const replacer = (c) => String.fromCharCode(32 + c.charCodeAt(0));\n return unfqdn(host).replace(/[A-Z]/g, replacer).split('.');\n}\n\nfunction check(hostParts, pattern, wildcards) {\n // Empty strings, null, undefined, etc. never match.\n if (!pattern)\n return false;\n\n const patternParts = splitHost(pattern);\n\n if (hostParts.length !== patternParts.length)\n return false;\n\n // Pattern has empty components, e.g. \"bad..example.com\".\n if (patternParts.includes(''))\n return false;\n\n // RFC 6125 allows IDNA U-labels (Unicode) in names but we have no\n // good way to detect their encoding or normalize them so we simply\n // reject them. Control characters and blanks are rejected as well\n // because nothing good can come from accepting them.\n const isBad = (s) => /[^\\u0021-\\u007F]/u.test(s);\n if (patternParts.some(isBad))\n return false;\n\n // Check host parts from right to left first.\n for (var i = hostParts.length - 1; i > 0; i -= 1)\n if (hostParts[i] !== patternParts[i])\n return false;\n\n const hostSubdomain = hostParts[0];\n const patternSubdomain = patternParts[0];\n const patternSubdomainParts = patternSubdomain.split('*');\n\n // Short-circuit when the subdomain does not contain a wildcard.\n // RFC 6125 does not allow wildcard substitution for components\n // containing IDNA A-labels (Punycode) so match those verbatim.\n if (patternSubdomainParts.length === 1 || patternSubdomain.includes('xn--'))\n return hostSubdomain === patternSubdomain;\n\n if (!wildcards)\n return false;\n\n // More than one wildcard is always wrong.\n if (patternSubdomainParts.length > 2)\n return false;\n\n // *.tld wildcards are not allowed.\n if (patternParts.length <= 2)\n return false;\n\n const [prefix, suffix] = patternSubdomainParts;\n\n if (prefix.length + suffix.length > hostSubdomain.length)\n return false;\n\n if (!hostSubdomain.startsWith(prefix))\n return false;\n\n if (!hostSubdomain.endsWith(suffix))\n return false;\n\n return true;\n}\n\nexports.checkServerIdentity = function checkServerIdentity(host, cert) {\n const subject = cert.subject;\n const altNames = cert.subjectaltname;\n const dnsNames = [];\n const uriNames = [];\n const ips = [];\n\n host = '' + host;\n\n if (altNames) {\n for (const name of altNames.split(', ')) {\n if (name.startsWith('DNS:')) {\n dnsNames.push(name.slice(4));\n } else if (name.startsWith('URI:')) {\n const uri = url.parse(name.slice(4));\n uriNames.push(uri.hostname); // TODO(bnoordhuis) Also use scheme.\n } else if (name.startsWith('IP Address:')) {\n ips.push(name.slice(11));\n }\n }\n }\n\n let valid = false;\n let reason = 'Unknown reason';\n\n if (net.isIP(host)) {\n valid = ips.includes(host);\n if (!valid)\n reason = `IP: ${host} is not in the cert's list: ${ips.join(', ')}`;\n // TODO(bnoordhuis) Also check URI SANs that are IP addresses.\n } else if (subject) {\n host = unfqdn(host); // Remove trailing dot for error messages.\n const hostParts = splitHost(host);\n const wildcard = (pattern) => check(hostParts, pattern, true);\n const noWildcard = (pattern) => check(hostParts, pattern, false);\n\n // Match against Common Name only if no supported identifiers are present.\n if (dnsNames.length === 0 && ips.length === 0 && uriNames.length === 0) {\n const cn = subject.CN;\n\n if (Array.isArray(cn))\n valid = cn.some(wildcard);\n else if (cn)\n valid = wildcard(cn);\n\n if (!valid)\n reason = `Host: ${host}. is not cert's CN: ${cn}`;\n } else {\n valid = dnsNames.some(wildcard) || uriNames.some(noWildcard);\n if (!valid)\n reason = `Host: ${host}. is not in the cert's altnames: ${altNames}`;\n }\n } else {\n reason = 'Cert is empty';\n }\n\n if (!valid) {\n const err = new Error(\n `Hostname/IP doesn't match certificate's altnames: \"${reason}\"`);\n err.reason = reason;\n err.host = host;\n err.cert = cert;\n return err;\n }\n};\n\n// Example:\n// C=US\\nST=CA\\nL=SF\\nO=Joyent\\nOU=Node.js\\nCN=ca1\\nemailAddress=ry@clouds.org\nexports.parseCertString = function parseCertString(s) {\n var out = {};\n var parts = s.split('\\n');\n for (var i = 0, len = parts.length; i < len; i++) {\n var sepIndex = parts[i].indexOf('=');\n if (sepIndex > 0) {\n var key = parts[i].slice(0, sepIndex);\n var value = parts[i].slice(sepIndex + 1);\n if (key in out) {\n if (!Array.isArray(out[key])) {\n out[key] = [out[key]];\n }\n out[key].push(value);\n } else {\n out[key] = value;\n }\n }\n }\n return out;\n};\n\n// Public API\nexports.createSecureContext = require('_tls_common').createSecureContext;\nexports.SecureContext = require('_tls_common').SecureContext;\nexports.TLSSocket = require('_tls_wrap').TLSSocket;\nexports.Server = require('_tls_wrap').Server;\nexports.createServer = require('_tls_wrap').createServer;\nexports.connect = require('_tls_wrap').connect;\n\n// Deprecated: DEP0064\nexports.createSecurePair = require('_tls_legacy').createSecurePair;\n\n});", "pkgUrl": "(system)" }, { "id": "698", "url": "_tls_wrap.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nrequire('internal/util').assertCrypto();\n\nconst assert = require('assert');\nconst crypto = require('crypto');\nconst net = require('net');\nconst tls = require('tls');\nconst util = require('util');\nconst common = require('_tls_common');\nconst StreamWrap = require('_stream_wrap').StreamWrap;\nconst Buffer = require('buffer').Buffer;\nconst debug = util.debuglog('tls');\nconst Timer = process.binding('timer_wrap').Timer;\nconst tls_wrap = process.binding('tls_wrap');\nconst TCP = process.binding('tcp_wrap').TCP;\nconst Pipe = process.binding('pipe_wrap').Pipe;\n\nfunction onhandshakestart() {\n debug('onhandshakestart');\n\n var self = this;\n var ssl = self._handle;\n var now = Timer.now();\n\n assert(now >= ssl.lastHandshakeTime);\n\n if ((now - ssl.lastHandshakeTime) >= tls.CLIENT_RENEG_WINDOW * 1000) {\n ssl.handshakes = 0;\n }\n\n var first = (ssl.lastHandshakeTime === 0);\n ssl.lastHandshakeTime = now;\n if (first) return;\n\n if (++ssl.handshakes > tls.CLIENT_RENEG_LIMIT) {\n // Defer the error event to the next tick. We're being called from OpenSSL's\n // state machine and OpenSSL is not re-entrant. We cannot allow the user's\n // callback to destroy the connection right now, it would crash and burn.\n setImmediate(function() {\n var err = new Error('TLS session renegotiation attack detected');\n self._emitTLSError(err);\n });\n }\n}\n\n\nfunction onhandshakedone() {\n // for future use\n debug('onhandshakedone');\n this._finishInit();\n}\n\n\nfunction loadSession(self, hello, cb) {\n var once = false;\n function onSession(err, session) {\n if (once)\n return cb(new Error('TLS session callback was called 2 times'));\n once = true;\n\n if (err)\n return cb(err);\n\n if (!self._handle)\n return cb(new Error('Socket is closed'));\n\n self._handle.loadSession(session);\n cb(null);\n }\n\n if (hello.sessionId.length <= 0 ||\n hello.tlsTicket ||\n self.server &&\n !self.server.emit('resumeSession', hello.sessionId, onSession)) {\n cb(null);\n }\n}\n\n\nfunction loadSNI(self, servername, cb) {\n if (!servername || !self._SNICallback)\n return cb(null);\n\n var once = false;\n self._SNICallback(servername, function(err, context) {\n if (once)\n return cb(new Error('TLS SNI callback was called 2 times'));\n once = true;\n\n if (err)\n return cb(err);\n\n if (!self._handle)\n return cb(new Error('Socket is closed'));\n\n // TODO(indutny): eventually disallow raw `SecureContext`\n if (context)\n self._handle.sni_context = context.context || context;\n\n cb(null, self._handle.sni_context);\n });\n}\n\n\nfunction requestOCSP(self, hello, ctx, cb) {\n if (!hello.OCSPRequest || !self.server)\n return cb(null);\n\n if (!ctx)\n ctx = self.server._sharedCreds;\n\n // TLS socket is using a `net.Server` instead of a tls.TLSServer.\n // Some TLS properties like `server._sharedCreds` will not be present\n if (!ctx)\n return cb(null);\n\n // TODO(indutny): eventually disallow raw `SecureContext`\n if (ctx.context)\n ctx = ctx.context;\n\n if (self.server.listenerCount('OCSPRequest') === 0) {\n return cb(null);\n } else {\n self.server.emit('OCSPRequest',\n ctx.getCertificate(),\n ctx.getIssuer(),\n onOCSP);\n }\n\n var once = false;\n function onOCSP(err, response) {\n if (once)\n return cb(new Error('TLS OCSP callback was called 2 times'));\n once = true;\n\n if (err)\n return cb(err);\n\n if (!self._handle)\n return cb(new Error('Socket is closed'));\n\n if (response)\n self._handle.setOCSPResponse(response);\n cb(null);\n }\n}\n\n\nfunction onclienthello(hello) {\n var self = this;\n\n loadSession(self, hello, function(err) {\n if (err)\n return self.destroy(err);\n\n self._handle.endParser();\n });\n}\n\n\nfunction oncertcb(info) {\n var self = this;\n var servername = info.servername;\n\n loadSNI(self, servername, function(err, ctx) {\n if (err)\n return self.destroy(err);\n requestOCSP(self, info, ctx, function(err) {\n if (err)\n return self.destroy(err);\n\n if (!self._handle)\n return self.destroy(new Error('Socket is closed'));\n\n try {\n self._handle.certCbDone();\n } catch (e) {\n self.destroy(e);\n }\n });\n });\n}\n\n\nfunction onnewsession(key, session) {\n if (!this.server)\n return;\n\n var self = this;\n var once = false;\n\n this._newSessionPending = true;\n if (!this.server.emit('newSession', key, session, done))\n done();\n\n function done() {\n if (once)\n return;\n once = true;\n\n if (!self._handle)\n return self.destroy(new Error('Socket is closed'));\n\n self._handle.newSessionDone();\n\n self._newSessionPending = false;\n if (self._securePending)\n self._finishInit();\n self._securePending = false;\n }\n}\n\n\nfunction onocspresponse(resp) {\n this.emit('OCSPResponse', resp);\n}\n\nfunction initRead(tls, wrapped) {\n // If we were destroyed already don't bother reading\n if (!tls._handle)\n return;\n\n // Socket already has some buffered data - emulate receiving it\n if (wrapped && wrapped._readableState && wrapped._readableState.length) {\n var buf;\n while ((buf = wrapped.read()) !== null)\n tls._handle.receive(buf);\n }\n\n tls.read(0);\n}\n\n/**\n * Provides a wrap of socket stream to do encrypted communication.\n */\n\nfunction TLSSocket(socket, options) {\n if (options === undefined)\n this._tlsOptions = {};\n else\n this._tlsOptions = options;\n this._secureEstablished = false;\n this._securePending = false;\n this._newSessionPending = false;\n this._controlReleased = false;\n this._SNICallback = null;\n this.servername = null;\n this.npnProtocol = null;\n this.alpnProtocol = null;\n this.authorized = false;\n this.authorizationError = null;\n\n // Wrap plain JS Stream into StreamWrap\n var wrap;\n if ((socket instanceof net.Socket && socket._handle) || !socket)\n wrap = socket;\n else\n wrap = new StreamWrap(socket);\n\n // Just a documented property to make secure sockets\n // distinguishable from regular ones.\n this.encrypted = true;\n\n net.Socket.call(this, {\n handle: this._wrapHandle(wrap),\n allowHalfOpen: socket && socket.allowHalfOpen,\n readable: false,\n writable: false\n });\n\n // Proxy for API compatibility\n this.ssl = this._handle;\n\n this.on('error', this._tlsError);\n\n this._init(socket, wrap);\n\n // Make sure to setup all required properties like: `connecting` before\n // starting the flow of the data\n this.readable = true;\n this.writable = true;\n\n // Read on next tick so the caller has a chance to setup listeners\n process.nextTick(initRead, this, socket);\n}\nutil.inherits(TLSSocket, net.Socket);\nexports.TLSSocket = TLSSocket;\n\nvar proxiedMethods = [\n 'ref', 'unref', 'open', 'bind', 'listen', 'connect', 'bind6',\n 'connect6', 'getsockname', 'getpeername', 'setNoDelay', 'setKeepAlive',\n 'setSimultaneousAccepts', 'setBlocking',\n\n // PipeWrap\n 'setPendingInstances'\n];\n\n// Proxy HandleWrap, PipeWrap and TCPWrap methods\nfunction makeMethodProxy(name) {\n return function methodProxy(...args) {\n if (this._parent[name])\n return this._parent[name].apply(this._parent, args);\n };\n}\nfor (var n = 0; n < proxiedMethods.length; n++) {\n tls_wrap.TLSWrap.prototype[proxiedMethods[n]] =\n makeMethodProxy(proxiedMethods[n]);\n}\n\ntls_wrap.TLSWrap.prototype.close = function close(cb) {\n let ssl;\n if (this.owner) {\n ssl = this.owner.ssl;\n this.owner.ssl = null;\n }\n\n // Invoke `destroySSL` on close to clean up possibly pending write requests\n // that may self-reference TLSWrap, leading to leak\n const done = () => {\n if (ssl) {\n ssl.destroySSL();\n if (ssl._secureContext.singleUse) {\n ssl._secureContext.context.close();\n ssl._secureContext.context = null;\n }\n }\n if (cb)\n cb();\n };\n\n if (this._parentWrap && this._parentWrap._handle === this._parent) {\n this._parentWrap.once('close', done);\n return this._parentWrap.destroy();\n }\n return this._parent.close(done);\n};\n\nTLSSocket.prototype._wrapHandle = function(wrap) {\n var res;\n var handle;\n\n if (wrap)\n handle = wrap._handle;\n\n var options = this._tlsOptions;\n if (!handle) {\n handle = options.pipe ? new Pipe() : new TCP();\n handle.owner = this;\n }\n\n // Wrap socket's handle\n var context = options.secureContext ||\n options.credentials ||\n tls.createSecureContext(options);\n res = tls_wrap.wrap(handle._externalStream,\n context.context,\n !!options.isServer);\n res._parent = handle;\n res._parentWrap = wrap;\n res._secureContext = context;\n res.reading = handle.reading;\n Object.defineProperty(handle, 'reading', {\n get: function get() {\n return res.reading;\n },\n set: function set(value) {\n res.reading = value;\n }\n });\n\n this.on('close', function() {\n // Make sure we are not doing it on OpenSSL's stack\n setImmediate(destroySSL, this);\n res = null;\n });\n\n return res;\n};\n\nfunction destroySSL(self) {\n self._destroySSL();\n}\n\nTLSSocket.prototype._destroySSL = function _destroySSL() {\n if (!this.ssl) return;\n this.ssl.destroySSL();\n if (this.ssl._secureContext.singleUse) {\n this.ssl._secureContext.context.close();\n this.ssl._secureContext.context = null;\n }\n this.ssl = null;\n};\n\nTLSSocket.prototype._init = function(socket, wrap) {\n var self = this;\n var options = this._tlsOptions;\n var ssl = this._handle;\n\n // lib/net.js expect this value to be non-zero if write hasn't been flushed\n // immediately\n // TODO(indutny): rewise this solution, it might be 1 before handshake and\n // represent real writeQueueSize during regular writes.\n ssl.writeQueueSize = 1;\n\n this.server = options.server;\n\n // For clients, we will always have either a given ca list or be using\n // default one\n const requestCert = !!options.requestCert || !options.isServer;\n const rejectUnauthorized = !!options.rejectUnauthorized;\n\n this._requestCert = requestCert;\n this._rejectUnauthorized = rejectUnauthorized;\n if (requestCert || rejectUnauthorized)\n ssl.setVerifyMode(requestCert, rejectUnauthorized);\n\n if (options.isServer) {\n ssl.onhandshakestart = () => onhandshakestart.call(this);\n ssl.onhandshakedone = () => onhandshakedone.call(this);\n ssl.onclienthello = (hello) => onclienthello.call(this, hello);\n ssl.oncertcb = (info) => oncertcb.call(this, info);\n ssl.onnewsession = (key, session) => onnewsession.call(this, key, session);\n ssl.lastHandshakeTime = 0;\n ssl.handshakes = 0;\n\n if (this.server) {\n if (this.server.listenerCount('resumeSession') > 0 ||\n this.server.listenerCount('newSession') > 0) {\n ssl.enableSessionCallbacks();\n }\n if (this.server.listenerCount('OCSPRequest') > 0)\n ssl.enableCertCb();\n }\n } else {\n ssl.onhandshakestart = function() {};\n ssl.onhandshakedone = () => this._finishInit();\n ssl.onocspresponse = (resp) => onocspresponse.call(this, resp);\n\n if (options.session)\n ssl.setSession(options.session);\n }\n\n ssl.onerror = function(err) {\n if (self._writableState.errorEmitted)\n return;\n\n // Destroy socket if error happened before handshake's finish\n if (!self._secureEstablished) {\n // When handshake fails control is not yet released,\n // so self._tlsError will return null instead of actual error\n self.destroy(err);\n } else if (options.isServer &&\n rejectUnauthorized &&\n /peer did not return a certificate/.test(err.message)) {\n // Ignore server's authorization errors\n self.destroy();\n } else {\n // Throw error\n self._emitTLSError(err);\n }\n\n self._writableState.errorEmitted = true;\n };\n\n // If custom SNICallback was given, or if\n // there're SNI contexts to perform match against -\n // set `.onsniselect` callback.\n if (process.features.tls_sni &&\n options.isServer &&\n options.SNICallback &&\n options.server &&\n (options.SNICallback !== SNICallback ||\n options.server._contexts.length)) {\n assert(typeof options.SNICallback === 'function');\n this._SNICallback = options.SNICallback;\n ssl.enableCertCb();\n }\n\n if (process.features.tls_npn && options.NPNProtocols)\n ssl.setNPNProtocols(options.NPNProtocols);\n\n if (process.features.tls_alpn && options.ALPNProtocols) {\n // keep reference in secureContext not to be GC-ed\n ssl._secureContext.alpnBuffer = options.ALPNProtocols;\n ssl.setALPNProtocols(ssl._secureContext.alpnBuffer);\n }\n\n if (options.handshakeTimeout > 0)\n this.setTimeout(options.handshakeTimeout, this._handleTimeout);\n\n if (socket instanceof net.Socket) {\n this._parent = socket;\n\n // To prevent assertion in afterConnect() and properly kick off readStart\n this.connecting = socket.connecting || !socket._handle;\n socket.once('connect', function() {\n self.connecting = false;\n self.emit('connect');\n });\n }\n\n // Assume `tls.connect()`\n if (wrap) {\n wrap.on('error', function(err) {\n self._emitTLSError(err);\n });\n } else {\n assert(!socket);\n this.connecting = true;\n }\n};\n\nTLSSocket.prototype.renegotiate = function(options, callback) {\n var requestCert = this._requestCert;\n var rejectUnauthorized = this._rejectUnauthorized;\n\n if (this.destroyed)\n return;\n\n if (typeof options.requestCert !== 'undefined')\n requestCert = !!options.requestCert;\n if (typeof options.rejectUnauthorized !== 'undefined')\n rejectUnauthorized = !!options.rejectUnauthorized;\n\n if (requestCert !== this._requestCert ||\n rejectUnauthorized !== this._rejectUnauthorized) {\n this._handle.setVerifyMode(requestCert, rejectUnauthorized);\n this._requestCert = requestCert;\n this._rejectUnauthorized = rejectUnauthorized;\n }\n if (!this._handle.renegotiate()) {\n if (callback) {\n process.nextTick(callback, new Error('Failed to renegotiate'));\n }\n return false;\n }\n\n // Ensure that we'll cycle through internal openssl's state\n this.write('');\n\n if (callback) {\n this.once('secure', function() {\n callback(null);\n });\n }\n\n return true;\n};\n\nTLSSocket.prototype.setMaxSendFragment = function setMaxSendFragment(size) {\n return this._handle.setMaxSendFragment(size) === 1;\n};\n\nTLSSocket.prototype.getTLSTicket = function getTLSTicket() {\n return this._handle.getTLSTicket();\n};\n\nTLSSocket.prototype._handleTimeout = function() {\n this._emitTLSError(new Error('TLS handshake timeout'));\n};\n\nTLSSocket.prototype._emitTLSError = function(err) {\n var e = this._tlsError(err);\n if (e)\n this.emit('error', e);\n};\n\nTLSSocket.prototype._tlsError = function(err) {\n this.emit('_tlsError', err);\n if (this._controlReleased)\n return err;\n return null;\n};\n\nTLSSocket.prototype._releaseControl = function() {\n if (this._controlReleased)\n return false;\n this._controlReleased = true;\n this.removeListener('error', this._tlsError);\n return true;\n};\n\nTLSSocket.prototype._finishInit = function() {\n // `newSession` callback wasn't called yet\n if (this._newSessionPending) {\n this._securePending = true;\n return;\n }\n\n if (process.features.tls_npn) {\n this.npnProtocol = this._handle.getNegotiatedProtocol();\n }\n\n if (process.features.tls_alpn) {\n this.alpnProtocol = this.ssl.getALPNNegotiatedProtocol();\n }\n\n if (process.features.tls_sni && this._tlsOptions.isServer) {\n this.servername = this._handle.getServername();\n }\n\n debug('secure established');\n this._secureEstablished = true;\n if (this._tlsOptions.handshakeTimeout > 0)\n this.setTimeout(0, this._handleTimeout);\n this.emit('secure');\n};\n\nTLSSocket.prototype._start = function() {\n if (this.connecting) {\n this.once('connect', function() {\n this._start();\n });\n return;\n }\n\n // Socket was destroyed before the connection was established\n if (!this._handle)\n return;\n\n debug('start');\n if (this._tlsOptions.requestOCSP)\n this._handle.requestOCSP();\n this._handle.start();\n};\n\nTLSSocket.prototype.setServername = function(name) {\n this._handle.setServername(name);\n};\n\nTLSSocket.prototype.setSession = function(session) {\n if (typeof session === 'string')\n session = Buffer.from(session, 'latin1');\n this._handle.setSession(session);\n};\n\nTLSSocket.prototype.getPeerCertificate = function(detailed) {\n if (this._handle) {\n return common.translatePeerCertificate(\n this._handle.getPeerCertificate(detailed));\n }\n\n return null;\n};\n\nTLSSocket.prototype.getSession = function() {\n if (this._handle) {\n return this._handle.getSession();\n }\n\n return null;\n};\n\nTLSSocket.prototype.isSessionReused = function() {\n if (this._handle) {\n return this._handle.isSessionReused();\n }\n\n return null;\n};\n\nTLSSocket.prototype.getCipher = function(err) {\n if (this._handle) {\n return this._handle.getCurrentCipher();\n } else {\n return null;\n }\n};\n\nTLSSocket.prototype.getEphemeralKeyInfo = function() {\n if (this._handle)\n return this._handle.getEphemeralKeyInfo();\n\n return null;\n};\n\nTLSSocket.prototype.getProtocol = function() {\n if (this._handle)\n return this._handle.getProtocol();\n\n return null;\n};\n\n// TODO: support anonymous (nocert) and PSK\n\n\n// AUTHENTICATION MODES\n//\n// There are several levels of authentication that TLS/SSL supports.\n// Read more about this in \"man SSL_set_verify\".\n//\n// 1. The server sends a certificate to the client but does not request a\n// cert from the client. This is common for most HTTPS servers. The browser\n// can verify the identity of the server, but the server does not know who\n// the client is. Authenticating the client is usually done over HTTP using\n// login boxes and cookies and stuff.\n//\n// 2. The server sends a cert to the client and requests that the client\n// also send it a cert. The client knows who the server is and the server is\n// requesting the client also identify themselves. There are several\n// outcomes:\n//\n// A) verifyError returns null meaning the client's certificate is signed\n// by one of the server's CAs. The server know's the client idenity now\n// and the client is authorized.\n//\n// B) For some reason the client's certificate is not acceptable -\n// verifyError returns a string indicating the problem. The server can\n// either (i) reject the client or (ii) allow the client to connect as an\n// unauthorized connection.\n//\n// The mode is controlled by two boolean variables.\n//\n// requestCert\n// If true the server requests a certificate from client connections. For\n// the common HTTPS case, users will want this to be false, which is what\n// it defaults to.\n//\n// rejectUnauthorized\n// If true clients whose certificates are invalid for any reason will not\n// be allowed to make connections. If false, they will simply be marked as\n// unauthorized but secure communication will continue. By default this is\n// true.\n//\n//\n//\n// Options:\n// - requestCert. Send verify request. Default to false.\n// - rejectUnauthorized. Boolean, default to true.\n// - key. string.\n// - cert: string.\n// - ca: string or array of strings.\n// - sessionTimeout: integer.\n//\n// emit 'secureConnection'\n// function (tlsSocket) { }\n//\n// \"UNABLE_TO_GET_ISSUER_CERT\", \"UNABLE_TO_GET_CRL\",\n// \"UNABLE_TO_DECRYPT_CERT_SIGNATURE\", \"UNABLE_TO_DECRYPT_CRL_SIGNATURE\",\n// \"UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY\", \"CERT_SIGNATURE_FAILURE\",\n// \"CRL_SIGNATURE_FAILURE\", \"CERT_NOT_YET_VALID\" \"CERT_HAS_EXPIRED\",\n// \"CRL_NOT_YET_VALID\", \"CRL_HAS_EXPIRED\" \"ERROR_IN_CERT_NOT_BEFORE_FIELD\",\n// \"ERROR_IN_CERT_NOT_AFTER_FIELD\", \"ERROR_IN_CRL_LAST_UPDATE_FIELD\",\n// \"ERROR_IN_CRL_NEXT_UPDATE_FIELD\", \"OUT_OF_MEM\",\n// \"DEPTH_ZERO_SELF_SIGNED_CERT\", \"SELF_SIGNED_CERT_IN_CHAIN\",\n// \"UNABLE_TO_GET_ISSUER_CERT_LOCALLY\", \"UNABLE_TO_VERIFY_LEAF_SIGNATURE\",\n// \"CERT_CHAIN_TOO_LONG\", \"CERT_REVOKED\" \"INVALID_CA\",\n// \"PATH_LENGTH_EXCEEDED\", \"INVALID_PURPOSE\" \"CERT_UNTRUSTED\",\n// \"CERT_REJECTED\"\n//\nfunction Server(options, listener) {\n if (!(this instanceof Server))\n return new Server(options, listener);\n\n if (typeof options === 'function') {\n listener = options;\n options = {};\n } else if (options == null || typeof options === 'object') {\n options = options || {};\n } else {\n throw new TypeError('options must be an object');\n }\n\n\n this._contexts = [];\n\n var self = this;\n\n // Handle option defaults:\n this.setOptions(options);\n\n var sharedCreds = tls.createSecureContext({\n pfx: self.pfx,\n key: self.key,\n passphrase: self.passphrase,\n cert: self.cert,\n ca: self.ca,\n ciphers: self.ciphers,\n ecdhCurve: self.ecdhCurve,\n dhparam: self.dhparam,\n secureProtocol: self.secureProtocol,\n secureOptions: self.secureOptions,\n honorCipherOrder: self.honorCipherOrder,\n crl: self.crl,\n sessionIdContext: self.sessionIdContext\n });\n this._sharedCreds = sharedCreds;\n\n var timeout = options.handshakeTimeout || (120 * 1000);\n\n if (typeof timeout !== 'number') {\n throw new TypeError('handshakeTimeout must be a number');\n }\n\n if (self.sessionTimeout) {\n sharedCreds.context.setSessionTimeout(self.sessionTimeout);\n }\n\n if (self.ticketKeys) {\n sharedCreds.context.setTicketKeys(self.ticketKeys);\n }\n\n // constructor call\n net.Server.call(this, function(raw_socket) {\n var socket = new TLSSocket(raw_socket, {\n secureContext: sharedCreds,\n isServer: true,\n server: self,\n requestCert: self.requestCert,\n rejectUnauthorized: self.rejectUnauthorized,\n handshakeTimeout: timeout,\n NPNProtocols: self.NPNProtocols,\n ALPNProtocols: self.ALPNProtocols,\n SNICallback: options.SNICallback || SNICallback\n });\n\n socket.on('secure', function() {\n if (socket._requestCert) {\n var verifyError = socket._handle.verifyError();\n if (verifyError) {\n socket.authorizationError = verifyError.code;\n\n if (socket._rejectUnauthorized)\n socket.destroy();\n } else {\n socket.authorized = true;\n }\n }\n\n if (!socket.destroyed && socket._releaseControl())\n self.emit('secureConnection', socket);\n });\n\n var errorEmitted = false;\n socket.on('close', function(err) {\n // Closed because of error - no need to emit it twice\n if (err)\n return;\n\n // Emit ECONNRESET\n if (!socket._controlReleased && !errorEmitted) {\n errorEmitted = true;\n var connReset = new Error('socket hang up');\n connReset.code = 'ECONNRESET';\n self.emit('tlsClientError', connReset, socket);\n }\n });\n\n socket.on('_tlsError', function(err) {\n if (!socket._controlReleased && !errorEmitted) {\n errorEmitted = true;\n self.emit('tlsClientError', err, socket);\n }\n });\n });\n\n if (listener) {\n this.on('secureConnection', listener);\n }\n}\n\nutil.inherits(Server, net.Server);\nexports.Server = Server;\nexports.createServer = function(options, listener) {\n return new Server(options, listener);\n};\n\n\nServer.prototype._getServerData = function() {\n return {\n ticketKeys: this.getTicketKeys().toString('hex')\n };\n};\n\n\nServer.prototype._setServerData = function(data) {\n this.setTicketKeys(Buffer.from(data.ticketKeys, 'hex'));\n};\n\n\nServer.prototype.getTicketKeys = function getTicketKeys(keys) {\n return this._sharedCreds.context.getTicketKeys(keys);\n};\n\n\nServer.prototype.setTicketKeys = function setTicketKeys(keys) {\n this._sharedCreds.context.setTicketKeys(keys);\n};\n\n\nServer.prototype.setOptions = function(options) {\n this.requestCert = options.requestCert === true;\n this.rejectUnauthorized = options.rejectUnauthorized !== false;\n\n if (options.pfx) this.pfx = options.pfx;\n if (options.key) this.key = options.key;\n if (options.passphrase) this.passphrase = options.passphrase;\n if (options.cert) this.cert = options.cert;\n if (options.ca) this.ca = options.ca;\n if (options.secureProtocol) this.secureProtocol = options.secureProtocol;\n if (options.crl) this.crl = options.crl;\n if (options.ciphers) this.ciphers = options.ciphers;\n if (options.ecdhCurve !== undefined)\n this.ecdhCurve = options.ecdhCurve;\n if (options.dhparam) this.dhparam = options.dhparam;\n if (options.sessionTimeout) this.sessionTimeout = options.sessionTimeout;\n if (options.ticketKeys) this.ticketKeys = options.ticketKeys;\n var secureOptions = options.secureOptions || 0;\n if (options.honorCipherOrder !== undefined)\n this.honorCipherOrder = !!options.honorCipherOrder;\n else\n this.honorCipherOrder = true;\n if (secureOptions) this.secureOptions = secureOptions;\n if (options.NPNProtocols) tls.convertNPNProtocols(options.NPNProtocols, this);\n if (options.ALPNProtocols)\n tls.convertALPNProtocols(options.ALPNProtocols, this);\n if (options.sessionIdContext) {\n this.sessionIdContext = options.sessionIdContext;\n } else {\n this.sessionIdContext = crypto.createHash('sha1')\n .update(process.argv.join(' '))\n .digest('hex')\n .slice(0, 32);\n }\n};\n\n// SNI Contexts High-Level API\nServer.prototype.addContext = function(servername, context) {\n if (!servername) {\n throw new Error('\"servername\" is required parameter for Server.addContext');\n }\n\n var re = new RegExp('^' +\n servername.replace(/([.^$+?\\-\\\\[\\]{}])/g, '\\\\$1')\n .replace(/\\*/g, '[^.]*') +\n '$');\n this._contexts.push([re, tls.createSecureContext(context).context]);\n};\n\nfunction SNICallback(servername, callback) {\n var ctx;\n\n this.server._contexts.some(function(elem) {\n if (elem[0].test(servername)) {\n ctx = elem[1];\n return true;\n }\n });\n\n callback(null, ctx);\n}\n\n\n// Target API:\n//\n// var s = tls.connect({port: 8000, host: \"google.com\"}, function() {\n// if (!s.authorized) {\n// s.destroy();\n// return;\n// }\n//\n// // s.socket;\n//\n// s.end(\"hello world\\n\");\n// });\n//\n//\nfunction normalizeConnectArgs(listArgs) {\n var args = net._normalizeArgs(listArgs);\n var options = args[0];\n var cb = args[1];\n\n // If args[0] was options, then normalize dealt with it.\n // If args[0] is port, or args[0], args[1] is host,port, we need to\n // find the options and merge them in, normalize's options has only\n // the host/port/path args that it knows about, not the tls options.\n // This means that options.host overrides a host arg.\n if (listArgs[1] !== null && typeof listArgs[1] === 'object') {\n util._extend(options, listArgs[1]);\n } else if (listArgs[2] !== null && typeof listArgs[2] === 'object') {\n util._extend(options, listArgs[2]);\n }\n\n return (cb) ? [options, cb] : [options];\n}\n\nexports.connect = function(...args /* [port,] [host,] [options,] [cb] */) {\n args = normalizeConnectArgs(args);\n var options = args[0];\n var cb = args[1];\n\n var defaults = {\n rejectUnauthorized: '0' !== process.env.NODE_TLS_REJECT_UNAUTHORIZED,\n ciphers: tls.DEFAULT_CIPHERS,\n checkServerIdentity: tls.checkServerIdentity,\n minDHSize: 1024\n };\n\n options = util._extend(defaults, options || {});\n if (!options.keepAlive)\n options.singleUse = true;\n\n assert(typeof options.checkServerIdentity === 'function');\n assert(typeof options.minDHSize === 'number',\n 'options.minDHSize is not a number: ' + options.minDHSize);\n assert(options.minDHSize > 0,\n 'options.minDHSize is not a positive number: ' +\n options.minDHSize);\n\n var hostname = options.servername ||\n options.host ||\n (options.socket && options.socket._host) ||\n 'localhost';\n const NPN = {};\n const ALPN = {};\n const context = options.secureContext || tls.createSecureContext(options);\n tls.convertNPNProtocols(options.NPNProtocols, NPN);\n tls.convertALPNProtocols(options.ALPNProtocols, ALPN);\n\n var socket = new TLSSocket(options.socket, {\n pipe: options.path && !options.port,\n secureContext: context,\n isServer: false,\n requestCert: true,\n rejectUnauthorized: options.rejectUnauthorized !== false,\n session: options.session,\n NPNProtocols: NPN.NPNProtocols,\n ALPNProtocols: ALPN.ALPNProtocols,\n requestOCSP: options.requestOCSP\n });\n\n if (cb)\n socket.once('secureConnect', cb);\n\n if (!options.socket) {\n var connect_opt;\n if (options.path && !options.port) {\n connect_opt = { path: options.path };\n } else {\n connect_opt = {\n port: options.port,\n host: options.host,\n family: options.family,\n localAddress: options.localAddress,\n lookup: options.lookup\n };\n }\n socket.connect(connect_opt, function() {\n socket._start();\n });\n }\n\n socket._releaseControl();\n\n if (options.session)\n socket.setSession(options.session);\n\n if (options.servername)\n socket.setServername(options.servername);\n\n if (options.socket)\n socket._start();\n\n socket.on('secure', function() {\n // Check the size of DHE parameter above minimum requirement\n // specified in options.\n var ekeyinfo = socket.getEphemeralKeyInfo();\n if (ekeyinfo.type === 'DH' && ekeyinfo.size < options.minDHSize) {\n var err = new Error('DH parameter size ' + ekeyinfo.size +\n ' is less than ' + options.minDHSize);\n socket.emit('error', err);\n socket.destroy();\n return;\n }\n\n var verifyError = socket._handle.verifyError();\n\n // Verify that server's identity matches it's certificate's names\n // Unless server has resumed our existing session\n if (!verifyError && !socket.isSessionReused()) {\n var cert = socket.getPeerCertificate();\n verifyError = options.checkServerIdentity(hostname, cert);\n }\n\n if (verifyError) {\n socket.authorized = false;\n socket.authorizationError = verifyError.code || verifyError.message;\n\n if (options.rejectUnauthorized) {\n socket.destroy(verifyError);\n return;\n } else {\n socket.emit('secureConnect');\n }\n } else {\n socket.authorized = true;\n socket.emit('secureConnect');\n }\n\n // Uncork incoming data\n socket.removeListener('end', onHangUp);\n });\n\n function onHangUp() {\n // NOTE: This logic is shared with _http_client.js\n if (!socket._hadError) {\n socket._hadError = true;\n var error = new Error('socket hang up');\n error.code = 'ECONNRESET';\n socket.destroy(error);\n }\n }\n socket.once('end', onHangUp);\n\n return socket;\n};\n\n});", "pkgUrl": "(system)" }, { "id": "148", "url": "_http_agent.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst net = require('net');\nconst util = require('util');\nconst EventEmitter = require('events');\nconst debug = util.debuglog('http');\nconst async_id_symbol = process.binding('async_wrap').async_id_symbol;\nconst nextTick = require('internal/process/next_tick').nextTick;\n\n// New Agent code.\n\n// The largest departure from the previous implementation is that\n// an Agent instance holds connections for a variable number of host:ports.\n// Surprisingly, this is still API compatible as far as third parties are\n// concerned. The only code that really notices the difference is the\n// request object.\n\n// Another departure is that all code related to HTTP parsing is in\n// ClientRequest.onSocket(). The Agent is now *strictly*\n// concerned with managing a connection pool.\n\nfunction Agent(options) {\n if (!(this instanceof Agent))\n return new Agent(options);\n\n EventEmitter.call(this);\n\n var self = this;\n\n self.defaultPort = 80;\n self.protocol = 'http:';\n\n self.options = util._extend({}, options);\n\n // don't confuse net and make it think that we're connecting to a pipe\n self.options.path = null;\n self.requests = {};\n self.sockets = {};\n self.freeSockets = {};\n self.keepAliveMsecs = self.options.keepAliveMsecs || 1000;\n self.keepAlive = self.options.keepAlive || false;\n self.maxSockets = self.options.maxSockets || Agent.defaultMaxSockets;\n self.maxFreeSockets = self.options.maxFreeSockets || 256;\n\n self.on('free', function(socket, options) {\n var name = self.getName(options);\n debug('agent.on(free)', name);\n\n if (socket.writable &&\n self.requests[name] && self.requests[name].length) {\n self.requests[name].shift().onSocket(socket);\n if (self.requests[name].length === 0) {\n // don't leak\n delete self.requests[name];\n }\n } else {\n // If there are no pending requests, then put it in\n // the freeSockets pool, but only if we're allowed to do so.\n var req = socket._httpMessage;\n if (req &&\n req.shouldKeepAlive &&\n socket.writable &&\n self.keepAlive) {\n var freeSockets = self.freeSockets[name];\n var freeLen = freeSockets ? freeSockets.length : 0;\n var count = freeLen;\n if (self.sockets[name])\n count += self.sockets[name].length;\n\n if (count > self.maxSockets || freeLen >= self.maxFreeSockets) {\n socket.destroy();\n } else if (self.keepSocketAlive(socket)) {\n freeSockets = freeSockets || [];\n self.freeSockets[name] = freeSockets;\n socket[async_id_symbol] = -1;\n socket._httpMessage = null;\n self.removeSocket(socket, options);\n freeSockets.push(socket);\n } else {\n // Implementation doesn't want to keep socket alive\n socket.destroy();\n }\n } else {\n socket.destroy();\n }\n }\n });\n}\n\nutil.inherits(Agent, EventEmitter);\n\nAgent.defaultMaxSockets = Infinity;\n\nAgent.prototype.createConnection = net.createConnection;\n\n// Get the key for a given set of request options\nAgent.prototype.getName = function getName(options) {\n var name = options.host || 'localhost';\n\n name += ':';\n if (options.port)\n name += options.port;\n\n name += ':';\n if (options.localAddress)\n name += options.localAddress;\n\n // Pacify parallel/test-http-agent-getname by only appending\n // the ':' when options.family is set.\n if (options.family === 4 || options.family === 6)\n name += ':' + options.family;\n\n return name;\n};\n\nAgent.prototype.addRequest = function addRequest(req, options, port/*legacy*/,\n localAddress/*legacy*/) {\n // Legacy API: addRequest(req, host, port, localAddress)\n if (typeof options === 'string') {\n options = {\n host: options,\n port,\n localAddress\n };\n }\n\n options = util._extend({}, options);\n util._extend(options, this.options);\n\n if (!options.servername) {\n options.servername = options.host;\n const hostHeader = req.getHeader('host');\n if (hostHeader) {\n options.servername = hostHeader.replace(/:.*$/, '');\n }\n }\n\n var name = this.getName(options);\n if (!this.sockets[name]) {\n this.sockets[name] = [];\n }\n\n var freeLen = this.freeSockets[name] ? this.freeSockets[name].length : 0;\n var sockLen = freeLen + this.sockets[name].length;\n\n if (freeLen) {\n // we have a free socket, so use that.\n var socket = this.freeSockets[name].shift();\n // Assign the handle a new asyncId and run any init() hooks.\n socket._handle.asyncReset();\n socket[async_id_symbol] = socket._handle.getAsyncId();\n\n // don't leak\n if (!this.freeSockets[name].length)\n delete this.freeSockets[name];\n\n this.reuseSocket(socket, req);\n req.onSocket(socket);\n this.sockets[name].push(socket);\n } else if (sockLen < this.maxSockets) {\n debug('call onSocket', sockLen, freeLen);\n // If we are under maxSockets create a new one.\n this.createSocket(req, options, function(err, newSocket) {\n if (err) {\n nextTick(newSocket._handle.getAsyncId(), function() {\n req.emit('error', err);\n });\n return;\n }\n req.onSocket(newSocket);\n });\n } else {\n debug('wait for socket');\n // We are over limit so we'll add it to the queue.\n if (!this.requests[name]) {\n this.requests[name] = [];\n }\n this.requests[name].push(req);\n }\n};\n\nAgent.prototype.createSocket = function createSocket(req, options, cb) {\n var self = this;\n options = util._extend({}, options);\n util._extend(options, self.options);\n\n if (!options.servername) {\n options.servername = options.host;\n const hostHeader = req.getHeader('host');\n if (hostHeader) {\n options.servername = hostHeader.replace(/:.*$/, '');\n }\n }\n\n var name = self.getName(options);\n options._agentKey = name;\n\n debug('createConnection', name, options);\n options.encoding = null;\n var called = false;\n const newSocket = self.createConnection(options, oncreate);\n if (newSocket)\n oncreate(null, newSocket);\n function oncreate(err, s) {\n if (called)\n return;\n called = true;\n if (err)\n return cb(err);\n if (!self.sockets[name]) {\n self.sockets[name] = [];\n }\n self.sockets[name].push(s);\n debug('sockets', name, self.sockets[name].length);\n installListeners(self, s, options);\n cb(null, s);\n }\n};\n\nfunction installListeners(agent, s, options) {\n function onFree() {\n debug('CLIENT socket onFree');\n agent.emit('free', s, options);\n }\n s.on('free', onFree);\n\n function onClose(err) {\n debug('CLIENT socket onClose');\n // This is the only place where sockets get removed from the Agent.\n // If you want to remove a socket from the pool, just close it.\n // All socket errors end in a close event anyway.\n agent.removeSocket(s, options);\n }\n s.on('close', onClose);\n\n function onRemove() {\n // We need this function for cases like HTTP 'upgrade'\n // (defined by WebSockets) where we need to remove a socket from the\n // pool because it'll be locked up indefinitely\n debug('CLIENT socket onRemove');\n agent.removeSocket(s, options);\n s.removeListener('close', onClose);\n s.removeListener('free', onFree);\n s.removeListener('agentRemove', onRemove);\n }\n s.on('agentRemove', onRemove);\n}\n\nAgent.prototype.removeSocket = function removeSocket(s, options) {\n var name = this.getName(options);\n debug('removeSocket', name, 'writable:', s.writable);\n var sets = [this.sockets];\n\n // If the socket was destroyed, remove it from the free buffers too.\n if (!s.writable)\n sets.push(this.freeSockets);\n\n for (var sk = 0; sk < sets.length; sk++) {\n var sockets = sets[sk];\n\n if (sockets[name]) {\n var index = sockets[name].indexOf(s);\n if (index !== -1) {\n sockets[name].splice(index, 1);\n // Don't leak\n if (sockets[name].length === 0)\n delete sockets[name];\n }\n }\n }\n\n if (this.requests[name] && this.requests[name].length) {\n debug('removeSocket, have a request, make a socket');\n var req = this.requests[name][0];\n // If we have pending requests and a socket gets closed make a new one\n this.createSocket(req, options, function(err, newSocket) {\n if (err) {\n nextTick(newSocket._handle.getAsyncId(), function() {\n req.emit('error', err);\n });\n return;\n }\n newSocket.emit('free');\n });\n }\n};\n\nAgent.prototype.keepSocketAlive = function keepSocketAlive(socket) {\n socket.setKeepAlive(true, this.keepAliveMsecs);\n socket.unref();\n\n return true;\n};\n\nAgent.prototype.reuseSocket = function reuseSocket(socket, req) {\n debug('have free socket');\n socket.ref();\n};\n\nAgent.prototype.destroy = function destroy() {\n var sets = [this.freeSockets, this.sockets];\n for (var s = 0; s < sets.length; s++) {\n var set = sets[s];\n var keys = Object.keys(set);\n for (var v = 0; v < keys.length; v++) {\n var setName = set[keys[v]];\n for (var n = 0; n < setName.length; n++) {\n setName[n].destroy();\n }\n }\n }\n};\n\nmodule.exports = {\n Agent,\n globalAgent: new Agent()\n};\n\n});", "pkgUrl": "(system)" }, { "id": "701", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk" }, { "id": "702", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js", "source": "(function (exports, require, module, __filename, __dirname) { // Load modules\n\nvar Http = require('http');\nvar Hoek = require('hoek');\n\n\n// Declare internals\n\nvar internals = {};\n\nexports.wrap = function (error, statusCode, message) {\n\n Hoek.assert(error instanceof Error, 'Cannot wrap non-Error object');\n return (error.isBoom ? error : internals.initialize(error, statusCode || 500, message));\n};\n\n\nexports.create = function (statusCode, message, data) {\n\n return internals.create(statusCode, message, data, exports.create);\n};\n\ninternals.create = function (statusCode, message, data, ctor) {\n\n var error = new Error(message ? message : undefined); // Avoids settings null message\n Error.captureStackTrace(error, ctor); // Filter the stack to our external API\n error.data = data || null;\n internals.initialize(error, statusCode);\n return error;\n};\n\ninternals.initialize = function (error, statusCode, message) {\n\n var numberCode = parseInt(statusCode, 10);\n Hoek.assert(!isNaN(numberCode) && numberCode >= 400, 'First argument must be a number (400+):', statusCode);\n\n error.isBoom = true;\n error.isServer = numberCode >= 500;\n\n if (!error.hasOwnProperty('data')) {\n error.data = null;\n }\n\n error.output = {\n statusCode: numberCode,\n payload: {},\n headers: {}\n };\n\n error.reformat = internals.reformat;\n error.reformat();\n\n if (!message &&\n !error.message) {\n\n message = error.output.payload.error;\n }\n\n if (message) {\n error.message = (message + (error.message ? ': ' + error.message : ''));\n }\n\n return error;\n};\n\n\ninternals.reformat = function () {\n\n this.output.payload.statusCode = this.output.statusCode;\n this.output.payload.error = Http.STATUS_CODES[this.output.statusCode] || 'Unknown';\n\n if (this.output.statusCode === 500) {\n this.output.payload.message = 'An internal server error occurred'; // Hide actual error from user\n }\n else if (this.message) {\n this.output.payload.message = this.message;\n }\n};\n\n\n// 4xx Client Errors\n\nexports.badRequest = function (message, data) {\n\n return internals.create(400, message, data, exports.badRequest);\n};\n\n\nexports.unauthorized = function (message, scheme, attributes) { // Or function (message, wwwAuthenticate[])\n\n var err = internals.create(401, message, undefined, exports.unauthorized);\n\n if (!scheme) {\n return err;\n }\n\n var wwwAuthenticate = '';\n var i = 0;\n var il = 0;\n\n if (typeof scheme === 'string') {\n\n // function (message, scheme, attributes)\n\n wwwAuthenticate = scheme;\n\n if (attributes || message) {\n err.output.payload.attributes = {};\n }\n\n if (attributes) {\n var names = Object.keys(attributes);\n for (i = 0, il = names.length; i < il; ++i) {\n var name = names[i];\n if (i) {\n wwwAuthenticate += ',';\n }\n\n var value = attributes[name];\n if (value === null ||\n value === undefined) { // Value can be zero\n\n value = '';\n }\n wwwAuthenticate += ' ' + name + '=\"' + Hoek.escapeHeaderAttribute(value.toString()) + '\"';\n err.output.payload.attributes[name] = value;\n }\n }\n\n if (message) {\n if (attributes) {\n wwwAuthenticate += ',';\n }\n wwwAuthenticate += ' error=\"' + Hoek.escapeHeaderAttribute(message) + '\"';\n err.output.payload.attributes.error = message;\n }\n else {\n err.isMissing = true;\n }\n }\n else {\n\n // function (message, wwwAuthenticate[])\n\n var wwwArray = scheme;\n for (i = 0, il = wwwArray.length; i < il; ++i) {\n if (i) {\n wwwAuthenticate += ', ';\n }\n\n wwwAuthenticate += wwwArray[i];\n }\n }\n\n err.output.headers['WWW-Authenticate'] = wwwAuthenticate;\n\n return err;\n};\n\n\nexports.forbidden = function (message, data) {\n\n return internals.create(403, message, data, exports.forbidden);\n};\n\n\nexports.notFound = function (message, data) {\n\n return internals.create(404, message, data, exports.notFound);\n};\n\n\nexports.methodNotAllowed = function (message, data) {\n\n return internals.create(405, message, data, exports.methodNotAllowed);\n};\n\n\nexports.notAcceptable = function (message, data) {\n\n return internals.create(406, message, data, exports.notAcceptable);\n};\n\n\nexports.proxyAuthRequired = function (message, data) {\n\n return internals.create(407, message, data, exports.proxyAuthRequired);\n};\n\n\nexports.clientTimeout = function (message, data) {\n\n return internals.create(408, message, data, exports.clientTimeout);\n};\n\n\nexports.conflict = function (message, data) {\n\n return internals.create(409, message, data, exports.conflict);\n};\n\n\nexports.resourceGone = function (message, data) {\n\n return internals.create(410, message, data, exports.resourceGone);\n};\n\n\nexports.lengthRequired = function (message, data) {\n\n return internals.create(411, message, data, exports.lengthRequired);\n};\n\n\nexports.preconditionFailed = function (message, data) {\n\n return internals.create(412, message, data, exports.preconditionFailed);\n};\n\n\nexports.entityTooLarge = function (message, data) {\n\n return internals.create(413, message, data, exports.entityTooLarge);\n};\n\n\nexports.uriTooLong = function (message, data) {\n\n return internals.create(414, message, data, exports.uriTooLong);\n};\n\n\nexports.unsupportedMediaType = function (message, data) {\n\n return internals.create(415, message, data, exports.unsupportedMediaType);\n};\n\n\nexports.rangeNotSatisfiable = function (message, data) {\n\n return internals.create(416, message, data, exports.rangeNotSatisfiable);\n};\n\n\nexports.expectationFailed = function (message, data) {\n\n return internals.create(417, message, data, exports.expectationFailed);\n};\n\nexports.badData = function (message, data) {\n\n return internals.create(422, message, data, exports.badData);\n};\n\n\nexports.preconditionRequired = function (message, data) {\n\n return internals.create(428, message, data, exports.preconditionRequired);\n};\n\n\nexports.tooManyRequests = function (message, data) {\n\n return internals.create(429, message, data, exports.tooManyRequests);\n};\n\n\n// 5xx Server Errors\n\nexports.internal = function (message, data, statusCode) {\n\n return internals.serverError(message, data, statusCode, exports.internal);\n};\n\ninternals.serverError = function (message, data, statusCode, ctor) {\n\n var error;\n if (data instanceof Error) {\n error = exports.wrap(data, statusCode, message);\n } else {\n error = internals.create(statusCode || 500, message, undefined, ctor);\n error.data = data;\n }\n\n return error;\n};\n\n\nexports.notImplemented = function (message, data) {\n\n return internals.serverError(message, data, 501, exports.notImplemented);\n};\n\n\nexports.badGateway = function (message, data) {\n\n return internals.serverError(message, data, 502, exports.badGateway);\n};\n\n\nexports.serverTimeout = function (message, data) {\n\n return internals.serverError(message, data, 503, exports.serverTimeout);\n};\n\n\nexports.gatewayTimeout = function (message, data) {\n\n return internals.serverError(message, data, 504, exports.gatewayTimeout);\n};\n\n\nexports.badImplementation = function (message, data) {\n\n var err = internals.serverError(message, data, 500, exports.badImplementation);\n err.isDeveloperError = true;\n return err;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom" }, { "id": "705", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp" }, { "id": "706", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js", "source": "(function (exports, require, module, __filename, __dirname) { // Load modules\n\nvar Dgram = require('dgram');\nvar Dns = require('dns');\nvar Hoek = require('hoek');\n\n\n// Declare internals\n\nvar internals = {};\n\n\nexports.time = function (options, callback) {\n\n if (arguments.length !== 2) {\n callback = arguments[0];\n options = {};\n }\n\n var settings = Hoek.clone(options);\n settings.host = settings.host || 'pool.ntp.org';\n settings.port = settings.port || 123;\n settings.resolveReference = settings.resolveReference || false;\n\n // Declare variables used by callback\n\n var timeoutId = 0;\n var sent = 0;\n\n // Ensure callback is only called once\n\n var finish = function (err, result) {\n\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = 0;\n }\n\n socket.removeAllListeners();\n socket.once('error', internals.ignore);\n socket.close();\n return callback(err, result);\n };\n\n finish = Hoek.once(finish);\n\n // Create UDP socket\n\n var socket = Dgram.createSocket('udp4');\n\n socket.once('error', function (err) {\n\n return finish(err);\n });\n\n // Listen to incoming messages\n\n socket.on('message', function (buffer, rinfo) {\n\n var received = Date.now();\n\n var message = new internals.NtpMessage(buffer);\n if (!message.isValid) {\n return finish(new Error('Invalid server response'), message);\n }\n\n if (message.originateTimestamp !== sent) {\n return finish(new Error('Wrong originate timestamp'), message);\n }\n\n // Timestamp Name ID When Generated\n // ------------------------------------------------------------\n // Originate Timestamp T1 time request sent by client\n // Receive Timestamp T2 time request received by server\n // Transmit Timestamp T3 time reply sent by server\n // Destination Timestamp T4 time reply received by client\n //\n // The roundtrip delay d and system clock offset t are defined as:\n //\n // d = (T4 - T1) - (T3 - T2) t = ((T2 - T1) + (T3 - T4)) / 2\n\n var T1 = message.originateTimestamp;\n var T2 = message.receiveTimestamp;\n var T3 = message.transmitTimestamp;\n var T4 = received;\n\n message.d = (T4 - T1) - (T3 - T2);\n message.t = ((T2 - T1) + (T3 - T4)) / 2;\n message.receivedLocally = received;\n\n if (!settings.resolveReference ||\n message.stratum !== 'secondary') {\n\n return finish(null, message);\n }\n\n // Resolve reference IP address\n\n Dns.reverse(message.referenceId, function (err, domains) {\n\n if (/* $lab:coverage:off$ */ !err /* $lab:coverage:on$ */) {\n message.referenceHost = domains[0];\n }\n\n return finish(null, message);\n });\n });\n\n // Set timeout\n\n if (settings.timeout) {\n timeoutId = setTimeout(function () {\n\n timeoutId = 0;\n return finish(new Error('Timeout'));\n }, settings.timeout);\n }\n\n // Construct NTP message\n\n var message = new Buffer(48);\n for (var i = 0; i < 48; i++) { // Zero message\n message[i] = 0;\n }\n\n message[0] = (0 << 6) + (4 << 3) + (3 << 0) // Set version number to 4 and Mode to 3 (client)\n sent = Date.now();\n internals.fromMsecs(sent, message, 40); // Set transmit timestamp (returns as originate)\n\n // Send NTP request\n\n socket.send(message, 0, message.length, settings.port, settings.host, function (err, bytes) {\n\n if (err ||\n bytes !== 48) {\n\n return finish(err || new Error('Could not send entire message'));\n }\n });\n};\n\n\ninternals.NtpMessage = function (buffer) {\n\n this.isValid = false;\n\n // Validate\n\n if (buffer.length !== 48) {\n return;\n }\n\n // Leap indicator\n\n var li = (buffer[0] >> 6);\n switch (li) {\n case 0: this.leapIndicator = 'no-warning'; break;\n case 1: this.leapIndicator = 'last-minute-61'; break;\n case 2: this.leapIndicator = 'last-minute-59'; break;\n case 3: this.leapIndicator = 'alarm'; break;\n }\n\n // Version\n\n var vn = ((buffer[0] & 0x38) >> 3);\n this.version = vn;\n\n // Mode\n\n var mode = (buffer[0] & 0x7);\n switch (mode) {\n case 1: this.mode = 'symmetric-active'; break;\n case 2: this.mode = 'symmetric-passive'; break;\n case 3: this.mode = 'client'; break;\n case 4: this.mode = 'server'; break;\n case 5: this.mode = 'broadcast'; break;\n case 0:\n case 6:\n case 7: this.mode = 'reserved'; break;\n }\n\n // Stratum\n\n var stratum = buffer[1];\n if (stratum === 0) {\n this.stratum = 'death';\n }\n else if (stratum === 1) {\n this.stratum = 'primary';\n }\n else if (stratum <= 15) {\n this.stratum = 'secondary';\n }\n else {\n this.stratum = 'reserved';\n }\n\n // Poll interval (msec)\n\n this.pollInterval = Math.round(Math.pow(2, buffer[2])) * 1000;\n\n // Precision (msecs)\n\n this.precision = Math.pow(2, buffer[3]) * 1000;\n\n // Root delay (msecs)\n\n var rootDelay = 256 * (256 * (256 * buffer[4] + buffer[5]) + buffer[6]) + buffer[7];\n this.rootDelay = 1000 * (rootDelay / 0x10000);\n\n // Root dispersion (msecs)\n\n this.rootDispersion = ((buffer[8] << 8) + buffer[9] + ((buffer[10] << 8) + buffer[11]) / Math.pow(2, 16)) * 1000;\n\n // Reference identifier\n\n this.referenceId = '';\n switch (this.stratum) {\n case 'death':\n case 'primary':\n this.referenceId = String.fromCharCode(buffer[12]) + String.fromCharCode(buffer[13]) + String.fromCharCode(buffer[14]) + String.fromCharCode(buffer[15]);\n break;\n case 'secondary':\n this.referenceId = '' + buffer[12] + '.' + buffer[13] + '.' + buffer[14] + '.' + buffer[15];\n break;\n }\n\n // Reference timestamp\n\n this.referenceTimestamp = internals.toMsecs(buffer, 16);\n\n // Originate timestamp\n\n this.originateTimestamp = internals.toMsecs(buffer, 24);\n\n // Receive timestamp\n\n this.receiveTimestamp = internals.toMsecs(buffer, 32);\n\n // Transmit timestamp\n\n this.transmitTimestamp = internals.toMsecs(buffer, 40);\n\n // Validate\n\n if (this.version === 4 &&\n this.stratum !== 'reserved' &&\n this.mode === 'server' &&\n this.originateTimestamp &&\n this.receiveTimestamp &&\n this.transmitTimestamp) {\n\n this.isValid = true;\n }\n\n return this;\n};\n\n\ninternals.toMsecs = function (buffer, offset) {\n\n var seconds = 0;\n var fraction = 0;\n\n for (var i = 0; i < 4; ++i) {\n seconds = (seconds * 256) + buffer[offset + i];\n }\n\n for (i = 4; i < 8; ++i) {\n fraction = (fraction * 256) + buffer[offset + i];\n }\n\n return ((seconds - 2208988800 + (fraction / Math.pow(2, 32))) * 1000);\n};\n\n\ninternals.fromMsecs = function (ts, buffer, offset) {\n\n var seconds = Math.floor(ts / 1000) + 2208988800;\n var fraction = Math.round((ts % 1000) / 1000 * Math.pow(2, 32));\n\n buffer[offset + 0] = (seconds & 0xFF000000) >> 24;\n buffer[offset + 1] = (seconds & 0x00FF0000) >> 16;\n buffer[offset + 2] = (seconds & 0x0000FF00) >> 8;\n buffer[offset + 3] = (seconds & 0x000000FF);\n\n buffer[offset + 4] = (fraction & 0xFF000000) >> 24;\n buffer[offset + 5] = (fraction & 0x00FF0000) >> 16;\n buffer[offset + 6] = (fraction & 0x0000FF00) >> 8;\n buffer[offset + 7] = (fraction & 0x000000FF);\n};\n\n\n// Offset singleton\n\ninternals.last = {\n offset: 0,\n expires: 0,\n host: '',\n port: 0\n};\n\n\nexports.offset = function (options, callback) {\n\n if (arguments.length !== 2) {\n callback = arguments[0];\n options = {};\n }\n\n var now = Date.now();\n var clockSyncRefresh = options.clockSyncRefresh || 24 * 60 * 60 * 1000; // Daily\n\n if (internals.last.offset &&\n internals.last.host === options.host &&\n internals.last.port === options.port &&\n now < internals.last.expires) {\n\n process.nextTick(function () {\n\n callback(null, internals.last.offset);\n });\n\n return;\n }\n\n exports.time(options, function (err, time) {\n\n if (err) {\n return callback(err, 0);\n }\n\n internals.last = {\n offset: Math.round(time.t),\n expires: now + clockSyncRefresh,\n host: options.host,\n port: options.port\n };\n\n return callback(null, internals.last.offset);\n });\n};\n\n\n// Now singleton\n\ninternals.now = {\n intervalId: 0\n};\n\n\nexports.start = function (options, callback) {\n\n if (arguments.length !== 2) {\n callback = arguments[0];\n options = {};\n }\n\n if (internals.now.intervalId) {\n process.nextTick(function () {\n\n callback();\n });\n\n return;\n }\n\n exports.offset(options, function (err, offset) {\n\n internals.now.intervalId = setInterval(function () {\n\n exports.offset(options, function () { });\n }, options.clockSyncRefresh || 24 * 60 * 60 * 1000); // Daily\n\n return callback();\n });\n};\n\n\nexports.stop = function () {\n\n if (!internals.now.intervalId) {\n return;\n }\n\n clearInterval(internals.now.intervalId);\n internals.now.intervalId = 0;\n};\n\n\nexports.isLive = function () {\n\n return !!internals.now.intervalId;\n};\n\n\nexports.now = function () {\n\n var now = Date.now();\n if (!exports.isLive() ||\n now >= internals.last.expires) {\n\n return now;\n }\n\n return now + internals.last.offset;\n};\n\n\ninternals.ignore = function () {\n\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp" }, { "id": "708", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/lib/server.js", "source": "(function (exports, require, module, __filename, __dirname) { // Load modules\n\nvar Boom = require('boom');\nvar Hoek = require('hoek');\nvar Cryptiles = require('cryptiles');\nvar Crypto = require('./crypto');\nvar Utils = require('./utils');\n\n\n// Declare internals\n\nvar internals = {};\n\n\n// Hawk authentication\n\n/*\n req: node's HTTP request object or an object as follows:\n\n var request = {\n method: 'GET',\n url: '/resource/4?a=1&b=2',\n host: 'example.com',\n port: 8080,\n authorization: 'Hawk id=\"dh37fgj492je\", ts=\"1353832234\", nonce=\"j4h3g2\", ext=\"some-app-ext-data\", mac=\"6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=\"'\n };\n\n credentialsFunc: required function to lookup the set of Hawk credentials based on the provided credentials id.\n The credentials include the MAC key, MAC algorithm, and other attributes (such as username)\n needed by the application. This function is the equivalent of verifying the username and\n password in Basic authentication.\n\n var credentialsFunc = function (id, callback) {\n\n // Lookup credentials in database\n db.lookup(id, function (err, item) {\n\n if (err || !item) {\n return callback(err);\n }\n\n var credentials = {\n // Required\n key: item.key,\n algorithm: item.algorithm,\n // Application specific\n user: item.user\n };\n\n return callback(null, credentials);\n });\n };\n\n options: {\n\n hostHeaderName: optional header field name, used to override the default 'Host' header when used\n behind a cache of a proxy. Apache2 changes the value of the 'Host' header while preserving\n the original (which is what the module must verify) in the 'x-forwarded-host' header field.\n Only used when passed a node Http.ServerRequest object.\n\n nonceFunc: optional nonce validation function. The function signature is function(key, nonce, ts, callback)\n where 'callback' must be called using the signature function(err).\n\n timestampSkewSec: optional number of seconds of permitted clock skew for incoming timestamps. Defaults to 60 seconds.\n Provides a +/- skew which means actual allowed window is double the number of seconds.\n\n localtimeOffsetMsec: optional local clock time offset express in a number of milliseconds (positive or negative).\n Defaults to 0.\n\n payload: optional payload for validation. The client calculates the hash value and includes it via the 'hash'\n header attribute. The server always ensures the value provided has been included in the request\n MAC. When this option is provided, it validates the hash value itself. Validation is done by calculating\n a hash value over the entire payload (assuming it has already be normalized to the same format and\n encoding used by the client to calculate the hash on request). If the payload is not available at the time\n of authentication, the authenticatePayload() method can be used by passing it the credentials and\n attributes.hash returned in the authenticate callback.\n\n host: optional host name override. Only used when passed a node request object.\n port: optional port override. Only used when passed a node request object.\n }\n\n callback: function (err, credentials, artifacts) { }\n */\n\nexports.authenticate = function (req, credentialsFunc, options, callback) {\n\n callback = Hoek.nextTick(callback);\n\n // Default options\n\n options.nonceFunc = options.nonceFunc || internals.nonceFunc;\n options.timestampSkewSec = options.timestampSkewSec || 60; // 60 seconds\n\n // Application time\n\n var now = Utils.now(options.localtimeOffsetMsec); // Measure now before any other processing\n\n // Convert node Http request object to a request configuration object\n\n var request = Utils.parseRequest(req, options);\n if (request instanceof Error) {\n return callback(Boom.badRequest(request.message));\n }\n\n // Parse HTTP Authorization header\n\n var attributes = Utils.parseAuthorizationHeader(request.authorization);\n if (attributes instanceof Error) {\n return callback(attributes);\n }\n\n // Construct artifacts container\n\n var artifacts = {\n method: request.method,\n host: request.host,\n port: request.port,\n resource: request.url,\n ts: attributes.ts,\n nonce: attributes.nonce,\n hash: attributes.hash,\n ext: attributes.ext,\n app: attributes.app,\n dlg: attributes.dlg,\n mac: attributes.mac,\n id: attributes.id\n };\n\n // Verify required header attributes\n\n if (!attributes.id ||\n !attributes.ts ||\n !attributes.nonce ||\n !attributes.mac) {\n\n return callback(Boom.badRequest('Missing attributes'), null, artifacts);\n }\n\n // Fetch Hawk credentials\n\n credentialsFunc(attributes.id, function (err, credentials) {\n\n if (err) {\n return callback(err, credentials || null, artifacts);\n }\n\n if (!credentials) {\n return callback(Boom.unauthorized('Unknown credentials', 'Hawk'), null, artifacts);\n }\n\n if (!credentials.key ||\n !credentials.algorithm) {\n\n return callback(Boom.internal('Invalid credentials'), credentials, artifacts);\n }\n\n if (Crypto.algorithms.indexOf(credentials.algorithm) === -1) {\n return callback(Boom.internal('Unknown algorithm'), credentials, artifacts);\n }\n\n // Calculate MAC\n\n var mac = Crypto.calculateMac('header', credentials, artifacts);\n if (!Cryptiles.fixedTimeComparison(mac, attributes.mac)) {\n return callback(Boom.unauthorized('Bad mac', 'Hawk'), credentials, artifacts);\n }\n\n // Check payload hash\n\n if (options.payload ||\n options.payload === '') {\n\n if (!attributes.hash) {\n return callback(Boom.unauthorized('Missing required payload hash', 'Hawk'), credentials, artifacts);\n }\n\n var hash = Crypto.calculatePayloadHash(options.payload, credentials.algorithm, request.contentType);\n if (!Cryptiles.fixedTimeComparison(hash, attributes.hash)) {\n return callback(Boom.unauthorized('Bad payload hash', 'Hawk'), credentials, artifacts);\n }\n }\n\n // Check nonce\n\n options.nonceFunc(credentials.key, attributes.nonce, attributes.ts, function (err) {\n\n if (err) {\n return callback(Boom.unauthorized('Invalid nonce', 'Hawk'), credentials, artifacts);\n }\n\n // Check timestamp staleness\n\n if (Math.abs((attributes.ts * 1000) - now) > (options.timestampSkewSec * 1000)) {\n var tsm = Crypto.timestampMessage(credentials, options.localtimeOffsetMsec);\n return callback(Boom.unauthorized('Stale timestamp', 'Hawk', tsm), credentials, artifacts);\n }\n\n // Successful authentication\n\n return callback(null, credentials, artifacts);\n });\n });\n};\n\n\n// Authenticate payload hash - used when payload cannot be provided during authenticate()\n\n/*\n payload: raw request payload\n credentials: from authenticate callback\n artifacts: from authenticate callback\n contentType: req.headers['content-type']\n*/\n\nexports.authenticatePayload = function (payload, credentials, artifacts, contentType) {\n\n var calculatedHash = Crypto.calculatePayloadHash(payload, credentials.algorithm, contentType);\n return Cryptiles.fixedTimeComparison(calculatedHash, artifacts.hash);\n};\n\n\n// Authenticate payload hash - used when payload cannot be provided during authenticate()\n\n/*\n calculatedHash: the payload hash calculated using Crypto.calculatePayloadHash()\n artifacts: from authenticate callback\n*/\n\nexports.authenticatePayloadHash = function (calculatedHash, artifacts) {\n\n return Cryptiles.fixedTimeComparison(calculatedHash, artifacts.hash);\n};\n\n\n// Generate a Server-Authorization header for a given response\n\n/*\n credentials: {}, // Object received from authenticate()\n artifacts: {} // Object received from authenticate(); 'mac', 'hash', and 'ext' - ignored\n options: {\n ext: 'application-specific', // Application specific data sent via the ext attribute\n payload: '{\"some\":\"payload\"}', // UTF-8 encoded string for body hash generation (ignored if hash provided)\n contentType: 'application/json', // Payload content-type (ignored if hash provided)\n hash: 'U4MKKSmiVxk37JCCrAVIjV=' // Pre-calculated payload hash\n }\n*/\n\nexports.header = function (credentials, artifacts, options) {\n\n // Prepare inputs\n\n options = options || {};\n\n if (!artifacts ||\n typeof artifacts !== 'object' ||\n typeof options !== 'object') {\n\n return '';\n }\n\n artifacts = Hoek.clone(artifacts);\n delete artifacts.mac;\n artifacts.hash = options.hash;\n artifacts.ext = options.ext;\n\n // Validate credentials\n\n if (!credentials ||\n !credentials.key ||\n !credentials.algorithm) {\n\n // Invalid credential object\n return '';\n }\n\n if (Crypto.algorithms.indexOf(credentials.algorithm) === -1) {\n return '';\n }\n\n // Calculate payload hash\n\n if (!artifacts.hash &&\n (options.payload || options.payload === '')) {\n\n artifacts.hash = Crypto.calculatePayloadHash(options.payload, credentials.algorithm, options.contentType);\n }\n\n var mac = Crypto.calculateMac('response', credentials, artifacts);\n\n // Construct header\n\n var header = 'Hawk mac=\"' + mac + '\"' +\n (artifacts.hash ? ', hash=\"' + artifacts.hash + '\"' : '');\n\n if (artifacts.ext !== null &&\n artifacts.ext !== undefined &&\n artifacts.ext !== '') { // Other falsey values allowed\n\n header += ', ext=\"' + Hoek.escapeHeaderAttribute(artifacts.ext) + '\"';\n }\n\n return header;\n};\n\n\n/*\n * Arguments and options are the same as authenticate() with the exception that the only supported options are:\n * 'hostHeaderName', 'localtimeOffsetMsec', 'host', 'port'\n */\n\n\n// 1 2 3 4\ninternals.bewitRegex = /^(\\/.*)([\\?&])bewit\\=([^&$]*)(?:&(.+))?$/;\n\n\nexports.authenticateBewit = function (req, credentialsFunc, options, callback) {\n\n callback = Hoek.nextTick(callback);\n\n // Application time\n\n var now = Utils.now(options.localtimeOffsetMsec);\n\n // Convert node Http request object to a request configuration object\n\n var request = Utils.parseRequest(req, options);\n if (request instanceof Error) {\n return callback(Boom.badRequest(request.message));\n }\n\n // Extract bewit\n\n if (request.url.length > Utils.limits.maxMatchLength) {\n return callback(Boom.badRequest('Resource path exceeds max length'));\n }\n\n var resource = request.url.match(internals.bewitRegex);\n if (!resource) {\n return callback(Boom.unauthorized(null, 'Hawk'));\n }\n\n // Bewit not empty\n\n if (!resource[3]) {\n return callback(Boom.unauthorized('Empty bewit', 'Hawk'));\n }\n\n // Verify method is GET\n\n if (request.method !== 'GET' &&\n request.method !== 'HEAD') {\n\n return callback(Boom.unauthorized('Invalid method', 'Hawk'));\n }\n\n // No other authentication\n\n if (request.authorization) {\n return callback(Boom.badRequest('Multiple authentications'));\n }\n\n // Parse bewit\n\n var bewitString = Hoek.base64urlDecode(resource[3]);\n if (bewitString instanceof Error) {\n return callback(Boom.badRequest('Invalid bewit encoding'));\n }\n\n // Bewit format: id\\exp\\mac\\ext ('\\' is used because it is a reserved header attribute character)\n\n var bewitParts = bewitString.split('\\\\');\n if (bewitParts.length !== 4) {\n return callback(Boom.badRequest('Invalid bewit structure'));\n }\n\n var bewit = {\n id: bewitParts[0],\n exp: parseInt(bewitParts[1], 10),\n mac: bewitParts[2],\n ext: bewitParts[3] || ''\n };\n\n if (!bewit.id ||\n !bewit.exp ||\n !bewit.mac) {\n\n return callback(Boom.badRequest('Missing bewit attributes'));\n }\n\n // Construct URL without bewit\n\n var url = resource[1];\n if (resource[4]) {\n url += resource[2] + resource[4];\n }\n\n // Check expiration\n\n if (bewit.exp * 1000 <= now) {\n return callback(Boom.unauthorized('Access expired', 'Hawk'), null, bewit);\n }\n\n // Fetch Hawk credentials\n\n credentialsFunc(bewit.id, function (err, credentials) {\n\n if (err) {\n return callback(err, credentials || null, bewit.ext);\n }\n\n if (!credentials) {\n return callback(Boom.unauthorized('Unknown credentials', 'Hawk'), null, bewit);\n }\n\n if (!credentials.key ||\n !credentials.algorithm) {\n\n return callback(Boom.internal('Invalid credentials'), credentials, bewit);\n }\n\n if (Crypto.algorithms.indexOf(credentials.algorithm) === -1) {\n return callback(Boom.internal('Unknown algorithm'), credentials, bewit);\n }\n\n // Calculate MAC\n\n var mac = Crypto.calculateMac('bewit', credentials, {\n ts: bewit.exp,\n nonce: '',\n method: 'GET',\n resource: url,\n host: request.host,\n port: request.port,\n ext: bewit.ext\n });\n\n if (!Cryptiles.fixedTimeComparison(mac, bewit.mac)) {\n return callback(Boom.unauthorized('Bad mac', 'Hawk'), credentials, bewit);\n }\n\n // Successful authentication\n\n return callback(null, credentials, bewit);\n });\n};\n\n\n/*\n * options are the same as authenticate() with the exception that the only supported options are:\n * 'nonceFunc', 'timestampSkewSec', 'localtimeOffsetMsec'\n */\n\nexports.authenticateMessage = function (host, port, message, authorization, credentialsFunc, options, callback) {\n\n callback = Hoek.nextTick(callback);\n\n // Default options\n\n options.nonceFunc = options.nonceFunc || internals.nonceFunc;\n options.timestampSkewSec = options.timestampSkewSec || 60; // 60 seconds\n\n // Application time\n\n var now = Utils.now(options.localtimeOffsetMsec); // Measure now before any other processing\n\n // Validate authorization\n\n if (!authorization.id ||\n !authorization.ts ||\n !authorization.nonce ||\n !authorization.hash ||\n !authorization.mac) {\n\n return callback(Boom.badRequest('Invalid authorization'));\n }\n\n // Fetch Hawk credentials\n\n credentialsFunc(authorization.id, function (err, credentials) {\n\n if (err) {\n return callback(err, credentials || null);\n }\n\n if (!credentials) {\n return callback(Boom.unauthorized('Unknown credentials', 'Hawk'));\n }\n\n if (!credentials.key ||\n !credentials.algorithm) {\n\n return callback(Boom.internal('Invalid credentials'), credentials);\n }\n\n if (Crypto.algorithms.indexOf(credentials.algorithm) === -1) {\n return callback(Boom.internal('Unknown algorithm'), credentials);\n }\n\n // Construct artifacts container\n\n var artifacts = {\n ts: authorization.ts,\n nonce: authorization.nonce,\n host: host,\n port: port,\n hash: authorization.hash\n };\n\n // Calculate MAC\n\n var mac = Crypto.calculateMac('message', credentials, artifacts);\n if (!Cryptiles.fixedTimeComparison(mac, authorization.mac)) {\n return callback(Boom.unauthorized('Bad mac', 'Hawk'), credentials);\n }\n\n // Check payload hash\n\n var hash = Crypto.calculatePayloadHash(message, credentials.algorithm);\n if (!Cryptiles.fixedTimeComparison(hash, authorization.hash)) {\n return callback(Boom.unauthorized('Bad message hash', 'Hawk'), credentials);\n }\n\n // Check nonce\n\n options.nonceFunc(credentials.key, authorization.nonce, authorization.ts, function (err) {\n\n if (err) {\n return callback(Boom.unauthorized('Invalid nonce', 'Hawk'), credentials);\n }\n\n // Check timestamp staleness\n\n if (Math.abs((authorization.ts * 1000) - now) > (options.timestampSkewSec * 1000)) {\n return callback(Boom.unauthorized('Stale timestamp'), credentials);\n }\n\n // Successful authentication\n\n return callback(null, credentials);\n });\n });\n};\n\n\ninternals.nonceFunc = function (key, nonce, ts, nonceCallback) {\n\n return nonceCallback(); // No validation\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk" }, { "id": "716", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature" }, { "id": "717", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/parser.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2012 Joyent, Inc. All rights reserved.\n\nvar assert = require('assert-plus');\nvar util = require('util');\nvar utils = require('./utils');\n\n\n\n///--- Globals\n\nvar HASH_ALGOS = utils.HASH_ALGOS;\nvar PK_ALGOS = utils.PK_ALGOS;\nvar HttpSignatureError = utils.HttpSignatureError;\nvar InvalidAlgorithmError = utils.InvalidAlgorithmError;\nvar validateAlgorithm = utils.validateAlgorithm;\n\nvar State = {\n New: 0,\n Params: 1\n};\n\nvar ParamsState = {\n Name: 0,\n Quote: 1,\n Value: 2,\n Comma: 3\n};\n\n\n///--- Specific Errors\n\n\nfunction ExpiredRequestError(message) {\n HttpSignatureError.call(this, message, ExpiredRequestError);\n}\nutil.inherits(ExpiredRequestError, HttpSignatureError);\n\n\nfunction InvalidHeaderError(message) {\n HttpSignatureError.call(this, message, InvalidHeaderError);\n}\nutil.inherits(InvalidHeaderError, HttpSignatureError);\n\n\nfunction InvalidParamsError(message) {\n HttpSignatureError.call(this, message, InvalidParamsError);\n}\nutil.inherits(InvalidParamsError, HttpSignatureError);\n\n\nfunction MissingHeaderError(message) {\n HttpSignatureError.call(this, message, MissingHeaderError);\n}\nutil.inherits(MissingHeaderError, HttpSignatureError);\n\nfunction StrictParsingError(message) {\n HttpSignatureError.call(this, message, StrictParsingError);\n}\nutil.inherits(StrictParsingError, HttpSignatureError);\n\n///--- Exported API\n\nmodule.exports = {\n\n /**\n * Parses the 'Authorization' header out of an http.ServerRequest object.\n *\n * Note that this API will fully validate the Authorization header, and throw\n * on any error. It will not however check the signature, or the keyId format\n * as those are specific to your environment. You can use the options object\n * to pass in extra constraints.\n *\n * As a response object you can expect this:\n *\n * {\n * \"scheme\": \"Signature\",\n * \"params\": {\n * \"keyId\": \"foo\",\n * \"algorithm\": \"rsa-sha256\",\n * \"headers\": [\n * \"date\" or \"x-date\",\n * \"digest\"\n * ],\n * \"signature\": \"base64\"\n * },\n * \"signingString\": \"ready to be passed to crypto.verify()\"\n * }\n *\n * @param {Object} request an http.ServerRequest.\n * @param {Object} options an optional options object with:\n * - clockSkew: allowed clock skew in seconds (default 300).\n * - headers: required header names (def: date or x-date)\n * - algorithms: algorithms to support (default: all).\n * - strict: should enforce latest spec parsing\n * (default: false).\n * @return {Object} parsed out object (see above).\n * @throws {TypeError} on invalid input.\n * @throws {InvalidHeaderError} on an invalid Authorization header error.\n * @throws {InvalidParamsError} if the params in the scheme are invalid.\n * @throws {MissingHeaderError} if the params indicate a header not present,\n * either in the request headers from the params,\n * or not in the params from a required header\n * in options.\n * @throws {StrictParsingError} if old attributes are used in strict parsing\n * mode.\n * @throws {ExpiredRequestError} if the value of date or x-date exceeds skew.\n */\n parseRequest: function parseRequest(request, options) {\n assert.object(request, 'request');\n assert.object(request.headers, 'request.headers');\n if (options === undefined) {\n options = {};\n }\n if (options.headers === undefined) {\n options.headers = [request.headers['x-date'] ? 'x-date' : 'date'];\n }\n assert.object(options, 'options');\n assert.arrayOfString(options.headers, 'options.headers');\n assert.optionalNumber(options.clockSkew, 'options.clockSkew');\n\n if (!request.headers.authorization)\n throw new MissingHeaderError('no authorization header present in ' +\n 'the request');\n\n options.clockSkew = options.clockSkew || 300;\n\n\n var i = 0;\n var state = State.New;\n var substate = ParamsState.Name;\n var tmpName = '';\n var tmpValue = '';\n\n var parsed = {\n scheme: '',\n params: {},\n signingString: '',\n\n get algorithm() {\n return this.params.algorithm.toUpperCase();\n },\n\n get keyId() {\n return this.params.keyId;\n }\n };\n\n var authz = request.headers.authorization;\n for (i = 0; i < authz.length; i++) {\n var c = authz.charAt(i);\n\n switch (Number(state)) {\n\n case State.New:\n if (c !== ' ') parsed.scheme += c;\n else state = State.Params;\n break;\n\n case State.Params:\n switch (Number(substate)) {\n\n case ParamsState.Name:\n var code = c.charCodeAt(0);\n // restricted name of A-Z / a-z\n if ((code >= 0x41 && code <= 0x5a) || // A-Z\n (code >= 0x61 && code <= 0x7a)) { // a-z\n tmpName += c;\n } else if (c === '=') {\n if (tmpName.length === 0)\n throw new InvalidHeaderError('bad param format');\n substate = ParamsState.Quote;\n } else {\n throw new InvalidHeaderError('bad param format');\n }\n break;\n\n case ParamsState.Quote:\n if (c === '\"') {\n tmpValue = '';\n substate = ParamsState.Value;\n } else {\n throw new InvalidHeaderError('bad param format');\n }\n break;\n\n case ParamsState.Value:\n if (c === '\"') {\n parsed.params[tmpName] = tmpValue;\n substate = ParamsState.Comma;\n } else {\n tmpValue += c;\n }\n break;\n\n case ParamsState.Comma:\n if (c === ',') {\n tmpName = '';\n substate = ParamsState.Name;\n } else {\n throw new InvalidHeaderError('bad param format');\n }\n break;\n\n default:\n throw new Error('Invalid substate');\n }\n break;\n\n default:\n throw new Error('Invalid substate');\n }\n\n }\n\n if (!parsed.params.headers || parsed.params.headers === '') {\n if (request.headers['x-date']) {\n parsed.params.headers = ['x-date'];\n } else {\n parsed.params.headers = ['date'];\n }\n } else {\n parsed.params.headers = parsed.params.headers.split(' ');\n }\n\n // Minimally validate the parsed object\n if (!parsed.scheme || parsed.scheme !== 'Signature')\n throw new InvalidHeaderError('scheme was not \"Signature\"');\n\n if (!parsed.params.keyId)\n throw new InvalidHeaderError('keyId was not specified');\n\n if (!parsed.params.algorithm)\n throw new InvalidHeaderError('algorithm was not specified');\n\n if (!parsed.params.signature)\n throw new InvalidHeaderError('signature was not specified');\n\n // Check the algorithm against the official list\n parsed.params.algorithm = parsed.params.algorithm.toLowerCase();\n try {\n validateAlgorithm(parsed.params.algorithm);\n } catch (e) {\n if (e instanceof InvalidAlgorithmError)\n throw (new InvalidParamsError(parsed.params.algorithm + ' is not ' +\n 'supported'));\n else\n throw (e);\n }\n\n // Build the signingString\n for (i = 0; i < parsed.params.headers.length; i++) {\n var h = parsed.params.headers[i].toLowerCase();\n parsed.params.headers[i] = h;\n\n if (h === 'request-line') {\n if (!options.strict) {\n /*\n * We allow headers from the older spec drafts if strict parsing isn't\n * specified in options.\n */\n parsed.signingString +=\n request.method + ' ' + request.url + ' HTTP/' + request.httpVersion;\n } else {\n /* Strict parsing doesn't allow older draft headers. */\n throw (new StrictParsingError('request-line is not a valid header ' +\n 'with strict parsing enabled.'));\n }\n } else if (h === '(request-target)') {\n parsed.signingString +=\n '(request-target): ' + request.method.toLowerCase() + ' ' +\n request.url;\n } else {\n var value = request.headers[h];\n if (value === undefined)\n throw new MissingHeaderError(h + ' was not in the request');\n parsed.signingString += h + ': ' + value;\n }\n\n if ((i + 1) < parsed.params.headers.length)\n parsed.signingString += '\\n';\n }\n\n // Check against the constraints\n var date;\n if (request.headers.date || request.headers['x-date']) {\n if (request.headers['x-date']) {\n date = new Date(request.headers['x-date']);\n } else {\n date = new Date(request.headers.date);\n }\n var now = new Date();\n var skew = Math.abs(now.getTime() - date.getTime());\n\n if (skew > options.clockSkew * 1000) {\n throw new ExpiredRequestError('clock skew of ' +\n (skew / 1000) +\n 's was greater than ' +\n options.clockSkew + 's');\n }\n }\n\n options.headers.forEach(function (hdr) {\n // Remember that we already checked any headers in the params\n // were in the request, so if this passes we're good.\n if (parsed.params.headers.indexOf(hdr) < 0)\n throw new MissingHeaderError(hdr + ' was not a signed header');\n });\n\n if (options.algorithms) {\n if (options.algorithms.indexOf(parsed.params.algorithm) === -1)\n throw new InvalidParamsError(parsed.params.algorithm +\n ' is not a supported algorithm');\n }\n\n return parsed;\n }\n\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature" }, { "id": "718", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright (c) 2012, Mark Cavage. All rights reserved.\n// Copyright 2015 Joyent, Inc.\n\nvar assert = require('assert');\nvar Stream = require('stream').Stream;\nvar util = require('util');\n\n\n///--- Globals\n\n/* JSSTYLED */\nvar UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;\n\n\n///--- Internal\n\nfunction _capitalize(str) {\n return (str.charAt(0).toUpperCase() + str.slice(1));\n}\n\nfunction _toss(name, expected, oper, arg, actual) {\n throw new assert.AssertionError({\n message: util.format('%s (%s) is required', name, expected),\n actual: (actual === undefined) ? typeof (arg) : actual(arg),\n expected: expected,\n operator: oper || '===',\n stackStartFunction: _toss.caller\n });\n}\n\nfunction _getClass(arg) {\n return (Object.prototype.toString.call(arg).slice(8, -1));\n}\n\nfunction noop() {\n // Why even bother with asserts?\n}\n\n\n///--- Exports\n\nvar types = {\n bool: {\n check: function (arg) { return typeof (arg) === 'boolean'; }\n },\n func: {\n check: function (arg) { return typeof (arg) === 'function'; }\n },\n string: {\n check: function (arg) { return typeof (arg) === 'string'; }\n },\n object: {\n check: function (arg) {\n return typeof (arg) === 'object' && arg !== null;\n }\n },\n number: {\n check: function (arg) {\n return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg);\n }\n },\n buffer: {\n check: function (arg) { return Buffer.isBuffer(arg); },\n operator: 'Buffer.isBuffer'\n },\n array: {\n check: function (arg) { return Array.isArray(arg); },\n operator: 'Array.isArray'\n },\n stream: {\n check: function (arg) { return arg instanceof Stream; },\n operator: 'instanceof',\n actual: _getClass\n },\n date: {\n check: function (arg) { return arg instanceof Date; },\n operator: 'instanceof',\n actual: _getClass\n },\n regexp: {\n check: function (arg) { return arg instanceof RegExp; },\n operator: 'instanceof',\n actual: _getClass\n },\n uuid: {\n check: function (arg) {\n return typeof (arg) === 'string' && UUID_REGEXP.test(arg);\n },\n operator: 'isUUID'\n }\n};\n\nfunction _setExports(ndebug) {\n var keys = Object.keys(types);\n var out;\n\n /* re-export standard assert */\n if (process.env.NODE_NDEBUG) {\n out = noop;\n } else {\n out = function (arg, msg) {\n if (!arg) {\n _toss(msg, 'true', arg);\n }\n };\n }\n\n /* standard checks */\n keys.forEach(function (k) {\n if (ndebug) {\n out[k] = noop;\n return;\n }\n var type = types[k];\n out[k] = function (arg, msg) {\n if (!type.check(arg)) {\n _toss(msg, k, type.operator, arg, type.actual);\n }\n };\n });\n\n /* optional checks */\n keys.forEach(function (k) {\n var name = 'optional' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n out[name] = function (arg, msg) {\n if (arg === undefined || arg === null) {\n return;\n }\n if (!type.check(arg)) {\n _toss(msg, k, type.operator, arg, type.actual);\n }\n };\n });\n\n /* arrayOf checks */\n keys.forEach(function (k) {\n var name = 'arrayOf' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n var expected = '[' + k + ']';\n out[name] = function (arg, msg) {\n if (!Array.isArray(arg)) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n var i;\n for (i = 0; i < arg.length; i++) {\n if (!type.check(arg[i])) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n }\n };\n });\n\n /* optionalArrayOf checks */\n keys.forEach(function (k) {\n var name = 'optionalArrayOf' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n var expected = '[' + k + ']';\n out[name] = function (arg, msg) {\n if (arg === undefined || arg === null) {\n return;\n }\n if (!Array.isArray(arg)) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n var i;\n for (i = 0; i < arg.length; i++) {\n if (!type.check(arg[i])) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n }\n };\n });\n\n /* re-export built-in assertions */\n Object.keys(assert).forEach(function (k) {\n if (k === 'AssertionError') {\n out[k] = assert[k];\n return;\n }\n if (ndebug) {\n out[k] = noop;\n return;\n }\n out[k] = assert[k];\n });\n\n /* export ourselves (for unit tests _only_) */\n out._setExports = _setExports;\n\n return out;\n}\n\nmodule.exports = _setExports(process.env.NODE_NDEBUG);\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus" }, { "id": "719", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/utils.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2012 Joyent, Inc. All rights reserved.\n\nvar assert = require('assert-plus');\nvar sshpk = require('sshpk');\nvar util = require('util');\n\nvar HASH_ALGOS = {\n 'sha1': true,\n 'sha256': true,\n 'sha512': true\n};\n\nvar PK_ALGOS = {\n 'rsa': true,\n 'dsa': true,\n 'ecdsa': true\n};\n\nfunction HttpSignatureError(message, caller) {\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, caller || HttpSignatureError);\n\n this.message = message;\n this.name = caller.name;\n}\nutil.inherits(HttpSignatureError, Error);\n\nfunction InvalidAlgorithmError(message) {\n HttpSignatureError.call(this, message, InvalidAlgorithmError);\n}\nutil.inherits(InvalidAlgorithmError, HttpSignatureError);\n\nfunction validateAlgorithm(algorithm) {\n var alg = algorithm.toLowerCase().split('-');\n\n if (alg.length !== 2) {\n throw (new InvalidAlgorithmError(alg[0].toUpperCase() + ' is not a ' +\n 'valid algorithm'));\n }\n\n if (alg[0] !== 'hmac' && !PK_ALGOS[alg[0]]) {\n throw (new InvalidAlgorithmError(alg[0].toUpperCase() + ' type keys ' +\n 'are not supported'));\n }\n\n if (!HASH_ALGOS[alg[1]]) {\n throw (new InvalidAlgorithmError(alg[1].toUpperCase() + ' is not a ' +\n 'supported hash algorithm'));\n }\n\n return (alg);\n}\n\n///--- API\n\nmodule.exports = {\n\n HASH_ALGOS: HASH_ALGOS,\n PK_ALGOS: PK_ALGOS,\n\n HttpSignatureError: HttpSignatureError,\n InvalidAlgorithmError: InvalidAlgorithmError,\n\n validateAlgorithm: validateAlgorithm,\n\n /**\n * Converts an OpenSSH public key (rsa only) to a PKCS#8 PEM file.\n *\n * The intent of this module is to interoperate with OpenSSL only,\n * specifically the node crypto module's `verify` method.\n *\n * @param {String} key an OpenSSH public key.\n * @return {String} PEM encoded form of the RSA public key.\n * @throws {TypeError} on bad input.\n * @throws {Error} on invalid ssh key formatted data.\n */\n sshKeyToPEM: function sshKeyToPEM(key) {\n assert.string(key, 'ssh_key');\n\n var k = sshpk.parseKey(key, 'ssh');\n return (k.toString('pem'));\n },\n\n\n /**\n * Generates an OpenSSH fingerprint from an ssh public key.\n *\n * @param {String} key an OpenSSH public key.\n * @return {String} key fingerprint.\n * @throws {TypeError} on bad input.\n * @throws {Error} if what you passed doesn't look like an ssh public key.\n */\n fingerprint: function fingerprint(key) {\n assert.string(key, 'ssh_key');\n\n var k = sshpk.parseKey(key, 'ssh');\n return (k.fingerprint('md5').toString('hex'));\n },\n\n /**\n * Converts a PKGCS#8 PEM file to an OpenSSH public key (rsa)\n *\n * The reverse of the above function.\n */\n pemToRsaSSHKey: function pemToRsaSSHKey(pem, comment) {\n assert.equal('string', typeof (pem), 'typeof pem');\n\n var k = sshpk.parseKey(pem, 'pem');\n k.comment = comment;\n return (k.toString('ssh'));\n }\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature" }, { "id": "720", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "721", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/key.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2017 Joyent, Inc.\n\nmodule.exports = Key;\n\nvar assert = require('assert-plus');\nvar algs = require('./algs');\nvar crypto = require('crypto');\nvar Fingerprint = require('./fingerprint');\nvar Signature = require('./signature');\nvar DiffieHellman = require('./dhe').DiffieHellman;\nvar errs = require('./errors');\nvar utils = require('./utils');\nvar PrivateKey = require('./private-key');\nvar edCompat;\n\ntry {\n\tedCompat = require('./ed-compat');\n} catch (e) {\n\t/* Just continue through, and bail out if we try to use it. */\n}\n\nvar InvalidAlgorithmError = errs.InvalidAlgorithmError;\nvar KeyParseError = errs.KeyParseError;\n\nvar formats = {};\nformats['auto'] = require('./formats/auto');\nformats['pem'] = require('./formats/pem');\nformats['pkcs1'] = require('./formats/pkcs1');\nformats['pkcs8'] = require('./formats/pkcs8');\nformats['rfc4253'] = require('./formats/rfc4253');\nformats['ssh'] = require('./formats/ssh');\nformats['ssh-private'] = require('./formats/ssh-private');\nformats['openssh'] = formats['ssh-private'];\n\nfunction Key(opts) {\n\tassert.object(opts, 'options');\n\tassert.arrayOfObject(opts.parts, 'options.parts');\n\tassert.string(opts.type, 'options.type');\n\tassert.optionalString(opts.comment, 'options.comment');\n\n\tvar algInfo = algs.info[opts.type];\n\tif (typeof (algInfo) !== 'object')\n\t\tthrow (new InvalidAlgorithmError(opts.type));\n\n\tvar partLookup = {};\n\tfor (var i = 0; i < opts.parts.length; ++i) {\n\t\tvar part = opts.parts[i];\n\t\tpartLookup[part.name] = part;\n\t}\n\n\tthis.type = opts.type;\n\tthis.parts = opts.parts;\n\tthis.part = partLookup;\n\tthis.comment = undefined;\n\tthis.source = opts.source;\n\n\t/* for speeding up hashing/fingerprint operations */\n\tthis._rfc4253Cache = opts._rfc4253Cache;\n\tthis._hashCache = {};\n\n\tvar sz;\n\tthis.curve = undefined;\n\tif (this.type === 'ecdsa') {\n\t\tvar curve = this.part.curve.data.toString();\n\t\tthis.curve = curve;\n\t\tsz = algs.curves[curve].size;\n\t} else if (this.type === 'ed25519') {\n\t\tsz = 256;\n\t\tthis.curve = 'curve25519';\n\t} else {\n\t\tvar szPart = this.part[algInfo.sizePart];\n\t\tsz = szPart.data.length;\n\t\tsz = sz * 8 - utils.countZeros(szPart.data);\n\t}\n\tthis.size = sz;\n}\n\nKey.formats = formats;\n\nKey.prototype.toBuffer = function (format, options) {\n\tif (format === undefined)\n\t\tformat = 'ssh';\n\tassert.string(format, 'format');\n\tassert.object(formats[format], 'formats[format]');\n\tassert.optionalObject(options, 'options');\n\n\tif (format === 'rfc4253') {\n\t\tif (this._rfc4253Cache === undefined)\n\t\t\tthis._rfc4253Cache = formats['rfc4253'].write(this);\n\t\treturn (this._rfc4253Cache);\n\t}\n\n\treturn (formats[format].write(this, options));\n};\n\nKey.prototype.toString = function (format, options) {\n\treturn (this.toBuffer(format, options).toString());\n};\n\nKey.prototype.hash = function (algo) {\n\tassert.string(algo, 'algorithm');\n\talgo = algo.toLowerCase();\n\tif (algs.hashAlgs[algo] === undefined)\n\t\tthrow (new InvalidAlgorithmError(algo));\n\n\tif (this._hashCache[algo])\n\t\treturn (this._hashCache[algo]);\n\n\tvar hash = crypto.createHash(algo).\n\t update(this.toBuffer('rfc4253')).digest();\n\tthis._hashCache[algo] = hash;\n\treturn (hash);\n};\n\nKey.prototype.fingerprint = function (algo) {\n\tif (algo === undefined)\n\t\talgo = 'sha256';\n\tassert.string(algo, 'algorithm');\n\tvar opts = {\n\t\ttype: 'key',\n\t\thash: this.hash(algo),\n\t\talgorithm: algo\n\t};\n\treturn (new Fingerprint(opts));\n};\n\nKey.prototype.defaultHashAlgorithm = function () {\n\tvar hashAlgo = 'sha1';\n\tif (this.type === 'rsa')\n\t\thashAlgo = 'sha256';\n\tif (this.type === 'dsa' && this.size > 1024)\n\t\thashAlgo = 'sha256';\n\tif (this.type === 'ed25519')\n\t\thashAlgo = 'sha512';\n\tif (this.type === 'ecdsa') {\n\t\tif (this.size <= 256)\n\t\t\thashAlgo = 'sha256';\n\t\telse if (this.size <= 384)\n\t\t\thashAlgo = 'sha384';\n\t\telse\n\t\t\thashAlgo = 'sha512';\n\t}\n\treturn (hashAlgo);\n};\n\nKey.prototype.createVerify = function (hashAlgo) {\n\tif (hashAlgo === undefined)\n\t\thashAlgo = this.defaultHashAlgorithm();\n\tassert.string(hashAlgo, 'hash algorithm');\n\n\t/* ED25519 is not supported by OpenSSL, use a javascript impl. */\n\tif (this.type === 'ed25519' && edCompat !== undefined)\n\t\treturn (new edCompat.Verifier(this, hashAlgo));\n\tif (this.type === 'curve25519')\n\t\tthrow (new Error('Curve25519 keys are not suitable for ' +\n\t\t 'signing or verification'));\n\n\tvar v, nm, err;\n\ttry {\n\t\tnm = hashAlgo.toUpperCase();\n\t\tv = crypto.createVerify(nm);\n\t} catch (e) {\n\t\terr = e;\n\t}\n\tif (v === undefined || (err instanceof Error &&\n\t err.message.match(/Unknown message digest/))) {\n\t\tnm = 'RSA-';\n\t\tnm += hashAlgo.toUpperCase();\n\t\tv = crypto.createVerify(nm);\n\t}\n\tassert.ok(v, 'failed to create verifier');\n\tvar oldVerify = v.verify.bind(v);\n\tvar key = this.toBuffer('pkcs8');\n\tvar curve = this.curve;\n\tvar self = this;\n\tv.verify = function (signature, fmt) {\n\t\tif (Signature.isSignature(signature, [2, 0])) {\n\t\t\tif (signature.type !== self.type)\n\t\t\t\treturn (false);\n\t\t\tif (signature.hashAlgorithm &&\n\t\t\t signature.hashAlgorithm !== hashAlgo)\n\t\t\t\treturn (false);\n\t\t\tif (signature.curve && self.type === 'ecdsa' &&\n\t\t\t signature.curve !== curve)\n\t\t\t\treturn (false);\n\t\t\treturn (oldVerify(key, signature.toBuffer('asn1')));\n\n\t\t} else if (typeof (signature) === 'string' ||\n\t\t Buffer.isBuffer(signature)) {\n\t\t\treturn (oldVerify(key, signature, fmt));\n\n\t\t/*\n\t\t * Avoid doing this on valid arguments, walking the prototype\n\t\t * chain can be quite slow.\n\t\t */\n\t\t} else if (Signature.isSignature(signature, [1, 0])) {\n\t\t\tthrow (new Error('signature was created by too old ' +\n\t\t\t 'a version of sshpk and cannot be verified'));\n\n\t\t} else {\n\t\t\tthrow (new TypeError('signature must be a string, ' +\n\t\t\t 'Buffer, or Signature object'));\n\t\t}\n\t};\n\treturn (v);\n};\n\nKey.prototype.createDiffieHellman = function () {\n\tif (this.type === 'rsa')\n\t\tthrow (new Error('RSA keys do not support Diffie-Hellman'));\n\n\treturn (new DiffieHellman(this));\n};\nKey.prototype.createDH = Key.prototype.createDiffieHellman;\n\nKey.parse = function (data, format, options) {\n\tif (typeof (data) !== 'string')\n\t\tassert.buffer(data, 'data');\n\tif (format === undefined)\n\t\tformat = 'auto';\n\tassert.string(format, 'format');\n\tif (typeof (options) === 'string')\n\t\toptions = { filename: options };\n\tassert.optionalObject(options, 'options');\n\tif (options === undefined)\n\t\toptions = {};\n\tassert.optionalString(options.filename, 'options.filename');\n\tif (options.filename === undefined)\n\t\toptions.filename = '(unnamed)';\n\n\tassert.object(formats[format], 'formats[format]');\n\n\ttry {\n\t\tvar k = formats[format].read(data, options);\n\t\tif (k instanceof PrivateKey)\n\t\t\tk = k.toPublic();\n\t\tif (!k.comment)\n\t\t\tk.comment = options.filename;\n\t\treturn (k);\n\t} catch (e) {\n\t\tif (e.name === 'KeyEncryptedError')\n\t\t\tthrow (e);\n\t\tthrow (new KeyParseError(options.filename, format, e));\n\t}\n};\n\nKey.isKey = function (obj, ver) {\n\treturn (utils.isCompatible(obj, Key, ver));\n};\n\n/*\n * API versions for Key:\n * [1,0] -- initial ver, may take Signature for createVerify or may not\n * [1,1] -- added pkcs1, pkcs8 formats\n * [1,2] -- added auto, ssh-private, openssh formats\n * [1,3] -- added defaultHashAlgorithm\n * [1,4] -- added ed support, createDH\n * [1,5] -- first explicitly tagged version\n */\nKey.prototype._sshpkApiVersion = [1, 5];\n\nKey._oldVersionDetect = function (obj) {\n\tassert.func(obj.toBuffer);\n\tassert.func(obj.fingerprint);\n\tif (obj.createDH)\n\t\treturn ([1, 4]);\n\tif (obj.defaultHashAlgorithm)\n\t\treturn ([1, 3]);\n\tif (obj.formats['auto'])\n\t\treturn ([1, 2]);\n\tif (obj.formats['pkcs1'])\n\t\treturn ([1, 1]);\n\treturn ([1, 0]);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "723", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/algs.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "724", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/fingerprint.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = Fingerprint;\n\nvar assert = require('assert-plus');\nvar algs = require('./algs');\nvar crypto = require('crypto');\nvar errs = require('./errors');\nvar Key = require('./key');\nvar Certificate = require('./certificate');\nvar utils = require('./utils');\n\nvar FingerprintFormatError = errs.FingerprintFormatError;\nvar InvalidAlgorithmError = errs.InvalidAlgorithmError;\n\nfunction Fingerprint(opts) {\n\tassert.object(opts, 'options');\n\tassert.string(opts.type, 'options.type');\n\tassert.buffer(opts.hash, 'options.hash');\n\tassert.string(opts.algorithm, 'options.algorithm');\n\n\tthis.algorithm = opts.algorithm.toLowerCase();\n\tif (algs.hashAlgs[this.algorithm] !== true)\n\t\tthrow (new InvalidAlgorithmError(this.algorithm));\n\n\tthis.hash = opts.hash;\n\tthis.type = opts.type;\n}\n\nFingerprint.prototype.toString = function (format) {\n\tif (format === undefined) {\n\t\tif (this.algorithm === 'md5')\n\t\t\tformat = 'hex';\n\t\telse\n\t\t\tformat = 'base64';\n\t}\n\tassert.string(format);\n\n\tswitch (format) {\n\tcase 'hex':\n\t\treturn (addColons(this.hash.toString('hex')));\n\tcase 'base64':\n\t\treturn (sshBase64Format(this.algorithm,\n\t\t this.hash.toString('base64')));\n\tdefault:\n\t\tthrow (new FingerprintFormatError(undefined, format));\n\t}\n};\n\nFingerprint.prototype.matches = function (other) {\n\tassert.object(other, 'key or certificate');\n\tif (this.type === 'key') {\n\t\tutils.assertCompatible(other, Key, [1, 0], 'key');\n\t} else {\n\t\tutils.assertCompatible(other, Certificate, [1, 0],\n\t\t 'certificate');\n\t}\n\n\tvar theirHash = other.hash(this.algorithm);\n\tvar theirHash2 = crypto.createHash(this.algorithm).\n\t update(theirHash).digest('base64');\n\n\tif (this.hash2 === undefined)\n\t\tthis.hash2 = crypto.createHash(this.algorithm).\n\t\t update(this.hash).digest('base64');\n\n\treturn (this.hash2 === theirHash2);\n};\n\nFingerprint.parse = function (fp, options) {\n\tassert.string(fp, 'fingerprint');\n\n\tvar alg, hash, enAlgs;\n\tif (Array.isArray(options)) {\n\t\tenAlgs = options;\n\t\toptions = {};\n\t}\n\tassert.optionalObject(options, 'options');\n\tif (options === undefined)\n\t\toptions = {};\n\tif (options.enAlgs !== undefined)\n\t\tenAlgs = options.enAlgs;\n\tassert.optionalArrayOfString(enAlgs, 'algorithms');\n\n\tvar parts = fp.split(':');\n\tif (parts.length == 2) {\n\t\talg = parts[0].toLowerCase();\n\t\t/*JSSTYLED*/\n\t\tvar base64RE = /^[A-Za-z0-9+\\/=]+$/;\n\t\tif (!base64RE.test(parts[1]))\n\t\t\tthrow (new FingerprintFormatError(fp));\n\t\ttry {\n\t\t\thash = new Buffer(parts[1], 'base64');\n\t\t} catch (e) {\n\t\t\tthrow (new FingerprintFormatError(fp));\n\t\t}\n\t} else if (parts.length > 2) {\n\t\talg = 'md5';\n\t\tif (parts[0].toLowerCase() === 'md5')\n\t\t\tparts = parts.slice(1);\n\t\tparts = parts.join('');\n\t\t/*JSSTYLED*/\n\t\tvar md5RE = /^[a-fA-F0-9]+$/;\n\t\tif (!md5RE.test(parts))\n\t\t\tthrow (new FingerprintFormatError(fp));\n\t\ttry {\n\t\t\thash = new Buffer(parts, 'hex');\n\t\t} catch (e) {\n\t\t\tthrow (new FingerprintFormatError(fp));\n\t\t}\n\t}\n\n\tif (alg === undefined)\n\t\tthrow (new FingerprintFormatError(fp));\n\n\tif (algs.hashAlgs[alg] === undefined)\n\t\tthrow (new InvalidAlgorithmError(alg));\n\n\tif (enAlgs !== undefined) {\n\t\tenAlgs = enAlgs.map(function (a) { return a.toLowerCase(); });\n\t\tif (enAlgs.indexOf(alg) === -1)\n\t\t\tthrow (new InvalidAlgorithmError(alg));\n\t}\n\n\treturn (new Fingerprint({\n\t\talgorithm: alg,\n\t\thash: hash,\n\t\ttype: options.type || 'key'\n\t}));\n};\n\nfunction addColons(s) {\n\t/*JSSTYLED*/\n\treturn (s.replace(/(.{2})(?=.)/g, '$1:'));\n}\n\nfunction base64Strip(s) {\n\t/*JSSTYLED*/\n\treturn (s.replace(/=*$/, ''));\n}\n\nfunction sshBase64Format(alg, h) {\n\treturn (alg.toUpperCase() + ':' + base64Strip(h));\n}\n\nFingerprint.isFingerprint = function (obj, ver) {\n\treturn (utils.isCompatible(obj, Fingerprint, ver));\n};\n\n/*\n * API versions for Fingerprint:\n * [1,0] -- initial ver\n * [1,1] -- first tagged ver\n */\nFingerprint.prototype._sshpkApiVersion = [1, 1];\n\nFingerprint._oldVersionDetect = function (obj) {\n\tassert.func(obj.toString);\n\tassert.func(obj.matches);\n\treturn ([1, 0]);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "726", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/certificate.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2016 Joyent, Inc.\n\nmodule.exports = Certificate;\n\nvar assert = require('assert-plus');\nvar algs = require('./algs');\nvar crypto = require('crypto');\nvar Fingerprint = require('./fingerprint');\nvar Signature = require('./signature');\nvar errs = require('./errors');\nvar util = require('util');\nvar utils = require('./utils');\nvar Key = require('./key');\nvar PrivateKey = require('./private-key');\nvar Identity = require('./identity');\n\nvar formats = {};\nformats['openssh'] = require('./formats/openssh-cert');\nformats['x509'] = require('./formats/x509');\nformats['pem'] = require('./formats/x509-pem');\n\nvar CertificateParseError = errs.CertificateParseError;\nvar InvalidAlgorithmError = errs.InvalidAlgorithmError;\n\nfunction Certificate(opts) {\n\tassert.object(opts, 'options');\n\tassert.arrayOfObject(opts.subjects, 'options.subjects');\n\tutils.assertCompatible(opts.subjects[0], Identity, [1, 0],\n\t 'options.subjects');\n\tutils.assertCompatible(opts.subjectKey, Key, [1, 0],\n\t 'options.subjectKey');\n\tutils.assertCompatible(opts.issuer, Identity, [1, 0], 'options.issuer');\n\tif (opts.issuerKey !== undefined) {\n\t\tutils.assertCompatible(opts.issuerKey, Key, [1, 0],\n\t\t 'options.issuerKey');\n\t}\n\tassert.object(opts.signatures, 'options.signatures');\n\tassert.buffer(opts.serial, 'options.serial');\n\tassert.date(opts.validFrom, 'options.validFrom');\n\tassert.date(opts.validUntil, 'optons.validUntil');\n\n\tassert.optionalArrayOfString(opts.purposes, 'options.purposes');\n\n\tthis._hashCache = {};\n\n\tthis.subjects = opts.subjects;\n\tthis.issuer = opts.issuer;\n\tthis.subjectKey = opts.subjectKey;\n\tthis.issuerKey = opts.issuerKey;\n\tthis.signatures = opts.signatures;\n\tthis.serial = opts.serial;\n\tthis.validFrom = opts.validFrom;\n\tthis.validUntil = opts.validUntil;\n\tthis.purposes = opts.purposes;\n}\n\nCertificate.formats = formats;\n\nCertificate.prototype.toBuffer = function (format, options) {\n\tif (format === undefined)\n\t\tformat = 'x509';\n\tassert.string(format, 'format');\n\tassert.object(formats[format], 'formats[format]');\n\tassert.optionalObject(options, 'options');\n\n\treturn (formats[format].write(this, options));\n};\n\nCertificate.prototype.toString = function (format, options) {\n\tif (format === undefined)\n\t\tformat = 'pem';\n\treturn (this.toBuffer(format, options).toString());\n};\n\nCertificate.prototype.fingerprint = function (algo) {\n\tif (algo === undefined)\n\t\talgo = 'sha256';\n\tassert.string(algo, 'algorithm');\n\tvar opts = {\n\t\ttype: 'certificate',\n\t\thash: this.hash(algo),\n\t\talgorithm: algo\n\t};\n\treturn (new Fingerprint(opts));\n};\n\nCertificate.prototype.hash = function (algo) {\n\tassert.string(algo, 'algorithm');\n\talgo = algo.toLowerCase();\n\tif (algs.hashAlgs[algo] === undefined)\n\t\tthrow (new InvalidAlgorithmError(algo));\n\n\tif (this._hashCache[algo])\n\t\treturn (this._hashCache[algo]);\n\n\tvar hash = crypto.createHash(algo).\n\t update(this.toBuffer('x509')).digest();\n\tthis._hashCache[algo] = hash;\n\treturn (hash);\n};\n\nCertificate.prototype.isExpired = function (when) {\n\tif (when === undefined)\n\t\twhen = new Date();\n\treturn (!((when.getTime() >= this.validFrom.getTime()) &&\n\t\t(when.getTime() < this.validUntil.getTime())));\n};\n\nCertificate.prototype.isSignedBy = function (issuerCert) {\n\tutils.assertCompatible(issuerCert, Certificate, [1, 0], 'issuer');\n\n\tif (!this.issuer.equals(issuerCert.subjects[0]))\n\t\treturn (false);\n\tif (this.issuer.purposes && this.issuer.purposes.length > 0 &&\n\t this.issuer.purposes.indexOf('ca') === -1) {\n\t\treturn (false);\n\t}\n\n\treturn (this.isSignedByKey(issuerCert.subjectKey));\n};\n\nCertificate.prototype.isSignedByKey = function (issuerKey) {\n\tutils.assertCompatible(issuerKey, Key, [1, 2], 'issuerKey');\n\n\tif (this.issuerKey !== undefined) {\n\t\treturn (this.issuerKey.\n\t\t fingerprint('sha512').matches(issuerKey));\n\t}\n\n\tvar fmt = Object.keys(this.signatures)[0];\n\tvar valid = formats[fmt].verify(this, issuerKey);\n\tif (valid)\n\t\tthis.issuerKey = issuerKey;\n\treturn (valid);\n};\n\nCertificate.prototype.signWith = function (key) {\n\tutils.assertCompatible(key, PrivateKey, [1, 2], 'key');\n\tvar fmts = Object.keys(formats);\n\tvar didOne = false;\n\tfor (var i = 0; i < fmts.length; ++i) {\n\t\tif (fmts[i] !== 'pem') {\n\t\t\tvar ret = formats[fmts[i]].sign(this, key);\n\t\t\tif (ret === true)\n\t\t\t\tdidOne = true;\n\t\t}\n\t}\n\tif (!didOne) {\n\t\tthrow (new Error('Failed to sign the certificate for any ' +\n\t\t 'available certificate formats'));\n\t}\n};\n\nCertificate.createSelfSigned = function (subjectOrSubjects, key, options) {\n\tvar subjects;\n\tif (Array.isArray(subjectOrSubjects))\n\t\tsubjects = subjectOrSubjects;\n\telse\n\t\tsubjects = [subjectOrSubjects];\n\n\tassert.arrayOfObject(subjects);\n\tsubjects.forEach(function (subject) {\n\t\tutils.assertCompatible(subject, Identity, [1, 0], 'subject');\n\t});\n\n\tutils.assertCompatible(key, PrivateKey, [1, 2], 'private key');\n\n\tassert.optionalObject(options, 'options');\n\tif (options === undefined)\n\t\toptions = {};\n\tassert.optionalObject(options.validFrom, 'options.validFrom');\n\tassert.optionalObject(options.validUntil, 'options.validUntil');\n\tvar validFrom = options.validFrom;\n\tvar validUntil = options.validUntil;\n\tif (validFrom === undefined)\n\t\tvalidFrom = new Date();\n\tif (validUntil === undefined) {\n\t\tassert.optionalNumber(options.lifetime, 'options.lifetime');\n\t\tvar lifetime = options.lifetime;\n\t\tif (lifetime === undefined)\n\t\t\tlifetime = 10*365*24*3600;\n\t\tvalidUntil = new Date();\n\t\tvalidUntil.setTime(validUntil.getTime() + lifetime*1000);\n\t}\n\tassert.optionalBuffer(options.serial, 'options.serial');\n\tvar serial = options.serial;\n\tif (serial === undefined)\n\t\tserial = new Buffer('0000000000000001', 'hex');\n\n\tvar purposes = options.purposes;\n\tif (purposes === undefined)\n\t\tpurposes = [];\n\n\tif (purposes.indexOf('signature') === -1)\n\t\tpurposes.push('signature');\n\n\t/* Self-signed certs are always CAs. */\n\tif (purposes.indexOf('ca') === -1)\n\t\tpurposes.push('ca');\n\tif (purposes.indexOf('crl') === -1)\n\t\tpurposes.push('crl');\n\n\t/*\n\t * If we weren't explicitly given any other purposes, do the sensible\n\t * thing and add some basic ones depending on the subject type.\n\t */\n\tif (purposes.length <= 3) {\n\t\tvar hostSubjects = subjects.filter(function (subject) {\n\t\t\treturn (subject.type === 'host');\n\t\t});\n\t\tvar userSubjects = subjects.filter(function (subject) {\n\t\t\treturn (subject.type === 'user');\n\t\t});\n\t\tif (hostSubjects.length > 0) {\n\t\t\tif (purposes.indexOf('serverAuth') === -1)\n\t\t\t\tpurposes.push('serverAuth');\n\t\t}\n\t\tif (userSubjects.length > 0) {\n\t\t\tif (purposes.indexOf('clientAuth') === -1)\n\t\t\t\tpurposes.push('clientAuth');\n\t\t}\n\t\tif (userSubjects.length > 0 || hostSubjects.length > 0) {\n\t\t\tif (purposes.indexOf('keyAgreement') === -1)\n\t\t\t\tpurposes.push('keyAgreement');\n\t\t\tif (key.type === 'rsa' &&\n\t\t\t purposes.indexOf('encryption') === -1)\n\t\t\t\tpurposes.push('encryption');\n\t\t}\n\t}\n\n\tvar cert = new Certificate({\n\t\tsubjects: subjects,\n\t\tissuer: subjects[0],\n\t\tsubjectKey: key.toPublic(),\n\t\tissuerKey: key.toPublic(),\n\t\tsignatures: {},\n\t\tserial: serial,\n\t\tvalidFrom: validFrom,\n\t\tvalidUntil: validUntil,\n\t\tpurposes: purposes\n\t});\n\tcert.signWith(key);\n\n\treturn (cert);\n};\n\nCertificate.create =\n function (subjectOrSubjects, key, issuer, issuerKey, options) {\n\tvar subjects;\n\tif (Array.isArray(subjectOrSubjects))\n\t\tsubjects = subjectOrSubjects;\n\telse\n\t\tsubjects = [subjectOrSubjects];\n\n\tassert.arrayOfObject(subjects);\n\tsubjects.forEach(function (subject) {\n\t\tutils.assertCompatible(subject, Identity, [1, 0], 'subject');\n\t});\n\n\tutils.assertCompatible(key, Key, [1, 0], 'key');\n\tif (PrivateKey.isPrivateKey(key))\n\t\tkey = key.toPublic();\n\tutils.assertCompatible(issuer, Identity, [1, 0], 'issuer');\n\tutils.assertCompatible(issuerKey, PrivateKey, [1, 2], 'issuer key');\n\n\tassert.optionalObject(options, 'options');\n\tif (options === undefined)\n\t\toptions = {};\n\tassert.optionalObject(options.validFrom, 'options.validFrom');\n\tassert.optionalObject(options.validUntil, 'options.validUntil');\n\tvar validFrom = options.validFrom;\n\tvar validUntil = options.validUntil;\n\tif (validFrom === undefined)\n\t\tvalidFrom = new Date();\n\tif (validUntil === undefined) {\n\t\tassert.optionalNumber(options.lifetime, 'options.lifetime');\n\t\tvar lifetime = options.lifetime;\n\t\tif (lifetime === undefined)\n\t\t\tlifetime = 10*365*24*3600;\n\t\tvalidUntil = new Date();\n\t\tvalidUntil.setTime(validUntil.getTime() + lifetime*1000);\n\t}\n\tassert.optionalBuffer(options.serial, 'options.serial');\n\tvar serial = options.serial;\n\tif (serial === undefined)\n\t\tserial = new Buffer('0000000000000001', 'hex');\n\n\tvar purposes = options.purposes;\n\tif (purposes === undefined)\n\t\tpurposes = [];\n\n\tif (purposes.indexOf('signature') === -1)\n\t\tpurposes.push('signature');\n\n\tif (options.ca === true) {\n\t\tif (purposes.indexOf('ca') === -1)\n\t\t\tpurposes.push('ca');\n\t\tif (purposes.indexOf('crl') === -1)\n\t\t\tpurposes.push('crl');\n\t}\n\n\tvar hostSubjects = subjects.filter(function (subject) {\n\t\treturn (subject.type === 'host');\n\t});\n\tvar userSubjects = subjects.filter(function (subject) {\n\t\treturn (subject.type === 'user');\n\t});\n\tif (hostSubjects.length > 0) {\n\t\tif (purposes.indexOf('serverAuth') === -1)\n\t\t\tpurposes.push('serverAuth');\n\t}\n\tif (userSubjects.length > 0) {\n\t\tif (purposes.indexOf('clientAuth') === -1)\n\t\t\tpurposes.push('clientAuth');\n\t}\n\tif (userSubjects.length > 0 || hostSubjects.length > 0) {\n\t\tif (purposes.indexOf('keyAgreement') === -1)\n\t\t\tpurposes.push('keyAgreement');\n\t\tif (key.type === 'rsa' &&\n\t\t purposes.indexOf('encryption') === -1)\n\t\t\tpurposes.push('encryption');\n\t}\n\n\tvar cert = new Certificate({\n\t\tsubjects: subjects,\n\t\tissuer: issuer,\n\t\tsubjectKey: key,\n\t\tissuerKey: issuerKey.toPublic(),\n\t\tsignatures: {},\n\t\tserial: serial,\n\t\tvalidFrom: validFrom,\n\t\tvalidUntil: validUntil,\n\t\tpurposes: purposes\n\t});\n\tcert.signWith(issuerKey);\n\n\treturn (cert);\n};\n\nCertificate.parse = function (data, format, options) {\n\tif (typeof (data) !== 'string')\n\t\tassert.buffer(data, 'data');\n\tif (format === undefined)\n\t\tformat = 'auto';\n\tassert.string(format, 'format');\n\tif (typeof (options) === 'string')\n\t\toptions = { filename: options };\n\tassert.optionalObject(options, 'options');\n\tif (options === undefined)\n\t\toptions = {};\n\tassert.optionalString(options.filename, 'options.filename');\n\tif (options.filename === undefined)\n\t\toptions.filename = '(unnamed)';\n\n\tassert.object(formats[format], 'formats[format]');\n\n\ttry {\n\t\tvar k = formats[format].read(data, options);\n\t\treturn (k);\n\t} catch (e) {\n\t\tthrow (new CertificateParseError(options.filename, format, e));\n\t}\n};\n\nCertificate.isCertificate = function (obj, ver) {\n\treturn (utils.isCompatible(obj, Certificate, ver));\n};\n\n/*\n * API versions for Certificate:\n * [1,0] -- initial ver\n */\nCertificate.prototype._sshpkApiVersion = [1, 0];\n\nCertificate._oldVersionDetect = function (obj) {\n\treturn ([1, 0]);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "727", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/signature.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = Signature;\n\nvar assert = require('assert-plus');\nvar algs = require('./algs');\nvar crypto = require('crypto');\nvar errs = require('./errors');\nvar utils = require('./utils');\nvar asn1 = require('asn1');\nvar SSHBuffer = require('./ssh-buffer');\n\nvar InvalidAlgorithmError = errs.InvalidAlgorithmError;\nvar SignatureParseError = errs.SignatureParseError;\n\nfunction Signature(opts) {\n\tassert.object(opts, 'options');\n\tassert.arrayOfObject(opts.parts, 'options.parts');\n\tassert.string(opts.type, 'options.type');\n\n\tvar partLookup = {};\n\tfor (var i = 0; i < opts.parts.length; ++i) {\n\t\tvar part = opts.parts[i];\n\t\tpartLookup[part.name] = part;\n\t}\n\n\tthis.type = opts.type;\n\tthis.hashAlgorithm = opts.hashAlgo;\n\tthis.curve = opts.curve;\n\tthis.parts = opts.parts;\n\tthis.part = partLookup;\n}\n\nSignature.prototype.toBuffer = function (format) {\n\tif (format === undefined)\n\t\tformat = 'asn1';\n\tassert.string(format, 'format');\n\n\tvar buf;\n\tvar stype = 'ssh-' + this.type;\n\n\tswitch (this.type) {\n\tcase 'rsa':\n\t\tswitch (this.hashAlgorithm) {\n\t\tcase 'sha256':\n\t\t\tstype = 'rsa-sha2-256';\n\t\t\tbreak;\n\t\tcase 'sha512':\n\t\t\tstype = 'rsa-sha2-512';\n\t\t\tbreak;\n\t\tcase 'sha1':\n\t\tcase undefined:\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow (new Error('SSH signature ' +\n\t\t\t 'format does not support hash ' +\n\t\t\t 'algorithm ' + this.hashAlgorithm));\n\t\t}\n\t\tif (format === 'ssh') {\n\t\t\tbuf = new SSHBuffer({});\n\t\t\tbuf.writeString(stype);\n\t\t\tbuf.writePart(this.part.sig);\n\t\t\treturn (buf.toBuffer());\n\t\t} else {\n\t\t\treturn (this.part.sig.data);\n\t\t}\n\t\tbreak;\n\n\tcase 'ed25519':\n\t\tif (format === 'ssh') {\n\t\t\tbuf = new SSHBuffer({});\n\t\t\tbuf.writeString(stype);\n\t\t\tbuf.writePart(this.part.sig);\n\t\t\treturn (buf.toBuffer());\n\t\t} else {\n\t\t\treturn (this.part.sig.data);\n\t\t}\n\t\tbreak;\n\n\tcase 'dsa':\n\tcase 'ecdsa':\n\t\tvar r, s;\n\t\tif (format === 'asn1') {\n\t\t\tvar der = new asn1.BerWriter();\n\t\t\tder.startSequence();\n\t\t\tr = utils.mpNormalize(this.part.r.data);\n\t\t\ts = utils.mpNormalize(this.part.s.data);\n\t\t\tder.writeBuffer(r, asn1.Ber.Integer);\n\t\t\tder.writeBuffer(s, asn1.Ber.Integer);\n\t\t\tder.endSequence();\n\t\t\treturn (der.buffer);\n\t\t} else if (format === 'ssh' && this.type === 'dsa') {\n\t\t\tbuf = new SSHBuffer({});\n\t\t\tbuf.writeString('ssh-dss');\n\t\t\tr = this.part.r.data;\n\t\t\tif (r.length > 20 && r[0] === 0x00)\n\t\t\t\tr = r.slice(1);\n\t\t\ts = this.part.s.data;\n\t\t\tif (s.length > 20 && s[0] === 0x00)\n\t\t\t\ts = s.slice(1);\n\t\t\tif ((this.hashAlgorithm &&\n\t\t\t this.hashAlgorithm !== 'sha1') ||\n\t\t\t r.length + s.length !== 40) {\n\t\t\t\tthrow (new Error('OpenSSH only supports ' +\n\t\t\t\t 'DSA signatures with SHA1 hash'));\n\t\t\t}\n\t\t\tbuf.writeBuffer(Buffer.concat([r, s]));\n\t\t\treturn (buf.toBuffer());\n\t\t} else if (format === 'ssh' && this.type === 'ecdsa') {\n\t\t\tvar inner = new SSHBuffer({});\n\t\t\tr = this.part.r.data;\n\t\t\tinner.writeBuffer(r);\n\t\t\tinner.writePart(this.part.s);\n\n\t\t\tbuf = new SSHBuffer({});\n\t\t\t/* XXX: find a more proper way to do this? */\n\t\t\tvar curve;\n\t\t\tif (r[0] === 0x00)\n\t\t\t\tr = r.slice(1);\n\t\t\tvar sz = r.length * 8;\n\t\t\tif (sz === 256)\n\t\t\t\tcurve = 'nistp256';\n\t\t\telse if (sz === 384)\n\t\t\t\tcurve = 'nistp384';\n\t\t\telse if (sz === 528)\n\t\t\t\tcurve = 'nistp521';\n\t\t\tbuf.writeString('ecdsa-sha2-' + curve);\n\t\t\tbuf.writeBuffer(inner.toBuffer());\n\t\t\treturn (buf.toBuffer());\n\t\t}\n\t\tthrow (new Error('Invalid signature format'));\n\tdefault:\n\t\tthrow (new Error('Invalid signature data'));\n\t}\n};\n\nSignature.prototype.toString = function (format) {\n\tassert.optionalString(format, 'format');\n\treturn (this.toBuffer(format).toString('base64'));\n};\n\nSignature.parse = function (data, type, format) {\n\tif (typeof (data) === 'string')\n\t\tdata = new Buffer(data, 'base64');\n\tassert.buffer(data, 'data');\n\tassert.string(format, 'format');\n\tassert.string(type, 'type');\n\n\tvar opts = {};\n\topts.type = type.toLowerCase();\n\topts.parts = [];\n\n\ttry {\n\t\tassert.ok(data.length > 0, 'signature must not be empty');\n\t\tswitch (opts.type) {\n\t\tcase 'rsa':\n\t\t\treturn (parseOneNum(data, type, format, opts));\n\t\tcase 'ed25519':\n\t\t\treturn (parseOneNum(data, type, format, opts));\n\n\t\tcase 'dsa':\n\t\tcase 'ecdsa':\n\t\t\tif (format === 'asn1')\n\t\t\t\treturn (parseDSAasn1(data, type, format, opts));\n\t\t\telse if (opts.type === 'dsa')\n\t\t\t\treturn (parseDSA(data, type, format, opts));\n\t\t\telse\n\t\t\t\treturn (parseECDSA(data, type, format, opts));\n\n\t\tdefault:\n\t\t\tthrow (new InvalidAlgorithmError(type));\n\t\t}\n\n\t} catch (e) {\n\t\tif (e instanceof InvalidAlgorithmError)\n\t\t\tthrow (e);\n\t\tthrow (new SignatureParseError(type, format, e));\n\t}\n};\n\nfunction parseOneNum(data, type, format, opts) {\n\tif (format === 'ssh') {\n\t\ttry {\n\t\t\tvar buf = new SSHBuffer({buffer: data});\n\t\t\tvar head = buf.readString();\n\t\t} catch (e) {\n\t\t\t/* fall through */\n\t\t}\n\t\tif (buf !== undefined) {\n\t\t\tvar msg = 'SSH signature does not match expected ' +\n\t\t\t 'type (expected ' + type + ', got ' + head + ')';\n\t\t\tswitch (head) {\n\t\t\tcase 'ssh-rsa':\n\t\t\t\tassert.strictEqual(type, 'rsa', msg);\n\t\t\t\topts.hashAlgo = 'sha1';\n\t\t\t\tbreak;\n\t\t\tcase 'rsa-sha2-256':\n\t\t\t\tassert.strictEqual(type, 'rsa', msg);\n\t\t\t\topts.hashAlgo = 'sha256';\n\t\t\t\tbreak;\n\t\t\tcase 'rsa-sha2-512':\n\t\t\t\tassert.strictEqual(type, 'rsa', msg);\n\t\t\t\topts.hashAlgo = 'sha512';\n\t\t\t\tbreak;\n\t\t\tcase 'ssh-ed25519':\n\t\t\t\tassert.strictEqual(type, 'ed25519', msg);\n\t\t\t\topts.hashAlgo = 'sha512';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow (new Error('Unknown SSH signature ' +\n\t\t\t\t 'type: ' + head));\n\t\t\t}\n\t\t\tvar sig = buf.readPart();\n\t\t\tassert.ok(buf.atEnd(), 'extra trailing bytes');\n\t\t\tsig.name = 'sig';\n\t\t\topts.parts.push(sig);\n\t\t\treturn (new Signature(opts));\n\t\t}\n\t}\n\topts.parts.push({name: 'sig', data: data});\n\treturn (new Signature(opts));\n}\n\nfunction parseDSAasn1(data, type, format, opts) {\n\tvar der = new asn1.BerReader(data);\n\tder.readSequence();\n\tvar r = der.readString(asn1.Ber.Integer, true);\n\tvar s = der.readString(asn1.Ber.Integer, true);\n\n\topts.parts.push({name: 'r', data: utils.mpNormalize(r)});\n\topts.parts.push({name: 's', data: utils.mpNormalize(s)});\n\n\treturn (new Signature(opts));\n}\n\nfunction parseDSA(data, type, format, opts) {\n\tif (data.length != 40) {\n\t\tvar buf = new SSHBuffer({buffer: data});\n\t\tvar d = buf.readBuffer();\n\t\tif (d.toString('ascii') === 'ssh-dss')\n\t\t\td = buf.readBuffer();\n\t\tassert.ok(buf.atEnd(), 'extra trailing bytes');\n\t\tassert.strictEqual(d.length, 40, 'invalid inner length');\n\t\tdata = d;\n\t}\n\topts.parts.push({name: 'r', data: data.slice(0, 20)});\n\topts.parts.push({name: 's', data: data.slice(20, 40)});\n\treturn (new Signature(opts));\n}\n\nfunction parseECDSA(data, type, format, opts) {\n\tvar buf = new SSHBuffer({buffer: data});\n\n\tvar r, s;\n\tvar inner = buf.readBuffer();\n\tvar stype = inner.toString('ascii');\n\tif (stype.slice(0, 6) === 'ecdsa-') {\n\t\tvar parts = stype.split('-');\n\t\tassert.strictEqual(parts[0], 'ecdsa');\n\t\tassert.strictEqual(parts[1], 'sha2');\n\t\topts.curve = parts[2];\n\t\tswitch (opts.curve) {\n\t\tcase 'nistp256':\n\t\t\topts.hashAlgo = 'sha256';\n\t\t\tbreak;\n\t\tcase 'nistp384':\n\t\t\topts.hashAlgo = 'sha384';\n\t\t\tbreak;\n\t\tcase 'nistp521':\n\t\t\topts.hashAlgo = 'sha512';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow (new Error('Unsupported ECDSA curve: ' +\n\t\t\t opts.curve));\n\t\t}\n\t\tinner = buf.readBuffer();\n\t\tassert.ok(buf.atEnd(), 'extra trailing bytes on outer');\n\t\tbuf = new SSHBuffer({buffer: inner});\n\t\tr = buf.readPart();\n\t} else {\n\t\tr = {data: inner};\n\t}\n\n\ts = buf.readPart();\n\tassert.ok(buf.atEnd(), 'extra trailing bytes');\n\n\tr.name = 'r';\n\ts.name = 's';\n\n\topts.parts.push(r);\n\topts.parts.push(s);\n\treturn (new Signature(opts));\n}\n\nSignature.isSignature = function (obj, ver) {\n\treturn (utils.isCompatible(obj, Signature, ver));\n};\n\n/*\n * API versions for Signature:\n * [1,0] -- initial ver\n * [2,0] -- support for rsa in full ssh format, compat with sshpk-agent\n * hashAlgorithm property\n * [2,1] -- first tagged version\n */\nSignature.prototype._sshpkApiVersion = [2, 1];\n\nSignature._oldVersionDetect = function (obj) {\n\tassert.func(obj.toBuffer);\n\tif (obj.hasOwnProperty('hashAlgorithm'))\n\t\treturn ([2, 0]);\n\treturn ([1, 0]);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "728", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/utils.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = {\n\tbufferSplit: bufferSplit,\n\taddRSAMissing: addRSAMissing,\n\tcalculateDSAPublic: calculateDSAPublic,\n\tmpNormalize: mpNormalize,\n\tecNormalize: ecNormalize,\n\tcountZeros: countZeros,\n\tassertCompatible: assertCompatible,\n\tisCompatible: isCompatible,\n\topensslKeyDeriv: opensslKeyDeriv,\n\topensshCipherInfo: opensshCipherInfo\n};\n\nvar assert = require('assert-plus');\nvar PrivateKey = require('./private-key');\nvar crypto = require('crypto');\n\nvar MAX_CLASS_DEPTH = 3;\n\nfunction isCompatible(obj, klass, needVer) {\n\tif (obj === null || typeof (obj) !== 'object')\n\t\treturn (false);\n\tif (needVer === undefined)\n\t\tneedVer = klass.prototype._sshpkApiVersion;\n\tif (obj instanceof klass &&\n\t klass.prototype._sshpkApiVersion[0] == needVer[0])\n\t\treturn (true);\n\tvar proto = Object.getPrototypeOf(obj);\n\tvar depth = 0;\n\twhile (proto.constructor.name !== klass.name) {\n\t\tproto = Object.getPrototypeOf(proto);\n\t\tif (!proto || ++depth > MAX_CLASS_DEPTH)\n\t\t\treturn (false);\n\t}\n\tif (proto.constructor.name !== klass.name)\n\t\treturn (false);\n\tvar ver = proto._sshpkApiVersion;\n\tif (ver === undefined)\n\t\tver = klass._oldVersionDetect(obj);\n\tif (ver[0] != needVer[0] || ver[1] < needVer[1])\n\t\treturn (false);\n\treturn (true);\n}\n\nfunction assertCompatible(obj, klass, needVer, name) {\n\tif (name === undefined)\n\t\tname = 'object';\n\tassert.ok(obj, name + ' must not be null');\n\tassert.object(obj, name + ' must be an object');\n\tif (needVer === undefined)\n\t\tneedVer = klass.prototype._sshpkApiVersion;\n\tif (obj instanceof klass &&\n\t klass.prototype._sshpkApiVersion[0] == needVer[0])\n\t\treturn;\n\tvar proto = Object.getPrototypeOf(obj);\n\tvar depth = 0;\n\twhile (proto.constructor.name !== klass.name) {\n\t\tproto = Object.getPrototypeOf(proto);\n\t\tassert.ok(proto && ++depth <= MAX_CLASS_DEPTH,\n\t\t name + ' must be a ' + klass.name + ' instance');\n\t}\n\tassert.strictEqual(proto.constructor.name, klass.name,\n\t name + ' must be a ' + klass.name + ' instance');\n\tvar ver = proto._sshpkApiVersion;\n\tif (ver === undefined)\n\t\tver = klass._oldVersionDetect(obj);\n\tassert.ok(ver[0] == needVer[0] && ver[1] >= needVer[1],\n\t name + ' must be compatible with ' + klass.name + ' klass ' +\n\t 'version ' + needVer[0] + '.' + needVer[1]);\n}\n\nvar CIPHER_LEN = {\n\t'des-ede3-cbc': { key: 7, iv: 8 },\n\t'aes-128-cbc': { key: 16, iv: 16 }\n};\nvar PKCS5_SALT_LEN = 8;\n\nfunction opensslKeyDeriv(cipher, salt, passphrase, count) {\n\tassert.buffer(salt, 'salt');\n\tassert.buffer(passphrase, 'passphrase');\n\tassert.number(count, 'iteration count');\n\n\tvar clen = CIPHER_LEN[cipher];\n\tassert.object(clen, 'supported cipher');\n\n\tsalt = salt.slice(0, PKCS5_SALT_LEN);\n\n\tvar D, D_prev, bufs;\n\tvar material = new Buffer(0);\n\twhile (material.length < clen.key + clen.iv) {\n\t\tbufs = [];\n\t\tif (D_prev)\n\t\t\tbufs.push(D_prev);\n\t\tbufs.push(passphrase);\n\t\tbufs.push(salt);\n\t\tD = Buffer.concat(bufs);\n\t\tfor (var j = 0; j < count; ++j)\n\t\t\tD = crypto.createHash('md5').update(D).digest();\n\t\tmaterial = Buffer.concat([material, D]);\n\t\tD_prev = D;\n\t}\n\n\treturn ({\n\t key: material.slice(0, clen.key),\n\t iv: material.slice(clen.key, clen.key + clen.iv)\n\t});\n}\n\n/* Count leading zero bits on a buffer */\nfunction countZeros(buf) {\n\tvar o = 0, obit = 8;\n\twhile (o < buf.length) {\n\t\tvar mask = (1 << obit);\n\t\tif ((buf[o] & mask) === mask)\n\t\t\tbreak;\n\t\tobit--;\n\t\tif (obit < 0) {\n\t\t\to++;\n\t\t\tobit = 8;\n\t\t}\n\t}\n\treturn (o*8 + (8 - obit) - 1);\n}\n\nfunction bufferSplit(buf, chr) {\n\tassert.buffer(buf);\n\tassert.string(chr);\n\n\tvar parts = [];\n\tvar lastPart = 0;\n\tvar matches = 0;\n\tfor (var i = 0; i < buf.length; ++i) {\n\t\tif (buf[i] === chr.charCodeAt(matches))\n\t\t\t++matches;\n\t\telse if (buf[i] === chr.charCodeAt(0))\n\t\t\tmatches = 1;\n\t\telse\n\t\t\tmatches = 0;\n\n\t\tif (matches >= chr.length) {\n\t\t\tvar newPart = i + 1;\n\t\t\tparts.push(buf.slice(lastPart, newPart - matches));\n\t\t\tlastPart = newPart;\n\t\t\tmatches = 0;\n\t\t}\n\t}\n\tif (lastPart <= buf.length)\n\t\tparts.push(buf.slice(lastPart, buf.length));\n\n\treturn (parts);\n}\n\nfunction ecNormalize(buf, addZero) {\n\tassert.buffer(buf);\n\tif (buf[0] === 0x00 && buf[1] === 0x04) {\n\t\tif (addZero)\n\t\t\treturn (buf);\n\t\treturn (buf.slice(1));\n\t} else if (buf[0] === 0x04) {\n\t\tif (!addZero)\n\t\t\treturn (buf);\n\t} else {\n\t\twhile (buf[0] === 0x00)\n\t\t\tbuf = buf.slice(1);\n\t\tif (buf[0] === 0x02 || buf[0] === 0x03)\n\t\t\tthrow (new Error('Compressed elliptic curve points ' +\n\t\t\t 'are not supported'));\n\t\tif (buf[0] !== 0x04)\n\t\t\tthrow (new Error('Not a valid elliptic curve point'));\n\t\tif (!addZero)\n\t\t\treturn (buf);\n\t}\n\tvar b = new Buffer(buf.length + 1);\n\tb[0] = 0x0;\n\tbuf.copy(b, 1);\n\treturn (b);\n}\n\nfunction mpNormalize(buf) {\n\tassert.buffer(buf);\n\twhile (buf.length > 1 && buf[0] === 0x00 && (buf[1] & 0x80) === 0x00)\n\t\tbuf = buf.slice(1);\n\tif ((buf[0] & 0x80) === 0x80) {\n\t\tvar b = new Buffer(buf.length + 1);\n\t\tb[0] = 0x00;\n\t\tbuf.copy(b, 1);\n\t\tbuf = b;\n\t}\n\treturn (buf);\n}\n\nfunction bigintToMpBuf(bigint) {\n\tvar buf = new Buffer(bigint.toByteArray());\n\tbuf = mpNormalize(buf);\n\treturn (buf);\n}\n\nfunction calculateDSAPublic(g, p, x) {\n\tassert.buffer(g);\n\tassert.buffer(p);\n\tassert.buffer(x);\n\ttry {\n\t\tvar bigInt = require('jsbn').BigInteger;\n\t} catch (e) {\n\t\tthrow (new Error('To load a PKCS#8 format DSA private key, ' +\n\t\t 'the node jsbn library is required.'));\n\t}\n\tg = new bigInt(g);\n\tp = new bigInt(p);\n\tx = new bigInt(x);\n\tvar y = g.modPow(x, p);\n\tvar ybuf = bigintToMpBuf(y);\n\treturn (ybuf);\n}\n\nfunction addRSAMissing(key) {\n\tassert.object(key);\n\tassertCompatible(key, PrivateKey, [1, 1]);\n\ttry {\n\t\tvar bigInt = require('jsbn').BigInteger;\n\t} catch (e) {\n\t\tthrow (new Error('To write a PEM private key from ' +\n\t\t 'this source, the node jsbn lib is required.'));\n\t}\n\n\tvar d = new bigInt(key.part.d.data);\n\tvar buf;\n\n\tif (!key.part.dmodp) {\n\t\tvar p = new bigInt(key.part.p.data);\n\t\tvar dmodp = d.mod(p.subtract(1));\n\n\t\tbuf = bigintToMpBuf(dmodp);\n\t\tkey.part.dmodp = {name: 'dmodp', data: buf};\n\t\tkey.parts.push(key.part.dmodp);\n\t}\n\tif (!key.part.dmodq) {\n\t\tvar q = new bigInt(key.part.q.data);\n\t\tvar dmodq = d.mod(q.subtract(1));\n\n\t\tbuf = bigintToMpBuf(dmodq);\n\t\tkey.part.dmodq = {name: 'dmodq', data: buf};\n\t\tkey.parts.push(key.part.dmodq);\n\t}\n}\n\nfunction opensshCipherInfo(cipher) {\n\tvar inf = {};\n\tswitch (cipher) {\n\tcase '3des-cbc':\n\t\tinf.keySize = 24;\n\t\tinf.blockSize = 8;\n\t\tinf.opensslName = 'des-ede3-cbc';\n\t\tbreak;\n\tcase 'blowfish-cbc':\n\t\tinf.keySize = 16;\n\t\tinf.blockSize = 8;\n\t\tinf.opensslName = 'bf-cbc';\n\t\tbreak;\n\tcase 'aes128-cbc':\n\tcase 'aes128-ctr':\n\tcase 'aes128-gcm@openssh.com':\n\t\tinf.keySize = 16;\n\t\tinf.blockSize = 16;\n\t\tinf.opensslName = 'aes-128-' + cipher.slice(7, 10);\n\t\tbreak;\n\tcase 'aes192-cbc':\n\tcase 'aes192-ctr':\n\tcase 'aes192-gcm@openssh.com':\n\t\tinf.keySize = 24;\n\t\tinf.blockSize = 16;\n\t\tinf.opensslName = 'aes-192-' + cipher.slice(7, 10);\n\t\tbreak;\n\tcase 'aes256-cbc':\n\tcase 'aes256-ctr':\n\tcase 'aes256-gcm@openssh.com':\n\t\tinf.keySize = 32;\n\t\tinf.blockSize = 16;\n\t\tinf.opensslName = 'aes-256-' + cipher.slice(7, 10);\n\t\tbreak;\n\tdefault:\n\t\tthrow (new Error(\n\t\t 'Unsupported openssl cipher \"' + cipher + '\"'));\n\t}\n\treturn (inf);\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "729", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/private-key.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2017 Joyent, Inc.\n\nmodule.exports = PrivateKey;\n\nvar assert = require('assert-plus');\nvar algs = require('./algs');\nvar crypto = require('crypto');\nvar Fingerprint = require('./fingerprint');\nvar Signature = require('./signature');\nvar errs = require('./errors');\nvar util = require('util');\nvar utils = require('./utils');\nvar dhe = require('./dhe');\nvar generateECDSA = dhe.generateECDSA;\nvar generateED25519 = dhe.generateED25519;\nvar edCompat;\nvar ed;\n\ntry {\n\tedCompat = require('./ed-compat');\n} catch (e) {\n\t/* Just continue through, and bail out if we try to use it. */\n}\n\nvar Key = require('./key');\n\nvar InvalidAlgorithmError = errs.InvalidAlgorithmError;\nvar KeyParseError = errs.KeyParseError;\nvar KeyEncryptedError = errs.KeyEncryptedError;\n\nvar formats = {};\nformats['auto'] = require('./formats/auto');\nformats['pem'] = require('./formats/pem');\nformats['pkcs1'] = require('./formats/pkcs1');\nformats['pkcs8'] = require('./formats/pkcs8');\nformats['rfc4253'] = require('./formats/rfc4253');\nformats['ssh-private'] = require('./formats/ssh-private');\nformats['openssh'] = formats['ssh-private'];\nformats['ssh'] = formats['ssh-private'];\n\nfunction PrivateKey(opts) {\n\tassert.object(opts, 'options');\n\tKey.call(this, opts);\n\n\tthis._pubCache = undefined;\n}\nutil.inherits(PrivateKey, Key);\n\nPrivateKey.formats = formats;\n\nPrivateKey.prototype.toBuffer = function (format, options) {\n\tif (format === undefined)\n\t\tformat = 'pkcs1';\n\tassert.string(format, 'format');\n\tassert.object(formats[format], 'formats[format]');\n\tassert.optionalObject(options, 'options');\n\n\treturn (formats[format].write(this, options));\n};\n\nPrivateKey.prototype.hash = function (algo) {\n\treturn (this.toPublic().hash(algo));\n};\n\nPrivateKey.prototype.toPublic = function () {\n\tif (this._pubCache)\n\t\treturn (this._pubCache);\n\n\tvar algInfo = algs.info[this.type];\n\tvar pubParts = [];\n\tfor (var i = 0; i < algInfo.parts.length; ++i) {\n\t\tvar p = algInfo.parts[i];\n\t\tpubParts.push(this.part[p]);\n\t}\n\n\tthis._pubCache = new Key({\n\t\ttype: this.type,\n\t\tsource: this,\n\t\tparts: pubParts\n\t});\n\tif (this.comment)\n\t\tthis._pubCache.comment = this.comment;\n\treturn (this._pubCache);\n};\n\nPrivateKey.prototype.derive = function (newType, newSize) {\n\tassert.string(newType, 'type');\n\tassert.optionalNumber(newSize, 'size');\n\tvar priv, pub;\n\n\tif (this.type === 'ed25519' && newType === 'curve25519') {\n\t\tif (ed === undefined)\n\t\t\ted = require('jodid25519');\n\n\t\tpriv = this.part.r.data;\n\t\tif (priv[0] === 0x00)\n\t\t\tpriv = priv.slice(1);\n\t\tpriv = priv.slice(0, 32);\n\n\t\tpub = ed.dh.publicKey(priv);\n\t\tpriv = utils.mpNormalize(Buffer.concat([priv, pub]));\n\n\t\treturn (new PrivateKey({\n\t\t\ttype: 'curve25519',\n\t\t\tparts: [\n\t\t\t\t{ name: 'R', data: utils.mpNormalize(pub) },\n\t\t\t\t{ name: 'r', data: priv }\n\t\t\t]\n\t\t}));\n\t} else if (this.type === 'curve25519' && newType === 'ed25519') {\n\t\tif (ed === undefined)\n\t\t\ted = require('jodid25519');\n\n\t\tpriv = this.part.r.data;\n\t\tif (priv[0] === 0x00)\n\t\t\tpriv = priv.slice(1);\n\t\tpriv = priv.slice(0, 32);\n\n\t\tpub = ed.eddsa.publicKey(priv.toString('binary'));\n\t\tpub = new Buffer(pub, 'binary');\n\n\t\tpriv = utils.mpNormalize(Buffer.concat([priv, pub]));\n\n\t\treturn (new PrivateKey({\n\t\t\ttype: 'ed25519',\n\t\t\tparts: [\n\t\t\t\t{ name: 'R', data: utils.mpNormalize(pub) },\n\t\t\t\t{ name: 'r', data: priv }\n\t\t\t]\n\t\t}));\n\t}\n\tthrow (new Error('Key derivation not supported from ' + this.type +\n\t ' to ' + newType));\n};\n\nPrivateKey.prototype.createVerify = function (hashAlgo) {\n\treturn (this.toPublic().createVerify(hashAlgo));\n};\n\nPrivateKey.prototype.createSign = function (hashAlgo) {\n\tif (hashAlgo === undefined)\n\t\thashAlgo = this.defaultHashAlgorithm();\n\tassert.string(hashAlgo, 'hash algorithm');\n\n\t/* ED25519 is not supported by OpenSSL, use a javascript impl. */\n\tif (this.type === 'ed25519' && edCompat !== undefined)\n\t\treturn (new edCompat.Signer(this, hashAlgo));\n\tif (this.type === 'curve25519')\n\t\tthrow (new Error('Curve25519 keys are not suitable for ' +\n\t\t 'signing or verification'));\n\n\tvar v, nm, err;\n\ttry {\n\t\tnm = hashAlgo.toUpperCase();\n\t\tv = crypto.createSign(nm);\n\t} catch (e) {\n\t\terr = e;\n\t}\n\tif (v === undefined || (err instanceof Error &&\n\t err.message.match(/Unknown message digest/))) {\n\t\tnm = 'RSA-';\n\t\tnm += hashAlgo.toUpperCase();\n\t\tv = crypto.createSign(nm);\n\t}\n\tassert.ok(v, 'failed to create verifier');\n\tvar oldSign = v.sign.bind(v);\n\tvar key = this.toBuffer('pkcs1');\n\tvar type = this.type;\n\tvar curve = this.curve;\n\tv.sign = function () {\n\t\tvar sig = oldSign(key);\n\t\tif (typeof (sig) === 'string')\n\t\t\tsig = new Buffer(sig, 'binary');\n\t\tsig = Signature.parse(sig, type, 'asn1');\n\t\tsig.hashAlgorithm = hashAlgo;\n\t\tsig.curve = curve;\n\t\treturn (sig);\n\t};\n\treturn (v);\n};\n\nPrivateKey.parse = function (data, format, options) {\n\tif (typeof (data) !== 'string')\n\t\tassert.buffer(data, 'data');\n\tif (format === undefined)\n\t\tformat = 'auto';\n\tassert.string(format, 'format');\n\tif (typeof (options) === 'string')\n\t\toptions = { filename: options };\n\tassert.optionalObject(options, 'options');\n\tif (options === undefined)\n\t\toptions = {};\n\tassert.optionalString(options.filename, 'options.filename');\n\tif (options.filename === undefined)\n\t\toptions.filename = '(unnamed)';\n\n\tassert.object(formats[format], 'formats[format]');\n\n\ttry {\n\t\tvar k = formats[format].read(data, options);\n\t\tassert.ok(k instanceof PrivateKey, 'key is not a private key');\n\t\tif (!k.comment)\n\t\t\tk.comment = options.filename;\n\t\treturn (k);\n\t} catch (e) {\n\t\tif (e.name === 'KeyEncryptedError')\n\t\t\tthrow (e);\n\t\tthrow (new KeyParseError(options.filename, format, e));\n\t}\n};\n\nPrivateKey.isPrivateKey = function (obj, ver) {\n\treturn (utils.isCompatible(obj, PrivateKey, ver));\n};\n\nPrivateKey.generate = function (type, options) {\n\tif (options === undefined)\n\t\toptions = {};\n\tassert.object(options, 'options');\n\n\tswitch (type) {\n\tcase 'ecdsa':\n\t\tif (options.curve === undefined)\n\t\t\toptions.curve = 'nistp256';\n\t\tassert.string(options.curve, 'options.curve');\n\t\treturn (generateECDSA(options.curve));\n\tcase 'ed25519':\n\t\treturn (generateED25519());\n\tdefault:\n\t\tthrow (new Error('Key generation not supported with key ' +\n\t\t 'type \"' + type + '\"'));\n\t}\n};\n\n/*\n * API versions for PrivateKey:\n * [1,0] -- initial ver\n * [1,1] -- added auto, pkcs[18], openssh/ssh-private formats\n * [1,2] -- added defaultHashAlgorithm\n * [1,3] -- added derive, ed, createDH\n * [1,4] -- first tagged version\n */\nPrivateKey.prototype._sshpkApiVersion = [1, 4];\n\nPrivateKey._oldVersionDetect = function (obj) {\n\tassert.func(obj.toPublic);\n\tassert.func(obj.createSign);\n\tif (obj.derive)\n\t\treturn ([1, 3]);\n\tif (obj.defaultHashAlgorithm)\n\t\treturn ([1, 2]);\n\tif (obj.formats['auto'])\n\t\treturn ([1, 1]);\n\treturn ([1, 0]);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "732", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/auto.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = {\n\tread: read,\n\twrite: write\n};\n\nvar assert = require('assert-plus');\nvar utils = require('../utils');\nvar Key = require('../key');\nvar PrivateKey = require('../private-key');\n\nvar pem = require('./pem');\nvar ssh = require('./ssh');\nvar rfc4253 = require('./rfc4253');\n\nfunction read(buf, options) {\n\tif (typeof (buf) === 'string') {\n\t\tif (buf.trim().match(/^[-]+[ ]*BEGIN/))\n\t\t\treturn (pem.read(buf, options));\n\t\tif (buf.match(/^\\s*ssh-[a-z]/))\n\t\t\treturn (ssh.read(buf, options));\n\t\tif (buf.match(/^\\s*ecdsa-/))\n\t\t\treturn (ssh.read(buf, options));\n\t\tbuf = new Buffer(buf, 'binary');\n\t} else {\n\t\tassert.buffer(buf);\n\t\tif (findPEMHeader(buf))\n\t\t\treturn (pem.read(buf, options));\n\t\tif (findSSHHeader(buf))\n\t\t\treturn (ssh.read(buf, options));\n\t}\n\tif (buf.readUInt32BE(0) < buf.length)\n\t\treturn (rfc4253.read(buf, options));\n\tthrow (new Error('Failed to auto-detect format of key'));\n}\n\nfunction findSSHHeader(buf) {\n\tvar offset = 0;\n\twhile (offset < buf.length &&\n\t (buf[offset] === 32 || buf[offset] === 10 || buf[offset] === 9))\n\t\t++offset;\n\tif (offset + 4 <= buf.length &&\n\t buf.slice(offset, offset + 4).toString('ascii') === 'ssh-')\n\t\treturn (true);\n\tif (offset + 6 <= buf.length &&\n\t buf.slice(offset, offset + 6).toString('ascii') === 'ecdsa-')\n\t\treturn (true);\n\treturn (false);\n}\n\nfunction findPEMHeader(buf) {\n\tvar offset = 0;\n\twhile (offset < buf.length &&\n\t (buf[offset] === 32 || buf[offset] === 10))\n\t\t++offset;\n\tif (buf[offset] !== 45)\n\t\treturn (false);\n\twhile (offset < buf.length &&\n\t (buf[offset] === 45))\n\t\t++offset;\n\twhile (offset < buf.length &&\n\t (buf[offset] === 32))\n\t\t++offset;\n\tif (offset + 5 > buf.length ||\n\t buf.slice(offset, offset + 5).toString('ascii') !== 'BEGIN')\n\t\treturn (false);\n\treturn (true);\n}\n\nfunction write(key, options) {\n\tthrow (new Error('\"auto\" format cannot be used for writing'));\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "733", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pem.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = {\n\tread: read,\n\twrite: write\n};\n\nvar assert = require('assert-plus');\nvar asn1 = require('asn1');\nvar crypto = require('crypto');\nvar algs = require('../algs');\nvar utils = require('../utils');\nvar Key = require('../key');\nvar PrivateKey = require('../private-key');\n\nvar pkcs1 = require('./pkcs1');\nvar pkcs8 = require('./pkcs8');\nvar sshpriv = require('./ssh-private');\nvar rfc4253 = require('./rfc4253');\n\nvar errors = require('../errors');\n\n/*\n * For reading we support both PKCS#1 and PKCS#8. If we find a private key,\n * we just take the public component of it and use that.\n */\nfunction read(buf, options, forceType) {\n\tvar input = buf;\n\tif (typeof (buf) !== 'string') {\n\t\tassert.buffer(buf, 'buf');\n\t\tbuf = buf.toString('ascii');\n\t}\n\n\tvar lines = buf.trim().split('\\n');\n\n\tvar m = lines[0].match(/*JSSTYLED*/\n\t /[-]+[ ]*BEGIN ([A-Z0-9]+ )?(PUBLIC|PRIVATE) KEY[ ]*[-]+/);\n\tassert.ok(m, 'invalid PEM header');\n\n\tvar m2 = lines[lines.length - 1].match(/*JSSTYLED*/\n\t /[-]+[ ]*END ([A-Z0-9]+ )?(PUBLIC|PRIVATE) KEY[ ]*[-]+/);\n\tassert.ok(m2, 'invalid PEM footer');\n\n\t/* Begin and end banners must match key type */\n\tassert.equal(m[2], m2[2]);\n\tvar type = m[2].toLowerCase();\n\n\tvar alg;\n\tif (m[1]) {\n\t\t/* They also must match algorithms, if given */\n\t\tassert.equal(m[1], m2[1], 'PEM header and footer mismatch');\n\t\talg = m[1].trim();\n\t}\n\n\tvar headers = {};\n\twhile (true) {\n\t\tlines = lines.slice(1);\n\t\tm = lines[0].match(/*JSSTYLED*/\n\t\t /^([A-Za-z0-9-]+): (.+)$/);\n\t\tif (!m)\n\t\t\tbreak;\n\t\theaders[m[1].toLowerCase()] = m[2];\n\t}\n\n\tvar cipher, key, iv;\n\tif (headers['proc-type']) {\n\t\tvar parts = headers['proc-type'].split(',');\n\t\tif (parts[0] === '4' && parts[1] === 'ENCRYPTED') {\n\t\t\tif (typeof (options.passphrase) === 'string') {\n\t\t\t\toptions.passphrase = new Buffer(\n\t\t\t\t options.passphrase, 'utf-8');\n\t\t\t}\n\t\t\tif (!Buffer.isBuffer(options.passphrase)) {\n\t\t\t\tthrow (new errors.KeyEncryptedError(\n\t\t\t\t options.filename, 'PEM'));\n\t\t\t} else {\n\t\t\t\tparts = headers['dek-info'].split(',');\n\t\t\t\tassert.ok(parts.length === 2);\n\t\t\t\tcipher = parts[0].toLowerCase();\n\t\t\t\tiv = new Buffer(parts[1], 'hex');\n\t\t\t\tkey = utils.opensslKeyDeriv(cipher, iv,\n\t\t\t\t options.passphrase, 1).key;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Chop off the first and last lines */\n\tlines = lines.slice(0, -1).join('');\n\tbuf = new Buffer(lines, 'base64');\n\n\tif (cipher && key && iv) {\n\t\tvar cipherStream = crypto.createDecipheriv(cipher, key, iv);\n\t\tvar chunk, chunks = [];\n\t\tcipherStream.once('error', function (e) {\n\t\t\tif (e.toString().indexOf('bad decrypt') !== -1) {\n\t\t\t\tthrow (new Error('Incorrect passphrase ' +\n\t\t\t\t 'supplied, could not decrypt key'));\n\t\t\t}\n\t\t\tthrow (e);\n\t\t});\n\t\tcipherStream.write(buf);\n\t\tcipherStream.end();\n\t\twhile ((chunk = cipherStream.read()) !== null)\n\t\t\tchunks.push(chunk);\n\t\tbuf = Buffer.concat(chunks);\n\t}\n\n\t/* The new OpenSSH internal format abuses PEM headers */\n\tif (alg && alg.toLowerCase() === 'openssh')\n\t\treturn (sshpriv.readSSHPrivate(type, buf, options));\n\tif (alg && alg.toLowerCase() === 'ssh2')\n\t\treturn (rfc4253.readType(type, buf, options));\n\n\tvar der = new asn1.BerReader(buf);\n\tder.originalInput = input;\n\n\t/*\n\t * All of the PEM file types start with a sequence tag, so chop it\n\t * off here\n\t */\n\tder.readSequence();\n\n\t/* PKCS#1 type keys name an algorithm in the banner explicitly */\n\tif (alg) {\n\t\tif (forceType)\n\t\t\tassert.strictEqual(forceType, 'pkcs1');\n\t\treturn (pkcs1.readPkcs1(alg, type, der));\n\t} else {\n\t\tif (forceType)\n\t\t\tassert.strictEqual(forceType, 'pkcs8');\n\t\treturn (pkcs8.readPkcs8(alg, type, der));\n\t}\n}\n\nfunction write(key, options, type) {\n\tassert.object(key);\n\n\tvar alg = {'ecdsa': 'EC', 'rsa': 'RSA', 'dsa': 'DSA'}[key.type];\n\tvar header;\n\n\tvar der = new asn1.BerWriter();\n\n\tif (PrivateKey.isPrivateKey(key)) {\n\t\tif (type && type === 'pkcs8') {\n\t\t\theader = 'PRIVATE KEY';\n\t\t\tpkcs8.writePkcs8(der, key);\n\t\t} else {\n\t\t\tif (type)\n\t\t\t\tassert.strictEqual(type, 'pkcs1');\n\t\t\theader = alg + ' PRIVATE KEY';\n\t\t\tpkcs1.writePkcs1(der, key);\n\t\t}\n\n\t} else if (Key.isKey(key)) {\n\t\tif (type && type === 'pkcs1') {\n\t\t\theader = alg + ' PUBLIC KEY';\n\t\t\tpkcs1.writePkcs1(der, key);\n\t\t} else {\n\t\t\tif (type)\n\t\t\t\tassert.strictEqual(type, 'pkcs8');\n\t\t\theader = 'PUBLIC KEY';\n\t\t\tpkcs8.writePkcs8(der, key);\n\t\t}\n\n\t} else {\n\t\tthrow (new Error('key is not a Key or PrivateKey'));\n\t}\n\n\tvar tmp = der.buffer.toString('base64');\n\tvar len = tmp.length + (tmp.length / 64) +\n\t 18 + 16 + header.length*2 + 10;\n\tvar buf = new Buffer(len);\n\tvar o = 0;\n\to += buf.write('-----BEGIN ' + header + '-----\\n', o);\n\tfor (var i = 0; i < tmp.length; ) {\n\t\tvar limit = i + 64;\n\t\tif (limit > tmp.length)\n\t\t\tlimit = tmp.length;\n\t\to += buf.write(tmp.slice(i, limit), o);\n\t\tbuf[o++] = 10;\n\t\ti = limit;\n\t}\n\to += buf.write('-----END ' + header + '-----\\n', o);\n\n\treturn (buf.slice(0, o));\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "734", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1" }, { "id": "735", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/lib/ber/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1" }, { "id": "740", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/pkcs1.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = {\n\tread: read,\n\treadPkcs1: readPkcs1,\n\twrite: write,\n\twritePkcs1: writePkcs1\n};\n\nvar assert = require('assert-plus');\nvar asn1 = require('asn1');\nvar algs = require('../algs');\nvar utils = require('../utils');\n\nvar Key = require('../key');\nvar PrivateKey = require('../private-key');\nvar pem = require('./pem');\n\nvar pkcs8 = require('./pkcs8');\nvar readECDSACurve = pkcs8.readECDSACurve;\n\nfunction read(buf, options) {\n\treturn (pem.read(buf, options, 'pkcs1'));\n}\n\nfunction write(key, options) {\n\treturn (pem.write(key, options, 'pkcs1'));\n}\n\n/* Helper to read in a single mpint */\nfunction readMPInt(der, nm) {\n\tassert.strictEqual(der.peek(), asn1.Ber.Integer,\n\t nm + ' is not an Integer');\n\treturn (utils.mpNormalize(der.readString(asn1.Ber.Integer, true)));\n}\n\nfunction readPkcs1(alg, type, der) {\n\tswitch (alg) {\n\tcase 'RSA':\n\t\tif (type === 'public')\n\t\t\treturn (readPkcs1RSAPublic(der));\n\t\telse if (type === 'private')\n\t\t\treturn (readPkcs1RSAPrivate(der));\n\t\tthrow (new Error('Unknown key type: ' + type));\n\tcase 'DSA':\n\t\tif (type === 'public')\n\t\t\treturn (readPkcs1DSAPublic(der));\n\t\telse if (type === 'private')\n\t\t\treturn (readPkcs1DSAPrivate(der));\n\t\tthrow (new Error('Unknown key type: ' + type));\n\tcase 'EC':\n\tcase 'ECDSA':\n\t\tif (type === 'private')\n\t\t\treturn (readPkcs1ECDSAPrivate(der));\n\t\telse if (type === 'public')\n\t\t\treturn (readPkcs1ECDSAPublic(der));\n\t\tthrow (new Error('Unknown key type: ' + type));\n\tdefault:\n\t\tthrow (new Error('Unknown key algo: ' + alg));\n\t}\n}\n\nfunction readPkcs1RSAPublic(der) {\n\t// modulus and exponent\n\tvar n = readMPInt(der, 'modulus');\n\tvar e = readMPInt(der, 'exponent');\n\n\t// now, make the key\n\tvar key = {\n\t\ttype: 'rsa',\n\t\tparts: [\n\t\t\t{ name: 'e', data: e },\n\t\t\t{ name: 'n', data: n }\n\t\t]\n\t};\n\n\treturn (new Key(key));\n}\n\nfunction readPkcs1RSAPrivate(der) {\n\tvar version = readMPInt(der, 'version');\n\tassert.strictEqual(version[0], 0);\n\n\t// modulus then public exponent\n\tvar n = readMPInt(der, 'modulus');\n\tvar e = readMPInt(der, 'public exponent');\n\tvar d = readMPInt(der, 'private exponent');\n\tvar p = readMPInt(der, 'prime1');\n\tvar q = readMPInt(der, 'prime2');\n\tvar dmodp = readMPInt(der, 'exponent1');\n\tvar dmodq = readMPInt(der, 'exponent2');\n\tvar iqmp = readMPInt(der, 'iqmp');\n\n\t// now, make the key\n\tvar key = {\n\t\ttype: 'rsa',\n\t\tparts: [\n\t\t\t{ name: 'n', data: n },\n\t\t\t{ name: 'e', data: e },\n\t\t\t{ name: 'd', data: d },\n\t\t\t{ name: 'iqmp', data: iqmp },\n\t\t\t{ name: 'p', data: p },\n\t\t\t{ name: 'q', data: q },\n\t\t\t{ name: 'dmodp', data: dmodp },\n\t\t\t{ name: 'dmodq', data: dmodq }\n\t\t]\n\t};\n\n\treturn (new PrivateKey(key));\n}\n\nfunction readPkcs1DSAPrivate(der) {\n\tvar version = readMPInt(der, 'version');\n\tassert.strictEqual(version.readUInt8(0), 0);\n\n\tvar p = readMPInt(der, 'p');\n\tvar q = readMPInt(der, 'q');\n\tvar g = readMPInt(der, 'g');\n\tvar y = readMPInt(der, 'y');\n\tvar x = readMPInt(der, 'x');\n\n\t// now, make the key\n\tvar key = {\n\t\ttype: 'dsa',\n\t\tparts: [\n\t\t\t{ name: 'p', data: p },\n\t\t\t{ name: 'q', data: q },\n\t\t\t{ name: 'g', data: g },\n\t\t\t{ name: 'y', data: y },\n\t\t\t{ name: 'x', data: x }\n\t\t]\n\t};\n\n\treturn (new PrivateKey(key));\n}\n\nfunction readPkcs1DSAPublic(der) {\n\tvar y = readMPInt(der, 'y');\n\tvar p = readMPInt(der, 'p');\n\tvar q = readMPInt(der, 'q');\n\tvar g = readMPInt(der, 'g');\n\n\tvar key = {\n\t\ttype: 'dsa',\n\t\tparts: [\n\t\t\t{ name: 'y', data: y },\n\t\t\t{ name: 'p', data: p },\n\t\t\t{ name: 'q', data: q },\n\t\t\t{ name: 'g', data: g }\n\t\t]\n\t};\n\n\treturn (new Key(key));\n}\n\nfunction readPkcs1ECDSAPublic(der) {\n\tder.readSequence();\n\n\tvar oid = der.readOID();\n\tassert.strictEqual(oid, '1.2.840.10045.2.1', 'must be ecPublicKey');\n\n\tvar curveOid = der.readOID();\n\n\tvar curve;\n\tvar curves = Object.keys(algs.curves);\n\tfor (var j = 0; j < curves.length; ++j) {\n\t\tvar c = curves[j];\n\t\tvar cd = algs.curves[c];\n\t\tif (cd.pkcs8oid === curveOid) {\n\t\t\tcurve = c;\n\t\t\tbreak;\n\t\t}\n\t}\n\tassert.string(curve, 'a known ECDSA named curve');\n\n\tvar Q = der.readString(asn1.Ber.BitString, true);\n\tQ = utils.ecNormalize(Q);\n\n\tvar key = {\n\t\ttype: 'ecdsa',\n\t\tparts: [\n\t\t\t{ name: 'curve', data: new Buffer(curve) },\n\t\t\t{ name: 'Q', data: Q }\n\t\t]\n\t};\n\n\treturn (new Key(key));\n}\n\nfunction readPkcs1ECDSAPrivate(der) {\n\tvar version = readMPInt(der, 'version');\n\tassert.strictEqual(version.readUInt8(0), 1);\n\n\t// private key\n\tvar d = der.readString(asn1.Ber.OctetString, true);\n\n\tder.readSequence(0xa0);\n\tvar curve = readECDSACurve(der);\n\tassert.string(curve, 'a known elliptic curve');\n\n\tder.readSequence(0xa1);\n\tvar Q = der.readString(asn1.Ber.BitString, true);\n\tQ = utils.ecNormalize(Q);\n\n\tvar key = {\n\t\ttype: 'ecdsa',\n\t\tparts: [\n\t\t\t{ name: 'curve', data: new Buffer(curve) },\n\t\t\t{ name: 'Q', data: Q },\n\t\t\t{ name: 'd', data: d }\n\t\t]\n\t};\n\n\treturn (new PrivateKey(key));\n}\n\nfunction writePkcs1(der, key) {\n\tder.startSequence();\n\n\tswitch (key.type) {\n\tcase 'rsa':\n\t\tif (PrivateKey.isPrivateKey(key))\n\t\t\twritePkcs1RSAPrivate(der, key);\n\t\telse\n\t\t\twritePkcs1RSAPublic(der, key);\n\t\tbreak;\n\tcase 'dsa':\n\t\tif (PrivateKey.isPrivateKey(key))\n\t\t\twritePkcs1DSAPrivate(der, key);\n\t\telse\n\t\t\twritePkcs1DSAPublic(der, key);\n\t\tbreak;\n\tcase 'ecdsa':\n\t\tif (PrivateKey.isPrivateKey(key))\n\t\t\twritePkcs1ECDSAPrivate(der, key);\n\t\telse\n\t\t\twritePkcs1ECDSAPublic(der, key);\n\t\tbreak;\n\tdefault:\n\t\tthrow (new Error('Unknown key algo: ' + key.type));\n\t}\n\n\tder.endSequence();\n}\n\nfunction writePkcs1RSAPublic(der, key) {\n\tder.writeBuffer(key.part.n.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.e.data, asn1.Ber.Integer);\n}\n\nfunction writePkcs1RSAPrivate(der, key) {\n\tvar ver = new Buffer(1);\n\tver[0] = 0;\n\tder.writeBuffer(ver, asn1.Ber.Integer);\n\n\tder.writeBuffer(key.part.n.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.e.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.d.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.p.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.q.data, asn1.Ber.Integer);\n\tif (!key.part.dmodp || !key.part.dmodq)\n\t\tutils.addRSAMissing(key);\n\tder.writeBuffer(key.part.dmodp.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.dmodq.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.iqmp.data, asn1.Ber.Integer);\n}\n\nfunction writePkcs1DSAPrivate(der, key) {\n\tvar ver = new Buffer(1);\n\tver[0] = 0;\n\tder.writeBuffer(ver, asn1.Ber.Integer);\n\n\tder.writeBuffer(key.part.p.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.q.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.g.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.y.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.x.data, asn1.Ber.Integer);\n}\n\nfunction writePkcs1DSAPublic(der, key) {\n\tder.writeBuffer(key.part.y.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.p.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.q.data, asn1.Ber.Integer);\n\tder.writeBuffer(key.part.g.data, asn1.Ber.Integer);\n}\n\nfunction writePkcs1ECDSAPublic(der, key) {\n\tder.startSequence();\n\n\tder.writeOID('1.2.840.10045.2.1'); /* ecPublicKey */\n\tvar curve = key.part.curve.data.toString();\n\tvar curveOid = algs.curves[curve].pkcs8oid;\n\tassert.string(curveOid, 'a known ECDSA named curve');\n\tder.writeOID(curveOid);\n\n\tder.endSequence();\n\n\tvar Q = utils.ecNormalize(key.part.Q.data, true);\n\tder.writeBuffer(Q, asn1.Ber.BitString);\n}\n\nfunction writePkcs1ECDSAPrivate(der, key) {\n\tvar ver = new Buffer(1);\n\tver[0] = 1;\n\tder.writeBuffer(ver, asn1.Ber.Integer);\n\n\tder.writeBuffer(key.part.d.data, asn1.Ber.OctetString);\n\n\tder.startSequence(0xa0);\n\tvar curve = key.part.curve.data.toString();\n\tvar curveOid = algs.curves[curve].pkcs8oid;\n\tassert.string(curveOid, 'a known ECDSA named curve');\n\tder.writeOID(curveOid);\n\tder.endSequence();\n\n\tder.startSequence(0xa1);\n\tvar Q = utils.ecNormalize(key.part.Q.data, true);\n\tder.writeBuffer(Q, asn1.Ber.BitString);\n\tder.endSequence();\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "742", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/formats/ssh-private.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2015 Joyent, Inc.\n\nmodule.exports = {\n\tread: read,\n\treadSSHPrivate: readSSHPrivate,\n\twrite: write\n};\n\nvar assert = require('assert-plus');\nvar asn1 = require('asn1');\nvar algs = require('../algs');\nvar utils = require('../utils');\nvar crypto = require('crypto');\n\nvar Key = require('../key');\nvar PrivateKey = require('../private-key');\nvar pem = require('./pem');\nvar rfc4253 = require('./rfc4253');\nvar SSHBuffer = require('../ssh-buffer');\nvar errors = require('../errors');\n\nvar bcrypt;\n\nfunction read(buf, options) {\n\treturn (pem.read(buf, options));\n}\n\nvar MAGIC = 'openssh-key-v1';\n\nfunction readSSHPrivate(type, buf, options) {\n\tbuf = new SSHBuffer({buffer: buf});\n\n\tvar magic = buf.readCString();\n\tassert.strictEqual(magic, MAGIC, 'bad magic string');\n\n\tvar cipher = buf.readString();\n\tvar kdf = buf.readString();\n\tvar kdfOpts = buf.readBuffer();\n\n\tvar nkeys = buf.readInt();\n\tif (nkeys !== 1) {\n\t\tthrow (new Error('OpenSSH-format key file contains ' +\n\t\t 'multiple keys: this is unsupported.'));\n\t}\n\n\tvar pubKey = buf.readBuffer();\n\n\tif (type === 'public') {\n\t\tassert.ok(buf.atEnd(), 'excess bytes left after key');\n\t\treturn (rfc4253.read(pubKey));\n\t}\n\n\tvar privKeyBlob = buf.readBuffer();\n\tassert.ok(buf.atEnd(), 'excess bytes left after key');\n\n\tvar kdfOptsBuf = new SSHBuffer({ buffer: kdfOpts });\n\tswitch (kdf) {\n\tcase 'none':\n\t\tif (cipher !== 'none') {\n\t\t\tthrow (new Error('OpenSSH-format key uses KDF \"none\" ' +\n\t\t\t 'but specifies a cipher other than \"none\"'));\n\t\t}\n\t\tbreak;\n\tcase 'bcrypt':\n\t\tvar salt = kdfOptsBuf.readBuffer();\n\t\tvar rounds = kdfOptsBuf.readInt();\n\t\tvar cinf = utils.opensshCipherInfo(cipher);\n\t\tif (bcrypt === undefined) {\n\t\t\tbcrypt = require('bcrypt-pbkdf');\n\t\t}\n\n\t\tif (typeof (options.passphrase) === 'string') {\n\t\t\toptions.passphrase = new Buffer(options.passphrase,\n\t\t\t 'utf-8');\n\t\t}\n\t\tif (!Buffer.isBuffer(options.passphrase)) {\n\t\t\tthrow (new errors.KeyEncryptedError(\n\t\t\t options.filename, 'OpenSSH'));\n\t\t}\n\n\t\tvar pass = new Uint8Array(options.passphrase);\n\t\tvar salti = new Uint8Array(salt);\n\t\t/* Use the pbkdf to derive both the key and the IV. */\n\t\tvar out = new Uint8Array(cinf.keySize + cinf.blockSize);\n\t\tvar res = bcrypt.pbkdf(pass, pass.length, salti, salti.length,\n\t\t out, out.length, rounds);\n\t\tif (res !== 0) {\n\t\t\tthrow (new Error('bcrypt_pbkdf function returned ' +\n\t\t\t 'failure, parameters invalid'));\n\t\t}\n\t\tout = new Buffer(out);\n\t\tvar ckey = out.slice(0, cinf.keySize);\n\t\tvar iv = out.slice(cinf.keySize, cinf.keySize + cinf.blockSize);\n\t\tvar cipherStream = crypto.createDecipheriv(cinf.opensslName,\n\t\t ckey, iv);\n\t\tcipherStream.setAutoPadding(false);\n\t\tvar chunk, chunks = [];\n\t\tcipherStream.once('error', function (e) {\n\t\t\tif (e.toString().indexOf('bad decrypt') !== -1) {\n\t\t\t\tthrow (new Error('Incorrect passphrase ' +\n\t\t\t\t 'supplied, could not decrypt key'));\n\t\t\t}\n\t\t\tthrow (e);\n\t\t});\n\t\tcipherStream.write(privKeyBlob);\n\t\tcipherStream.end();\n\t\twhile ((chunk = cipherStream.read()) !== null)\n\t\t\tchunks.push(chunk);\n\t\tprivKeyBlob = Buffer.concat(chunks);\n\t\tbreak;\n\tdefault:\n\t\tthrow (new Error(\n\t\t 'OpenSSH-format key uses unknown KDF \"' + kdf + '\"'));\n\t}\n\n\tbuf = new SSHBuffer({buffer: privKeyBlob});\n\n\tvar checkInt1 = buf.readInt();\n\tvar checkInt2 = buf.readInt();\n\tif (checkInt1 !== checkInt2) {\n\t\tthrow (new Error('Incorrect passphrase supplied, could not ' +\n\t\t 'decrypt key'));\n\t}\n\n\tvar ret = {};\n\tvar key = rfc4253.readInternal(ret, 'private', buf.remainder());\n\n\tbuf.skip(ret.consumed);\n\n\tvar comment = buf.readString();\n\tkey.comment = comment;\n\n\treturn (key);\n}\n\nfunction write(key, options) {\n\tvar pubKey;\n\tif (PrivateKey.isPrivateKey(key))\n\t\tpubKey = key.toPublic();\n\telse\n\t\tpubKey = key;\n\n\tvar cipher = 'none';\n\tvar kdf = 'none';\n\tvar kdfopts = new Buffer(0);\n\tvar cinf = { blockSize: 8 };\n\tvar passphrase;\n\tif (options !== undefined) {\n\t\tpassphrase = options.passphrase;\n\t\tif (typeof (passphrase) === 'string')\n\t\t\tpassphrase = new Buffer(passphrase, 'utf-8');\n\t\tif (passphrase !== undefined) {\n\t\t\tassert.buffer(passphrase, 'options.passphrase');\n\t\t\tassert.optionalString(options.cipher, 'options.cipher');\n\t\t\tcipher = options.cipher;\n\t\t\tif (cipher === undefined)\n\t\t\t\tcipher = 'aes128-ctr';\n\t\t\tcinf = utils.opensshCipherInfo(cipher);\n\t\t\tkdf = 'bcrypt';\n\t\t}\n\t}\n\n\tvar privBuf;\n\tif (PrivateKey.isPrivateKey(key)) {\n\t\tprivBuf = new SSHBuffer({});\n\t\tvar checkInt = crypto.randomBytes(4).readUInt32BE(0);\n\t\tprivBuf.writeInt(checkInt);\n\t\tprivBuf.writeInt(checkInt);\n\t\tprivBuf.write(key.toBuffer('rfc4253'));\n\t\tprivBuf.writeString(key.comment || '');\n\n\t\tvar n = 1;\n\t\twhile (privBuf._offset % cinf.blockSize !== 0)\n\t\t\tprivBuf.writeChar(n++);\n\t\tprivBuf = privBuf.toBuffer();\n\t}\n\n\tswitch (kdf) {\n\tcase 'none':\n\t\tbreak;\n\tcase 'bcrypt':\n\t\tvar salt = crypto.randomBytes(16);\n\t\tvar rounds = 16;\n\t\tvar kdfssh = new SSHBuffer({});\n\t\tkdfssh.writeBuffer(salt);\n\t\tkdfssh.writeInt(rounds);\n\t\tkdfopts = kdfssh.toBuffer();\n\n\t\tif (bcrypt === undefined) {\n\t\t\tbcrypt = require('bcrypt-pbkdf');\n\t\t}\n\t\tvar pass = new Uint8Array(passphrase);\n\t\tvar salti = new Uint8Array(salt);\n\t\t/* Use the pbkdf to derive both the key and the IV. */\n\t\tvar out = new Uint8Array(cinf.keySize + cinf.blockSize);\n\t\tvar res = bcrypt.pbkdf(pass, pass.length, salti, salti.length,\n\t\t out, out.length, rounds);\n\t\tif (res !== 0) {\n\t\t\tthrow (new Error('bcrypt_pbkdf function returned ' +\n\t\t\t 'failure, parameters invalid'));\n\t\t}\n\t\tout = new Buffer(out);\n\t\tvar ckey = out.slice(0, cinf.keySize);\n\t\tvar iv = out.slice(cinf.keySize, cinf.keySize + cinf.blockSize);\n\n\t\tvar cipherStream = crypto.createCipheriv(cinf.opensslName,\n\t\t ckey, iv);\n\t\tcipherStream.setAutoPadding(false);\n\t\tvar chunk, chunks = [];\n\t\tcipherStream.once('error', function (e) {\n\t\t\tthrow (e);\n\t\t});\n\t\tcipherStream.write(privBuf);\n\t\tcipherStream.end();\n\t\twhile ((chunk = cipherStream.read()) !== null)\n\t\t\tchunks.push(chunk);\n\t\tprivBuf = Buffer.concat(chunks);\n\t\tbreak;\n\tdefault:\n\t\tthrow (new Error('Unsupported kdf ' + kdf));\n\t}\n\n\tvar buf = new SSHBuffer({});\n\n\tbuf.writeCString(MAGIC);\n\tbuf.writeString(cipher);\t/* cipher */\n\tbuf.writeString(kdf);\t\t/* kdf */\n\tbuf.writeBuffer(kdfopts);\t/* kdfoptions */\n\n\tbuf.writeInt(1);\t\t/* nkeys */\n\tbuf.writeBuffer(pubKey.toBuffer('rfc4253'));\n\n\tif (privBuf)\n\t\tbuf.writeBuffer(privBuf);\n\n\tbuf = buf.toBuffer();\n\n\tvar header;\n\tif (PrivateKey.isPrivateKey(key))\n\t\theader = 'OPENSSH PRIVATE KEY';\n\telse\n\t\theader = 'OPENSSH PUBLIC KEY';\n\n\tvar tmp = buf.toString('base64');\n\tvar len = tmp.length + (tmp.length / 70) +\n\t 18 + 16 + header.length*2 + 10;\n\tbuf = new Buffer(len);\n\tvar o = 0;\n\to += buf.write('-----BEGIN ' + header + '-----\\n', o);\n\tfor (var i = 0; i < tmp.length; ) {\n\t\tvar limit = i + 70;\n\t\tif (limit > tmp.length)\n\t\t\tlimit = tmp.length;\n\t\to += buf.write(tmp.slice(i, limit), o);\n\t\tbuf[o++] = 10;\n\t\ti = limit;\n\t}\n\to += buf.write('-----END ' + header + '-----\\n', o);\n\n\treturn (buf.slice(0, o));\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk" }, { "id": "750", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/lib/signer.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright 2012 Joyent, Inc. All rights reserved.\n\nvar assert = require('assert-plus');\nvar crypto = require('crypto');\nvar http = require('http');\nvar util = require('util');\nvar sshpk = require('sshpk');\nvar jsprim = require('jsprim');\nvar utils = require('./utils');\n\nvar sprintf = require('util').format;\n\nvar HASH_ALGOS = utils.HASH_ALGOS;\nvar PK_ALGOS = utils.PK_ALGOS;\nvar InvalidAlgorithmError = utils.InvalidAlgorithmError;\nvar HttpSignatureError = utils.HttpSignatureError;\nvar validateAlgorithm = utils.validateAlgorithm;\n\n///--- Globals\n\nvar AUTHZ_FMT =\n 'Signature keyId=\"%s\",algorithm=\"%s\",headers=\"%s\",signature=\"%s\"';\n\n///--- Specific Errors\n\nfunction MissingHeaderError(message) {\n HttpSignatureError.call(this, message, MissingHeaderError);\n}\nutil.inherits(MissingHeaderError, HttpSignatureError);\n\nfunction StrictParsingError(message) {\n HttpSignatureError.call(this, message, StrictParsingError);\n}\nutil.inherits(StrictParsingError, HttpSignatureError);\n\n/* See createSigner() */\nfunction RequestSigner(options) {\n assert.object(options, 'options');\n\n var alg = [];\n if (options.algorithm !== undefined) {\n assert.string(options.algorithm, 'options.algorithm');\n alg = validateAlgorithm(options.algorithm);\n }\n this.rs_alg = alg;\n\n /*\n * RequestSigners come in two varieties: ones with an rs_signFunc, and ones\n * with an rs_signer.\n *\n * rs_signFunc-based RequestSigners have to build up their entire signing\n * string within the rs_lines array and give it to rs_signFunc as a single\n * concat'd blob. rs_signer-based RequestSigners can add a line at a time to\n * their signing state by using rs_signer.update(), thus only needing to\n * buffer the hash function state and one line at a time.\n */\n if (options.sign !== undefined) {\n assert.func(options.sign, 'options.sign');\n this.rs_signFunc = options.sign;\n\n } else if (alg[0] === 'hmac' && options.key !== undefined) {\n assert.string(options.keyId, 'options.keyId');\n this.rs_keyId = options.keyId;\n\n if (typeof (options.key) !== 'string' && !Buffer.isBuffer(options.key))\n throw (new TypeError('options.key for HMAC must be a string or Buffer'));\n\n /*\n * Make an rs_signer for HMACs, not a rs_signFunc -- HMACs digest their\n * data in chunks rather than requiring it all to be given in one go\n * at the end, so they are more similar to signers than signFuncs.\n */\n this.rs_signer = crypto.createHmac(alg[1].toUpperCase(), options.key);\n this.rs_signer.sign = function () {\n var digest = this.digest('base64');\n return ({\n hashAlgorithm: alg[1],\n toString: function () { return (digest); }\n });\n };\n\n } else if (options.key !== undefined) {\n var key = options.key;\n if (typeof (key) === 'string' || Buffer.isBuffer(key))\n key = sshpk.parsePrivateKey(key);\n\n assert.ok(sshpk.PrivateKey.isPrivateKey(key, [1, 2]),\n 'options.key must be a sshpk.PrivateKey');\n this.rs_key = key;\n\n assert.string(options.keyId, 'options.keyId');\n this.rs_keyId = options.keyId;\n\n if (!PK_ALGOS[key.type]) {\n throw (new InvalidAlgorithmError(key.type.toUpperCase() + ' type ' +\n 'keys are not supported'));\n }\n\n if (alg[0] !== undefined && key.type !== alg[0]) {\n throw (new InvalidAlgorithmError('options.key must be a ' +\n alg[0].toUpperCase() + ' key, was given a ' +\n key.type.toUpperCase() + ' key instead'));\n }\n\n this.rs_signer = key.createSign(alg[1]);\n\n } else {\n throw (new TypeError('options.sign (func) or options.key is required'));\n }\n\n this.rs_headers = [];\n this.rs_lines = [];\n}\n\n/**\n * Adds a header to be signed, with its value, into this signer.\n *\n * @param {String} header\n * @param {String} value\n * @return {String} value written\n */\nRequestSigner.prototype.writeHeader = function (header, value) {\n assert.string(header, 'header');\n header = header.toLowerCase();\n assert.string(value, 'value');\n\n this.rs_headers.push(header);\n\n if (this.rs_signFunc) {\n this.rs_lines.push(header + ': ' + value);\n\n } else {\n var line = header + ': ' + value;\n if (this.rs_headers.length > 0)\n line = '\\n' + line;\n this.rs_signer.update(line);\n }\n\n return (value);\n};\n\n/**\n * Adds a default Date header, returning its value.\n *\n * @return {String}\n */\nRequestSigner.prototype.writeDateHeader = function () {\n return (this.writeHeader('date', jsprim.rfc1123(new Date())));\n};\n\n/**\n * Adds the request target line to be signed.\n *\n * @param {String} method, HTTP method (e.g. 'get', 'post', 'put')\n * @param {String} path\n */\nRequestSigner.prototype.writeTarget = function (method, path) {\n assert.string(method, 'method');\n assert.string(path, 'path');\n method = method.toLowerCase();\n this.writeHeader('(request-target)', method + ' ' + path);\n};\n\n/**\n * Calculate the value for the Authorization header on this request\n * asynchronously.\n *\n * @param {Func} callback (err, authz)\n */\nRequestSigner.prototype.sign = function (cb) {\n assert.func(cb, 'callback');\n\n if (this.rs_headers.length < 1)\n throw (new Error('At least one header must be signed'));\n\n var alg, authz;\n if (this.rs_signFunc) {\n var data = this.rs_lines.join('\\n');\n var self = this;\n this.rs_signFunc(data, function (err, sig) {\n if (err) {\n cb(err);\n return;\n }\n try {\n assert.object(sig, 'signature');\n assert.string(sig.keyId, 'signature.keyId');\n assert.string(sig.algorithm, 'signature.algorithm');\n assert.string(sig.signature, 'signature.signature');\n alg = validateAlgorithm(sig.algorithm);\n\n authz = sprintf(AUTHZ_FMT,\n sig.keyId,\n sig.algorithm,\n self.rs_headers.join(' '),\n sig.signature);\n } catch (e) {\n cb(e);\n return;\n }\n cb(null, authz);\n });\n\n } else {\n try {\n var sigObj = this.rs_signer.sign();\n } catch (e) {\n cb(e);\n return;\n }\n alg = (this.rs_alg[0] || this.rs_key.type) + '-' + sigObj.hashAlgorithm;\n var signature = sigObj.toString();\n authz = sprintf(AUTHZ_FMT,\n this.rs_keyId,\n alg,\n this.rs_headers.join(' '),\n signature);\n cb(null, authz);\n }\n};\n\n///--- Exported API\n\nmodule.exports = {\n /**\n * Identifies whether a given object is a request signer or not.\n *\n * @param {Object} object, the object to identify\n * @returns {Boolean}\n */\n isSigner: function (obj) {\n if (typeof (obj) === 'object' && obj instanceof RequestSigner)\n return (true);\n return (false);\n },\n\n /**\n * Creates a request signer, used to asynchronously build a signature\n * for a request (does not have to be an http.ClientRequest).\n *\n * @param {Object} options, either:\n * - {String} keyId\n * - {String|Buffer} key\n * - {String} algorithm (optional, required for HMAC)\n * or:\n * - {Func} sign (data, cb)\n * @return {RequestSigner}\n */\n createSigner: function createSigner(options) {\n return (new RequestSigner(options));\n },\n\n /**\n * Adds an 'Authorization' header to an http.ClientRequest object.\n *\n * Note that this API will add a Date header if it's not already set. Any\n * other headers in the options.headers array MUST be present, or this\n * will throw.\n *\n * You shouldn't need to check the return type; it's just there if you want\n * to be pedantic.\n *\n * The optional flag indicates whether parsing should use strict enforcement\n * of the version draft-cavage-http-signatures-04 of the spec or beyond.\n * The default is to be loose and support\n * older versions for compatibility.\n *\n * @param {Object} request an instance of http.ClientRequest.\n * @param {Object} options signing parameters object:\n * - {String} keyId required.\n * - {String} key required (either a PEM or HMAC key).\n * - {Array} headers optional; defaults to ['date'].\n * - {String} algorithm optional (unless key is HMAC);\n * default is the same as the sshpk default\n * signing algorithm for the type of key given\n * - {String} httpVersion optional; defaults to '1.1'.\n * - {Boolean} strict optional; defaults to 'false'.\n * @return {Boolean} true if Authorization (and optionally Date) were added.\n * @throws {TypeError} on bad parameter types (input).\n * @throws {InvalidAlgorithmError} if algorithm was bad or incompatible with\n * the given key.\n * @throws {sshpk.KeyParseError} if key was bad.\n * @throws {MissingHeaderError} if a header to be signed was specified but\n * was not present.\n */\n signRequest: function signRequest(request, options) {\n assert.object(request, 'request');\n assert.object(options, 'options');\n assert.optionalString(options.algorithm, 'options.algorithm');\n assert.string(options.keyId, 'options.keyId');\n assert.optionalArrayOfString(options.headers, 'options.headers');\n assert.optionalString(options.httpVersion, 'options.httpVersion');\n\n if (!request.getHeader('Date'))\n request.setHeader('Date', jsprim.rfc1123(new Date()));\n if (!options.headers)\n options.headers = ['date'];\n if (!options.httpVersion)\n options.httpVersion = '1.1';\n\n var alg = [];\n if (options.algorithm) {\n options.algorithm = options.algorithm.toLowerCase();\n alg = validateAlgorithm(options.algorithm);\n }\n\n var i;\n var stringToSign = '';\n for (i = 0; i < options.headers.length; i++) {\n if (typeof (options.headers[i]) !== 'string')\n throw new TypeError('options.headers must be an array of Strings');\n\n var h = options.headers[i].toLowerCase();\n\n if (h === 'request-line') {\n if (!options.strict) {\n /**\n * We allow headers from the older spec drafts if strict parsing isn't\n * specified in options.\n */\n stringToSign +=\n request.method + ' ' + request.path + ' HTTP/' +\n options.httpVersion;\n } else {\n /* Strict parsing doesn't allow older draft headers. */\n throw (new StrictParsingError('request-line is not a valid header ' +\n 'with strict parsing enabled.'));\n }\n } else if (h === '(request-target)') {\n stringToSign +=\n '(request-target): ' + request.method.toLowerCase() + ' ' +\n request.path;\n } else {\n var value = request.getHeader(h);\n if (value === undefined || value === '') {\n throw new MissingHeaderError(h + ' was not in the request');\n }\n stringToSign += h + ': ' + value;\n }\n\n if ((i + 1) < options.headers.length)\n stringToSign += '\\n';\n }\n\n /* This is just for unit tests. */\n if (request.hasOwnProperty('_stringToSign')) {\n request._stringToSign = stringToSign;\n }\n\n var signature;\n if (alg[0] === 'hmac') {\n if (typeof (options.key) !== 'string' && !Buffer.isBuffer(options.key))\n throw (new TypeError('options.key must be a string or Buffer'));\n\n var hmac = crypto.createHmac(alg[1].toUpperCase(), options.key);\n hmac.update(stringToSign);\n signature = hmac.digest('base64');\n\n } else {\n var key = options.key;\n if (typeof (key) === 'string' || Buffer.isBuffer(key))\n key = sshpk.parsePrivateKey(options.key);\n\n assert.ok(sshpk.PrivateKey.isPrivateKey(key, [1, 2]),\n 'options.key must be a sshpk.PrivateKey');\n\n if (!PK_ALGOS[key.type]) {\n throw (new InvalidAlgorithmError(key.type.toUpperCase() + ' type ' +\n 'keys are not supported'));\n }\n\n if (alg[0] !== undefined && key.type !== alg[0]) {\n throw (new InvalidAlgorithmError('options.key must be a ' +\n alg[0].toUpperCase() + ' key, was given a ' +\n key.type.toUpperCase() + ' key instead'));\n }\n\n var signer = key.createSign(alg[1]);\n signer.update(stringToSign);\n var sigObj = signer.sign();\n if (!HASH_ALGOS[sigObj.hashAlgorithm]) {\n throw (new InvalidAlgorithmError(sigObj.hashAlgorithm.toUpperCase() +\n ' is not a supported hash algorithm'));\n }\n options.algorithm = key.type + '-' + sigObj.hashAlgorithm;\n signature = sigObj.toString();\n assert.notStrictEqual(signature, '', 'empty signature produced');\n }\n\n request.setHeader('Authorization', sprintf(AUTHZ_FMT,\n options.keyId,\n options.algorithm,\n options.headers.join(' '),\n signature));\n\n return true;\n }\n\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature" }, { "id": "751", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/lib/jsprim.js", "source": "(function (exports, require, module, __filename, __dirname) { /*\n * lib/jsprim.js: utilities for primitive JavaScript types\n */\n\nvar mod_assert = require('assert-plus');\nvar mod_util = require('util');\n\nvar mod_extsprintf = require('extsprintf');\nvar mod_verror = require('verror');\nvar mod_jsonschema = require('json-schema');\n\n/*\n * Public interface\n */\nexports.deepCopy = deepCopy;\nexports.deepEqual = deepEqual;\nexports.isEmpty = isEmpty;\nexports.hasKey = hasKey;\nexports.forEachKey = forEachKey;\nexports.pluck = pluck;\nexports.flattenObject = flattenObject;\nexports.flattenIter = flattenIter;\nexports.validateJsonObject = validateJsonObjectJS;\nexports.validateJsonObjectJS = validateJsonObjectJS;\nexports.randElt = randElt;\nexports.extraProperties = extraProperties;\nexports.mergeObjects = mergeObjects;\n\nexports.startsWith = startsWith;\nexports.endsWith = endsWith;\n\nexports.parseInteger = parseInteger;\n\nexports.iso8601 = iso8601;\nexports.rfc1123 = rfc1123;\nexports.parseDateTime = parseDateTime;\n\nexports.hrtimediff = hrtimeDiff;\nexports.hrtimeDiff = hrtimeDiff;\nexports.hrtimeAccum = hrtimeAccum;\nexports.hrtimeAdd = hrtimeAdd;\nexports.hrtimeNanosec = hrtimeNanosec;\nexports.hrtimeMicrosec = hrtimeMicrosec;\nexports.hrtimeMillisec = hrtimeMillisec;\n\n\n/*\n * Deep copy an acyclic *basic* Javascript object. This only handles basic\n * scalars (strings, numbers, booleans) and arbitrarily deep arrays and objects\n * containing these. This does *not* handle instances of other classes.\n */\nfunction deepCopy(obj)\n{\n\tvar ret, key;\n\tvar marker = '__deepCopy';\n\n\tif (obj && obj[marker])\n\t\tthrow (new Error('attempted deep copy of cyclic object'));\n\n\tif (obj && obj.constructor == Object) {\n\t\tret = {};\n\t\tobj[marker] = true;\n\n\t\tfor (key in obj) {\n\t\t\tif (key == marker)\n\t\t\t\tcontinue;\n\n\t\t\tret[key] = deepCopy(obj[key]);\n\t\t}\n\n\t\tdelete (obj[marker]);\n\t\treturn (ret);\n\t}\n\n\tif (obj && obj.constructor == Array) {\n\t\tret = [];\n\t\tobj[marker] = true;\n\n\t\tfor (key = 0; key < obj.length; key++)\n\t\t\tret.push(deepCopy(obj[key]));\n\n\t\tdelete (obj[marker]);\n\t\treturn (ret);\n\t}\n\n\t/*\n\t * It must be a primitive type -- just return it.\n\t */\n\treturn (obj);\n}\n\nfunction deepEqual(obj1, obj2)\n{\n\tif (typeof (obj1) != typeof (obj2))\n\t\treturn (false);\n\n\tif (obj1 === null || obj2 === null || typeof (obj1) != 'object')\n\t\treturn (obj1 === obj2);\n\n\tif (obj1.constructor != obj2.constructor)\n\t\treturn (false);\n\n\tvar k;\n\tfor (k in obj1) {\n\t\tif (!obj2.hasOwnProperty(k))\n\t\t\treturn (false);\n\n\t\tif (!deepEqual(obj1[k], obj2[k]))\n\t\t\treturn (false);\n\t}\n\n\tfor (k in obj2) {\n\t\tif (!obj1.hasOwnProperty(k))\n\t\t\treturn (false);\n\t}\n\n\treturn (true);\n}\n\nfunction isEmpty(obj)\n{\n\tvar key;\n\tfor (key in obj)\n\t\treturn (false);\n\treturn (true);\n}\n\nfunction hasKey(obj, key)\n{\n\tmod_assert.equal(typeof (key), 'string');\n\treturn (Object.prototype.hasOwnProperty.call(obj, key));\n}\n\nfunction forEachKey(obj, callback)\n{\n\tfor (var key in obj) {\n\t\tif (hasKey(obj, key)) {\n\t\t\tcallback(key, obj[key]);\n\t\t}\n\t}\n}\n\nfunction pluck(obj, key)\n{\n\tmod_assert.equal(typeof (key), 'string');\n\treturn (pluckv(obj, key));\n}\n\nfunction pluckv(obj, key)\n{\n\tif (obj === null || typeof (obj) !== 'object')\n\t\treturn (undefined);\n\n\tif (obj.hasOwnProperty(key))\n\t\treturn (obj[key]);\n\n\tvar i = key.indexOf('.');\n\tif (i == -1)\n\t\treturn (undefined);\n\n\tvar key1 = key.substr(0, i);\n\tif (!obj.hasOwnProperty(key1))\n\t\treturn (undefined);\n\n\treturn (pluckv(obj[key1], key.substr(i + 1)));\n}\n\n/*\n * Invoke callback(row) for each entry in the array that would be returned by\n * flattenObject(data, depth). This is just like flattenObject(data,\n * depth).forEach(callback), except that the intermediate array is never\n * created.\n */\nfunction flattenIter(data, depth, callback)\n{\n\tdoFlattenIter(data, depth, [], callback);\n}\n\nfunction doFlattenIter(data, depth, accum, callback)\n{\n\tvar each;\n\tvar key;\n\n\tif (depth === 0) {\n\t\teach = accum.slice(0);\n\t\teach.push(data);\n\t\tcallback(each);\n\t\treturn;\n\t}\n\n\tmod_assert.ok(data !== null);\n\tmod_assert.equal(typeof (data), 'object');\n\tmod_assert.equal(typeof (depth), 'number');\n\tmod_assert.ok(depth >= 0);\n\n\tfor (key in data) {\n\t\teach = accum.slice(0);\n\t\teach.push(key);\n\t\tdoFlattenIter(data[key], depth - 1, each, callback);\n\t}\n}\n\nfunction flattenObject(data, depth)\n{\n\tif (depth === 0)\n\t\treturn ([ data ]);\n\n\tmod_assert.ok(data !== null);\n\tmod_assert.equal(typeof (data), 'object');\n\tmod_assert.equal(typeof (depth), 'number');\n\tmod_assert.ok(depth >= 0);\n\n\tvar rv = [];\n\tvar key;\n\n\tfor (key in data) {\n\t\tflattenObject(data[key], depth - 1).forEach(function (p) {\n\t\t\trv.push([ key ].concat(p));\n\t\t});\n\t}\n\n\treturn (rv);\n}\n\nfunction startsWith(str, prefix)\n{\n\treturn (str.substr(0, prefix.length) == prefix);\n}\n\nfunction endsWith(str, suffix)\n{\n\treturn (str.substr(\n\t str.length - suffix.length, suffix.length) == suffix);\n}\n\nfunction iso8601(d)\n{\n\tif (typeof (d) == 'number')\n\t\td = new Date(d);\n\tmod_assert.ok(d.constructor === Date);\n\treturn (mod_extsprintf.sprintf('%4d-%02d-%02dT%02d:%02d:%02d.%03dZ',\n\t d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate(),\n\t d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(),\n\t d.getUTCMilliseconds()));\n}\n\nvar RFC1123_MONTHS = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar RFC1123_DAYS = [\n 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nfunction rfc1123(date) {\n\treturn (mod_extsprintf.sprintf('%s, %02d %s %04d %02d:%02d:%02d GMT',\n\t RFC1123_DAYS[date.getUTCDay()], date.getUTCDate(),\n\t RFC1123_MONTHS[date.getUTCMonth()], date.getUTCFullYear(),\n\t date.getUTCHours(), date.getUTCMinutes(),\n\t date.getUTCSeconds()));\n}\n\n/*\n * Parses a date expressed as a string, as either a number of milliseconds since\n * the epoch or any string format that Date accepts, giving preference to the\n * former where these two sets overlap (e.g., small numbers).\n */\nfunction parseDateTime(str)\n{\n\t/*\n\t * This is irritatingly implicit, but significantly more concise than\n\t * alternatives. The \"+str\" will convert a string containing only a\n\t * number directly to a Number, or NaN for other strings. Thus, if the\n\t * conversion succeeds, we use it (this is the milliseconds-since-epoch\n\t * case). Otherwise, we pass the string directly to the Date\n\t * constructor to parse.\n\t */\n\tvar numeric = +str;\n\tif (!isNaN(numeric)) {\n\t\treturn (new Date(numeric));\n\t} else {\n\t\treturn (new Date(str));\n\t}\n}\n\n\n/*\n * Number.*_SAFE_INTEGER isn't present before node v0.12, so we hardcode\n * the ES6 definitions here, while allowing for them to someday be higher.\n */\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\nvar MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\n\n\n/*\n * Default options for parseInteger().\n */\nvar PI_DEFAULTS = {\n\tbase: 10,\n\tallowSign: true,\n\tallowPrefix: false,\n\tallowTrailing: false,\n\tallowImprecise: false,\n\ttrimWhitespace: false,\n\tleadingZeroIsOctal: false\n};\n\nvar CP_0 = 0x30;\nvar CP_9 = 0x39;\n\nvar CP_A = 0x41;\nvar CP_B = 0x42;\nvar CP_O = 0x4f;\nvar CP_T = 0x54;\nvar CP_X = 0x58;\nvar CP_Z = 0x5a;\n\nvar CP_a = 0x61;\nvar CP_b = 0x62;\nvar CP_o = 0x6f;\nvar CP_t = 0x74;\nvar CP_x = 0x78;\nvar CP_z = 0x7a;\n\nvar PI_CONV_DEC = 0x30;\nvar PI_CONV_UC = 0x37;\nvar PI_CONV_LC = 0x57;\n\n\n/*\n * A stricter version of parseInt() that provides options for changing what\n * is an acceptable string (for example, disallowing trailing characters).\n */\nfunction parseInteger(str, uopts)\n{\n\tmod_assert.string(str, 'str');\n\tmod_assert.optionalObject(uopts, 'options');\n\n\tvar baseOverride = false;\n\tvar options = PI_DEFAULTS;\n\n\tif (uopts) {\n\t\tbaseOverride = hasKey(uopts, 'base');\n\t\toptions = mergeObjects(options, uopts);\n\t\tmod_assert.number(options.base, 'options.base');\n\t\tmod_assert.ok(options.base >= 2, 'options.base >= 2');\n\t\tmod_assert.ok(options.base <= 36, 'options.base <= 36');\n\t\tmod_assert.bool(options.allowSign, 'options.allowSign');\n\t\tmod_assert.bool(options.allowPrefix, 'options.allowPrefix');\n\t\tmod_assert.bool(options.allowTrailing,\n\t\t 'options.allowTrailing');\n\t\tmod_assert.bool(options.allowImprecise,\n\t\t 'options.allowImprecise');\n\t\tmod_assert.bool(options.trimWhitespace,\n\t\t 'options.trimWhitespace');\n\t\tmod_assert.bool(options.leadingZeroIsOctal,\n\t\t 'options.leadingZeroIsOctal');\n\n\t\tif (options.leadingZeroIsOctal) {\n\t\t\tmod_assert.ok(!baseOverride,\n\t\t\t '\"base\" and \"leadingZeroIsOctal\" are ' +\n\t\t\t 'mutually exclusive');\n\t\t}\n\t}\n\n\tvar c;\n\tvar pbase = -1;\n\tvar base = options.base;\n\tvar start;\n\tvar mult = 1;\n\tvar value = 0;\n\tvar idx = 0;\n\tvar len = str.length;\n\n\t/* Trim any whitespace on the left side. */\n\tif (options.trimWhitespace) {\n\t\twhile (idx < len && isSpace(str.charCodeAt(idx))) {\n\t\t\t++idx;\n\t\t}\n\t}\n\n\t/* Check the number for a leading sign. */\n\tif (options.allowSign) {\n\t\tif (str[idx] === '-') {\n\t\t\tidx += 1;\n\t\t\tmult = -1;\n\t\t} else if (str[idx] === '+') {\n\t\t\tidx += 1;\n\t\t}\n\t}\n\n\t/* Parse the base-indicating prefix if there is one. */\n\tif (str[idx] === '0') {\n\t\tif (options.allowPrefix) {\n\t\t\tpbase = prefixToBase(str.charCodeAt(idx + 1));\n\t\t\tif (pbase !== -1 && (!baseOverride || pbase === base)) {\n\t\t\t\tbase = pbase;\n\t\t\t\tidx += 2;\n\t\t\t}\n\t\t}\n\n\t\tif (pbase === -1 && options.leadingZeroIsOctal) {\n\t\t\tbase = 8;\n\t\t}\n\t}\n\n\t/* Parse the actual digits. */\n\tfor (start = idx; idx < len; ++idx) {\n\t\tc = translateDigit(str.charCodeAt(idx));\n\t\tif (c !== -1 && c < base) {\n\t\t\tvalue *= base;\n\t\t\tvalue += c;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* If we didn't parse any digits, we have an invalid number. */\n\tif (start === idx) {\n\t\treturn (new Error('invalid number: ' + JSON.stringify(str)));\n\t}\n\n\t/* Trim any whitespace on the right side. */\n\tif (options.trimWhitespace) {\n\t\twhile (idx < len && isSpace(str.charCodeAt(idx))) {\n\t\t\t++idx;\n\t\t}\n\t}\n\n\t/* Check for trailing characters. */\n\tif (idx < len && !options.allowTrailing) {\n\t\treturn (new Error('trailing characters after number: ' +\n\t\t JSON.stringify(str.slice(idx))));\n\t}\n\n\t/* If our value is 0, we return now, to avoid returning -0. */\n\tif (value === 0) {\n\t\treturn (0);\n\t}\n\n\t/* Calculate our final value. */\n\tvar result = value * mult;\n\n\t/*\n\t * If the string represents a value that cannot be precisely represented\n\t * by JavaScript, then we want to check that:\n\t *\n\t * - We never increased the value past MAX_SAFE_INTEGER\n\t * - We don't make the result negative and below MIN_SAFE_INTEGER\n\t *\n\t * Because we only ever increment the value during parsing, there's no\n\t * chance of moving past MAX_SAFE_INTEGER and then dropping below it\n\t * again, losing precision in the process. This means that we only need\n\t * to do our checks here, at the end.\n\t */\n\tif (!options.allowImprecise &&\n\t (value > MAX_SAFE_INTEGER || result < MIN_SAFE_INTEGER)) {\n\t\treturn (new Error('number is outside of the supported range: ' +\n\t\t JSON.stringify(str.slice(start, idx))));\n\t}\n\n\treturn (result);\n}\n\n\n/*\n * Interpret a character code as a base-36 digit.\n */\nfunction translateDigit(d)\n{\n\tif (d >= CP_0 && d <= CP_9) {\n\t\t/* '0' to '9' -> 0 to 9 */\n\t\treturn (d - PI_CONV_DEC);\n\t} else if (d >= CP_A && d <= CP_Z) {\n\t\t/* 'A' - 'Z' -> 10 to 35 */\n\t\treturn (d - PI_CONV_UC);\n\t} else if (d >= CP_a && d <= CP_z) {\n\t\t/* 'a' - 'z' -> 10 to 35 */\n\t\treturn (d - PI_CONV_LC);\n\t} else {\n\t\t/* Invalid character code */\n\t\treturn (-1);\n\t}\n}\n\n\n/*\n * Test if a value matches the ECMAScript definition of trimmable whitespace.\n */\nfunction isSpace(c)\n{\n\treturn (c === 0x20) ||\n\t (c >= 0x0009 && c <= 0x000d) ||\n\t (c === 0x00a0) ||\n\t (c === 0x1680) ||\n\t (c === 0x180e) ||\n\t (c >= 0x2000 && c <= 0x200a) ||\n\t (c === 0x2028) ||\n\t (c === 0x2029) ||\n\t (c === 0x202f) ||\n\t (c === 0x205f) ||\n\t (c === 0x3000) ||\n\t (c === 0xfeff);\n}\n\n\n/*\n * Determine which base a character indicates (e.g., 'x' indicates hex).\n */\nfunction prefixToBase(c)\n{\n\tif (c === CP_b || c === CP_B) {\n\t\t/* 0b/0B (binary) */\n\t\treturn (2);\n\t} else if (c === CP_o || c === CP_O) {\n\t\t/* 0o/0O (octal) */\n\t\treturn (8);\n\t} else if (c === CP_t || c === CP_T) {\n\t\t/* 0t/0T (decimal) */\n\t\treturn (10);\n\t} else if (c === CP_x || c === CP_X) {\n\t\t/* 0x/0X (hexadecimal) */\n\t\treturn (16);\n\t} else {\n\t\t/* Not a meaningful character */\n\t\treturn (-1);\n\t}\n}\n\n\nfunction validateJsonObjectJS(schema, input)\n{\n\tvar report = mod_jsonschema.validate(input, schema);\n\n\tif (report.errors.length === 0)\n\t\treturn (null);\n\n\t/* Currently, we only do anything useful with the first error. */\n\tvar error = report.errors[0];\n\n\t/* The failed property is given by a URI with an irrelevant prefix. */\n\tvar propname = error['property'];\n\tvar reason = error['message'].toLowerCase();\n\tvar i, j;\n\n\t/*\n\t * There's at least one case where the property error message is\n\t * confusing at best. We work around this here.\n\t */\n\tif ((i = reason.indexOf('the property ')) != -1 &&\n\t (j = reason.indexOf(' is not defined in the schema and the ' +\n\t 'schema does not allow additional properties')) != -1) {\n\t\ti += 'the property '.length;\n\t\tif (propname === '')\n\t\t\tpropname = reason.substr(i, j - i);\n\t\telse\n\t\t\tpropname = propname + '.' + reason.substr(i, j - i);\n\n\t\treason = 'unsupported property';\n\t}\n\n\tvar rv = new mod_verror.VError('property \"%s\": %s', propname, reason);\n\trv.jsv_details = error;\n\treturn (rv);\n}\n\nfunction randElt(arr)\n{\n\tmod_assert.ok(Array.isArray(arr) && arr.length > 0,\n\t 'randElt argument must be a non-empty array');\n\n\treturn (arr[Math.floor(Math.random() * arr.length)]);\n}\n\nfunction assertHrtime(a)\n{\n\tmod_assert.ok(a[0] >= 0 && a[1] >= 0,\n\t 'negative numbers not allowed in hrtimes');\n\tmod_assert.ok(a[1] < 1e9, 'nanoseconds column overflow');\n}\n\n/*\n * Compute the time elapsed between hrtime readings A and B, where A is later\n * than B. hrtime readings come from Node's process.hrtime(). There is no\n * defined way to represent negative deltas, so it's illegal to diff B from A\n * where the time denoted by B is later than the time denoted by A. If this\n * becomes valuable, we can define a representation and extend the\n * implementation to support it.\n */\nfunction hrtimeDiff(a, b)\n{\n\tassertHrtime(a);\n\tassertHrtime(b);\n\tmod_assert.ok(a[0] > b[0] || (a[0] == b[0] && a[1] >= b[1]),\n\t 'negative differences not allowed');\n\n\tvar rv = [ a[0] - b[0], 0 ];\n\n\tif (a[1] >= b[1]) {\n\t\trv[1] = a[1] - b[1];\n\t} else {\n\t\trv[0]--;\n\t\trv[1] = 1e9 - (b[1] - a[1]);\n\t}\n\n\treturn (rv);\n}\n\n/*\n * Convert a hrtime reading from the array format returned by Node's\n * process.hrtime() into a scalar number of nanoseconds.\n */\nfunction hrtimeNanosec(a)\n{\n\tassertHrtime(a);\n\n\treturn (Math.floor(a[0] * 1e9 + a[1]));\n}\n\n/*\n * Convert a hrtime reading from the array format returned by Node's\n * process.hrtime() into a scalar number of microseconds.\n */\nfunction hrtimeMicrosec(a)\n{\n\tassertHrtime(a);\n\n\treturn (Math.floor(a[0] * 1e6 + a[1] / 1e3));\n}\n\n/*\n * Convert a hrtime reading from the array format returned by Node's\n * process.hrtime() into a scalar number of milliseconds.\n */\nfunction hrtimeMillisec(a)\n{\n\tassertHrtime(a);\n\n\treturn (Math.floor(a[0] * 1e3 + a[1] / 1e6));\n}\n\n/*\n * Add two hrtime readings A and B, overwriting A with the result of the\n * addition. This function is useful for accumulating several hrtime intervals\n * into a counter. Returns A.\n */\nfunction hrtimeAccum(a, b)\n{\n\tassertHrtime(a);\n\tassertHrtime(b);\n\n\t/*\n\t * Accumulate the nanosecond component.\n\t */\n\ta[1] += b[1];\n\tif (a[1] >= 1e9) {\n\t\t/*\n\t\t * The nanosecond component overflowed, so carry to the seconds\n\t\t * field.\n\t\t */\n\t\ta[0]++;\n\t\ta[1] -= 1e9;\n\t}\n\n\t/*\n\t * Accumulate the seconds component.\n\t */\n\ta[0] += b[0];\n\n\treturn (a);\n}\n\n/*\n * Add two hrtime readings A and B, returning the result as a new hrtime array.\n * Does not modify either input argument.\n */\nfunction hrtimeAdd(a, b)\n{\n\tassertHrtime(a);\n\n\tvar rv = [ a[0], a[1] ];\n\n\treturn (hrtimeAccum(rv, b));\n}\n\n\n/*\n * Check an object for unexpected properties. Accepts the object to check, and\n * an array of allowed property names (strings). Returns an array of key names\n * that were found on the object, but did not appear in the list of allowed\n * properties. If no properties were found, the returned array will be of\n * zero length.\n */\nfunction extraProperties(obj, allowed)\n{\n\tmod_assert.ok(typeof (obj) === 'object' && obj !== null,\n\t 'obj argument must be a non-null object');\n\tmod_assert.ok(Array.isArray(allowed),\n\t 'allowed argument must be an array of strings');\n\tfor (var i = 0; i < allowed.length; i++) {\n\t\tmod_assert.ok(typeof (allowed[i]) === 'string',\n\t\t 'allowed argument must be an array of strings');\n\t}\n\n\treturn (Object.keys(obj).filter(function (key) {\n\t\treturn (allowed.indexOf(key) === -1);\n\t}));\n}\n\n/*\n * Given three sets of properties \"provided\" (may be undefined), \"overrides\"\n * (required), and \"defaults\" (may be undefined), construct an object containing\n * the union of these sets with \"overrides\" overriding \"provided\", and\n * \"provided\" overriding \"defaults\". None of the input objects are modified.\n */\nfunction mergeObjects(provided, overrides, defaults)\n{\n\tvar rv, k;\n\n\trv = {};\n\tif (defaults) {\n\t\tfor (k in defaults)\n\t\t\trv[k] = defaults[k];\n\t}\n\n\tif (provided) {\n\t\tfor (k in provided)\n\t\t\trv[k] = provided[k];\n\t}\n\n\tif (overrides) {\n\t\tfor (k in overrides)\n\t\t\trv[k] = overrides[k];\n\t}\n\n\treturn (rv);\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim" }, { "id": "752", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/assert-plus/assert.js", "source": "(function (exports, require, module, __filename, __dirname) { // Copyright (c) 2012, Mark Cavage. All rights reserved.\n// Copyright 2015 Joyent, Inc.\n\nvar assert = require('assert');\nvar Stream = require('stream').Stream;\nvar util = require('util');\n\n\n///--- Globals\n\n/* JSSTYLED */\nvar UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;\n\n\n///--- Internal\n\nfunction _capitalize(str) {\n return (str.charAt(0).toUpperCase() + str.slice(1));\n}\n\nfunction _toss(name, expected, oper, arg, actual) {\n throw new assert.AssertionError({\n message: util.format('%s (%s) is required', name, expected),\n actual: (actual === undefined) ? typeof (arg) : actual(arg),\n expected: expected,\n operator: oper || '===',\n stackStartFunction: _toss.caller\n });\n}\n\nfunction _getClass(arg) {\n return (Object.prototype.toString.call(arg).slice(8, -1));\n}\n\nfunction noop() {\n // Why even bother with asserts?\n}\n\n\n///--- Exports\n\nvar types = {\n bool: {\n check: function (arg) { return typeof (arg) === 'boolean'; }\n },\n func: {\n check: function (arg) { return typeof (arg) === 'function'; }\n },\n string: {\n check: function (arg) { return typeof (arg) === 'string'; }\n },\n object: {\n check: function (arg) {\n return typeof (arg) === 'object' && arg !== null;\n }\n },\n number: {\n check: function (arg) {\n return typeof (arg) === 'number' && !isNaN(arg);\n }\n },\n finite: {\n check: function (arg) {\n return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg);\n }\n },\n buffer: {\n check: function (arg) { return Buffer.isBuffer(arg); },\n operator: 'Buffer.isBuffer'\n },\n array: {\n check: function (arg) { return Array.isArray(arg); },\n operator: 'Array.isArray'\n },\n stream: {\n check: function (arg) { return arg instanceof Stream; },\n operator: 'instanceof',\n actual: _getClass\n },\n date: {\n check: function (arg) { return arg instanceof Date; },\n operator: 'instanceof',\n actual: _getClass\n },\n regexp: {\n check: function (arg) { return arg instanceof RegExp; },\n operator: 'instanceof',\n actual: _getClass\n },\n uuid: {\n check: function (arg) {\n return typeof (arg) === 'string' && UUID_REGEXP.test(arg);\n },\n operator: 'isUUID'\n }\n};\n\nfunction _setExports(ndebug) {\n var keys = Object.keys(types);\n var out;\n\n /* re-export standard assert */\n if (process.env.NODE_NDEBUG) {\n out = noop;\n } else {\n out = function (arg, msg) {\n if (!arg) {\n _toss(msg, 'true', arg);\n }\n };\n }\n\n /* standard checks */\n keys.forEach(function (k) {\n if (ndebug) {\n out[k] = noop;\n return;\n }\n var type = types[k];\n out[k] = function (arg, msg) {\n if (!type.check(arg)) {\n _toss(msg, k, type.operator, arg, type.actual);\n }\n };\n });\n\n /* optional checks */\n keys.forEach(function (k) {\n var name = 'optional' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n out[name] = function (arg, msg) {\n if (arg === undefined || arg === null) {\n return;\n }\n if (!type.check(arg)) {\n _toss(msg, k, type.operator, arg, type.actual);\n }\n };\n });\n\n /* arrayOf checks */\n keys.forEach(function (k) {\n var name = 'arrayOf' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n var expected = '[' + k + ']';\n out[name] = function (arg, msg) {\n if (!Array.isArray(arg)) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n var i;\n for (i = 0; i < arg.length; i++) {\n if (!type.check(arg[i])) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n }\n };\n });\n\n /* optionalArrayOf checks */\n keys.forEach(function (k) {\n var name = 'optionalArrayOf' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n var expected = '[' + k + ']';\n out[name] = function (arg, msg) {\n if (arg === undefined || arg === null) {\n return;\n }\n if (!Array.isArray(arg)) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n var i;\n for (i = 0; i < arg.length; i++) {\n if (!type.check(arg[i])) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n }\n };\n });\n\n /* re-export built-in assertions */\n Object.keys(assert).forEach(function (k) {\n if (k === 'AssertionError') {\n out[k] = assert[k];\n return;\n }\n if (ndebug) {\n out[k] = noop;\n return;\n }\n out[k] = assert[k];\n });\n\n /* export ourselves (for unit tests _only_) */\n out._setExports = _setExports;\n\n return out;\n}\n\nmodule.exports = _setExports(process.env.NODE_NDEBUG);\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/assert-plus" }, { "id": "757", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/index.js", "source": "(function (exports, require, module, __filename, __dirname) { /*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar extractTypeRegExp = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar textTypeRegExp = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = extractTypeRegExp.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && textTypeRegExp.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = extractTypeRegExp.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types" }, { "id": "758", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db" }, { "id": "762", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/form-data/lib/form_data.js", "source": "(function (exports, require, module, __filename, __dirname) { var CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar populate = require('./populate.js');\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n */\nfunction FormData() {\n if (!(this instanceof FormData)) {\n return new FormData();\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n options = options || {};\n\n // allow filename as single option\n if (typeof options == 'string') {\n options = {filename: options};\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value == 'number') {\n value = '' + value;\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (util.isArray(value)) {\n // Please convert your array into string\n // the way web server expects it\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n var valueLength = 0;\n\n // used w/ getLengthSync(), when length is known.\n // e.g. for streaming directly from a remote server,\n // w/ a known file a size, and not wanting to wait for\n // incoming file to finish to get its size.\n if (options.knownLength != null) {\n valueLength += +options.knownLength;\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength +=\n Buffer.byteLength(header) +\n FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response\n if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) )) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n\n if (value.hasOwnProperty('fd')) {\n\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function(err, stat) {\n\n var fileSize;\n\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (value.hasOwnProperty('httpVersion')) {\n callback(null, +value.headers['content-length']);\n\n // or request stream http://github.com/mikeal/request\n } else if (value.hasOwnProperty('httpModule')) {\n // wait till response come back\n value.on('response', function(response) {\n value.pause();\n callback(null, +response.headers['content-length']);\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream');\n }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n // custom header specified (as string)?\n // it becomes responsible for boundary\n // (e.g. to handle extra CRLFs on .NET servers)\n if (typeof options.header == 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header == 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue;\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n var contentDisposition;\n\n // custom filename takes precedence\n // fs- and request- streams have path property\n // formidable and the browser add a name property.\n var filename = options.filename || value.name || value.path;\n\n // or try http response\n if (!filename && value.readable && value.hasOwnProperty('httpVersion')) {\n filename = value.client._httpMessage.path;\n }\n\n if (filename) {\n contentDisposition = 'filename=\"' + path.basename(filename) + '\"';\n }\n\n return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filename\n if (!contentType && options.filename) {\n contentType = mime.lookup(options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && typeof value == 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n return function(next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = (this._streams.length === 0);\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) {\n if (userHeaders.hasOwnProperty(header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.getBoundary = function() {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype._generateBoundary = function() {\n // This generates a 50 character boundary similar to those used by Firefox.\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n // so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n // Some async length retrievers are present\n // therefore synchronous length calculation is false.\n // Please use getLength(callback) to get proper length\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function(length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function(params, cb) {\n var request\n , options\n , defaults = {method: 'post'}\n ;\n\n // parse provided url if it's string\n // or treat it as options object\n if (typeof params == 'string') {\n\n params = parseUrl(params);\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname\n }, defaults);\n\n // use custom params\n } else {\n\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol == 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol == 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function(err, length) {\n if (err) {\n this._error(err);\n return;\n }\n\n // add content length\n request.setHeader('Content-Length', length);\n\n this.pipe(request);\n if (cb) {\n request.on('error', cb);\n request.on('response', cb.bind(this, null));\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function(err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/form-data" }, { "id": "763", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream/lib/combined_stream.js", "source": "(function (exports, require, module, __filename, __dirname) { var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream" }, { "id": "764", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js", "source": "(function (exports, require, module, __filename, __dirname) { var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream" }, { "id": "779", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/querystring.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar qs = require('qs')\n , querystring = require('querystring')\n\n\nfunction Querystring (request) {\n this.request = request\n this.lib = null\n this.useQuerystring = null\n this.parseOptions = null\n this.stringifyOptions = null\n}\n\nQuerystring.prototype.init = function (options) {\n if (this.lib) {return}\n\n this.useQuerystring = options.useQuerystring\n this.lib = (this.useQuerystring ? querystring : qs)\n\n this.parseOptions = options.qsParseOptions || {}\n this.stringifyOptions = options.qsStringifyOptions || {}\n}\n\nQuerystring.prototype.stringify = function (obj) {\n return (this.useQuerystring)\n ? this.rfc3986(this.lib.stringify(obj,\n this.stringifyOptions.sep || null,\n this.stringifyOptions.eq || null,\n this.stringifyOptions))\n : this.lib.stringify(obj, this.stringifyOptions)\n}\n\nQuerystring.prototype.parse = function (str) {\n return (this.useQuerystring)\n ? this.lib.parse(str,\n this.parseOptions.sep || null,\n this.parseOptions.eq || null,\n this.parseOptions)\n : this.lib.parse(str, this.parseOptions)\n}\n\nQuerystring.prototype.rfc3986 = function (str) {\n return str.replace(/[!'()*]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\nQuerystring.prototype.unescape = querystring.unescape\n\nexports.Querystring = Querystring\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request" }, { "id": "780", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/qs/lib/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/qs" }, { "id": "785", "url": "/usr/local/lib/node_modules/npm/node_modules/request/lib/har.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nvar fs = require('fs')\nvar qs = require('querystring')\nvar validate = require('har-validator')\nvar extend = require('extend')\n\nfunction Har (request) {\n this.request = request\n}\n\nHar.prototype.reducer = function (obj, pair) {\n // new property ?\n if (obj[pair.name] === undefined) {\n obj[pair.name] = pair.value\n return obj\n }\n\n // existing? convert to array\n var arr = [\n obj[pair.name],\n pair.value\n ]\n\n obj[pair.name] = arr\n\n return obj\n}\n\nHar.prototype.prep = function (data) {\n // construct utility properties\n data.queryObj = {}\n data.headersObj = {}\n data.postData.jsonObj = false\n data.postData.paramsObj = false\n\n // construct query objects\n if (data.queryString && data.queryString.length) {\n data.queryObj = data.queryString.reduce(this.reducer, {})\n }\n\n // construct headers objects\n if (data.headers && data.headers.length) {\n // loweCase header keys\n data.headersObj = data.headers.reduceRight(function (headers, header) {\n headers[header.name] = header.value\n return headers\n }, {})\n }\n\n // construct Cookie header\n if (data.cookies && data.cookies.length) {\n var cookies = data.cookies.map(function (cookie) {\n return cookie.name + '=' + cookie.value\n })\n\n if (cookies.length) {\n data.headersObj.cookie = cookies.join('; ')\n }\n }\n\n // prep body\n function some (arr) {\n return arr.some(function (type) {\n return data.postData.mimeType.indexOf(type) === 0\n })\n }\n\n if (some([\n 'multipart/mixed',\n 'multipart/related',\n 'multipart/form-data',\n 'multipart/alternative'])) {\n\n // reset values\n data.postData.mimeType = 'multipart/form-data'\n }\n\n else if (some([\n 'application/x-www-form-urlencoded'])) {\n\n if (!data.postData.params) {\n data.postData.text = ''\n } else {\n data.postData.paramsObj = data.postData.params.reduce(this.reducer, {})\n\n // always overwrite\n data.postData.text = qs.stringify(data.postData.paramsObj)\n }\n }\n\n else if (some([\n 'text/json',\n 'text/x-json',\n 'application/json',\n 'application/x-json'])) {\n\n data.postData.mimeType = 'application/json'\n\n if (data.postData.text) {\n try {\n data.postData.jsonObj = JSON.parse(data.postData.text)\n } catch (e) {\n this.request.debug(e)\n\n // force back to text/plain\n data.postData.mimeType = 'text/plain'\n }\n }\n }\n\n return data\n}\n\nHar.prototype.options = function (options) {\n // skip if no har property defined\n if (!options.har) {\n return options\n }\n\n var har = {}\n extend(har, options.har)\n\n // only process the first entry\n if (har.log && har.log.entries) {\n har = har.log.entries[0]\n }\n\n // add optional properties to make validation successful\n har.url = har.url || options.url || options.uri || options.baseUrl || '/'\n har.httpVersion = har.httpVersion || 'HTTP/1.1'\n har.queryString = har.queryString || []\n har.headers = har.headers || []\n har.cookies = har.cookies || []\n har.postData = har.postData || {}\n har.postData.mimeType = har.postData.mimeType || 'application/octet-stream'\n\n har.bodySize = 0\n har.headersSize = 0\n har.postData.size = 0\n\n if (!validate.request(har)) {\n return options\n }\n\n // clean up and get some utility properties\n var req = this.prep(har)\n\n // construct new options\n if (req.url) {\n options.url = req.url\n }\n\n if (req.method) {\n options.method = req.method\n }\n\n if (Object.keys(req.queryObj).length) {\n options.qs = req.queryObj\n }\n\n if (Object.keys(req.headersObj).length) {\n options.headers = req.headersObj\n }\n\n function test (type) {\n return req.postData.mimeType.indexOf(type) === 0\n }\n if (test('application/x-www-form-urlencoded')) {\n options.form = req.postData.paramsObj\n }\n else if (test('application/json')) {\n if (req.postData.jsonObj) {\n options.body = req.postData.jsonObj\n options.json = true\n }\n }\n else if (test('multipart/form-data')) {\n options.formData = {}\n\n req.postData.params.forEach(function (param) {\n var attachment = {}\n\n if (!param.fileName && !param.fileName && !param.contentType) {\n options.formData[param.name] = param.value\n return\n }\n\n // attempt to read from disk!\n if (param.fileName && !param.value) {\n attachment.value = fs.createReadStream(param.fileName)\n } else if (param.value) {\n attachment.value = param.value\n }\n\n if (param.fileName) {\n attachment.options = {\n filename: param.fileName,\n contentType: param.contentType ? param.contentType : null\n }\n }\n\n options.formData[param.name] = attachment\n })\n }\n else {\n if (req.postData.text) {\n options.body = req.postData.text\n }\n }\n\n return options\n}\n\nexports.Har = Har\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request" }, { "id": "786", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/lib/node4/promise.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = validate;\nexports.afterRequest = afterRequest;\nexports.beforeRequest = beforeRequest;\nexports.browser = browser;\nexports.cache = cache;\nexports.content = content;\nexports.cookie = cookie;\nexports.creator = creator;\nexports.entry = entry;\nexports.har = har;\nexports.header = header;\nexports.log = log;\nexports.page = page;\nexports.pageTimings = pageTimings;\nexports.postData = postData;\nexports.query = query;\nexports.request = request;\nexports.response = response;\nexports.timings = timings;\n\nvar _harSchema = require('har-schema');\n\nvar schemas = _interopRequireWildcard(_harSchema);\n\nvar _ajv = require('ajv');\n\nvar _ajv2 = _interopRequireDefault(_ajv);\n\nvar _error = require('./error');\n\nvar _error2 = _interopRequireDefault(_error);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar ajv = void 0;\n\nfunction validate(name) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // validator config\n ajv = ajv || new _ajv2.default({\n allErrors: true,\n schemas: schemas\n });\n\n var validate = ajv.getSchema(name + '.json');\n\n return new Promise(function (resolve, reject) {\n var valid = validate(data);\n\n !valid ? reject(new _error2.default(validate.errors)) : resolve(data);\n });\n}\n\nfunction afterRequest(data) {\n return validate('afterRequest', data);\n}\n\nfunction beforeRequest(data) {\n return validate('beforeRequest', data);\n}\n\nfunction browser(data) {\n return validate('browser', data);\n}\n\nfunction cache(data) {\n return validate('cache', data);\n}\n\nfunction content(data) {\n return validate('content', data);\n}\n\nfunction cookie(data) {\n return validate('cookie', data);\n}\n\nfunction creator(data) {\n return validate('creator', data);\n}\n\nfunction entry(data) {\n return validate('entry', data);\n}\n\nfunction har(data) {\n return validate('har', data);\n}\n\nfunction header(data) {\n return validate('header', data);\n}\n\nfunction log(data) {\n return validate('log', data);\n}\n\nfunction page(data) {\n return validate('page', data);\n}\n\nfunction pageTimings(data) {\n return validate('pageTimings', data);\n}\n\nfunction postData(data) {\n return validate('postData', data);\n}\n\nfunction query(data) {\n return validate('query', data);\n}\n\nfunction request(data) {\n return validate('request', data);\n}\n\nfunction response(data) {\n return validate('response', data);\n}\n\nfunction timings(data) {\n return validate('timings', data);\n}\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator" }, { "id": "787", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/har-schema/lib/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/har-schema" }, { "id": "788", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv/lib/ajv.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nvar compileSchema = require('./compile')\n , resolve = require('./compile/resolve')\n , Cache = require('./cache')\n , SchemaObject = require('./compile/schema_obj')\n , stableStringify = require('json-stable-stringify')\n , formats = require('./compile/formats')\n , rules = require('./compile/rules')\n , v5 = require('./v5')\n , util = require('./compile/util')\n , async = require('./async')\n , co = require('co');\n\nmodule.exports = Ajv;\n\nAjv.prototype.compileAsync = async.compile;\n\nvar customKeyword = require('./keyword');\nAjv.prototype.addKeyword = customKeyword.add;\nAjv.prototype.getKeyword = customKeyword.get;\nAjv.prototype.removeKeyword = customKeyword.remove;\nAjv.ValidationError = require('./compile/validation_error');\n\nvar META_SCHEMA_ID = 'http://json-schema.org/draft-04/schema';\nvar SCHEMA_URI_FORMAT = /^(?:(?:[a-z][a-z0-9+-.]*:)?\\/\\/)?[^\\s]*$/i;\nfunction SCHEMA_URI_FORMAT_FUNC(str) {\n return SCHEMA_URI_FORMAT.test(str);\n}\n\nvar META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes' ];\n\n/**\n * Creates validator instance.\n * Usage: `Ajv(opts)`\n * @param {Object} opts optional options\n * @return {Object} ajv instance\n */\nfunction Ajv(opts) {\n if (!(this instanceof Ajv)) return new Ajv(opts);\n var self = this;\n\n opts = this._opts = util.copy(opts) || {};\n this._schemas = {};\n this._refs = {};\n this._fragments = {};\n this._formats = formats(opts.format);\n this._cache = opts.cache || new Cache;\n this._loadingSchemas = {};\n this._compilations = [];\n this.RULES = rules();\n\n // this is done on purpose, so that methods are bound to the instance\n // (without using bind) so that they can be used without the instance\n this.validate = validate;\n this.compile = compile;\n this.addSchema = addSchema;\n this.addMetaSchema = addMetaSchema;\n this.validateSchema = validateSchema;\n this.getSchema = getSchema;\n this.removeSchema = removeSchema;\n this.addFormat = addFormat;\n this.errorsText = errorsText;\n\n this._addSchema = _addSchema;\n this._compile = _compile;\n\n opts.loopRequired = opts.loopRequired || Infinity;\n if (opts.async || opts.transpile) async.setup(opts);\n if (opts.beautify === true) opts.beautify = { indent_size: 2 };\n if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true;\n this._metaOpts = getMetaSchemaOptions();\n\n if (opts.formats) addInitialFormats();\n addDraft4MetaSchema();\n if (opts.v5) v5.enable(this);\n if (typeof opts.meta == 'object') addMetaSchema(opts.meta);\n addInitialSchemas();\n\n\n /**\n * Validate data using schema\n * Schema will be compiled and cached (using serialized JSON as key. [json-stable-stringify](https://github.com/substack/json-stable-stringify) is used to serialize.\n * @param {String|Object} schemaKeyRef key, ref or schema object\n * @param {Any} data to be validated\n * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).\n */\n function validate(schemaKeyRef, data) {\n var v;\n if (typeof schemaKeyRef == 'string') {\n v = getSchema(schemaKeyRef);\n if (!v) throw new Error('no schema with key or ref \"' + schemaKeyRef + '\"');\n } else {\n var schemaObj = _addSchema(schemaKeyRef);\n v = schemaObj.validate || _compile(schemaObj);\n }\n\n var valid = v(data);\n if (v.$async === true)\n return self._opts.async == '*' ? co(valid) : valid;\n self.errors = v.errors;\n return valid;\n }\n\n\n /**\n * Create validating function for passed schema.\n * @param {Object} schema schema object\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords.\n * @return {Function} validating function\n */\n function compile(schema, _meta) {\n var schemaObj = _addSchema(schema, undefined, _meta);\n return schemaObj.validate || _compile(schemaObj);\n }\n\n\n /**\n * Adds schema to the instance.\n * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.\n * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.\n * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead.\n * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead.\n */\n function addSchema(schema, key, _skipValidation, _meta) {\n if (Array.isArray(schema)){\n for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used.\n * @param {Object} options optional options with properties `separator` and `dataVar`.\n * @return {String} human readable string with all errors descriptions\n */\n function errorsText(errors, options) {\n errors = errors || self.errors;\n if (!errors) return 'No errors';\n options = options || {};\n var separator = options.separator === undefined ? ', ' : options.separator;\n var dataVar = options.dataVar === undefined ? 'data' : options.dataVar;\n\n var text = '';\n for (var i=0; i= 0) return { index: index, compiling: true };\n index = this._compilations.length;\n this._compilations[index] = {\n schema: schema,\n root: root,\n baseId: baseId\n };\n return { index: index, compiling: false };\n}\n\n\n/**\n * Removes the schema from the currently compiled list\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n */\nfunction endCompiling(schema, root, baseId) {\n /* jshint validthis: true */\n var i = compIndex.call(this, schema, root, baseId);\n if (i >= 0) this._compilations.splice(i, 1);\n}\n\n\n/**\n * Index of schema compilation in the currently compiled list\n * @this Ajv\n * @param {Object} schema schema to compile\n * @param {Object} root root object\n * @param {String} baseId base schema ID\n * @return {Integer} compilation index\n */\nfunction compIndex(schema, root, baseId) {\n /* jshint validthis: true */\n for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl);\n return paths[lvl - up];\n }\n\n if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl);\n data = 'data' + ((lvl - up) || '');\n if (!jsonPointer) return data;\n }\n\n var expr = data;\n var segments = jsonPointer.split('/');\n for (var i=0; i*/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar processNextTick = require('process-nextick-args');\n/**/\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\nvar keys = objectKeys(Writable.prototype);\nfor (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n processNextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nfunction forEach(xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream" }, { "id": "834", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = get\n\nvar assert = require('assert')\nvar url = require('url')\n\n/*\n * This is meant to be overridden in specific implementations if you\n * want specialized behavior for metadata (i.e. caching).\n */\nfunction get (uri, params, cb) {\n assert(typeof uri === 'string', 'must pass registry URI to get')\n assert(params && typeof params === 'object', 'must pass params to get')\n assert(typeof cb === 'function', 'must pass callback to get')\n\n var parsed = url.parse(uri)\n assert(\n parsed.protocol === 'http:' || parsed.protocol === 'https:',\n 'must have a URL that starts with http: or https:'\n )\n\n this.request(uri, params, cb)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client" }, { "id": "851", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = regRequest\n\n// npm: means\n// 1. https\n// 2. send authorization\n// 3. content-type is 'application/json' -- metadata\n//\nvar assert = require('assert')\nvar url = require('url')\nvar zlib = require('zlib')\nvar Stream = require('stream').Stream\nvar STATUS_CODES = require('http').STATUS_CODES\n\nvar request = require('request')\nvar once = require('once')\n\nfunction regRequest (uri, params, cb_) {\n assert(typeof uri === 'string', 'must pass uri to request')\n assert(params && typeof params === 'object', 'must pass params to request')\n assert(typeof cb_ === 'function', 'must pass callback to request')\n\n params.method = params.method || 'GET'\n this.log.verbose('request', 'uri', uri)\n\n // Since there are multiple places where an error could occur,\n // don't let the cb be called more than once.\n var cb = once(cb_)\n\n if (uri.match(/^\\/?favicon.ico/)) {\n return cb(new Error(\"favicon.ico isn't a package, it's a picture.\"))\n }\n\n var adduserChange = /\\/?-\\/user\\/org\\.couchdb\\.user:([^/]+)\\/-rev/\n var isUserChange = uri.match(adduserChange)\n var adduserNew = /\\/?-\\/user\\/org\\.couchdb\\.user:([^/?]+)$/\n var isNewUser = uri.match(adduserNew)\n var alwaysAuth = params.auth && params.auth.alwaysAuth\n var isDelete = params.method === 'DELETE'\n var isWrite = params.body || isDelete\n\n if (isUserChange && !isWrite) {\n return cb(new Error('trying to change user document without writing(?!)'))\n }\n\n if (params.authed == null) {\n // new users can *not* use auth, because they don't *have* auth yet\n if (isUserChange) {\n this.log.verbose('request', 'updating existing user; sending authorization')\n params.authed = true\n } else if (isNewUser) {\n this.log.verbose('request', \"new user, so can't send auth\")\n params.authed = false\n } else if (alwaysAuth) {\n this.log.verbose('request', 'always-auth set; sending authorization')\n params.authed = true\n } else if (isWrite) {\n this.log.verbose('request', 'sending authorization for write operation')\n params.authed = true\n } else {\n // most of the time we don't want to auth\n this.log.verbose('request', 'no auth needed')\n params.authed = false\n }\n }\n\n var self = this\n this.attempt(function (operation) {\n makeRequest.call(self, uri, params, function (er, parsed, raw, response) {\n if (response) {\n self.log.verbose('headers', response.headers)\n if (response.headers['npm-notice']) {\n self.log.warn('notice', response.headers['npm-notice'])\n }\n }\n\n if (!er || (er.message && er.message.match(/^SSL Error/))) {\n if (er) er.code = 'ESSL'\n return cb(er, parsed, raw, response)\n }\n\n // Only retry on 408, 5xx or no `response`.\n var statusCode = response && response.statusCode\n\n var timeout = statusCode === 408\n var serverError = statusCode >= 500\n var statusRetry = !statusCode || timeout || serverError\n if (er && statusRetry && operation.retry(er)) {\n self.log.info('retry', 'will retry, error on last attempt: ' + er)\n return undefined\n }\n cb.apply(null, arguments)\n })\n })\n}\n\nfunction makeRequest (uri, params, cb_) {\n var socket\n var cb = once(function (er, parsed, raw, response) {\n if (socket) {\n // The socket might be returned to a pool for re-use, so don’t keep\n // the 'error' listener from here attached.\n socket.removeListener('error', cb)\n }\n\n return cb_(er, parsed, raw, response)\n })\n\n var parsed = url.parse(uri)\n var headers = {}\n\n // metadata should be compressed\n headers['accept-encoding'] = 'gzip'\n\n // metadata should be minified, if the registry supports it\n\n var er = this.authify(params.authed, parsed, headers, params.auth)\n if (er) return cb_(er)\n\n var useCorgi = params.fullMetadata == null ? false : !params.fullMetadata\n\n var opts = this.initialize(\n parsed,\n params.method,\n useCorgi ? 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*' : 'application/json',\n headers\n )\n\n opts.followRedirect = (typeof params.follow === 'boolean' ? params.follow : true)\n opts.encoding = null // tell request let body be Buffer instance\n\n if (params.etag) {\n this.log.verbose('etag', params.etag)\n headers[params.method === 'GET' ? 'if-none-match' : 'if-match'] = params.etag\n }\n\n if (params.lastModified && params.method === 'GET') {\n this.log.verbose('lastModified', params.lastModified)\n headers['if-modified-since'] = params.lastModified\n }\n\n // figure out wth body is\n if (params.body) {\n if (Buffer.isBuffer(params.body)) {\n opts.body = params.body\n headers['content-type'] = 'application/json'\n headers['content-length'] = params.body.length\n } else if (typeof params.body === 'string') {\n opts.body = params.body\n headers['content-type'] = 'application/json'\n headers['content-length'] = Buffer.byteLength(params.body)\n } else if (params.body instanceof Stream) {\n headers['content-type'] = 'application/octet-stream'\n if (params.body.size) headers['content-length'] = params.body.size\n } else {\n delete params.body._etag\n delete params.body._lastModified\n opts.json = params.body\n }\n }\n\n this.log.http('request', params.method, parsed.href || '/')\n\n var done = requestDone.call(this, params.method, uri, cb)\n var req = request(opts, params.streaming ? undefined : decodeResponseBody(done))\n\n req.on('error', cb)\n\n // This should not be necessary, as the HTTP implementation in Node\n // passes errors occurring on the socket to the request itself. Being overly\n // cautious comes at a low cost, though.\n req.on('socket', function (s) {\n socket = s\n socket.on('error', cb)\n })\n\n if (params.streaming) {\n req.on('response', function (response) {\n if (response.statusCode >= 400) {\n var parts = []\n response.on('data', function (data) {\n parts.push(data)\n })\n response.on('end', function () {\n decodeResponseBody(done)(null, response, Buffer.concat(parts))\n })\n } else {\n response.on('end', function () {\n // don't ever re-use connections that had server errors.\n // those sockets connect to the Bad Place!\n if (response.socket && response.statusCode > 500) {\n response.socket.destroy()\n }\n })\n\n return cb(null, response)\n }\n })\n }\n\n if (params.body && (params.body instanceof Stream)) {\n params.body.pipe(req)\n }\n}\n\nfunction decodeResponseBody (cb) {\n return function (er, response, data) {\n if (er) return cb(er, response, data)\n\n // don't ever re-use connections that had server errors.\n // those sockets connect to the Bad Place!\n if (response.socket && response.statusCode > 500) {\n response.socket.destroy()\n }\n\n if (response.headers['content-encoding'] !== 'gzip') {\n return cb(er, response, data)\n }\n\n zlib.gunzip(data, function (er, buf) {\n if (er) return cb(er, response, data)\n\n cb(null, response, buf)\n })\n }\n}\n\n// cb(er, parsed, raw, response)\nfunction requestDone (method, where, cb) {\n return function (er, response, data) {\n if (er) return cb(er)\n\n var urlObj = url.parse(where)\n if (urlObj.auth) urlObj.auth = '***'\n this.log.http(response.statusCode, url.format(urlObj))\n\n if (Buffer.isBuffer(data)) {\n data = data.toString()\n }\n\n var parsed\n if (data && typeof data === 'string' && response.statusCode !== 304) {\n try {\n parsed = JSON.parse(data)\n } catch (ex) {\n ex.message += '\\n' + data\n this.log.verbose('bad json', data)\n this.log.error('registry', 'error parsing json')\n return cb(ex, null, data, response)\n }\n } else if (data) {\n parsed = data\n data = JSON.stringify(parsed)\n }\n\n // expect data with any error codes\n if (!data && response.statusCode >= 400) {\n var code = response.statusCode\n return cb(\n makeError(code + ' ' + STATUS_CODES[code], null, code),\n null,\n data,\n response\n )\n }\n\n er = null\n if (parsed && response.headers.etag) {\n parsed._etag = response.headers.etag\n }\n\n if (parsed && response.headers['last-modified']) {\n parsed._lastModified = response.headers['last-modified']\n }\n\n // for the search endpoint, the 'error' property can be an object\n if ((parsed && parsed.error && typeof parsed.error !== 'object') ||\n response.statusCode >= 400) {\n var w = url.parse(where).pathname.substr(1)\n var name\n if (!w.match(/^-/)) {\n w = w.split('/')\n name = decodeURIComponent(w[w.indexOf('_rewrite') + 1])\n }\n\n if (!parsed.error) {\n er = makeError(\n 'Registry returned ' + response.statusCode +\n ' for ' + method +\n ' on ' + where,\n name,\n response.statusCode\n )\n } else if (name && parsed.error === 'not_found') {\n er = makeError('404 Not Found: ' + name, name, response.statusCode)\n } else {\n er = makeError(\n parsed.error + ' ' + (parsed.reason || '') + ': ' + (name || w),\n name,\n response.statusCode\n )\n }\n }\n return cb(er, parsed, data, response)\n }.bind(this)\n}\n\nfunction makeError (message, name, code) {\n var er = new Error(message)\n if (name) er.pkgid = name\n if (code) {\n er.statusCode = code\n er.code = 'E' + code\n }\n return er\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client" }, { "id": "669", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/attempt.js", "source": "(function (exports, require, module, __filename, __dirname) { var retry = require('retry')\n\nmodule.exports = attempt\n\nfunction attempt (cb) {\n // Tuned to spread 3 attempts over about a minute.\n // See formula at .\n var operation = retry.operation(this.config.retry)\n\n var client = this\n operation.attempt(function (currentAttempt) {\n client.log.info(\n 'attempt',\n 'registry request try #' + currentAttempt +\n ' at ' + (new Date()).toLocaleTimeString()\n )\n\n cb(operation)\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client" }, { "id": "671", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry/lib/retry.js", "source": "(function (exports, require, module, __filename, __dirname) { var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && options.forever,\n unref: options && options.unref\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper() {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n };\n obj[method].options = options;\n }\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry" }, { "id": "672", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry/lib/retry_operation.js", "source": "(function (exports, require, module, __filename, __dirname) { function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._timeouts = timeouts;\n this._options = options || {};\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(this._errors.length - 1, this._errors.length);\n this._timeouts = this._cachedTimeouts.slice(0);\n timeout = this._timeouts.shift();\n } else {\n return false;\n }\n }\n\n var self = this;\n var timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (this._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry" }, { "id": "760", "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/caseless/index.js", "source": "(function (exports, require, module, __filename, __dirname) { function Caseless (dict) {\n this.dict = dict || {}\n}\nCaseless.prototype.set = function (name, value, clobber) {\n if (typeof name === 'object') {\n for (var i in name) {\n this.set(i, name[i], value)\n }\n } else {\n if (typeof clobber === 'undefined') clobber = true\n var has = this.has(name)\n\n if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value\n else this.dict[has || name] = value\n return has\n }\n}\nCaseless.prototype.has = function (name) {\n var keys = Object.keys(this.dict)\n , name = name.toLowerCase()\n ;\n for (var i=0;i \n//\n// See doc/cli/npm-install.md for more description\n//\n// Managing contexts...\n// there's a lot of state associated with an \"install\" operation, including\n// packages that are already installed, parent packages, current shrinkwrap, and\n// so on. We maintain this state in a \"context\" object that gets passed around.\n// every time we dive into a deeper node_modules folder, the \"family\" list that\n// gets passed along uses the previous \"family\" list as its __proto__. Any\n// \"resolved precise dependency\" things that aren't already on this object get\n// added, and then that's passed to the next generation of installation.\n\nmodule.exports = install\nmodule.exports.Installer = Installer\n\nvar usage = require('./utils/usage')\n\ninstall.usage = usage(\n 'install',\n '\\nnpm install (with no args, in package dir)' +\n '\\nnpm install [<@scope>/]' +\n '\\nnpm install [<@scope>/]@' +\n '\\nnpm install [<@scope>/]@' +\n '\\nnpm install [<@scope>/]@' +\n '\\nnpm install ' +\n '\\nnpm install ' +\n '\\nnpm install ' +\n '\\nnpm install ' +\n '\\nnpm install /',\n '[--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]'\n)\n\ninstall.completion = function (opts, cb) {\n validate('OF', arguments)\n // install can complete to a folder with a package.json, or any package.\n // if it has a slash, then it's gotta be a folder\n // if it starts with https?://, then just give up, because it's a url\n if (/^https?:\\/\\//.test(opts.partialWord)) {\n // do not complete to URLs\n return cb(null, [])\n }\n\n if (/\\//.test(opts.partialWord)) {\n // Complete fully to folder if there is exactly one match and it\n // is a folder containing a package.json file. If that is not the\n // case we return 0 matches, which will trigger the default bash\n // complete.\n var lastSlashIdx = opts.partialWord.lastIndexOf('/')\n var partialName = opts.partialWord.slice(lastSlashIdx + 1)\n var partialPath = opts.partialWord.slice(0, lastSlashIdx)\n if (partialPath === '') partialPath = '/'\n\n var annotatePackageDirMatch = function (sibling, cb) {\n var fullPath = path.join(partialPath, sibling)\n if (sibling.slice(0, partialName.length) !== partialName) {\n return cb(null, null) // not name match\n }\n fs.readdir(fullPath, function (err, contents) {\n if (err) return cb(null, { isPackage: false })\n\n cb(\n null,\n {\n fullPath: fullPath,\n isPackage: contents.indexOf('package.json') !== -1\n }\n )\n })\n }\n\n return fs.readdir(partialPath, function (err, siblings) {\n if (err) return cb(null, []) // invalid dir: no matching\n\n asyncMap(siblings, annotatePackageDirMatch, function (err, matches) {\n if (err) return cb(err)\n\n var cleaned = matches.filter(function (x) { return x !== null })\n if (cleaned.length !== 1) return cb(null, [])\n if (!cleaned[0].isPackage) return cb(null, [])\n\n // Success - only one match and it is a package dir\n return cb(null, [cleaned[0].fullPath])\n })\n })\n }\n\n // FIXME: there used to be registry completion here, but it stopped making\n // sense somewhere around 50,000 packages on the registry\n cb()\n}\n\n// system packages\nvar fs = require('fs')\nvar path = require('path')\n\n// dependencies\nvar log = require('npmlog')\nvar readPackageTree = require('read-package-tree')\nvar readPackageJson = require('read-package-json')\nvar chain = require('slide').chain\nvar asyncMap = require('slide').asyncMap\nvar archy = require('archy')\nvar mkdirp = require('mkdirp')\nvar rimraf = require('rimraf')\nvar iferr = require('iferr')\nvar validate = require('aproba')\n\n// npm internal utils\nvar npm = require('./npm.js')\nvar locker = require('./utils/locker.js')\nvar lock = locker.lock\nvar unlock = locker.unlock\nvar parseJSON = require('./utils/parse-json.js')\nvar output = require('./utils/output.js')\nvar saveMetrics = require('./utils/metrics.js').save\n\n// install specific libraries\nvar copyTree = require('./install/copy-tree.js')\nvar readShrinkwrap = require('./install/read-shrinkwrap.js')\nvar computeMetadata = require('./install/deps.js').computeMetadata\nvar prefetchDeps = require('./install/deps.js').prefetchDeps\nvar loadDeps = require('./install/deps.js').loadDeps\nvar loadDevDeps = require('./install/deps.js').loadDevDeps\nvar getAllMetadata = require('./install/deps.js').getAllMetadata\nvar loadRequestedDeps = require('./install/deps.js').loadRequestedDeps\nvar loadExtraneous = require('./install/deps.js').loadExtraneous\nvar diffTrees = require('./install/diff-trees.js')\nvar checkPermissions = require('./install/check-permissions.js')\nvar decomposeActions = require('./install/decompose-actions.js')\nvar validateTree = require('./install/validate-tree.js')\nvar validateArgs = require('./install/validate-args.js')\nvar saveRequested = require('./install/save.js').saveRequested\nvar getSaveType = require('./install/save.js').getSaveType\nvar doSerialActions = require('./install/actions.js').doSerial\nvar doReverseSerialActions = require('./install/actions.js').doReverseSerial\nvar doParallelActions = require('./install/actions.js').doParallel\nvar doOneAction = require('./install/actions.js').doOne\nvar removeObsoleteDep = require('./install/deps.js').removeObsoleteDep\nvar removeExtraneous = require('./install/deps.js').removeExtraneous\nvar computeVersionSpec = require('./install/deps.js').computeVersionSpec\nvar packageId = require('./utils/package-id.js')\nvar moduleName = require('./utils/module-name.js')\nvar errorMessage = require('./utils/error-message.js')\nvar isExtraneous = require('./install/is-extraneous.js')\n\nfunction unlockCB (lockPath, name, cb) {\n validate('SSF', arguments)\n return function (installEr) {\n var args = arguments\n try {\n unlock(lockPath, name, reportErrorAndReturn)\n } catch (unlockEx) {\n process.nextTick(function () {\n reportErrorAndReturn(unlockEx)\n })\n }\n function reportErrorAndReturn (unlockEr) {\n if (installEr) {\n if (unlockEr && unlockEr.code !== 'ENOTLOCKED') {\n log.warn('unlock' + name, unlockEr)\n }\n return cb.apply(null, args)\n }\n if (unlockEr) return cb(unlockEr)\n return cb.apply(null, args)\n }\n }\n}\n\nfunction install (where, args, cb) {\n if (!cb) {\n cb = args\n args = where\n where = null\n }\n var globalTop = path.resolve(npm.globalDir, '..')\n if (!where) {\n where = npm.config.get('global')\n ? globalTop\n : npm.prefix\n }\n validate('SAF', [where, args, cb])\n // the /path/to/node_modules/..\n var dryrun = !!npm.config.get('dry-run')\n\n if (npm.config.get('dev')) {\n log.warn('install', 'Usage of the `--dev` option is deprecated. Use `--only=dev` instead.')\n }\n\n if (where === globalTop && !args.length) {\n args = ['.']\n }\n args = args.filter(function (a) {\n return path.resolve(a) !== npm.prefix\n })\n\n new Installer(where, dryrun, args).run(cb)\n}\n\nfunction Installer (where, dryrun, args) {\n validate('SBA', arguments)\n this.where = where\n this.dryrun = dryrun\n this.args = args\n // fakechildren are children created from the lockfile and lack relationship data\n // the only exist when the tree does not match the lockfile\n // this is fine when doing full tree installs/updates but not ok when modifying only\n // a few deps via `npm install` or `npm uninstall`.\n this.fakeChildren = true\n this.currentTree = null\n this.idealTree = null\n this.differences = []\n this.todo = []\n this.progress = {}\n this.noPackageJsonOk = !!args.length\n this.topLevelLifecycles = !args.length\n this.dev = npm.config.get('dev') || (!/^prod(uction)?$/.test(npm.config.get('only')) && !npm.config.get('production')) || /^dev(elopment)?$/.test(npm.config.get('only'))\n this.prod = !/^dev(elopment)?$/.test(npm.config.get('only'))\n this.rollback = npm.config.get('rollback')\n this.link = npm.config.get('link')\n this.global = this.where === path.resolve(npm.globalDir, '..')\n this.started = Date.now()\n}\nInstaller.prototype = {}\n\nInstaller.prototype.run = function (_cb) {\n validate('F', arguments)\n\n var cb = function (err) {\n saveMetrics(!err)\n return _cb.apply(this, arguments)\n }\n\n // FIXME: This is bad and I should feel bad.\n // lib/install needs to have some way of sharing _limited_\n // state with the things it calls. Passing the object is too\n // much. The global config is WAY too much. =( =(\n // But not having this is gonna break linked modules in\n // subtle stupid ways, and refactoring all this code isn't\n // the right thing to do just yet.\n if (this.global) {\n var prevGlobal = npm.config.get('global')\n npm.config.set('global', true)\n var next = cb\n cb = function () {\n npm.config.set('global', prevGlobal)\n next.apply(null, arguments)\n }\n }\n\n var installSteps = []\n var postInstallSteps = []\n if (!this.dryrun) {\n installSteps.push(\n [this.newTracker(log, 'runTopLevelLifecycles', 2)],\n [this, this.runPreinstallTopLevelLifecycles])\n }\n installSteps.push(\n [this.newTracker(log, 'loadCurrentTree', 4)],\n [this, this.loadCurrentTree],\n [this, this.finishTracker, 'loadCurrentTree'],\n\n [this.newTracker(log, 'loadIdealTree', 12)],\n [this, this.loadIdealTree],\n [this, this.finishTracker, 'loadIdealTree'],\n\n [this, this.debugTree, 'currentTree', 'currentTree'],\n [this, this.debugTree, 'idealTree', 'idealTree'],\n\n [this.newTracker(log, 'generateActionsToTake')],\n [this, this.generateActionsToTake],\n [this, this.finishTracker, 'generateActionsToTake'],\n\n [this, this.debugActions, 'diffTrees', 'differences'],\n [this, this.debugActions, 'decomposeActions', 'todo'])\n if (!this.dryrun) {\n installSteps.push(\n [this.newTracker(log, 'executeActions', 8)],\n [this, this.executeActions],\n [this, this.finishTracker, 'executeActions'])\n var node_modules = path.resolve(this.where, 'node_modules')\n var staging = path.resolve(node_modules, '.staging')\n postInstallSteps.push(\n [this.newTracker(log, 'rollbackFailedOptional', 1)],\n [this, this.rollbackFailedOptional, staging, this.todo],\n [this, this.finishTracker, 'rollbackFailedOptional'],\n [this, this.commit, staging, this.todo],\n\n [this, this.runPostinstallTopLevelLifecycles],\n [this, this.finishTracker, 'runTopLevelLifecycles']\n )\n if (getSaveType()) {\n postInstallSteps.push(\n // this is necessary as we don't fill in `dependencies` and `devDependencies` in deps loaded from shrinkwrap\n // until after we extract them\n [this, (next) => { computeMetadata(this.idealTree); next() }],\n [this, this.saveToDependencies])\n }\n }\n postInstallSteps.push(\n [this, this.printWarnings],\n [this, this.printInstalled])\n\n var self = this\n chain(installSteps, function (installEr) {\n if (installEr) self.failing = true\n chain(postInstallSteps, function (postInstallEr) {\n if (installEr && postInstallEr) {\n var msg = errorMessage(postInstallEr)\n msg.summary.forEach(function (logline) {\n log.warn.apply(log, logline)\n })\n msg.detail.forEach(function (logline) {\n log.verbose.apply(log, logline)\n })\n }\n cb(installEr || postInstallEr, self.getInstalledModules(), self.idealTree)\n })\n })\n}\n\nInstaller.prototype.loadArgMetadata = function (next) {\n getAllMetadata(this.args, this.currentTree, process.cwd(), iferr(next, (args) => {\n this.args = args\n if (args.length) this.fakeChildren = false\n next()\n }))\n}\n\nInstaller.prototype.newTracker = function (tracker, name, size) {\n validate('OS', [tracker, name])\n if (size) validate('N', [size])\n this.progress[name] = tracker.newGroup(name, size)\n return function (next) {\n process.emit('time', 'stage:' + name)\n next()\n }\n}\n\nInstaller.prototype.finishTracker = function (name, cb) {\n validate('SF', arguments)\n process.emit('timeEnd', 'stage:' + name)\n cb()\n}\n\nInstaller.prototype.loadCurrentTree = function (cb) {\n validate('F', arguments)\n log.silly('install', 'loadCurrentTree')\n var todo = []\n if (this.global) {\n todo.push([this, this.readGlobalPackageData])\n } else {\n todo.push([this, this.readLocalPackageData])\n }\n todo.push([this, this.normalizeCurrentTree])\n chain(todo, cb)\n}\n\nvar createNode = require('./install/node.js').create\nvar flatNameFromTree = require('./install/flatten-tree.js').flatNameFromTree\nInstaller.prototype.normalizeCurrentTree = function (cb) {\n this.currentTree.isTop = true\n normalizeTree(this.currentTree)\n // If the user didn't have a package.json then fill in deps with what was on disk\n if (this.currentTree.error) {\n for (let child of this.currentTree.children) {\n if (!child.fakeChild && isExtraneous(child)) {\n this.currentTree.package.dependencies[child.package.name] = computeVersionSpec(this.currentTree, child)\n }\n }\n }\n return cb()\n\n function normalizeTree (tree) {\n createNode(tree)\n tree.location = flatNameFromTree(tree)\n tree.children.forEach(normalizeTree)\n }\n}\n\nInstaller.prototype.loadIdealTree = function (cb) {\n validate('F', arguments)\n log.silly('install', 'loadIdealTree')\n\n chain([\n [this.newTracker(this.progress.loadIdealTree, 'loadIdealTree:cloneCurrentTree')],\n [this, this.cloneCurrentTreeToIdealTree],\n [this, this.finishTracker, 'loadIdealTree:cloneCurrentTree'],\n\n [this.newTracker(this.progress.loadIdealTree, 'loadIdealTree:loadShrinkwrap')],\n [this, this.loadShrinkwrap],\n [this, this.finishTracker, 'loadIdealTree:loadShrinkwrap'],\n\n [this.newTracker(this.progress.loadIdealTree, 'loadIdealTree:loadAllDepsIntoIdealTree', 10)],\n [this, this.loadAllDepsIntoIdealTree],\n [this, this.finishTracker, 'loadIdealTree:loadAllDepsIntoIdealTree'],\n [this, function (next) { computeMetadata(this.idealTree); next() }],\n [this, this.pruneIdealTree]\n ], cb)\n}\n\nInstaller.prototype.pruneIdealTree = function (cb) {\n var toPrune = this.idealTree.children\n .filter((n) => !n.fakeChild && isExtraneous(n))\n .map((n) => ({name: moduleName(n)}))\n return removeExtraneous(toPrune, this.idealTree, cb)\n}\n\nInstaller.prototype.loadAllDepsIntoIdealTree = function (cb) {\n validate('F', arguments)\n log.silly('install', 'loadAllDepsIntoIdealTree')\n var saveDeps = getSaveType()\n\n var cg = this.progress['loadIdealTree:loadAllDepsIntoIdealTree']\n var installNewModules = !!this.args.length\n var steps = []\n\n const depsToPreload = Object.assign({},\n this.dev ? this.idealTree.package.devDependencies : {},\n this.prod ? this.idealTree.package.dependencies : {}\n )\n if (installNewModules) {\n steps.push([validateArgs, this.idealTree, this.args])\n steps.push([loadRequestedDeps, this.args, this.idealTree, saveDeps, cg.newGroup('loadRequestedDeps')])\n } else {\n if (this.prod || this.dev) {\n steps.push(\n [prefetchDeps, this.idealTree, depsToPreload, cg.newGroup('prefetchDeps')])\n }\n if (this.prod) {\n steps.push(\n [loadDeps, this.idealTree, cg.newGroup('loadDeps')])\n }\n if (this.dev) {\n steps.push(\n [loadDevDeps, this.idealTree, cg.newGroup('loadDevDeps')])\n }\n }\n steps.push(\n [loadExtraneous.andResolveDeps, this.idealTree, cg.newGroup('loadExtraneous')])\n chain(steps, cb)\n}\n\nInstaller.prototype.generateActionsToTake = function (cb) {\n validate('F', arguments)\n log.silly('install', 'generateActionsToTake')\n var cg = this.progress.generateActionsToTake\n chain([\n [validateTree, this.idealTree, cg.newGroup('validateTree')],\n [diffTrees, this.currentTree, this.idealTree, this.differences, cg.newGroup('diffTrees')],\n [this, this.computeLinked],\n [checkPermissions, this.differences],\n [decomposeActions, this.differences, this.todo]\n ], cb)\n}\n\nInstaller.prototype.computeLinked = function (cb) {\n validate('F', arguments)\n if (!this.link || this.global) return cb()\n var linkTodoList = []\n var self = this\n asyncMap(this.differences, function (action, next) {\n var cmd = action[0]\n var pkg = action[1]\n if (cmd !== 'add' && cmd !== 'update') return next()\n var isReqByTop = pkg.requiredBy.filter(function (mod) { return mod.isTop }).length\n var isReqByUser = pkg.userRequired\n var isExtraneous = pkg.requiredBy.length === 0\n if (!isReqByTop && !isReqByUser && !isExtraneous) return next()\n isLinkable(pkg, function (install, link) {\n if (install) linkTodoList.push(['global-install', pkg])\n if (link) linkTodoList.push(['global-link', pkg])\n if (install || link) removeObsoleteDep(pkg)\n next()\n })\n }, function () {\n if (linkTodoList.length === 0) return cb()\n self.differences.length = 0\n Array.prototype.push.apply(self.differences, linkTodoList)\n diffTrees(self.currentTree, self.idealTree, self.differences, log.newGroup('d2'), cb)\n })\n}\n\nfunction isLinkable (pkg, cb) {\n var globalPackage = path.resolve(npm.globalPrefix, 'lib', 'node_modules', moduleName(pkg))\n var globalPackageJson = path.resolve(globalPackage, 'package.json')\n fs.stat(globalPackage, function (er) {\n if (er) return cb(true, true)\n fs.readFile(globalPackageJson, function (er, data) {\n var json = parseJSON.noExceptions(data)\n cb(false, json && json.version === pkg.package.version)\n })\n })\n}\n\nInstaller.prototype.executeActions = function (cb) {\n validate('F', arguments)\n log.silly('install', 'executeActions')\n var todo = this.todo\n var cg = this.progress.executeActions\n\n var node_modules = path.resolve(this.where, 'node_modules')\n var staging = path.resolve(node_modules, '.staging')\n var steps = []\n var trackLifecycle = cg.newGroup('lifecycle')\n\n cb = unlockCB(node_modules, '.staging', cb)\n\n steps.push(\n [doSerialActions, 'global-install', staging, todo, trackLifecycle.newGroup('global-install')],\n [lock, node_modules, '.staging'],\n [rimraf, staging],\n [doParallelActions, 'extract', staging, todo, cg.newGroup('extract', 100)],\n [doReverseSerialActions, 'remove', staging, todo, cg.newGroup('remove')],\n [doSerialActions, 'move', staging, todo, cg.newGroup('move')],\n [doSerialActions, 'finalize', staging, todo, cg.newGroup('finalize')],\n [doParallelActions, 'refresh-package-json', staging, todo, cg.newGroup('refresh-package-json')],\n [doParallelActions, 'preinstall', staging, todo, trackLifecycle.newGroup('preinstall')],\n [doSerialActions, 'build', staging, todo, trackLifecycle.newGroup('build')],\n [doSerialActions, 'global-link', staging, todo, trackLifecycle.newGroup('global-link')],\n [doParallelActions, 'update-linked', staging, todo, trackLifecycle.newGroup('update-linked')],\n [doSerialActions, 'install', staging, todo, trackLifecycle.newGroup('install')],\n [doSerialActions, 'postinstall', staging, todo, trackLifecycle.newGroup('postinstall')])\n\n var self = this\n chain(steps, function (er) {\n if (!er || self.rollback) {\n rimraf(staging, function () { cb(er) })\n } else {\n cb(er)\n }\n })\n}\n\nInstaller.prototype.rollbackFailedOptional = function (staging, actionsToRun, cb) {\n if (!this.rollback) return cb()\n var failed = actionsToRun.map(function (action) {\n return action[1]\n }).filter(function (pkg) {\n return pkg.failed && pkg.rollback\n })\n var top = this.currentTree && this.currentTree.path\n asyncMap(failed, function (pkg, next) {\n asyncMap(pkg.rollback, function (rollback, done) {\n rollback(top, staging, pkg, done)\n }, next)\n }, cb)\n}\n\nInstaller.prototype.commit = function (staging, actionsToRun, cb) {\n var toCommit = actionsToRun.map(function (action) { return action[1] }).filter(function (pkg) { return !pkg.failed && pkg.commit })\n asyncMap(toCommit, function (pkg, next) {\n asyncMap(pkg.commit, function (commit, done) {\n commit(staging, pkg, done)\n }, function () {\n pkg.commit = []\n next.apply(null, arguments)\n })\n }, cb)\n}\n\nInstaller.prototype.runPreinstallTopLevelLifecycles = function (cb) {\n validate('F', arguments)\n if (this.failing) return cb()\n if (!this.topLevelLifecycles) return cb()\n log.silly('install', 'runPreinstallTopLevelLifecycles')\n\n readPackageJson(path.join(this.where, 'package.json'), log, false, (err, data) => {\n if (err) return cb()\n this.currentTree = createNode({\n isTop: true,\n package: data,\n path: this.where\n })\n doOneAction('preinstall', this.where, this.currentTree, log.newGroup('preinstall:.'), cb)\n })\n}\n\nInstaller.prototype.runPostinstallTopLevelLifecycles = function (cb) {\n validate('F', arguments)\n if (this.failing) return cb()\n if (!this.topLevelLifecycles) return cb()\n log.silly('install', 'runPostinstallTopLevelLifecycles')\n var steps = []\n var trackLifecycle = this.progress.runTopLevelLifecycles\n\n steps.push(\n [doOneAction, 'build', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('build:.')],\n [doOneAction, 'install', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('install:.')],\n [doOneAction, 'postinstall', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('postinstall:.')])\n if (this.dev) {\n steps.push(\n [doOneAction, 'prepare', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('prepare')])\n }\n chain(steps, cb)\n}\n\nInstaller.prototype.saveToDependencies = function (cb) {\n validate('F', arguments)\n if (this.failing) return cb()\n log.silly('install', 'saveToDependencies')\n saveRequested(this.idealTree, cb)\n}\n\nInstaller.prototype.readGlobalPackageData = function (cb) {\n validate('F', arguments)\n log.silly('install', 'readGlobalPackageData')\n var self = this\n this.loadArgMetadata(iferr(cb, function () {\n mkdirp(self.where, iferr(cb, function () {\n var pkgs = {}\n self.args.forEach(function (pkg) {\n pkgs[pkg.name] = true\n })\n readPackageTree(self.where, function (ctx, kid) { return ctx.parent || pkgs[kid] }, iferr(cb, function (currentTree) {\n self.currentTree = currentTree\n return cb()\n }))\n }))\n }))\n}\n\nInstaller.prototype.readLocalPackageData = function (cb) {\n validate('F', arguments)\n log.silly('install', 'readLocalPackageData')\n var self = this\n mkdirp(this.where, iferr(cb, function () {\n readPackageTree(self.where, iferr(cb, function (currentTree) {\n self.currentTree = currentTree\n self.currentTree.warnings = []\n if (currentTree.error && currentTree.error.code === 'EJSONPARSE') {\n return cb(currentTree.error)\n }\n if (!self.noPackageJsonOk && !currentTree.package) {\n log.error('install', \"Couldn't read dependencies\")\n var er = new Error(\"ENOENT, open '\" + path.join(self.where, 'package.json') + \"'\")\n er.code = 'ENOPACKAGEJSON'\n er.errno = 34\n return cb(er)\n }\n if (!currentTree.package) currentTree.package = {}\n readShrinkwrap(currentTree, function (err) {\n if (err) {\n cb(err)\n } else {\n self.loadArgMetadata(cb)\n }\n })\n }))\n }))\n}\n\nInstaller.prototype.cloneCurrentTreeToIdealTree = function (cb) {\n validate('F', arguments)\n log.silly('install', 'cloneCurrentTreeToIdealTree')\n this.idealTree = copyTree(this.currentTree, (child) => {\n // Filter out any children we didn't install ourselves. They need to be\n // reinstalled in order for things to be correct.\n return child.isTop || isLink(child) || (\n child.package &&\n child.package._resolved &&\n (child.package._integrity || child.package._shasum)\n )\n })\n this.idealTree.warnings = []\n cb()\n}\n\nfunction isLink (child) {\n return child.isLink || (child.parent && isLink(child.parent))\n}\n\nInstaller.prototype.loadShrinkwrap = function (cb) {\n validate('F', arguments)\n log.silly('install', 'loadShrinkwrap')\n readShrinkwrap.andInflate(this.idealTree, {fakeChildren: this.fakeChildren}, cb)\n}\n\nInstaller.prototype.getInstalledModules = function () {\n return this.differences.filter(function (action) {\n var mutation = action[0]\n return (mutation === 'add' || mutation === 'update')\n }).map(function (action) {\n var child = action[1]\n return [child.package._id, child.path]\n })\n}\n\nInstaller.prototype.printWarnings = function (cb) {\n if (!this.idealTree) return cb()\n\n var self = this\n var warned = false\n this.idealTree.warnings.forEach(function (warning) {\n if (warning.code === 'EPACKAGEJSON' && self.global) return\n if (warning.code === 'ENOTDIR') return\n warned = true\n var msg = errorMessage(warning)\n msg.summary.forEach(function (logline) {\n log.warn.apply(log, logline)\n })\n msg.detail.forEach(function (logline) {\n log.verbose.apply(log, logline)\n })\n })\n if (warned && log.levels[npm.config.get('loglevel')] <= log.levels.warn) console.error()\n cb()\n}\n\nInstaller.prototype.printInstalled = function (cb) {\n validate('F', arguments)\n if (this.failing) return cb()\n log.silly('install', 'printInstalled')\n const diffs = this.differences.concat((this.idealTree.removedChildren || []).map((r) => ['remove', r]))\n if (npm.config.get('json')) {\n return this.printInstalledForJSON(diffs, cb)\n } else if (npm.config.get('parseable')) {\n return this.printInstalledForParseable(diffs, cb)\n } else {\n return this.printInstalledForHuman(diffs, cb)\n }\n}\n\nInstaller.prototype.printInstalledForHuman = function (diffs, cb) {\n var removed = 0\n var added = 0\n var updated = 0\n var moved = 0\n diffs.forEach(function (action) {\n var mutation = action[0]\n if (mutation === 'remove') {\n ++removed\n } else if (mutation === 'move') {\n ++moved\n } else if (mutation === 'add') {\n ++added\n } else if (mutation === 'update' || mutation === 'update-linked') {\n ++updated\n }\n })\n var report = ''\n if (this.args.length && (added || updated)) {\n report += this.args.map((p) => {\n return `+ ${p.name}@${p.version}`\n }).join('\\n') + '\\n'\n }\n var actions = []\n if (added) actions.push('added ' + packages(added))\n if (removed) actions.push('removed ' + packages(removed))\n if (updated) actions.push('updated ' + packages(updated))\n if (moved) actions.push('moved ' + packages(moved))\n if (actions.length === 0) {\n report += 'up to date'\n } else if (actions.length === 1) {\n report += actions[0]\n } else {\n var lastAction = actions.pop()\n report += actions.join(', ') + ' and ' + lastAction\n }\n report += ' in ' + ((Date.now() - this.started) / 1000) + 's'\n\n output(report)\n return cb()\n\n function packages (num) {\n return num + ' package' + (num > 1 ? 's' : '')\n }\n}\n\nInstaller.prototype.printInstalledForJSON = function (diffs, cb) {\n var result = {\n added: [],\n removed: [],\n updated: [],\n moved: [],\n failed: [],\n warnings: [],\n elapsed: Date.now() - this.started\n }\n var self = this\n this.idealTree.warnings.forEach(function (warning) {\n if (warning.code === 'EPACKAGEJSON' && self.global) return\n if (warning.code === 'ENOTDIR') return\n var output = errorMessage(warning)\n var message = flattenMessage(output.summary)\n if (output.detail.length) {\n message += '\\n' + flattenMessage(output.detail)\n }\n result.warnings.push(message)\n })\n diffs.forEach(function (action) {\n var mutation = action[0]\n var child = action[1]\n var record = recordAction(action)\n if (child.failed) {\n result.failed.push(record)\n } else if (mutation === 'add') {\n result.added.push(record)\n } else if (mutation === 'update' || mutation === 'update-linked') {\n result.updated.push(record)\n } else if (mutation === 'move') {\n result.moved.push(record)\n } else if (mutation === 'remove') {\n result.removed.push(record)\n }\n })\n output(JSON.stringify(result, null, 2))\n cb()\n\n function flattenMessage (msg) {\n return msg.map(function (logline) { return logline.slice(1).join(' ') }).join('\\n')\n }\n\n function recordAction (action) {\n var mutation = action[0]\n var child = action[1]\n var result = {\n action: mutation,\n name: moduleName(child),\n version: child.package && child.package.version,\n path: child.path\n }\n if (mutation === 'move') {\n result.previousPath = child.fromPath\n } else if (mutation === 'update') {\n result.previousVersion = child.oldPkg.package && child.oldPkg.package.version\n }\n return result\n }\n}\n\nInstaller.prototype.printInstalledForParseable = function (diffs, cb) {\n var self = this\n diffs.forEach(function (action) {\n var mutation = action[0]\n var child = action[1]\n if (mutation === 'move') {\n var previousPath = path.relative(self.where, child.fromPath)\n } else if (mutation === 'update') {\n var previousVersion = child.oldPkg.package && child.oldPkg.package.version\n }\n output(\n mutation + '\\t' +\n moduleName(child) + '\\t' +\n (child.package ? child.package.version : '') + '\\t' +\n (child.path ? path.relative(self.where, child.path) : '') + '\\t' +\n (previousVersion || '') + '\\t' +\n (previousPath || ''))\n })\n return cb()\n}\n\nInstaller.prototype.debugActions = function (name, actionListName, cb) {\n validate('SSF', arguments)\n var actionsToLog = this[actionListName]\n log.silly(name, 'action count', actionsToLog.length)\n actionsToLog.forEach(function (action) {\n log.silly(name, action.map(function (value) {\n return (value && value.package) ? packageId(value) : value\n }).join(' '))\n })\n cb()\n}\n\n// This takes an object and a property name instead of a value to allow us\n// to define the arguments for use by chain before the property exists yet.\nInstaller.prototype.debugTree = function (name, treeName, cb) {\n validate('SSF', arguments)\n log.silly(name, this.prettify(this[treeName]).trim())\n cb()\n}\n\nInstaller.prototype.prettify = function (tree) {\n validate('O', arguments)\n var seen = {}\n function byName (aa, bb) {\n return packageId(aa).localeCompare(packageId(bb))\n }\n function expandTree (tree) {\n seen[tree.path] = true\n return {\n label: packageId(tree),\n nodes: tree.children.filter((tree) => { return !seen[tree.path] && !tree.removed && !tree.failed }).sort(byName).map(expandTree)\n }\n }\n return archy(expandTree(tree), '', { unicode: npm.config.get('unicode') })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "251", "url": "/usr/local/lib/node_modules/npm/lib/install/read-shrinkwrap.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst fs = require('graceful-fs')\nconst iferr = require('iferr')\nconst inflateShrinkwrap = require('./inflate-shrinkwrap.js')\nconst log = require('npmlog')\nconst parseJSON = require('../utils/parse-json.js')\nconst path = require('path')\nconst PKGLOCK_VERSION = require('../npm.js').lockfileVersion\n\nconst readFileAsync = BB.promisify(fs.readFile)\n\nmodule.exports = readShrinkwrap\nfunction readShrinkwrap (child, next) {\n if (child.package._shrinkwrap) return process.nextTick(next)\n BB.join(\n maybeReadFile('npm-shrinkwrap.json', child),\n // Don't read non-root lockfiles\n child.isTop && maybeReadFile('package-lock.json', child),\n child.isTop && maybeReadFile('package.json', child),\n (shrinkwrap, lockfile, pkgJson) => {\n if (shrinkwrap && lockfile) {\n log.warn('read-shrinkwrap', 'Ignoring package-lock.json because there is already an npm-shrinkwrap.json. Please use only one of the two.')\n }\n const name = shrinkwrap ? 'npm-shrinkwrap.json' : 'package-lock.json'\n let parsed = null\n if (shrinkwrap || lockfile) {\n try {\n parsed = parseJSON(shrinkwrap || lockfile)\n } catch (ex) {\n throw ex\n }\n }\n if (parsed && parsed.lockfileVersion !== PKGLOCK_VERSION) {\n log.warn('read-shrinkwrap', `This version of npm is compatible with lockfileVersion@${PKGLOCK_VERSION}, but ${name} was generated for lockfileVersion@${parsed.lockfileVersion || 0}. I'll try to do my best with it!`)\n }\n child.package._shrinkwrap = parsed\n }\n ).then(() => next(), next)\n}\n\nfunction maybeReadFile (name, child) {\n return readFileAsync(\n path.join(child.path, name)\n ).catch({code: 'ENOENT'}, () => null)\n}\n\nmodule.exports.andInflate = function (child, opts, next) {\n if (arguments.length === 2) {\n next = opts\n opts = {}\n }\n readShrinkwrap(child, iferr(next, function () {\n if (child.package._shrinkwrap) {\n return inflateShrinkwrap(child, child.package._shrinkwrap.dependencies || {}, opts, next)\n } else {\n return next()\n }\n }))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "319", "url": "", "source": "(function(Promise,fn,receiver,withAppended,maybeWrapAsError,nodebackForPromise,tryCatch,errorObj,notEnumerableProp,INTERNAL\n/*``*/) {\n'use strict'; \n var ret = function (_arg0,_arg1,_arg2) { \n 'use strict'; \n var len = arguments.length; \n var promise = new Promise(INTERNAL); \n promise._captureStackTrace(); \n var nodeback = nodebackForPromise(promise, false); \n var ret; \n var callback = tryCatch(fn); \n switch(len) { \n case 2:ret = callback.call(this, _arg0, _arg1, nodeback); break;\ncase 1:ret = callback.call(this, _arg0, nodeback); break;\ncase 0:ret = callback.call(this, nodeback); break;\ncase 3:ret = callback.call(this, _arg0, _arg1, _arg2, nodeback); break;\n \n default: \n var args = new Array(len + 1); \n var i = 0; \n for (var i = 0; i < len; ++i) { \n args[i] = arguments[i]; \n } \n args[i] = nodeback; \n ret = callback.apply(this, args);\n \n break; \n \n } \n if (ret === errorObj) { \n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n } \n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n return promise; \n }; \n notEnumerableProp(ret, '__isPromisified__', true); \n return ret; \n \n})", "pkgUrl": "(system)" }, { "id": "254", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nvar es5 = require(\"./es5\");\nvar canEvaluate = typeof navigator == \"undefined\";\n\nvar errorObj = {e: {}};\nvar tryCatchTarget;\nvar globalObject = typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n typeof global !== \"undefined\" ? global :\n this !== undefined ? this : null;\n\nfunction tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\n\nvar inherits = function(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) &&\n propertyName.charAt(propertyName.length-1) !== \"$\"\n ) {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n};\n\n\nfunction isPrimitive(val) {\n return val == null || val === true || val === false ||\n typeof val === \"string\" || typeof val === \"number\";\n\n}\n\nfunction isObject(value) {\n return typeof value === \"function\" ||\n typeof value === \"object\" && value !== null;\n}\n\nfunction maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n\n return new Error(safeToString(maybeError));\n}\n\nfunction withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n ret[i] = appendee;\n return ret;\n}\n\nfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null\n ? desc.value\n : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n}\n\nfunction notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n}\n\nfunction thrower(r) {\n throw r;\n}\n\nvar inheritedDataKeys = (function() {\n var excludedPrototypes = [\n Array.prototype,\n Object.prototype,\n Function.prototype\n ];\n\n var isExcludedProto = function(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function(obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n obj = es5.getPrototypeOf(obj);\n }\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function(obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n\n /*jshint forin:false */\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n ret.push(key);\n }\n }\n return ret;\n };\n }\n\n})();\n\nvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\nfunction isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 &&\n !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods =\n thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor ||\n hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n\nfunction toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n FakeConstructor.prototype = obj;\n var l = 8;\n while (l--) new FakeConstructor();\n return obj;\n eval(obj);\n}\n\nvar rident = /^[a-z$_][a-z$_0-9]*$/i;\nfunction isIdentifier(str) {\n return rident.test(str);\n}\n\nfunction filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n for(var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n return ret;\n}\n\nfunction safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n}\n\nfunction isError(obj) {\n return obj !== null &&\n typeof obj === \"object\" &&\n typeof obj.message === \"string\" &&\n typeof obj.name === \"string\";\n}\n\nfunction markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n }\n catch(ignore) {}\n}\n\nfunction originatesFromRejection(e) {\n if (e == null) return false;\n return ((e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError) ||\n e[\"isOperational\"] === true);\n}\n\nfunction canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n}\n\nvar ensureErrorObject = (function() {\n if (!(\"stack\" in new Error())) {\n return function(value) {\n if (canAttachTrace(value)) return value;\n try {throw new Error(safeToString(value));}\n catch(err) {return err;}\n };\n } else {\n return function(value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n})();\n\nfunction classString(obj) {\n return {}.toString.call(obj);\n}\n\nfunction copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n}\n\nvar asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n }\n return null;\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function(v) {\n return Array.from(v);\n } : function(v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n while (!((itResult = it.next()).done)) {\n ret.push(itResult.value);\n }\n return ret;\n };\n\n asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n return null;\n };\n}\n\nvar isNode = typeof process !== \"undefined\" &&\n classString(process).toLowerCase() === \"[object process]\";\n\nvar hasEnvVariables = typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\";\n\nfunction env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n}\n\nfunction getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function(){});\n if ({}.toString.call(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n}\n\nfunction domainBind(self, cb) {\n return self.bind(cb);\n}\n\nvar ret = {\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n hasDevTools: typeof chrome !== \"undefined\" && chrome &&\n typeof chrome.loadTimes === \"function\",\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n domainBind: domainBind\n};\nret.isRecentNode = ret.isNode && (function() {\n var version = process.versions.node.split(\".\").map(Number);\n return (version[0] === 0 && version[1] > 10) || (version[0] > 0);\n})();\n\nif (ret.isNode) ret.toFastProperties(process);\n\ntry {throw new Error(); } catch (e) {ret.lastLineError = e;}\nmodule.exports = ret;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "253", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function() {\nvar makeSelfResolutionError = function () {\n return new TypeError(\"circular promise resolution chain\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar reflectHandler = function() {\n return new Promise.PromiseInspection(this._target());\n};\nvar apiRejection = function(msg) {\n return Promise.reject(new TypeError(msg));\n};\nfunction Proxyable() {}\nvar UNDEFINED_BINDING = {};\nvar util = require(\"./util\");\n\nvar getDomain;\nif (util.isNode) {\n getDomain = function() {\n var ret = process.domain;\n if (ret === undefined) ret = null;\n return ret;\n };\n} else {\n getDomain = function() {\n return null;\n };\n}\nutil.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\nvar es5 = require(\"./es5\");\nvar Async = require(\"./async\");\nvar async = new Async();\nes5.defineProperty(Promise, \"_async\", {value: async});\nvar errors = require(\"./errors\");\nvar TypeError = Promise.TypeError = errors.TypeError;\nPromise.RangeError = errors.RangeError;\nvar CancellationError = Promise.CancellationError = errors.CancellationError;\nPromise.TimeoutError = errors.TimeoutError;\nPromise.OperationalError = errors.OperationalError;\nPromise.RejectionError = errors.OperationalError;\nPromise.AggregateError = errors.AggregateError;\nvar INTERNAL = function(){};\nvar APPLY = {};\nvar NEXT_FILTER = {};\nvar tryConvertToPromise = require(\"./thenables\")(Promise, INTERNAL);\nvar PromiseArray =\n require(\"./promise_array\")(Promise, INTERNAL,\n tryConvertToPromise, apiRejection, Proxyable);\nvar Context = require(\"./context\")(Promise);\n /*jshint unused:false*/\nvar createContext = Context.create;\nvar debug = require(\"./debuggability\")(Promise, Context);\nvar CapturedTrace = debug.CapturedTrace;\nvar PassThroughHandlerContext =\n require(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\nvar catchFilter = require(\"./catch_filter\")(NEXT_FILTER);\nvar nodebackForPromise = require(\"./nodeback\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nfunction check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n\n}\n\nfunction Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._resolveFromExecutor(executor);\n this._promiseCreated();\n this._fireEvent(\"promiseCreated\", this);\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" +\n \"expecting an object but got \" + util.classString(item));\n }\n }\n catchInstances.length = j;\n fn = arguments[i];\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n return this.then(undefined, fn);\n};\n\nPromise.prototype.reflect = function () {\n return this._then(reflectHandler,\n reflectHandler, undefined, this, undefined);\n};\n\nPromise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 &&\n typeof didFulfill !== \"function\" &&\n typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" +\n util.classString(didFulfill);\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n this._warn(msg);\n }\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n};\n\nPromise.prototype.done = function (didFulfill, didReject) {\n var promise =\n this._then(didFulfill, didReject, undefined, undefined, undefined);\n promise._setIsFinal();\n};\n\nPromise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n};\n\nPromise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n return ret;\n};\n\nPromise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n return new PromiseArray(this).promise();\n};\n\nPromise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n};\n\nPromise.getNewLibraryCopy = module.exports;\n\nPromise.is = function (val) {\n return val instanceof Promise;\n};\n\nPromise.fromNode = Promise.fromCallback = function(fn) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs\n : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.all = function (promises) {\n return new PromiseArray(promises).promise();\n};\n\nPromise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._setFulfilled();\n ret._rejectionHandler0 = obj;\n }\n return ret;\n};\n\nPromise.resolve = Promise.fulfilled = Promise.cast;\n\nPromise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._rejectCallback(reason, true);\n return ret;\n};\n\nPromise.setScheduler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return async.setScheduler(fn);\n};\n\nPromise.prototype._then = function (\n didFulfill,\n didReject,\n _, receiver,\n internalData\n) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n var target = this._target();\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n promise._captureStackTrace();\n if (receiver === undefined &&\n ((this._bitField & 2097152) !== 0)) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var domain = getDomain();\n if (!((bitField & 50397184) === 0)) {\n var handler, value, settler = target._settlePromiseCtx;\n if (((bitField & 33554432) !== 0)) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if (((bitField & 16777216) !== 0)) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n target._attachExtraTrace(value);\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: domain === null ? handler\n : (typeof handler === \"function\" &&\n util.domainBind(domain, handler)),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n }\n\n return promise;\n};\n\nPromise.prototype._length = function () {\n return this._bitField & 65535;\n};\n\nPromise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n};\n\nPromise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n};\n\nPromise.prototype._setLength = function (len) {\n this._bitField = (this._bitField & -65536) |\n (len & 65535);\n};\n\nPromise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n this._fireEvent(\"promiseFulfilled\", this);\n};\n\nPromise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n this._fireEvent(\"promiseRejected\", this);\n};\n\nPromise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n this._fireEvent(\"promiseResolved\", this);\n};\n\nPromise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n};\n\nPromise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n};\n\nPromise.prototype._unsetCancelled = function() {\n this._bitField = this._bitField & (~65536);\n};\n\nPromise.prototype._setCancelled = function() {\n this._bitField = this._bitField | 65536;\n this._fireEvent(\"promiseCancelled\", this);\n};\n\nPromise.prototype._setWillBeCancelled = function() {\n this._bitField = this._bitField | 8388608;\n};\n\nPromise.prototype._setAsyncGuaranteed = function() {\n if (async.hasCustomScheduler()) return;\n this._bitField = this._bitField | 134217728;\n};\n\nPromise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[\n index * 4 - 4 + 3];\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n return ret;\n};\n\nPromise.prototype._promiseAt = function (index) {\n return this[\n index * 4 - 4 + 2];\n};\n\nPromise.prototype._fulfillmentHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 0];\n};\n\nPromise.prototype._rejectionHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 1];\n};\n\nPromise.prototype._boundValue = function() {};\n\nPromise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n var receiver = follower._receiverAt(0);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n var reject = follower._rejectionHandlerAt(index);\n var promise = follower._promiseAt(index);\n var receiver = follower._receiverAt(index);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._addCallbacks = function (\n fulfill,\n reject,\n promise,\n receiver,\n domain\n) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this._rejectionHandler0 =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n if (typeof fulfill === \"function\") {\n this[base + 0] =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this[base + 1] =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n }\n this._setLength(index + 1);\n return index;\n};\n\nPromise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n};\n\nPromise.prototype._resolveCallback = function(value, shouldBind) {\n if (((this._bitField & 117506048) !== 0)) return;\n if (value === this)\n return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n return;\n }\n\n var bitField = promise._bitField;\n if (((bitField & 50397184) === 0)) {\n var len = this._length();\n if (len > 0) promise._migrateCallback0(this);\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n this._setFollowing();\n this._setLength(0);\n this._setFollowee(promise);\n } else if (((bitField & 33554432) !== 0)) {\n this._fulfill(promise._value());\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n this._reject(reason);\n }\n};\n\nPromise.prototype._rejectCallback =\nfunction(reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" +\n util.classString(reason);\n this._warn(message, true);\n }\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n this._reject(reason);\n};\n\nPromise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n this._captureStackTrace();\n this._pushContext();\n var synchronous = true;\n var r = this._execute(executor, function(value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n synchronous = false;\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n};\n\nPromise.prototype._settlePromiseFromHandler = function (\n handler, receiver, value, promise\n) {\n var bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n promise._pushContext();\n var x;\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" +\n util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n var promiseCreated = promise._popContext();\n bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n promise._resolveCallback(x);\n }\n};\n\nPromise.prototype._target = function() {\n var ret = this;\n while (ret._isFollowing()) ret = ret._followee();\n return ret;\n};\n\nPromise.prototype._followee = function() {\n return this._rejectionHandler0;\n};\n\nPromise.prototype._setFollowee = function(promise) {\n this._rejectionHandler0 = promise;\n};\n\nPromise.prototype._settlePromise = function(promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = ((bitField & 134217728) !== 0);\n if (((bitField & 65536) !== 0)) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext &&\n receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if (((bitField & 33554432) !== 0)) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n if (((bitField & 33554432) !== 0)) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n};\n\nPromise.prototype._settlePromiseLateCancellationObserver = function(ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n};\n\nPromise.prototype._settlePromiseCtx = function(ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n};\n\nPromise.prototype._settlePromise0 = function(handler, value, bitField) {\n var promise = this._promise0;\n var receiver = this._receiverAt(0);\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._settlePromise(promise, handler, receiver, value);\n};\n\nPromise.prototype._clearCallbackDataAtIndex = function(index) {\n var base = index * 4 - 4;\n this[base + 2] =\n this[base + 3] =\n this[base + 0] =\n this[base + 1] = undefined;\n};\n\nPromise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n if (value === this) {\n var err = makeSelfResolutionError();\n this._attachExtraTrace(err);\n return this._reject(err);\n }\n this._setFulfilled();\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if (((bitField & 134217728) !== 0)) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n }\n};\n\nPromise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n this._setRejected();\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n};\n\nPromise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, value);\n }\n};\n\nPromise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, reason);\n }\n};\n\nPromise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = (bitField & 65535);\n\n if (len > 0) {\n if (((bitField & 16842752) !== 0)) {\n var reason = this._fulfillmentHandler0;\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n this._fulfillPromises(len, value);\n }\n this._setLength(0);\n }\n this._clearCancellationData();\n};\n\nPromise.prototype._settledValue = function() {\n var bitField = this._bitField;\n if (((bitField & 33554432) !== 0)) {\n return this._rejectionHandler0;\n } else if (((bitField & 16777216) !== 0)) {\n return this._fulfillmentHandler0;\n }\n};\n\nfunction deferResolve(v) {this.promise._resolveCallback(v);}\nfunction deferReject(v) {this.promise._rejectCallback(v, false);}\n\nPromise.defer = Promise.pending = function() {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n};\n\nutil.notEnumerableProp(Promise,\n \"_makeSelfResolutionError\",\n makeSelfResolutionError);\n\nrequire(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection,\n debug);\nrequire(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\nrequire(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\nrequire(\"./direct_resolve\")(Promise);\nrequire(\"./synchronous_inspection\")(Promise);\nrequire(\"./join\")(\n Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\nPromise.Promise = Promise;\nPromise.version = \"3.5.0\";\nrequire('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\nrequire('./call_get.js')(Promise);\nrequire('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\nrequire('./timers.js')(Promise, INTERNAL, debug);\nrequire('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\nrequire('./nodeify.js')(Promise);\nrequire('./promisify.js')(Promise, INTERNAL);\nrequire('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\nrequire('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\nrequire('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\nrequire('./settle.js')(Promise, PromiseArray, debug);\nrequire('./some.js')(Promise, PromiseArray, apiRejection);\nrequire('./filter.js')(Promise, INTERNAL);\nrequire('./each.js')(Promise, INTERNAL);\nrequire('./any.js')(Promise);\n\n util.toFastProperties(Promise);\n util.toFastProperties(Promise.prototype);\n function fillTypes(value) {\n var p = new Promise(INTERNAL);\n p._fulfillmentHandler0 = value;\n p._rejectionHandler0 = value;\n p._promise0 = value;\n p._receiver0 = value;\n }\n // Complete slack tracking, opt out of field-type tracking and\n // stabilize map\n fillTypes({a: 1});\n fillTypes({b: 2});\n fillTypes({c: 3});\n fillTypes(1);\n fillTypes(function(){});\n fillTypes(undefined);\n fillTypes(false);\n fillTypes(new Promise(INTERNAL));\n debug.setBounds(Async.firstLineError, util.lastLineError);\n return Promise;\n\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "191", "url": "/usr/local/lib/node_modules/npm/node_modules/inflight/inflight.js", "source": "(function (exports, require, module, __filename, __dirname) { var wrappy = require('wrappy')\nvar reqs = Object.create(null)\nvar once = require('once')\n\nmodule.exports = wrappy(inflight)\n\nfunction inflight (key, cb) {\n if (reqs[key]) {\n reqs[key].push(cb)\n return null\n } else {\n reqs[key] = [cb]\n return makeres(key)\n }\n}\n\nfunction makeres (key) {\n return once(function RES () {\n var cbs = reqs[key]\n var len = cbs.length\n var args = slice(arguments)\n\n // XXX It's somewhat ambiguous whether a new callback added in this\n // pass should be queued for later execution if something in the\n // list of callbacks throws, or if it should just be discarded.\n // However, it's such an edge case that it hardly matters, and either\n // choice is likely as surprising as the other.\n // As it happens, we do go ahead and schedule it for later execution.\n try {\n for (var i = 0; i < len; i++) {\n cbs[i].apply(null, args)\n }\n } finally {\n if (cbs.length > len) {\n // added more in the interim.\n // de-zalgo, just in case, but don't call again.\n cbs.splice(0, len)\n process.nextTick(function () {\n RES.apply(null, args)\n })\n } else {\n delete reqs[key]\n }\n }\n })\n}\n\nfunction slice (args) {\n var length = args.length\n var array = []\n\n for (var i = 0; i < length; i++) array[i] = args[i]\n return array\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/inflight" }, { "id": "215", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/glob.js", "source": "(function (exports, require, module, __filename, __dirname) { // Approach:\n//\n// 1. Get the minimatch set\n// 2. For each pattern in the set, PROCESS(pattern, false)\n// 3. Store matches per-set, then uniq them\n//\n// PROCESS(pattern, inGlobStar)\n// Get the first [n] items from pattern that are all strings\n// Join these together. This is PREFIX.\n// If there is no more remaining, then stat(PREFIX) and\n// add to matches if it succeeds. END.\n//\n// If inGlobStar and PREFIX is symlink and points to dir\n// set ENTRIES = []\n// else readdir(PREFIX) as ENTRIES\n// If fail, END\n//\n// with ENTRIES\n// If pattern[n] is GLOBSTAR\n// // handle the case where the globstar match is empty\n// // by pruning it out, and testing the resulting pattern\n// PROCESS(pattern[0..n] + pattern[n+1 .. $], false)\n// // handle other cases.\n// for ENTRY in ENTRIES (not dotfiles)\n// // attach globstar + tail onto the entry\n// // Mark that this entry is a globstar match\n// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)\n//\n// else // not globstar\n// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)\n// Test ENTRY against pattern[n]\n// If fails, continue\n// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])\n//\n// Caveat:\n// Cache all stats and readdirs results to minimize syscall. Since all\n// we ever care about is existence and directory-ness, we can just keep\n// `true` for files, and [children,...] for directories, or `false` for\n// things that don't exist.\n\nmodule.exports = glob\n\nvar fs = require('fs')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar inherits = require('inherits')\nvar EE = require('events').EventEmitter\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar globSync = require('./sync.js')\nvar common = require('./common.js')\nvar alphasort = common.alphasort\nvar alphasorti = common.alphasorti\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar inflight = require('inflight')\nvar util = require('util')\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nvar once = require('once')\n\nfunction glob (pattern, options, cb) {\n if (typeof options === 'function') cb = options, options = {}\n if (!options) options = {}\n\n if (options.sync) {\n if (cb)\n throw new TypeError('callback provided to sync glob')\n return globSync(pattern, options)\n }\n\n return new Glob(pattern, options, cb)\n}\n\nglob.sync = globSync\nvar GlobSync = glob.GlobSync = globSync.GlobSync\n\n// old api surface\nglob.glob = glob\n\nfunction extend (origin, add) {\n if (add === null || typeof add !== 'object') {\n return origin\n }\n\n var keys = Object.keys(add)\n var i = keys.length\n while (i--) {\n origin[keys[i]] = add[keys[i]]\n }\n return origin\n}\n\nglob.hasMagic = function (pattern, options_) {\n var options = extend({}, options_)\n options.noprocess = true\n\n var g = new Glob(pattern, options)\n var set = g.minimatch.set\n if (set.length > 1)\n return true\n\n for (var j = 0; j < set[0].length; j++) {\n if (typeof set[0][j] !== 'string')\n return true\n }\n\n return false\n}\n\nglob.Glob = Glob\ninherits(Glob, EE)\nfunction Glob (pattern, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n\n if (options && options.sync) {\n if (cb)\n throw new TypeError('callback provided to sync glob')\n return new GlobSync(pattern, options)\n }\n\n if (!(this instanceof Glob))\n return new Glob(pattern, options, cb)\n\n setopts(this, pattern, options)\n this._didRealPath = false\n\n // process each pattern in the minimatch set\n var n = this.minimatch.set.length\n\n // The matches are stored as {: true,...} so that\n // duplicates are automagically pruned.\n // Later, we do an Object.keys() on these.\n // Keep them as a list so we can fill in when nonull is set.\n this.matches = new Array(n)\n\n if (typeof cb === 'function') {\n cb = once(cb)\n this.on('error', cb)\n this.on('end', function (matches) {\n cb(null, matches)\n })\n }\n\n var self = this\n var n = this.minimatch.set.length\n this._processing = 0\n this.matches = new Array(n)\n\n this._emitQueue = []\n this._processQueue = []\n this.paused = false\n\n if (this.noprocess)\n return this\n\n if (n === 0)\n return done()\n\n for (var i = 0; i < n; i ++) {\n this._process(this.minimatch.set[i], i, false, done)\n }\n\n function done () {\n --self._processing\n if (self._processing <= 0)\n self._finish()\n }\n}\n\nGlob.prototype._finish = function () {\n assert(this instanceof Glob)\n if (this.aborted)\n return\n\n if (this.realpath && !this._didRealpath)\n return this._realpath()\n\n common.finish(this)\n this.emit('end', this.found)\n}\n\nGlob.prototype._realpath = function () {\n if (this._didRealpath)\n return\n\n this._didRealpath = true\n\n var n = this.matches.length\n if (n === 0)\n return this._finish()\n\n var self = this\n for (var i = 0; i < this.matches.length; i++)\n this._realpathSet(i, next)\n\n function next () {\n if (--n === 0)\n self._finish()\n }\n}\n\nGlob.prototype._realpathSet = function (index, cb) {\n var matchset = this.matches[index]\n if (!matchset)\n return cb()\n\n var found = Object.keys(matchset)\n var self = this\n var n = found.length\n\n if (n === 0)\n return cb()\n\n var set = this.matches[index] = Object.create(null)\n found.forEach(function (p, i) {\n // If there's a problem with the stat, then it means that\n // one or more of the links in the realpath couldn't be\n // resolved. just return the abs value in that case.\n p = self._makeAbs(p)\n fs.realpath(p, self.realpathCache, function (er, real) {\n if (!er)\n set[real] = true\n else if (er.syscall === 'stat')\n set[p] = true\n else\n self.emit('error', er) // srsly wtf right here\n\n if (--n === 0) {\n self.matches[index] = set\n cb()\n }\n })\n })\n}\n\nGlob.prototype._mark = function (p) {\n return common.mark(this, p)\n}\n\nGlob.prototype._makeAbs = function (f) {\n return common.makeAbs(this, f)\n}\n\nGlob.prototype.abort = function () {\n this.aborted = true\n this.emit('abort')\n}\n\nGlob.prototype.pause = function () {\n if (!this.paused) {\n this.paused = true\n this.emit('pause')\n }\n}\n\nGlob.prototype.resume = function () {\n if (this.paused) {\n this.emit('resume')\n this.paused = false\n if (this._emitQueue.length) {\n var eq = this._emitQueue.slice(0)\n this._emitQueue.length = 0\n for (var i = 0; i < eq.length; i ++) {\n var e = eq[i]\n this._emitMatch(e[0], e[1])\n }\n }\n if (this._processQueue.length) {\n var pq = this._processQueue.slice(0)\n this._processQueue.length = 0\n for (var i = 0; i < pq.length; i ++) {\n var p = pq[i]\n this._processing--\n this._process(p[0], p[1], p[2], p[3])\n }\n }\n }\n}\n\nGlob.prototype._process = function (pattern, index, inGlobStar, cb) {\n assert(this instanceof Glob)\n assert(typeof cb === 'function')\n\n if (this.aborted)\n return\n\n this._processing++\n if (this.paused) {\n this._processQueue.push([pattern, index, inGlobStar, cb])\n return\n }\n\n //console.error('PROCESS %d', this._processing, pattern)\n\n // Get the first [n] parts of pattern that are all strings.\n var n = 0\n while (typeof pattern[n] === 'string') {\n n ++\n }\n // now n is the index of the first one that is *not* a string.\n\n // see if there's anything else\n var prefix\n switch (n) {\n // if not, then this is rather simple\n case pattern.length:\n this._processSimple(pattern.join('/'), index, cb)\n return\n\n case 0:\n // pattern *starts* with some non-trivial item.\n // going to readdir(cwd), but not include the prefix in matches.\n prefix = null\n break\n\n default:\n // pattern has some string bits in the front.\n // whatever it starts with, whether that's 'absolute' like /foo/bar,\n // or 'relative' like '../baz'\n prefix = pattern.slice(0, n).join('/')\n break\n }\n\n var remain = pattern.slice(n)\n\n // get the list of entries.\n var read\n if (prefix === null)\n read = '.'\n else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {\n if (!prefix || !isAbsolute(prefix))\n prefix = '/' + prefix\n read = prefix\n } else\n read = prefix\n\n var abs = this._makeAbs(read)\n\n //if ignored, skip _processing\n if (childrenIgnored(this, read))\n return cb()\n\n var isGlobStar = remain[0] === minimatch.GLOBSTAR\n if (isGlobStar)\n this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)\n else\n this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)\n}\n\nGlob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n var self = this\n this._readdir(abs, inGlobStar, function (er, entries) {\n return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n })\n}\n\nGlob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n\n // if the abs isn't a dir, then nothing can match!\n if (!entries)\n return cb()\n\n // It will only match dot entries if it starts with a dot, or if\n // dot is set. Stuff like @(.foo|.bar) isn't allowed.\n var pn = remain[0]\n var negate = !!this.minimatch.negate\n var rawGlob = pn._glob\n var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n var matchedEntries = []\n for (var i = 0; i < entries.length; i++) {\n var e = entries[i]\n if (e.charAt(0) !== '.' || dotOk) {\n var m\n if (negate && !prefix) {\n m = !e.match(pn)\n } else {\n m = e.match(pn)\n }\n if (m)\n matchedEntries.push(e)\n }\n }\n\n //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)\n\n var len = matchedEntries.length\n // If there are no matched entries, then nothing matches.\n if (len === 0)\n return cb()\n\n // if this is the last remaining pattern bit, then no need for\n // an additional stat *unless* the user has specified mark or\n // stat explicitly. We know they exist, since readdir returned\n // them.\n\n if (remain.length === 1 && !this.mark && !this.stat) {\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n if (prefix) {\n if (prefix !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n\n if (e.charAt(0) === '/' && !this.nomount) {\n e = path.join(this.root, e)\n }\n this._emitMatch(index, e)\n }\n // This was the last one, and no stats were needed\n return cb()\n }\n\n // now test all matched entries as stand-ins for that part\n // of the pattern.\n remain.shift()\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n var newPattern\n if (prefix) {\n if (prefix !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n this._process([e].concat(remain), index, inGlobStar, cb)\n }\n cb()\n}\n\nGlob.prototype._emitMatch = function (index, e) {\n if (this.aborted)\n return\n\n if (this.matches[index][e])\n return\n\n if (isIgnored(this, e))\n return\n\n if (this.paused) {\n this._emitQueue.push([index, e])\n return\n }\n\n var abs = this._makeAbs(e)\n\n if (this.nodir) {\n var c = this.cache[abs]\n if (c === 'DIR' || Array.isArray(c))\n return\n }\n\n if (this.mark)\n e = this._mark(e)\n\n this.matches[index][e] = true\n\n var st = this.statCache[abs]\n if (st)\n this.emit('stat', e, st)\n\n this.emit('match', e)\n}\n\nGlob.prototype._readdirInGlobStar = function (abs, cb) {\n if (this.aborted)\n return\n\n // follow all symlinked directories forever\n // just proceed as if this is a non-globstar situation\n if (this.follow)\n return this._readdir(abs, false, cb)\n\n var lstatkey = 'lstat\\0' + abs\n var self = this\n var lstatcb = inflight(lstatkey, lstatcb_)\n\n if (lstatcb)\n fs.lstat(abs, lstatcb)\n\n function lstatcb_ (er, lstat) {\n if (er)\n return cb()\n\n var isSym = lstat.isSymbolicLink()\n self.symlinks[abs] = isSym\n\n // If it's not a symlink or a dir, then it's definitely a regular file.\n // don't bother doing a readdir in that case.\n if (!isSym && !lstat.isDirectory()) {\n self.cache[abs] = 'FILE'\n cb()\n } else\n self._readdir(abs, false, cb)\n }\n}\n\nGlob.prototype._readdir = function (abs, inGlobStar, cb) {\n if (this.aborted)\n return\n\n cb = inflight('readdir\\0'+abs+'\\0'+inGlobStar, cb)\n if (!cb)\n return\n\n //console.error('RD %j %j', +inGlobStar, abs)\n if (inGlobStar && !ownProp(this.symlinks, abs))\n return this._readdirInGlobStar(abs, cb)\n\n if (ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n if (!c || c === 'FILE')\n return cb()\n\n if (Array.isArray(c))\n return cb(null, c)\n }\n\n var self = this\n fs.readdir(abs, readdirCb(this, abs, cb))\n}\n\nfunction readdirCb (self, abs, cb) {\n return function (er, entries) {\n if (er)\n self._readdirError(abs, er, cb)\n else\n self._readdirEntries(abs, entries, cb)\n }\n}\n\nGlob.prototype._readdirEntries = function (abs, entries, cb) {\n if (this.aborted)\n return\n\n // if we haven't asked to stat everything, then just\n // assume that everything in there exists, so we can avoid\n // having to stat it a second time.\n if (!this.mark && !this.stat) {\n for (var i = 0; i < entries.length; i ++) {\n var e = entries[i]\n if (abs === '/')\n e = abs + e\n else\n e = abs + '/' + e\n this.cache[e] = true\n }\n }\n\n this.cache[abs] = entries\n return cb(null, entries)\n}\n\nGlob.prototype._readdirError = function (f, er, cb) {\n if (this.aborted)\n return\n\n // handle errors, and cache the information\n switch (er.code) {\n case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n case 'ENOTDIR': // totally normal. means it *does* exist.\n this.cache[this._makeAbs(f)] = 'FILE'\n break\n\n case 'ENOENT': // not terribly unusual\n case 'ELOOP':\n case 'ENAMETOOLONG':\n case 'UNKNOWN':\n this.cache[this._makeAbs(f)] = false\n break\n\n default: // some unusual error. Treat as failure.\n this.cache[this._makeAbs(f)] = false\n if (this.strict) {\n this.emit('error', er)\n // If the error is handled, then we abort\n // if not, we threw out of here\n this.abort()\n }\n if (!this.silent)\n console.error('glob error', er)\n break\n }\n\n return cb()\n}\n\nGlob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n var self = this\n this._readdir(abs, inGlobStar, function (er, entries) {\n self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n })\n}\n\n\nGlob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n //console.error('pgs2', prefix, remain[0], entries)\n\n // no entries means not a dir, so it can never have matches\n // foo.txt/** doesn't match foo.txt\n if (!entries)\n return cb()\n\n // test without the globstar, and with every child both below\n // and replacing the globstar.\n var remainWithoutGlobStar = remain.slice(1)\n var gspref = prefix ? [ prefix ] : []\n var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n // the noGlobStar pattern exits the inGlobStar state\n this._process(noGlobStar, index, false, cb)\n\n var isSym = this.symlinks[abs]\n var len = entries.length\n\n // If it's a symlink, and we're in a globstar, then stop\n if (isSym && inGlobStar)\n return cb()\n\n for (var i = 0; i < len; i++) {\n var e = entries[i]\n if (e.charAt(0) === '.' && !this.dot)\n continue\n\n // these two cases enter the inGlobStar state\n var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n this._process(instead, index, true, cb)\n\n var below = gspref.concat(entries[i], remain)\n this._process(below, index, true, cb)\n }\n\n cb()\n}\n\nGlob.prototype._processSimple = function (prefix, index, cb) {\n // XXX review this. Shouldn't it be doing the mounting etc\n // before doing stat? kinda weird?\n var self = this\n this._stat(prefix, function (er, exists) {\n self._processSimple2(prefix, index, er, exists, cb)\n })\n}\nGlob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {\n\n //console.error('ps2', prefix, exists)\n\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n // If it doesn't exist, then just mark the lack of results\n if (!exists)\n return cb()\n\n if (prefix && isAbsolute(prefix) && !this.nomount) {\n var trail = /[\\/\\\\]$/.test(prefix)\n if (prefix.charAt(0) === '/') {\n prefix = path.join(this.root, prefix)\n } else {\n prefix = path.resolve(this.root, prefix)\n if (trail)\n prefix += '/'\n }\n }\n\n if (process.platform === 'win32')\n prefix = prefix.replace(/\\\\/g, '/')\n\n // Mark this as a match\n this._emitMatch(index, prefix)\n cb()\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlob.prototype._stat = function (f, cb) {\n var abs = this._makeAbs(f)\n var needDir = f.slice(-1) === '/'\n\n if (f.length > this.maxLength)\n return cb()\n\n if (!this.stat && ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n\n if (Array.isArray(c))\n c = 'DIR'\n\n // It exists, but maybe not how we need it\n if (!needDir || c === 'DIR')\n return cb(null, c)\n\n if (needDir && c === 'FILE')\n return cb()\n\n // otherwise we have to stat, because maybe c=true\n // if we know it exists, but not what it is.\n }\n\n var exists\n var stat = this.statCache[abs]\n if (stat !== undefined) {\n if (stat === false)\n return cb(null, stat)\n else {\n var type = stat.isDirectory() ? 'DIR' : 'FILE'\n if (needDir && type === 'FILE')\n return cb()\n else\n return cb(null, type, stat)\n }\n }\n\n var self = this\n var statcb = inflight('stat\\0' + abs, lstatcb_)\n if (statcb)\n fs.lstat(abs, statcb)\n\n function lstatcb_ (er, lstat) {\n if (lstat && lstat.isSymbolicLink()) {\n // If it's a symlink, then treat it as the target, unless\n // the target does not exist, then treat it as a file.\n return fs.stat(abs, function (er, stat) {\n if (er)\n self._stat2(f, abs, null, lstat, cb)\n else\n self._stat2(f, abs, er, stat, cb)\n })\n } else {\n self._stat2(f, abs, er, lstat, cb)\n }\n }\n}\n\nGlob.prototype._stat2 = function (f, abs, er, stat, cb) {\n if (er) {\n this.statCache[abs] = false\n return cb()\n }\n\n var needDir = f.slice(-1) === '/'\n this.statCache[abs] = stat\n\n if (abs.slice(-1) === '/' && !stat.isDirectory())\n return cb(null, false, stat)\n\n var c = stat.isDirectory() ? 'DIR' : 'FILE'\n this.cache[abs] = this.cache[abs] || c\n\n if (needDir && c !== 'DIR')\n return cb()\n\n return cb(null, c, stat)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob" }, { "id": "214", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs\ntry {\n fs = require('graceful-fs')\n} catch (er) {\n fs = require('fs')\n}\n\nvar path = require('path')\n\nvar glob = require('glob')\nvar normalizeData = require('normalize-package-data')\nvar safeJSON = require('json-parse-helpfulerror')\n\nmodule.exports = readJson\n\n// put more stuff on here to customize.\nreadJson.extraSet = [\n gypfile,\n serverjs,\n scriptpath,\n authors,\n readme,\n mans,\n bins,\n githead\n]\n\nvar typoWarned = {}\n\nfunction readJson (file, log_, strict_, cb_) {\n var log, strict, cb\n for (var i = 1; i < arguments.length - 1; i++) {\n if (typeof arguments[i] === 'boolean') {\n strict = arguments[i]\n } else if (typeof arguments[i] === 'function') {\n log = arguments[i]\n }\n }\n\n if (!log) log = function () {}\n cb = arguments[ arguments.length - 1 ]\n\n readJson_(file, log, strict, cb)\n}\n\nfunction readJson_ (file, log, strict, cb) {\n fs.readFile(file, 'utf8', function (er, d) {\n parseJson(file, er, d, log, strict, cb)\n })\n}\n\nfunction stripBOM (content) {\n // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n // because the buffer-to-string conversion in `fs.readFileSync()`\n // translates it to FEFF, the UTF-16 BOM.\n if (content.charCodeAt(0) === 0xFEFF) content = content.slice(1)\n return content\n}\n\nfunction parseJson (file, er, d, log, strict, cb) {\n if (er && er.code === 'ENOENT') {\n return fs.stat(path.dirname(file), function (err, stat) {\n if (!err && stat && !stat.isDirectory()) {\n // ENOTDIR isn't used on Windows, but npm expects it.\n er = Object.create(er)\n er.code = 'ENOTDIR'\n return cb(er)\n } else {\n return indexjs(file, er, log, strict, cb)\n }\n })\n }\n if (er) return cb(er)\n\n try {\n d = safeJSON.parse(stripBOM(d))\n } catch (er) {\n d = parseIndex(d)\n if (!d) return cb(parseError(er, file))\n }\n\n extras(file, d, log, strict, cb)\n}\n\nfunction indexjs (file, er, log, strict, cb) {\n if (path.basename(file) === 'index.js') return cb(er)\n\n var index = path.resolve(path.dirname(file), 'index.js')\n fs.readFile(index, 'utf8', function (er2, d) {\n if (er2) return cb(er)\n\n d = parseIndex(d)\n if (!d) return cb(er)\n\n extras(file, d, log, strict, cb)\n })\n}\n\nreadJson.extras = extras\nfunction extras (file, data, log_, strict_, cb_) {\n var log, strict, cb\n for (var i = 2; i < arguments.length - 1; i++) {\n if (typeof arguments[i] === 'boolean') {\n strict = arguments[i]\n } else if (typeof arguments[i] === 'function') {\n log = arguments[i]\n }\n }\n\n if (!log) log = function () {}\n cb = arguments[i]\n\n var set = readJson.extraSet\n var n = set.length\n var errState = null\n set.forEach(function (fn) {\n fn(file, data, then)\n })\n\n function then (er) {\n if (errState) return\n if (er) return cb(errState = er)\n if (--n > 0) return\n final(file, data, log, strict, cb)\n }\n}\n\nfunction scriptpath (file, data, cb) {\n if (!data.scripts) return cb(null, data)\n var k = Object.keys(data.scripts)\n k.forEach(scriptpath_, data.scripts)\n cb(null, data)\n}\n\nfunction scriptpath_ (key) {\n var s = this[key]\n // This is never allowed, and only causes problems\n if (typeof s !== 'string') return delete this[key]\n\n var spre = /^(\\.[/\\\\])?node_modules[/\\\\].bin[\\\\/]/\n if (s.match(spre)) {\n this[key] = this[key].replace(spre, '')\n }\n}\n\nfunction gypfile (file, data, cb) {\n var dir = path.dirname(file)\n var s = data.scripts || {}\n if (s.install || s.preinstall) return cb(null, data)\n\n glob('*.gyp', { cwd: dir }, function (er, files) {\n if (er) return cb(er)\n gypfile_(file, data, files, cb)\n })\n}\n\nfunction gypfile_ (file, data, files, cb) {\n if (!files.length) return cb(null, data)\n var s = data.scripts || {}\n s.install = 'node-gyp rebuild'\n data.scripts = s\n data.gypfile = true\n return cb(null, data)\n}\n\nfunction serverjs (file, data, cb) {\n var dir = path.dirname(file)\n var s = data.scripts || {}\n if (s.start) return cb(null, data)\n glob('server.js', { cwd: dir }, function (er, files) {\n if (er) return cb(er)\n serverjs_(file, data, files, cb)\n })\n}\n\nfunction serverjs_ (file, data, files, cb) {\n if (!files.length) return cb(null, data)\n var s = data.scripts || {}\n s.start = 'node server.js'\n data.scripts = s\n return cb(null, data)\n}\n\nfunction authors (file, data, cb) {\n if (data.contributors) return cb(null, data)\n var af = path.resolve(path.dirname(file), 'AUTHORS')\n fs.readFile(af, 'utf8', function (er, ad) {\n // ignore error. just checking it.\n if (er) return cb(null, data)\n authors_(file, data, ad, cb)\n })\n}\n\nfunction authors_ (file, data, ad, cb) {\n ad = ad.split(/\\r?\\n/g).map(function (line) {\n return line.replace(/^\\s*#.*$/, '').trim()\n }).filter(function (line) {\n return line\n })\n data.contributors = ad\n return cb(null, data)\n}\n\nfunction readme (file, data, cb) {\n if (data.readme) return cb(null, data)\n var dir = path.dirname(file)\n var globOpts = { cwd: dir, nocase: true, mark: true }\n glob('{README,README.*}', globOpts, function (er, files) {\n if (er) return cb(er)\n // don't accept directories.\n files = files.filter(function (file) {\n return !file.match(/\\/$/)\n })\n if (!files.length) return cb()\n var fn = preferMarkdownReadme(files)\n var rm = path.resolve(dir, fn)\n readme_(file, data, rm, cb)\n })\n}\n\nfunction preferMarkdownReadme (files) {\n var fallback = 0\n var re = /\\.m?a?r?k?d?o?w?n?$/i\n for (var i = 0; i < files.length; i++) {\n if (files[i].match(re)) {\n return files[i]\n } else if (files[i].match(/README$/)) {\n fallback = i\n }\n }\n // prefer README.md, followed by README; otherwise, return\n // the first filename (which could be README)\n return files[fallback]\n}\n\nfunction readme_ (file, data, rm, cb) {\n var rmfn = path.basename(rm)\n fs.readFile(rm, 'utf8', function (er, rm) {\n // maybe not readable, or something.\n if (er) return cb()\n data.readme = rm\n data.readmeFilename = rmfn\n return cb(er, data)\n })\n}\n\nfunction mans (file, data, cb) {\n var m = data.directories && data.directories.man\n if (data.man || !m) return cb(null, data)\n m = path.resolve(path.dirname(file), m)\n glob('**/*.[0-9]', { cwd: m }, function (er, mans) {\n if (er) return cb(er)\n mans_(file, data, mans, cb)\n })\n}\n\nfunction mans_ (file, data, mans, cb) {\n var m = data.directories && data.directories.man\n data.man = mans.map(function (mf) {\n return path.resolve(path.dirname(file), m, mf)\n })\n return cb(null, data)\n}\n\nfunction bins (file, data, cb) {\n if (Array.isArray(data.bin)) return bins_(file, data, data.bin, cb)\n\n var m = data.directories && data.directories.bin\n if (data.bin || !m) return cb(null, data)\n\n m = path.resolve(path.dirname(file), m)\n glob('**', { cwd: m }, function (er, bins) {\n if (er) return cb(er)\n bins_(file, data, bins, cb)\n })\n}\n\nfunction bins_ (file, data, bins, cb) {\n var m = (data.directories && data.directories.bin) || '.'\n data.bin = bins.reduce(function (acc, mf) {\n if (mf && mf.charAt(0) !== '.') {\n var f = path.basename(mf)\n acc[f] = path.join(m, mf)\n }\n return acc\n }, {})\n return cb(null, data)\n}\n\nfunction githead (file, data, cb) {\n if (data.gitHead) return cb(null, data)\n var dir = path.dirname(file)\n var head = path.resolve(dir, '.git/HEAD')\n fs.readFile(head, 'utf8', function (er, head) {\n if (er) return cb(null, data)\n githead_(file, data, dir, head, cb)\n })\n}\n\nfunction githead_ (file, data, dir, head, cb) {\n if (!head.match(/^ref: /)) {\n data.gitHead = head.trim()\n return cb(null, data)\n }\n var headFile = head.replace(/^ref: /, '').trim()\n headFile = path.resolve(dir, '.git', headFile)\n fs.readFile(headFile, 'utf8', function (er, head) {\n if (er || !head) return cb(null, data)\n head = head.replace(/^ref: /, '').trim()\n data.gitHead = head\n return cb(null, data)\n })\n}\n\n/**\n * Warn if the bin references don't point to anything. This might be better in\n * normalize-package-data if it had access to the file path.\n */\nfunction checkBinReferences_ (file, data, warn, cb) {\n if (!(data.bin instanceof Object)) return cb()\n\n var keys = Object.keys(data.bin)\n var keysLeft = keys.length\n if (!keysLeft) return cb()\n\n function handleExists (relName, result) {\n keysLeft--\n if (!result) warn('No bin file found at ' + relName)\n if (!keysLeft) cb()\n }\n\n keys.forEach(function (key) {\n var dirName = path.dirname(file)\n var relName = data.bin[key]\n var binPath = path.resolve(dirName, relName)\n fs.exists(binPath, handleExists.bind(null, relName))\n })\n}\n\nfunction final (file, data, log, strict, cb) {\n var pId = makePackageId(data)\n\n function warn (msg) {\n if (typoWarned[pId]) return\n if (log) log('package.json', pId, msg)\n }\n\n try {\n normalizeData(data, warn, strict)\n } catch (error) {\n return cb(error)\n }\n\n checkBinReferences_(file, data, warn, function () {\n typoWarned[pId] = true\n cb(null, data)\n })\n}\n\nfunction makePackageId (data) {\n var name = cleanString(data.name)\n var ver = cleanString(data.version)\n return name + '@' + ver\n}\n\nfunction cleanString (str) {\n return (!str || typeof (str) !== 'string') ? '' : str.trim()\n}\n\n// /**package { \"name\": \"foo\", \"version\": \"1.2.3\", ... } **/\nfunction parseIndex (data) {\n data = data.split(/^\\/\\*\\*package(?:\\s|$)/m)\n\n if (data.length < 2) return null\n data = data[1]\n data = data.split(/\\*\\*\\/$/m)\n\n if (data.length < 2) return null\n data = data[0]\n data = data.replace(/^\\s*\\*/mg, '')\n\n try {\n return safeJSON.parse(data)\n } catch (er) {\n return null\n }\n}\n\nfunction parseError (ex, file) {\n var e = new Error('Failed to parse json\\n' + ex.message)\n e.code = 'EJSONPARSE'\n e.file = file\n return e\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json" }, { "id": "223", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = normalize\n\nvar fixer = require(\"./fixer\")\nnormalize.fixer = fixer\n\nvar makeWarning = require(\"./make_warning\")\n\nvar fieldsToFix = ['name','version','description','repository','modules','scripts'\n ,'files','bin','man','bugs','keywords','readme','homepage','license']\nvar otherThingsToFix = ['dependencies','people', 'typos']\n\nvar thingsToFix = fieldsToFix.map(function(fieldName) {\n return ucFirst(fieldName) + \"Field\"\n})\n// two ways to do this in CoffeeScript on only one line, sub-70 chars:\n// thingsToFix = fieldsToFix.map (name) -> ucFirst(name) + \"Field\"\n// thingsToFix = (ucFirst(name) + \"Field\" for name in fieldsToFix)\nthingsToFix = thingsToFix.concat(otherThingsToFix)\n\nfunction normalize (data, warn, strict) {\n if(warn === true) warn = null, strict = true\n if(!strict) strict = false\n if(!warn || data.private) warn = function(msg) { /* noop */ }\n\n if (data.scripts &&\n data.scripts.install === \"node-gyp rebuild\" &&\n !data.scripts.preinstall) {\n data.gypfile = true\n }\n fixer.warn = function() { warn(makeWarning.apply(null, arguments)) }\n thingsToFix.forEach(function(thingName) {\n fixer[\"fix\" + ucFirst(thingName)](data, strict)\n })\n data._id = data.name + \"@\" + data.version\n}\n\nfunction ucFirst (string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data" }, { "id": "224", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js", "source": "(function (exports, require, module, __filename, __dirname) { var semver = require(\"semver\")\nvar validateLicense = require('validate-npm-package-license');\nvar hostedGitInfo = require(\"hosted-git-info\")\nvar isBuiltinModule = require(\"is-builtin-module\")\nvar depTypes = [\"dependencies\",\"devDependencies\",\"optionalDependencies\"]\nvar extractDescription = require(\"./extract_description\")\nvar url = require(\"url\")\nvar typos = require(\"./typos\")\n\nvar fixer = module.exports = {\n // default warning function\n warn: function() {},\n\n fixRepositoryField: function(data) {\n if (data.repositories) {\n this.warn(\"repositories\");\n data.repository = data.repositories[0]\n }\n if (!data.repository) return this.warn(\"missingRepository\")\n if (typeof data.repository === \"string\") {\n data.repository = {\n type: \"git\",\n url: data.repository\n }\n }\n var r = data.repository.url || \"\"\n if (r) {\n var hosted = hostedGitInfo.fromUrl(r)\n if (hosted) {\n r = data.repository.url\n = hosted.getDefaultRepresentation() == \"shortcut\" ? hosted.https() : hosted.toString()\n }\n }\n\n if (r.match(/github.com\\/[^\\/]+\\/[^\\/]+\\.git\\.git$/)) {\n this.warn(\"brokenGitUrl\", r)\n }\n }\n\n, fixTypos: function(data) {\n Object.keys(typos.topLevel).forEach(function (d) {\n if (data.hasOwnProperty(d)) {\n this.warn(\"typo\", d, typos.topLevel[d])\n }\n }, this)\n }\n\n, fixScriptsField: function(data) {\n if (!data.scripts) return\n if (typeof data.scripts !== \"object\") {\n this.warn(\"nonObjectScripts\")\n delete data.scripts\n return\n }\n Object.keys(data.scripts).forEach(function (k) {\n if (typeof data.scripts[k] !== \"string\") {\n this.warn(\"nonStringScript\")\n delete data.scripts[k]\n } else if (typos.script[k] && !data.scripts[typos.script[k]]) {\n this.warn(\"typo\", k, typos.script[k], \"scripts\")\n }\n }, this)\n }\n\n, fixFilesField: function(data) {\n var files = data.files\n if (files && !Array.isArray(files)) {\n this.warn(\"nonArrayFiles\")\n delete data.files\n } else if (data.files) {\n data.files = data.files.filter(function(file) {\n if (!file || typeof file !== \"string\") {\n this.warn(\"invalidFilename\", file)\n return false\n } else {\n return true\n }\n }, this)\n }\n }\n\n, fixBinField: function(data) {\n if (!data.bin) return;\n if (typeof data.bin === \"string\") {\n var b = {}\n var match\n if (match = data.name.match(/^@[^/]+[/](.*)$/)) {\n b[match[1]] = data.bin\n } else {\n b[data.name] = data.bin\n }\n data.bin = b\n }\n }\n\n, fixManField: function(data) {\n if (!data.man) return;\n if (typeof data.man === \"string\") {\n data.man = [ data.man ]\n }\n }\n, fixBundleDependenciesField: function(data) {\n var bdd = \"bundledDependencies\"\n var bd = \"bundleDependencies\"\n if (data[bdd] && !data[bd]) {\n data[bd] = data[bdd]\n delete data[bdd]\n }\n if (data[bd] && !Array.isArray(data[bd])) {\n this.warn(\"nonArrayBundleDependencies\")\n delete data[bd]\n } else if (data[bd]) {\n data[bd] = data[bd].filter(function(bd) {\n if (!bd || typeof bd !== 'string') {\n this.warn(\"nonStringBundleDependency\", bd)\n return false\n } else {\n if (!data.dependencies) {\n data.dependencies = {}\n }\n if (!data.dependencies.hasOwnProperty(bd)) {\n this.warn(\"nonDependencyBundleDependency\", bd)\n data.dependencies[bd] = \"*\"\n }\n return true\n }\n }, this)\n }\n }\n\n, fixDependencies: function(data, strict) {\n var loose = !strict\n objectifyDeps(data, this.warn)\n addOptionalDepsToDeps(data, this.warn)\n this.fixBundleDependenciesField(data)\n\n ;['dependencies','devDependencies'].forEach(function(deps) {\n if (!(deps in data)) return\n if (!data[deps] || typeof data[deps] !== \"object\") {\n this.warn(\"nonObjectDependencies\", deps)\n delete data[deps]\n return\n }\n Object.keys(data[deps]).forEach(function (d) {\n var r = data[deps][d]\n if (typeof r !== 'string') {\n this.warn(\"nonStringDependency\", d, JSON.stringify(r))\n delete data[deps][d]\n }\n var hosted = hostedGitInfo.fromUrl(data[deps][d])\n if (hosted) data[deps][d] = hosted.toString()\n }, this)\n }, this)\n }\n\n, fixModulesField: function (data) {\n if (data.modules) {\n this.warn(\"deprecatedModules\")\n delete data.modules\n }\n }\n\n, fixKeywordsField: function (data) {\n if (typeof data.keywords === \"string\") {\n data.keywords = data.keywords.split(/,\\s+/)\n }\n if (data.keywords && !Array.isArray(data.keywords)) {\n delete data.keywords\n this.warn(\"nonArrayKeywords\")\n } else if (data.keywords) {\n data.keywords = data.keywords.filter(function(kw) {\n if (typeof kw !== \"string\" || !kw) {\n this.warn(\"nonStringKeyword\");\n return false\n } else {\n return true\n }\n }, this)\n }\n }\n\n, fixVersionField: function(data, strict) {\n // allow \"loose\" semver 1.0 versions in non-strict mode\n // enforce strict semver 2.0 compliance in strict mode\n var loose = !strict\n if (!data.version) {\n data.version = \"\"\n return true\n }\n if (!semver.valid(data.version, loose)) {\n throw new Error('Invalid version: \"'+ data.version + '\"')\n }\n data.version = semver.clean(data.version, loose)\n return true\n }\n\n, fixPeople: function(data) {\n modifyPeople(data, unParsePerson)\n modifyPeople(data, parsePerson)\n }\n\n, fixNameField: function(data, options) {\n if (typeof options === \"boolean\") options = {strict: options}\n else if (typeof options === \"undefined\") options = {}\n var strict = options.strict\n if (!data.name && !strict) {\n data.name = \"\"\n return\n }\n if (typeof data.name !== \"string\") {\n throw new Error(\"name field must be a string.\")\n }\n if (!strict)\n data.name = data.name.trim()\n ensureValidName(data.name, strict, options.allowLegacyCase)\n if (isBuiltinModule(data.name))\n this.warn(\"conflictingName\", data.name)\n }\n\n\n, fixDescriptionField: function (data) {\n if (data.description && typeof data.description !== 'string') {\n this.warn(\"nonStringDescription\")\n delete data.description\n }\n if (data.readme && !data.description)\n data.description = extractDescription(data.readme)\n if(data.description === undefined) delete data.description;\n if (!data.description) this.warn(\"missingDescription\")\n }\n\n, fixReadmeField: function (data) {\n if (!data.readme) {\n this.warn(\"missingReadme\")\n data.readme = \"ERROR: No README data found!\"\n }\n }\n\n, fixBugsField: function(data) {\n if (!data.bugs && data.repository && data.repository.url) {\n var hosted = hostedGitInfo.fromUrl(data.repository.url)\n if(hosted && hosted.bugs()) {\n data.bugs = {url: hosted.bugs()}\n }\n }\n else if(data.bugs) {\n var emailRe = /^.+@.*\\..+$/\n if(typeof data.bugs == \"string\") {\n if(emailRe.test(data.bugs))\n data.bugs = {email:data.bugs}\n else if(url.parse(data.bugs).protocol)\n data.bugs = {url: data.bugs}\n else\n this.warn(\"nonEmailUrlBugsString\")\n }\n else {\n bugsTypos(data.bugs, this.warn)\n var oldBugs = data.bugs\n data.bugs = {}\n if(oldBugs.url) {\n if(typeof(oldBugs.url) == \"string\" && url.parse(oldBugs.url).protocol)\n data.bugs.url = oldBugs.url\n else\n this.warn(\"nonUrlBugsUrlField\")\n }\n if(oldBugs.email) {\n if(typeof(oldBugs.email) == \"string\" && emailRe.test(oldBugs.email))\n data.bugs.email = oldBugs.email\n else\n this.warn(\"nonEmailBugsEmailField\")\n }\n }\n if(!data.bugs.email && !data.bugs.url) {\n delete data.bugs\n this.warn(\"emptyNormalizedBugs\")\n }\n }\n }\n\n, fixHomepageField: function(data) {\n if (!data.homepage && data.repository && data.repository.url) {\n var hosted = hostedGitInfo.fromUrl(data.repository.url)\n if (hosted && hosted.docs()) data.homepage = hosted.docs()\n }\n if (!data.homepage) return\n\n if(typeof data.homepage !== \"string\") {\n this.warn(\"nonUrlHomepage\")\n return delete data.homepage\n }\n if(!url.parse(data.homepage).protocol) {\n this.warn(\"missingProtocolHomepage\")\n data.homepage = \"http://\" + data.homepage\n }\n }\n\n, fixLicenseField: function(data) {\n if (!data.license) {\n return this.warn(\"missingLicense\")\n } else{\n if (\n typeof(data.license) !== 'string' ||\n data.license.length < 1\n ) {\n this.warn(\"invalidLicense\")\n } else {\n if (!validateLicense(data.license).validForNewPackages)\n this.warn(\"invalidLicense\")\n }\n }\n }\n}\n\nfunction isValidScopedPackageName(spec) {\n if (spec.charAt(0) !== '@') return false\n\n var rest = spec.slice(1).split('/')\n if (rest.length !== 2) return false\n\n return rest[0] && rest[1] &&\n rest[0] === encodeURIComponent(rest[0]) &&\n rest[1] === encodeURIComponent(rest[1])\n}\n\nfunction isCorrectlyEncodedName(spec) {\n return !spec.match(/[\\/@\\s\\+%:]/) &&\n spec === encodeURIComponent(spec)\n}\n\nfunction ensureValidName (name, strict, allowLegacyCase) {\n if (name.charAt(0) === \".\" ||\n !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) ||\n (strict && (!allowLegacyCase) && name !== name.toLowerCase()) ||\n name.toLowerCase() === \"node_modules\" ||\n name.toLowerCase() === \"favicon.ico\") {\n throw new Error(\"Invalid name: \" + JSON.stringify(name))\n }\n}\n\nfunction modifyPeople (data, fn) {\n if (data.author) data.author = fn(data.author)\n ;[\"maintainers\", \"contributors\"].forEach(function (set) {\n if (!Array.isArray(data[set])) return;\n data[set] = data[set].map(fn)\n })\n return data\n}\n\nfunction unParsePerson (person) {\n if (typeof person === \"string\") return person\n var name = person.name || \"\"\n var u = person.url || person.web\n var url = u ? (\" (\"+u+\")\") : \"\"\n var e = person.email || person.mail\n var email = e ? (\" <\"+e+\">\") : \"\"\n return name+email+url\n}\n\nfunction parsePerson (person) {\n if (typeof person !== \"string\") return person\n var name = person.match(/^([^\\(<]+)/)\n var url = person.match(/\\(([^\\)]+)\\)/)\n var email = person.match(/<([^>]+)>/)\n var obj = {}\n if (name && name[0].trim()) obj.name = name[0].trim()\n if (email) obj.email = email[1];\n if (url) obj.url = url[1];\n return obj\n}\n\nfunction addOptionalDepsToDeps (data, warn) {\n var o = data.optionalDependencies\n if (!o) return;\n var d = data.dependencies || {}\n Object.keys(o).forEach(function (k) {\n d[k] = o[k]\n })\n data.dependencies = d\n}\n\nfunction depObjectify (deps, type, warn) {\n if (!deps) return {}\n if (typeof deps === \"string\") {\n deps = deps.trim().split(/[\\n\\r\\s\\t ,]+/)\n }\n if (!Array.isArray(deps)) return deps\n warn(\"deprecatedArrayDependencies\", type)\n var o = {}\n deps.filter(function (d) {\n return typeof d === \"string\"\n }).forEach(function(d) {\n d = d.trim().split(/(:?[@\\s><=])/)\n var dn = d.shift()\n var dv = d.join(\"\")\n dv = dv.trim()\n dv = dv.replace(/^@/, \"\")\n o[dn] = dv\n })\n return o\n}\n\nfunction objectifyDeps (data, warn) {\n depTypes.forEach(function (type) {\n if (!data[type]) return;\n data[type] = depObjectify(data[type], type, warn)\n })\n}\n\nfunction bugsTypos(bugs, warn) {\n if (!bugs) return\n Object.keys(bugs).forEach(function (k) {\n if (typos.bugs[k]) {\n warn(\"typo\", k, typos.bugs[k], \"bugs\")\n bugs[typos.bugs[k]] = bugs[k]\n delete bugs[k]\n }\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data" }, { "id": "225", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var parse = require('spdx-expression-parse');\nvar correct = require('spdx-correct');\n\nvar genericWarning = (\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN \"'\n);\n\nvar fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/;\n\nfunction startsWith(prefix, string) {\n return string.slice(0, prefix.length) === prefix;\n}\n\nfunction usesLicenseRef(ast) {\n if (ast.hasOwnProperty('license')) {\n var license = ast.license;\n return (\n startsWith('LicenseRef', license) ||\n startsWith('DocumentRef', license)\n );\n } else {\n return (\n usesLicenseRef(ast.left) ||\n usesLicenseRef(ast.right)\n );\n }\n}\n\nmodule.exports = function(argument) {\n var ast;\n\n try {\n ast = parse(argument);\n } catch (e) {\n var match\n if (\n argument === 'UNLICENSED' ||\n argument === 'UNLICENCED'\n ) {\n return {\n validForOldPackages: true,\n validForNewPackages: true,\n unlicensed: true\n };\n } else if (match = fileReferenceRE.exec(argument)) {\n return {\n validForOldPackages: true,\n validForNewPackages: true,\n inFile: match[1]\n };\n } else {\n var result = {\n validForOldPackages: false,\n validForNewPackages: false,\n warnings: [genericWarning]\n };\n var corrected = correct(argument);\n if (corrected) {\n result.warnings.push(\n 'license is similar to the valid expression \"' + corrected + '\"'\n );\n }\n return result;\n }\n }\n\n if (usesLicenseRef(ast)) {\n return {\n validForNewPackages: false,\n validForOldPackages: false,\n spdx: true,\n warnings: [genericWarning]\n };\n } else {\n return {\n validForNewPackages: true,\n validForOldPackages: true,\n spdx: true\n };\n }\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license" }, { "id": "226", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var parser = require('./parser').parser\n\nmodule.exports = function (argument) {\n return parser.parse(argument)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse" }, { "id": "227", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.js", "source": "(function (exports, require, module, __filename, __dirname) { /* parser generated by jison 0.4.17 */\n/*\n Returns a Parser object of the following structure:\n\n Parser: {\n yy: {}\n }\n\n Parser.prototype: {\n yy: {},\n trace: function(),\n symbols_: {associative list: name ==> number},\n terminals_: {associative list: number ==> name},\n productions_: [...],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),\n table: [...],\n defaultActions: {...},\n parseError: function(str, hash),\n parse: function(input),\n\n lexer: {\n EOF: 1,\n parseError: function(str, hash),\n setInput: function(input),\n input: function(),\n unput: function(str),\n more: function(),\n less: function(n),\n pastInput: function(),\n upcomingInput: function(),\n showPosition: function(),\n test_match: function(regex_match_array, rule_index),\n next: function(),\n lex: function(),\n begin: function(condition),\n popState: function(),\n _currentRules: function(),\n topState: function(),\n pushState: function(condition),\n\n options: {\n ranges: boolean (optional: true ==> token location info will include a .range[] member)\n flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)\n backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)\n },\n\n performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),\n rules: [...],\n conditions: {associative list: name ==> set},\n }\n }\n\n\n token location info (@$, _$, etc.): {\n first_line: n,\n last_line: n,\n first_column: n,\n last_column: n,\n range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)\n }\n\n\n the parseError function receives a 'hash' object with these members for lexer and parser errors: {\n text: (matched text)\n token: (the produced terminal token, if any)\n line: (yylineno)\n }\n while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {\n loc: (yylloc)\n expected: (string describing the set of expected tokens)\n recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)\n }\n*/\nvar spdxparse = (function(){\nvar o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,5],$V1=[1,6],$V2=[1,7],$V3=[1,4],$V4=[1,9],$V5=[1,10],$V6=[5,14,15,17],$V7=[5,12,14,15,17];\nvar parser = {trace: function trace() { },\nyy: {},\nsymbols_: {\"error\":2,\"start\":3,\"expression\":4,\"EOS\":5,\"simpleExpression\":6,\"LICENSE\":7,\"PLUS\":8,\"LICENSEREF\":9,\"DOCUMENTREF\":10,\"COLON\":11,\"WITH\":12,\"EXCEPTION\":13,\"AND\":14,\"OR\":15,\"OPEN\":16,\"CLOSE\":17,\"$accept\":0,\"$end\":1},\nterminals_: {2:\"error\",5:\"EOS\",7:\"LICENSE\",8:\"PLUS\",9:\"LICENSEREF\",10:\"DOCUMENTREF\",11:\"COLON\",12:\"WITH\",13:\"EXCEPTION\",14:\"AND\",15:\"OR\",16:\"OPEN\",17:\"CLOSE\"},\nproductions_: [0,[3,2],[6,1],[6,2],[6,1],[6,3],[4,1],[4,3],[4,3],[4,3],[4,3]],\nperformAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n/* this == yyval */\n\nvar $0 = $$.length - 1;\nswitch (yystate) {\ncase 1:\nreturn this.$ = $$[$0-1]\nbreak;\ncase 2: case 4: case 5:\nthis.$ = {license: yytext}\nbreak;\ncase 3:\nthis.$ = {license: $$[$0-1], plus: true}\nbreak;\ncase 6:\nthis.$ = $$[$0]\nbreak;\ncase 7:\nthis.$ = {exception: $$[$0]}\nthis.$.license = $$[$0-2].license\nif ($$[$0-2].hasOwnProperty('plus')) {\n this.$.plus = $$[$0-2].plus\n}\nbreak;\ncase 8:\nthis.$ = {conjunction: 'and', left: $$[$0-2], right: $$[$0]}\nbreak;\ncase 9:\nthis.$ = {conjunction: 'or', left: $$[$0-2], right: $$[$0]}\nbreak;\ncase 10:\nthis.$ = $$[$0-1]\nbreak;\n}\n},\ntable: [{3:1,4:2,6:3,7:$V0,9:$V1,10:$V2,16:$V3},{1:[3]},{5:[1,8],14:$V4,15:$V5},o($V6,[2,6],{12:[1,11]}),{4:12,6:3,7:$V0,9:$V1,10:$V2,16:$V3},o($V7,[2,2],{8:[1,13]}),o($V7,[2,4]),{11:[1,14]},{1:[2,1]},{4:15,6:3,7:$V0,9:$V1,10:$V2,16:$V3},{4:16,6:3,7:$V0,9:$V1,10:$V2,16:$V3},{13:[1,17]},{14:$V4,15:$V5,17:[1,18]},o($V7,[2,3]),{9:[1,19]},o($V6,[2,8]),o([5,15,17],[2,9],{14:$V4}),o($V6,[2,7]),o($V6,[2,10]),o($V7,[2,5])],\ndefaultActions: {8:[2,1]},\nparseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n function _parseError (msg, hash) {\n this.message = msg;\n this.hash = hash;\n }\n _parseError.prototype = Error;\n\n throw new _parseError(str, hash);\n }\n},\nparse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer;\n sharedState.yy.parser = this;\n if (typeof lexer.yylloc == 'undefined') {\n lexer.yylloc = {};\n }\n var yyloc = lexer.yylloc;\n lstack.push(yyloc);\n var ranges = lexer.options && lexer.options.ranges;\n if (typeof sharedState.yy.parseError === 'function') {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n _token_stack:\n var lex = function () {\n var token;\n token = lexer.lex() || EOF;\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n return token;\n };\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == 'undefined') {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n var errStr = '';\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push('\\'' + this.terminals_[p] + '\\'');\n }\n }\n if (lexer.showPosition) {\n errStr = 'Parse error on line ' + (yylineno + 1) + ':\\n' + lexer.showPosition() + '\\nExpecting ' + expected.join(', ') + ', got \\'' + (this.terminals_[symbol] || symbol) + '\\'';\n } else {\n errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\\'' + (this.terminals_[symbol] || symbol) + '\\'');\n }\n this.parseError(errStr, {\n text: lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer.yylineno,\n loc: yyloc,\n expected: expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer.yytext);\n lstack.push(lexer.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== 'undefined') {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n}};\n/* generated by jison-lex 0.3.4 */\nvar lexer = (function(){\nvar lexer = ({\n\nEOF:1,\n\nparseError:function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n\n// resets the lexer, sets new input\nsetInput:function (input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0,0];\n }\n this.offset = 0;\n return this;\n },\n\n// consumes and returns one char from the input\ninput:function () {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n\n this._input = this._input.slice(1);\n return ch;\n },\n\n// unshifts one char (or a string) into the input\nunput:function (ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ?\n (lines.length === oldLines.length ? this.yylloc.first_column : 0)\n + oldLines[oldLines.length - lines.length].length - lines[0].length :\n this.yylloc.first_column - len\n };\n\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n\n// When called from action, caches matched text and appends it on next action\nmore:function () {\n this._more = true;\n return this;\n },\n\n// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\nreject:function () {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n\n }\n return this;\n },\n\n// retain first n characters of the match\nless:function (n) {\n this.unput(this.match.slice(n));\n },\n\n// displays already matched input, i.e. for error messages\npastInput:function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\\n/g, \"\");\n },\n\n// displays upcoming input, i.e. for error messages\nupcomingInput:function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20-next.length);\n }\n return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n },\n\n// displays the character position where the lexing error occurred, i.e. for error messages\nshowPosition:function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n\n// test the lexed token: return FALSE when not a match, otherwise return token\ntest_match:function (match, indexed_rule) {\n var token,\n lines,\n backup;\n\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ?\n lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length :\n this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n // recover context\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false; // rule action called reject() implying the next rule should be tested instead.\n }\n return false;\n },\n\n// return next match in input\nnext:function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n\n var token,\n match,\n tempMatch,\n index;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue; // rule action called reject() implying a rule MISmatch.\n } else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n\n// return next match that has a token\nlex:function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n\n// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\nbegin:function begin(condition) {\n this.conditionStack.push(condition);\n },\n\n// pop the previously active lexer condition state off the condition stack\npopState:function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n\n// produce the lexer rule set which is active for the currently active lexer condition state\n_currentRules:function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n\n// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\ntopState:function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n\n// alias for begin(condition)\npushState:function pushState(condition) {\n this.begin(condition);\n },\n\n// return the number of states currently on the stack\nstateStackSize:function stateStackSize() {\n return this.conditionStack.length;\n },\noptions: {},\nperformAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {\nvar YYSTATE=YY_START;\nswitch($avoiding_name_collisions) {\ncase 0:return 5\nbreak;\ncase 1:/* skip whitespace */\nbreak;\ncase 2:return 8\nbreak;\ncase 3:return 16\nbreak;\ncase 4:return 17\nbreak;\ncase 5:return 11\nbreak;\ncase 6:return 10\nbreak;\ncase 7:return 9\nbreak;\ncase 8:return 14\nbreak;\ncase 9:return 15\nbreak;\ncase 10:return 12\nbreak;\ncase 11:return 7\nbreak;\ncase 12:return 7\nbreak;\ncase 13:return 7\nbreak;\ncase 14:return 7\nbreak;\ncase 15:return 7\nbreak;\ncase 16:return 7\nbreak;\ncase 17:return 7\nbreak;\ncase 18:return 7\nbreak;\ncase 19:return 7\nbreak;\ncase 20:return 7\nbreak;\ncase 21:return 7\nbreak;\ncase 22:return 7\nbreak;\ncase 23:return 7\nbreak;\ncase 24:return 13\nbreak;\ncase 25:return 13\nbreak;\ncase 26:return 13\nbreak;\ncase 27:return 13\nbreak;\ncase 28:return 13\nbreak;\ncase 29:return 13\nbreak;\ncase 30:return 13\nbreak;\ncase 31:return 13\nbreak;\ncase 32:return 7\nbreak;\ncase 33:return 13\nbreak;\ncase 34:return 7\nbreak;\ncase 35:return 13\nbreak;\ncase 36:return 7\nbreak;\ncase 37:return 13\nbreak;\ncase 38:return 13\nbreak;\ncase 39:return 7\nbreak;\ncase 40:return 13\nbreak;\ncase 41:return 13\nbreak;\ncase 42:return 13\nbreak;\ncase 43:return 13\nbreak;\ncase 44:return 13\nbreak;\ncase 45:return 7\nbreak;\ncase 46:return 13\nbreak;\ncase 47:return 7\nbreak;\ncase 48:return 7\nbreak;\ncase 49:return 7\nbreak;\ncase 50:return 7\nbreak;\ncase 51:return 7\nbreak;\ncase 52:return 7\nbreak;\ncase 53:return 7\nbreak;\ncase 54:return 7\nbreak;\ncase 55:return 7\nbreak;\ncase 56:return 7\nbreak;\ncase 57:return 7\nbreak;\ncase 58:return 7\nbreak;\ncase 59:return 7\nbreak;\ncase 60:return 7\nbreak;\ncase 61:return 7\nbreak;\ncase 62:return 7\nbreak;\ncase 63:return 13\nbreak;\ncase 64:return 7\nbreak;\ncase 65:return 7\nbreak;\ncase 66:return 13\nbreak;\ncase 67:return 7\nbreak;\ncase 68:return 7\nbreak;\ncase 69:return 7\nbreak;\ncase 70:return 7\nbreak;\ncase 71:return 7\nbreak;\ncase 72:return 7\nbreak;\ncase 73:return 13\nbreak;\ncase 74:return 7\nbreak;\ncase 75:return 13\nbreak;\ncase 76:return 7\nbreak;\ncase 77:return 7\nbreak;\ncase 78:return 7\nbreak;\ncase 79:return 7\nbreak;\ncase 80:return 7\nbreak;\ncase 81:return 7\nbreak;\ncase 82:return 7\nbreak;\ncase 83:return 7\nbreak;\ncase 84:return 7\nbreak;\ncase 85:return 7\nbreak;\ncase 86:return 7\nbreak;\ncase 87:return 7\nbreak;\ncase 88:return 7\nbreak;\ncase 89:return 7\nbreak;\ncase 90:return 7\nbreak;\ncase 91:return 7\nbreak;\ncase 92:return 7\nbreak;\ncase 93:return 7\nbreak;\ncase 94:return 7\nbreak;\ncase 95:return 7\nbreak;\ncase 96:return 7\nbreak;\ncase 97:return 7\nbreak;\ncase 98:return 7\nbreak;\ncase 99:return 7\nbreak;\ncase 100:return 7\nbreak;\ncase 101:return 7\nbreak;\ncase 102:return 7\nbreak;\ncase 103:return 7\nbreak;\ncase 104:return 7\nbreak;\ncase 105:return 7\nbreak;\ncase 106:return 7\nbreak;\ncase 107:return 7\nbreak;\ncase 108:return 7\nbreak;\ncase 109:return 7\nbreak;\ncase 110:return 7\nbreak;\ncase 111:return 7\nbreak;\ncase 112:return 7\nbreak;\ncase 113:return 7\nbreak;\ncase 114:return 7\nbreak;\ncase 115:return 7\nbreak;\ncase 116:return 7\nbreak;\ncase 117:return 7\nbreak;\ncase 118:return 7\nbreak;\ncase 119:return 7\nbreak;\ncase 120:return 7\nbreak;\ncase 121:return 7\nbreak;\ncase 122:return 7\nbreak;\ncase 123:return 7\nbreak;\ncase 124:return 7\nbreak;\ncase 125:return 7\nbreak;\ncase 126:return 7\nbreak;\ncase 127:return 7\nbreak;\ncase 128:return 7\nbreak;\ncase 129:return 7\nbreak;\ncase 130:return 7\nbreak;\ncase 131:return 7\nbreak;\ncase 132:return 7\nbreak;\ncase 133:return 7\nbreak;\ncase 134:return 7\nbreak;\ncase 135:return 7\nbreak;\ncase 136:return 7\nbreak;\ncase 137:return 7\nbreak;\ncase 138:return 7\nbreak;\ncase 139:return 7\nbreak;\ncase 140:return 7\nbreak;\ncase 141:return 7\nbreak;\ncase 142:return 7\nbreak;\ncase 143:return 7\nbreak;\ncase 144:return 7\nbreak;\ncase 145:return 7\nbreak;\ncase 146:return 7\nbreak;\ncase 147:return 7\nbreak;\ncase 148:return 7\nbreak;\ncase 149:return 7\nbreak;\ncase 150:return 7\nbreak;\ncase 151:return 7\nbreak;\ncase 152:return 7\nbreak;\ncase 153:return 7\nbreak;\ncase 154:return 7\nbreak;\ncase 155:return 7\nbreak;\ncase 156:return 7\nbreak;\ncase 157:return 7\nbreak;\ncase 158:return 7\nbreak;\ncase 159:return 7\nbreak;\ncase 160:return 7\nbreak;\ncase 161:return 7\nbreak;\ncase 162:return 7\nbreak;\ncase 163:return 7\nbreak;\ncase 164:return 7\nbreak;\ncase 165:return 7\nbreak;\ncase 166:return 7\nbreak;\ncase 167:return 7\nbreak;\ncase 168:return 7\nbreak;\ncase 169:return 7\nbreak;\ncase 170:return 7\nbreak;\ncase 171:return 7\nbreak;\ncase 172:return 7\nbreak;\ncase 173:return 7\nbreak;\ncase 174:return 7\nbreak;\ncase 175:return 7\nbreak;\ncase 176:return 7\nbreak;\ncase 177:return 7\nbreak;\ncase 178:return 7\nbreak;\ncase 179:return 7\nbreak;\ncase 180:return 7\nbreak;\ncase 181:return 7\nbreak;\ncase 182:return 7\nbreak;\ncase 183:return 7\nbreak;\ncase 184:return 7\nbreak;\ncase 185:return 7\nbreak;\ncase 186:return 7\nbreak;\ncase 187:return 7\nbreak;\ncase 188:return 7\nbreak;\ncase 189:return 7\nbreak;\ncase 190:return 7\nbreak;\ncase 191:return 7\nbreak;\ncase 192:return 7\nbreak;\ncase 193:return 7\nbreak;\ncase 194:return 7\nbreak;\ncase 195:return 7\nbreak;\ncase 196:return 7\nbreak;\ncase 197:return 7\nbreak;\ncase 198:return 7\nbreak;\ncase 199:return 7\nbreak;\ncase 200:return 7\nbreak;\ncase 201:return 7\nbreak;\ncase 202:return 7\nbreak;\ncase 203:return 7\nbreak;\ncase 204:return 7\nbreak;\ncase 205:return 7\nbreak;\ncase 206:return 7\nbreak;\ncase 207:return 7\nbreak;\ncase 208:return 7\nbreak;\ncase 209:return 7\nbreak;\ncase 210:return 7\nbreak;\ncase 211:return 7\nbreak;\ncase 212:return 7\nbreak;\ncase 213:return 7\nbreak;\ncase 214:return 7\nbreak;\ncase 215:return 7\nbreak;\ncase 216:return 7\nbreak;\ncase 217:return 7\nbreak;\ncase 218:return 7\nbreak;\ncase 219:return 7\nbreak;\ncase 220:return 7\nbreak;\ncase 221:return 7\nbreak;\ncase 222:return 7\nbreak;\ncase 223:return 7\nbreak;\ncase 224:return 7\nbreak;\ncase 225:return 7\nbreak;\ncase 226:return 7\nbreak;\ncase 227:return 7\nbreak;\ncase 228:return 7\nbreak;\ncase 229:return 7\nbreak;\ncase 230:return 7\nbreak;\ncase 231:return 7\nbreak;\ncase 232:return 7\nbreak;\ncase 233:return 7\nbreak;\ncase 234:return 7\nbreak;\ncase 235:return 7\nbreak;\ncase 236:return 7\nbreak;\ncase 237:return 7\nbreak;\ncase 238:return 7\nbreak;\ncase 239:return 7\nbreak;\ncase 240:return 7\nbreak;\ncase 241:return 7\nbreak;\ncase 242:return 7\nbreak;\ncase 243:return 7\nbreak;\ncase 244:return 7\nbreak;\ncase 245:return 7\nbreak;\ncase 246:return 7\nbreak;\ncase 247:return 7\nbreak;\ncase 248:return 7\nbreak;\ncase 249:return 7\nbreak;\ncase 250:return 7\nbreak;\ncase 251:return 7\nbreak;\ncase 252:return 7\nbreak;\ncase 253:return 7\nbreak;\ncase 254:return 7\nbreak;\ncase 255:return 7\nbreak;\ncase 256:return 7\nbreak;\ncase 257:return 7\nbreak;\ncase 258:return 7\nbreak;\ncase 259:return 7\nbreak;\ncase 260:return 7\nbreak;\ncase 261:return 7\nbreak;\ncase 262:return 7\nbreak;\ncase 263:return 7\nbreak;\ncase 264:return 7\nbreak;\ncase 265:return 7\nbreak;\ncase 266:return 7\nbreak;\ncase 267:return 7\nbreak;\ncase 268:return 7\nbreak;\ncase 269:return 7\nbreak;\ncase 270:return 7\nbreak;\ncase 271:return 7\nbreak;\ncase 272:return 7\nbreak;\ncase 273:return 7\nbreak;\ncase 274:return 7\nbreak;\ncase 275:return 7\nbreak;\ncase 276:return 7\nbreak;\ncase 277:return 7\nbreak;\ncase 278:return 7\nbreak;\ncase 279:return 7\nbreak;\ncase 280:return 7\nbreak;\ncase 281:return 7\nbreak;\ncase 282:return 7\nbreak;\ncase 283:return 7\nbreak;\ncase 284:return 7\nbreak;\ncase 285:return 7\nbreak;\ncase 286:return 7\nbreak;\ncase 287:return 7\nbreak;\ncase 288:return 7\nbreak;\ncase 289:return 7\nbreak;\ncase 290:return 7\nbreak;\ncase 291:return 7\nbreak;\ncase 292:return 7\nbreak;\ncase 293:return 7\nbreak;\ncase 294:return 7\nbreak;\ncase 295:return 7\nbreak;\ncase 296:return 7\nbreak;\ncase 297:return 7\nbreak;\ncase 298:return 7\nbreak;\ncase 299:return 7\nbreak;\ncase 300:return 7\nbreak;\ncase 301:return 7\nbreak;\ncase 302:return 7\nbreak;\ncase 303:return 7\nbreak;\ncase 304:return 7\nbreak;\ncase 305:return 7\nbreak;\ncase 306:return 7\nbreak;\ncase 307:return 7\nbreak;\ncase 308:return 7\nbreak;\ncase 309:return 7\nbreak;\ncase 310:return 7\nbreak;\ncase 311:return 7\nbreak;\ncase 312:return 7\nbreak;\ncase 313:return 7\nbreak;\ncase 314:return 7\nbreak;\ncase 315:return 7\nbreak;\ncase 316:return 7\nbreak;\ncase 317:return 7\nbreak;\ncase 318:return 7\nbreak;\ncase 319:return 7\nbreak;\ncase 320:return 7\nbreak;\ncase 321:return 7\nbreak;\ncase 322:return 7\nbreak;\ncase 323:return 7\nbreak;\ncase 324:return 7\nbreak;\ncase 325:return 7\nbreak;\ncase 326:return 7\nbreak;\ncase 327:return 7\nbreak;\ncase 328:return 7\nbreak;\ncase 329:return 7\nbreak;\ncase 330:return 7\nbreak;\ncase 331:return 7\nbreak;\ncase 332:return 7\nbreak;\ncase 333:return 7\nbreak;\ncase 334:return 7\nbreak;\ncase 335:return 7\nbreak;\ncase 336:return 7\nbreak;\ncase 337:return 7\nbreak;\ncase 338:return 7\nbreak;\ncase 339:return 7\nbreak;\ncase 340:return 7\nbreak;\ncase 341:return 7\nbreak;\ncase 342:return 7\nbreak;\ncase 343:return 7\nbreak;\ncase 344:return 7\nbreak;\ncase 345:return 7\nbreak;\ncase 346:return 7\nbreak;\ncase 347:return 7\nbreak;\ncase 348:return 7\nbreak;\ncase 349:return 7\nbreak;\ncase 350:return 7\nbreak;\ncase 351:return 7\nbreak;\ncase 352:return 7\nbreak;\ncase 353:return 7\nbreak;\ncase 354:return 7\nbreak;\ncase 355:return 7\nbreak;\ncase 356:return 7\nbreak;\ncase 357:return 7\nbreak;\ncase 358:return 7\nbreak;\ncase 359:return 7\nbreak;\ncase 360:return 7\nbreak;\ncase 361:return 7\nbreak;\ncase 362:return 7\nbreak;\ncase 363:return 7\nbreak;\ncase 364:return 7\nbreak;\n}\n},\nrules: [/^(?:$)/,/^(?:\\s+)/,/^(?:\\+)/,/^(?:\\()/,/^(?:\\))/,/^(?::)/,/^(?:DocumentRef-([0-9A-Za-z-+.]+))/,/^(?:LicenseRef-([0-9A-Za-z-+.]+))/,/^(?:AND)/,/^(?:OR)/,/^(?:WITH)/,/^(?:BSD-3-Clause-No-Nuclear-License-2014)/,/^(?:BSD-3-Clause-No-Nuclear-Warranty)/,/^(?:GPL-2\\.0-with-classpath-exception)/,/^(?:GPL-3\\.0-with-autoconf-exception)/,/^(?:GPL-2\\.0-with-autoconf-exception)/,/^(?:BSD-3-Clause-No-Nuclear-License)/,/^(?:MPL-2\\.0-no-copyleft-exception)/,/^(?:GPL-2\\.0-with-bison-exception)/,/^(?:GPL-2\\.0-with-font-exception)/,/^(?:GPL-2\\.0-with-GCC-exception)/,/^(?:CNRI-Python-GPL-Compatible)/,/^(?:GPL-3\\.0-with-GCC-exception)/,/^(?:BSD-3-Clause-Attribution)/,/^(?:Classpath-exception-2\\.0)/,/^(?:WxWindows-exception-3\\.1)/,/^(?:freertos-exception-2\\.0)/,/^(?:Autoconf-exception-3\\.0)/,/^(?:i2p-gpl-java-exception)/,/^(?:gnu-javamail-exception)/,/^(?:Nokia-Qt-exception-1\\.1)/,/^(?:Autoconf-exception-2\\.0)/,/^(?:BSD-2-Clause-FreeBSD)/,/^(?:u-boot-exception-2\\.0)/,/^(?:zlib-acknowledgement)/,/^(?:Bison-exception-2\\.2)/,/^(?:BSD-2-Clause-NetBSD)/,/^(?:CLISP-exception-2\\.0)/,/^(?:eCos-exception-2\\.0)/,/^(?:BSD-3-Clause-Clear)/,/^(?:Font-exception-2\\.0)/,/^(?:FLTK-exception-2\\.0)/,/^(?:GCC-exception-2\\.0)/,/^(?:Qwt-exception-1\\.0)/,/^(?:Libtool-exception)/,/^(?:BSD-3-Clause-LBNL)/,/^(?:GCC-exception-3\\.1)/,/^(?:Artistic-1\\.0-Perl)/,/^(?:Artistic-1\\.0-cl8)/,/^(?:CC-BY-NC-SA-2\\.5)/,/^(?:MIT-advertising)/,/^(?:BSD-Source-Code)/,/^(?:CC-BY-NC-SA-4\\.0)/,/^(?:LiLiQ-Rplus-1\\.1)/,/^(?:CC-BY-NC-SA-3\\.0)/,/^(?:BSD-4-Clause-UC)/,/^(?:CC-BY-NC-SA-2\\.0)/,/^(?:CC-BY-NC-SA-1\\.0)/,/^(?:CC-BY-NC-ND-4\\.0)/,/^(?:CC-BY-NC-ND-3\\.0)/,/^(?:CC-BY-NC-ND-2\\.5)/,/^(?:CC-BY-NC-ND-2\\.0)/,/^(?:CC-BY-NC-ND-1\\.0)/,/^(?:LZMA-exception)/,/^(?:BitTorrent-1\\.1)/,/^(?:CrystalStacker)/,/^(?:FLTK-exception)/,/^(?:SugarCRM-1\\.1\\.3)/,/^(?:BSD-Protection)/,/^(?:BitTorrent-1\\.0)/,/^(?:HaskellReport)/,/^(?:Interbase-1\\.0)/,/^(?:StandardML-NJ)/,/^(?:mif-exception)/,/^(?:Frameworx-1\\.0)/,/^(?:389-exception)/,/^(?:CC-BY-NC-2\\.0)/,/^(?:CC-BY-NC-2\\.5)/,/^(?:CC-BY-NC-3\\.0)/,/^(?:CC-BY-NC-4\\.0)/,/^(?:W3C-19980720)/,/^(?:CC-BY-SA-1\\.0)/,/^(?:CC-BY-SA-2\\.0)/,/^(?:CC-BY-SA-2\\.5)/,/^(?:CC-BY-ND-2\\.0)/,/^(?:CC-BY-SA-4\\.0)/,/^(?:CC-BY-SA-3\\.0)/,/^(?:Artistic-1\\.0)/,/^(?:Artistic-2\\.0)/,/^(?:CC-BY-ND-2\\.5)/,/^(?:CC-BY-ND-3\\.0)/,/^(?:CC-BY-ND-4\\.0)/,/^(?:CC-BY-ND-1\\.0)/,/^(?:BSD-4-Clause)/,/^(?:BSD-3-Clause)/,/^(?:BSD-2-Clause)/,/^(?:CC-BY-NC-1\\.0)/,/^(?:bzip2-1\\.0\\.6)/,/^(?:Unicode-TOU)/,/^(?:CNRI-Jython)/,/^(?:ImageMagick)/,/^(?:Adobe-Glyph)/,/^(?:CUA-OPL-1\\.0)/,/^(?:OLDAP-2\\.2\\.2)/,/^(?:LiLiQ-R-1\\.1)/,/^(?:bzip2-1\\.0\\.5)/,/^(?:LiLiQ-P-1\\.1)/,/^(?:OLDAP-2\\.0\\.1)/,/^(?:OLDAP-2\\.2\\.1)/,/^(?:CNRI-Python)/,/^(?:XFree86-1\\.1)/,/^(?:OSET-PL-2\\.1)/,/^(?:Apache-2\\.0)/,/^(?:Watcom-1\\.0)/,/^(?:PostgreSQL)/,/^(?:Python-2\\.0)/,/^(?:RHeCos-1\\.1)/,/^(?:EUDatagrid)/,/^(?:Spencer-99)/,/^(?:Intel-ACPI)/,/^(?:CECILL-1\\.0)/,/^(?:CECILL-1\\.1)/,/^(?:JasPer-2\\.0)/,/^(?:CECILL-2\\.0)/,/^(?:CECILL-2\\.1)/,/^(?:gSOAP-1\\.3b)/,/^(?:Spencer-94)/,/^(?:Apache-1\\.1)/,/^(?:Spencer-86)/,/^(?:Apache-1\\.0)/,/^(?:ClArtistic)/,/^(?:TORQUE-1\\.1)/,/^(?:CATOSL-1\\.1)/,/^(?:Adobe-2006)/,/^(?:Zimbra-1\\.4)/,/^(?:Zimbra-1\\.3)/,/^(?:Condor-1\\.1)/,/^(?:CC-BY-3\\.0)/,/^(?:CC-BY-2\\.5)/,/^(?:OLDAP-2\\.4)/,/^(?:SGI-B-1\\.1)/,/^(?:SISSL-1\\.2)/,/^(?:SGI-B-1\\.0)/,/^(?:OLDAP-2\\.3)/,/^(?:CC-BY-4\\.0)/,/^(?:Crossword)/,/^(?:SimPL-2\\.0)/,/^(?:OLDAP-2\\.2)/,/^(?:OLDAP-2\\.1)/,/^(?:ErlPL-1\\.1)/,/^(?:LPPL-1\\.3a)/,/^(?:LPPL-1\\.3c)/,/^(?:OLDAP-2\\.0)/,/^(?:Leptonica)/,/^(?:CPOL-1\\.02)/,/^(?:OLDAP-1\\.4)/,/^(?:OLDAP-1\\.3)/,/^(?:CC-BY-2\\.0)/,/^(?:Unlicense)/,/^(?:OLDAP-2\\.8)/,/^(?:OLDAP-1\\.2)/,/^(?:MakeIndex)/,/^(?:OLDAP-2\\.7)/,/^(?:OLDAP-1\\.1)/,/^(?:Sleepycat)/,/^(?:D-FSL-1\\.0)/,/^(?:CC-BY-1\\.0)/,/^(?:OLDAP-2\\.6)/,/^(?:WXwindows)/,/^(?:NPOSL-3\\.0)/,/^(?:FreeImage)/,/^(?:SGI-B-2\\.0)/,/^(?:OLDAP-2\\.5)/,/^(?:Beerware)/,/^(?:Newsletr)/,/^(?:NBPL-1\\.0)/,/^(?:NASA-1\\.3)/,/^(?:NLOD-1\\.0)/,/^(?:AGPL-1\\.0)/,/^(?:OCLC-2\\.0)/,/^(?:ODbL-1\\.0)/,/^(?:PDDL-1\\.0)/,/^(?:Motosoto)/,/^(?:Afmparse)/,/^(?:ANTLR-PD)/,/^(?:LPL-1\\.02)/,/^(?:Abstyles)/,/^(?:eCos-2\\.0)/,/^(?:APSL-1\\.0)/,/^(?:LPPL-1\\.2)/,/^(?:LPPL-1\\.1)/,/^(?:LPPL-1\\.0)/,/^(?:APSL-1\\.1)/,/^(?:APSL-2\\.0)/,/^(?:Info-ZIP)/,/^(?:Zend-2\\.0)/,/^(?:IBM-pibs)/,/^(?:LGPL-2\\.0)/,/^(?:LGPL-3\\.0)/,/^(?:LGPL-2\\.1)/,/^(?:GFDL-1\\.3)/,/^(?:PHP-3\\.01)/,/^(?:GFDL-1\\.2)/,/^(?:GFDL-1\\.1)/,/^(?:AGPL-3\\.0)/,/^(?:Giftware)/,/^(?:EUPL-1\\.1)/,/^(?:RPSL-1\\.0)/,/^(?:EUPL-1\\.0)/,/^(?:MIT-enna)/,/^(?:CECILL-B)/,/^(?:diffmark)/,/^(?:CECILL-C)/,/^(?:CDDL-1\\.0)/,/^(?:Sendmail)/,/^(?:CDDL-1\\.1)/,/^(?:CPAL-1\\.0)/,/^(?:APSL-1\\.2)/,/^(?:NPL-1\\.1)/,/^(?:AFL-1\\.2)/,/^(?:Caldera)/,/^(?:AFL-2\\.0)/,/^(?:FSFULLR)/,/^(?:AFL-2\\.1)/,/^(?:VSL-1\\.0)/,/^(?:VOSTROM)/,/^(?:UPL-1\\.0)/,/^(?:Dotseqn)/,/^(?:CPL-1\\.0)/,/^(?:dvipdfm)/,/^(?:EPL-1\\.0)/,/^(?:OCCT-PL)/,/^(?:ECL-1\\.0)/,/^(?:Latex2e)/,/^(?:ECL-2\\.0)/,/^(?:GPL-1\\.0)/,/^(?:GPL-2\\.0)/,/^(?:GPL-3\\.0)/,/^(?:AFL-3\\.0)/,/^(?:LAL-1\\.2)/,/^(?:LAL-1\\.3)/,/^(?:EFL-1\\.0)/,/^(?:EFL-2\\.0)/,/^(?:gnuplot)/,/^(?:Aladdin)/,/^(?:LPL-1\\.0)/,/^(?:libtiff)/,/^(?:Entessa)/,/^(?:AMDPLPA)/,/^(?:IPL-1\\.0)/,/^(?:OPL-1\\.0)/,/^(?:OSL-1\\.0)/,/^(?:OSL-1\\.1)/,/^(?:OSL-2\\.0)/,/^(?:OSL-2\\.1)/,/^(?:OSL-3\\.0)/,/^(?:OpenSSL)/,/^(?:ZPL-2\\.1)/,/^(?:PHP-3\\.0)/,/^(?:ZPL-2\\.0)/,/^(?:ZPL-1\\.1)/,/^(?:CC0-1\\.0)/,/^(?:SPL-1\\.0)/,/^(?:psutils)/,/^(?:MPL-1\\.0)/,/^(?:QPL-1\\.0)/,/^(?:MPL-1\\.1)/,/^(?:MPL-2\\.0)/,/^(?:APL-1\\.0)/,/^(?:RPL-1\\.1)/,/^(?:RPL-1\\.5)/,/^(?:MIT-CMU)/,/^(?:Multics)/,/^(?:Eurosym)/,/^(?:BSL-1\\.0)/,/^(?:MIT-feh)/,/^(?:Saxpath)/,/^(?:Borceux)/,/^(?:OFL-1\\.1)/,/^(?:OFL-1\\.0)/,/^(?:AFL-1\\.1)/,/^(?:YPL-1\\.1)/,/^(?:YPL-1\\.0)/,/^(?:NPL-1\\.0)/,/^(?:iMatix)/,/^(?:mpich2)/,/^(?:APAFML)/,/^(?:Bahyph)/,/^(?:RSA-MD)/,/^(?:psfrag)/,/^(?:Plexus)/,/^(?:eGenix)/,/^(?:Glulxe)/,/^(?:SAX-PD)/,/^(?:Imlib2)/,/^(?:Wsuipa)/,/^(?:LGPLLR)/,/^(?:Libpng)/,/^(?:xinetd)/,/^(?:MITNFA)/,/^(?:NetCDF)/,/^(?:Naumen)/,/^(?:SMPPL)/,/^(?:Nunit)/,/^(?:FSFUL)/,/^(?:GL2PS)/,/^(?:SMLNJ)/,/^(?:Rdisc)/,/^(?:Noweb)/,/^(?:Nokia)/,/^(?:SISSL)/,/^(?:Qhull)/,/^(?:Intel)/,/^(?:Glide)/,/^(?:Xerox)/,/^(?:AMPAS)/,/^(?:WTFPL)/,/^(?:MS-PL)/,/^(?:XSkat)/,/^(?:MS-RL)/,/^(?:MirOS)/,/^(?:RSCPL)/,/^(?:TMate)/,/^(?:OGTSL)/,/^(?:FSFAP)/,/^(?:NCSA)/,/^(?:Zlib)/,/^(?:SCEA)/,/^(?:SNIA)/,/^(?:NGPL)/,/^(?:NOSL)/,/^(?:ADSL)/,/^(?:MTLL)/,/^(?:NLPL)/,/^(?:Ruby)/,/^(?:JSON)/,/^(?:Barr)/,/^(?:0BSD)/,/^(?:Xnet)/,/^(?:Cube)/,/^(?:curl)/,/^(?:DSDP)/,/^(?:Fair)/,/^(?:HPND)/,/^(?:TOSL)/,/^(?:IJG)/,/^(?:SWL)/,/^(?:Vim)/,/^(?:FTL)/,/^(?:ICU)/,/^(?:OML)/,/^(?:NRL)/,/^(?:DOC)/,/^(?:TCL)/,/^(?:W3C)/,/^(?:NTP)/,/^(?:IPA)/,/^(?:ISC)/,/^(?:X11)/,/^(?:AAL)/,/^(?:AML)/,/^(?:xpp)/,/^(?:Zed)/,/^(?:MIT)/,/^(?:Mup)/],\nconditions: {\"INITIAL\":{\"rules\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364],\"inclusive\":true}}\n});\nreturn lexer;\n})();\nparser.lexer = lexer;\nfunction Parser () {\n this.yy = {};\n}\nParser.prototype = parser;parser.Parser = Parser;\nreturn new Parser;\n})();\n\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexports.parser = spdxparse;\nexports.Parser = spdxparse.Parser;\nexports.parse = function () { return spdxparse.parse.apply(spdxparse, arguments); };\nexports.main = function commonjsMain(args) {\n if (!args[1]) {\n console.log('Usage: '+args[0]+' FILE');\n process.exit(1);\n }\n var source = require('fs').readFileSync(require('path').normalize(args[1]), \"utf8\");\n return exports.parser.parse(source);\n};\nif (typeof module !== 'undefined' && require.main === module) {\n exports.main(process.argv.slice(1));\n}\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse" }, { "id": "222", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/common.js", "source": "(function (exports, require, module, __filename, __dirname) { exports.alphasort = alphasort\nexports.alphasorti = alphasorti\nexports.setopts = setopts\nexports.ownProp = ownProp\nexports.makeAbs = makeAbs\nexports.finish = finish\nexports.mark = mark\nexports.isIgnored = isIgnored\nexports.childrenIgnored = childrenIgnored\n\nfunction ownProp (obj, field) {\n return Object.prototype.hasOwnProperty.call(obj, field)\n}\n\nvar path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasorti (a, b) {\n return a.toLowerCase().localeCompare(b.toLowerCase())\n}\n\nfunction alphasort (a, b) {\n return a.localeCompare(b)\n}\n\nfunction setupIgnores (self, options) {\n self.ignore = options.ignore || []\n\n if (!Array.isArray(self.ignore))\n self.ignore = [self.ignore]\n\n if (self.ignore.length) {\n self.ignore = self.ignore.map(ignoreMap)\n }\n}\n\n// ignore patterns are always in dot:true mode.\nfunction ignoreMap (pattern) {\n var gmatcher = null\n if (pattern.slice(-3) === '/**') {\n var gpattern = pattern.replace(/(\\/\\*\\*)+$/, '')\n gmatcher = new Minimatch(gpattern, { dot: true })\n }\n\n return {\n matcher: new Minimatch(pattern, { dot: true }),\n gmatcher: gmatcher\n }\n}\n\nfunction setopts (self, pattern, options) {\n if (!options)\n options = {}\n\n // base-matching: just use globstar for that.\n if (options.matchBase && -1 === pattern.indexOf(\"/\")) {\n if (options.noglobstar) {\n throw new Error(\"base matching requires globstar\")\n }\n pattern = \"**/\" + pattern\n }\n\n self.silent = !!options.silent\n self.pattern = pattern\n self.strict = options.strict !== false\n self.realpath = !!options.realpath\n self.realpathCache = options.realpathCache || Object.create(null)\n self.follow = !!options.follow\n self.dot = !!options.dot\n self.mark = !!options.mark\n self.nodir = !!options.nodir\n if (self.nodir)\n self.mark = true\n self.sync = !!options.sync\n self.nounique = !!options.nounique\n self.nonull = !!options.nonull\n self.nosort = !!options.nosort\n self.nocase = !!options.nocase\n self.stat = !!options.stat\n self.noprocess = !!options.noprocess\n\n self.maxLength = options.maxLength || Infinity\n self.cache = options.cache || Object.create(null)\n self.statCache = options.statCache || Object.create(null)\n self.symlinks = options.symlinks || Object.create(null)\n\n setupIgnores(self, options)\n\n self.changedCwd = false\n var cwd = process.cwd()\n if (!ownProp(options, \"cwd\"))\n self.cwd = cwd\n else {\n self.cwd = options.cwd\n self.changedCwd = path.resolve(options.cwd) !== cwd\n }\n\n self.root = options.root || path.resolve(self.cwd, \"/\")\n self.root = path.resolve(self.root)\n if (process.platform === \"win32\")\n self.root = self.root.replace(/\\\\/g, \"/\")\n\n self.nomount = !!options.nomount\n\n // disable comments and negation in Minimatch.\n // Note that they are not supported in Glob itself anyway.\n options.nonegate = true\n options.nocomment = true\n\n self.minimatch = new Minimatch(pattern, options)\n self.options = self.minimatch.options\n}\n\nfunction finish (self) {\n var nou = self.nounique\n var all = nou ? [] : Object.create(null)\n\n for (var i = 0, l = self.matches.length; i < l; i ++) {\n var matches = self.matches[i]\n if (!matches || Object.keys(matches).length === 0) {\n if (self.nonull) {\n // do like the shell, and spit out the literal glob\n var literal = self.minimatch.globSet[i]\n if (nou)\n all.push(literal)\n else\n all[literal] = true\n }\n } else {\n // had matches\n var m = Object.keys(matches)\n if (nou)\n all.push.apply(all, m)\n else\n m.forEach(function (m) {\n all[m] = true\n })\n }\n }\n\n if (!nou)\n all = Object.keys(all)\n\n if (!self.nosort)\n all = all.sort(self.nocase ? alphasorti : alphasort)\n\n // at *some* point we statted all of these\n if (self.mark) {\n for (var i = 0; i < all.length; i++) {\n all[i] = self._mark(all[i])\n }\n if (self.nodir) {\n all = all.filter(function (e) {\n return !(/\\/$/.test(e))\n })\n }\n }\n\n if (self.ignore.length)\n all = all.filter(function(m) {\n return !isIgnored(self, m)\n })\n\n self.found = all\n}\n\nfunction mark (self, p) {\n var abs = makeAbs(self, p)\n var c = self.cache[abs]\n var m = p\n if (c) {\n var isDir = c === 'DIR' || Array.isArray(c)\n var slash = p.slice(-1) === '/'\n\n if (isDir && !slash)\n m += '/'\n else if (!isDir && slash)\n m = m.slice(0, -1)\n\n if (m !== p) {\n var mabs = makeAbs(self, m)\n self.statCache[mabs] = self.statCache[abs]\n self.cache[mabs] = self.cache[abs]\n }\n }\n\n return m\n}\n\n// lotta situps...\nfunction makeAbs (self, f) {\n var abs = f\n if (f.charAt(0) === '/') {\n abs = path.join(self.root, f)\n } else if (isAbsolute(f) || f === '') {\n abs = f\n } else if (self.changedCwd) {\n abs = path.resolve(self.cwd, f)\n } else {\n abs = path.resolve(f)\n }\n return abs\n}\n\n\n// Return true, if pattern ends with globstar '**', for the accompanying parent directory.\n// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents\nfunction isIgnored (self, path) {\n if (!self.ignore.length)\n return false\n\n return self.ignore.some(function(item) {\n return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))\n })\n}\n\nfunction childrenIgnored (self, path) {\n if (!self.ignore.length)\n return false\n\n return self.ignore.some(function(item) {\n return !!(item.gmatcher && item.gmatcher.match(path))\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob" }, { "id": "323", "url": "/usr/local/lib/node_modules/npm/node_modules/call-limit/call-limit.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\"\n\nvar defaultMaxRunning = 50\n\nvar limit = module.exports = function (func, maxRunning) {\n var running = 0\n var queue = []\n if (!maxRunning) maxRunning = defaultMaxRunning\n return function limited () {\n var self = this\n var args = Array.prototype.slice.call(arguments)\n if (running >= maxRunning) {\n queue.push({self: this, args: args})\n return\n }\n var cb = typeof args[args.length-1] === 'function' && args.pop()\n ++ running\n args.push(function () {\n var cbargs = arguments\n -- running\n cb && process.nextTick(function () {\n cb.apply(self, cbargs)\n })\n if (queue.length) {\n var next = queue.shift()\n limited.apply(next.self, next.args)\n }\n })\n func.apply(self, args)\n }\n}\n\nmodule.exports.method = function (classOrObj, method, maxRunning) {\n if (typeof classOrObj === 'function') {\n var func = classOrObj.prototype[method]\n classOrObj.prototype[method] = limit(func, maxRunning)\n } else {\n var func = classOrObj[method]\n classOrObj[method] = limit(func, maxRunning)\n }\n}\n\nmodule.exports.promise = function (func, maxRunning) {\n var running = 0\n var queue = []\n if (!maxRunning) maxRunning = defaultMaxRunning\n return function () {\n var self = this\n var args = Array.prototype.slice.call(arguments)\n return new Promise(function (resolve) {\n if (running >= maxRunning) {\n queue.push({self: self, args: args, resolve: resolve})\n return\n } else {\n runNext(self, args, resolve)\n }\n function runNext (self, args, resolve) {\n ++ running\n resolve(\n func.apply(self, args)\n .then(finish, function (err) {\n finish(err)\n throw err\n }))\n }\n\n function finish () {\n -- running\n if (queue.length) {\n var next = queue.shift()\n process.nextTick(runNext, next.self, next.args, next.resolve)\n }\n }\n })\n }\n}\n\nmodule.exports.promise.method = function (classOrObj, method, maxRunning) {\n if (typeof classOrObj === 'function') {\n var func = classOrObj.prototype[method]\n classOrObj.prototype[method] = limit.promise(func, maxRunning)\n } else {\n var func = classOrObj[method]\n classOrObj[method] = limit.promise(func, maxRunning)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/call-limit" }, { "id": "321", "url": "/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst deprCheck = require('./utils/depr-check')\nconst path = require('path')\nconst log = require('npmlog')\nconst readPackageTree = require('read-package-tree')\nconst rimraf = require('rimraf')\nconst validate = require('aproba')\nconst npa = require('npm-package-arg')\nconst npm = require('./npm')\nconst npmlog = require('npmlog')\nconst limit = require('call-limit')\nconst tempFilename = require('./utils/temp-filename')\nconst pacote = require('pacote')\nlet pacoteOpts\nconst isWindows = require('./utils/is-windows.js')\n\nfunction andLogAndFinish (spec, tracker, done) {\n validate('SOF|SZF|OOF|OZF', [spec, tracker, done])\n return (er, pkg) => {\n if (er) {\n log.silly('fetchPackageMetaData', 'error for ' + String(spec), er.message)\n if (tracker) tracker.finish()\n }\n return done(er, pkg)\n }\n}\n\nconst CACHE = require('lru-cache')({\n max: 300 * 1024 * 1024,\n length: (p) => p._contentLength\n})\n\nmodule.exports = limit(fetchPackageMetadata, npm.limit.fetch)\nfunction fetchPackageMetadata (spec, where, opts, done) {\n validate('SSOF|SSFZ|OSOF|OSFZ', [spec, where, opts, done])\n\n if (!done) {\n done = opts\n opts = {}\n }\n var tracker = opts.tracker\n const logAndFinish = andLogAndFinish(spec, tracker, done)\n\n if (typeof spec === 'object') {\n var dep = spec\n } else {\n dep = npa(spec)\n }\n if (!isWindows && dep.type === 'directory' && /^[a-zA-Z]:/.test(dep.fetchSpec)) {\n var err = new Error(`Can't install from windows path on a non-windows system: ${dep.fetchSpec.replace(/[/]/g, '\\\\')}`)\n err.code = 'EWINDOWSPATH'\n return logAndFinish(err)\n }\n if (!pacoteOpts) {\n pacoteOpts = require('./config/pacote')\n }\n pacote.manifest(dep, pacoteOpts({\n annotate: true,\n fullMetadata: opts.fullMetadata,\n log: tracker || npmlog,\n memoize: CACHE,\n where: where\n })).then(\n (pkg) => logAndFinish(null, deprCheck(pkg)),\n (err) => {\n if (dep.type !== 'directory') return logAndFinish(err)\n if (err.code === 'ENOTDIR') {\n var enolocal = new Error(`Could not install \"${path.relative(process.cwd(), dep.fetchSpec)}\" as it is not a directory and is not a file with a name ending in .tgz, .tar.gz or .tar`)\n enolocal.code = 'ENOLOCAL'\n if (err.stack) enolocal.stack = err.stack\n return logAndFinish(enolocal)\n } else if (err.code === 'ENOPACKAGEJSON') {\n var enopackage = new Error(`Could not install from \"${path.relative(process.cwd(), dep.fetchSpec)}\" as it does not contain a package.json file.`)\n enopackage.code = 'ENOLOCAL'\n if (err.stack) enopackage.stack = err.stack\n return logAndFinish(enopackage)\n } else {\n return logAndFinish(err)\n }\n }\n )\n}\n\nmodule.exports.addBundled = addBundled\nfunction addBundled (pkg, next) {\n validate('OF', arguments)\n if (!pacoteOpts) {\n pacoteOpts = require('./config/pacote')\n }\n if (pkg._bundled !== undefined) return next(null, pkg)\n\n if (!pkg.bundleDependencies && pkg._requested.type !== 'directory') return next(null, pkg)\n const requested = pkg._requested || npa(pkg._from)\n if (requested.type === 'directory') {\n pkg._bundled = null\n return readPackageTree(pkg._requested.fetchSpec, function (er, tree) {\n if (tree) pkg._bundled = tree.children\n return next(null, pkg)\n })\n }\n pkg._bundled = null\n const target = tempFilename('unpack')\n const opts = pacoteOpts({integrity: pkg._integrity})\n pacote.extract(pkg._resolved || pkg._requested || npa.resolve(pkg.name, pkg.version), target, opts).then(() => {\n log.silly('addBundled', 'read tarball')\n readPackageTree(target, (err, tree) => {\n if (err) { return next(err) }\n log.silly('cleanup', 'remove extracted module')\n rimraf(target, function () {\n if (tree) {\n pkg._bundled = tree.children\n }\n next(null, pkg)\n })\n })\n }, next)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "591", "url": "/usr/local/lib/node_modules/npm/lib/config/pacote.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst Buffer = require('safe-buffer').Buffer\n\nconst crypto = require('crypto')\nconst npm = require('../npm')\nconst log = require('npmlog')\nlet pack\nconst path = require('path')\n\nlet effectiveOwner\n\nconst npmSession = crypto.randomBytes(8).toString('hex')\nlog.verbose('npm-session', npmSession)\n\nmodule.exports = pacoteOpts\nfunction pacoteOpts (moreOpts) {\n if (!pack) {\n pack = require('../pack.js')\n }\n const ownerStats = calculateOwner()\n const opts = {\n cache: path.join(npm.config.get('cache'), '_cacache'),\n ca: npm.config.get('ca'),\n cert: npm.config.get('cert'),\n defaultTag: npm.config.get('tag'),\n dirPacker: pack.packGitDep,\n hashAlgorithm: 'sha1',\n key: npm.config.get('key'),\n localAddress: npm.config.get('local-address'),\n log: log,\n maxAge: npm.config.get('cache-min'),\n maxSockets: npm.config.get('maxsockets'),\n npmSession: npmSession,\n offline: npm.config.get('offline'),\n preferOffline: npm.config.get('prefer-offline') || npm.config.get('cache-min') > 9999,\n preferOnline: npm.config.get('prefer-online') || npm.config.get('cache-max') <= 0,\n projectScope: npm.projectScope,\n proxy: npm.config.get('https-proxy') || npm.config.get('proxy'),\n refer: npm.registry.refer,\n registry: npm.config.get('registry'),\n retry: {\n retries: npm.config.get('fetch-retries'),\n factor: npm.config.get('fetch-retry-factor'),\n minTimeout: npm.config.get('fetch-retry-mintimeout'),\n maxTimeout: npm.config.get('fetch-retry-maxtimeout')\n },\n scope: npm.config.get('scope'),\n strictSSL: npm.config.get('strict-ssl'),\n userAgent: npm.config.get('user-agent')\n }\n\n if (ownerStats.uid || ownerStats.gid) {\n Object.assign(opts, ownerStats)\n }\n\n npm.config.keys.forEach(function (k) {\n const authMatch = k[0] === '/' && k.match(\n /(.*):(_authToken|username|_password|password|email|always-auth)$/\n )\n if (authMatch) {\n const nerfDart = authMatch[1]\n const key = authMatch[2]\n const val = npm.config.get(k)\n if (!opts.auth) { opts.auth = {} }\n if (!opts.auth[nerfDart]) {\n opts.auth[nerfDart] = {\n alwaysAuth: !!npm.config.get('always-auth')\n }\n }\n if (key === '_authToken') {\n opts.auth[nerfDart].token = val\n } else if (key.match(/password$/i)) {\n opts.auth[nerfDart].password =\n // the config file stores password auth already-encoded. pacote expects\n // the actual username/password pair.\n Buffer.from(val, 'base64').toString('utf8')\n } else if (key === 'always-auth') {\n opts.auth[nerfDart].alwaysAuth = val === 'false' ? false : !!val\n } else {\n opts.auth[nerfDart][key] = val\n }\n }\n if (k[0] === '@') {\n if (!opts.scopeTargets) { opts.scopeTargets = {} }\n opts.scopeTargets[k.replace(/:registry$/, '')] = npm.config.get(k)\n }\n })\n\n Object.keys(moreOpts || {}).forEach((k) => {\n opts[k] = moreOpts[k]\n })\n\n return opts\n}\n\nfunction calculateOwner () {\n if (!effectiveOwner) {\n effectiveOwner = { uid: 0, gid: 0 }\n\n // Pretty much only on windows\n if (!process.getuid) {\n return effectiveOwner\n }\n\n effectiveOwner.uid = +process.getuid()\n effectiveOwner.gid = +process.getgid()\n\n if (effectiveOwner.uid === 0) {\n if (process.env.SUDO_UID) effectiveOwner.uid = +process.env.SUDO_UID\n if (process.env.SUDO_GID) effectiveOwner.gid = +process.env.SUDO_GID\n }\n }\n\n return effectiveOwner\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "859", "url": "/usr/local/lib/node_modules/npm/lib/pack.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\n// npm pack \n// Packs the specified package into a .tgz file, which can then\n// be installed.\n\nconst BB = require('bluebird')\n\nconst cache = require('./cache')\nconst cacache = require('cacache')\nconst cp = require('child_process')\nconst deprCheck = require('./utils/depr-check')\nconst fpm = require('./fetch-package-metadata')\nconst fs = require('graceful-fs')\nconst install = require('./install')\nconst lifecycle = BB.promisify(require('./utils/lifecycle'))\nconst log = require('npmlog')\nconst move = require('move-concurrently')\nconst npm = require('./npm')\nconst output = require('./utils/output')\nconst pacoteOpts = require('./config/pacote')\nconst path = require('path')\nconst PassThrough = require('stream').PassThrough\nconst pathIsInside = require('path-is-inside')\nconst pipe = BB.promisify(require('mississippi').pipe)\nconst prepublishWarning = require('./utils/warn-deprecated')('prepublish-on-install')\nconst pinflight = require('promise-inflight')\nconst readJson = BB.promisify(require('read-package-json'))\nconst tarPack = BB.promisify(require('./utils/tar').pack)\nconst writeStreamAtomic = require('fs-write-stream-atomic')\n\npack.usage = 'npm pack [[<@scope>/]...]'\n\n// if it can be installed, it can be packed.\npack.completion = install.completion\n\nmodule.exports = pack\nfunction pack (args, silent, cb) {\n const cwd = process.cwd()\n if (typeof cb !== 'function') {\n cb = silent\n silent = false\n }\n\n if (args.length === 0) args = ['.']\n\n BB.all(\n args.map((arg) => pack_(arg, cwd))\n ).then((files) => {\n if (!silent) {\n output(files.map((f) => path.relative(cwd, f)).join('\\n'))\n }\n cb(null, files)\n }, cb)\n}\n\n// add to cache, then cp to the cwd\nfunction pack_ (pkg, dir) {\n return BB.fromNode((cb) => fpm(pkg, dir, cb)).then((mani) => {\n let name = mani.name[0] === '@'\n // scoped packages get special treatment\n ? mani.name.substr(1).replace(/\\//g, '-')\n : mani.name\n const target = `${name}-${mani.version}.tgz`\n return pinflight(target, () => {\n if (mani._requested.type === 'directory') {\n return prepareDirectory(mani._resolved).then(() => {\n return packDirectory(mani, mani._resolved, target)\n })\n } else {\n return cache.add(pkg).then((info) => {\n return pipe(\n cacache.get.stream.byDigest(pacoteOpts().cache, info.integrity || mani._integrity),\n writeStreamAtomic(target)\n )\n }).then(() => target)\n }\n })\n })\n}\n\nmodule.exports.prepareDirectory = prepareDirectory\nfunction prepareDirectory (dir) {\n return readJson(path.join(dir, 'package.json')).then((pkg) => {\n if (!pkg.name) {\n throw new Error('package.json requires a \"name\" field')\n }\n if (!pkg.version) {\n throw new Error('package.json requires a valid \"version\" field')\n }\n if (!pathIsInside(dir, npm.tmp)) {\n if (pkg.scripts && pkg.scripts.prepublish) {\n prepublishWarning([\n 'As of npm@5, `prepublish` scripts are deprecated.',\n 'Use `prepare` for build steps and `prepublishOnly` for upload-only.',\n 'See the deprecation note in `npm help scripts` for more information.'\n ])\n }\n if (npm.config.get('ignore-prepublish')) {\n return lifecycle(pkg, 'prepare', dir).then(() => pkg)\n } else {\n return lifecycle(pkg, 'prepublish', dir).then(() => {\n return lifecycle(pkg, 'prepare', dir)\n }).then(() => pkg)\n }\n }\n return pkg\n })\n}\n\nmodule.exports.packDirectory = packDirectory\nfunction packDirectory (mani, dir, target) {\n deprCheck(mani)\n return readJson(path.join(dir, 'package.json')).then((pkg) => {\n return lifecycle(pkg, 'prepack', dir)\n }).then(() => {\n return readJson(path.join(dir, 'package.json'))\n }).then((pkg) => {\n return cacache.tmp.withTmp(npm.tmp, {tmpPrefix: 'packing'}, (tmp) => {\n const tmpTarget = path.join(tmp, path.basename(target))\n return tarPack(tmpTarget, dir, pkg).then(() => {\n return move(tmpTarget, target, {Promise: BB, fs})\n }).then(() => {\n return lifecycle(pkg, 'postpack', dir)\n }).then(() => target)\n })\n })\n}\n\nconst PASSTHROUGH_OPTS = [\n 'always-auth',\n 'auth-type',\n 'ca',\n 'cafile',\n 'cert',\n 'git',\n 'local-address',\n 'maxsockets',\n 'offline',\n 'prefer-offline',\n 'prefer-online',\n 'proxy',\n 'https-proxy',\n 'registry',\n 'send-metrics',\n 'sso-poll-frequency',\n 'sso-type',\n 'strict-ssl'\n]\n\nmodule.exports.packGitDep = packGitDep\nfunction packGitDep (manifest, dir) {\n const stream = new PassThrough()\n readJson(path.join(dir, 'package.json')).then((pkg) => {\n if (pkg.scripts && pkg.scripts.prepare) {\n log.verbose('prepareGitDep', `${manifest._spec}: installing devDeps and running prepare script.`)\n const cliArgs = PASSTHROUGH_OPTS.reduce((acc, opt) => {\n if (npm.config.get(opt, 'cli') != null) {\n acc.push(`--${opt}=${npm.config.get(opt)}`)\n }\n return acc\n }, [])\n const child = cp.spawn(process.env.NODE || process.execPath, [\n require.main.filename,\n 'install',\n '--ignore-prepublish',\n '--no-progress',\n '--no-save'\n ].concat(cliArgs), {\n cwd: dir,\n env: process.env\n })\n let errData = []\n let errDataLen = 0\n let outData = []\n let outDataLen = 0\n child.stdout.on('data', (data) => {\n outData.push(data)\n outDataLen += data.length\n log.gauge.pulse('preparing git package')\n })\n child.stderr.on('data', (data) => {\n errData.push(data)\n errDataLen += data.length\n log.gauge.pulse('preparing git package')\n })\n return BB.fromNode((cb) => {\n child.on('error', cb)\n child.on('exit', (code, signal) => {\n if (code > 0) {\n const err = new Error(`${signal}: npm exited with code ${code} while attempting to build ${manifest._requested}. Clone the repository manually and run 'npm install' in it for more information.`)\n err.code = code\n err.signal = signal\n cb(err)\n } else {\n cb()\n }\n })\n }).then(() => {\n if (outDataLen > 0) log.silly('prepareGitDep', '1>', Buffer.concat(outData, outDataLen).toString())\n if (errDataLen > 0) log.silly('prepareGitDep', '2>', Buffer.concat(errData, errDataLen).toString())\n }, (err) => {\n if (outDataLen > 0) log.error('prepareGitDep', '1>', Buffer.concat(outData, outDataLen).toString())\n if (errDataLen > 0) log.error('prepareGitDep', '2>', Buffer.concat(errData, errDataLen).toString())\n throw err\n })\n }\n }).then(() => {\n return readJson(path.join(dir, 'package.json'))\n }).then((pkg) => {\n return cacache.tmp.withTmp(npm.tmp, {\n tmpPrefix: 'pacote-packing'\n }, (tmp) => {\n const tmpTar = path.join(tmp, 'package.tgz')\n return packDirectory(manifest, dir, tmpTar).then(() => {\n return pipe(fs.createReadStream(tmpTar), stream)\n })\n })\n }).catch((err) => stream.emit('error', err))\n return stream\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "304", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promisify.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar THIS = {};\nvar util = require(\"./util\");\nvar nodebackForPromise = require(\"./nodeback\");\nvar withAppended = util.withAppended;\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar canEvaluate = util.canEvaluate;\nvar TypeError = require(\"./errors\").TypeError;\nvar defaultSuffix = \"Async\";\nvar defaultPromisified = {__isPromisified__: true};\nvar noCopyProps = [\n \"arity\", \"length\",\n \"name\",\n \"arguments\",\n \"caller\",\n \"callee\",\n \"prototype\",\n \"__isPromisified__\"\n];\nvar noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\nvar defaultFilter = function(name) {\n return util.isIdentifier(name) &&\n name.charAt(0) !== \"_\" &&\n name !== \"constructor\";\n};\n\nfunction propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n}\n\nfunction isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n }\n catch (e) {\n return false;\n }\n}\n\nfunction hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix,\n defaultPromisified);\n return val ? isPromisified(val) : false;\n}\nfunction checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\"\n .replace(\"%s\", suffix));\n }\n }\n }\n }\n}\n\nfunction promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter\n ? true : defaultFilter(key, value, obj);\n if (typeof value === \"function\" &&\n !isPromisified(value) &&\n !hasPromisified(obj, key, suffix) &&\n filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n}\n\nvar escapeIdentRegex = function(str) {\n return str.replace(/([$])/, \"\\\\$\");\n};\n\nvar makeNodePromisifiedEval;\nif (!false) {\nvar switchCaseArgumentOrder = function(likelyArgumentCount) {\n var ret = [likelyArgumentCount];\n var min = Math.max(0, likelyArgumentCount - 1 - 3);\n for(var i = likelyArgumentCount - 1; i >= min; --i) {\n ret.push(i);\n }\n for(var i = likelyArgumentCount + 1; i <= 3; ++i) {\n ret.push(i);\n }\n return ret;\n};\n\nvar argumentSequence = function(argumentCount) {\n return util.filledRange(argumentCount, \"_arg\", \"\");\n};\n\nvar parameterDeclaration = function(parameterCount) {\n return util.filledRange(\n Math.max(parameterCount, 3), \"_arg\", \"\");\n};\n\nvar parameterCount = function(fn) {\n if (typeof fn.length === \"number\") {\n return Math.max(Math.min(fn.length, 1023 + 1), 0);\n }\n return 0;\n};\n\nmakeNodePromisifiedEval =\nfunction(callback, receiver, originalName, fn, _, multiArgs) {\n var newParameterCount = Math.max(0, parameterCount(fn) - 1);\n var argumentOrder = switchCaseArgumentOrder(newParameterCount);\n var shouldProxyThis = typeof callback === \"string\" || receiver === THIS;\n\n function generateCallForArgumentCount(count) {\n var args = argumentSequence(count).join(\", \");\n var comma = count > 0 ? \", \" : \"\";\n var ret;\n if (shouldProxyThis) {\n ret = \"ret = callback.call(this, {{args}}, nodeback); break;\\n\";\n } else {\n ret = receiver === undefined\n ? \"ret = callback({{args}}, nodeback); break;\\n\"\n : \"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\";\n }\n return ret.replace(\"{{args}}\", args).replace(\", \", comma);\n }\n\n function generateArgumentSwitchCase() {\n var ret = \"\";\n for (var i = 0; i < argumentOrder.length; ++i) {\n ret += \"case \" + argumentOrder[i] +\":\" +\n generateCallForArgumentCount(argumentOrder[i]);\n }\n\n ret += \" \\n\\\n default: \\n\\\n var args = new Array(len + 1); \\n\\\n var i = 0; \\n\\\n for (var i = 0; i < len; ++i) { \\n\\\n args[i] = arguments[i]; \\n\\\n } \\n\\\n args[i] = nodeback; \\n\\\n [CodeForCall] \\n\\\n break; \\n\\\n \".replace(\"[CodeForCall]\", (shouldProxyThis\n ? \"ret = callback.apply(this, args);\\n\"\n : \"ret = callback.apply(receiver, args);\\n\"));\n return ret;\n }\n\n var getFunctionCode = typeof callback === \"string\"\n ? (\"this != null ? this['\"+callback+\"'] : fn\")\n : \"fn\";\n var body = \"'use strict'; \\n\\\n var ret = function (Parameters) { \\n\\\n 'use strict'; \\n\\\n var len = arguments.length; \\n\\\n var promise = new Promise(INTERNAL); \\n\\\n promise._captureStackTrace(); \\n\\\n var nodeback = nodebackForPromise(promise, \" + multiArgs + \"); \\n\\\n var ret; \\n\\\n var callback = tryCatch([GetFunctionCode]); \\n\\\n switch(len) { \\n\\\n [CodeForSwitchCase] \\n\\\n } \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n\\\n } \\n\\\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \\n\\\n return promise; \\n\\\n }; \\n\\\n notEnumerableProp(ret, '__isPromisified__', true); \\n\\\n return ret; \\n\\\n \".replace(\"[CodeForSwitchCase]\", generateArgumentSwitchCase())\n .replace(\"[GetFunctionCode]\", getFunctionCode);\n body = body.replace(\"Parameters\", parameterDeclaration(newParameterCount));\n return new Function(\"Promise\",\n \"fn\",\n \"receiver\",\n \"withAppended\",\n \"maybeWrapAsError\",\n \"nodebackForPromise\",\n \"tryCatch\",\n \"errorObj\",\n \"notEnumerableProp\",\n \"INTERNAL\",\n body)(\n Promise,\n fn,\n receiver,\n withAppended,\n maybeWrapAsError,\n nodebackForPromise,\n util.tryCatch,\n util.errorObj,\n util.notEnumerableProp,\n INTERNAL);\n};\n}\n\nfunction makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = (function() {return this;})();\n var method = callback;\n if (typeof method === \"string\") {\n callback = fn;\n }\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n var cb = typeof method === \"string\" && this !== defaultThis\n ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch(e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n}\n\nvar makeNodePromisified = canEvaluate\n ? makeNodePromisifiedEval\n : makeNodePromisifiedClosure;\n\nfunction promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods =\n promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i+= 2) {\n var key = methods[i];\n var fn = methods[i+1];\n var promisifiedKey = key + suffix;\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] =\n makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function() {\n return makeNodePromisified(key, THIS, key,\n fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n util.toFastProperties(obj);\n return obj;\n}\n\nfunction promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined,\n callback, null, multiArgs);\n}\n\nPromise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n if (isPromisified(fn)) {\n return fn;\n }\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n};\n\nPromise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && typeof target !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n\n var keys = util.inheritedDataKeys(target);\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n if (keys[i] !== \"constructor\" &&\n util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier,\n multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n};\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "861", "url": "/usr/local/lib/node_modules/npm/lib/utils/tar.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\n// commands for packing and unpacking tarballs\n// this file is used by lib/cache.js\n\nvar fs = require('graceful-fs')\nvar path = require('path')\nvar writeFileAtomic = require('write-file-atomic')\nvar writeStreamAtomic = require('fs-write-stream-atomic')\nvar log = require('npmlog')\nvar uidNumber = require('uid-number')\nvar readJson = require('read-package-json')\nvar tar = require('tar')\nvar zlib = require('zlib')\nvar fstream = require('fstream')\nvar Packer = require('fstream-npm')\nvar iferr = require('iferr')\nvar inherits = require('inherits')\nvar npm = require('../npm.js')\nvar rm = require('./gently-rm.js')\nvar myUid = process.getuid && process.getuid()\nvar myGid = process.getgid && process.getgid()\nvar readPackageTree = require('read-package-tree')\nvar union = require('lodash.union')\nvar moduleName = require('./module-name.js')\nvar packageId = require('./package-id.js')\nvar pulseTillDone = require('../utils/pulse-till-done.js')\n\nif (process.env.SUDO_UID && myUid === 0) {\n if (!isNaN(process.env.SUDO_UID)) myUid = +process.env.SUDO_UID\n if (!isNaN(process.env.SUDO_GID)) myGid = +process.env.SUDO_GID\n}\n\nexports.pack = pack\nexports.unpack = unpack\n\nfunction pack (tarball, folder, pkg, cb) {\n log.verbose('tar pack', [tarball, folder])\n\n log.verbose('tarball', tarball)\n log.verbose('folder', folder)\n\n readJson(path.join(folder, 'package.json'), function (er, pkg) {\n if (er || !pkg.bundleDependencies) {\n pack_(tarball, folder, null, pkg, cb)\n } else {\n // we require this at runtime due to load-order issues, because recursive\n // requires fail if you replace the exports object, and we do, not in deps, but\n // in a dep of it.\n var computeMetadata = require('../install/deps.js').computeMetadata\n\n readPackageTree(folder, pulseTillDone('pack:readTree:' + packageId(pkg), iferr(cb, function (tree) {\n computeMetadata(tree)\n pack_(tarball, folder, tree, pkg, pulseTillDone('pack:' + packageId(pkg), cb))\n })))\n }\n })\n}\n\nfunction BundledPacker (props) {\n Packer.call(this, props)\n}\ninherits(BundledPacker, Packer)\n\nBundledPacker.prototype.applyIgnores = function (entry, partial, entryObj) {\n if (!entryObj || entryObj.type !== 'Directory') {\n // package.json files can never be ignored.\n if (entry === 'package.json') return true\n\n // readme files should never be ignored.\n if (entry.match(/^readme(\\.[^\\.]*)$/i)) return true\n\n // license files should never be ignored.\n if (entry.match(/^(license|licence)(\\.[^\\.]*)?$/i)) return true\n\n // copyright notice files should never be ignored.\n if (entry.match(/^(notice)(\\.[^\\.]*)?$/i)) return true\n\n // changelogs should never be ignored.\n if (entry.match(/^(changes|changelog|history)(\\.[^\\.]*)?$/i)) return true\n }\n\n // special rules. see below.\n if (entry === 'node_modules' && this.packageRoot) return true\n\n // package.json main file should never be ignored.\n var mainFile = this.package && this.package.main\n if (mainFile && path.resolve(this.path, entry) === path.resolve(this.path, mainFile)) return true\n\n // some files are *never* allowed under any circumstances\n // (VCS folders, native build cruft, npm cruft, regular cruft)\n if (entry === '.git' ||\n entry === 'CVS' ||\n entry === '.svn' ||\n entry === '.hg' ||\n entry === '.lock-wscript' ||\n entry.match(/^\\.wafpickle-[0-9]+$/) ||\n (this.parent && this.parent.packageRoot && this.basename === 'build' &&\n entry === 'config.gypi') ||\n entry === 'npm-debug.log' ||\n entry === '.npmrc' ||\n entry.match(/^\\..*\\.swp$/) ||\n entry === '.DS_Store' ||\n entry.match(/^\\._/) ||\n entry.match(/^.*\\.orig$/) ||\n // Package locks are never allowed in tarballs -- use shrinkwrap instead\n entry === 'package-lock.json'\n ) {\n return false\n }\n\n // in a node_modules folder, we only include bundled dependencies\n // also, prevent packages in node_modules from being affected\n // by rules set in the containing package, so that\n // bundles don't get busted.\n // Also, once in a bundle, everything is installed as-is\n // To prevent infinite cycles in the case of cyclic deps that are\n // linked with npm link, even in a bundle, deps are only bundled\n // if they're not already present at a higher level.\n if (this.bundleMagic) {\n // bubbling up. stop here and allow anything the bundled pkg allows\n if (entry.charAt(0) === '@') {\n var firstSlash = entry.indexOf('/')\n // continue to list the packages in this scope\n if (firstSlash === -1) return true\n\n // bubbling up. stop here and allow anything the bundled pkg allows\n if (entry.indexOf('/', firstSlash + 1) !== -1) return true\n // bubbling up. stop here and allow anything the bundled pkg allows\n } else if (entry.indexOf('/') !== -1) {\n return true\n }\n\n // never include the .bin. It's typically full of platform-specific\n // stuff like symlinks and .cmd files anyway.\n if (entry === '.bin') return false\n\n // the package root.\n var p = this.parent\n // the directory before this one.\n var pp = p && p.parent\n // the directory before that (if this is scoped)\n if (pp && pp.basename[0] === '@') pp = pp && pp.parent\n\n // if this entry has already been bundled, and is a symlink,\n // and it is the *same* symlink as this one, then exclude it.\n if (pp && pp.bundleLinks && this.bundleLinks &&\n pp.bundleLinks[entry] &&\n pp.bundleLinks[entry] === this.bundleLinks[entry]) {\n return false\n }\n\n // since it's *not* a symbolic link, if we're *already* in a bundle,\n // then we should include everything.\n if (pp && pp.package && pp.basename === 'node_modules') {\n return true\n }\n\n // only include it at this point if it's a bundleDependency\n return this.isBundled(entry)\n }\n // if (this.bundled) return true\n\n return Packer.prototype.applyIgnores.call(this, entry, partial, entryObj)\n}\n\nfunction nameMatch (name) { return function (other) { return name === moduleName(other) } }\n\nfunction pack_ (tarball, folder, tree, pkg, cb) {\n function InstancePacker (props) {\n BundledPacker.call(this, props)\n }\n inherits(InstancePacker, BundledPacker)\n InstancePacker.prototype.isBundled = function (name) {\n var bd = this.package && this.package.bundleDependencies\n if (!bd) return false\n\n if (!Array.isArray(bd)) {\n throw new Error(packageId(this) + '\\'s `bundledDependencies` should ' +\n 'be an array')\n }\n if (!tree) return false\n\n if (bd.indexOf(name) !== -1) return true\n var pkg = tree.children.filter(nameMatch(name))[0]\n if (!pkg) return false\n var requiredBy = [].concat(pkg.requiredBy)\n var seen = {}\n while (requiredBy.length) {\n var reqPkg = requiredBy.shift()\n if (seen[reqPkg.path]) continue\n seen[reqPkg.path] = true\n if (!reqPkg) continue\n if (reqPkg.parent === tree && bd.indexOf(moduleName(reqPkg)) !== -1) {\n return true\n }\n requiredBy = union(requiredBy, reqPkg.requiredBy)\n }\n return false\n }\n\n new InstancePacker({ path: folder, type: 'Directory', isDirectory: true })\n .on('error', function (er) {\n if (er) log.error('tar pack', 'Error reading ' + folder)\n return cb(er)\n })\n\n // By default, npm includes some proprietary attributes in the\n // package tarball. This is sane, and allowed by the spec.\n // However, npm *itself* excludes these from its own package,\n // so that it can be more easily bootstrapped using old and\n // non-compliant tar implementations.\n .pipe(tar.Pack({ noProprietary: !npm.config.get('proprietary-attribs') }))\n .on('error', function (er) {\n if (er) log.error('tar.pack', 'tar creation error', tarball)\n cb(er)\n })\n .pipe(zlib.Gzip())\n .on('error', function (er) {\n if (er) log.error('tar.pack', 'gzip error ' + tarball)\n cb(er)\n })\n .pipe(writeStreamAtomic(tarball))\n .on('error', function (er) {\n if (er) log.error('tar.pack', 'Could not write ' + tarball)\n cb(er)\n })\n .on('close', cb)\n}\n\nfunction unpack (tarball, unpackTarget, dMode, fMode, uid, gid, cb) {\n log.verbose('tar', 'unpack', tarball)\n log.verbose('tar', 'unpacking to', unpackTarget)\n if (typeof cb !== 'function') {\n cb = gid\n gid = null\n }\n if (typeof cb !== 'function') {\n cb = uid\n uid = null\n }\n if (typeof cb !== 'function') {\n cb = fMode\n fMode = npm.modes.file\n }\n if (typeof cb !== 'function') {\n cb = dMode\n dMode = npm.modes.exec\n }\n\n uidNumber(uid, gid, function (er, uid, gid) {\n if (er) return cb(er)\n unpack_(tarball, unpackTarget, dMode, fMode, uid, gid, cb)\n })\n}\n\nfunction unpack_ (tarball, unpackTarget, dMode, fMode, uid, gid, cb) {\n rm(unpackTarget, function (er) {\n if (er) return cb(er)\n // gzip {tarball} --decompress --stdout \\\n // | tar -mvxpf - --strip-components=1 -C {unpackTarget}\n gunzTarPerm(tarball, unpackTarget,\n dMode, fMode,\n uid, gid,\n function (er, folder) {\n if (er) return cb(er)\n readJson(path.resolve(folder, 'package.json'), cb)\n })\n })\n}\n\nfunction gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {\n if (!dMode) dMode = npm.modes.exec\n if (!fMode) fMode = npm.modes.file\n log.silly('gunzTarPerm', 'modes', [dMode.toString(8), fMode.toString(8)])\n\n var cbCalled = false\n function cb (er) {\n if (cbCalled) return\n cbCalled = true\n cb_(er, target)\n }\n\n var fst = fs.createReadStream(tarball)\n\n fst.on('open', function (fd) {\n fs.fstat(fd, function (er, st) {\n if (er) return fst.emit('error', er)\n if (st.size === 0) {\n er = new Error('0-byte tarball\\n' +\n 'Please run `npm cache clean`')\n fst.emit('error', er)\n }\n })\n })\n\n // figure out who we're supposed to be, if we're not pretending\n // to be a specific user.\n if (npm.config.get('unsafe-perm') && process.platform !== 'win32') {\n uid = myUid\n gid = myGid\n }\n\n function extractEntry (entry) {\n log.silly('gunzTarPerm', 'extractEntry', entry.path)\n // never create things that are user-unreadable,\n // or dirs that are user-un-listable. Only leads to headaches.\n var originalMode = entry.mode = entry.mode || entry.props.mode\n entry.mode = entry.mode | (entry.type === 'Directory' ? dMode : fMode)\n entry.mode = entry.mode & (~npm.modes.umask)\n entry.props.mode = entry.mode\n if (originalMode !== entry.mode) {\n log.silly('gunzTarPerm', 'modified mode',\n [entry.path, originalMode, entry.mode])\n }\n\n // if there's a specific owner uid/gid that we want, then set that\n if (process.platform !== 'win32' &&\n typeof uid === 'number' &&\n typeof gid === 'number') {\n entry.props.uid = entry.uid = uid\n entry.props.gid = entry.gid = gid\n }\n }\n\n var extractOpts = { type: 'Directory', path: target, strip: 1 }\n\n if (process.platform !== 'win32' &&\n typeof uid === 'number' &&\n typeof gid === 'number') {\n extractOpts.uid = uid\n extractOpts.gid = gid\n }\n\n var sawIgnores = {}\n extractOpts.filter = function () {\n // symbolic links are not allowed in packages.\n if (this.type.match(/^.*Link$/)) {\n log.warn('excluding symbolic link',\n this.path.substr(target.length + 1) +\n ' -> ' + this.linkpath)\n return false\n }\n\n // Note: This mirrors logic in the fs read operations that are\n // employed during tarball creation, in the fstream-npm module.\n // It is duplicated here to handle tarballs that are created\n // using other means, such as system tar or git archive.\n if (this.type === 'File') {\n var base = path.basename(this.path)\n if (base === '.npmignore') {\n sawIgnores[ this.path ] = true\n } else if (base === '.gitignore') {\n var npmignore = this.path.replace(/\\.gitignore$/, '.npmignore')\n if (sawIgnores[npmignore]) {\n // Skip this one, already seen.\n return false\n } else {\n // Rename, may be clobbered later.\n this.path = npmignore\n this._path = npmignore\n }\n }\n }\n\n return true\n }\n\n fst\n .on('error', function (er) {\n if (er) log.error('tar.unpack', 'error reading ' + tarball)\n cb(er)\n })\n .on('data', function OD (c) {\n // detect what it is.\n // Then, depending on that, we'll figure out whether it's\n // a single-file module, gzipped tarball, or naked tarball.\n // gzipped files all start with 1f8b08\n if (c[0] === 0x1F &&\n c[1] === 0x8B &&\n c[2] === 0x08) {\n fst\n .pipe(zlib.Unzip())\n .on('error', function (er) {\n if (er) log.error('tar.unpack', 'unzip error ' + tarball)\n cb(er)\n })\n .pipe(tar.Extract(extractOpts))\n .on('entry', extractEntry)\n .on('error', function (er) {\n if (er) log.error('tar.unpack', 'untar error ' + tarball)\n cb(er)\n })\n .on('close', cb)\n } else if (hasTarHeader(c)) {\n // naked tar\n fst\n .pipe(tar.Extract(extractOpts))\n .on('entry', extractEntry)\n .on('error', function (er) {\n if (er) log.error('tar.unpack', 'untar error ' + tarball)\n cb(er)\n })\n .on('close', cb)\n } else {\n // naked js file\n var jsOpts = { path: path.resolve(target, 'index.js') }\n\n if (process.platform !== 'win32' &&\n typeof uid === 'number' &&\n typeof gid === 'number') {\n jsOpts.uid = uid\n jsOpts.gid = gid\n }\n\n fst\n .pipe(fstream.Writer(jsOpts))\n .on('error', function (er) {\n if (er) log.error('tar.unpack', 'copy error ' + tarball)\n cb(er)\n })\n .on('close', function () {\n var j = path.resolve(target, 'package.json')\n readJson(j, function (er, d) {\n if (er) {\n log.error('not a package', tarball)\n return cb(er)\n }\n writeFileAtomic(j, JSON.stringify(d) + '\\n', cb)\n })\n })\n }\n\n // now un-hook, and re-emit the chunk\n fst.removeListener('data', OD)\n fst.emit('data', c)\n })\n}\n\nfunction hasTarHeader (c) {\n return c[257] === 0x75 && // tar archives have 7573746172 at position\n c[258] === 0x73 && // 257 and 003030 or 202000 at position 262\n c[259] === 0x74 &&\n c[260] === 0x61 &&\n c[261] === 0x72 &&\n\n ((c[262] === 0x00 &&\n c[263] === 0x30 &&\n c[264] === 0x30) ||\n\n (c[262] === 0x20 &&\n c[263] === 0x20 &&\n c[264] === 0x00))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "862", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/tar.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/tar" }, { "id": "863", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/pack.js", "source": "(function (exports, require, module, __filename, __dirname) { // pipe in an fstream, and it'll make a tarball.\n// key-value pair argument is global extended header props.\n\nmodule.exports = Pack\n\nvar EntryWriter = require(\"./entry-writer.js\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , inherits = require(\"inherits\")\n , GlobalHeaderWriter = require(\"./global-header-writer.js\")\n , collect = require(\"fstream\").collect\n , eof = new Buffer(512)\n\nfor (var i = 0; i < 512; i ++) eof[i] = 0\n\ninherits(Pack, Stream)\n\nfunction Pack (props) {\n // console.error(\"-- p ctor\")\n var me = this\n if (!(me instanceof Pack)) return new Pack(props)\n\n if (props) me._noProprietary = props.noProprietary\n else me._noProprietary = false\n\n me._global = props\n\n me.readable = true\n me.writable = true\n me._buffer = []\n // console.error(\"-- -- set current to null in ctor\")\n me._currentEntry = null\n me._processing = false\n\n me._pipeRoot = null\n me.on(\"pipe\", function (src) {\n if (src.root === me._pipeRoot) return\n me._pipeRoot = src\n src.on(\"end\", function () {\n me._pipeRoot = null\n })\n me.add(src)\n })\n}\n\nPack.prototype.addGlobal = function (props) {\n // console.error(\"-- p addGlobal\")\n if (this._didGlobal) return\n this._didGlobal = true\n\n var me = this\n GlobalHeaderWriter(props)\n .on(\"data\", function (c) {\n me.emit(\"data\", c)\n })\n .end()\n}\n\nPack.prototype.add = function (stream) {\n if (this._global && !this._didGlobal) this.addGlobal(this._global)\n\n if (this._ended) return this.emit(\"error\", new Error(\"add after end\"))\n\n collect(stream)\n this._buffer.push(stream)\n this._process()\n this._needDrain = this._buffer.length > 0\n return !this._needDrain\n}\n\nPack.prototype.pause = function () {\n this._paused = true\n if (this._currentEntry) this._currentEntry.pause()\n this.emit(\"pause\")\n}\n\nPack.prototype.resume = function () {\n this._paused = false\n if (this._currentEntry) this._currentEntry.resume()\n this.emit(\"resume\")\n this._process()\n}\n\nPack.prototype.end = function () {\n this._ended = true\n this._buffer.push(eof)\n this._process()\n}\n\nPack.prototype._process = function () {\n var me = this\n if (me._paused || me._processing) {\n return\n }\n\n var entry = me._buffer.shift()\n\n if (!entry) {\n if (me._needDrain) {\n me.emit(\"drain\")\n }\n return\n }\n\n if (entry.ready === false) {\n // console.error(\"-- entry is not ready\", entry)\n me._buffer.unshift(entry)\n entry.on(\"ready\", function () {\n // console.error(\"-- -- ready!\", entry)\n me._process()\n })\n return\n }\n\n me._processing = true\n\n if (entry === eof) {\n // need 2 ending null blocks.\n me.emit(\"data\", eof)\n me.emit(\"data\", eof)\n me.emit(\"end\")\n me.emit(\"close\")\n return\n }\n\n // Change the path to be relative to the root dir that was\n // added to the tarball.\n //\n // XXX This should be more like how -C works, so you can\n // explicitly set a root dir, and also explicitly set a pathname\n // in the tarball to use. That way we can skip a lot of extra\n // work when resolving symlinks for bundled dependencies in npm.\n\n var root = path.dirname((entry.root || entry).path);\n if (me._global && me._global.fromBase && entry.root && entry.root.path) {\n // user set 'fromBase: true' indicating tar root should be directory itself\n root = entry.root.path;\n }\n\n var wprops = {}\n\n Object.keys(entry.props || {}).forEach(function (k) {\n wprops[k] = entry.props[k]\n })\n\n if (me._noProprietary) wprops.noProprietary = true\n\n wprops.path = path.relative(root, entry.path || '')\n\n // actually not a matter of opinion or taste.\n if (process.platform === \"win32\") {\n wprops.path = wprops.path.replace(/\\\\/g, \"/\")\n }\n\n if (!wprops.type)\n wprops.type = 'Directory'\n\n switch (wprops.type) {\n // sockets not supported\n case \"Socket\":\n return\n\n case \"Directory\":\n wprops.path += \"/\"\n wprops.size = 0\n break\n\n case \"Link\":\n var lp = path.resolve(path.dirname(entry.path), entry.linkpath)\n wprops.linkpath = path.relative(root, lp) || \".\"\n wprops.size = 0\n break\n\n case \"SymbolicLink\":\n var lp = path.resolve(path.dirname(entry.path), entry.linkpath)\n wprops.linkpath = path.relative(path.dirname(entry.path), lp) || \".\"\n wprops.size = 0\n break\n }\n\n // console.error(\"-- new writer\", wprops)\n // if (!wprops.type) {\n // // console.error(\"-- no type?\", entry.constructor.name, entry)\n // }\n\n // console.error(\"-- -- set current to new writer\", wprops.path)\n var writer = me._currentEntry = EntryWriter(wprops)\n\n writer.parent = me\n\n // writer.on(\"end\", function () {\n // // console.error(\"-- -- writer end\", writer.path)\n // })\n\n writer.on(\"data\", function (c) {\n me.emit(\"data\", c)\n })\n\n writer.on(\"header\", function () {\n Buffer.prototype.toJSON = function () {\n return this.toString().split(/\\0/).join(\".\")\n }\n // console.error(\"-- -- writer header %j\", writer.props)\n if (writer.props.size === 0) nextEntry()\n })\n writer.on(\"close\", nextEntry)\n\n var ended = false\n function nextEntry () {\n if (ended) return\n ended = true\n\n // console.error(\"-- -- writer close\", writer.path)\n // console.error(\"-- -- set current to null\", wprops.path)\n me._currentEntry = null\n me._processing = false\n me._process()\n }\n\n writer.on(\"error\", function (er) {\n // console.error(\"-- -- writer error\", writer.path)\n me.emit(\"error\", er)\n })\n\n // if it's the root, then there's no need to add its entries,\n // or data, since they'll be added directly.\n if (entry === me._pipeRoot) {\n // console.error(\"-- is the root, don't auto-add\")\n writer.add = null\n }\n\n entry.pipe(writer)\n}\n\nPack.prototype.destroy = function () {}\nPack.prototype.write = function () {}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/tar" }, { "id": "864", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/entry-writer.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = EntryWriter\n\nvar tar = require(\"../tar.js\")\n , TarHeader = require(\"./header.js\")\n , Entry = require(\"./entry.js\")\n , inherits = require(\"inherits\")\n , BlockStream = require(\"block-stream\")\n , ExtendedHeaderWriter\n , Stream = require(\"stream\").Stream\n , EOF = {}\n\ninherits(EntryWriter, Stream)\n\nfunction EntryWriter (props) {\n var me = this\n\n if (!(me instanceof EntryWriter)) {\n return new EntryWriter(props)\n }\n\n Stream.apply(this)\n\n me.writable = true\n me.readable = true\n\n me._stream = new BlockStream(512)\n\n me._stream.on(\"data\", function (c) {\n me.emit(\"data\", c)\n })\n\n me._stream.on(\"drain\", function () {\n me.emit(\"drain\")\n })\n\n me._stream.on(\"end\", function () {\n me.emit(\"end\")\n me.emit(\"close\")\n })\n\n me.props = props\n if (props.type === \"Directory\") {\n props.size = 0\n }\n props.ustar = \"ustar\\0\"\n props.ustarver = \"00\"\n me.path = props.path\n\n me._buffer = []\n me._didHeader = false\n me._meta = false\n\n me.on(\"pipe\", function () {\n me._process()\n })\n}\n\nEntryWriter.prototype.write = function (c) {\n // console.error(\".. ew write\")\n if (this._ended) return this.emit(\"error\", new Error(\"write after end\"))\n this._buffer.push(c)\n this._process()\n this._needDrain = this._buffer.length > 0\n return !this._needDrain\n}\n\nEntryWriter.prototype.end = function (c) {\n // console.error(\".. ew end\")\n if (c) this._buffer.push(c)\n this._buffer.push(EOF)\n this._ended = true\n this._process()\n this._needDrain = this._buffer.length > 0\n}\n\nEntryWriter.prototype.pause = function () {\n // console.error(\".. ew pause\")\n this._paused = true\n this.emit(\"pause\")\n}\n\nEntryWriter.prototype.resume = function () {\n // console.error(\".. ew resume\")\n this._paused = false\n this.emit(\"resume\")\n this._process()\n}\n\nEntryWriter.prototype.add = function (entry) {\n // console.error(\".. ew add\")\n if (!this.parent) return this.emit(\"error\", new Error(\"no parent\"))\n\n // make sure that the _header and such is emitted, and clear out\n // the _currentEntry link on the parent.\n if (!this._ended) this.end()\n\n return this.parent.add(entry)\n}\n\nEntryWriter.prototype._header = function () {\n // console.error(\".. ew header\")\n if (this._didHeader) return\n this._didHeader = true\n\n var headerBlock = TarHeader.encode(this.props)\n\n if (this.props.needExtended && !this._meta) {\n var me = this\n\n ExtendedHeaderWriter = ExtendedHeaderWriter ||\n require(\"./extended-header-writer.js\")\n\n ExtendedHeaderWriter(this.props)\n .on(\"data\", function (c) {\n me.emit(\"data\", c)\n })\n .on(\"error\", function (er) {\n me.emit(\"error\", er)\n })\n .end()\n }\n\n // console.error(\".. .. ew headerBlock emitting\")\n this.emit(\"data\", headerBlock)\n this.emit(\"header\")\n}\n\nEntryWriter.prototype._process = function () {\n // console.error(\".. .. ew process\")\n if (!this._didHeader && !this._meta) {\n this._header()\n }\n\n if (this._paused || this._processing) {\n // console.error(\".. .. .. paused=%j, processing=%j\", this._paused, this._processing)\n return\n }\n\n this._processing = true\n\n var buf = this._buffer\n for (var i = 0; i < buf.length; i ++) {\n // console.error(\".. .. .. i=%d\", i)\n\n var c = buf[i]\n\n if (c === EOF) this._stream.end()\n else this._stream.write(c)\n\n if (this._paused) {\n // console.error(\".. .. .. paused mid-emission\")\n this._processing = false\n if (i < buf.length) {\n this._needDrain = true\n this._buffer = buf.slice(i + 1)\n }\n return\n }\n }\n\n // console.error(\".. .. .. emitted\")\n this._buffer.length = 0\n this._processing = false\n\n // console.error(\".. .. .. emitting drain\")\n this.emit(\"drain\")\n}\n\nEntryWriter.prototype.destroy = function () {}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/tar" }, { "id": "866", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/entry.js", "source": "(function (exports, require, module, __filename, __dirname) { // A passthrough read/write stream that sets its properties\n// based on a header, extendedHeader, and globalHeader\n//\n// Can be either a file system object of some sort, or\n// a pax/ustar metadata entry.\n\nmodule.exports = Entry\n\nvar TarHeader = require(\"./header.js\")\n , tar = require(\"../tar\")\n , assert = require(\"assert\").ok\n , Stream = require(\"stream\").Stream\n , inherits = require(\"inherits\")\n , fstream = require(\"fstream\").Abstract\n\nfunction Entry (header, extended, global) {\n Stream.call(this)\n this.readable = true\n this.writable = true\n\n this._needDrain = false\n this._paused = false\n this._reading = false\n this._ending = false\n this._ended = false\n this._remaining = 0\n this._abort = false\n this._queue = []\n this._index = 0\n this._queueLen = 0\n\n this._read = this._read.bind(this)\n\n this.props = {}\n this._header = header\n this._extended = extended || {}\n\n // globals can change throughout the course of\n // a file parse operation. Freeze it at its current state.\n this._global = {}\n var me = this\n Object.keys(global || {}).forEach(function (g) {\n me._global[g] = global[g]\n })\n\n this._setProps()\n}\n\ninherits(Entry, Stream)\n\nEntry.prototype.write = function (c) {\n if (this._ending) this.error(\"write() after end()\", null, true)\n if (this._remaining === 0) {\n this.error(\"invalid bytes past eof\")\n }\n\n // often we'll get a bunch of \\0 at the end of the last write,\n // since chunks will always be 512 bytes when reading a tarball.\n if (c.length > this._remaining) {\n c = c.slice(0, this._remaining)\n }\n this._remaining -= c.length\n\n // put it on the stack.\n var ql = this._queueLen\n this._queue.push(c)\n this._queueLen ++\n\n this._read()\n\n // either paused, or buffered\n if (this._paused || ql > 0) {\n this._needDrain = true\n return false\n }\n\n return true\n}\n\nEntry.prototype.end = function (c) {\n if (c) this.write(c)\n this._ending = true\n this._read()\n}\n\nEntry.prototype.pause = function () {\n this._paused = true\n this.emit(\"pause\")\n}\n\nEntry.prototype.resume = function () {\n // console.error(\" Tar Entry resume\", this.path)\n this.emit(\"resume\")\n this._paused = false\n this._read()\n return this._queueLen - this._index > 1\n}\n\n // This is bound to the instance\nEntry.prototype._read = function () {\n // console.error(\" Tar Entry _read\", this.path)\n\n if (this._paused || this._reading || this._ended) return\n\n // set this flag so that event handlers don't inadvertently\n // get multiple _read() calls running.\n this._reading = true\n\n // have any data to emit?\n while (this._index < this._queueLen && !this._paused) {\n var chunk = this._queue[this._index ++]\n this.emit(\"data\", chunk)\n }\n\n // check if we're drained\n if (this._index >= this._queueLen) {\n this._queue.length = this._queueLen = this._index = 0\n if (this._needDrain) {\n this._needDrain = false\n this.emit(\"drain\")\n }\n if (this._ending) {\n this._ended = true\n this.emit(\"end\")\n }\n }\n\n // if the queue gets too big, then pluck off whatever we can.\n // this should be fairly rare.\n var mql = this._maxQueueLen\n if (this._queueLen > mql && this._index > 0) {\n mql = Math.min(this._index, mql)\n this._index -= mql\n this._queueLen -= mql\n this._queue = this._queue.slice(mql)\n }\n\n this._reading = false\n}\n\nEntry.prototype._setProps = function () {\n // props = extended->global->header->{}\n var header = this._header\n , extended = this._extended\n , global = this._global\n , props = this.props\n\n // first get the values from the normal header.\n var fields = tar.fields\n for (var f = 0; fields[f] !== null; f ++) {\n var field = fields[f]\n , val = header[field]\n if (typeof val !== \"undefined\") props[field] = val\n }\n\n // next, the global header for this file.\n // numeric values, etc, will have already been parsed.\n ;[global, extended].forEach(function (p) {\n Object.keys(p).forEach(function (f) {\n if (typeof p[f] !== \"undefined\") props[f] = p[f]\n })\n })\n\n // no nulls allowed in path or linkpath\n ;[\"path\", \"linkpath\"].forEach(function (p) {\n if (props.hasOwnProperty(p)) {\n props[p] = props[p].split(\"\\0\")[0]\n }\n })\n\n\n // set date fields to be a proper date\n ;[\"mtime\", \"ctime\", \"atime\"].forEach(function (p) {\n if (props.hasOwnProperty(p)) {\n props[p] = new Date(props[p] * 1000)\n }\n })\n\n // set the type so that we know what kind of file to create\n var type\n switch (tar.types[props.type]) {\n case \"OldFile\":\n case \"ContiguousFile\":\n type = \"File\"\n break\n\n case \"GNUDumpDir\":\n type = \"Directory\"\n break\n\n case undefined:\n type = \"Unknown\"\n break\n\n case \"Link\":\n case \"SymbolicLink\":\n case \"CharacterDevice\":\n case \"BlockDevice\":\n case \"Directory\":\n case \"FIFO\":\n default:\n type = tar.types[props.type]\n }\n\n this.type = type\n this.path = props.path\n this.size = props.size\n\n // size is special, since it signals when the file needs to end.\n this._remaining = props.size\n}\n\n// the parser may not call write if _abort is true. \n// useful for skipping data from some files quickly.\nEntry.prototype.abort = function(){\n this._abort = true\n}\n\nEntry.prototype.warn = fstream.warn\nEntry.prototype.error = fstream.error\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/tar" }, { "id": "867", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream/fstream.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fstream" }, { "id": "869", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream/lib/reader.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = Reader\n\nvar fs = require('graceful-fs')\nvar Stream = require('stream').Stream\nvar inherits = require('inherits')\nvar path = require('path')\nvar getType = require('./get-type.js')\nvar hardLinks = Reader.hardLinks = {}\nvar Abstract = require('./abstract.js')\n\n// Must do this *before* loading the child classes\ninherits(Reader, Abstract)\n\nvar LinkReader = require('./link-reader.js')\n\nfunction Reader (props, currentStat) {\n var self = this\n if (!(self instanceof Reader)) return new Reader(props, currentStat)\n\n if (typeof props === 'string') {\n props = { path: props }\n }\n\n // polymorphism.\n // call fstream.Reader(dir) to get a DirReader object, etc.\n // Note that, unlike in the Writer case, ProxyReader is going\n // to be the *normal* state of affairs, since we rarely know\n // the type of a file prior to reading it.\n\n var type\n var ClassType\n\n if (props.type && typeof props.type === 'function') {\n type = props.type\n ClassType = type\n } else {\n type = getType(props)\n ClassType = Reader\n }\n\n if (currentStat && !type) {\n type = getType(currentStat)\n props[type] = true\n props.type = type\n }\n\n switch (type) {\n case 'Directory':\n ClassType = require('./dir-reader.js')\n break\n\n case 'Link':\n // XXX hard links are just files.\n // However, it would be good to keep track of files' dev+inode\n // and nlink values, and create a HardLinkReader that emits\n // a linkpath value of the original copy, so that the tar\n // writer can preserve them.\n // ClassType = HardLinkReader\n // break\n\n case 'File':\n ClassType = require('./file-reader.js')\n break\n\n case 'SymbolicLink':\n ClassType = LinkReader\n break\n\n case 'Socket':\n ClassType = require('./socket-reader.js')\n break\n\n case null:\n ClassType = require('./proxy-reader.js')\n break\n }\n\n if (!(self instanceof ClassType)) {\n return new ClassType(props)\n }\n\n Abstract.call(self)\n\n if (!props.path) {\n self.error('Must provide a path', null, true)\n }\n\n self.readable = true\n self.writable = false\n\n self.type = type\n self.props = props\n self.depth = props.depth = props.depth || 0\n self.parent = props.parent || null\n self.root = props.root || (props.parent && props.parent.root) || self\n\n self._path = self.path = path.resolve(props.path)\n if (process.platform === 'win32') {\n self.path = self._path = self.path.replace(/\\?/g, '_')\n if (self._path.length >= 260) {\n // how DOES one create files on the moon?\n // if the path has spaces in it, then UNC will fail.\n self._swallowErrors = true\n // if (self._path.indexOf(\" \") === -1) {\n self._path = '\\\\\\\\?\\\\' + self.path.replace(/\\//g, '\\\\')\n // }\n }\n }\n self.basename = props.basename = path.basename(self.path)\n self.dirname = props.dirname = path.dirname(self.path)\n\n // these have served their purpose, and are now just noisy clutter\n props.parent = props.root = null\n\n // console.error(\"\\n\\n\\n%s setting size to\", props.path, props.size)\n self.size = props.size\n self.filter = typeof props.filter === 'function' ? props.filter : null\n if (props.sort === 'alpha') props.sort = alphasort\n\n // start the ball rolling.\n // this will stat the thing, and then call self._read()\n // to start reading whatever it is.\n // console.error(\"calling stat\", props.path, currentStat)\n self._stat(currentStat)\n}\n\nfunction alphasort (a, b) {\n return a === b ? 0\n : a.toLowerCase() > b.toLowerCase() ? 1\n : a.toLowerCase() < b.toLowerCase() ? -1\n : a > b ? 1\n : -1\n}\n\nReader.prototype._stat = function (currentStat) {\n var self = this\n var props = self.props\n var stat = props.follow ? 'stat' : 'lstat'\n // console.error(\"Reader._stat\", self._path, currentStat)\n if (currentStat) process.nextTick(statCb.bind(null, null, currentStat))\n else fs[stat](self._path, statCb)\n\n function statCb (er, props_) {\n // console.error(\"Reader._stat, statCb\", self._path, props_, props_.nlink)\n if (er) return self.error(er)\n\n Object.keys(props_).forEach(function (k) {\n props[k] = props_[k]\n })\n\n // if it's not the expected size, then abort here.\n if (undefined !== self.size && props.size !== self.size) {\n return self.error('incorrect size')\n }\n self.size = props.size\n\n var type = getType(props)\n var handleHardlinks = props.hardlinks !== false\n\n // special little thing for handling hardlinks.\n if (handleHardlinks && type !== 'Directory' && props.nlink && props.nlink > 1) {\n var k = props.dev + ':' + props.ino\n // console.error(\"Reader has nlink\", self._path, k)\n if (hardLinks[k] === self._path || !hardLinks[k]) {\n hardLinks[k] = self._path\n } else {\n // switch into hardlink mode.\n type = self.type = self.props.type = 'Link'\n self.Link = self.props.Link = true\n self.linkpath = self.props.linkpath = hardLinks[k]\n // console.error(\"Hardlink detected, switching mode\", self._path, self.linkpath)\n // Setting __proto__ would arguably be the \"correct\"\n // approach here, but that just seems too wrong.\n self._stat = self._read = LinkReader.prototype._read\n }\n }\n\n if (self.type && self.type !== type) {\n self.error('Unexpected type: ' + type)\n }\n\n // if the filter doesn't pass, then just skip over this one.\n // still have to emit end so that dir-walking can move on.\n if (self.filter) {\n var who = self._proxy || self\n // special handling for ProxyReaders\n if (!self.filter.call(who, who, props)) {\n if (!self._disowned) {\n self.abort()\n self.emit('end')\n self.emit('close')\n }\n return\n }\n }\n\n // last chance to abort or disown before the flow starts!\n var events = ['_stat', 'stat', 'ready']\n var e = 0\n ;(function go () {\n if (self._aborted) {\n self.emit('end')\n self.emit('close')\n return\n }\n\n if (self._paused && self.type !== 'Directory') {\n self.once('resume', go)\n return\n }\n\n var ev = events[e++]\n if (!ev) {\n return self._read()\n }\n self.emit(ev, props)\n go()\n })()\n }\n}\n\nReader.prototype.pipe = function (dest) {\n var self = this\n if (typeof dest.add === 'function') {\n // piping to a multi-compatible, and we've got directory entries.\n self.on('entry', function (entry) {\n var ret = dest.add(entry)\n if (ret === false) {\n self.pause()\n }\n })\n }\n\n // console.error(\"R Pipe apply Stream Pipe\")\n return Stream.prototype.pipe.apply(this, arguments)\n}\n\nReader.prototype.pause = function (who) {\n this._paused = true\n who = who || this\n this.emit('pause', who)\n if (this._stream) this._stream.pause(who)\n}\n\nReader.prototype.resume = function (who) {\n this._paused = false\n who = who || this\n this.emit('resume', who)\n if (this._stream) this._stream.resume(who)\n this._read()\n}\n\nReader.prototype._read = function () {\n this.error('Cannot read unknown type: ' + this.type)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fstream" }, { "id": "872", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = Writer\n\nvar fs = require('graceful-fs')\nvar inherits = require('inherits')\nvar rimraf = require('rimraf')\nvar mkdir = require('mkdirp')\nvar path = require('path')\nvar umask = process.platform === 'win32' ? 0 : process.umask()\nvar getType = require('./get-type.js')\nvar Abstract = require('./abstract.js')\n\n// Must do this *before* loading the child classes\ninherits(Writer, Abstract)\n\nWriter.dirmode = parseInt('0777', 8) & (~umask)\nWriter.filemode = parseInt('0666', 8) & (~umask)\n\nvar DirWriter = require('./dir-writer.js')\nvar LinkWriter = require('./link-writer.js')\nvar FileWriter = require('./file-writer.js')\nvar ProxyWriter = require('./proxy-writer.js')\n\n// props is the desired state. current is optionally the current stat,\n// provided here so that subclasses can avoid statting the target\n// more than necessary.\nfunction Writer (props, current) {\n var self = this\n\n if (typeof props === 'string') {\n props = { path: props }\n }\n\n // polymorphism.\n // call fstream.Writer(dir) to get a DirWriter object, etc.\n var type = getType(props)\n var ClassType = Writer\n\n switch (type) {\n case 'Directory':\n ClassType = DirWriter\n break\n case 'File':\n ClassType = FileWriter\n break\n case 'Link':\n case 'SymbolicLink':\n ClassType = LinkWriter\n break\n case null:\n default:\n // Don't know yet what type to create, so we wrap in a proxy.\n ClassType = ProxyWriter\n break\n }\n\n if (!(self instanceof ClassType)) return new ClassType(props)\n\n // now get down to business.\n\n Abstract.call(self)\n\n if (!props.path) self.error('Must provide a path', null, true)\n\n // props is what we want to set.\n // set some convenience properties as well.\n self.type = props.type\n self.props = props\n self.depth = props.depth || 0\n self.clobber = props.clobber === false ? props.clobber : true\n self.parent = props.parent || null\n self.root = props.root || (props.parent && props.parent.root) || self\n\n self._path = self.path = path.resolve(props.path)\n if (process.platform === 'win32') {\n self.path = self._path = self.path.replace(/\\?/g, '_')\n if (self._path.length >= 260) {\n self._swallowErrors = true\n self._path = '\\\\\\\\?\\\\' + self.path.replace(/\\//g, '\\\\')\n }\n }\n self.basename = path.basename(props.path)\n self.dirname = path.dirname(props.path)\n self.linkpath = props.linkpath || null\n\n props.parent = props.root = null\n\n // console.error(\"\\n\\n\\n%s setting size to\", props.path, props.size)\n self.size = props.size\n\n if (typeof props.mode === 'string') {\n props.mode = parseInt(props.mode, 8)\n }\n\n self.readable = false\n self.writable = true\n\n // buffer until ready, or while handling another entry\n self._buffer = []\n self.ready = false\n\n self.filter = typeof props.filter === 'function' ? props.filter : null\n\n // start the ball rolling.\n // this checks what's there already, and then calls\n // self._create() to call the impl-specific creation stuff.\n self._stat(current)\n}\n\n// Calling this means that it's something we can't create.\n// Just assert that it's already there, otherwise raise a warning.\nWriter.prototype._create = function () {\n var self = this\n fs[self.props.follow ? 'stat' : 'lstat'](self._path, function (er) {\n if (er) {\n return self.warn('Cannot create ' + self._path + '\\n' +\n 'Unsupported type: ' + self.type, 'ENOTSUP')\n }\n self._finish()\n })\n}\n\nWriter.prototype._stat = function (current) {\n var self = this\n var props = self.props\n var stat = props.follow ? 'stat' : 'lstat'\n var who = self._proxy || self\n\n if (current) statCb(null, current)\n else fs[stat](self._path, statCb)\n\n function statCb (er, current) {\n if (self.filter && !self.filter.call(who, who, current)) {\n self._aborted = true\n self.emit('end')\n self.emit('close')\n return\n }\n\n // if it's not there, great. We'll just create it.\n // if it is there, then we'll need to change whatever differs\n if (er || !current) {\n return create(self)\n }\n\n self._old = current\n var currentType = getType(current)\n\n // if it's a type change, then we need to clobber or error.\n // if it's not a type change, then let the impl take care of it.\n if (currentType !== self.type) {\n return rimraf(self._path, function (er) {\n if (er) return self.error(er)\n self._old = null\n create(self)\n })\n }\n\n // otherwise, just handle in the app-specific way\n // this creates a fs.WriteStream, or mkdir's, or whatever\n create(self)\n }\n}\n\nfunction create (self) {\n // console.error(\"W create\", self._path, Writer.dirmode)\n\n // XXX Need to clobber non-dirs that are in the way,\n // unless { clobber: false } in the props.\n mkdir(path.dirname(self._path), Writer.dirmode, function (er, made) {\n // console.error(\"W created\", path.dirname(self._path), er)\n if (er) return self.error(er)\n\n // later on, we have to set the mode and owner for these\n self._madeDir = made\n return self._create()\n })\n}\n\nfunction endChmod (self, want, current, path, cb) {\n var wantMode = want.mode\n var chmod = want.follow || self.type !== 'SymbolicLink'\n ? 'chmod' : 'lchmod'\n\n if (!fs[chmod]) return cb()\n if (typeof wantMode !== 'number') return cb()\n\n var curMode = current.mode & parseInt('0777', 8)\n wantMode = wantMode & parseInt('0777', 8)\n if (wantMode === curMode) return cb()\n\n fs[chmod](path, wantMode, cb)\n}\n\nfunction endChown (self, want, current, path, cb) {\n // Don't even try it unless root. Too easy to EPERM.\n if (process.platform === 'win32') return cb()\n if (!process.getuid || process.getuid() !== 0) return cb()\n if (typeof want.uid !== 'number' &&\n typeof want.gid !== 'number') return cb()\n\n if (current.uid === want.uid &&\n current.gid === want.gid) return cb()\n\n var chown = (self.props.follow || self.type !== 'SymbolicLink')\n ? 'chown' : 'lchown'\n if (!fs[chown]) return cb()\n\n if (typeof want.uid !== 'number') want.uid = current.uid\n if (typeof want.gid !== 'number') want.gid = current.gid\n\n fs[chown](path, want.uid, want.gid, cb)\n}\n\nfunction endUtimes (self, want, current, path, cb) {\n if (!fs.utimes || process.platform === 'win32') return cb()\n\n var utimes = (want.follow || self.type !== 'SymbolicLink')\n ? 'utimes' : 'lutimes'\n\n if (utimes === 'lutimes' && !fs[utimes]) {\n utimes = 'utimes'\n }\n\n if (!fs[utimes]) return cb()\n\n var curA = current.atime\n var curM = current.mtime\n var meA = want.atime\n var meM = want.mtime\n\n if (meA === undefined) meA = curA\n if (meM === undefined) meM = curM\n\n if (!isDate(meA)) meA = new Date(meA)\n if (!isDate(meM)) meA = new Date(meM)\n\n if (meA.getTime() === curA.getTime() &&\n meM.getTime() === curM.getTime()) return cb()\n\n fs[utimes](path, meA, meM, cb)\n}\n\n// XXX This function is beastly. Break it up!\nWriter.prototype._finish = function () {\n var self = this\n\n if (self._finishing) return\n self._finishing = true\n\n // console.error(\" W Finish\", self._path, self.size)\n\n // set up all the things.\n // At this point, we're already done writing whatever we've gotta write,\n // adding files to the dir, etc.\n var todo = 0\n var errState = null\n var done = false\n\n if (self._old) {\n // the times will almost *certainly* have changed.\n // adds the utimes syscall, but remove another stat.\n self._old.atime = new Date(0)\n self._old.mtime = new Date(0)\n // console.error(\" W Finish Stale Stat\", self._path, self.size)\n setProps(self._old)\n } else {\n var stat = self.props.follow ? 'stat' : 'lstat'\n // console.error(\" W Finish Stating\", self._path, self.size)\n fs[stat](self._path, function (er, current) {\n // console.error(\" W Finish Stated\", self._path, self.size, current)\n if (er) {\n // if we're in the process of writing out a\n // directory, it's very possible that the thing we're linking to\n // doesn't exist yet (especially if it was intended as a symlink),\n // so swallow ENOENT errors here and just soldier on.\n if (er.code === 'ENOENT' &&\n (self.type === 'Link' || self.type === 'SymbolicLink') &&\n process.platform === 'win32') {\n self.ready = true\n self.emit('ready')\n self.emit('end')\n self.emit('close')\n self.end = self._finish = function () {}\n return\n } else return self.error(er)\n }\n setProps(self._old = current)\n })\n }\n\n return\n\n function setProps (current) {\n todo += 3\n endChmod(self, self.props, current, self._path, next('chmod'))\n endChown(self, self.props, current, self._path, next('chown'))\n endUtimes(self, self.props, current, self._path, next('utimes'))\n }\n\n function next (what) {\n return function (er) {\n // console.error(\" W Finish\", what, todo)\n if (errState) return\n if (er) {\n er.fstream_finish_call = what\n return self.error(errState = er)\n }\n if (--todo > 0) return\n if (done) return\n done = true\n\n // we may still need to set the mode/etc. on some parent dirs\n // that were created previously. delay end/close until then.\n if (!self._madeDir) return end()\n else endMadeDir(self, self._path, end)\n\n function end (er) {\n if (er) {\n er.fstream_finish_call = 'setupMadeDir'\n return self.error(er)\n }\n // all the props have been set, so we're completely done.\n self.emit('end')\n self.emit('close')\n }\n }\n }\n}\n\nfunction endMadeDir (self, p, cb) {\n var made = self._madeDir\n // everything *between* made and path.dirname(self._path)\n // needs to be set up. Note that this may just be one dir.\n var d = path.dirname(p)\n\n endMadeDir_(self, d, function (er) {\n if (er) return cb(er)\n if (d === made) {\n return cb()\n }\n endMadeDir(self, d, cb)\n })\n}\n\nfunction endMadeDir_ (self, p, cb) {\n var dirProps = {}\n Object.keys(self.props).forEach(function (k) {\n dirProps[k] = self.props[k]\n\n // only make non-readable dirs if explicitly requested.\n if (k === 'mode' && self.type !== 'Directory') {\n dirProps[k] = dirProps[k] | parseInt('0111', 8)\n }\n })\n\n var todo = 3\n var errState = null\n fs.stat(p, function (er, current) {\n if (er) return cb(errState = er)\n endChmod(self, dirProps, current, p, next)\n endChown(self, dirProps, current, p, next)\n endUtimes(self, dirProps, current, p, next)\n })\n\n function next (er) {\n if (errState) return\n if (er) return cb(errState = er)\n if (--todo === 0) return cb()\n }\n}\n\nWriter.prototype.pipe = function () {\n this.error(\"Can't pipe from writable stream\")\n}\n\nWriter.prototype.add = function () {\n this.error(\"Can't add to non-Directory type\")\n}\n\nWriter.prototype.write = function () {\n return true\n}\n\nfunction objectToString (d) {\n return Object.prototype.toString.call(d)\n}\n\nfunction isDate (d) {\n return typeof d === 'object' && objectToString(d) === '[object Date]'\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fstream" }, { "id": "882", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/global-header-writer.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = GlobalHeaderWriter\n\nvar ExtendedHeaderWriter = require(\"./extended-header-writer.js\")\n , inherits = require(\"inherits\")\n\ninherits(GlobalHeaderWriter, ExtendedHeaderWriter)\n\nfunction GlobalHeaderWriter (props) {\n if (!(this instanceof GlobalHeaderWriter)) {\n return new GlobalHeaderWriter(props)\n }\n ExtendedHeaderWriter.call(this, props)\n this.props.type = \"g\"\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/tar" }, { "id": "884", "url": "/usr/local/lib/node_modules/npm/node_modules/tar/lib/parse.js", "source": "(function (exports, require, module, __filename, __dirname) { \n// A writable stream.\n// It emits \"entry\" events, which provide a readable stream that has\n// header info attached.\n\nmodule.exports = Parse.create = Parse\n\nvar stream = require(\"stream\")\n , Stream = stream.Stream\n , BlockStream = require(\"block-stream\")\n , tar = require(\"../tar.js\")\n , TarHeader = require(\"./header.js\")\n , Entry = require(\"./entry.js\")\n , BufferEntry = require(\"./buffer-entry.js\")\n , ExtendedHeader = require(\"./extended-header.js\")\n , assert = require(\"assert\").ok\n , inherits = require(\"inherits\")\n , fstream = require(\"fstream\")\n\n// reading a tar is a lot like reading a directory\n// However, we're actually not going to run the ctor,\n// since it does a stat and various other stuff.\n// This inheritance gives us the pause/resume/pipe\n// behavior that is desired.\ninherits(Parse, fstream.Reader)\n\nfunction Parse () {\n var me = this\n if (!(me instanceof Parse)) return new Parse()\n\n // doesn't apply fstream.Reader ctor?\n // no, becasue we don't want to stat/etc, we just\n // want to get the entry/add logic from .pipe()\n Stream.apply(me)\n\n me.writable = true\n me.readable = true\n me._stream = new BlockStream(512)\n me.position = 0\n me._ended = false\n\n me._stream.on(\"error\", function (e) {\n me.emit(\"error\", e)\n })\n\n me._stream.on(\"data\", function (c) {\n me._process(c)\n })\n\n me._stream.on(\"end\", function () {\n me._streamEnd()\n })\n\n me._stream.on(\"drain\", function () {\n me.emit(\"drain\")\n })\n}\n\n// overridden in Extract class, since it needs to\n// wait for its DirWriter part to finish before\n// emitting \"end\"\nParse.prototype._streamEnd = function () {\n var me = this\n if (!me._ended || me._entry) me.error(\"unexpected eof\")\n me.emit(\"end\")\n}\n\n// a tar reader is actually a filter, not just a readable stream.\n// So, you should pipe a tarball stream into it, and it needs these\n// write/end methods to do that.\nParse.prototype.write = function (c) {\n if (this._ended) {\n // gnutar puts a LOT of nulls at the end.\n // you can keep writing these things forever.\n // Just ignore them.\n for (var i = 0, l = c.length; i > l; i ++) {\n if (c[i] !== 0) return this.error(\"write() after end()\")\n }\n return\n }\n return this._stream.write(c)\n}\n\nParse.prototype.end = function (c) {\n this._ended = true\n return this._stream.end(c)\n}\n\n// don't need to do anything, since we're just\n// proxying the data up from the _stream.\n// Just need to override the parent's \"Not Implemented\"\n// error-thrower.\nParse.prototype._read = function () {}\n\nParse.prototype._process = function (c) {\n assert(c && c.length === 512, \"block size should be 512\")\n\n // one of three cases.\n // 1. A new header\n // 2. A part of a file/extended header\n // 3. One of two or more EOF null blocks\n\n if (this._entry) {\n var entry = this._entry\n if(!entry._abort) entry.write(c)\n else {\n entry._remaining -= c.length\n if(entry._remaining < 0) entry._remaining = 0\n }\n if (entry._remaining === 0) {\n entry.end()\n this._entry = null\n }\n } else {\n // either zeroes or a header\n var zero = true\n for (var i = 0; i < 512 && zero; i ++) {\n zero = c[i] === 0\n }\n\n // eof is *at least* 2 blocks of nulls, and then the end of the\n // file. you can put blocks of nulls between entries anywhere,\n // so appending one tarball to another is technically valid.\n // ending without the eof null blocks is not allowed, however.\n if (zero) {\n if (this._eofStarted)\n this._ended = true\n this._eofStarted = true\n } else {\n this._eofStarted = false\n this._startEntry(c)\n }\n }\n\n this.position += 512\n}\n\n// take a header chunk, start the right kind of entry.\nParse.prototype._startEntry = function (c) {\n var header = new TarHeader(c)\n , self = this\n , entry\n , ev\n , EntryType\n , onend\n , meta = false\n\n if (null === header.size || !header.cksumValid) {\n var e = new Error(\"invalid tar file\")\n e.header = header\n e.tar_file_offset = this.position\n e.tar_block = this.position / 512\n return this.emit(\"error\", e)\n }\n\n switch (tar.types[header.type]) {\n case \"File\":\n case \"OldFile\":\n case \"Link\":\n case \"SymbolicLink\":\n case \"CharacterDevice\":\n case \"BlockDevice\":\n case \"Directory\":\n case \"FIFO\":\n case \"ContiguousFile\":\n case \"GNUDumpDir\":\n // start a file.\n // pass in any extended headers\n // These ones consumers are typically most interested in.\n EntryType = Entry\n ev = \"entry\"\n break\n\n case \"GlobalExtendedHeader\":\n // extended headers that apply to the rest of the tarball\n EntryType = ExtendedHeader\n onend = function () {\n self._global = self._global || {}\n Object.keys(entry.fields).forEach(function (k) {\n self._global[k] = entry.fields[k]\n })\n }\n ev = \"globalExtendedHeader\"\n meta = true\n break\n\n case \"ExtendedHeader\":\n case \"OldExtendedHeader\":\n // extended headers that apply to the next entry\n EntryType = ExtendedHeader\n onend = function () {\n self._extended = entry.fields\n }\n ev = \"extendedHeader\"\n meta = true\n break\n\n case \"NextFileHasLongLinkpath\":\n // set linkpath= in extended header\n EntryType = BufferEntry\n onend = function () {\n self._extended = self._extended || {}\n self._extended.linkpath = entry.body\n }\n ev = \"longLinkpath\"\n meta = true\n break\n\n case \"NextFileHasLongPath\":\n case \"OldGnuLongPath\":\n // set path= in file-extended header\n EntryType = BufferEntry\n onend = function () {\n self._extended = self._extended || {}\n self._extended.path = entry.body\n }\n ev = \"longPath\"\n meta = true\n break\n\n default:\n // all the rest we skip, but still set the _entry\n // member, so that we can skip over their data appropriately.\n // emit an event to say that this is an ignored entry type?\n EntryType = Entry\n ev = \"ignoredEntry\"\n break\n }\n\n var global, extended\n if (meta) {\n global = extended = null\n } else {\n var global = this._global\n var extended = this._extended\n\n // extendedHeader only applies to one entry, so once we start\n // an entry, it's over.\n this._extended = null\n }\n entry = new EntryType(header, extended, global)\n entry.meta = meta\n\n // only proxy data events of normal files.\n if (!meta) {\n entry.on(\"data\", function (c) {\n me.emit(\"data\", c)\n })\n }\n\n if (onend) entry.on(\"end\", onend)\n\n this._entry = entry\n var me = this\n\n entry.on(\"pause\", function () {\n me.pause()\n })\n\n entry.on(\"resume\", function () {\n me.resume()\n })\n\n if (this.listeners(\"*\").length) {\n this.emit(\"*\", ev, entry)\n }\n\n this.emit(ev, entry)\n\n // Zero-byte entry. End immediately.\n if (entry.props.size === 0) {\n entry.end()\n this._entry = null\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/tar" }, { "id": "888", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/fstream-npm.js", "source": "(function (exports, require, module, __filename, __dirname) { var Ignore = require('fstream-ignore')\nvar inherits = require('inherits')\nvar path = require('path')\nvar fs = require('fs')\n\nmodule.exports = Packer\n\ninherits(Packer, Ignore)\n\nfunction Packer (props) {\n if (!(this instanceof Packer)) {\n return new Packer(props)\n }\n\n if (typeof props === 'string') {\n props = { path: props }\n }\n\n props.ignoreFiles = props.ignoreFiles || [ '.npmignore',\n '.gitignore',\n 'package.json' ]\n\n Ignore.call(this, props)\n\n this.bundled = props.bundled\n this.bundleLinks = props.bundleLinks\n this.package = props.package\n\n // only do the magic bundling stuff for the node_modules folder that\n // lives right next to a package.json file.\n this.bundleMagic = this.parent &&\n this.parent.packageRoot &&\n this.basename === 'node_modules'\n\n // in a node_modules folder, resolve symbolic links to\n // bundled dependencies when creating the package.\n props.follow = this.follow = this.bundleMagic\n // console.error(\"follow?\", this.path, props.follow)\n\n if (this === this.root ||\n this.parent &&\n this.parent.bundleMagic &&\n this.basename.charAt(0) !== '.') {\n this.readBundledLinks()\n }\n\n this.on('entryStat', function (entry, props) {\n // files should *always* get into tarballs\n // in a user-writable state, even if they're\n // being installed from some wackey vm-mounted\n // read-only filesystem.\n entry.mode = props.mode = props.mode | parseInt('0200', 8)\n })\n}\n\nPacker.prototype.readBundledLinks = function () {\n if (this._paused) {\n this.once('resume', this.addIgnoreFiles)\n return\n }\n\n this.pause()\n fs.readdir(this.path + '/node_modules', function (er, list) {\n // no harm if there's no bundle\n var l = list && list.length\n if (er || l === 0) return this.resume()\n\n var errState = null\n var then = function then (er) {\n if (errState) return\n if (er) {\n errState = er\n return this.resume()\n }\n if (--l === 0) return this.resume()\n }.bind(this)\n\n list.forEach(function (pkg) {\n if (pkg.charAt(0) === '.') return then()\n var pd = this.path + '/node_modules/' + pkg\n\n // scoped packages\n if (pkg.charAt(0) === '@') {\n fs.readdir(pd, function (er, slist) {\n var sl = slist && slist.length\n if (er || sl === 0) return then(er)\n\n l += sl\n slist.forEach(function (spkg) {\n if (spkg.charAt(0) === '.') return then()\n var spd = pd + '/' + spkg\n fs.realpath(spd, function (er, rp) {\n if (er) return then()\n this.bundleLinks = this.bundleLinks || {}\n this.bundleLinks[pkg + '/' + spkg] = rp\n then()\n }.bind(this))\n }, this)\n then()\n }.bind(this))\n return\n }\n\n fs.realpath(pd, function (er, rp) {\n if (er) return then()\n this.bundleLinks = this.bundleLinks || {}\n this.bundleLinks[pkg] = rp\n then()\n }.bind(this))\n }, this)\n }.bind(this))\n}\n\nPacker.prototype.applyIgnores = function (entry, partial, entryObj) {\n if (!entryObj || entryObj.type !== 'Directory') {\n // package.json files can never be ignored.\n if (entry === 'package.json') return true\n\n // readme files should never be ignored.\n if (entry.match(/^readme(\\.[^\\.]*)$/i)) return true\n\n // license files should never be ignored.\n if (entry.match(/^(license|licence)(\\.[^\\.]*)?$/i)) return true\n\n // copyright notice files should never be ignored.\n if (entry.match(/^(notice)(\\.[^\\.]*)?$/i)) return true\n\n // changelogs should never be ignored.\n if (entry.match(/^(changes|changelog|history)(\\.[^\\.]*)?$/i)) return true\n }\n\n // special rules. see below.\n if (entry === 'node_modules' && this.packageRoot) return true\n\n // package.json main file should never be ignored.\n var mainFile = this.package && this.package.main\n if (mainFile && path.resolve(this.path, entry) === path.resolve(this.path, mainFile)) return true\n\n // some files are *never* allowed under any circumstances\n // (VCS folders, native build cruft, npm cruft, regular cruft)\n if (entry === '.git' ||\n entry === 'CVS' ||\n entry === '.svn' ||\n entry === '.hg' ||\n entry === '.lock-wscript' ||\n entry.match(/^\\.wafpickle-[0-9]+$/) ||\n (this.parent && this.parent.packageRoot && this.basename === 'build' &&\n entry === 'config.gypi') ||\n entry === 'npm-debug.log' ||\n entry === '.npmrc' ||\n entry.match(/^\\..*\\.swp$/) ||\n entry === '.DS_Store' ||\n entry.match(/^\\._/) ||\n entry.match(/^.*\\.orig$/) ||\n // Package locks are never allowed in tarballs -- use shrinkwrap instead\n entry === 'package-lock.json'\n ) {\n return false\n }\n\n // in a node_modules folder, we only include bundled dependencies\n // also, prevent packages in node_modules from being affected\n // by rules set in the containing package, so that\n // bundles don't get busted.\n // Also, once in a bundle, everything is installed as-is\n // To prevent infinite cycles in the case of cyclic deps that are\n // linked with npm link, even in a bundle, deps are only bundled\n // if they're not already present at a higher level.\n if (this.bundleMagic) {\n if (entry.charAt(0) === '@') {\n var firstSlash = entry.indexOf('/')\n // continue to list the packages in this scope\n if (firstSlash === -1) return true\n\n // bubbling up. stop here and allow anything the bundled pkg allows\n if (entry.indexOf('/', firstSlash + 1) !== -1) return true\n }\n // bubbling up. stop here and allow anything the bundled pkg allows\n else if (entry.indexOf('/') !== -1) return true\n\n // never include the .bin. It's typically full of platform-specific\n // stuff like symlinks and .cmd files anyway.\n if (entry === '.bin') return false\n\n // the package root.\n var p = this.parent\n // the package before this one.\n var pp = p && p.parent\n\n // if this entry has already been bundled, and is a symlink,\n // and it is the *same* symlink as this one, then exclude it.\n if (pp && pp.bundleLinks && this.bundleLinks &&\n pp.bundleLinks[entry] &&\n pp.bundleLinks[entry] === this.bundleLinks[entry]) {\n return false\n }\n\n // since it's *not* a symbolic link, if we're *already* in a bundle,\n // then we should include everything.\n if (pp && pp.package && pp.basename === 'node_modules') {\n return true\n }\n\n // only include it at this point if it's a bundleDependency\n var bd = this.package && this.package.bundleDependencies\n\n if (bd && !Array.isArray(bd)) {\n throw new Error(this.package.name + '\\'s `bundledDependencies` should ' +\n 'be an array')\n }\n\n var shouldBundle = bd && bd.indexOf(entry) !== -1\n // if we're not going to bundle it, then it doesn't count as a bundleLink\n // if (this.bundleLinks && !shouldBundle) delete this.bundleLinks[entry]\n return shouldBundle\n }\n // if (this.bundled) return true\n\n return Ignore.prototype.applyIgnores.call(this, entry, partial, entryObj)\n}\n\nPacker.prototype.addIgnoreFiles = function () {\n var entries = this.entries\n // if there's a .npmignore, then we do *not* want to\n // read the .gitignore.\n if (entries.indexOf('.npmignore') !== -1) {\n var i = entries.indexOf('.gitignore')\n if (i !== -1) {\n entries.splice(i, 1)\n }\n }\n\n this.entries = entries\n\n Ignore.prototype.addIgnoreFiles.call(this)\n}\n\nPacker.prototype.readRules = function (buf, e) {\n if (e !== 'package.json') {\n return Ignore.prototype.readRules.call(this, buf, e)\n }\n\n buf = buf.toString().trim()\n\n if (buf.length === 0) return []\n\n try {\n var p = this.package = JSON.parse(buf)\n } catch (er) {\n // just pretend it's a normal old file, not magic at all.\n return []\n }\n\n if (this === this.root) {\n this.bundleLinks = this.bundleLinks || {}\n this.bundleLinks[p.name] = this._path\n }\n\n this.packageRoot = true\n this.emit('package', p)\n\n // make bundle deps predictable\n if (p.bundledDependencies && !p.bundleDependencies) {\n p.bundleDependencies = p.bundledDependencies\n delete p.bundledDependencies\n }\n\n if (!p.files || !Array.isArray(p.files)) return []\n\n // ignore everything except what's in the files array.\n return ['*'].concat(p.files.map(function (f) {\n return '!' + f\n })).concat(p.files.map(function (f) {\n return '!' + f.replace(/\\/+$/, '') + '/**'\n }))\n}\n\nPacker.prototype.getChildProps = function (stat) {\n var props = Ignore.prototype.getChildProps.call(this, stat)\n\n props.package = this.package\n\n props.bundled = this.bundled && this.bundled.slice(0)\n props.bundleLinks = this.bundleLinks &&\n Object.create(this.bundleLinks)\n\n // Directories have to be read as Packers\n // otherwise fstream.Reader will create a DirReader instead.\n if (stat.isDirectory()) {\n props.type = this.constructor\n }\n\n // only follow symbolic links directly in the node_modules folder.\n props.follow = false\n return props\n}\n\nvar order = [\n 'package.json',\n '.npmignore',\n '.gitignore',\n /^README(\\.md)?$/,\n 'LICENCE',\n 'LICENSE',\n /\\.js$/\n]\n\nPacker.prototype.sort = function (a, b) {\n for (var i = 0, l = order.length; i < l; i++) {\n var o = order[i]\n if (typeof o === 'string') {\n if (a === o) return -1\n if (b === o) return 1\n } else {\n if (a.match(o)) return -1\n if (b.match(o)) return 1\n }\n }\n\n // deps go in the back\n if (a === 'node_modules') return 1\n if (b === 'node_modules') return -1\n\n return Ignore.prototype.sort.call(this, a, b)\n}\n\nPacker.prototype.emitEntry = function (entry) {\n if (this._paused) {\n this.once('resume', this.emitEntry.bind(this, entry))\n return\n }\n\n // if there is a .gitignore, then we're going to\n // rename it to .npmignore in the output.\n if (entry.basename === '.gitignore') {\n entry.basename = '.npmignore'\n entry.path = path.resolve(entry.dirname, entry.basename)\n }\n\n // all *.gyp files are renamed to binding.gyp for node-gyp\n // but only when they are in the same folder as a package.json file.\n if (entry.basename.match(/\\.gyp$/) &&\n this.entries.indexOf('package.json') !== -1) {\n entry.basename = 'binding.gyp'\n entry.path = path.resolve(entry.dirname, entry.basename)\n }\n\n // skip over symbolic links\n if (entry.type === 'SymbolicLink') {\n entry.abort()\n return\n }\n\n if (entry.type !== 'Directory') {\n // make it so that the folder in the tarball is named \"package\"\n var h = path.dirname((entry.root || entry).path)\n var t = entry.path.substr(h.length + 1).replace(/^[^\\/\\\\]+/, 'package')\n var p = h + '/' + t\n\n entry.path = p\n entry.dirname = path.dirname(p)\n return Ignore.prototype.emitEntry.call(this, entry)\n }\n\n // we don't want empty directories to show up in package\n // tarballs.\n // don't emit entry events for dirs, but still walk through\n // and read them. This means that we need to proxy up their\n // entry events so that those entries won't be missed, since\n // .pipe() doesn't do anythign special with \"child\" events, on\n // with \"entry\" events.\n var me = this\n entry.on('entry', function (e) {\n if (e.parent === entry) {\n e.parent = me\n me.emit('entry', e)\n }\n })\n entry.on('package', this.emit.bind(this, 'package'))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm" }, { "id": "889", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/ignore.js", "source": "(function (exports, require, module, __filename, __dirname) { // Essentially, this is a fstream.DirReader class, but with a\n// bit of special logic to read the specified sort of ignore files,\n// and a filter that prevents it from picking up anything excluded\n// by those files.\n\nvar Minimatch = require(\"minimatch\").Minimatch\n, fstream = require(\"fstream\")\n, DirReader = fstream.DirReader\n, inherits = require(\"inherits\")\n, path = require(\"path\")\n, fs = require(\"fs\")\n\nmodule.exports = IgnoreReader\n\ninherits(IgnoreReader, DirReader)\n\nfunction IgnoreReader (props) {\n if (!(this instanceof IgnoreReader)) {\n return new IgnoreReader(props)\n }\n\n // must be a Directory type\n if (typeof props === \"string\") {\n props = { path: path.resolve(props) }\n }\n\n props.type = \"Directory\"\n props.Directory = true\n\n if (!props.ignoreFiles) props.ignoreFiles = [\".ignore\"]\n this.ignoreFiles = props.ignoreFiles\n\n this.ignoreRules = null\n\n // ensure that .ignore files always show up at the top of the list\n // that way, they can be read before proceeding to handle other\n // entries in that same folder\n if (props.sort) {\n this._sort = props.sort === \"alpha\" ? alphasort : props.sort\n props.sort = null\n }\n\n this.on(\"entries\", function () {\n // if there are any ignore files in the list, then\n // pause and add them.\n // then, filter the list based on our ignoreRules\n\n var hasIg = this.entries.some(this.isIgnoreFile, this)\n\n if (!hasIg) return this.filterEntries()\n\n this.addIgnoreFiles()\n })\n\n // we filter entries before we know what they are.\n // however, directories have to be re-tested against\n // rules with a \"/\" appended, because \"a/b/\" will only\n // match if \"a/b\" is a dir, and not otherwise.\n this.on(\"_entryStat\", function (entry, props) {\n var t = entry.basename\n if (!this.applyIgnores(entry.basename,\n entry.type === \"Directory\",\n entry)) {\n entry.abort()\n }\n }.bind(this))\n\n DirReader.call(this, props)\n}\n\n\nIgnoreReader.prototype.addIgnoreFiles = function () {\n if (this._paused) {\n this.once(\"resume\", this.addIgnoreFiles)\n return\n }\n if (this._ignoreFilesAdded) return\n this._ignoreFilesAdded = true\n\n var newIg = this.entries.filter(this.isIgnoreFile, this)\n , count = newIg.length\n , errState = null\n\n if (!count) return\n\n this.pause()\n\n var then = function (er) {\n if (errState) return\n if (er) return this.emit(\"error\", errState = er)\n if (-- count === 0) {\n this.filterEntries()\n this.resume()\n } else {\n this.addIgnoreFile(newIg[newIg.length - count], then)\n }\n }.bind(this)\n\n this.addIgnoreFile(newIg[0], then)\n}\n\n\nIgnoreReader.prototype.isIgnoreFile = function (e) {\n return e !== \".\" &&\n e !== \"..\" &&\n -1 !== this.ignoreFiles.indexOf(e)\n}\n\n\nIgnoreReader.prototype.getChildProps = function (stat) {\n var props = DirReader.prototype.getChildProps.call(this, stat)\n props.ignoreFiles = this.ignoreFiles\n\n // Directories have to be read as IgnoreReaders\n // otherwise fstream.Reader will create a DirReader instead.\n if (stat.isDirectory()) {\n props.type = this.constructor\n }\n return props\n}\n\n\nIgnoreReader.prototype.addIgnoreFile = function (e, cb) {\n // read the file, and then call addIgnoreRules\n // if there's an error, then tell the cb about it.\n\n var ig = path.resolve(this.path, e)\n fs.readFile(ig, function (er, data) {\n if (er) return cb(er)\n\n this.emit(\"ignoreFile\", e, data)\n var rules = this.readRules(data, e)\n this.addIgnoreRules(rules, e)\n cb()\n }.bind(this))\n}\n\n\nIgnoreReader.prototype.readRules = function (buf, e) {\n return buf.toString().split(/\\r?\\n/)\n}\n\n\n// Override this to do fancier things, like read the\n// \"files\" array from a package.json file or something.\nIgnoreReader.prototype.addIgnoreRules = function (set, e) {\n // filter out anything obvious\n set = set.filter(function (s) {\n s = s.trim()\n return s && !s.match(/^#/)\n })\n\n // no rules to add!\n if (!set.length) return\n\n // now get a minimatch object for each one of these.\n // Note that we need to allow dot files by default, and\n // not switch the meaning of their exclusion\n var mmopt = { matchBase: true, dot: true, flipNegate: true }\n , mm = set.map(function (s) {\n var m = new Minimatch(s, mmopt)\n m.ignoreFile = e\n return m\n })\n\n if (!this.ignoreRules) this.ignoreRules = []\n this.ignoreRules.push.apply(this.ignoreRules, mm)\n}\n\n\nIgnoreReader.prototype.filterEntries = function () {\n // this exclusion is at the point where we know the list of\n // entries in the dir, but don't know what they are. since\n // some of them *might* be directories, we have to run the\n // match in dir-mode as well, so that we'll pick up partials\n // of files that will be included later. Anything included\n // at this point will be checked again later once we know\n // what it is.\n this.entries = this.entries.filter(function (entry) {\n // at this point, we don't know if it's a dir or not.\n return this.applyIgnores(entry) || this.applyIgnores(entry, true)\n }, this)\n}\n\n\nIgnoreReader.prototype.applyIgnores = function (entry, partial, obj) {\n var included = true\n\n // this = /a/b/c\n // entry = d\n // parent /a/b sees c/d\n if (this.parent && this.parent.applyIgnores) {\n var pt = this.basename + \"/\" + entry\n included = this.parent.applyIgnores(pt, partial)\n }\n\n // Negated Rules\n // Since we're *ignoring* things here, negating means that a file\n // is re-included, if it would have been excluded by a previous\n // rule. So, negated rules are only relevant if the file\n // has been excluded.\n //\n // Similarly, if a file has been excluded, then there's no point\n // trying it against rules that have already been applied\n //\n // We're using the \"flipnegate\" flag here, which tells minimatch\n // to set the \"negate\" for our information, but still report\n // whether the core pattern was a hit or a miss.\n\n if (!this.ignoreRules) {\n return included\n }\n\n this.ignoreRules.forEach(function (rule) {\n // negation means inclusion\n if (rule.negate && included ||\n !rule.negate && !included) {\n // unnecessary\n return\n }\n\n // first, match against /foo/bar\n var match = rule.match(\"/\" + entry)\n\n if (!match) {\n // try with the leading / trimmed off the test\n // eg: foo/bar instead of /foo/bar\n match = rule.match(entry)\n }\n\n // if the entry is a directory, then it will match\n // with a trailing slash. eg: /foo/bar/ or foo/bar/\n if (!match && partial) {\n match = rule.match(\"/\" + entry + \"/\") ||\n rule.match(entry + \"/\")\n }\n\n // When including a file with a negated rule, it's\n // relevant if a directory partially matches, since\n // it may then match a file within it.\n // Eg, if you ignore /a, but !/a/b/c\n if (!match && rule.negate && partial) {\n match = rule.match(\"/\" + entry, true) ||\n rule.match(entry, true)\n }\n\n if (match) {\n included = rule.negate\n }\n }, this)\n\n return included\n}\n\n\nIgnoreReader.prototype.sort = function (a, b) {\n var aig = this.ignoreFiles.indexOf(a) !== -1\n , big = this.ignoreFiles.indexOf(b) !== -1\n\n if (aig && !big) return -1\n if (big && !aig) return 1\n return this._sort(a, b)\n}\n\nIgnoreReader.prototype._sort = function (a, b) {\n return 0\n}\n\nfunction alphasort (a, b) {\n return a === b ? 0\n : a.toLowerCase() > b.toLowerCase() ? 1\n : a.toLowerCase() < b.toLowerCase() ? -1\n : a > b ? 1\n : -1\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore" }, { "id": "890", "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/node_modules/minimatch/minimatch.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = require('path')\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = console.error\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n if (inClass) {\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '.':\n case '[':\n case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/node_modules/minimatch" }, { "id": "534", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/manifest.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst fetchManifest = require('./lib/fetch').manifest\nconst finalizeManifest = require('./lib/finalize-manifest')\nconst optCheck = require('./lib/util/opt-check')\nconst pinflight = require('promise-inflight')\nconst npa = require('npm-package-arg')\n\nmodule.exports = manifest\nfunction manifest (spec, opts) {\n opts = optCheck(opts)\n spec = typeof spec === 'string' ? npa(spec, opts.where) : spec\n\n const label = [\n spec.name,\n spec.saveSpec || spec.fetchSpec,\n spec.type,\n opts.cache,\n opts.registry,\n opts.scope\n ].join(':')\n return pinflight(label, () => {\n const startTime = Date.now()\n return fetchManifest(spec, opts).then(rawManifest => {\n return finalizeManifest(rawManifest, spec, opts)\n }).then(manifest => {\n if (opts.annotate) {\n manifest._from = spec.saveSpec || spec.raw\n manifest._requested = spec\n manifest._spec = spec.raw\n manifest._where = opts.where\n }\n const elapsedTime = Date.now() - startTime\n opts.log.silly('pacote', `${spec.type} manifest for ${spec.name}@${spec.saveSpec || spec.fetchSpec} fetched in ${elapsedTime}ms`)\n return manifest\n })\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "339", "url": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight/inflight.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nmodule.exports = inflight\n\nlet Bluebird\ntry {\n Bluebird = require('bluebird')\n} catch (_) {\n Bluebird = Promise\n}\n\nconst active = {}\ninflight.active = active\nfunction inflight (unique, doFly) {\n return Bluebird.all([unique, doFly]).then(function (args) {\n const unique = args[0]\n const doFly = args[1]\n if (Array.isArray(unique)) {\n return Bluebird.all(unique).then(function (uniqueArr) {\n return _inflight(uniqueArr.join(''), doFly)\n })\n } else {\n return _inflight(unique, doFly)\n }\n })\n\n function _inflight (unique, doFly) {\n if (!active[unique]) {\n active[unique] = (new Bluebird(function (resolve) {\n return resolve(doFly())\n }))\n active[unique].then(cleanup, cleanup)\n function cleanup() { delete active[unique] }\n }\n return active[unique]\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight" }, { "id": "261", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise_array.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise,\n apiRejection, Proxyable) {\nvar util = require(\"./util\");\nvar isArray = util.isArray;\n\nfunction toResolutionValue(val) {\n switch(val) {\n case -2: return [];\n case -3: return {};\n case -6: return new Map();\n }\n}\n\nfunction PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n }\n promise._setOnCancel(this);\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n this._init(undefined, -2);\n}\nutil.inherits(PromiseArray, Proxyable);\n\nPromiseArray.prototype.length = function () {\n return this._length;\n};\n\nPromiseArray.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if (((bitField & 50397184) === 0)) {\n this._promise._setAsyncGuaranteed();\n return values._then(\n init,\n this._reject,\n undefined,\n this,\n resolveValueIfEmpty\n );\n } else if (((bitField & 33554432) !== 0)) {\n values = values._value();\n } else if (((bitField & 16777216) !== 0)) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n values = util.asArray(values);\n if (values === null) {\n var err = apiRejection(\n \"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n this._promise._rejectCallback(err, false);\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n }\n else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n return;\n }\n this._iterate(values);\n};\n\nPromiseArray.prototype._iterate = function(values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if (((bitField & 50397184) === 0)) {\n maybePromise._proxy(this, i);\n this._values[i] = maybePromise;\n } else if (((bitField & 33554432) !== 0)) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if (((bitField & 16777216) !== 0)) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n if (!isResolved) result._setAsyncGuaranteed();\n};\n\nPromiseArray.prototype._isResolved = function () {\n return this._values === null;\n};\n\nPromiseArray.prototype._resolve = function (value) {\n this._values = null;\n this._promise._fulfill(value);\n};\n\nPromiseArray.prototype._cancel = function() {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n this._promise._cancel();\n};\n\nPromiseArray.prototype._reject = function (reason) {\n this._values = null;\n this._promise._rejectCallback(reason, false);\n};\n\nPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nPromiseArray.prototype._promiseCancelled = function() {\n this._cancel();\n return true;\n};\n\nPromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n this._reject(reason);\n return true;\n};\n\nPromiseArray.prototype._resultCancelled = function() {\n if (this._isResolved()) return;\n var values = this._values;\n this._cancel();\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n};\n\nPromiseArray.prototype.shouldCopyValues = function () {\n return true;\n};\n\nPromiseArray.prototype.getActualLength = function (len) {\n return len;\n};\n\nreturn PromiseArray;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "145", "url": "/usr/local/lib/node_modules/npm/node_modules/ini/ini.js", "source": "(function (exports, require, module, __filename, __dirname) { \nexports.parse = exports.decode = decode\nexports.stringify = exports.encode = encode\n\nexports.safe = safe\nexports.unsafe = unsafe\n\nvar eol = process.platform === \"win32\" ? \"\\r\\n\" : \"\\n\"\n\nfunction encode (obj, opt) {\n var children = []\n , out = \"\"\n\n if (typeof opt === \"string\") {\n opt = {\n section: opt,\n whitespace: false\n }\n } else {\n opt = opt || {}\n opt.whitespace = opt.whitespace === true\n }\n\n var separator = opt.whitespace ? \" = \" : \"=\"\n\n Object.keys(obj).forEach(function (k, _, __) {\n var val = obj[k]\n if (val && Array.isArray(val)) {\n val.forEach(function(item) {\n out += safe(k + \"[]\") + separator + safe(item) + \"\\n\"\n })\n }\n else if (val && typeof val === \"object\") {\n children.push(k)\n } else {\n out += safe(k) + separator + safe(val) + eol\n }\n })\n\n if (opt.section && out.length) {\n out = \"[\" + safe(opt.section) + \"]\" + eol + out\n }\n\n children.forEach(function (k, _, __) {\n var nk = dotSplit(k).join('\\\\.')\n var section = (opt.section ? opt.section + \".\" : \"\") + nk\n var child = encode(obj[k], {\n section: section,\n whitespace: opt.whitespace\n })\n if (out.length && child.length) {\n out += eol\n }\n out += child\n })\n\n return out\n}\n\nfunction dotSplit (str) {\n return str.replace(/\\1/g, '\\u0002LITERAL\\\\1LITERAL\\u0002')\n .replace(/\\\\\\./g, '\\u0001')\n .split(/\\./).map(function (part) {\n return part.replace(/\\1/g, '\\\\.')\n .replace(/\\2LITERAL\\\\1LITERAL\\2/g, '\\u0001')\n })\n}\n\nfunction decode (str) {\n var out = {}\n , p = out\n , section = null\n , state = \"START\"\n // section |key = value\n , re = /^\\[([^\\]]*)\\]$|^([^=]+)(=(.*))?$/i\n , lines = str.split(/[\\r\\n]+/g)\n , section = null\n\n lines.forEach(function (line, _, __) {\n if (!line || line.match(/^\\s*[;#]/)) return\n var match = line.match(re)\n if (!match) return\n if (match[1] !== undefined) {\n section = unsafe(match[1])\n p = out[section] = out[section] || {}\n return\n }\n var key = unsafe(match[2])\n , value = match[3] ? unsafe((match[4] || \"\")) : true\n switch (value) {\n case 'true':\n case 'false':\n case 'null': value = JSON.parse(value)\n }\n\n // Convert keys with '[]' suffix to an array\n if (key.length > 2 && key.slice(-2) === \"[]\") {\n key = key.substring(0, key.length - 2)\n if (!p[key]) {\n p[key] = []\n }\n else if (!Array.isArray(p[key])) {\n p[key] = [p[key]]\n }\n }\n\n // safeguard against resetting a previously defined\n // array by accidentally forgetting the brackets\n if (Array.isArray(p[key])) {\n p[key].push(value)\n }\n else {\n p[key] = value\n }\n })\n\n // {a:{y:1},\"a.b\":{x:2}} --> {a:{y:1,b:{x:2}}}\n // use a filter to return the keys that have to be deleted.\n Object.keys(out).filter(function (k, _, __) {\n if (!out[k] || typeof out[k] !== \"object\" || Array.isArray(out[k])) return false\n // see if the parent section is also an object.\n // if so, add it to that, and mark this one for deletion\n var parts = dotSplit(k)\n , p = out\n , l = parts.pop()\n , nl = l.replace(/\\\\\\./g, '.')\n parts.forEach(function (part, _, __) {\n if (!p[part] || typeof p[part] !== \"object\") p[part] = {}\n p = p[part]\n })\n if (p === out && nl === l) return false\n p[nl] = out[k]\n return true\n }).forEach(function (del, _, __) {\n delete out[del]\n })\n\n return out\n}\n\nfunction isQuoted (val) {\n return (val.charAt(0) === \"\\\"\" && val.slice(-1) === \"\\\"\")\n || (val.charAt(0) === \"'\" && val.slice(-1) === \"'\")\n}\n\nfunction safe (val) {\n return ( typeof val !== \"string\"\n || val.match(/[=\\r\\n]/)\n || val.match(/^\\[/)\n || (val.length > 1\n && isQuoted(val))\n || val !== val.trim() )\n ? JSON.stringify(val)\n : val.replace(/;/g, '\\\\;').replace(/#/g, \"\\\\#\")\n}\n\nfunction unsafe (val, doUnesc) {\n val = (val || \"\").trim()\n if (isQuoted(val)) {\n // remove the single quotes before calling JSON.parse\n if (val.charAt(0) === \"'\") {\n val = val.substr(1, val.length - 2);\n }\n try { val = JSON.parse(val) } catch (_) {}\n } else {\n // walk the val to find the first not-escaped ; character\n var esc = false\n var unesc = \"\";\n for (var i = 0, l = val.length; i < l; i++) {\n var c = val.charAt(i)\n if (esc) {\n if (\"\\\\;#\".indexOf(c) !== -1)\n unesc += c\n else\n unesc += \"\\\\\" + c\n esc = false\n } else if (\";#\".indexOf(c) !== -1) {\n break\n } else if (c === \"\\\\\") {\n esc = true\n } else {\n unesc += c\n }\n }\n if (esc)\n unesc += \"\\\\\"\n return unesc\n }\n return val\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/ini" }, { "id": "216", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/minimatch.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = require('path')\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = console.error\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n if (inClass) {\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '.':\n case '[':\n case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch" }, { "id": "166", "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy/wrappy.js", "source": "(function (exports, require, module, __filename, __dirname) { // Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/wrappy" }, { "id": "217", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = /^(.*,)+(.+)?$/.test(m.body);\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion" }, { "id": "219", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match" }, { "id": "218", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map" }, { "id": "236", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nvar jju = require('jju');\n\nfunction parse(text, reviver) {\n try {\n return JSON.parse(text, reviver);\n } catch (err) {\n // we expect this to throw with a more informative message\n jju.parse(text, {\n mode: 'json',\n reviver: reviver\n });\n\n // backup if jju is not as strict as JSON.parse; re-throw error\n // data-dependent code path, I do not know how to cover it\n throw err;\n }\n}\n\nexports.parse = parse;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror" }, { "id": "267", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/nodeback.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nvar util = require(\"./util\");\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar errors = require(\"./errors\");\nvar OperationalError = errors.OperationalError;\nvar es5 = require(\"./es5\");\n\nfunction isUntypedError(obj) {\n return obj instanceof Error &&\n es5.getPrototypeOf(obj) === Error.prototype;\n}\n\nvar rErrorKey = /^(?:name|message|stack|cause)$/;\nfunction wrapAsOperationalError(obj) {\n var ret;\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n util.markAsOriginatingFromRejection(obj);\n return obj;\n}\n\nfunction nodebackForPromise(promise, multiArgs) {\n return function(err, value) {\n if (promise === null) return;\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n promise._attachExtraTrace(wrapped);\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];};\n promise._fulfill(args);\n }\n promise = null;\n };\n}\n\nmodule.exports = nodebackForPromise;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "278", "url": "", "source": "(function(value,holder\n/*``*/) {\n \n 'use strict'; \n holder.p2 = value; \n holder.checkFulfillment(this); \n \n})", "pkgUrl": "(system)" }, { "id": "280", "url": "", "source": "(function(tryCatch,errorObj,Promise,async\n/*``*/) {\nreturn function(tryCatch, errorObj, Promise, async) { \n 'use strict'; \n function Holder$3(fn) { \n this.p1 = this.p2 = this.p3 = null; \n this.fn = fn; \n this.asyncNeeded = true; \n this.now = 0; \n } \n \n Holder$3.prototype._callFunction = function(promise) { \n promise._pushContext(); \n var ret = tryCatch(this.fn)(this.p1, this.p2, this.p3); \n promise._popContext(); \n if (ret === errorObj) { \n promise._rejectCallback(ret.e, false); \n } else { \n promise._resolveCallback(ret); \n } \n }; \n \n Holder$3.prototype.checkFulfillment = function(promise) { \n var now = ++this.now; \n if (now === 3) { \n if (this.asyncNeeded) { \n async.invoke(this._callFunction, this, promise); \n } else { \n this._callFunction(promise); \n } \n \n } \n }; \n \n Holder$3.prototype._resultCancelled = function() { \n var promise;\n \n promise = this.p1; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n \n \n promise = this.p2; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n \n \n promise = this.p3; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n \n }; \n \n return Holder$3; \n }(tryCatch, errorObj, Promise, async); \n \n})", "pkgUrl": "(system)" }, { "id": "194", "url": "/usr/local/lib/node_modules/npm/lib/utils/parse-json.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar parseJSON = module.exports = function (content) {\n return JSON.parse(stripBOM(content))\n}\n\nparseJSON.noExceptions = function (content) {\n try {\n return parseJSON(content)\n } catch (ex) {\n return\n }\n}\n\n// from read-package-json\nfunction stripBOM (content) {\n content = content.toString()\n // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n // because the buffer-to-string conversion in `fs.readFileSync()`\n // translates it to FEFF, the UTF-16 BOM.\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1)\n }\n return content\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "313", "url": "/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nlet addBundled\nconst childPath = require('../utils/child-path.js')\nconst createChild = require('./node.js').create\nlet fetchPackageMetadata\nconst inflateBundled = require('./inflate-bundled.js')\nconst moduleName = require('../utils/module-name.js')\nconst normalizePackageData = require('normalize-package-data')\nconst npm = require('../npm.js')\nconst realizeShrinkwrapSpecifier = require('./realize-shrinkwrap-specifier.js')\nconst validate = require('aproba')\nconst path = require('path')\n\nmodule.exports = function (tree, swdeps, opts, finishInflating) {\n if (!fetchPackageMetadata) {\n fetchPackageMetadata = BB.promisify(require('../fetch-package-metadata.js'))\n addBundled = BB.promisify(fetchPackageMetadata.addBundled)\n }\n if (arguments.length === 3) {\n finishInflating = opts\n opts = {}\n }\n if (!npm.config.get('shrinkwrap') || !npm.config.get('package-lock')) {\n return finishInflating()\n }\n tree.loaded = true\n return inflateShrinkwrap(tree.path, tree, swdeps, opts).then(\n () => finishInflating(),\n finishInflating\n )\n}\n\nfunction inflateShrinkwrap (topPath, tree, swdeps, opts) {\n validate('SOO|SOOO', arguments)\n if (!opts) opts = {}\n const onDisk = {}\n tree.children.forEach((child) => {\n onDisk[moduleName(child)] = child\n })\n const dev = npm.config.get('dev') || (!/^prod(uction)?$/.test(npm.config.get('only')) && !npm.config.get('production')) || /^dev(elopment)?$/.test(npm.config.get('only'))\n const prod = !/^dev(elopment)?$/.test(npm.config.get('only'))\n\n tree.children = []\n\n return BB.each(Object.keys(swdeps), (name) => {\n const sw = swdeps[name]\n if (\n (!prod && !sw.dev) ||\n (!dev && sw.dev)\n ) { return null }\n const dependencies = sw.dependencies || {}\n const requested = realizeShrinkwrapSpecifier(name, sw, topPath)\n return inflatableChild(\n onDisk[name], name, topPath, tree, sw, requested, opts\n ).then((child) => {\n return inflateShrinkwrap(topPath, child, dependencies)\n })\n })\n}\n\nfunction normalizePackageDataNoErrors (pkg) {\n try {\n normalizePackageData(pkg)\n } catch (ex) {\n // don't care\n }\n}\n\nfunction inflatableChild (onDiskChild, name, topPath, tree, sw, requested, opts) {\n validate('OSSOOOO|ZSSOOOO', arguments)\n if (onDiskChild && childIsEquivalent(sw, requested, onDiskChild)) {\n // The version on disk matches the shrinkwrap entry.\n if (!onDiskChild.fromShrinkwrap) onDiskChild.fromShrinkwrap = true\n if (sw.dev) onDiskChild.shrinkwrapDev = true\n onDiskChild.package._requested = requested\n onDiskChild.package._spec = requested.rawSpec\n onDiskChild.package._where = topPath\n onDiskChild.fromBundle = sw.bundled ? tree.fromBundle || tree : null\n if (!onDiskChild.package._args) onDiskChild.package._args = []\n onDiskChild.package._args.push([String(requested), topPath])\n // non-npm registries can and will return unnormalized data, plus\n // even the npm registry may have package data normalized with older\n // normalization rules. This ensures we get package data in a consistent,\n // stable format.\n normalizePackageDataNoErrors(onDiskChild.package)\n tree.children.push(onDiskChild)\n return BB.resolve(onDiskChild)\n } else if (opts.fakeChildren !== false && sw.version && sw.integrity) {\n // The shrinkwrap entry has an integrity field. We can fake a pkg to get\n // the installer to do a content-address fetch from the cache, if possible.\n return BB.resolve(makeFakeChild(name, topPath, tree, sw, requested))\n } else {\n // It's not on disk, and we can't just look it up by address -- do a full\n // fpm/inflate bundle pass. For registry deps, this will go straight to the\n // tarball URL, as if it were a remote tarball dep.\n return fetchChild(topPath, tree, sw, requested)\n }\n}\n\nfunction makeFakeChild (name, topPath, tree, sw, requested) {\n const from = sw.from || requested.raw\n const pkg = {\n name: name,\n version: sw.version,\n _resolved: adaptResolved(requested, sw.resolved),\n _requested: requested,\n _optional: sw.optional,\n _integrity: sw.integrity,\n _from: from,\n _spec: requested.rawSpec,\n _where: topPath,\n _args: [[requested.toString(), topPath]]\n }\n let bundleAdded = BB.resolve()\n if (Object.keys(sw.dependencies || {}).some((d) => {\n return sw.dependencies[d].bundled\n })) {\n pkg.bundleDependencies = []\n bundleAdded = addBundled(pkg)\n }\n return bundleAdded.then(() => {\n const child = createChild({\n package: pkg,\n loaded: true,\n parent: tree,\n children: pkg._bundled || [],\n fromShrinkwrap: true,\n fakeChild: sw,\n fromBundle: sw.bundled ? tree.fromBundle || tree : null,\n path: childPath(tree.path, pkg),\n realpath: childPath(tree.realpath, pkg),\n location: tree.location + '/' + pkg.name,\n isInLink: tree.isLink\n })\n tree.children.push(child)\n if (pkg._bundled) {\n delete pkg._bundled\n inflateBundled(child, child, child.children)\n }\n return child\n })\n}\n\nfunction adaptResolved (requested, resolved) {\n const registry = requested.scope\n ? npm.config.get(`${requested.scope}:registry`) || npm.config.get('registry')\n : npm.config.get('registry')\n if (!requested.registry || (resolved && resolved.indexOf(registry) === 0)) {\n // Nothing to worry about here. Pass it through.\n return resolved\n } else {\n // We could fast-path for registry.npmjs.org here, but if we do, it\n // would end up getting written back to the `resolved` field. By always\n // returning `null` for other registries, `pacote.extract()` will take\n // care of any required metadata fetches internally, without altering\n // the tree we're going to write out to shrinkwrap/lockfile.\n return null\n }\n}\n\nfunction fetchChild (topPath, tree, sw, requested) {\n const from = sw.from || requested.raw\n const optional = sw.optional\n return fetchPackageMetadata(requested, topPath).then((pkg) => {\n pkg._from = from\n pkg._optional = optional\n return addBundled(pkg).then(() => pkg)\n }).then((pkg) => {\n var isLink = pkg._requested.type === 'directory'\n const child = createChild({\n package: pkg,\n loaded: true,\n parent: tree,\n fromShrinkwrap: requested,\n path: childPath(tree.path, pkg),\n realpath: isLink ? requested.fetchSpec : childPath(tree.realpath, pkg),\n children: pkg._bundled || [],\n location: tree.location + '/' + pkg.name,\n isLink: isLink,\n isInLink: tree.isLink\n })\n tree.children.push(child)\n if (pkg._bundled) {\n delete pkg._bundled\n inflateBundled(child, child, child.children)\n }\n return child\n })\n}\n\nfunction childIsEquivalent (sw, requested, child) {\n if (!child) return false\n if (child.fromShrinkwrap) return true\n if (sw.integrity && child.package._integrity === sw.integrity) return true\n if (child.isLink && requested.type === 'directory') return path.relative(child.realpath, requested.fetchSpec) === ''\n\n if (sw.resolved) return child.package._resolved === sw.resolved\n if (!requested.registry && sw.from) return child.package._from === sw.from\n if (!requested.registry && child.package._resolved) return sw.version === child.package._resolved\n return child.package.version === sw.version\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "315", "url": "/usr/local/lib/node_modules/npm/lib/utils/module-name.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar path = require('path')\n\nmodule.exports = moduleName\nmodule.exports.test = {}\n\nmodule.exports.test.pathToPackageName = pathToPackageName\nfunction pathToPackageName (dir) {\n if (dir == null) return ''\n if (dir === '') return ''\n var name = path.relative(path.resolve(dir, '..'), dir)\n var scoped = path.relative(path.resolve(dir, '../..'), dir)\n if (scoped[0] === '@') return scoped.replace(/\\\\/g, '/')\n return name\n}\n\nmodule.exports.test.isNotEmpty = isNotEmpty\nfunction isNotEmpty (str) {\n return str != null && str !== ''\n}\n\nvar unknown = 0\nfunction moduleName (tree) {\n var pkg = tree.package || tree\n if (isNotEmpty(pkg.name)) return pkg.name\n var pkgName = pathToPackageName(tree.path)\n if (pkgName !== '') return pkgName\n if (tree._invalidName != null) return tree._invalidName\n tree._invalidName = '!invalid#' + (++unknown)\n return tree._invalidName\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "311", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/each.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseReduce = Promise.reduce;\nvar PromiseAll = Promise.all;\n\nfunction promiseAllThis() {\n return PromiseAll(this);\n}\n\nfunction PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n}\n\nPromise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, this, undefined);\n};\n\nPromise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n};\n\nPromise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, promises, undefined);\n};\n\nPromise.mapSeries = PromiseMapSeries;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "307", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = require(\"./util\");\nvar tryCatch = util.tryCatch;\n\nfunction ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n var domain = getDomain();\n this._fn = domain === null ? fn : util.domainBind(domain, fn);\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n initialValue._attachCancellationCallback(this);\n }\n this._initialValue = initialValue;\n this._currentCancellable = null;\n if(_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n this._promise._captureStackTrace();\n this._init$(undefined, -5);\n}\nutil.inherits(ReductionPromiseArray, PromiseArray);\n\nReductionPromiseArray.prototype._gotAccum = function(accum) {\n if (this._eachValues !== undefined &&\n this._eachValues !== null &&\n accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n};\n\nReductionPromiseArray.prototype._eachComplete = function(value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n return this._eachValues;\n};\n\nReductionPromiseArray.prototype._init = function() {};\n\nReductionPromiseArray.prototype._resolveEmptyArray = function() {\n this._resolve(this._eachValues !== undefined ? this._eachValues\n : this._initialValue);\n};\n\nReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nReductionPromiseArray.prototype._resolve = function(value) {\n this._promise._resolveCallback(value);\n this._values = null;\n};\n\nReductionPromiseArray.prototype._resultCancelled = function(sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n this._resultCancelled$();\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n};\n\nReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value\n ._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n value._then(completed, completed, undefined, value, this);\n};\n\nPromise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n};\n\nPromise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n};\n\nfunction completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n}\n\nfunction reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n}\n\nfunction gotAccum(accum) {\n this.accum = accum;\n this.array._gotAccum(accum);\n var value = tryConvertToPromise(this.value, this.array._promise);\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n}\n\nfunction gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n promise._pushContext();\n var ret;\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(),\n this.accum, value, this.index, this.length);\n }\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\",\n promise\n );\n return ret;\n}\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "241", "url": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules/readdir.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require ('graceful-fs')\nvar dz = require ('dezalgo')\nvar once = require ('once')\nvar path = require ('path')\nvar debug = require ('debuglog') ('rds')\n\nmodule . exports = readdir\n\nfunction readdir (dir, cb) {\n fs . readdir (dir, function (er, kids) {\n if (er)\n return cb (er)\n\n debug ('dir=%j, kids=%j', dir, kids)\n readScopes (dir, kids, function (er, data) {\n if (er)\n return cb (er)\n\n // Sort for bonus consistency points\n data = data . sort (function (a, b) {\n return a > b ? 1 : -1\n })\n\n return cb (null, data)\n })\n })\n}\n\n// Turn [ 'a', '@scope' ] into\n// ['a', '@scope/foo', '@scope/bar']\nfunction readScopes (root, kids, cb) {\n var scopes = kids . filter (function (kid) {\n return kid . charAt (0) === '@'\n })\n\n kids = kids . filter (function (kid) {\n return kid . charAt (0) !== '@'\n })\n\n debug ('scopes=%j', scopes)\n\n if (scopes . length === 0)\n dz (cb) (null, kids) // prevent maybe-sync zalgo release\n\n cb = once (cb)\n var l = scopes . length\n scopes . forEach (function (scope) {\n var scopedir = path . resolve (root, scope)\n debug ('root=%j scope=%j scopedir=%j', root, scope, scopedir)\n fs . readdir (scopedir, then . bind (null, scope))\n })\n\n function then (scope, er, scopekids) {\n if (er)\n return cb (er)\n\n // XXX: Not sure how old this node bug is. Maybe superstition?\n scopekids = scopekids . filter (function (scopekid) {\n return !(scopekid === '.' || scopekid === '..' || !scopekid)\n })\n\n kids . push . apply (kids, scopekids . map (function (scopekid) {\n return scope + '/' + scopekid\n }))\n\n debug ('scope=%j scopekids=%j kids=%j', scope, scopekids, kids)\n\n if (--l === 0)\n cb (null, kids)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules" }, { "id": "238", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/dezalgo.js", "source": "(function (exports, require, module, __filename, __dirname) { var wrappy = require('wrappy')\nmodule.exports = wrappy(dezalgo)\n\nvar asap = require('asap')\n\nfunction dezalgo (cb) {\n var sync = true\n asap(function () {\n sync = false\n })\n\n return function zalgoSafe() {\n var args = arguments\n var me = this\n if (sync)\n asap(function() {\n cb.apply(me, args)\n })\n else\n cb.apply(me, args)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/dezalgo" }, { "id": "210", "url": "/usr/local/lib/node_modules/npm/lib/update.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = update\n\nvar url = require('url')\nvar log = require('npmlog')\nvar chain = require('slide').chain\nvar npm = require('./npm.js')\nvar Installer = require('./install.js').Installer\nvar usage = require('./utils/usage')\n\nupdate.usage = usage(\n 'update',\n 'npm update [-g] [...]'\n)\n\nupdate.completion = npm.commands.outdated.completion\n\nfunction update (args, cb) {\n var dryrun = false\n if (npm.config.get('dry-run')) dryrun = true\n\n npm.commands.outdated(args, true, function (er, rawOutdated) {\n if (er) return cb(er)\n var outdated = rawOutdated.map(function (ww) {\n return {\n dep: ww[0],\n depname: ww[1],\n current: ww[2],\n wanted: ww[3],\n latest: ww[4],\n req: ww[5],\n what: ww[1] + '@' + ww[3]\n }\n })\n\n var wanted = outdated.filter(function (ww) {\n if (ww.current === ww.wanted && ww.wanted !== ww.latest) {\n log.verbose(\n 'outdated',\n 'not updating', ww.depname,\n \"because it's currently at the maximum version that matches its specified semver range\"\n )\n }\n return ww.current !== ww.wanted && ww.latest !== 'linked'\n })\n if (wanted.length === 0) return cb()\n\n log.info('outdated', 'updating', wanted)\n var toInstall = {}\n wanted.forEach(function (ww) {\n // use the initial installation method (repo, tar, git) for updating\n if (url.parse(ww.req).protocol) ww.what = ww.req\n\n var where = ww.dep.parent && ww.dep.parent.path || ww.dep.path\n if (toInstall[where]) {\n toInstall[where].push(ww.what)\n } else {\n toInstall[where] = [ww.what]\n }\n })\n chain(Object.keys(toInstall).map(function (where) {\n return [new Installer(where, dryrun, toInstall[where]), 'run']\n }), cb)\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "221", "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/sync.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar fs = require('fs')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar Glob = require('./glob.js').Glob\nvar util = require('util')\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar common = require('./common.js')\nvar alphasort = common.alphasort\nvar alphasorti = common.alphasorti\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar childrenIgnored = common.childrenIgnored\n\nfunction globSync (pattern, options) {\n if (typeof options === 'function' || arguments.length === 3)\n throw new TypeError('callback provided to sync glob\\n'+\n 'See: https://github.com/isaacs/node-glob/issues/167')\n\n return new GlobSync(pattern, options).found\n}\n\nfunction GlobSync (pattern, options) {\n if (!pattern)\n throw new Error('must provide pattern')\n\n if (typeof options === 'function' || arguments.length === 3)\n throw new TypeError('callback provided to sync glob\\n'+\n 'See: https://github.com/isaacs/node-glob/issues/167')\n\n if (!(this instanceof GlobSync))\n return new GlobSync(pattern, options)\n\n setopts(this, pattern, options)\n\n if (this.noprocess)\n return this\n\n var n = this.minimatch.set.length\n this.matches = new Array(n)\n for (var i = 0; i < n; i ++) {\n this._process(this.minimatch.set[i], i, false)\n }\n this._finish()\n}\n\nGlobSync.prototype._finish = function () {\n assert(this instanceof GlobSync)\n if (this.realpath) {\n var self = this\n this.matches.forEach(function (matchset, index) {\n var set = self.matches[index] = Object.create(null)\n for (var p in matchset) {\n try {\n p = self._makeAbs(p)\n var real = fs.realpathSync(p, self.realpathCache)\n set[real] = true\n } catch (er) {\n if (er.syscall === 'stat')\n set[self._makeAbs(p)] = true\n else\n throw er\n }\n }\n })\n }\n common.finish(this)\n}\n\n\nGlobSync.prototype._process = function (pattern, index, inGlobStar) {\n assert(this instanceof GlobSync)\n\n // Get the first [n] parts of pattern that are all strings.\n var n = 0\n while (typeof pattern[n] === 'string') {\n n ++\n }\n // now n is the index of the first one that is *not* a string.\n\n // See if there's anything else\n var prefix\n switch (n) {\n // if not, then this is rather simple\n case pattern.length:\n this._processSimple(pattern.join('/'), index)\n return\n\n case 0:\n // pattern *starts* with some non-trivial item.\n // going to readdir(cwd), but not include the prefix in matches.\n prefix = null\n break\n\n default:\n // pattern has some string bits in the front.\n // whatever it starts with, whether that's 'absolute' like /foo/bar,\n // or 'relative' like '../baz'\n prefix = pattern.slice(0, n).join('/')\n break\n }\n\n var remain = pattern.slice(n)\n\n // get the list of entries.\n var read\n if (prefix === null)\n read = '.'\n else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {\n if (!prefix || !isAbsolute(prefix))\n prefix = '/' + prefix\n read = prefix\n } else\n read = prefix\n\n var abs = this._makeAbs(read)\n\n //if ignored, skip processing\n if (childrenIgnored(this, read))\n return\n\n var isGlobStar = remain[0] === minimatch.GLOBSTAR\n if (isGlobStar)\n this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)\n else\n this._processReaddir(prefix, read, abs, remain, index, inGlobStar)\n}\n\n\nGlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {\n var entries = this._readdir(abs, inGlobStar)\n\n // if the abs isn't a dir, then nothing can match!\n if (!entries)\n return\n\n // It will only match dot entries if it starts with a dot, or if\n // dot is set. Stuff like @(.foo|.bar) isn't allowed.\n var pn = remain[0]\n var negate = !!this.minimatch.negate\n var rawGlob = pn._glob\n var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n var matchedEntries = []\n for (var i = 0; i < entries.length; i++) {\n var e = entries[i]\n if (e.charAt(0) !== '.' || dotOk) {\n var m\n if (negate && !prefix) {\n m = !e.match(pn)\n } else {\n m = e.match(pn)\n }\n if (m)\n matchedEntries.push(e)\n }\n }\n\n var len = matchedEntries.length\n // If there are no matched entries, then nothing matches.\n if (len === 0)\n return\n\n // if this is the last remaining pattern bit, then no need for\n // an additional stat *unless* the user has specified mark or\n // stat explicitly. We know they exist, since readdir returned\n // them.\n\n if (remain.length === 1 && !this.mark && !this.stat) {\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n if (prefix) {\n if (prefix.slice(-1) !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n\n if (e.charAt(0) === '/' && !this.nomount) {\n e = path.join(this.root, e)\n }\n this.matches[index][e] = true\n }\n // This was the last one, and no stats were needed\n return\n }\n\n // now test all matched entries as stand-ins for that part\n // of the pattern.\n remain.shift()\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n var newPattern\n if (prefix)\n newPattern = [prefix, e]\n else\n newPattern = [e]\n this._process(newPattern.concat(remain), index, inGlobStar)\n }\n}\n\n\nGlobSync.prototype._emitMatch = function (index, e) {\n var abs = this._makeAbs(e)\n if (this.mark)\n e = this._mark(e)\n\n if (this.matches[index][e])\n return\n\n if (this.nodir) {\n var c = this.cache[this._makeAbs(e)]\n if (c === 'DIR' || Array.isArray(c))\n return\n }\n\n this.matches[index][e] = true\n if (this.stat)\n this._stat(e)\n}\n\n\nGlobSync.prototype._readdirInGlobStar = function (abs) {\n // follow all symlinked directories forever\n // just proceed as if this is a non-globstar situation\n if (this.follow)\n return this._readdir(abs, false)\n\n var entries\n var lstat\n var stat\n try {\n lstat = fs.lstatSync(abs)\n } catch (er) {\n // lstat failed, doesn't exist\n return null\n }\n\n var isSym = lstat.isSymbolicLink()\n this.symlinks[abs] = isSym\n\n // If it's not a symlink or a dir, then it's definitely a regular file.\n // don't bother doing a readdir in that case.\n if (!isSym && !lstat.isDirectory())\n this.cache[abs] = 'FILE'\n else\n entries = this._readdir(abs, false)\n\n return entries\n}\n\nGlobSync.prototype._readdir = function (abs, inGlobStar) {\n var entries\n\n if (inGlobStar && !ownProp(this.symlinks, abs))\n return this._readdirInGlobStar(abs)\n\n if (ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n if (!c || c === 'FILE')\n return null\n\n if (Array.isArray(c))\n return c\n }\n\n try {\n return this._readdirEntries(abs, fs.readdirSync(abs))\n } catch (er) {\n this._readdirError(abs, er)\n return null\n }\n}\n\nGlobSync.prototype._readdirEntries = function (abs, entries) {\n // if we haven't asked to stat everything, then just\n // assume that everything in there exists, so we can avoid\n // having to stat it a second time.\n if (!this.mark && !this.stat) {\n for (var i = 0; i < entries.length; i ++) {\n var e = entries[i]\n if (abs === '/')\n e = abs + e\n else\n e = abs + '/' + e\n this.cache[e] = true\n }\n }\n\n this.cache[abs] = entries\n\n // mark and cache dir-ness\n return entries\n}\n\nGlobSync.prototype._readdirError = function (f, er) {\n // handle errors, and cache the information\n switch (er.code) {\n case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n case 'ENOTDIR': // totally normal. means it *does* exist.\n this.cache[this._makeAbs(f)] = 'FILE'\n break\n\n case 'ENOENT': // not terribly unusual\n case 'ELOOP':\n case 'ENAMETOOLONG':\n case 'UNKNOWN':\n this.cache[this._makeAbs(f)] = false\n break\n\n default: // some unusual error. Treat as failure.\n this.cache[this._makeAbs(f)] = false\n if (this.strict)\n throw er\n if (!this.silent)\n console.error('glob error', er)\n break\n }\n}\n\nGlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {\n\n var entries = this._readdir(abs, inGlobStar)\n\n // no entries means not a dir, so it can never have matches\n // foo.txt/** doesn't match foo.txt\n if (!entries)\n return\n\n // test without the globstar, and with every child both below\n // and replacing the globstar.\n var remainWithoutGlobStar = remain.slice(1)\n var gspref = prefix ? [ prefix ] : []\n var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n // the noGlobStar pattern exits the inGlobStar state\n this._process(noGlobStar, index, false)\n\n var len = entries.length\n var isSym = this.symlinks[abs]\n\n // If it's a symlink, and we're in a globstar, then stop\n if (isSym && inGlobStar)\n return\n\n for (var i = 0; i < len; i++) {\n var e = entries[i]\n if (e.charAt(0) === '.' && !this.dot)\n continue\n\n // these two cases enter the inGlobStar state\n var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n this._process(instead, index, true)\n\n var below = gspref.concat(entries[i], remain)\n this._process(below, index, true)\n }\n}\n\nGlobSync.prototype._processSimple = function (prefix, index) {\n // XXX review this. Shouldn't it be doing the mounting etc\n // before doing stat? kinda weird?\n var exists = this._stat(prefix)\n\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n // If it doesn't exist, then just mark the lack of results\n if (!exists)\n return\n\n if (prefix && isAbsolute(prefix) && !this.nomount) {\n var trail = /[\\/\\\\]$/.test(prefix)\n if (prefix.charAt(0) === '/') {\n prefix = path.join(this.root, prefix)\n } else {\n prefix = path.resolve(this.root, prefix)\n if (trail)\n prefix += '/'\n }\n }\n\n if (process.platform === 'win32')\n prefix = prefix.replace(/\\\\/g, '/')\n\n // Mark this as a match\n this.matches[index][prefix] = true\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlobSync.prototype._stat = function (f) {\n var abs = this._makeAbs(f)\n var needDir = f.slice(-1) === '/'\n\n if (f.length > this.maxLength)\n return false\n\n if (!this.stat && ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n\n if (Array.isArray(c))\n c = 'DIR'\n\n // It exists, but maybe not how we need it\n if (!needDir || c === 'DIR')\n return c\n\n if (needDir && c === 'FILE')\n return false\n\n // otherwise we have to stat, because maybe c=true\n // if we know it exists, but not what it is.\n }\n\n var exists\n var stat = this.statCache[abs]\n if (!stat) {\n var lstat\n try {\n lstat = fs.lstatSync(abs)\n } catch (er) {\n return false\n }\n\n if (lstat.isSymbolicLink()) {\n try {\n stat = fs.statSync(abs)\n } catch (er) {\n stat = lstat\n }\n } else {\n stat = lstat\n }\n }\n\n this.statCache[abs] = stat\n\n var c = stat.isDirectory() ? 'DIR' : 'FILE'\n this.cache[abs] = this.cache[abs] || c\n\n if (needDir && c !== 'DIR')\n return false\n\n return c\n}\n\nGlobSync.prototype._mark = function (p) {\n return common.mark(this, p)\n}\n\nGlobSync.prototype._makeAbs = function (f) {\n return common.makeAbs(this, f)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob" }, { "id": "232", "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\nvar builtinModules = require('builtin-modules');\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn builtinModules.indexOf(str) !== -1;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module" }, { "id": "245", "url": "/usr/local/lib/node_modules/npm/lib/utils/locker.js", "source": "(function (exports, require, module, __filename, __dirname) { var crypto = require('crypto')\nvar resolve = require('path').resolve\n\nvar lockfile = require('lockfile')\nvar log = require('npmlog')\n\nvar npm = require('../npm.js')\nvar correctMkdir = require('../utils/correct-mkdir.js')\n\nvar installLocks = {}\n\nfunction lockFileName (base, name) {\n var c = name.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '')\n var p = resolve(base, name)\n var h = crypto.createHash('sha1').update(p).digest('hex')\n var l = resolve(npm.cache, '_locks')\n\n return resolve(l, c.substr(0, 24) + '-' + h.substr(0, 16) + '.lock')\n}\n\nfunction lock (base, name, cb) {\n var lockDir = resolve(npm.cache, '_locks')\n correctMkdir(lockDir, function (er) {\n if (er) return cb(er)\n\n var opts = {\n stale: npm.config.get('cache-lock-stale'),\n retries: npm.config.get('cache-lock-retries'),\n wait: npm.config.get('cache-lock-wait')\n }\n var lf = lockFileName(base, name)\n lockfile.lock(lf, opts, function (er) {\n if (er) log.warn('locking', lf, 'failed', er)\n\n if (!er) {\n log.verbose('lock', 'using', lf, 'for', resolve(base, name))\n installLocks[lf] = true\n }\n\n cb(er)\n })\n })\n}\n\nfunction unlock (base, name, cb) {\n var lf = lockFileName(base, name)\n var locked = installLocks[lf]\n if (locked === false) {\n return process.nextTick(cb)\n } else if (locked === true) {\n lockfile.unlock(lf, function (er) {\n if (er) {\n log.warn('unlocking', lf, 'failed', er)\n } else {\n installLocks[lf] = false\n log.verbose('unlock', 'done using', lf, 'for', resolve(base, name))\n }\n\n cb(er)\n })\n } else {\n var notLocked = new Error(\n 'Attempt to unlock ' + resolve(base, name) + \", which hasn't been locked\"\n )\n notLocked.code = 'ENOTLOCKED'\n throw notLocked\n }\n}\n\nmodule.exports = {\n lock: lock,\n unlock: unlock\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "252", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/bluebird.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nvar old;\nif (typeof Promise !== \"undefined\") old = Promise;\nfunction noConflict() {\n try { if (Promise === bluebird) Promise = old; }\n catch (e) {}\n return bluebird;\n}\nvar bluebird = require(\"./promise\")();\nbluebird.noConflict = noConflict;\nmodule.exports = bluebird;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "256", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nvar firstLineError;\ntry {throw new Error(); } catch (e) {firstLineError = e;}\nvar schedule = require(\"./schedule\");\nvar Queue = require(\"./queue\");\nvar util = require(\"./util\");\n\nfunction Async() {\n this._customScheduler = false;\n this._isTickUsed = false;\n this._lateQueue = new Queue(16);\n this._normalQueue = new Queue(16);\n this._haveDrainedQueues = false;\n this._trampolineEnabled = true;\n var self = this;\n this.drainQueues = function () {\n self._drainQueues();\n };\n this._schedule = schedule;\n}\n\nAsync.prototype.setScheduler = function(fn) {\n var prev = this._schedule;\n this._schedule = fn;\n this._customScheduler = true;\n return prev;\n};\n\nAsync.prototype.hasCustomScheduler = function() {\n return this._customScheduler;\n};\n\nAsync.prototype.enableTrampoline = function() {\n this._trampolineEnabled = true;\n};\n\nAsync.prototype.disableTrampolineIfNecessary = function() {\n if (util.hasDevTools) {\n this._trampolineEnabled = false;\n }\n};\n\nAsync.prototype.haveItemsQueued = function () {\n return this._isTickUsed || this._haveDrainedQueues;\n};\n\n\nAsync.prototype.fatalError = function(e, isNode) {\n if (isNode) {\n process.stderr.write(\"Fatal \" + (e instanceof Error ? e.stack : e) +\n \"\\n\");\n process.exit(2);\n } else {\n this.throwLater(e);\n }\n};\n\nAsync.prototype.throwLater = function(fn, arg) {\n if (arguments.length === 1) {\n arg = fn;\n fn = function () { throw arg; };\n }\n if (typeof setTimeout !== \"undefined\") {\n setTimeout(function() {\n fn(arg);\n }, 0);\n } else try {\n this._schedule(function() {\n fn(arg);\n });\n } catch (e) {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n};\n\nfunction AsyncInvokeLater(fn, receiver, arg) {\n this._lateQueue.push(fn, receiver, arg);\n this._queueTick();\n}\n\nfunction AsyncInvoke(fn, receiver, arg) {\n this._normalQueue.push(fn, receiver, arg);\n this._queueTick();\n}\n\nfunction AsyncSettlePromises(promise) {\n this._normalQueue._pushOne(promise);\n this._queueTick();\n}\n\nif (!util.hasDevTools) {\n Async.prototype.invokeLater = AsyncInvokeLater;\n Async.prototype.invoke = AsyncInvoke;\n Async.prototype.settlePromises = AsyncSettlePromises;\n} else {\n Async.prototype.invokeLater = function (fn, receiver, arg) {\n if (this._trampolineEnabled) {\n AsyncInvokeLater.call(this, fn, receiver, arg);\n } else {\n this._schedule(function() {\n setTimeout(function() {\n fn.call(receiver, arg);\n }, 100);\n });\n }\n };\n\n Async.prototype.invoke = function (fn, receiver, arg) {\n if (this._trampolineEnabled) {\n AsyncInvoke.call(this, fn, receiver, arg);\n } else {\n this._schedule(function() {\n fn.call(receiver, arg);\n });\n }\n };\n\n Async.prototype.settlePromises = function(promise) {\n if (this._trampolineEnabled) {\n AsyncSettlePromises.call(this, promise);\n } else {\n this._schedule(function() {\n promise._settlePromises();\n });\n }\n };\n}\n\nAsync.prototype._drainQueue = function(queue) {\n while (queue.length() > 0) {\n var fn = queue.shift();\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n continue;\n }\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n};\n\nAsync.prototype._drainQueues = function () {\n this._drainQueue(this._normalQueue);\n this._reset();\n this._haveDrainedQueues = true;\n this._drainQueue(this._lateQueue);\n};\n\nAsync.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n this._schedule(this.drainQueues);\n }\n};\n\nAsync.prototype._reset = function () {\n this._isTickUsed = false;\n};\n\nmodule.exports = Async;\nmodule.exports.firstLineError = firstLineError;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "259", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/errors.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nvar es5 = require(\"./es5\");\nvar Objectfreeze = es5.freeze;\nvar util = require(\"./util\");\nvar inherits = util.inherits;\nvar notEnumerableProp = util.notEnumerableProp;\n\nfunction subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\",\n typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n inherits(SubError, Error);\n return SubError;\n}\n\nvar _TypeError, _RangeError;\nvar Warning = subError(\"Warning\", \"warning\");\nvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\nvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\nvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\ntry {\n _TypeError = TypeError;\n _RangeError = RangeError;\n} catch(e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n}\n\nvar methods = (\"join pop push shift unshift slice filter forEach some \" +\n \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\nfor (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n}\n\nes5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n});\nAggregateError.prototype[\"isOperational\"] = true;\nvar level = 0;\nAggregateError.prototype.toString = function() {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n level--;\n return ret;\n};\n\nfunction OperationalError(message) {\n if (!(this instanceof OperationalError))\n return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n}\ninherits(OperationalError, Error);\n\nvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\nif (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n}\n\nmodule.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "263", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/debuggability.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function(Promise, Context) {\nvar getDomain = Promise._getDomain;\nvar async = Promise._async;\nvar Warning = require(\"./errors\").Warning;\nvar util = require(\"./util\");\nvar canAttachTrace = util.canAttachTrace;\nvar unhandledRejectionHandled;\nvar possiblyUnhandledRejection;\nvar bluebirdFramePattern =\n /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\nvar nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\nvar parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\nvar stackFramePattern = null;\nvar formatStack = null;\nvar indentStackFrames = false;\nvar printWarning;\nvar debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 &&\n (false ||\n util.env(\"BLUEBIRD_DEBUG\") ||\n util.env(\"NODE_ENV\") === \"development\"));\n\nvar warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\nvar longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\nvar wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 &&\n (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\nPromise.prototype.suppressUnhandledRejections = function() {\n var target = this._target();\n target._bitField = ((target._bitField & (~1048576)) |\n 524288);\n};\n\nPromise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n this._setRejectionIsUnhandled();\n async.invokeLater(this._notifyUnhandledRejection, this, undefined);\n};\n\nPromise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\",\n unhandledRejectionHandled, undefined, this);\n};\n\nPromise.prototype._setReturnedNonUndefined = function() {\n this._bitField = this._bitField | 268435456;\n};\n\nPromise.prototype._returnedNonUndefined = function() {\n return (this._bitField & 268435456) !== 0;\n};\n\nPromise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n this._setUnhandledRejectionIsNotified();\n fireRejectionEvent(\"unhandledRejection\",\n possiblyUnhandledRejection, reason, this);\n }\n};\n\nPromise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n};\n\nPromise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & (~262144);\n};\n\nPromise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n};\n\nPromise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n};\n\nPromise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & (~1048576);\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n this._notifyUnhandledRejectionIsHandled();\n }\n};\n\nPromise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n};\n\nPromise.prototype._warn = function(message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n};\n\nPromise.onPossiblyUnhandledRejection = function (fn) {\n var domain = getDomain();\n possiblyUnhandledRejection =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nPromise.onUnhandledRejectionHandled = function (fn) {\n var domain = getDomain();\n unhandledRejectionHandled =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nvar disableLongStackTraces = function() {};\nPromise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n config.longStackTraces = true;\n disableLongStackTraces = function() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Context.deactivateLongStackTraces();\n async.enableTrampoline();\n config.longStackTraces = false;\n };\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Context.activateLongStackTraces();\n async.disableTrampolineIfNecessary();\n }\n};\n\nPromise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n};\n\nvar fireDomEvent = (function() {\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new CustomEvent(name.toLowerCase(), {\n detail: event,\n cancelable: true\n });\n return !util.global.dispatchEvent(domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new Event(name.toLowerCase(), {\n cancelable: true\n });\n domEvent.detail = event;\n return !util.global.dispatchEvent(domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name.toLowerCase(), false, true,\n event);\n return !util.global.dispatchEvent(domEvent);\n };\n }\n } catch (e) {}\n return function() {\n return false;\n };\n})();\n\nvar fireGlobalEvent = (function() {\n if (util.isNode) {\n return function() {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function() {\n return false;\n };\n }\n return function(name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n})();\n\nfunction generatePromiseLifecycleEventObject(name, promise) {\n return {promise: promise};\n}\n\nvar eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function(name, promise, child) {\n return {promise: promise, child: child};\n },\n warning: function(name, warning) {\n return {warning: warning};\n },\n unhandledRejection: function (name, reason, promise) {\n return {reason: reason, promise: promise};\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n};\n\nvar activeFireEvent = function (name) {\n var globalEventFired = false;\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n try {\n domEventFired = fireDomEvent(name,\n eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n};\n\nPromise.config = function(opts) {\n opts = Object(opts);\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\n \"cannot enable cancellation after promises are in use\");\n }\n Promise.prototype._clearCancellationData =\n cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback =\n cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n return Promise;\n};\n\nfunction defaultFireEvent() { return false; }\n\nPromise.prototype._fireEvent = defaultFireEvent;\nPromise.prototype._execute = function(executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n};\nPromise.prototype._onCancel = function () {};\nPromise.prototype._setOnCancel = function (handler) { ; };\nPromise.prototype._attachCancellationCallback = function(onCancel) {\n ;\n};\nPromise.prototype._captureStackTrace = function () {};\nPromise.prototype._attachExtraTrace = function () {};\nPromise.prototype._clearCancellationData = function() {};\nPromise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n};\n\nfunction cancellationExecute(executor, resolve, reject) {\n var promise = this;\n try {\n executor(resolve, reject, function(onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" +\n util.toString(onCancel));\n }\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n}\n\nfunction cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n}\n\nfunction cancellationOnCancel() {\n return this._onCancelField;\n}\n\nfunction cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n}\n\nfunction cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n}\n\nfunction cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\n\nfunction bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\nvar propagateFromFunction = bindingPropagateFrom;\n\nfunction boundValueFunction() {\n var ret = this._boundTo;\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n return ret;\n}\n\nfunction longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n}\n\nfunction longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\",\n parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n}\n\nfunction checkForgottenReturns(returnValue, promiseCreated, name, promise,\n parent) {\n if (returnValue === undefined && promiseCreated !== null &&\n wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n var stack = cleanStack(traceLines);\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] +\n \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n for (var i = 0; i < traceLines.length; ++i) {\n\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n break;\n }\n }\n\n }\n }\n var msg = \"a promise was created in a \" + name +\n \"handler \" + handlerLine + \"but was not returned from it, \" +\n \"see http://goo.gl/rRqMUw\" +\n creatorLine;\n promise._warn(msg, true, promiseCreated);\n }\n}\n\nfunction deprecated(name, replacement) {\n var message = name +\n \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n}\n\nfunction warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n}\n\nfunction reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n return message + \"\\n\" + stacks.join(\"\\n\");\n}\n\nfunction removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 ||\n ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) {\n stacks.splice(i, 1);\n i--;\n }\n }\n}\n\nfunction removeCommonRoots(stacks) {\n var current = stacks[0];\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n current = prev;\n }\n}\n\nfunction cleanStack(stack) {\n var ret = [];\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line ||\n stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n ret.push(line);\n }\n }\n return ret;\n}\n\nfunction stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n return stack;\n}\n\nfunction parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0\n ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n}\n\nfunction formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" ||\n typeof console.log === \"object\") {\n console.log(message);\n }\n }\n}\n\nfunction fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n}\n\nfunction formatNonError(obj) {\n var str;\n if (typeof obj === \"function\") {\n str = \"[function \" +\n (obj.name || \"anonymous\") +\n \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\"\n ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n }\n catch(e) {\n\n }\n }\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n return (\"(<\" + snip(str) + \">, no stack trace)\");\n}\n\nfunction snip(str) {\n var maxChars = 41;\n if (str.length < maxChars) {\n return str;\n }\n return str.substr(0, maxChars - 3) + \"...\";\n}\n\nfunction longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n}\n\nvar shouldIgnore = function() { return false; };\nvar parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\nfunction parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n}\n\nfunction setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = firstLineError.stack.split(\"\\n\");\n var lastStackLines = lastLineError.stack.split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName ||\n firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n if (info) {\n if (info.fileName === firstFileName &&\n (firstIndex <= info.line && info.line <= lastIndex)) {\n return true;\n }\n }\n return false;\n };\n}\n\nfunction CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n}\nutil.inherits(CapturedTrace, Error);\nContext.CapturedTrace = CapturedTrace;\n\nCapturedTrace.prototype.uncycle = function() {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n length = this._length = i;\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n cycleEdgeNode._parent.uncycle();\n cycleEdgeNode._length =\n cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n var currentChildLength = cycleEdgeNode._length + 1;\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n return;\n }\n }\n};\n\nCapturedTrace.prototype.attachExtraTrace = function(error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n\n var trace = this;\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n};\n\nvar captureStackTrace = (function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n var v8stackFormatter = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" &&\n typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function(line) {\n return bluebirdFramePattern.test(line);\n };\n return function(receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n var err = new Error();\n\n if (typeof err.stack === \"string\" &&\n err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n try { throw new Error(); }\n catch(e) {\n hasStackAfterThrow = (\"stack\" in e);\n }\n if (!(\"stack\" in err) && hasStackAfterThrow &&\n typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n try { throw new Error(); }\n catch(e) { o.stack = e.stack; }\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((typeof error === \"object\" ||\n typeof error === \"function\") &&\n error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n return null;\n\n})([]);\n\nif (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function (message) {\n console.warn(message);\n };\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function(message, isSoft) {\n var color = isSoft ? \"\\u001b[33m\" : \"\\u001b[31m\";\n console.warn(color + message + \"\\u001b[0m\\n\");\n };\n } else if (!util.isNode && typeof (new Error().stack) === \"string\") {\n printWarning = function(message, isSoft) {\n console.warn(\"%c\" + message,\n isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n}\n\nvar config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false\n};\n\nif (longStackTraces) Promise.longStackTraces();\n\nreturn {\n longStackTraces: function() {\n return config.longStackTraces;\n },\n warnings: function() {\n return config.warnings;\n },\n cancellation: function() {\n return config.cancellation;\n },\n monitoring: function() {\n return config.monitoring;\n },\n propagateFromFunction: function() {\n return propagateFromFunction;\n },\n boundValueFunction: function() {\n return boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n};\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "273", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/join.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async,\n getDomain) {\nvar util = require(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar reject;\n\nif (!false) {\nif (canEvaluate) {\n var thenCallback = function(i) {\n return new Function(\"value\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = value; \\n\\\n holder.checkFulfillment(this); \\n\\\n \".replace(/Index/g, i));\n };\n\n var promiseSetter = function(i) {\n return new Function(\"promise\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = promise; \\n\\\n \".replace(/Index/g, i));\n };\n\n var generateHolderClass = function(total) {\n var props = new Array(total);\n for (var i = 0; i < props.length; ++i) {\n props[i] = \"this.p\" + (i+1);\n }\n var assignment = props.join(\" = \") + \" = null;\";\n var cancellationCode= \"var promise;\\n\" + props.map(function(prop) {\n return \" \\n\\\n promise = \" + prop + \"; \\n\\\n if (promise instanceof Promise) { \\n\\\n promise.cancel(); \\n\\\n } \\n\\\n \";\n }).join(\"\\n\");\n var passedArguments = props.join(\", \");\n var name = \"Holder$\" + total;\n\n\n var code = \"return function(tryCatch, errorObj, Promise, async) { \\n\\\n 'use strict'; \\n\\\n function [TheName](fn) { \\n\\\n [TheProperties] \\n\\\n this.fn = fn; \\n\\\n this.asyncNeeded = true; \\n\\\n this.now = 0; \\n\\\n } \\n\\\n \\n\\\n [TheName].prototype._callFunction = function(promise) { \\n\\\n promise._pushContext(); \\n\\\n var ret = tryCatch(this.fn)([ThePassedArguments]); \\n\\\n promise._popContext(); \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(ret.e, false); \\n\\\n } else { \\n\\\n promise._resolveCallback(ret); \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype.checkFulfillment = function(promise) { \\n\\\n var now = ++this.now; \\n\\\n if (now === [TheTotal]) { \\n\\\n if (this.asyncNeeded) { \\n\\\n async.invoke(this._callFunction, this, promise); \\n\\\n } else { \\n\\\n this._callFunction(promise); \\n\\\n } \\n\\\n \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype._resultCancelled = function() { \\n\\\n [CancellationCode] \\n\\\n }; \\n\\\n \\n\\\n return [TheName]; \\n\\\n }(tryCatch, errorObj, Promise, async); \\n\\\n \";\n\n code = code.replace(/\\[TheName\\]/g, name)\n .replace(/\\[TheTotal\\]/g, total)\n .replace(/\\[ThePassedArguments\\]/g, passedArguments)\n .replace(/\\[TheProperties\\]/g, assignment)\n .replace(/\\[CancellationCode\\]/g, cancellationCode);\n\n return new Function(\"tryCatch\", \"errorObj\", \"Promise\", \"async\", code)\n (tryCatch, errorObj, Promise, async);\n };\n\n var holderClasses = [];\n var thenCallbacks = [];\n var promiseSetters = [];\n\n for (var i = 0; i < 8; ++i) {\n holderClasses.push(generateHolderClass(i + 1));\n thenCallbacks.push(thenCallback(i + 1));\n promiseSetters.push(promiseSetter(i + 1));\n }\n\n reject = function (reason) {\n this._reject(reason);\n };\n}}\n\nPromise.join = function () {\n var last = arguments.length - 1;\n var fn;\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n if (!false) {\n if (last <= 8 && canEvaluate) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var HolderClass = holderClasses[last - 1];\n var holder = new HolderClass(fn);\n var callbacks = thenCallbacks;\n\n for (var i = 0; i < last; ++i) {\n var maybePromise = tryConvertToPromise(arguments[i], ret);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n maybePromise._then(callbacks[i], reject,\n undefined, ret, holder);\n promiseSetters[i](maybePromise, holder);\n holder.asyncNeeded = false;\n } else if (((bitField & 33554432) !== 0)) {\n callbacks[i].call(ret,\n maybePromise._value(), holder);\n } else if (((bitField & 16777216) !== 0)) {\n ret._reject(maybePromise._reason());\n } else {\n ret._cancel();\n }\n } else {\n callbacks[i].call(ret, maybePromise, holder);\n }\n }\n\n if (!ret._isFateSealed()) {\n if (holder.asyncNeeded) {\n var domain = getDomain();\n if (domain !== null) {\n holder.fn = util.domainBind(domain, holder.fn);\n }\n }\n ret._setAsyncGuaranteed();\n ret._setOnCancel(holder);\n }\n return ret;\n }\n }\n }\n var $_len = arguments.length;var args = new Array($_len); for(var $_i = 0; $_i < $_len; ++$_i) {args[$_i] = arguments[$_i];};\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n};\n\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "324", "url": "/usr/local/lib/node_modules/npm/lib/utils/temp-filename.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar uniqueFilename = require('unique-filename')\nvar npm = require('../npm.js')\n\nmodule.exports = function (prefix) {\n return uniqueFilename(npm.tmp, prefix)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "325", "url": "/usr/local/lib/node_modules/npm/node_modules/unique-filename/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar path = require('path')\n\nvar uniqueSlug = require('unique-slug')\n\nmodule.exports = function (filepath, prefix, uniq) {\n return path.join(filepath, (prefix ? prefix + '-' : '') + uniqueSlug(uniq))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/unique-filename" }, { "id": "327", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "328", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/extract.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst cacache = require('cacache')\nconst extractStream = require('./lib/extract-stream')\nconst npa = require('npm-package-arg')\nconst pipe = BB.promisify(require('mississippi').pipe)\nconst optCheck = require('./lib/util/opt-check')\nconst retry = require('promise-retry')\nconst rimraf = BB.promisify(require('rimraf'))\n\nmodule.exports = extract\nfunction extract (spec, dest, opts) {\n opts = optCheck(opts)\n spec = typeof spec === 'string' ? npa(spec, opts.where) : spec\n const startTime = Date.now()\n if (opts.integrity && opts.cache && !opts.preferOnline) {\n opts.log.silly('pacote', `trying ${spec} by hash: ${opts.integrity}`)\n return extractByDigest(\n startTime, spec, dest, opts\n ).catch(err => {\n if (err.code === 'ENOENT') {\n opts.log.silly('pacote', `data for ${opts.integrity} not present. Using manifest.`)\n return extractByManifest(startTime, spec, dest, opts)\n }\n\n if (err.code === 'EINTEGRITY' || err.code === 'Z_DATA_ERROR') {\n opts.log.warn('pacote', `cached data for ${spec} (${opts.integrity}) seems to be corrupted. Refreshing cache.`)\n }\n return cleanUpCached(\n dest, opts.cache, opts.integrity, opts\n ).then(() => {\n return extractByManifest(startTime, spec, dest, opts)\n })\n })\n } else {\n opts.log.silly('pacote', 'no tarball hash provided for', spec.name, '- extracting by manifest')\n return retry((tryAgain, attemptNum) => {\n return extractByManifest(\n startTime, spec, dest, opts\n ).catch(err => {\n // Retry once if we have a cache, to clear up any weird conditions.\n // Don't retry network errors, though -- make-fetch-happen has already\n // taken care of making sure we're all set on that front.\n if (opts.cache && !err.code.match(/^E\\d{3}$/)) {\n if (err.code === 'EINTEGRITY' || err.code === 'Z_DATA_ERROR') {\n opts.log.warn('pacote', `tarball data for ${spec} (${opts.integrity}) seems to be corrupted. Trying one more time.`)\n }\n return cleanUpCached(\n dest, opts.cache, err.sri, opts\n ).then(() => tryAgain(err))\n } else {\n throw err\n }\n })\n }, {retries: 1})\n }\n}\n\nfunction extractByDigest (start, spec, dest, opts) {\n const xtractor = extractStream(dest, opts)\n const cached = cacache.get.stream.byDigest(opts.cache, opts.integrity, opts)\n return pipe(cached, xtractor).then(() => {\n opts.log.silly('pacote', `${spec} extracted to ${dest} by content address ${Date.now() - start}ms`)\n })\n}\n\nlet fetch\nfunction extractByManifest (start, spec, dest, opts) {\n const xtractor = extractStream(dest, opts)\n return BB.resolve(null).then(() => {\n if (!fetch) {\n fetch = require('./lib/fetch')\n }\n return pipe(fetch.tarball(spec, opts), xtractor)\n }).then(() => {\n opts.log.silly('pacote', `${spec} extracted in ${Date.now() - start}ms`)\n })\n}\n\nfunction cleanUpCached (dest, cachePath, integrity, opts) {\n return BB.join(\n rimraf(dest),\n cacache.rm.content(cachePath, integrity, opts)\n )\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "329", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "330", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/locales/en.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst ls = require('../ls.js')\nconst get = require('../get.js')\nconst put = require('../put.js')\nconst rm = require('../rm.js')\nconst verify = require('../verify.js')\nconst setLocale = require('../lib/util/y.js').setLocale\nconst clearMemoized = require('../lib/memoization.js').clearMemoized\nconst tmp = require('../lib/util/tmp.js')\n\nsetLocale('en')\n\nconst x = module.exports\n\nx.ls = cache => ls(cache)\nx.ls.stream = cache => ls.stream(cache)\n\nx.get = (cache, key, opts) => get(cache, key, opts)\nx.get.byDigest = (cache, hash, opts) => get.byDigest(cache, hash, opts)\nx.get.stream = (cache, key, opts) => get.stream(cache, key, opts)\nx.get.stream.byDigest = (cache, hash, opts) => get.stream.byDigest(cache, hash, opts)\nx.get.info = (cache, key) => get.info(cache, key)\nx.get.hasContent = (cache, hash) => get.hasContent(cache, hash)\n\nx.put = (cache, key, data, opts) => put(cache, key, data, opts)\nx.put.stream = (cache, key, opts) => put.stream(cache, key, opts)\n\nx.rm = (cache, key) => rm.entry(cache, key)\nx.rm.all = cache => rm.all(cache)\nx.rm.entry = x.rm\nx.rm.content = (cache, hash) => rm.content(cache, hash)\n\nx.setLocale = lang => setLocale(lang)\nx.clearMemoized = () => clearMemoized()\n\nx.tmp = {}\nx.tmp.mkdir = (cache, opts) => tmp.mkdir(cache, opts)\nx.tmp.withTmp = (cache, opts, cb) => tmp.withTmp(cache, opts, cb)\n\nx.verify = (cache, opts) => verify(cache, opts)\nx.verify.lastRun = cache => verify.lastRun(cache)\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "331", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/ls.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "332", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/entry-index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst contentPath = require('./content/path')\nconst crypto = require('crypto')\nconst fixOwner = require('./util/fix-owner')\nconst fs = require('graceful-fs')\nconst hashToSegments = require('./util/hash-to-segments')\nconst ms = require('mississippi')\nconst path = require('path')\nconst ssri = require('ssri')\nconst Y = require('./util/y.js')\n\nconst indexV = require('../package.json')['cache-version'].index\n\nconst appendFileAsync = BB.promisify(fs.appendFile)\nconst readFileAsync = BB.promisify(fs.readFile)\nconst readdirAsync = BB.promisify(fs.readdir)\nconst concat = ms.concat\nconst from = ms.from\n\nmodule.exports.NotFoundError = class NotFoundError extends Error {\n constructor (cache, key) {\n super(Y`No cache entry for \\`${key}\\` found in \\`${cache}\\``)\n this.code = 'ENOENT'\n this.cache = cache\n this.key = key\n }\n}\n\nmodule.exports.insert = insert\nfunction insert (cache, key, integrity, opts) {\n opts = opts || {}\n const bucket = bucketPath(cache, key)\n const entry = {\n key,\n integrity: integrity && ssri.stringify(integrity),\n time: Date.now(),\n size: opts.size,\n metadata: opts.metadata\n }\n return fixOwner.mkdirfix(\n path.dirname(bucket), opts.uid, opts.gid\n ).then(() => {\n const stringified = JSON.stringify(entry)\n // NOTE - Cleverness ahoy!\n //\n // This works because it's tremendously unlikely for an entry to corrupt\n // another while still preserving the string length of the JSON in\n // question. So, we just slap the length in there and verify it on read.\n //\n // Thanks to @isaacs for the whiteboarding session that ended up with this.\n return appendFileAsync(\n bucket, `\\n${hashEntry(stringified)}\\t${stringified}`\n )\n }).then(\n () => fixOwner.chownr(bucket, opts.uid, opts.gid)\n ).catch({code: 'ENOENT'}, () => {\n // There's a class of race conditions that happen when things get deleted\n // during fixOwner, or between the two mkdirfix/chownr calls.\n //\n // It's perfectly fine to just not bother in those cases and lie\n // that the index entry was written. Because it's a cache.\n }).then(() => {\n return formatEntry(cache, entry)\n })\n}\n\nmodule.exports.find = find\nfunction find (cache, key) {\n const bucket = bucketPath(cache, key)\n return bucketEntries(cache, bucket).then(entries => {\n return entries.reduce((latest, next) => {\n if (next && next.key === key) {\n return formatEntry(cache, next)\n } else {\n return latest\n }\n }, null)\n }).catch(err => {\n if (err.code === 'ENOENT') {\n return null\n } else {\n throw err\n }\n })\n}\n\nmodule.exports.delete = del\nfunction del (cache, key, opts) {\n return insert(cache, key, null, opts)\n}\n\nmodule.exports.lsStream = lsStream\nfunction lsStream (cache) {\n const indexDir = bucketDir(cache)\n const stream = from.obj()\n\n // \"/cachename/*\"\n readdirOrEmpty(indexDir).map(bucket => {\n const bucketPath = path.join(indexDir, bucket)\n\n // \"/cachename//*\"\n return readdirOrEmpty(bucketPath).map(subbucket => {\n const subbucketPath = path.join(bucketPath, subbucket)\n\n // \"/cachename///*\"\n return readdirOrEmpty(subbucketPath).map(entry => {\n const getKeyToEntry = bucketEntries(\n cache,\n path.join(subbucketPath, entry)\n ).reduce((acc, entry) => {\n acc.set(entry.key, entry)\n return acc\n }, new Map())\n\n return getKeyToEntry.then(reduced => {\n return Array.from(reduced.values()).map(\n entry => stream.push(formatEntry(cache, entry))\n )\n }).catch({code: 'ENOENT'}, nop)\n })\n })\n }).then(() => {\n stream.push(null)\n }, err => {\n stream.emit('error', err)\n })\n\n return stream\n}\n\nmodule.exports.ls = ls\nfunction ls (cache) {\n return BB.fromNode(cb => {\n lsStream(cache).on('error', cb).pipe(concat(entries => {\n cb(null, entries.reduce((acc, xs) => {\n acc[xs.key] = xs\n return acc\n }, {}))\n }))\n })\n}\n\nfunction bucketEntries (cache, bucket, filter) {\n return readFileAsync(\n bucket, 'utf8'\n ).then(data => {\n let entries = []\n data.split('\\n').forEach(entry => {\n if (!entry) { return }\n const pieces = entry.split('\\t')\n if (!pieces[1] || hashEntry(pieces[1]) !== pieces[0]) {\n // Hash is no good! Corruption or malice? Doesn't matter!\n // EJECT EJECT\n return\n }\n let obj\n try {\n obj = JSON.parse(pieces[1])\n } catch (e) {\n // Entry is corrupted!\n return\n }\n if (obj) {\n entries.push(obj)\n }\n })\n return entries\n })\n}\n\nmodule.exports._bucketDir = bucketDir\nfunction bucketDir (cache) {\n return path.join(cache, `index-v${indexV}`)\n}\n\nmodule.exports._bucketPath = bucketPath\nfunction bucketPath (cache, key) {\n const hashed = hashKey(key)\n return path.join.apply(path, [bucketDir(cache)].concat(\n hashToSegments(hashed)\n ))\n}\n\nmodule.exports._hashKey = hashKey\nfunction hashKey (key) {\n return hash(key, 'sha256')\n}\n\nmodule.exports._hashEntry = hashEntry\nfunction hashEntry (str) {\n return hash(str, 'sha1')\n}\n\nfunction hash (str, digest) {\n return crypto\n .createHash(digest)\n .update(str)\n .digest('hex')\n}\n\nfunction formatEntry (cache, entry) {\n // Treat null digests as deletions. They'll shadow any previous entries.\n if (!entry.integrity) { return null }\n return {\n key: entry.key,\n integrity: entry.integrity,\n path: contentPath(cache, entry.integrity),\n size: entry.size,\n time: entry.time,\n metadata: entry.metadata\n }\n}\n\nfunction readdirOrEmpty (dir) {\n return readdirAsync(dir)\n .catch({code: 'ENOENT'}, () => [])\n .catch({code: 'ENOTDIR'}, () => [])\n}\n\nfunction nop () {\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "333", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/path.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst contentVer = require('../../package.json')['cache-version'].content\nconst hashToSegments = require('../util/hash-to-segments')\nconst path = require('path')\nconst ssri = require('ssri')\n\n// Current format of content file path:\n//\n// sha512-BaSE64Hex= ->\n// ~/.my-cache/content-v2/sha512/ba/da/55deadbeefc0ffee\n//\nmodule.exports = contentPath\nfunction contentPath (cache, integrity) {\n const sri = ssri.parse(integrity, {single: true})\n // contentPath is the *strongest* algo given\n return path.join.apply(path, [\n contentDir(cache),\n sri.algorithm\n ].concat(hashToSegments(sri.hexDigest())))\n}\n\nmodule.exports._contentDir = contentDir\nfunction contentDir (cache) {\n return path.join(cache, `content-v${contentVer}`)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "336", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/util/fix-owner.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst chownr = BB.promisify(require('chownr'))\nconst mkdirp = BB.promisify(require('mkdirp'))\nconst inflight = require('promise-inflight')\n\nmodule.exports.chownr = fixOwner\nfunction fixOwner (filepath, uid, gid) {\n if (!process.getuid) {\n // This platform doesn't need ownership fixing\n return BB.resolve()\n }\n if (typeof uid !== 'number' && typeof gid !== 'number') {\n // There's no permissions override. Nothing to do here.\n return BB.resolve()\n }\n if ((typeof uid === 'number' && process.getuid() === uid) &&\n (typeof gid === 'number' && process.getgid() === gid)) {\n // No need to override if it's already what we used.\n return BB.resolve()\n }\n return inflight(\n 'fixOwner: fixing ownership on ' + filepath,\n () => chownr(\n filepath,\n typeof uid === 'number' ? uid : process.getuid(),\n typeof gid === 'number' ? gid : process.getgid()\n ).catch({code: 'ENOENT'}, () => null)\n )\n}\n\nmodule.exports.mkdirfix = mkdirfix\nfunction mkdirfix (p, uid, gid, cb) {\n return mkdirp(p).then(made => {\n if (made) {\n return fixOwner(made, uid, gid).then(() => made)\n }\n }).catch({code: 'EEXIST'}, () => {\n // There's a race in mkdirp!\n return fixOwner(p, uid, gid).then(() => null)\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "340", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi" }, { "id": "343", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/stream-each/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var eos = require('end-of-stream')\nvar shift = require('stream-shift')\n\nmodule.exports = each\n\nfunction each (stream, fn, cb) {\n var want = true\n var error = null\n var ended = false\n var running = false\n\n stream.on('readable', onreadable)\n onreadable()\n\n if (cb) eos(stream, {readable: true, writable: false}, done)\n return stream\n\n function done (err) {\n if (!error) error = err\n ended = true\n if (!running) cb(error)\n }\n\n function onreadable () {\n if (want) read()\n }\n\n function afterRead (err) {\n running = false\n\n if (err) {\n error = err\n if (ended) return cb(error)\n stream.destroy(err)\n return\n }\n if (ended) return cb(error)\n read()\n }\n\n function read () {\n if (ended || running) return\n want = false\n\n var data = shift(stream)\n if (!data) {\n want = true\n return\n }\n\n running = true\n fn(data, afterRead)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/stream-each" }, { "id": "345", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/pumpify/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var pump = require('pump')\nvar inherits = require('inherits')\nvar Duplexify = require('duplexify')\n\nvar toArray = function(args) {\n if (!args.length) return []\n return Array.isArray(args[0]) ? args[0] : Array.prototype.slice.call(args)\n}\n\nvar define = function(opts) {\n var Pumpify = function() {\n var streams = toArray(arguments)\n if (!(this instanceof Pumpify)) return new Pumpify(streams)\n Duplexify.call(this, null, null, opts)\n if (streams.length) this.setPipeline(streams)\n }\n\n inherits(Pumpify, Duplexify)\n\n Pumpify.prototype.setPipeline = function() {\n var streams = toArray(arguments)\n var self = this\n var ended = false\n var w = streams[0]\n var r = streams[streams.length-1]\n\n r = r.readable ? r : null\n w = w.writable ? w : null\n\n var onclose = function() {\n streams[0].emit('error', new Error('stream was destroyed'))\n }\n\n this.on('close', onclose)\n this.on('prefinish', function() {\n if (!ended) self.cork()\n })\n\n pump(streams, function(err) {\n self.removeListener('close', onclose)\n if (err) return self.destroy(err)\n ended = true\n self.uncork()\n })\n\n if (this.destroyed) return onclose()\n this.setWritable(w)\n this.setReadable(r)\n }\n\n return Pumpify\n}\n\nmodule.exports = define({destroy:false})\nmodule.exports.obj = define({destroy:false, objectMode:true, highWaterMark:16})\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/pumpify" }, { "id": "346", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var stream = require('readable-stream')\nvar eos = require('end-of-stream')\nvar inherits = require('inherits')\nvar shift = require('stream-shift')\n\nvar SIGNAL_FLUSH = new Buffer([0])\n\nvar onuncork = function(self, fn) {\n if (self._corked) self.once('uncork', fn)\n else fn()\n}\n\nvar destroyer = function(self, end) {\n return function(err) {\n if (err) self.destroy(err.message === 'premature close' ? null : err)\n else if (end && !self._ended) self.end()\n }\n}\n\nvar end = function(ws, fn) {\n if (!ws) return fn()\n if (ws._writableState && ws._writableState.finished) return fn()\n if (ws._writableState) return ws.end(fn)\n ws.end()\n fn()\n}\n\nvar toStreams2 = function(rs) {\n return new (stream.Readable)({objectMode:true, highWaterMark:16}).wrap(rs)\n}\n\nvar Duplexify = function(writable, readable, opts) {\n if (!(this instanceof Duplexify)) return new Duplexify(writable, readable, opts)\n stream.Duplex.call(this, opts)\n\n this._writable = null\n this._readable = null\n this._readable2 = null\n\n this._forwardDestroy = !opts || opts.destroy !== false\n this._forwardEnd = !opts || opts.end !== false\n this._corked = 1 // start corked\n this._ondrain = null\n this._drained = false\n this._forwarding = false\n this._unwrite = null\n this._unread = null\n this._ended = false\n\n this.destroyed = false\n\n if (writable) this.setWritable(writable)\n if (readable) this.setReadable(readable)\n}\n\ninherits(Duplexify, stream.Duplex)\n\nDuplexify.obj = function(writable, readable, opts) {\n if (!opts) opts = {}\n opts.objectMode = true\n opts.highWaterMark = 16\n return new Duplexify(writable, readable, opts)\n}\n\nDuplexify.prototype.cork = function() {\n if (++this._corked === 1) this.emit('cork')\n}\n\nDuplexify.prototype.uncork = function() {\n if (this._corked && --this._corked === 0) this.emit('uncork')\n}\n\nDuplexify.prototype.setWritable = function(writable) {\n if (this._unwrite) this._unwrite()\n\n if (this.destroyed) {\n if (writable && writable.destroy) writable.destroy()\n return\n }\n\n if (writable === null || writable === false) {\n this.end()\n return\n }\n\n var self = this\n var unend = eos(writable, {writable:true, readable:false}, destroyer(this, this._forwardEnd))\n\n var ondrain = function() {\n var ondrain = self._ondrain\n self._ondrain = null\n if (ondrain) ondrain()\n }\n\n var clear = function() {\n self._writable.removeListener('drain', ondrain)\n unend()\n }\n\n if (this._unwrite) process.nextTick(ondrain) // force a drain on stream reset to avoid livelocks\n\n this._writable = writable\n this._writable.on('drain', ondrain)\n this._unwrite = clear\n\n this.uncork() // always uncork setWritable\n}\n\nDuplexify.prototype.setReadable = function(readable) {\n if (this._unread) this._unread()\n\n if (this.destroyed) {\n if (readable && readable.destroy) readable.destroy()\n return\n }\n\n if (readable === null || readable === false) {\n this.push(null)\n this.resume()\n return\n }\n\n var self = this\n var unend = eos(readable, {writable:false, readable:true}, destroyer(this))\n\n var onreadable = function() {\n self._forward()\n }\n\n var onend = function() {\n self.push(null)\n }\n\n var clear = function() {\n self._readable2.removeListener('readable', onreadable)\n self._readable2.removeListener('end', onend)\n unend()\n }\n\n this._drained = true\n this._readable = readable\n this._readable2 = readable._readableState ? readable : toStreams2(readable)\n this._readable2.on('readable', onreadable)\n this._readable2.on('end', onend)\n this._unread = clear\n\n this._forward()\n}\n\nDuplexify.prototype._read = function() {\n this._drained = true\n this._forward()\n}\n\nDuplexify.prototype._forward = function() {\n if (this._forwarding || !this._readable2 || !this._drained) return\n this._forwarding = true\n\n var data\n\n while (this._drained && (data = shift(this._readable2)) !== null) {\n if (this.destroyed) continue\n this._drained = this.push(data)\n }\n\n this._forwarding = false\n}\n\nDuplexify.prototype.destroy = function(err) {\n if (this.destroyed) return\n this.destroyed = true\n\n var self = this\n process.nextTick(function() {\n self._destroy(err)\n })\n}\n\nDuplexify.prototype._destroy = function(err) {\n if (err) {\n var ondrain = this._ondrain\n this._ondrain = null\n if (ondrain) ondrain(err)\n else this.emit('error', err)\n }\n\n if (this._forwardDestroy) {\n if (this._readable && this._readable.destroy) this._readable.destroy()\n if (this._writable && this._writable.destroy) this._writable.destroy()\n }\n\n this.emit('close')\n}\n\nDuplexify.prototype._write = function(data, enc, cb) {\n if (this.destroyed) return cb()\n if (this._corked) return onuncork(this, this._write.bind(this, data, enc, cb))\n if (data === SIGNAL_FLUSH) return this._finish(cb)\n if (!this._writable) return cb()\n\n if (this._writable.write(data) === false) this._ondrain = cb\n else cb()\n}\n\n\nDuplexify.prototype._finish = function(cb) {\n var self = this\n this.emit('preend')\n onuncork(this, function() {\n end(self._forwardEnd && self._writable, function() {\n // haxx to not emit prefinish twice\n if (self._writableState.prefinished === false) self._writableState.prefinished = true\n self.emit('prefinish')\n onuncork(self, cb)\n })\n })\n}\n\nDuplexify.prototype.end = function(data, enc, cb) {\n if (typeof data === 'function') return this.end(null, null, data)\n if (typeof enc === 'function') return this.end(data, null, enc)\n this._ended = true\n if (data) this.write(data)\n if (!this._writableState.ending) this.write(SIGNAL_FLUSH)\n return stream.Writable.prototype.end.call(this, cb)\n}\n\nmodule.exports = Duplexify\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify" }, { "id": "347", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify/node_modules/end-of-stream/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var once = require('once');\n\nvar noop = function() {};\n\nvar isRequest = function(stream) {\n\treturn stream.setHeader && typeof stream.abort === 'function';\n};\n\nvar eos = function(stream, opts, callback) {\n\tif (typeof opts === 'function') return eos(stream, null, opts);\n\tif (!opts) opts = {};\n\n\tcallback = once(callback || noop);\n\n\tvar ws = stream._writableState;\n\tvar rs = stream._readableState;\n\tvar readable = opts.readable || (opts.readable !== false && stream.readable);\n\tvar writable = opts.writable || (opts.writable !== false && stream.writable);\n\n\tvar onlegacyfinish = function() {\n\t\tif (!stream.writable) onfinish();\n\t};\n\n\tvar onfinish = function() {\n\t\twritable = false;\n\t\tif (!readable) callback();\n\t};\n\n\tvar onend = function() {\n\t\treadable = false;\n\t\tif (!writable) callback();\n\t};\n\n\tvar onclose = function() {\n\t\tif (readable && !(rs && rs.ended)) return callback(new Error('premature close'));\n\t\tif (writable && !(ws && ws.ended)) return callback(new Error('premature close'));\n\t};\n\n\tvar onrequest = function() {\n\t\tstream.req.on('finish', onfinish);\n\t};\n\n\tif (isRequest(stream)) {\n\t\tstream.on('complete', onfinish);\n\t\tstream.on('abort', onclose);\n\t\tif (stream.req) onrequest();\n\t\telse stream.on('request', onrequest);\n\t} else if (writable && !ws) { // legacy streams\n\t\tstream.on('end', onlegacyfinish);\n\t\tstream.on('close', onlegacyfinish);\n\t}\n\n\tstream.on('end', onend);\n\tstream.on('finish', onfinish);\n\tif (opts.error !== false) stream.on('error', callback);\n\tstream.on('close', onclose);\n\n\treturn function() {\n\t\tstream.removeListener('complete', onfinish);\n\t\tstream.removeListener('abort', onclose);\n\t\tstream.removeListener('request', onrequest);\n\t\tif (stream.req) stream.req.removeListener('finish', onfinish);\n\t\tstream.removeListener('end', onlegacyfinish);\n\t\tstream.removeListener('close', onlegacyfinish);\n\t\tstream.removeListener('finish', onfinish);\n\t\tstream.removeListener('end', onend);\n\t\tstream.removeListener('error', callback);\n\t\tstream.removeListener('close', onclose);\n\t};\n};\n\nmodule.exports = eos;\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify/node_modules/end-of-stream" }, { "id": "353", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/concat-stream/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var Writable = require('readable-stream').Writable\nvar inherits = require('inherits')\n\nif (typeof Uint8Array === 'undefined') {\n var U8 = require('typedarray').Uint8Array\n} else {\n var U8 = Uint8Array\n}\n\nfunction ConcatStream(opts, cb) {\n if (!(this instanceof ConcatStream)) return new ConcatStream(opts, cb)\n\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n }\n if (!opts) opts = {}\n\n var encoding = opts.encoding\n var shouldInferEncoding = false\n\n if (!encoding) {\n shouldInferEncoding = true\n } else {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'u8' || encoding === 'uint8') {\n encoding = 'uint8array'\n }\n }\n\n Writable.call(this, { objectMode: true })\n\n this.encoding = encoding\n this.shouldInferEncoding = shouldInferEncoding\n\n if (cb) this.on('finish', function () { cb(this.getBody()) })\n this.body = []\n}\n\nmodule.exports = ConcatStream\ninherits(ConcatStream, Writable)\n\nConcatStream.prototype._write = function(chunk, enc, next) {\n this.body.push(chunk)\n next()\n}\n\nConcatStream.prototype.inferEncoding = function (buff) {\n var firstBuffer = buff === undefined ? this.body[0] : buff;\n if (Buffer.isBuffer(firstBuffer)) return 'buffer'\n if (typeof Uint8Array !== 'undefined' && firstBuffer instanceof Uint8Array) return 'uint8array'\n if (Array.isArray(firstBuffer)) return 'array'\n if (typeof firstBuffer === 'string') return 'string'\n if (Object.prototype.toString.call(firstBuffer) === \"[object Object]\") return 'object'\n return 'buffer'\n}\n\nConcatStream.prototype.getBody = function () {\n if (!this.encoding && this.body.length === 0) return []\n if (this.shouldInferEncoding) this.encoding = this.inferEncoding()\n if (this.encoding === 'array') return arrayConcat(this.body)\n if (this.encoding === 'string') return stringConcat(this.body)\n if (this.encoding === 'buffer') return bufferConcat(this.body)\n if (this.encoding === 'uint8array') return u8Concat(this.body)\n return this.body\n}\n\nvar isArray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]'\n}\n\nfunction isArrayish (arr) {\n return /Array\\]$/.test(Object.prototype.toString.call(arr))\n}\n\nfunction isBufferish (p) {\n return typeof p === 'string' || isArrayish(p) || (p && typeof p.subarray === 'function')\n}\n\nfunction stringConcat (parts) {\n var strings = []\n var needsToString = false\n for (var i = 0; i < parts.length; i++) {\n var p = parts[i]\n if (typeof p === 'string') {\n strings.push(p)\n } else if (Buffer.isBuffer(p)) {\n strings.push(p)\n } else if (isBufferish(p)) {\n strings.push(new Buffer(p))\n } else {\n strings.push(new Buffer(String(p)))\n }\n }\n if (Buffer.isBuffer(parts[0])) {\n strings = Buffer.concat(strings)\n strings = strings.toString('utf8')\n } else {\n strings = strings.join('')\n }\n return strings\n}\n\nfunction bufferConcat (parts) {\n var bufs = []\n for (var i = 0; i < parts.length; i++) {\n var p = parts[i]\n if (Buffer.isBuffer(p)) {\n bufs.push(p)\n } else if (isBufferish(p)) {\n bufs.push(new Buffer(p))\n } else {\n bufs.push(new Buffer(String(p)))\n }\n }\n return Buffer.concat(bufs)\n}\n\nfunction arrayConcat (parts) {\n var res = []\n for (var i = 0; i < parts.length; i++) {\n res.push.apply(res, parts[i])\n }\n return res\n}\n\nfunction u8Concat (parts) {\n var len = 0\n for (var i = 0; i < parts.length; i++) {\n if (typeof parts[i] === 'string') {\n parts[i] = new Buffer(parts[i])\n }\n len += parts[i].length\n }\n var u8 = new U8(len)\n for (var i = 0, offset = 0; i < parts.length; i++) {\n var part = parts[i]\n for (var j = 0; j < part.length; j++) {\n u8[offset++] = part[j]\n }\n }\n return u8\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/concat-stream" }, { "id": "359", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/get.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst index = require('./lib/entry-index')\nconst memo = require('./lib/memoization')\nconst pipe = require('mississippi').pipe\nconst pipeline = require('mississippi').pipeline\nconst read = require('./lib/content/read')\nconst through = require('mississippi').through\n\nmodule.exports = function get (cache, key, opts) {\n return getData(false, cache, key, opts)\n}\nmodule.exports.byDigest = function getByDigest (cache, digest, opts) {\n return getData(true, cache, digest, opts)\n}\nfunction getData (byDigest, cache, key, opts) {\n opts = opts || {}\n const memoized = (\n byDigest\n ? memo.get.byDigest(cache, key, opts)\n : memo.get(cache, key, opts)\n )\n if (memoized && opts.memoize !== false) {\n return BB.resolve(byDigest ? memoized : {\n metadata: memoized.entry.metadata,\n data: memoized.data,\n integrity: memoized.entry.integrity,\n size: memoized.entry.size\n })\n }\n return (\n byDigest ? BB.resolve(null) : index.find(cache, key, opts)\n ).then(entry => {\n if (!entry && !byDigest) {\n throw new index.NotFoundError(cache, key)\n }\n return read(cache, byDigest ? key : entry.integrity, {\n integrity: opts.integrity,\n size: opts.size\n }).then(data => byDigest ? data : {\n metadata: entry.metadata,\n data: data,\n size: entry.size,\n integrity: entry.integrity\n }).then(res => {\n if (opts.memoize && byDigest) {\n memo.put.byDigest(cache, key, res, opts)\n } else if (opts.memoize) {\n memo.put(cache, entry, res.data, opts)\n }\n return res\n })\n })\n}\n\nmodule.exports.stream = getStream\nfunction getStream (cache, key, opts) {\n opts = opts || {}\n let stream = through()\n const memoized = memo.get(cache, key, opts)\n if (memoized && opts.memoize !== false) {\n stream.on('newListener', function (ev, cb) {\n ev === 'metadata' && cb(memoized.entry.metadata)\n ev === 'integrity' && cb(memoized.entry.integrity)\n ev === 'size' && cb(memoized.entry.size)\n })\n stream.write(memoized.data, () => stream.end())\n return stream\n }\n index.find(cache, key).then(entry => {\n if (!entry) {\n return stream.emit(\n 'error', new index.NotFoundError(cache, key)\n )\n }\n let memoStream\n if (opts.memoize) {\n let memoData = []\n let memoLength = 0\n memoStream = through((c, en, cb) => {\n memoData && memoData.push(c)\n memoLength += c.length\n cb(null, c, en)\n }, cb => {\n memoData && memo.put(cache, entry, Buffer.concat(memoData, memoLength), opts)\n cb()\n })\n } else {\n memoStream = through()\n }\n opts.size = opts.size == null ? entry.size : opts.size\n stream.emit('metadata', entry.metadata)\n stream.emit('integrity', entry.integrity)\n stream.emit('size', entry.size)\n stream.on('newListener', function (ev, cb) {\n ev === 'metadata' && cb(entry.metadata)\n ev === 'integrity' && cb(entry.integrity)\n ev === 'size' && cb(entry.size)\n })\n pipe(\n read.readStream(cache, entry.integrity, opts),\n memoStream,\n stream\n )\n }, err => stream.emit('error', err))\n return stream\n}\n\nmodule.exports.stream.byDigest = getStreamDigest\nfunction getStreamDigest (cache, integrity, opts) {\n opts = opts || {}\n const memoized = memo.get.byDigest(cache, integrity, opts)\n if (memoized && opts.memoize !== false) {\n const stream = through()\n stream.write(memoized, () => stream.end())\n return stream\n } else {\n let stream = read.readStream(cache, integrity, opts)\n if (opts.memoize) {\n let memoData = []\n let memoLength = 0\n const memoStream = through((c, en, cb) => {\n memoData && memoData.push(c)\n memoLength += c.length\n cb(null, c, en)\n }, cb => {\n memoData && memo.put.byDigest(\n cache,\n integrity,\n Buffer.concat(memoData, memoLength),\n opts\n )\n cb()\n })\n stream = pipeline(stream, memoStream)\n }\n return stream\n }\n}\n\nmodule.exports.info = info\nfunction info (cache, key, opts) {\n opts = opts || {}\n const memoized = memo.get(cache, key, opts)\n if (memoized && opts.memoize !== false) {\n return BB.resolve(memoized.entry)\n } else {\n return index.find(cache, key)\n }\n}\n\nmodule.exports.hasContent = read.hasContent\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "360", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/memoization.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst LRU = require('lru-cache')\n\nconst MAX_SIZE = 50 * 1024 * 1024 // 50MB\nconst MAX_AGE = 3 * 60 * 1000\n\nlet MEMOIZED = new LRU({\n max: MAX_SIZE,\n maxAge: MAX_AGE,\n length: (entry, key) => {\n if (key.startsWith('key:')) {\n return entry.data.length\n } else if (key.startsWith('digest:')) {\n return entry.length\n }\n }\n})\n\nmodule.exports.clearMemoized = clearMemoized\nfunction clearMemoized () {\n const old = {}\n MEMOIZED.forEach((v, k) => {\n old[k] = v\n })\n MEMOIZED.reset()\n return old\n}\n\nmodule.exports.put = put\nfunction put (cache, entry, data, opts) {\n pickMem(opts).set(`key:${cache}:${entry.key}`, { entry, data })\n putDigest(cache, entry.integrity, data, opts)\n}\n\nmodule.exports.put.byDigest = putDigest\nfunction putDigest (cache, integrity, data, opts) {\n pickMem(opts).set(`digest:${cache}:${integrity}`, data)\n}\n\nmodule.exports.get = get\nfunction get (cache, key, opts) {\n return pickMem(opts).get(`key:${cache}:${key}`)\n}\n\nmodule.exports.get.byDigest = getDigest\nfunction getDigest (cache, integrity, opts) {\n return pickMem(opts).get(`digest:${cache}:${integrity}`)\n}\n\nclass ObjProxy {\n constructor (obj) {\n this.obj = obj\n }\n get (key) { return this.obj[key] }\n set (key, val) { this.obj[key] = val }\n}\n\nfunction pickMem (opts) {\n if (!opts || !opts.memoize) {\n return MEMOIZED\n } else if (opts.memoize.get && opts.memoize.set) {\n return opts.memoize\n } else if (typeof opts.memoize === 'object') {\n return new ObjProxy(opts.memoize)\n } else {\n return MEMOIZED\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "364", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/read.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst contentPath = require('./path')\nconst fs = require('graceful-fs')\nconst PassThrough = require('stream').PassThrough\nconst pipe = BB.promisify(require('mississippi').pipe)\nconst ssri = require('ssri')\nconst Y = require('../util/y.js')\n\nBB.promisifyAll(fs)\n\nmodule.exports = read\nfunction read (cache, integrity, opts) {\n opts = opts || {}\n return pickContentSri(cache, integrity).then(content => {\n const sri = content.sri\n const cpath = contentPath(cache, sri)\n return fs.readFileAsync(cpath, null).then(data => {\n if (typeof opts.size === 'number' && opts.size !== data.length) {\n throw sizeError(opts.size, data.length)\n } else if (ssri.checkData(data, sri)) {\n return data\n } else {\n throw integrityError(sri, cpath)\n }\n })\n })\n}\n\nmodule.exports.stream = readStream\nmodule.exports.readStream = readStream\nfunction readStream (cache, integrity, opts) {\n opts = opts || {}\n const stream = new PassThrough()\n pickContentSri(\n cache, integrity\n ).then(content => {\n const sri = content.sri\n return pipe(\n fs.createReadStream(contentPath(cache, sri)),\n ssri.integrityStream({\n integrity: sri,\n size: opts.size\n }),\n stream\n )\n }).catch(err => {\n stream.emit('error', err)\n })\n return stream\n}\n\nmodule.exports.hasContent = hasContent\nfunction hasContent (cache, integrity) {\n if (!integrity) { return BB.resolve(false) }\n return pickContentSri(cache, integrity)\n .catch({code: 'ENOENT'}, () => false)\n .catch({code: 'EPERM'}, err => {\n if (process.platform !== 'win32') {\n throw err\n } else {\n return false\n }\n }).then(content => {\n if (!content.sri) return false\n return ({ sri: content.sri, size: content.stat.size })\n })\n}\n\nmodule.exports._pickContentSri = pickContentSri\nfunction pickContentSri (cache, integrity) {\n const sri = ssri.parse(integrity)\n // If `integrity` has multiple entries, pick the first digest\n // with available local data.\n const algo = sri.pickAlgorithm()\n const digests = sri[algo]\n if (digests.length <= 1) {\n const cpath = contentPath(cache, digests[0])\n return fs.lstatAsync(cpath).then(stat => ({ sri: digests[0], stat }))\n } else {\n return BB.any(sri[sri.pickAlgorithm()].map(meta => {\n return pickContentSri(cache, meta)\n }))\n }\n}\n\nfunction sizeError (expected, found) {\n var err = new Error(Y`Bad data size: expected inserted data to be ${expected} bytes, but got ${found} instead`)\n err.expected = expected\n err.found = found\n err.code = 'EBADSIZE'\n return err\n}\n\nfunction integrityError (sri, path) {\n var err = new Error(Y`Integrity verification failed for ${sri} (${path})`)\n err.code = 'EINTEGRITY'\n err.sri = sri\n err.path = path\n return err\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "503", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/put.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst index = require('./lib/entry-index')\nconst memo = require('./lib/memoization')\nconst write = require('./lib/content/write')\nconst to = require('mississippi').to\n\nmodule.exports = putData\nfunction putData (cache, key, data, opts) {\n opts = opts || {}\n return write(cache, data, opts).then(res => {\n // TODO - stop modifying opts\n opts.size = res.size\n return index.insert(cache, key, res.integrity, opts).then(entry => {\n if (opts.memoize) {\n memo.put(cache, entry, data, opts)\n }\n return res.integrity\n })\n })\n}\n\nmodule.exports.stream = putStream\nfunction putStream (cache, key, opts) {\n opts = opts || {}\n let integrity\n let size\n const contentStream = write.stream(\n cache, opts\n ).on('integrity', int => {\n integrity = int\n }).on('size', s => {\n size = s\n })\n let memoData\n let memoTotal = 0\n const stream = to((chunk, enc, cb) => {\n contentStream.write(chunk, enc, () => {\n if (opts.memoize) {\n if (!memoData) { memoData = [] }\n memoData.push(chunk)\n memoTotal += chunk.length\n }\n cb()\n })\n }, cb => {\n contentStream.end(() => {\n // TODO - stop modifying `opts`\n opts.size = size\n index.insert(cache, key, integrity, opts).then(entry => {\n if (opts.memoize) {\n memo.put(cache, entry, Buffer.concat(memoData, memoTotal), opts)\n }\n stream.emit('integrity', integrity)\n cb()\n })\n })\n })\n let erred = false\n stream.once('error', err => {\n if (erred) { return }\n erred = true\n contentStream.emit('error', err)\n })\n contentStream.once('error', err => {\n if (erred) { return }\n erred = true\n stream.emit('error', err)\n })\n return stream\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "504", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/write.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst contentPath = require('./path')\nconst fixOwner = require('../util/fix-owner')\nconst fs = require('graceful-fs')\nconst moveFile = require('../util/move-file')\nconst PassThrough = require('stream').PassThrough\nconst path = require('path')\nconst pipe = BB.promisify(require('mississippi').pipe)\nconst rimraf = BB.promisify(require('rimraf'))\nconst ssri = require('ssri')\nconst to = require('mississippi').to\nconst uniqueFilename = require('unique-filename')\nconst Y = require('../util/y.js')\n\nconst writeFileAsync = BB.promisify(fs.writeFile)\n\nmodule.exports = write\nfunction write (cache, data, opts) {\n opts = opts || {}\n if (opts.algorithms && opts.algorithms.length > 1) {\n throw new Error(\n Y`opts.algorithms only supports a single algorithm for now`\n )\n }\n if (typeof opts.size === 'number' && data.length !== opts.size) {\n return BB.reject(sizeError(opts.size, data.length))\n }\n const sri = ssri.fromData(data, opts)\n if (opts.integrity && !ssri.checkData(data, opts.integrity, opts)) {\n return BB.reject(checksumError(opts.integrity, sri))\n }\n return BB.using(makeTmp(cache, opts), tmp => (\n writeFileAsync(\n tmp.target, data, {flag: 'wx'}\n ).then(() => (\n moveToDestination(tmp, cache, sri, opts)\n ))\n )).then(() => ({integrity: sri, size: data.length}))\n}\n\nmodule.exports.stream = writeStream\nfunction writeStream (cache, opts) {\n opts = opts || {}\n const inputStream = new PassThrough()\n let inputErr = false\n function errCheck () {\n if (inputErr) { throw inputErr }\n }\n\n let allDone\n const ret = to((c, n, cb) => {\n if (!allDone) {\n allDone = handleContent(inputStream, cache, opts, errCheck)\n }\n inputStream.write(c, n, cb)\n }, cb => {\n inputStream.end(() => {\n if (!allDone) {\n const e = new Error(Y`Cache input stream was empty`)\n e.code = 'ENODATA'\n return ret.emit('error', e)\n }\n allDone.then(res => {\n res.integrity && ret.emit('integrity', res.integrity)\n res.size !== null && ret.emit('size', res.size)\n cb()\n }, e => {\n ret.emit('error', e)\n })\n })\n })\n ret.once('error', e => {\n inputErr = e\n })\n return ret\n}\n\nfunction handleContent (inputStream, cache, opts, errCheck) {\n return BB.using(makeTmp(cache, opts), tmp => {\n errCheck()\n return pipeToTmp(\n inputStream, cache, tmp.target, opts, errCheck\n ).then(res => {\n return moveToDestination(\n tmp, cache, res.integrity, opts, errCheck\n ).then(() => res)\n })\n })\n}\n\nfunction pipeToTmp (inputStream, cache, tmpTarget, opts, errCheck) {\n return BB.resolve().then(() => {\n let integrity\n let size\n const hashStream = ssri.integrityStream({\n integrity: opts.integrity,\n algorithms: opts.algorithms,\n size: opts.size\n }).on('integrity', s => {\n integrity = s\n }).on('size', s => {\n size = s\n })\n const outStream = fs.createWriteStream(tmpTarget, {\n flags: 'wx'\n })\n errCheck()\n return pipe(inputStream, hashStream, outStream).then(() => {\n return {integrity, size}\n }, err => {\n return rimraf(tmpTarget).then(() => { throw err })\n })\n })\n}\n\nfunction makeTmp (cache, opts) {\n const tmpTarget = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix)\n return fixOwner.mkdirfix(\n path.dirname(tmpTarget), opts.uid, opts.gid\n ).then(() => ({\n target: tmpTarget,\n moved: false\n })).disposer(tmp => (!tmp.moved && rimraf(tmp.target)))\n}\n\nfunction moveToDestination (tmp, cache, sri, opts, errCheck) {\n errCheck && errCheck()\n const destination = contentPath(cache, sri)\n const destDir = path.dirname(destination)\n\n return fixOwner.mkdirfix(\n destDir, opts.uid, opts.gid\n ).then(() => {\n errCheck && errCheck()\n return moveFile(tmp.target, destination)\n }).then(() => {\n errCheck && errCheck()\n tmp.moved = true\n return fixOwner.chownr(destination, opts.uid, opts.gid)\n })\n}\n\nfunction sizeError (expected, found) {\n var err = new Error(Y`Bad data size: expected inserted data to be ${expected} bytes, but got ${found} instead`)\n err.expected = expected\n err.found = found\n err.code = 'EBADSIZE'\n return err\n}\n\nfunction checksumError (expected, found) {\n var err = new Error(Y`Integrity check failed:\n Wanted: ${expected}\n Found: ${found}`)\n err.code = 'EINTEGRITY'\n err.expected = expected\n err.found = found\n return err\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "505", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/util/move-file.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst fs = require('graceful-fs')\nconst BB = require('bluebird')\nconst chmod = BB.promisify(fs.chmod)\nconst unlink = BB.promisify(fs.unlink)\nlet move\nlet pinflight\n\nmodule.exports = moveFile\nfunction moveFile (src, dest) {\n // This isn't quite an fs.rename -- the assumption is that\n // if `dest` already exists, and we get certain errors while\n // trying to move it, we should just not bother.\n //\n // In the case of cache corruption, users will receive an\n // EINTEGRITY error elsewhere, and can remove the offending\n // content their own way.\n //\n // Note that, as the name suggests, this strictly only supports file moves.\n return BB.fromNode(cb => {\n fs.link(src, dest, err => {\n if (err) {\n if (err.code === 'EEXIST' || err.code === 'EBUSY') {\n // file already exists, so whatever\n } else if (err.code === 'EPERM' && process.platform === 'win32') {\n // file handle stayed open even past graceful-fs limits\n } else {\n return cb(err)\n }\n }\n return cb()\n })\n }).then(() => {\n // content should never change for any reason, so make it read-only\n return BB.join(unlink(src), process.platform !== 'win32' && chmod(dest, '0444'))\n }).catch(err => {\n if (process.platform !== 'win32') {\n throw err\n } else {\n if (!pinflight) { pinflight = require('promise-inflight') }\n return pinflight('cacache-move-file:' + dest, () => {\n return BB.promisify(fs.stat)(dest).catch(err => {\n if (err !== 'ENOENT') {\n // Something else is wrong here. Bail bail bail\n throw err\n }\n // file doesn't already exist! let's try a rename -> copy fallback\n if (!move) { move = require('move-concurrently') }\n return move(src, dest, { BB, fs })\n })\n })\n }\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "508", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/rm.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst index = require('./lib/entry-index')\nconst memo = require('./lib/memoization')\nconst path = require('path')\nconst rimraf = BB.promisify(require('rimraf'))\nconst rmContent = require('./lib/content/rm')\n\nmodule.exports = entry\nmodule.exports.entry = entry\nfunction entry (cache, key) {\n memo.clearMemoized()\n return index.delete(cache, key)\n}\n\nmodule.exports.content = content\nfunction content (cache, integrity) {\n memo.clearMemoized()\n return rmContent(cache, integrity)\n}\n\nmodule.exports.all = all\nfunction all (cache) {\n memo.clearMemoized()\n return rimraf(path.join(cache, '*(content-*|index-*)'))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "510", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/verify.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "511", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/verify.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst contentPath = require('./content/path')\nconst finished = BB.promisify(require('mississippi').finished)\nconst fixOwner = require('./util/fix-owner')\nconst fs = require('graceful-fs')\nconst glob = BB.promisify(require('glob'))\nconst index = require('./entry-index')\nconst path = require('path')\nconst rimraf = BB.promisify(require('rimraf'))\nconst ssri = require('ssri')\n\nBB.promisifyAll(fs)\n\nmodule.exports = verify\nfunction verify (cache, opts) {\n opts = opts || {}\n opts.log && opts.log.silly('verify', 'verifying cache at', cache)\n return BB.reduce([\n markStartTime,\n fixPerms,\n garbageCollect,\n rebuildIndex,\n cleanTmp,\n writeVerifile,\n markEndTime\n ], (stats, step, i) => {\n const label = step.name || `step #${i}`\n const start = new Date()\n return BB.resolve(step(cache, opts)).then(s => {\n s && Object.keys(s).forEach(k => {\n stats[k] = s[k]\n })\n const end = new Date()\n if (!stats.runTime) { stats.runTime = {} }\n stats.runTime[label] = end - start\n return stats\n })\n }, {}).tap(stats => {\n stats.runTime.total = stats.endTime - stats.startTime\n opts.log && opts.log.silly('verify', 'verification finished for', cache, 'in', `${stats.runTime.total}ms`)\n })\n}\n\nfunction markStartTime (cache, opts) {\n return { startTime: new Date() }\n}\n\nfunction markEndTime (cache, opts) {\n return { endTime: new Date() }\n}\n\nfunction fixPerms (cache, opts) {\n opts.log && opts.log.silly('verify', 'fixing cache permissions')\n return fixOwner.mkdirfix(cache, opts.uid, opts.gid).then(() => {\n // TODO - fix file permissions too\n return fixOwner.chownr(cache, opts.uid, opts.gid)\n }).then(() => null)\n}\n\n// Implements a naive mark-and-sweep tracing garbage collector.\n//\n// The algorithm is basically as follows:\n// 1. Read (and filter) all index entries (\"pointers\")\n// 2. Mark each integrity value as \"live\"\n// 3. Read entire filesystem tree in `content-vX/` dir\n// 4. If content is live, verify its checksum and delete it if it fails\n// 5. If content is not marked as live, rimraf it.\n//\nfunction garbageCollect (cache, opts) {\n opts.log && opts.log.silly('verify', 'garbage collecting content')\n const indexStream = index.lsStream(cache)\n const liveContent = new Set()\n indexStream.on('data', entry => {\n if (opts && opts.filter && !opts.filter(entry)) { return }\n liveContent.add(entry.integrity.toString())\n })\n return finished(indexStream).then(() => {\n const contentDir = contentPath._contentDir(cache)\n return glob(path.join(contentDir, '**'), {\n follow: false,\n nodir: true,\n nosort: true\n }).then(files => {\n return BB.resolve({\n verifiedContent: 0,\n reclaimedCount: 0,\n reclaimedSize: 0,\n badContentCount: 0,\n keptSize: 0\n }).tap((stats) => BB.map(files, (f) => {\n const split = f.split(/[/\\\\]/)\n const digest = split.slice(split.length - 3).join('')\n const algo = split[split.length - 4]\n const integrity = ssri.fromHex(digest, algo)\n if (liveContent.has(integrity.toString())) {\n return verifyContent(f, integrity).then(info => {\n if (!info.valid) {\n stats.reclaimedCount++\n stats.badContentCount++\n stats.reclaimedSize += info.size\n } else {\n stats.verifiedContent++\n stats.keptSize += info.size\n }\n return stats\n })\n } else {\n // No entries refer to this content. We can delete.\n stats.reclaimedCount++\n return fs.statAsync(f).then(s => {\n return rimraf(f).then(() => {\n stats.reclaimedSize += s.size\n return stats\n })\n })\n }\n }, {concurrency: opts.concurrency || 20}))\n })\n })\n}\n\nfunction verifyContent (filepath, sri) {\n return fs.statAsync(filepath).then(stat => {\n const contentInfo = {\n size: stat.size,\n valid: true\n }\n return ssri.checkStream(\n fs.createReadStream(filepath),\n sri\n ).catch(err => {\n if (err.code !== 'EINTEGRITY') { throw err }\n return rimraf(filepath).then(() => {\n contentInfo.valid = false\n })\n }).then(() => contentInfo)\n }).catch({code: 'ENOENT'}, () => ({size: 0, valid: false}))\n}\n\nfunction rebuildIndex (cache, opts) {\n opts.log && opts.log.silly('verify', 'rebuilding index')\n return index.ls(cache).then(entries => {\n const stats = {\n missingContent: 0,\n rejectedEntries: 0,\n totalEntries: 0\n }\n const buckets = {}\n for (let k in entries) {\n if (entries.hasOwnProperty(k)) {\n const hashed = index._hashKey(k)\n const entry = entries[k]\n const excluded = opts && opts.filter && !opts.filter(entry)\n excluded && stats.rejectedEntries++\n if (buckets[hashed] && !excluded) {\n buckets[hashed].push(entry)\n } else if (buckets[hashed] && excluded) {\n // skip\n } else if (excluded) {\n buckets[hashed] = []\n buckets[hashed]._path = index._bucketPath(cache, k)\n } else {\n buckets[hashed] = [entry]\n buckets[hashed]._path = index._bucketPath(cache, k)\n }\n }\n }\n return BB.map(Object.keys(buckets), key => {\n return rebuildBucket(cache, buckets[key], stats, opts)\n }, {concurrency: opts.concurrency || 20}).then(() => stats)\n })\n}\n\nfunction rebuildBucket (cache, bucket, stats, opts) {\n return fs.truncateAsync(bucket._path).then(() => {\n // This needs to be serialized because cacache explicitly\n // lets very racy bucket conflicts clobber each other.\n return BB.mapSeries(bucket, entry => {\n const content = contentPath(cache, entry.integrity)\n return fs.statAsync(content).then(() => {\n return index.insert(cache, entry.key, entry.integrity, {\n uid: opts.uid,\n gid: opts.gid,\n metadata: entry.metadata\n }).then(() => { stats.totalEntries++ })\n }).catch({code: 'ENOENT'}, () => {\n stats.rejectedEntries++\n stats.missingContent++\n })\n })\n })\n}\n\nfunction cleanTmp (cache, opts) {\n opts.log && opts.log.silly('verify', 'cleaning tmp directory')\n return rimraf(path.join(cache, 'tmp'))\n}\n\nfunction writeVerifile (cache, opts) {\n const verifile = path.join(cache, '_lastverified')\n opts.log && opts.log.silly('verify', 'writing verifile to ' + verifile)\n return fs.writeFileAsync(verifile, '' + (+(new Date())))\n}\n\nmodule.exports.lastRun = lastRun\nfunction lastRun (cache) {\n return fs.readFileAsync(\n path.join(cache, '_lastverified'), 'utf8'\n ).then(data => new Date(+data))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "512", "url": "/usr/local/lib/node_modules/npm/node_modules/cacache/lib/util/tmp.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst fixOwner = require('./fix-owner')\nconst path = require('path')\nconst rimraf = BB.promisify(require('rimraf'))\nconst uniqueFilename = require('unique-filename')\n\nmodule.exports.mkdir = mktmpdir\nfunction mktmpdir (cache, opts) {\n opts = opts || {}\n const tmpTarget = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix)\n return fixOwner.mkdirfix(tmpTarget, opts.uid, opts.gid).then(() => {\n return tmpTarget\n })\n}\n\nmodule.exports.withTmp = withTmp\nfunction withTmp (cache, opts, cb) {\n if (!cb) {\n cb = opts\n opts = null\n }\n opts = opts || {}\n return BB.using(mktmpdir(cache, opts).disposer(rimraf), cb)\n}\n\nmodule.exports.fix = fixtmpdir\nfunction fixtmpdir (cache, opts) {\n return fixOwner(path.join(cache, 'tmp'), opts.uid, opts.gid)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/cacache" }, { "id": "513", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/extract-stream.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst gunzip = require('./util/gunzip-maybe')\nconst path = require('path')\nconst pipeline = require('mississippi').pipeline\nconst tar = require('tar-fs')\n\nmodule.exports = extractStream\nfunction extractStream (dest, opts) {\n opts = opts || {}\n const sawIgnores = {}\n return pipeline(gunzip(), tar.extract(dest, {\n map: (header) => {\n if (process.platform !== 'win32') {\n header.uid = opts.uid == null ? header.uid : opts.uid\n header.gid = opts.gid == null ? header.gid : opts.gid\n }\n // Note: This mirrors logic in the fs read operations that are\n // employed during tarball creation, in the fstream-npm module.\n // It is duplicated here to handle tarballs that are created\n // using other means, such as system tar or git archive.\n if (header.type === 'file') {\n const base = path.basename(header.name)\n if (base === '.npmignore') {\n sawIgnores[header.name] = true\n } else if (base === '.gitignore') {\n const npmignore = header.name.replace(/\\.gitignore$/, '.npmignore')\n if (!sawIgnores[npmignore]) {\n // Rename, may be clobbered later.\n header.name = npmignore\n }\n }\n }\n return header\n },\n ignore: makeIgnore(opts.log),\n dmode: opts.dmode,\n fmode: opts.fmode,\n umask: opts.umask,\n strip: 1\n }))\n}\n\nfunction makeIgnore (log) {\n const sawIgnores = {}\n return (name, header) => _ignore(name, header, sawIgnores, log)\n}\n\nfunction _ignore (name, header, sawIgnores, logger) {\n if (header.type.match(/^.*link$/)) {\n if (logger) {\n logger.warn(\n 'extract-stream',\n 'excluding symbolic link',\n header.name, '->', header.linkname)\n }\n return true\n }\n\n return false\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "514", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/gunzip-maybe.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst duplex = require('mississippi').duplex\nconst through = require('mississippi').through\nconst zlib = require('zlib')\n\nfunction hasGzipHeader (c) {\n return c[0] === 0x1F && c[1] === 0x8B && c[2] === 0x08\n}\n\nmodule.exports = gunzip\nfunction gunzip () {\n const stream = duplex()\n const peeker = through((chunk, enc, cb) => {\n const newStream = hasGzipHeader(chunk)\n ? zlib.createGunzip()\n : through()\n stream.setReadable(newStream)\n stream.setWritable(newStream)\n stream.write(chunk)\n })\n stream.setWritable(peeker)\n return stream\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "516", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var chownr = require('chownr')\nvar tar = require('tar-stream')\nvar pump = require('pump')\nvar mkdirp = require('mkdirp')\nvar fs = require('fs')\nvar path = require('path')\nvar os = require('os')\n\nvar win32 = os.platform() === 'win32'\n\nvar noop = function () {}\n\nvar echo = function (name) {\n return name\n}\n\nvar normalize = !win32 ? echo : function (name) {\n return name.replace(/\\\\/g, '/').replace(/:/g, '_')\n}\n\nvar statAll = function (fs, stat, cwd, ignore, entries, sort) {\n var queue = entries || ['.']\n\n return function loop (callback) {\n if (!queue.length) return callback()\n var next = queue.shift()\n var nextAbs = path.join(cwd, next)\n\n stat(nextAbs, function (err, stat) {\n if (err) return callback(err)\n\n if (!stat.isDirectory()) return callback(null, next, stat)\n\n fs.readdir(nextAbs, function (err, files) {\n if (err) return callback(err)\n\n if (sort) files.sort()\n for (var i = 0; i < files.length; i++) {\n if (!ignore(path.join(cwd, next, files[i]))) queue.push(path.join(next, files[i]))\n }\n\n callback(null, next, stat)\n })\n })\n }\n}\n\nvar strip = function (map, level) {\n return function (header) {\n header.name = header.name.split('/').slice(level).join('/')\n\n var linkname = header.linkname\n if (linkname && (header.type === 'link' || path.isAbsolute(linkname))) {\n header.linkname = linkname.split('/').slice(level).join('/')\n }\n\n return map(header)\n }\n}\n\nexports.pack = function (cwd, opts) {\n if (!cwd) cwd = '.'\n if (!opts) opts = {}\n\n var xfs = opts.fs || fs\n var ignore = opts.ignore || opts.filter || noop\n var map = opts.map || noop\n var mapStream = opts.mapStream || echo\n var statNext = statAll(xfs, opts.dereference ? xfs.stat : xfs.lstat, cwd, ignore, opts.entries, opts.sort)\n var strict = opts.strict !== false\n var umask = typeof opts.umask === 'number' ? ~opts.umask : ~processUmask()\n var dmode = typeof opts.dmode === 'number' ? opts.dmode : 0\n var fmode = typeof opts.fmode === 'number' ? opts.fmode : 0\n var pack = opts.pack || tar.pack()\n\n if (opts.strip) map = strip(map, opts.strip)\n\n if (opts.readable) {\n dmode |= parseInt(555, 8)\n fmode |= parseInt(444, 8)\n }\n if (opts.writable) {\n dmode |= parseInt(333, 8)\n fmode |= parseInt(222, 8)\n }\n\n var onsymlink = function (filename, header) {\n xfs.readlink(path.join(cwd, filename), function (err, linkname) {\n if (err) return pack.destroy(err)\n header.linkname = normalize(linkname)\n pack.entry(header, onnextentry)\n })\n }\n\n var onstat = function (err, filename, stat) {\n if (err) return pack.destroy(err)\n if (!filename) return pack.finalize()\n\n if (stat.isSocket()) return onnextentry() // tar does not support sockets...\n\n var header = {\n name: normalize(filename),\n mode: (stat.mode | (stat.isDirectory() ? dmode : fmode)) & umask,\n mtime: stat.mtime,\n size: stat.size,\n type: 'file',\n uid: stat.uid,\n gid: stat.gid\n }\n\n if (stat.isDirectory()) {\n header.size = 0\n header.type = 'directory'\n header = map(header) || header\n return pack.entry(header, onnextentry)\n }\n\n if (stat.isSymbolicLink()) {\n header.size = 0\n header.type = 'symlink'\n header = map(header) || header\n return onsymlink(filename, header)\n }\n\n // TODO: add fifo etc...\n\n header = map(header) || header\n\n if (!stat.isFile()) {\n if (strict) return pack.destroy(new Error('unsupported type for ' + filename))\n return onnextentry()\n }\n\n var entry = pack.entry(header, onnextentry)\n if (!entry) return\n\n var rs = mapStream(xfs.createReadStream(path.join(cwd, filename)), header)\n\n rs.on('error', function (err) { // always forward errors on destroy\n entry.destroy(err)\n })\n\n pump(rs, entry)\n }\n\n var onnextentry = function (err) {\n if (err) return pack.destroy(err)\n statNext(onstat)\n }\n\n onnextentry()\n\n return pack\n}\n\nvar head = function (list) {\n return list.length ? list[list.length - 1] : null\n}\n\nvar processGetuid = function () {\n return process.getuid ? process.getuid() : -1\n}\n\nvar processUmask = function () {\n return process.umask ? process.umask() : 0\n}\n\nexports.extract = function (cwd, opts) {\n if (!cwd) cwd = '.'\n if (!opts) opts = {}\n\n var xfs = opts.fs || fs\n var ignore = opts.ignore || opts.filter || noop\n var map = opts.map || noop\n var mapStream = opts.mapStream || echo\n var own = opts.chown !== false && !win32 && processGetuid() === 0\n var extract = opts.extract || tar.extract()\n var stack = []\n var now = new Date()\n var umask = typeof opts.umask === 'number' ? ~opts.umask : ~processUmask()\n var dmode = typeof opts.dmode === 'number' ? opts.dmode : 0\n var fmode = typeof opts.fmode === 'number' ? opts.fmode : 0\n var strict = opts.strict !== false\n\n if (opts.strip) map = strip(map, opts.strip)\n\n if (opts.readable) {\n dmode |= parseInt(555, 8)\n fmode |= parseInt(444, 8)\n }\n if (opts.writable) {\n dmode |= parseInt(333, 8)\n fmode |= parseInt(222, 8)\n }\n\n var utimesParent = function (name, cb) { // we just set the mtime on the parent dir again everytime we write an entry\n var top\n while ((top = head(stack)) && name.slice(0, top[0].length) !== top[0]) stack.pop()\n if (!top) return cb()\n xfs.utimes(top[0], now, top[1], cb)\n }\n\n var utimes = function (name, header, cb) {\n if (opts.utimes === false) return cb()\n\n if (header.type === 'directory') return xfs.utimes(name, now, header.mtime, cb)\n if (header.type === 'symlink') return utimesParent(name, cb) // TODO: how to set mtime on link?\n\n xfs.utimes(name, now, header.mtime, function (err) {\n if (err) return cb(err)\n utimesParent(name, cb)\n })\n }\n\n var chperm = function (name, header, cb) {\n var link = header.type === 'symlink'\n var chmod = link ? xfs.lchmod : xfs.chmod\n var chown = link ? xfs.lchown : xfs.chown\n\n if (!chmod) return cb()\n\n var mode = (header.mode | (header.type === 'directory' ? dmode : fmode)) & umask\n chmod(name, mode, function (err) {\n if (err) return cb(err)\n if (!own) return cb()\n if (!chown) return cb()\n chown(name, header.uid, header.gid, cb)\n })\n }\n\n extract.on('entry', function (header, stream, next) {\n header = map(header) || header\n header.name = normalize(header.name)\n var name = path.join(cwd, path.join('/', header.name))\n\n if (ignore(name, header)) {\n stream.resume()\n return next()\n }\n\n var stat = function (err) {\n if (err) return next(err)\n utimes(name, header, function (err) {\n if (err) return next(err)\n if (win32) return next()\n chperm(name, header, next)\n })\n }\n\n var onsymlink = function () {\n if (win32) return next() // skip symlinks on win for now before it can be tested\n xfs.unlink(name, function () {\n xfs.symlink(header.linkname, name, stat)\n })\n }\n\n var onlink = function () {\n if (win32) return next() // skip links on win for now before it can be tested\n xfs.unlink(name, function () {\n var srcpath = path.resolve(cwd, header.linkname)\n\n xfs.link(srcpath, name, function (err) {\n if (err && err.code === 'EPERM' && opts.hardlinkAsFilesFallback) {\n stream = xfs.createReadStream(srcpath)\n return onfile()\n }\n\n stat(err)\n })\n })\n }\n\n var onfile = function () {\n var ws = xfs.createWriteStream(name)\n var rs = mapStream(stream, header)\n\n ws.on('error', function (err) { // always forward errors on destroy\n rs.destroy(err)\n })\n\n pump(rs, ws, function (err) {\n if (err) return next(err)\n ws.on('close', stat)\n })\n }\n\n if (header.type === 'directory') {\n stack.push([name, header.mtime])\n return mkdirfix(name, {\n fs: xfs, own: own, uid: header.uid, gid: header.gid\n }, stat)\n }\n\n mkdirfix(path.dirname(name), {\n fs: xfs, own: own, uid: header.uid, gid: header.gid\n }, function (err) {\n if (err) return next(err)\n\n switch (header.type) {\n case 'file': return onfile()\n case 'link': return onlink()\n case 'symlink': return onsymlink()\n }\n\n if (strict) return next(new Error('unsupported type for ' + name + ' (' + header.type + ')'))\n\n stream.resume()\n next()\n })\n })\n\n return extract\n}\n\nfunction mkdirfix (name, opts, cb) {\n mkdirp(name, {fs: opts.xfs}, function (err, made) {\n if (!err && made && opts.own) {\n chownr(made, opts.uid, opts.gid, cb)\n } else {\n cb(err)\n }\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs" }, { "id": "517", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream/index.js", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream" }, { "id": "518", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream/extract.js", "source": "(function (exports, require, module, __filename, __dirname) { var util = require('util')\nvar bl = require('bl')\nvar xtend = require('xtend')\nvar headers = require('./headers')\n\nvar Writable = require('readable-stream').Writable\nvar PassThrough = require('readable-stream').PassThrough\n\nvar noop = function () {}\n\nvar overflow = function (size) {\n size &= 511\n return size && 512 - size\n}\n\nvar emptyStream = function (self, offset) {\n var s = new Source(self, offset)\n s.end()\n return s\n}\n\nvar mixinPax = function (header, pax) {\n if (pax.path) header.name = pax.path\n if (pax.linkpath) header.linkname = pax.linkpath\n header.pax = pax\n return header\n}\n\nvar Source = function (self, offset) {\n this._parent = self\n this.offset = offset\n PassThrough.call(this)\n}\n\nutil.inherits(Source, PassThrough)\n\nSource.prototype.destroy = function (err) {\n this._parent.destroy(err)\n}\n\nvar Extract = function (opts) {\n if (!(this instanceof Extract)) return new Extract(opts)\n Writable.call(this, opts)\n\n this._offset = 0\n this._buffer = bl()\n this._missing = 0\n this._onparse = noop\n this._header = null\n this._stream = null\n this._overflow = null\n this._cb = null\n this._locked = false\n this._destroyed = false\n this._pax = null\n this._paxGlobal = null\n this._gnuLongPath = null\n this._gnuLongLinkPath = null\n\n var self = this\n var b = self._buffer\n\n var oncontinue = function () {\n self._continue()\n }\n\n var onunlock = function (err) {\n self._locked = false\n if (err) return self.destroy(err)\n if (!self._stream) oncontinue()\n }\n\n var onstreamend = function () {\n self._stream = null\n var drain = overflow(self._header.size)\n if (drain) self._parse(drain, ondrain)\n else self._parse(512, onheader)\n if (!self._locked) oncontinue()\n }\n\n var ondrain = function () {\n self._buffer.consume(overflow(self._header.size))\n self._parse(512, onheader)\n oncontinue()\n }\n\n var onpaxglobalheader = function () {\n var size = self._header.size\n self._paxGlobal = headers.decodePax(b.slice(0, size))\n b.consume(size)\n onstreamend()\n }\n\n var onpaxheader = function () {\n var size = self._header.size\n self._pax = headers.decodePax(b.slice(0, size))\n if (self._paxGlobal) self._pax = xtend(self._paxGlobal, self._pax)\n b.consume(size)\n onstreamend()\n }\n\n var ongnulongpath = function () {\n var size = self._header.size\n this._gnuLongPath = headers.decodeLongPath(b.slice(0, size))\n b.consume(size)\n onstreamend()\n }\n\n var ongnulonglinkpath = function () {\n var size = self._header.size\n this._gnuLongLinkPath = headers.decodeLongPath(b.slice(0, size))\n b.consume(size)\n onstreamend()\n }\n\n var onheader = function () {\n var offset = self._offset\n var header\n try {\n header = self._header = headers.decode(b.slice(0, 512))\n } catch (err) {\n self.emit('error', err)\n }\n b.consume(512)\n\n if (!header) {\n self._parse(512, onheader)\n oncontinue()\n return\n }\n if (header.type === 'gnu-long-path') {\n self._parse(header.size, ongnulongpath)\n oncontinue()\n return\n }\n if (header.type === 'gnu-long-link-path') {\n self._parse(header.size, ongnulonglinkpath)\n oncontinue()\n return\n }\n if (header.type === 'pax-global-header') {\n self._parse(header.size, onpaxglobalheader)\n oncontinue()\n return\n }\n if (header.type === 'pax-header') {\n self._parse(header.size, onpaxheader)\n oncontinue()\n return\n }\n\n if (self._gnuLongPath) {\n header.name = self._gnuLongPath\n self._gnuLongPath = null\n }\n\n if (self._gnuLongLinkPath) {\n header.linkname = self._gnuLongLinkPath\n self._gnuLongLinkPath = null\n }\n\n if (self._pax) {\n self._header = header = mixinPax(header, self._pax)\n self._pax = null\n }\n\n self._locked = true\n\n if (!header.size || header.type === 'directory') {\n self._parse(512, onheader)\n self.emit('entry', header, emptyStream(self, offset), onunlock)\n return\n }\n\n self._stream = new Source(self, offset)\n\n self.emit('entry', header, self._stream, onunlock)\n self._parse(header.size, onstreamend)\n oncontinue()\n }\n\n this._parse(512, onheader)\n}\n\nutil.inherits(Extract, Writable)\n\nExtract.prototype.destroy = function (err) {\n if (this._destroyed) return\n this._destroyed = true\n\n if (err) this.emit('error', err)\n this.emit('close')\n if (this._stream) this._stream.emit('close')\n}\n\nExtract.prototype._parse = function (size, onparse) {\n if (this._destroyed) return\n this._offset += size\n this._missing = size\n this._onparse = onparse\n}\n\nExtract.prototype._continue = function () {\n if (this._destroyed) return\n var cb = this._cb\n this._cb = noop\n if (this._overflow) this._write(this._overflow, undefined, cb)\n else cb()\n}\n\nExtract.prototype._write = function (data, enc, cb) {\n if (this._destroyed) return\n\n var s = this._stream\n var b = this._buffer\n var missing = this._missing\n\n // we do not reach end-of-chunk now. just forward it\n\n if (data.length < missing) {\n this._missing -= data.length\n this._overflow = null\n if (s) return s.write(data, cb)\n b.append(data)\n return cb()\n }\n\n // end-of-chunk. the parser should call cb.\n\n this._cb = cb\n this._missing = 0\n\n var overflow = null\n if (data.length > missing) {\n overflow = data.slice(missing)\n data = data.slice(0, missing)\n }\n\n if (s) s.end(data)\n else b.append(data)\n\n this._overflow = overflow\n this._onparse()\n}\n\nmodule.exports = Extract\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream" }, { "id": "525", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs/node_modules/pump/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var once = require('once')\nvar eos = require('end-of-stream')\nvar fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes\n\nvar noop = function () {}\n\nvar isFn = function (fn) {\n return typeof fn === 'function'\n}\n\nvar isFS = function (stream) {\n if (!fs) return false // browser\n return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)\n}\n\nvar isRequest = function (stream) {\n return stream.setHeader && isFn(stream.abort)\n}\n\nvar destroyer = function (stream, reading, writing, callback) {\n callback = once(callback)\n\n var closed = false\n stream.on('close', function () {\n closed = true\n })\n\n eos(stream, {readable: reading, writable: writing}, function (err) {\n if (err) return callback(err)\n closed = true\n callback()\n })\n\n var destroyed = false\n return function (err) {\n if (closed) return\n if (destroyed) return\n destroyed = true\n\n if (isFS(stream)) return stream.close() // use close for fs streams to avoid fd leaks\n if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want\n\n if (isFn(stream.destroy)) return stream.destroy()\n\n callback(err || new Error('stream was destroyed'))\n }\n}\n\nvar call = function (fn) {\n fn()\n}\n\nvar pipe = function (from, to) {\n return from.pipe(to)\n}\n\nvar pump = function () {\n var streams = Array.prototype.slice.call(arguments)\n var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop\n\n if (Array.isArray(streams[0])) streams = streams[0]\n if (streams.length < 2) throw new Error('pump requires two streams per minimum')\n\n var error\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1\n var writing = i > 0\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err\n if (err) destroys.forEach(call)\n if (reading) return\n destroys.forEach(call)\n callback(error)\n })\n })\n\n return streams.reduce(pipe)\n}\n\nmodule.exports = pump\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs/node_modules/pump" }, { "id": "527", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/opt-check.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst pkg = require('../../package.json')\nconst silentlog = require('./silentlog')\n\nfunction PacoteOptions (opts) {\n opts = opts || {}\n this._isPacoteOptions = true\n this.agent = opts.agent\n this.annotate = opts.annotate\n this.auth = opts.auth\n this.scopeTargets = opts.scopeTargets || {}\n this.defaultTag = opts.defaultTag || 'latest'\n this.cache = opts.cache\n this.ca = opts.ca\n this.cert = opts.cert\n this.integrity = opts.integrity\n this.key = opts.key\n this.localAddress = opts.localAddress\n this.log = opts.log || silentlog\n this.memoize = opts.memoize\n this.maxSockets = opts.maxSockets || 10\n this.offline = opts.offline\n this.preferOffline = opts.preferOffline\n this.proxy = opts.proxy\n this.noProxy = opts.noProxy\n this.registry = opts.registry || 'https://registry.npmjs.org'\n this.retry = opts.retry // for npm-registry-client\n this.scope = opts.scope\n this.userAgent = opts.userAgent || `${pkg.name}@${pkg.version}/node@${process.version}+${process.arch} (${process.platform})`\n this.where = opts.where\n this.preferOnline = opts.preferOnline\n this.strictSSL = !!opts.strictSSL\n this.isFromCI = !!(\n opts.isFromCI ||\n process.env['CI'] === 'true' ||\n process.env['TDDIUM'] ||\n process.env['JENKINS_URL'] ||\n process.env['bamboo.buildKey']\n )\n this.npmSession = opts.npmSession\n this.refer = opts.referer || opts.refer\n this.projectScope = opts.projectScope\n this.fullMetadata = opts.fullMetadata\n this.alwaysAuth = opts.alwaysAuth\n\n this.dirPacker = opts.dirPacker || null\n\n this.uid = opts.uid\n this.gid = opts.gid\n\n this.dmode = opts.dmode\n this.fmode = opts.fmode\n this.umask = opts.umask\n}\n\nmodule.exports = optCheck\nfunction optCheck (opts) {\n return new PacoteOptions(opts)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "529", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/promise-retry/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nvar errcode = require('err-code');\nvar retry = require('retry');\n\nvar hasOwn = Object.prototype.hasOwnProperty;\n\nfunction isRetryError(err) {\n return err && err.code === 'EPROMISERETRY' && hasOwn.call(err, 'retried');\n}\n\nfunction promiseRetry(fn, options) {\n var temp;\n var operation;\n\n if (typeof fn === 'object' && typeof options === 'function') {\n // Swap options and fn when using alternate signature (options, fn)\n temp = options;\n options = fn;\n fn = temp;\n }\n\n operation = retry.operation(options);\n\n return new Promise(function (resolve, reject) {\n operation.attempt(function (number) {\n Promise.resolve()\n .then(function () {\n return fn(function (err) {\n if (isRetryError(err)) {\n err = err.retried;\n }\n\n throw errcode('Retrying', 'EPROMISERETRY', { retried: err });\n }, number);\n })\n .then(resolve, function (err) {\n if (isRetryError(err)) {\n err = err.retried;\n\n if (operation.retry(err || new Error())) {\n return;\n }\n }\n\n reject(err);\n });\n });\n });\n}\n\nmodule.exports = promiseRetry;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/promise-retry" }, { "id": "535", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetch.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst duck = require('protoduck')\n\nconst Fetcher = duck.define(['spec', 'opts', 'manifest'], {\n manifest: ['spec', 'opts'],\n tarball: ['spec', 'opts'],\n fromManifest: ['manifest', 'spec', 'opts'],\n clearMemoized () {}\n}, {name: 'Fetcher'})\nmodule.exports = Fetcher\n\nmodule.exports.manifest = manifest\nfunction manifest (spec, opts) {\n const fetcher = getFetcher(spec.type)\n return fetcher.manifest(spec, opts)\n}\n\nmodule.exports.tarball = tarball\nfunction tarball (spec, opts) {\n return getFetcher(spec.type).tarball(spec, opts)\n}\n\nmodule.exports.fromManifest = fromManifest\nfunction fromManifest (manifest, spec, opts) {\n return getFetcher(spec.type).fromManifest(manifest, spec, opts)\n}\n\nconst fetchers = {}\n\nmodule.exports.clearMemoized = clearMemoized\nfunction clearMemoized () {\n Object.keys(fetchers).forEach(k => {\n fetchers[k].clearMemoized()\n })\n}\n\nfunction getFetcher (type) {\n if (!fetchers[type]) {\n // This is spelled out both to prevent sketchy stuff and to make life\n // easier for bundlers/preprocessors.\n switch (type) {\n case 'directory':\n fetchers[type] = require('./fetchers/directory')\n break\n case 'file':\n fetchers[type] = require('./fetchers/file')\n break\n case 'git':\n fetchers[type] = require('./fetchers/git')\n break\n case 'hosted':\n fetchers[type] = require('./fetchers/hosted')\n break\n case 'range':\n fetchers[type] = require('./fetchers/range')\n break\n case 'remote':\n fetchers[type] = require('./fetchers/remote')\n break\n case 'tag':\n fetchers[type] = require('./fetchers/tag')\n break\n case 'version':\n fetchers[type] = require('./fetchers/version')\n break\n default:\n throw new Error(`Invalid dependency type requested: ${type}`)\n }\n }\n return fetchers[type]\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "536", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/index.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst genfun = require('genfun')\n\nclass Duck extends Function {\n // Duck.impl(Foo, [String, Array], { frob (str, arr) { ... }})\n impl (target, types, impls) {\n if (!impls && !isArray(types)) {\n impls = types\n types = []\n }\n if (!impls && this.isDerivable) {\n impls = this._defaultImpls\n }\n if (!impls) {\n impls = {}\n }\n if (typeof target === 'function' && !target.isGenfun) {\n target = target.prototype\n }\n checkImpls(this, target, impls)\n checkArgTypes(this, types)\n this._constraints.forEach(c => {\n if (!c.verify(target, types)) {\n throw new Error(`Implementations of ${\n this.name || 'this protocol'\n } must first implement ${\n c.parent.name || 'its constraint protocols defined in opts.where.'\n }`)\n }\n })\n this._methodNames.forEach(name => {\n defineMethod(this, name, target, types, impls)\n })\n }\n\n hasImpl (arg, args) {\n args = args || []\n const fns = this._methodNames\n var gf\n if (typeof arg === 'function' && !arg.isGenfun) {\n arg = arg.prototype\n }\n args = args.map(arg => {\n if (typeof arg === 'function' && !arg.isGenfun) {\n return arg.prototype\n } else {\n return arg\n }\n })\n for (var i = 0; i < fns.length; i++) {\n gf = arg[fns[i]]\n if (!gf ||\n (gf.hasMethod\n ? !gf.hasMethod.apply(gf, args)\n : typeof gf === 'function')) {\n return false\n }\n }\n return true\n }\n\n // MyDuck.matches('a', ['this', 'c'])\n matches (thisType, argTypes) {\n if (!argTypes && isArray(thisType)) {\n argTypes = thisType\n thisType = 'this'\n }\n if (!thisType) {\n thisType = 'this'\n }\n if (!argTypes) {\n argTypes = []\n }\n return new Constraint(this, thisType, argTypes)\n }\n}\nDuck.prototype.isDuck = true\nDuck.prototype.isProtocol = true\n\nconst Protoduck = module.exports = define(['duck'], {\n createGenfun: ['duck', _metaCreateGenfun],\n addMethod: ['duck', _metaAddMethod]\n}, {name: 'Protoduck'})\n\nconst noImplFound = module.exports.noImplFound = genfun.noApplicableMethod\n\nmodule.exports.define = define\nfunction define (types, spec, opts) {\n if (!isArray(types)) {\n // protocol(spec, opts?) syntax for method-based protocols\n opts = spec\n spec = types\n types = []\n }\n const duck = function (thisType, argTypes) {\n return duck.matches(thisType, argTypes)\n }\n Object.setPrototypeOf(duck, Duck.prototype)\n duck.isDerivable = true\n Object.defineProperty(duck, 'name', {\n value: (opts && opts.name) || 'Protocol'\n })\n if (opts && opts.where) {\n let where = opts.where\n if (!isArray(opts.where)) { where = [opts.where] }\n duck._constraints = where.map(w => w.isProtocol // `where: [Foo]`\n ? w.matches()\n : w\n )\n } else {\n duck._constraints = []\n }\n duck.isProtocol = true\n duck._metaobject = opts && opts.metaobject\n duck._types = types\n duck._defaultImpls = {}\n duck._gfTypes = {}\n duck._methodNames = Object.keys(spec)\n duck._methodNames.forEach(name => {\n checkMethodSpec(duck, name, spec)\n })\n duck._constraints.forEach(c => c.attach(duck))\n return duck\n}\n\nfunction checkMethodSpec (duck, name, spec) {\n let gfTypes = spec[name]\n if (typeof gfTypes === 'function') {\n duck._defaultImpls[name] = gfTypes\n gfTypes = [gfTypes]\n } if (typeof gfTypes[gfTypes.length - 1] === 'function') {\n duck._defaultImpls[name] = gfTypes.pop()\n } else {\n duck.isDerivable = false\n }\n duck._gfTypes[name] = gfTypes.map(typeId => {\n const idx = duck._types.indexOf(typeId)\n if (idx === -1) {\n throw new Error(\n `type '${\n typeId\n }' for function '${\n name\n }' does not match any protocol types (${\n duck._types.join(', ')\n }).`\n )\n } else {\n return idx\n }\n })\n}\n\nfunction defineMethod (duck, name, target, types, impls) {\n const methodTypes = duck._gfTypes[name].map(function (typeIdx) {\n return types[typeIdx]\n })\n for (let i = methodTypes.length - 1; i >= 0; i--) {\n if (methodTypes[i] === undefined) {\n methodTypes.pop()\n } else {\n break\n }\n }\n const useMetaobject = duck._metaobject && duck._metaobject !== Protoduck\n // `target` does not necessarily inherit from `Object`\n if (!Object.prototype.hasOwnProperty.call(target, name)) {\n // Make a genfun if there's nothing there\n const gf = useMetaobject\n ? duck._metaobject.createGenfun(duck, target, name, null)\n : _metaCreateGenfun(duck, target, name, null)\n target[name] = gf\n } else if (typeof target[name] === 'function' && !target[name].isGenfun) {\n // Turn non-gf functions into genfuns\n const gf = useMetaobject\n ? duck._metaobject.createGenfun(duck, target, name, target[name])\n : _metaCreateGenfun(duck, target, name, target[name])\n target[name] = gf\n }\n\n const fn = impls[name] || duck._defaultImpls[name]\n if (fn) { // checkImpls made sure this is safe\n useMetaobject\n ? duck._metaobject.addMethod(duck, target, name, methodTypes, fn)\n : _metaAddMethod(duck, target, name, methodTypes, fn)\n }\n}\n\nfunction checkImpls (duck, target, impls) {\n duck._methodNames.forEach(function (name) {\n if (\n !impls[name] &&\n !duck._defaultImpls[name] &&\n // Existing methods on the target are acceptable defaults.\n typeof target[name] !== 'function'\n ) {\n throw new Error(`Missing implementation for ${\n formatMethod(duck, name, duck.name)\n }. Make sure the method is present in your ${\n duck.name || 'protocol'\n } definition. Required methods: ${\n duck._methodNames.filter(m => {\n return !duck._defaultImpls[m]\n }).map(m => formatMethod(duck, m)).join(', ')\n }.`)\n }\n })\n Object.keys(impls).forEach(function (name) {\n if (duck._methodNames.indexOf(name) === -1) {\n throw new Error(\n `${name}() was included in the impl, but is not part of ${\n duck.name || 'the protocol'\n }. Allowed methods: ${\n duck._methodNames.map(m => formatMethod(duck, m)).join(', ')\n }.`\n )\n }\n })\n}\n\nfunction formatMethod (duck, name, withDuckName) {\n return `${\n withDuckName && duck.name ? `${duck.name}#` : ''\n }${name}(${duck._gfTypes[name].map(n => duck._types[n]).join(', ')})`\n}\n\nfunction checkArgTypes (duck, types) {\n var requiredTypes = duck._types\n if (types.length > requiredTypes.length) {\n throw new Error(\n `${\n duck.name || 'Protocol'\n } expects to be defined across ${\n requiredTypes.length\n } type${requiredTypes.length > 1 ? 's' : ''}, but ${\n types.length\n } ${types.length > 1 ? 'were' : 'was'} specified.`\n )\n }\n}\n\nfunction typeName (obj) {\n return (/\\[object ([a-zA-Z0-9]+)\\]/).exec(({}).toString.call(obj))[1]\n}\n\nfunction installMethodErrorMessage (proto, gf, target, name) {\n noImplFound.add([gf], function (gf, thisArg, args) {\n let parent = Object.getPrototypeOf(thisArg)\n while (parent && parent[name] === gf) {\n parent = Object.getPrototypeOf(parent)\n }\n if (parent && parent[name] && typeof parent[name] === 'function') {\n }\n var msg = `No ${typeName(thisArg)} impl for ${\n proto.name ? `${proto.name}#` : ''\n }${name}(${[].map.call(args, typeName).join(', ')}). You must implement ${\n proto.name\n ? formatMethod(proto, name, true)\n : `the protocol ${formatMethod(proto, name)} belongs to`\n } in order to call ${typeName(thisArg)}#${name}(${\n [].map.call(args, typeName).join(', ')\n }).`\n const err = new Error(msg)\n err.protocol = proto\n err.function = gf\n err.thisArg = thisArg\n err.args = args\n err.code = 'ENOIMPL'\n throw err\n })\n}\n\nfunction isArray (x) {\n return Object.prototype.toString.call(x) === '[object Array]'\n}\n\n// Metaobject Protocol\nProtoduck.impl(Protoduck) // defaults configured by definition\n\nfunction _metaCreateGenfun (proto, target, name, deflt) {\n var gf = genfun({\n default: deflt,\n name: `${proto.name ? `${proto.name}#` : ''}${name}`\n })\n installMethodErrorMessage(proto, gf, target, name)\n gf.duck = proto\n return gf\n}\n\nfunction _metaAddMethod (duck, target, name, methodTypes, fn) {\n return target[name].add(methodTypes, fn)\n}\n\n// Constraints\nclass Constraint {\n constructor (parent, thisType, argTypes) {\n this.parent = parent\n this.target = thisType\n this.types = argTypes\n }\n\n attach (obj) {\n this.child = obj\n if (this.target === 'this') {\n this.thisIdx = 'this'\n } else {\n const idx = this.child._types.indexOf(this.target)\n if (idx === -1) {\n this.thisIdx = null\n } else {\n this.thisIdx = idx\n }\n }\n this.indices = this.types.map(typeId => {\n if (typeId === 'this') {\n return 'this'\n } else {\n const idx = this.child._types.indexOf(typeId)\n if (idx === -1) {\n return null\n } else {\n return idx\n }\n }\n })\n }\n\n verify (target, types) {\n const thisType = (\n this.thisIdx === 'this' || this.thisIdx == null\n )\n ? target\n : types[this.thisIdx]\n const parentTypes = this.indices.map(idx => {\n if (idx === 'this') {\n return target\n } else if (idx === 'this') {\n return types[this.thisIdx]\n } else if (idx === null) {\n return Object\n } else {\n return types[idx] || Object.prototype\n }\n })\n return this.parent.hasImpl(thisType, parentTypes)\n }\n}\nConstraint.prototype.isConstraint = true\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck" }, { "id": "537", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/genfun.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst Method = require('./method')\nconst Role = require('./role')\nconst util = require('./util')\n\nconst kCache = Symbol('cache')\nconst kDefaultMethod = Symbol('defaultMethod')\nconst kMethods = Symbol('methods')\nconst kNoNext = Symbol('noNext')\n\nmodule.exports = function genfun (opts) {\n function gf () {\n if (!gf[kMethods].length && gf[kDefaultMethod]) {\n return gf[kDefaultMethod].func.apply(this, arguments)\n } else {\n return gf.applyGenfun(this, arguments)\n }\n }\n Object.setPrototypeOf(gf, Genfun.prototype)\n gf[kMethods] = []\n gf[kCache] = {key: [], methods: [], state: STATES.UNINITIALIZED}\n if (opts && typeof opts === 'function') {\n gf.add(opts)\n } else if (opts && opts.default) {\n gf.add(opts.default)\n }\n if (opts && opts.name) {\n Object.defineProperty(gf, 'name', {\n value: opts.name\n })\n }\n if (opts && opts.noNextMethod) {\n gf[kNoNext] = true\n }\n return gf\n}\n\nclass Genfun extends Function {}\nGenfun.prototype.isGenfun = true\n\nconst STATES = {\n UNINITIALIZED: 0,\n MONOMORPHIC: 1,\n POLYMORPHIC: 2,\n MEGAMORPHIC: 3\n}\n\nconst MAX_CACHE_SIZE = 32\n\n/**\n * Defines a method on a generic function.\n *\n * @function\n * @param {Array-like} selector - Selector array for dispatching the method.\n * @param {Function} methodFunction - Function to execute when the method\n * successfully dispatches.\n */\nGenfun.prototype.add = function addMethod (selector, func) {\n if (!func && typeof selector === 'function') {\n func = selector\n selector = []\n }\n selector = [].slice.call(selector)\n for (var i = 0; i < selector.length; i++) {\n if (!selector.hasOwnProperty(i)) {\n selector[i] = Object.prototype\n }\n }\n this[kCache] = {key: [], methods: [], state: STATES.UNINITIALIZED}\n let method = new Method(this, selector, func)\n if (selector.length) {\n this[kMethods].push(method)\n } else {\n this[kDefaultMethod] = method\n }\n return this\n}\n\n/**\n * Removes a previously-defined method on `genfun` that matches\n * `selector` exactly.\n *\n * @function\n * @param {Genfun} genfun - Genfun to remove a method from.\n * @param {Array-like} selector - Objects to match on when finding a\n * method to remove.\n */\nGenfun.prototype.rm = function removeMethod () {\n throw new Error('not yet implemented')\n}\n\n/**\n * Returns true if there are methods that apply to the given arguments on\n * `genfun`. Additionally, makes sure the cache is warmed up for the given\n * arguments.\n *\n */\nGenfun.prototype.hasMethod = function hasMethod () {\n const methods = this.getApplicableMethods(arguments)\n return !!(methods && methods.length)\n}\n\n/**\n * This generic function is called when `genfun` has been called and no\n * applicable method was found. The default method throws an `Error`.\n *\n * @function\n * @param {Genfun} genfun - Generic function instance that was called.\n * @param {*} newthis - value of `this` the genfun was called with.\n * @param {Array} callArgs - Arguments the genfun was called with.\n */\nmodule.exports.noApplicableMethod = module.exports()\nmodule.exports.noApplicableMethod.add([], (gf, thisArg, args) => {\n let msg =\n 'No applicable method found when called with arguments of types: (' +\n [].map.call(args, (arg) => {\n return (/\\[object ([a-zA-Z0-9]+)\\]/)\n .exec(({}).toString.call(arg))[1]\n }).join(', ') + ')'\n let err = new Error(msg)\n err.genfun = gf\n err.thisArg = thisArg\n err.args = args\n throw err\n})\n\n/*\n * Internal\n */\nGenfun.prototype.applyGenfun = function applyGenfun (newThis, args) {\n let applicableMethods = this.getApplicableMethods(args)\n if (applicableMethods.length === 1 || this[kNoNext]) {\n return applicableMethods[0].func.apply(newThis, args)\n } else if (applicableMethods.length > 1) {\n let idx = 0\n const nextMethod = function nextMethod () {\n if (arguments.length) {\n // Replace args if passed in explicitly\n args = arguments\n Array.prototype.push.call(args, nextMethod)\n }\n const next = applicableMethods[idx++]\n if (idx >= applicableMethods.length) {\n Array.prototype.pop.call(args)\n }\n return next.func.apply(newThis, args)\n }\n Array.prototype.push.call(args, nextMethod)\n return nextMethod()\n } else {\n return module.exports.noApplicableMethod(this, newThis, args)\n }\n}\n\nGenfun.prototype.getApplicableMethods = function getApplicableMethods (args) {\n if (!args.length || !this[kMethods].length) {\n return this[kDefaultMethod] ? [this[kDefaultMethod]] : []\n }\n let applicableMethods\n let maybeMethods = cachedMethods(this, args)\n if (maybeMethods) {\n applicableMethods = maybeMethods\n } else {\n applicableMethods = computeApplicableMethods(this, args)\n cacheArgs(this, args, applicableMethods)\n }\n return applicableMethods\n}\n\nfunction cacheArgs (genfun, args, methods) {\n if (genfun[kCache].state === STATES.MEGAMORPHIC) { return }\n var key = []\n var proto\n for (var i = 0; i < args.length; i++) {\n proto = cacheableProto(genfun, args[i])\n if (proto) {\n key[i] = proto\n } else {\n return null\n }\n }\n genfun[kCache].key.unshift(key)\n genfun[kCache].methods.unshift(methods)\n if (genfun[kCache].key.length === 1) {\n genfun[kCache].state = STATES.MONOMORPHIC\n } else if (genfun[kCache].key.length < MAX_CACHE_SIZE) {\n genfun[kCache].state = STATES.POLYMORPHIC\n } else {\n genfun[kCache].state = STATES.MEGAMORPHIC\n }\n}\n\nfunction cacheableProto (genfun, arg) {\n var dispatchable = util.dispatchableObject(arg)\n if (Object.hasOwnProperty.call(dispatchable, Role.roleKeyName)) {\n for (var j = 0; j < dispatchable[Role.roleKeyName].length; j++) {\n var role = dispatchable[Role.roleKeyName][j]\n if (role.method.genfun === genfun) {\n return null\n }\n }\n }\n return Object.getPrototypeOf(dispatchable)\n}\n\nfunction cachedMethods (genfun, args) {\n if (genfun[kCache].state === STATES.UNINITIALIZED ||\n genfun[kCache].state === STATES.MEGAMORPHIC) {\n return null\n }\n var protos = []\n var proto\n for (var i = 0; i < args.length; i++) {\n proto = cacheableProto(genfun, args[i])\n if (proto) {\n protos[i] = proto\n } else {\n return\n }\n }\n for (i = 0; i < genfun[kCache].key.length; i++) {\n if (matchCachedMethods(genfun[kCache].key[i], protos)) {\n return genfun[kCache].methods[i]\n }\n }\n}\n\nfunction matchCachedMethods (key, protos) {\n if (key.length !== protos.length) { return false }\n for (var i = 0; i < key.length; i++) {\n if (key[i] !== protos[i]) {\n return false\n }\n }\n return true\n}\n\nfunction computeApplicableMethods (genfun, args) {\n args = [].slice.call(args)\n let discoveredMethods = []\n function findAndRankRoles (object, hierarchyPosition, index) {\n var roles = Object.hasOwnProperty.call(object, Role.roleKeyName)\n ? object[Role.roleKeyName]\n : []\n roles.forEach(role => {\n if (role.method.genfun === genfun && index === role.position) {\n if (discoveredMethods.indexOf(role.method) < 0) {\n Method.clearRank(role.method)\n discoveredMethods.push(role.method)\n }\n Method.setRankHierarchyPosition(role.method, index, hierarchyPosition)\n }\n })\n // When a discovered method would receive more arguments than\n // were specialized, we pretend all extra arguments have a role\n // on Object.prototype.\n if (util.isObjectProto(object)) {\n discoveredMethods.forEach(method => {\n if (method.minimalSelector <= index) {\n Method.setRankHierarchyPosition(method, index, hierarchyPosition)\n }\n })\n }\n }\n args.forEach((arg, index) => {\n getPrecedenceList(util.dispatchableObject(arg))\n .forEach((obj, hierarchyPosition) => {\n findAndRankRoles(obj, hierarchyPosition, index)\n })\n })\n let applicableMethods = discoveredMethods.filter(method => {\n return (args.length === method._rank.length &&\n Method.isFullySpecified(method))\n })\n applicableMethods.sort((a, b) => Method.score(a) - Method.score(b))\n if (genfun[kDefaultMethod]) {\n applicableMethods.push(genfun[kDefaultMethod])\n }\n return applicableMethods\n}\n\n/*\n * Helper function for getting an array representing the entire\n * inheritance/precedence chain for an object by navigating its\n * prototype pointers.\n */\nfunction getPrecedenceList (obj) {\n var precedenceList = []\n var nextObj = obj\n while (nextObj) {\n precedenceList.push(nextObj)\n nextObj = Object.getPrototypeOf(nextObj)\n }\n return precedenceList\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun" }, { "id": "538", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/method.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\n/*\n * Method\n *\n * Methods are added, conceptually, to Genfuns, not to objects\n * themselves, although the Genfun object does not have any pointers to\n * method objects.\n *\n * The _rank vector is an internal datastructure used during dispatch\n * to figure out whether a method is applicable, and if so, how to\n * order multiple discovered methods.\n *\n * Right now, the score method on Method does not take into account any\n * ordering, and all arguments to a method are ranked equally for the\n * sake of ordering.\n *\n */\nconst Role = require('./role')\nconst util = require('./util')\n\nmodule.exports = Method\nfunction Method (genfun, selector, func) {\n var method = this\n method.genfun = genfun\n method.func = func\n method._rank = []\n method.minimalSelector = 0\n\n const tmpSelector = selector.length ? selector : [Object.prototype]\n for (var object, i = tmpSelector.length - 1; i >= 0; i--) {\n object = Object.hasOwnProperty.call(tmpSelector, i)\n ? tmpSelector[i]\n : Object.prototype\n object = util.dispatchableObject(object)\n if (\n typeof object === 'function' &&\n !object.isGenfun\n ) {\n object = object.prototype\n }\n if (i > 0 &&\n !method.minimalSelector &&\n util.isObjectProto(object)) {\n continue\n } else {\n method.minimalSelector++\n if (!Object.hasOwnProperty.call(object, Role.roleKeyName)) {\n if (Object.defineProperty) {\n // Object.defineProperty is JS 1.8.0+\n Object.defineProperty(\n object, Role.roleKeyName, {value: [], enumerable: false})\n } else {\n object[Role.roleKeyName] = []\n }\n }\n // XXX HACK - no method replacement now, so we just shove\n // it in a place where it'll always show up first. This\n // would probably seriously break method combination if we\n // had it.\n object[Role.roleKeyName].unshift(new Role(method, i))\n }\n }\n}\n\nMethod.setRankHierarchyPosition = (method, index, hierarchyPosition) => {\n method._rank[index] = hierarchyPosition\n}\n\nMethod.clearRank = method => {\n method._rank = []\n}\n\nMethod.isFullySpecified = method => {\n for (var i = 0; i < method.minimalSelector; i++) {\n if (!method._rank.hasOwnProperty(i)) {\n return false\n }\n }\n return true\n}\n\nMethod.score = method => {\n // TODO - this makes all items in the list equal\n return method._rank.reduce((a, b) => a + b, 0)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun" }, { "id": "541", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/finalize-manifest.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst cacache = require('cacache')\nconst cacheKey = require('./util/cache-key')\nconst fetchFromManifest = require('./fetch').fromManifest\nconst finished = BB.promisify(require('mississippi').finished)\nconst gunzip = require('./util/gunzip-maybe')\nconst minimatch = require('minimatch')\nconst normalize = require('normalize-package-data')\nconst optCheck = require('./util/opt-check')\nconst path = require('path')\nconst pipe = BB.promisify(require('mississippi').pipe)\nconst ssri = require('ssri')\nconst tar = require('tar-stream')\n\n// `finalizeManifest` takes as input the various kinds of manifests that\n// manifest handlers ('lib/handlers/*/manifest.js') return, and makes sure they\n// are:\n//\n// * filled out with any required data that the handler couldn't fill in\n// * formatted consistently\n// * cached so we don't have to repeat this work more than necessary\n//\n// The biggest thing this package might do is do a full tarball extraction in\n// order to find missing bits of metadata required by the npm installer. For\n// example, it will fill in `_shrinkwrap`, `_integrity`, and other details that\n// the plain manifest handlers would require a tarball to fill out. If a\n// handler returns everything necessary, this process is skipped.\n//\n// If we get to the tarball phase, the corresponding tarball handler for the\n// requested type will be invoked and the entire tarball will be read from the\n// stream.\n//\nmodule.exports = finalizeManifest\nfunction finalizeManifest (pkg, spec, opts) {\n const key = finalKey(pkg, spec)\n opts = optCheck(opts)\n\n const cachedManifest = (opts.cache && key && !opts.preferOnline && !opts.fullMetadata)\n ? cacache.get.info(opts.cache, key, opts)\n : BB.resolve(null)\n\n return cachedManifest.then(cached => {\n if (cached && cached.metadata.manifest) {\n return new Manifest(cached.metadata.manifest)\n } else {\n return tarballedProps(pkg, spec, opts).then(props => {\n return pkg && pkg.name\n ? new Manifest(pkg, props, opts.fullMetadata)\n : new Manifest(props, null, opts.fullMetadata)\n }).then(manifest => {\n const cacheKey = key || finalKey(manifest, spec)\n if (!opts.cache || !cacheKey) {\n return manifest\n } else {\n opts.metadata = {\n id: manifest._id,\n manifest,\n type: 'finalized-manifest'\n }\n return cacache.put(\n opts.cache, cacheKey, '.', opts\n ).then(() => manifest)\n }\n })\n }\n })\n}\n\nmodule.exports.Manifest = Manifest\nfunction Manifest (pkg, fromTarball, fullMetadata) {\n fromTarball = fromTarball || {}\n if (fullMetadata) {\n Object.assign(this, pkg)\n }\n this.name = pkg.name\n this.version = pkg.version\n this.engines = pkg.engines || fromTarball.engines\n this.cpu = pkg.cpu || fromTarball.cpu\n this.os = pkg.os || fromTarball.os\n this.dependencies = pkg.dependencies || {}\n this.optionalDependencies = pkg.optionalDependencies || {}\n this.devDependencies = pkg.devDependencies || {}\n const bundled = (\n pkg.bundledDependencies ||\n pkg.bundleDependencies ||\n false\n )\n this.bundleDependencies = bundled\n this.peerDependencies = pkg.peerDependencies || {}\n this.deprecated = pkg.deprecated || false\n\n // These depend entirely on each handler\n this._resolved = pkg._resolved\n\n // Not all handlers (or registries) provide these out of the box,\n // and if they don't, we need to extract and read the tarball ourselves.\n // These are details required by the installer.\n this._integrity = pkg._integrity || fromTarball._integrity\n this._shasum = pkg._shasum\n this._shrinkwrap = pkg._shrinkwrap || fromTarball._shrinkwrap || null\n this.bin = pkg.bin || fromTarball.bin || null\n\n if (this.bin && Array.isArray(this.bin)) {\n // Code yanked from read-package-json.\n const m = (pkg.directories && pkg.directories.bin) || '.'\n this.bin = this.bin.reduce((acc, mf) => {\n if (mf && mf.charAt(0) !== '.') {\n const f = path.basename(mf)\n acc[f] = path.join(m, mf)\n }\n return acc\n }, {})\n }\n\n this._id = null\n\n // TODO - freezing and inextensibility pending npm changes. See test suite.\n // Object.preventExtensions(this)\n normalize(this)\n\n // I don't want this why did you give it to me. Go away. 🔥🔥🔥🔥\n delete this.readme\n\n // Object.freeze(this)\n}\n\n// Some things aren't filled in by standard manifest fetching.\n// If this function needs to do its work, it will grab the\n// package tarball, extract it, and take whatever it needs\n// from the stream.\nfunction tarballedProps (pkg, spec, opts) {\n const needsShrinkwrap = (!pkg || (\n pkg._hasShrinkwrap !== false &&\n !pkg._shrinkwrap\n ))\n const needsBin = !!(!pkg || (\n !pkg.bin &&\n pkg.directories &&\n pkg.directories.bin\n ))\n const needsHash = !pkg || (!pkg._integrity && pkg._integrity !== false)\n const needsManifest = !pkg || !pkg.name\n const needsExtract = needsShrinkwrap || needsBin || needsManifest\n if (!needsShrinkwrap && !needsBin && !needsHash && !needsManifest) {\n return BB.resolve({})\n } else {\n opts = optCheck(opts)\n const tarStream = fetchFromManifest(pkg, spec, opts)\n const extracted = needsExtract && tar.extract()\n extracted && extracted.on('entry', (h, str, next) => {\n // Drain it\n str.on('data', () => {}).on('end', next).on('error', next)\n })\n return BB.join(\n needsShrinkwrap && jsonFromStream('npm-shrinkwrap.json', extracted),\n needsManifest && jsonFromStream('package.json', extracted),\n needsBin && getPaths(extracted),\n needsHash && ssri.fromStream(tarStream, { algorithms: ['sha1'] }),\n needsExtract && pipe(tarStream, gunzip(), extracted),\n (sr, mani, paths, hash) => {\n const extraProps = mani || {}\n delete extraProps._resolved\n // drain out the rest of the tarball\n tarStream.unpipe()\n tarStream.on('data', () => {})\n // if we have directories.bin, we need to collect any matching files\n // to add to bin\n if (paths && paths.length) {\n const dirBin = mani\n ? (mani && mani.directories && mani.directories.bin)\n : (pkg && pkg.directories && pkg.directories.bin)\n if (dirBin) {\n extraProps.bin = {}\n paths.forEach(filePath => {\n if (minimatch(filePath, dirBin + '/**')) {\n const relative = path.relative(dirBin, filePath)\n if (relative && relative[0] !== '.') {\n extraProps.bin[path.basename(relative)] = path.join(dirBin, relative)\n }\n }\n })\n }\n }\n return Object.assign(extraProps, {\n _shrinkwrap: sr,\n _resolved: (mani && mani._resolved) ||\n (pkg && pkg._resolved) ||\n spec.fetchSpec,\n _integrity: hash && hash.toString()\n })\n }\n )\n }\n}\n\nfunction jsonFromStream (filename, dataStream) {\n return BB.fromNode(cb => {\n dataStream.on('error', cb)\n dataStream.on('finish', cb)\n dataStream.on('entry', function handler (header, stream, next) {\n const filePath = header.name.replace(/[^/]+\\//, '')\n if (filePath !== filename) {\n next()\n } else {\n let data = ''\n stream.on('data', d => { data += d })\n stream.on('error', cb)\n finished(stream).then(() => {\n dataStream.removeListener('entry', handler)\n try {\n cb(null, JSON.parse(data))\n next()\n } catch (err) {\n cb(err)\n }\n }, err => {\n dataStream.removeListener('entry', handler)\n cb(err)\n })\n }\n })\n })\n}\n\nfunction getPaths (dataStream) {\n return BB.fromNode(cb => {\n let paths = []\n dataStream.on('error', cb)\n dataStream.on('finish', () => cb(null, paths))\n dataStream.on('entry', function handler (header, stream, next) {\n const filePath = header.name.replace(/[^/]+\\//, '')\n stream.on('data', () => {})\n paths.push(filePath)\n next()\n })\n })\n}\n\nfunction finalKey (pkg, spec) {\n if (pkg && pkg._uniqueResolved) {\n // git packages have a unique, identifiable id, but no tar sha\n return cacheKey(`${spec.type}-manifest`, pkg._uniqueResolved)\n } else {\n return (\n pkg && pkg._integrity &&\n cacheKey(\n `${spec.type}-manifest`,\n `${pkg._resolved}:${ssri.stringify(pkg._integrity)}`\n )\n )\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "543", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/minimatch/minimatch.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = require('path')\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = console.error\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n if (inClass) {\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '.':\n case '[':\n case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/minimatch" }, { "id": "547", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/prefetch.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst cacache = require('cacache')\nconst finished = BB.promisify(require('mississippi').finished)\nconst optCheck = require('./lib/util/opt-check')\nconst npa = require('npm-package-arg')\n\nmodule.exports = prefetch\nfunction prefetch (spec, opts) {\n opts = optCheck(opts)\n spec = typeof spec === 'string' ? npa(spec, opts.where) : spec\n const startTime = Date.now()\n if (!opts.cache) {\n opts.log.info('prefetch', 'skipping prefetch: no cache provided')\n return BB.resolve({spec})\n }\n if (opts.integrity && !opts.preferOnline) {\n opts.log.silly('prefetch', 'checking if', opts.integrity, 'is already cached')\n return cacache.get.hasContent(opts.cache, opts.integrity).then(info => {\n if (info) {\n opts.log.silly('prefetch', `content already exists for ${spec} (${Date.now() - startTime}ms)`)\n return {\n spec,\n integrity: info.integrity,\n size: info.size,\n byDigest: true\n }\n } else {\n return prefetchByManifest(startTime, spec, opts)\n }\n })\n } else {\n opts.log.silly('prefetch', `no integrity hash provided for ${spec} - fetching by manifest`)\n return prefetchByManifest(startTime, spec, opts)\n }\n}\n\nlet fetch\nfunction prefetchByManifest (start, spec, opts) {\n let manifest\n let integrity\n return BB.resolve().then(() => {\n if (!fetch) {\n fetch = require('./lib/fetch')\n }\n const stream = fetch.tarball(spec, opts)\n if (!stream) { return }\n stream.on('data', function () {})\n stream.on('manifest', m => { manifest = m })\n stream.on('integrity', i => { integrity = i })\n return finished(stream)\n }).then(() => {\n opts.log.silly('prefetch', `${spec} done in ${Date.now() - start}ms`)\n return {\n manifest,\n spec,\n integrity: integrity || (manifest && manifest._integrity),\n byDigest: false\n }\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "548", "url": "/usr/local/lib/node_modules/npm/node_modules/lru-cache/lib/lru-cache.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = LRUCache\n\n// This will be a proper iterable 'Map' in engines that support it,\n// or a fakey-fake PseudoMap in older versions.\nvar Map = require('pseudomap')\nvar util = require('util')\n\n// A linked list to keep track of recently-used-ness\nvar Yallist = require('yallist')\n\n// use symbols if possible, otherwise just _props\nvar symbols = {}\nvar hasSymbol = typeof Symbol === 'function'\nvar makeSymbol\n/* istanbul ignore if */\nif (hasSymbol) {\n makeSymbol = function (key) {\n return Symbol.for(key)\n }\n} else {\n makeSymbol = function (key) {\n return '_' + key\n }\n}\n\nfunction priv (obj, key, val) {\n var sym\n if (symbols[key]) {\n sym = symbols[key]\n } else {\n sym = makeSymbol(key)\n symbols[key] = sym\n }\n if (arguments.length === 2) {\n return obj[sym]\n } else {\n obj[sym] = val\n return val\n }\n}\n\nfunction naiveLength () { return 1 }\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nfunction LRUCache (options) {\n if (!(this instanceof LRUCache)) {\n return new LRUCache(options)\n }\n\n if (typeof options === 'number') {\n options = { max: options }\n }\n\n if (!options) {\n options = {}\n }\n\n var max = priv(this, 'max', options.max)\n // Kind of weird to have a default max of Infinity, but oh well.\n if (!max ||\n !(typeof max === 'number') ||\n max <= 0) {\n priv(this, 'max', Infinity)\n }\n\n var lc = options.length || naiveLength\n if (typeof lc !== 'function') {\n lc = naiveLength\n }\n priv(this, 'lengthCalculator', lc)\n\n priv(this, 'allowStale', options.stale || false)\n priv(this, 'maxAge', options.maxAge || 0)\n priv(this, 'dispose', options.dispose)\n this.reset()\n}\n\n// resize the cache when the max changes.\nObject.defineProperty(LRUCache.prototype, 'max', {\n set: function (mL) {\n if (!mL || !(typeof mL === 'number') || mL <= 0) {\n mL = Infinity\n }\n priv(this, 'max', mL)\n trim(this)\n },\n get: function () {\n return priv(this, 'max')\n },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'allowStale', {\n set: function (allowStale) {\n priv(this, 'allowStale', !!allowStale)\n },\n get: function () {\n return priv(this, 'allowStale')\n },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'maxAge', {\n set: function (mA) {\n if (!mA || !(typeof mA === 'number') || mA < 0) {\n mA = 0\n }\n priv(this, 'maxAge', mA)\n trim(this)\n },\n get: function () {\n return priv(this, 'maxAge')\n },\n enumerable: true\n})\n\n// resize the cache when the lengthCalculator changes.\nObject.defineProperty(LRUCache.prototype, 'lengthCalculator', {\n set: function (lC) {\n if (typeof lC !== 'function') {\n lC = naiveLength\n }\n if (lC !== priv(this, 'lengthCalculator')) {\n priv(this, 'lengthCalculator', lC)\n priv(this, 'length', 0)\n priv(this, 'lruList').forEach(function (hit) {\n hit.length = priv(this, 'lengthCalculator').call(this, hit.value, hit.key)\n priv(this, 'length', priv(this, 'length') + hit.length)\n }, this)\n }\n trim(this)\n },\n get: function () { return priv(this, 'lengthCalculator') },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'length', {\n get: function () { return priv(this, 'length') },\n enumerable: true\n})\n\nObject.defineProperty(LRUCache.prototype, 'itemCount', {\n get: function () { return priv(this, 'lruList').length },\n enumerable: true\n})\n\nLRUCache.prototype.rforEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = priv(this, 'lruList').tail; walker !== null;) {\n var prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n}\n\nfunction forEachStep (self, fn, node, thisp) {\n var hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!priv(self, 'allowStale')) {\n hit = undefined\n }\n }\n if (hit) {\n fn.call(thisp, hit.value, hit.key, self)\n }\n}\n\nLRUCache.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = priv(this, 'lruList').head; walker !== null;) {\n var next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n}\n\nLRUCache.prototype.keys = function () {\n return priv(this, 'lruList').toArray().map(function (k) {\n return k.key\n }, this)\n}\n\nLRUCache.prototype.values = function () {\n return priv(this, 'lruList').toArray().map(function (k) {\n return k.value\n }, this)\n}\n\nLRUCache.prototype.reset = function () {\n if (priv(this, 'dispose') &&\n priv(this, 'lruList') &&\n priv(this, 'lruList').length) {\n priv(this, 'lruList').forEach(function (hit) {\n priv(this, 'dispose').call(this, hit.key, hit.value)\n }, this)\n }\n\n priv(this, 'cache', new Map()) // hash of items by key\n priv(this, 'lruList', new Yallist()) // list of items in order of use recency\n priv(this, 'length', 0) // length of items in the list\n}\n\nLRUCache.prototype.dump = function () {\n return priv(this, 'lruList').map(function (hit) {\n if (!isStale(this, hit)) {\n return {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }\n }\n }, this).toArray().filter(function (h) {\n return h\n })\n}\n\nLRUCache.prototype.dumpLru = function () {\n return priv(this, 'lruList')\n}\n\nLRUCache.prototype.inspect = function (n, opts) {\n var str = 'LRUCache {'\n var extras = false\n\n var as = priv(this, 'allowStale')\n if (as) {\n str += '\\n allowStale: true'\n extras = true\n }\n\n var max = priv(this, 'max')\n if (max && max !== Infinity) {\n if (extras) {\n str += ','\n }\n str += '\\n max: ' + util.inspect(max, opts)\n extras = true\n }\n\n var maxAge = priv(this, 'maxAge')\n if (maxAge) {\n if (extras) {\n str += ','\n }\n str += '\\n maxAge: ' + util.inspect(maxAge, opts)\n extras = true\n }\n\n var lc = priv(this, 'lengthCalculator')\n if (lc && lc !== naiveLength) {\n if (extras) {\n str += ','\n }\n str += '\\n length: ' + util.inspect(priv(this, 'length'), opts)\n extras = true\n }\n\n var didFirst = false\n priv(this, 'lruList').forEach(function (item) {\n if (didFirst) {\n str += ',\\n '\n } else {\n if (extras) {\n str += ',\\n'\n }\n didFirst = true\n str += '\\n '\n }\n var key = util.inspect(item.key).split('\\n').join('\\n ')\n var val = { value: item.value }\n if (item.maxAge !== maxAge) {\n val.maxAge = item.maxAge\n }\n if (lc !== naiveLength) {\n val.length = item.length\n }\n if (isStale(this, item)) {\n val.stale = true\n }\n\n val = util.inspect(val, opts).split('\\n').join('\\n ')\n str += key + ' => ' + val\n })\n\n if (didFirst || extras) {\n str += '\\n'\n }\n str += '}'\n\n return str\n}\n\nLRUCache.prototype.set = function (key, value, maxAge) {\n maxAge = maxAge || priv(this, 'maxAge')\n\n var now = maxAge ? Date.now() : 0\n var len = priv(this, 'lengthCalculator').call(this, value, key)\n\n if (priv(this, 'cache').has(key)) {\n if (len > priv(this, 'max')) {\n del(this, priv(this, 'cache').get(key))\n return false\n }\n\n var node = priv(this, 'cache').get(key)\n var item = node.value\n\n // dispose of the old one before overwriting\n if (priv(this, 'dispose')) {\n priv(this, 'dispose').call(this, key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n priv(this, 'length', priv(this, 'length') + (len - item.length))\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n var hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > priv(this, 'max')) {\n if (priv(this, 'dispose')) {\n priv(this, 'dispose').call(this, key, value)\n }\n return false\n }\n\n priv(this, 'length', priv(this, 'length') + hit.length)\n priv(this, 'lruList').unshift(hit)\n priv(this, 'cache').set(key, priv(this, 'lruList').head)\n trim(this)\n return true\n}\n\nLRUCache.prototype.has = function (key) {\n if (!priv(this, 'cache').has(key)) return false\n var hit = priv(this, 'cache').get(key).value\n if (isStale(this, hit)) {\n return false\n }\n return true\n}\n\nLRUCache.prototype.get = function (key) {\n return get(this, key, true)\n}\n\nLRUCache.prototype.peek = function (key) {\n return get(this, key, false)\n}\n\nLRUCache.prototype.pop = function () {\n var node = priv(this, 'lruList').tail\n if (!node) return null\n del(this, node)\n return node.value\n}\n\nLRUCache.prototype.del = function (key) {\n del(this, priv(this, 'cache').get(key))\n}\n\nLRUCache.prototype.load = function (arr) {\n // reset the cache\n this.reset()\n\n var now = Date.now()\n // A previous serialized cache has the most recent items first\n for (var l = arr.length - 1; l >= 0; l--) {\n var hit = arr[l]\n var expiresAt = hit.e || 0\n if (expiresAt === 0) {\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n } else {\n var maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n}\n\nLRUCache.prototype.prune = function () {\n var self = this\n priv(this, 'cache').forEach(function (value, key) {\n get(self, key, false)\n })\n}\n\nfunction get (self, key, doUse) {\n var node = priv(self, 'cache').get(key)\n if (node) {\n var hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!priv(self, 'allowStale')) hit = undefined\n } else {\n if (doUse) {\n priv(self, 'lruList').unshiftNode(node)\n }\n }\n if (hit) hit = hit.value\n }\n return hit\n}\n\nfunction isStale (self, hit) {\n if (!hit || (!hit.maxAge && !priv(self, 'maxAge'))) {\n return false\n }\n var stale = false\n var diff = Date.now() - hit.now\n if (hit.maxAge) {\n stale = diff > hit.maxAge\n } else {\n stale = priv(self, 'maxAge') && (diff > priv(self, 'maxAge'))\n }\n return stale\n}\n\nfunction trim (self) {\n if (priv(self, 'length') > priv(self, 'max')) {\n for (var walker = priv(self, 'lruList').tail;\n priv(self, 'length') > priv(self, 'max') && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n var prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nfunction del (self, node) {\n if (node) {\n var hit = node.value\n if (priv(self, 'dispose')) {\n priv(self, 'dispose').call(this, hit.key, hit.value)\n }\n priv(self, 'length', priv(self, 'length') - hit.length)\n priv(self, 'cache').delete(hit.key)\n priv(self, 'lruList').removeNode(node)\n }\n}\n\n// classy, since V8 prefers predictable objects.\nfunction Entry (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/lru-cache" }, { "id": "560", "url": "/usr/local/lib/node_modules/npm/lib/install/save.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst createShrinkwrap = require('../shrinkwrap.js').createShrinkwrap\nconst deepSortObject = require('../utils/deep-sort-object.js')\nconst detectIndent = require('detect-indent')\nconst fs = BB.promisifyAll(require('graceful-fs'))\nconst iferr = require('iferr')\nconst log = require('npmlog')\nconst moduleName = require('../utils/module-name.js')\nconst npm = require('../npm.js')\nconst parseJSON = require('../utils/parse-json.js')\nconst path = require('path')\nconst validate = require('aproba')\nconst without = require('lodash.without')\nconst writeFileAtomic = require('write-file-atomic')\n\n// if the -S|--save option is specified, then write installed packages\n// as dependencies to a package.json file.\n\nexports.saveRequested = function (tree, andReturn) {\n validate('OF', arguments)\n savePackageJson(tree, andWarnErrors(andSaveShrinkwrap(tree, andReturn)))\n}\n\nfunction andSaveShrinkwrap (tree, andReturn) {\n validate('OF', arguments)\n return function (er) {\n validate('E', arguments)\n saveShrinkwrap(tree, andWarnErrors(andReturn))\n }\n}\n\nfunction andWarnErrors (cb) {\n validate('F', arguments)\n return function (er) {\n if (er) log.warn('saveError', er.message)\n arguments[0] = null\n cb.apply(null, arguments)\n }\n}\n\nfunction saveShrinkwrap (tree, next) {\n validate('OF', arguments)\n if (!npm.config.get('shrinkwrap') || !npm.config.get('package-lock')) {\n next()\n }\n createShrinkwrap(tree, {silent: false}, next)\n}\n\nfunction savePackageJson (tree, next) {\n validate('OF', arguments)\n var saveBundle = npm.config.get('save-bundle')\n\n // each item in the tree is a top-level thing that should be saved\n // to the package.json file.\n // The relevant tree shape is { : {what:} }\n var saveTarget = path.resolve(tree.path, 'package.json')\n // don't use readJson, because we don't want to do all the other\n // tricky npm-specific stuff that's in there.\n fs.readFile(saveTarget, 'utf8', iferr(next, function (packagejson) {\n const indent = detectIndent(packagejson).indent || ' '\n try {\n tree.package = parseJSON(packagejson)\n } catch (ex) {\n return next(ex)\n }\n\n // If we're saving bundled deps, normalize the key before we start\n if (saveBundle) {\n var bundle = tree.package.bundleDependencies || tree.package.bundledDependencies\n delete tree.package.bundledDependencies\n if (!Array.isArray(bundle)) bundle = []\n }\n\n var toSave = getThingsToSave(tree)\n var toRemove = getThingsToRemove(tree)\n var savingTo = {}\n toSave.forEach(function (pkg) { savingTo[pkg.save] = true })\n toRemove.forEach(function (pkg) { savingTo[pkg.save] = true })\n\n Object.keys(savingTo).forEach(function (save) {\n if (!tree.package[save]) tree.package[save] = {}\n })\n\n log.verbose('saving', toSave)\n const types = ['dependencies', 'devDependencies', 'optionalDependencies']\n toSave.forEach(function (pkg) {\n tree.package[pkg.save][pkg.name] = pkg.spec\n const movedFrom = []\n for (let saveType of types) {\n if (\n pkg.save !== saveType &&\n tree.package[saveType] &&\n tree.package[saveType][pkg.name]\n ) {\n movedFrom.push(saveType)\n delete tree.package[saveType][pkg.name]\n }\n }\n if (movedFrom.length) {\n log.notice('save', `${pkg.name} is being moved from ${movedFrom.join(' and ')} to ${pkg.save}`)\n }\n if (saveBundle) {\n var ii = bundle.indexOf(pkg.name)\n if (ii === -1) bundle.push(pkg.name)\n }\n })\n\n toRemove.forEach(function (pkg) {\n delete tree.package[pkg.save][pkg.name]\n if (saveBundle) {\n bundle = without(bundle, pkg.name)\n }\n })\n\n Object.keys(savingTo).forEach(function (key) {\n tree.package[key] = deepSortObject(tree.package[key])\n })\n if (saveBundle) {\n tree.package.bundleDependencies = deepSortObject(bundle)\n }\n\n var json = JSON.stringify(tree.package, null, indent) + '\\n'\n writeFileAtomic(saveTarget, json, next)\n }))\n}\n\nexports.getSaveType = function (tree, arg) {\n if (arguments.length) validate('OO', arguments)\n var globalInstall = npm.config.get('global')\n var noSaveFlags = !npm.config.get('save') &&\n !npm.config.get('save-dev') &&\n !npm.config.get('save-prod') &&\n !npm.config.get('save-optional')\n if (globalInstall || noSaveFlags) return null\n\n if (npm.config.get('save-optional')) {\n return 'optionalDependencies'\n } else if (npm.config.get('save-dev')) {\n return 'devDependencies'\n } else if (npm.config.get('save-prod')) {\n return 'dependencies'\n } else {\n if (arg) {\n var name = moduleName(arg)\n if (tree.package.optionalDependencies[name]) {\n return 'optionalDependencies'\n } else if (tree.package.devDependencies[name]) {\n return 'devDependencies'\n }\n }\n return 'dependencies'\n }\n}\n\nfunction getThingsToSave (tree) {\n validate('O', arguments)\n var toSave = tree.children.filter(function (child) {\n return child.save\n }).map(function (child) {\n return {\n name: moduleName(child),\n spec: child.saveSpec,\n save: child.save\n }\n })\n return toSave\n}\n\nfunction getThingsToRemove (tree) {\n validate('O', arguments)\n if (!tree.removedChildren) return []\n var toRemove = tree.removedChildren.map(function (child) {\n return {\n name: moduleName(child),\n save: child.save\n }\n })\n return toRemove\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "561", "url": "/usr/local/lib/node_modules/npm/lib/shrinkwrap.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst chain = require('slide').chain\nconst detectIndent = require('detect-indent')\nconst fs = BB.promisifyAll(require('graceful-fs'))\nconst getRequested = require('./install/get-requested.js')\nconst id = require('./install/deps.js')\nconst iferr = require('iferr')\nconst isDevDep = require('./install/is-dev-dep.js')\nconst isOptDep = require('./install/is-opt-dep.js')\nconst isProdDep = require('./install/is-prod-dep.js')\nconst lifecycle = require('./utils/lifecycle.js')\nconst log = require('npmlog')\nconst moduleName = require('./utils/module-name.js')\nconst move = require('move-concurrently')\nconst npm = require('./npm.js')\nconst path = require('path')\nconst readPackageTree = BB.promisify(require('read-package-tree'))\nconst ssri = require('ssri')\nconst validate = require('aproba')\nconst writeFileAtomic = require('write-file-atomic')\n\nconst PKGLOCK = 'package-lock.json'\nconst SHRINKWRAP = 'npm-shrinkwrap.json'\nconst PKGLOCK_VERSION = npm.lockfileVersion\n\n// emit JSON describing versions of all packages currently installed (for later\n// use with shrinkwrap install)\nshrinkwrap.usage = 'npm shrinkwrap'\n\nmodule.exports = exports = shrinkwrap\nfunction shrinkwrap (args, silent, cb) {\n if (typeof cb !== 'function') {\n cb = silent\n silent = false\n }\n\n if (args.length) {\n log.warn('shrinkwrap', \"doesn't take positional args\")\n }\n\n move(\n path.resolve(npm.prefix, PKGLOCK),\n path.resolve(npm.prefix, SHRINKWRAP),\n { Promise: BB }\n ).then(() => {\n log.notice('', `${PKGLOCK} has been renamed to ${SHRINKWRAP}. ${SHRINKWRAP} will be used for future installations.`)\n return fs.readFileAsync(path.resolve(npm.prefix, SHRINKWRAP)).then((d) => {\n return JSON.parse(d)\n })\n }, (err) => {\n if (err.code !== 'ENOENT') {\n throw err\n } else {\n return readPackageTree(npm.localPrefix).then(\n id.computeMetadata\n ).then((tree) => {\n return BB.fromNode((cb) => {\n createShrinkwrap(tree, {\n silent,\n defaultFile: SHRINKWRAP\n }, cb)\n })\n })\n }\n }).then((data) => cb(null, data), cb)\n}\n\nmodule.exports.createShrinkwrap = createShrinkwrap\n\nfunction createShrinkwrap (tree, opts, cb) {\n opts = opts || {}\n lifecycle(tree.package, 'preshrinkwrap', tree.path, function () {\n const pkginfo = treeToShrinkwrap(tree)\n chain([\n [lifecycle, tree.package, 'shrinkwrap', tree.path],\n [shrinkwrap_, tree.path, pkginfo, opts],\n [lifecycle, tree.package, 'postshrinkwrap', tree.path]\n ], iferr(cb, function (data) {\n cb(null, pkginfo)\n }))\n })\n}\n\nfunction treeToShrinkwrap (tree) {\n validate('O', arguments)\n var pkginfo = {}\n if (tree.package.name) pkginfo.name = tree.package.name\n if (tree.package.version) pkginfo.version = tree.package.version\n if (tree.children.length) {\n shrinkwrapDeps(pkginfo.dependencies = {}, tree, tree)\n }\n return pkginfo\n}\n\nfunction shrinkwrapDeps (deps, top, tree, seen) {\n validate('OOO', [deps, top, tree])\n if (!seen) seen = {}\n if (seen[tree.path]) return\n seen[tree.path] = true\n tree.children.sort(function (aa, bb) { return moduleName(aa).localeCompare(moduleName(bb)) }).forEach(function (child) {\n var childIsOnlyDev = isOnlyDev(child)\n if (child.fakeChild) {\n deps[moduleName(child)] = child.fakeChild\n return\n }\n var pkginfo = deps[moduleName(child)] = {}\n var req = child.package._requested || getRequested(child)\n if (req.type === 'directory' || req.type === 'file') {\n pkginfo.version = 'file:' + path.relative(top.path, child.package._resolved || req.fetchSpec)\n } else if (!req.registry && !child.fromBundle) {\n pkginfo.version = child.package._resolved || req.saveSpec || req.rawSpec\n } else {\n pkginfo.version = child.package.version\n }\n if (child.fromBundle || child.isInLink) {\n pkginfo.bundled = true\n } else {\n if (req.registry) {\n pkginfo.resolved = child.package._resolved\n }\n // no integrity for git deps as integirty hashes are based on the\n // tarball and we can't (yet) create consistent tarballs from a stable\n // source.\n if (req.type !== 'git') {\n pkginfo.integrity = child.package._integrity\n if (!pkginfo.integrity && child.package._shasum) {\n pkginfo.integrity = ssri.fromHex(child.package._shasum, 'sha1')\n }\n }\n }\n if (childIsOnlyDev) pkginfo.dev = true\n if (isOptional(child)) pkginfo.optional = true\n if (child.children.length) {\n pkginfo.dependencies = {}\n shrinkwrapDeps(pkginfo.dependencies, top, child, seen)\n }\n })\n}\n\nfunction shrinkwrap_ (dir, pkginfo, opts, cb) {\n save(dir, pkginfo, opts, cb)\n}\n\nfunction save (dir, pkginfo, opts, cb) {\n // copy the keys over in a well defined order\n // because javascript objects serialize arbitrarily\n BB.join(\n checkPackageFile(dir, SHRINKWRAP),\n checkPackageFile(dir, PKGLOCK),\n checkPackageFile(dir, 'package.json'),\n (shrinkwrap, lockfile, pkg) => {\n const info = (\n shrinkwrap ||\n lockfile ||\n {\n path: path.resolve(dir, opts.defaultFile || PKGLOCK),\n data: '{}',\n indent: (pkg && pkg.indent) || 2\n }\n )\n const updated = updateLockfileMetadata(pkginfo, pkg && pkg.data)\n const swdata = JSON.stringify(updated, null, info.indent) + '\\n'\n writeFileAtomic(info.path, swdata, (err) => {\n if (err) return cb(err)\n if (opts.silent) return cb(null, pkginfo)\n if (!shrinkwrap && !lockfile) {\n log.notice('', `created a lockfile as ${path.basename(info.path)}. You should commit this file.`)\n }\n cb(null, pkginfo)\n })\n }\n ).then((file) => {\n }, cb)\n}\n\nfunction updateLockfileMetadata (pkginfo, pkgJson) {\n // This is a lot of work just to make sure the extra metadata fields are\n // between version and dependencies fields, without affecting any other stuff\n const newPkg = {}\n let metainfoWritten = false\n const metainfo = new Set([\n 'lockfileVersion',\n 'preserveSymlinks'\n ])\n Object.keys(pkginfo).forEach((k) => {\n if (k === 'dependencies') {\n writeMetainfo(newPkg)\n }\n if (!metainfo.has(k)) {\n newPkg[k] = pkginfo[k]\n }\n if (k === 'version') {\n writeMetainfo(newPkg)\n }\n })\n if (!metainfoWritten) {\n writeMetainfo(newPkg)\n }\n function writeMetainfo (pkginfo) {\n pkginfo.lockfileVersion = PKGLOCK_VERSION\n if (process.env.NODE_PRESERVE_SYMLINKS) {\n pkginfo.preserveSymlinks = process.env.NODE_PRESERVE_SYMLINKS\n }\n metainfoWritten = true\n }\n return newPkg\n}\n\nfunction checkPackageFile (dir, name) {\n const file = path.resolve(dir, name)\n return fs.readFileAsync(\n file, 'utf8'\n ).then((data) => {\n return {\n path: file,\n data: JSON.parse(data),\n indent: detectIndent(data).indent || 2\n }\n }).catch({code: 'ENOENT'}, () => {})\n}\n\n// Returns true if the module `node` is only required direcctly as a dev\n// dependency of the top level or transitively _from_ top level dev\n// dependencies.\n// Dual mode modules (that are both dev AND prod) should return false.\nfunction isOnlyDev (node, seen) {\n if (!seen) seen = {}\n return node.requiredBy.length && node.requiredBy.every(andIsOnlyDev(moduleName(node), seen))\n}\n\n// There is a known limitation with this implementation: If a dependency is\n// ONLY required by cycles that are detached from the top level then it will\n// ultimately return true.\n//\n// This is ok though: We don't allow shrinkwraps with extraneous deps and\n// these situation is caught by the extraneous checker before we get here.\nfunction andIsOnlyDev (name, seen) {\n return function (req) {\n var isDev = isDevDep(req, name)\n var isProd = isProdDep(req, name)\n if (req.isTop) {\n return isDev && !isProd\n } else {\n if (seen[req.path]) return true\n seen[req.path] = true\n return isOnlyDev(req, seen)\n }\n }\n}\n\nfunction isOptional (node, seen) {\n if (!seen) seen = {}\n // If a node is not required by anything, then we've reached\n // the top level package.\n if (seen[node.path] || node.requiredBy.length === 0) {\n return false\n }\n seen[node.path] = true\n\n return node.requiredBy.every(function (req) {\n return isOptDep(req, node.package.name) || isOptional(req, seen)\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "565", "url": "/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js", "source": "(function (exports, require, module, __filename, __dirname) { exports = module.exports = lifecycle\nexports.cmd = cmd\nexports.makeEnv = makeEnv\nexports._incorrectWorkingDirectory = _incorrectWorkingDirectory\n\nvar log = require('npmlog')\nvar spawn = require('./spawn')\nvar npm = require('../npm.js')\nvar path = require('path')\nvar fs = require('graceful-fs')\nvar chain = require('slide').chain\nvar Stream = require('stream').Stream\nvar PATH = 'PATH'\nvar uidNumber = require('uid-number')\nvar umask = require('./umask')\nvar usage = require('./usage')\nvar output = require('./output.js')\nvar which = require('which')\n\n// windows calls it's path 'Path' usually, but this is not guaranteed.\nif (process.platform === 'win32') {\n PATH = 'Path'\n Object.keys(process.env).forEach(function (e) {\n if (e.match(/^PATH$/i)) {\n PATH = e\n }\n })\n}\n\nfunction logid (pkg, stage) {\n return pkg._id + '~' + stage + ':'\n}\n\nfunction lifecycle (pkg, stage, wd, unsafe, failOk, cb) {\n if (typeof cb !== 'function') {\n cb = failOk\n failOk = false\n }\n if (typeof cb !== 'function') {\n cb = unsafe\n unsafe = false\n }\n if (typeof cb !== 'function') {\n cb = wd\n wd = null\n }\n\n while (pkg && pkg._data) pkg = pkg._data\n if (!pkg) return cb(new Error('Invalid package data'))\n\n log.info('lifecycle', logid(pkg, stage), pkg._id)\n if (!pkg.scripts) pkg.scripts = {}\n\n if (npm.config.get('ignore-scripts')) {\n log.info('lifecycle', logid(pkg, stage), 'ignored because ignore-scripts is set to true', pkg._id)\n pkg.scripts = {}\n }\n if (stage === 'prepublish' && npm.config.get('ignore-prepublish')) {\n log.info('lifecycle', logid(pkg, stage), 'ignored because ignore-prepublish is set to true', pkg._id)\n delete pkg.scripts.prepublish\n }\n\n validWd(wd || path.resolve(npm.dir, pkg.name), function (er, wd) {\n if (er) return cb(er)\n\n unsafe = unsafe || npm.config.get('unsafe-perm')\n\n if ((wd.indexOf(npm.dir) !== 0 || _incorrectWorkingDirectory(wd, pkg)) &&\n !unsafe && pkg.scripts[stage]) {\n log.warn('lifecycle', logid(pkg, stage), 'cannot run in wd',\n '%s %s (wd=%s)', pkg._id, pkg.scripts[stage], wd\n )\n return cb()\n }\n\n // set the env variables, then run scripts as a child process.\n var env = makeEnv(pkg)\n env.npm_lifecycle_event = stage\n env.npm_node_execpath = env.NODE = env.NODE || process.execPath\n env.npm_execpath = require.main.filename\n\n // 'nobody' typically doesn't have permission to write to /tmp\n // even if it's never used, sh freaks out.\n if (!npm.config.get('unsafe-perm')) env.TMPDIR = wd\n\n lifecycle_(pkg, stage, wd, env, unsafe, failOk, cb)\n })\n}\n\nfunction _incorrectWorkingDirectory (wd, pkg) {\n return wd.lastIndexOf(pkg.name) !== wd.length - pkg.name.length\n}\n\nfunction lifecycle_ (pkg, stage, wd, env, unsafe, failOk, cb) {\n var pathArr = []\n var p = wd.split(/[\\\\\\/]node_modules[\\\\\\/]/)\n var acc = path.resolve(p.shift())\n\n p.forEach(function (pp) {\n pathArr.unshift(path.join(acc, 'node_modules', '.bin'))\n acc = path.join(acc, 'node_modules', pp)\n })\n pathArr.unshift(path.join(acc, 'node_modules', '.bin'))\n\n // we also unshift the bundled node-gyp-bin folder so that\n // the bundled one will be used for installing things.\n pathArr.unshift(path.join(__dirname, '..', '..', 'bin', 'node-gyp-bin'))\n\n if (shouldPrependCurrentNodeDirToPATH()) {\n // prefer current node interpreter in child scripts\n pathArr.push(path.dirname(process.execPath))\n }\n\n if (env[PATH]) pathArr.push(env[PATH])\n env[PATH] = pathArr.join(process.platform === 'win32' ? ';' : ':')\n\n var packageLifecycle = pkg.scripts && pkg.scripts.hasOwnProperty(stage)\n\n if (packageLifecycle) {\n // define this here so it's available to all scripts.\n env.npm_lifecycle_script = pkg.scripts[stage]\n } else {\n log.silly('lifecycle', logid(pkg, stage), 'no script for ' + stage + ', continuing')\n }\n\n function done (er) {\n if (er) {\n if (npm.config.get('force')) {\n log.info('lifecycle', logid(pkg, stage), 'forced, continuing', er)\n er = null\n } else if (failOk) {\n log.warn('lifecycle', logid(pkg, stage), 'continuing anyway', er.message)\n er = null\n }\n }\n cb(er)\n }\n\n chain(\n [\n packageLifecycle && [runPackageLifecycle, pkg, env, wd, unsafe],\n [runHookLifecycle, pkg, env, wd, unsafe]\n ],\n done\n )\n}\n\nfunction shouldPrependCurrentNodeDirToPATH () {\n var cfgsetting = npm.config.get('scripts-prepend-node-path')\n if (cfgsetting === false) return false\n if (cfgsetting === true) return true\n\n var isDifferentNodeInPath\n\n var isWindows = process.platform === 'win32'\n var foundExecPath\n try {\n foundExecPath = which.sync(path.basename(process.execPath), {pathExt: isWindows ? ';' : ':'})\n // Apply `fs.realpath()` here to avoid false positives when `node` is a symlinked executable.\n isDifferentNodeInPath = fs.realpathSync(process.execPath).toUpperCase() !==\n fs.realpathSync(foundExecPath).toUpperCase()\n } catch (e) {\n isDifferentNodeInPath = true\n }\n\n if (cfgsetting === 'warn-only') {\n if (isDifferentNodeInPath && !shouldPrependCurrentNodeDirToPATH.hasWarned) {\n if (foundExecPath) {\n log.warn('lifecycle', 'The node binary used for scripts is', foundExecPath, 'but npm is using', process.execPath, 'itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.')\n } else {\n log.warn('lifecycle', 'npm is using', process.execPath, 'but there is no node binary in the current PATH. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.')\n }\n shouldPrependCurrentNodeDirToPATH.hasWarned = true\n }\n\n return false\n }\n\n return isDifferentNodeInPath\n}\n\nfunction validWd (d, cb) {\n fs.stat(d, function (er, st) {\n if (er || !st.isDirectory()) {\n var p = path.dirname(d)\n if (p === d) {\n return cb(new Error('Could not find suitable wd'))\n }\n return validWd(p, cb)\n }\n return cb(null, d)\n })\n}\n\nfunction runPackageLifecycle (pkg, env, wd, unsafe, cb) {\n // run package lifecycle scripts in the package root, or the nearest parent.\n var stage = env.npm_lifecycle_event\n var cmd = env.npm_lifecycle_script\n\n var note = '\\n> ' + pkg._id + ' ' + stage + ' ' + wd +\n '\\n> ' + cmd + '\\n'\n runCmd(note, cmd, pkg, env, stage, wd, unsafe, cb)\n}\n\nvar running = false\nvar queue = []\nfunction dequeue () {\n running = false\n if (queue.length) {\n var r = queue.shift()\n runCmd.apply(null, r)\n }\n}\n\nfunction runCmd (note, cmd, pkg, env, stage, wd, unsafe, cb) {\n if (running) {\n queue.push([note, cmd, pkg, env, stage, wd, unsafe, cb])\n return\n }\n\n running = true\n log.pause()\n var user = unsafe ? null : npm.config.get('user')\n var group = unsafe ? null : npm.config.get('group')\n\n if (log.level !== 'silent') {\n output(note)\n }\n log.verbose('lifecycle', logid(pkg, stage), 'unsafe-perm in lifecycle', unsafe)\n\n if (process.platform === 'win32') {\n unsafe = true\n }\n\n if (unsafe) {\n runCmd_(cmd, pkg, env, wd, stage, unsafe, 0, 0, cb)\n } else {\n uidNumber(user, group, function (er, uid, gid) {\n runCmd_(cmd, pkg, env, wd, stage, unsafe, uid, gid, cb)\n })\n }\n}\n\nfunction runCmd_ (cmd, pkg, env, wd, stage, unsafe, uid, gid, cb_) {\n function cb (er) {\n cb_.apply(null, arguments)\n log.resume()\n process.nextTick(dequeue)\n }\n\n var conf = {\n cwd: wd,\n env: env,\n stdio: [ 0, 1, 2 ]\n }\n\n if (!unsafe) {\n conf.uid = uid ^ 0\n conf.gid = gid ^ 0\n }\n\n var sh = 'sh'\n var shFlag = '-c'\n\n if (process.platform === 'win32') {\n sh = process.env.comspec || 'cmd'\n shFlag = '/d /s /c'\n conf.windowsVerbatimArguments = true\n }\n\n log.verbose('lifecycle', logid(pkg, stage), 'PATH:', env[PATH])\n log.verbose('lifecycle', logid(pkg, stage), 'CWD:', wd)\n log.silly('lifecycle', logid(pkg, stage), 'Args:', [shFlag, cmd])\n\n var proc = spawn(sh, [shFlag, cmd], conf)\n\n proc.on('error', procError)\n proc.on('close', function (code, signal) {\n log.silly('lifecycle', logid(pkg, stage), 'Returned: code:', code, ' signal:', signal)\n if (signal) {\n process.kill(process.pid, signal)\n } else if (code) {\n var er = new Error('Exit status ' + code)\n er.errno = code\n }\n procError(er)\n })\n process.once('SIGTERM', procKill)\n process.once('SIGINT', procInterupt)\n\n function procError (er) {\n if (er) {\n log.info('lifecycle', logid(pkg, stage), 'Failed to exec ' + stage + ' script')\n er.message = pkg._id + ' ' + stage + ': `' + cmd + '`\\n' +\n er.message\n if (er.code !== 'EPERM') {\n er.code = 'ELIFECYCLE'\n }\n fs.stat(npm.dir, function (statError, d) {\n if (statError && statError.code === 'ENOENT' && npm.dir.split(path.sep).slice(-1)[0] === 'node_modules') {\n log.warn('', 'Local package.json exists, but node_modules missing, did you mean to install?')\n }\n })\n er.pkgid = pkg._id\n er.stage = stage\n er.script = cmd\n er.pkgname = pkg.name\n }\n process.removeListener('SIGTERM', procKill)\n process.removeListener('SIGTERM', procInterupt)\n process.removeListener('SIGINT', procKill)\n return cb(er)\n }\n function procKill () {\n proc.kill()\n }\n function procInterupt () {\n proc.kill('SIGINT')\n proc.on('exit', function () {\n process.exit()\n })\n process.once('SIGINT', procKill)\n }\n}\n\nfunction runHookLifecycle (pkg, env, wd, unsafe, cb) {\n // check for a hook script, run if present.\n var stage = env.npm_lifecycle_event\n var hook = path.join(npm.dir, '.hooks', stage)\n var cmd = hook\n\n fs.stat(hook, function (er) {\n if (er) return cb()\n var note = '\\n> ' + pkg._id + ' ' + stage + ' ' + wd +\n '\\n> ' + cmd\n runCmd(note, hook, pkg, env, stage, wd, unsafe, cb)\n })\n}\n\nfunction makeEnv (data, prefix, env) {\n prefix = prefix || 'npm_package_'\n if (!env) {\n env = {}\n for (var i in process.env) {\n if (!i.match(/^npm_/)) {\n env[i] = process.env[i]\n }\n }\n\n // express and others respect the NODE_ENV value.\n if (npm.config.get('production')) env.NODE_ENV = 'production'\n } else if (!data.hasOwnProperty('_lifecycleEnv')) {\n Object.defineProperty(data, '_lifecycleEnv',\n {\n value: env,\n enumerable: false\n }\n )\n }\n\n for (i in data) {\n if (i.charAt(0) !== '_') {\n var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')\n if (i === 'readme') {\n continue\n }\n if (data[i] && typeof data[i] === 'object') {\n try {\n // quick and dirty detection for cyclical structures\n JSON.stringify(data[i])\n makeEnv(data[i], envKey + '_', env)\n } catch (ex) {\n // usually these are package objects.\n // just get the path and basic details.\n var d = data[i]\n makeEnv(\n { name: d.name, version: d.version, path: d.path },\n envKey + '_',\n env\n )\n }\n } else {\n env[envKey] = String(data[i])\n env[envKey] = env[envKey].indexOf('\\n') !== -1\n ? JSON.stringify(env[envKey])\n : env[envKey]\n }\n }\n }\n\n if (prefix !== 'npm_package_') return env\n\n prefix = 'npm_config_'\n var pkgConfig = {}\n var keys = npm.config.keys\n var pkgVerConfig = {}\n var namePref = data.name + ':'\n var verPref = data.name + '@' + data.version + ':'\n\n keys.forEach(function (i) {\n // in some rare cases (e.g. working with nerf darts), there are segmented\n // \"private\" (underscore-prefixed) config names -- don't export\n if (i.charAt(0) === '_' && i.indexOf('_' + namePref) !== 0 || i.match(/:_/)) {\n return\n }\n var value = npm.config.get(i)\n if (value instanceof Stream || Array.isArray(value)) return\n if (i.match(/umask/)) value = umask.toString(value)\n if (!value) value = ''\n else if (typeof value === 'number') value = '' + value\n else if (typeof value !== 'string') value = JSON.stringify(value)\n\n value = value.indexOf('\\n') !== -1\n ? JSON.stringify(value)\n : value\n i = i.replace(/^_+/, '')\n var k\n if (i.indexOf(namePref) === 0) {\n k = i.substr(namePref.length).replace(/[^a-zA-Z0-9_]/g, '_')\n pkgConfig[k] = value\n } else if (i.indexOf(verPref) === 0) {\n k = i.substr(verPref.length).replace(/[^a-zA-Z0-9_]/g, '_')\n pkgVerConfig[k] = value\n }\n var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')\n env[envKey] = value\n })\n\n prefix = 'npm_package_config_'\n ;[pkgConfig, pkgVerConfig].forEach(function (conf) {\n for (var i in conf) {\n var envKey = (prefix + i)\n env[envKey] = conf[i]\n }\n })\n\n return env\n}\n\nfunction cmd (stage) {\n function CMD (args, cb) {\n npm.commands['run-script']([stage].concat(args), cb)\n }\n CMD.usage = usage(stage, 'npm ' + stage + ' [-- ]')\n var installedShallow = require('./completion/installed-shallow.js')\n CMD.completion = function (opts, cb) {\n installedShallow(opts, function (d) {\n return d.scripts && d.scripts[stage]\n }, cb)\n }\n return CMD\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "566", "url": "/usr/local/lib/node_modules/npm/lib/utils/spawn.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = spawn\n\nvar _spawn = require('child_process').spawn\nvar EventEmitter = require('events').EventEmitter\nvar npwr = require('./no-progress-while-running.js')\n\nfunction willCmdOutput (stdio) {\n if (stdio === 'inherit') return true\n if (!Array.isArray(stdio)) return false\n for (var fh = 1; fh <= 2; ++fh) {\n if (stdio[fh] === 'inherit') return true\n if (stdio[fh] === 1 || stdio[fh] === 2) return true\n }\n return false\n}\n\nfunction spawn (cmd, args, options) {\n var cmdWillOutput = willCmdOutput(options && options.stdio)\n\n if (cmdWillOutput) npwr.startRunning()\n var raw = _spawn(cmd, args, options)\n var cooked = new EventEmitter()\n\n raw.on('error', function (er) {\n if (cmdWillOutput) npwr.stopRunning()\n er.file = cmd\n cooked.emit('error', er)\n }).on('close', function (code, signal) {\n if (cmdWillOutput) npwr.stopRunning()\n // Create ENOENT error because Node.js v0.8 will not emit\n // an `error` event if the command could not be found.\n if (code === 127) {\n var er = new Error('spawn ENOENT')\n er.code = 'ENOENT'\n er.errno = 'ENOENT'\n er.syscall = 'spawn'\n er.file = cmd\n cooked.emit('error', er)\n } else {\n cooked.emit('close', code, signal)\n }\n })\n\n cooked.stdin = raw.stdin\n cooked.stdout = raw.stdout\n cooked.stderr = raw.stderr\n cooked.kill = function (sig) { return raw.kill(sig) }\n\n return cooked\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "568", "url": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently/move.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nmodule.exports = move\n\nvar nodeFs = require('fs')\nvar rimraf = require('rimraf')\nvar validate = require('aproba')\nvar copy = require('copy-concurrently')\nvar RunQueue = require('run-queue')\nvar extend = Object.assign || require('util')._extend\n\nfunction promisify (Promise, fn) {\n return function () {\n var args = [].slice.call(arguments)\n return new Promise(function (resolve, reject) {\n return fn.apply(null, args.concat(function (err, value) {\n if (err) {\n reject(err)\n } else {\n resolve(value)\n }\n }))\n })\n }\n}\n\nfunction move (from, to, opts) {\n validate('SSO|SS', arguments)\n opts = extend({}, opts || {})\n\n var Promise = opts.Promise || global.Promise\n var fs = opts.fs || nodeFs\n var rimrafAsync = promisify(Promise, rimraf)\n var renameAsync = promisify(Promise, fs.rename)\n\n opts.top = from\n\n var queue = new RunQueue({\n maxConcurrency: opts.maxConcurrency,\n Promise: Promise\n })\n opts.queue = queue\n opts.recurseWith = rename\n\n queue.add(0, rename, [from, to, opts])\n\n return queue.run().then(function () {\n return remove(from)\n }, function (err) {\n // if the target already exists don't clobber it\n if (err.code === 'EEXIST' || err.code === 'EPERM') {\n return passThroughError()\n } else {\n return remove(to).then(passThroughError, passThroughError)\n }\n function passThroughError () {\n return Promise.reject(err)\n }\n })\n\n function remove (target) {\n var opts = {\n unlink: fs.unlink,\n chmod: fs.chmod,\n stat: fs.stat,\n lstat: fs.lstat,\n rmdir: fs.rmdir,\n readdir: fs.readdir,\n glob: false\n }\n return rimrafAsync(target, opts)\n }\n\n function rename (from, to, opts, done) {\n return renameAsync(from, to).catch(function (err) {\n if (err.code !== 'EXDEV') {\n return Promise.reject(err)\n } else {\n return remove(to).then(function () {\n return copy.item(from, to, opts)\n })\n }\n })\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently" }, { "id": "569", "url": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently/node_modules/copy-concurrently/copy.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nmodule.exports = copy\nmodule.exports.item = copyItem\nmodule.exports.recurse = recurseDir\nmodule.exports.symlink = copySymlink\nmodule.exports.file = copyFile\n\nvar nodeFs = require('fs')\nvar path = require('path')\nvar validate = require('aproba')\nvar stockWriteStreamAtomic = require('fs-write-stream-atomic')\nvar mkdirp = require('mkdirp')\nvar rimraf = require('rimraf')\nvar isWindows = require('./is-windows')\nvar RunQueue = require('run-queue')\nvar extend = Object.assign || require('util')._extend\n\nfunction promisify (Promise, fn) {\n return function () {\n var args = [].slice.call(arguments)\n return new Promise(function (resolve, reject) {\n return fn.apply(null, args.concat(function (err, value) {\n if (err) {\n reject(err)\n } else {\n resolve(value)\n }\n }))\n })\n }\n}\n\nfunction copy (from, to, opts) {\n validate('SSO|SS', arguments)\n opts = extend({}, opts || {})\n\n var Promise = opts.Promise || global.Promise\n var fs = opts.fs || nodeFs\n\n if (opts.isWindows == null) opts.isWindows = isWindows\n if (!opts.Promise) opts.Promise = Promise\n if (!opts.fs) opts.fs = fs\n if (!opts.recurseWith) opts.recurseWith = copyItem\n if (!opts.lstat) opts.lstat = promisify(opts.Promise, fs.lstat)\n if (!opts.stat) opts.stat = promisify(opts.Promise, fs.stat)\n if (!opts.chown) opts.chown = promisify(opts.Promise, fs.chown)\n if (!opts.readdir) opts.readdir = promisify(opts.Promise, fs.readdir)\n if (!opts.readlink) opts.readlink = promisify(opts.Promise, fs.readlink)\n if (!opts.symlink) opts.symlink = promisify(opts.Promise, fs.symlink)\n if (!opts.chmod) opts.chmod = promisify(opts.Promise, fs.chmod)\n\n opts.top = from\n opts.mkdirpAsync = promisify(opts.Promise, mkdirp)\n var rimrafAsync = promisify(opts.Promise, rimraf)\n\n var queue = new RunQueue({\n maxConcurrency: opts.maxConcurrency,\n Promise: Promise\n })\n opts.queue = queue\n\n queue.add(0, copyItem, [from, to, opts])\n\n return queue.run().catch(function (err) {\n // if the target already exists don't clobber it\n if (err.code === 'EEXIST' || err.code === 'EPERM') {\n return passThroughError()\n } else {\n return remove(to).then(passThroughError, passThroughError)\n }\n function passThroughError () {\n return Promise.reject(err)\n }\n })\n\n function remove (target) {\n var opts = {\n unlink: fs.unlink,\n chmod: fs.chmod,\n stat: fs.stat,\n lstat: fs.lstat,\n rmdir: fs.rmdir,\n readdir: fs.readdir,\n glob: false\n }\n return rimrafAsync(target, opts)\n }\n}\n\nfunction copyItem (from, to, opts) {\n validate('SSO', [from, to, opts])\n var fs = opts.fs || nodeFs\n var Promise = opts.Promise || global.Promise\n var lstat = opts.lstat || promisify(Promise, fs.lstat)\n\n return lstat(to).then(function () {\n return Promise.reject(eexists(from, to))\n }, function (err) {\n if (err && err.code !== 'ENOENT') return Promise.reject(err)\n return lstat(from)\n }).then(function (fromStat) {\n var cmdOpts = extend(extend({}, opts), fromStat)\n if (fromStat.isDirectory()) {\n return recurseDir(from, to, cmdOpts)\n } else if (fromStat.isSymbolicLink()) {\n opts.queue.add(1, copySymlink, [from, to, cmdOpts])\n } else if (fromStat.isFile()) {\n return copyFile(from, to, cmdOpts)\n } else if (fromStat.isBlockDevice()) {\n return Promise.reject(eunsupported(from + \" is a block device, and we don't know how to copy those.\"))\n } else if (fromStat.isCharacterDevice()) {\n return Promise.reject(eunsupported(from + \" is a character device, and we don't know how to copy those.\"))\n } else if (fromStat.isFIFO()) {\n return Promise.reject(eunsupported(from + \" is a FIFO, and we don't know how to copy those.\"))\n } else if (fromStat.isSocket()) {\n return Promise.reject(eunsupported(from + \" is a socket, and we don't know how to copy those.\"))\n } else {\n return Promise.reject(eunsupported(\"We can't tell what \" + from + \" is and so we can't copy it.\"))\n }\n })\n}\n\nfunction recurseDir (from, to, opts) {\n validate('SSO', [from, to, opts])\n var recurseWith = opts.recurseWith || copyItem\n var fs = opts.fs || nodeFs\n var chown = opts.chown || promisify(Promise, fs.chown)\n var readdir = opts.readdir || promisify(Promise, fs.readdir)\n\n return opts.mkdirpAsync(to, {fs: fs, mode: opts.mode}).then(function () {\n var getuid = opts.getuid || process.getuid\n if (getuid && opts.uid != null && getuid() === 0) {\n return chown(to, opts.uid, opts.gid)\n }\n }).then(function () {\n return readdir(from)\n }).then(function (files) {\n files.forEach(function (file) {\n opts.queue.add(0, recurseWith, [path.join(from, file), path.join(to, file), opts])\n })\n })\n}\n\nfunction copySymlink (from, to, opts) {\n validate('SSO', [from, to, opts])\n var fs = opts.fs || nodeFs\n var readlink = opts.readlink || promisify(Promise, fs.readlink)\n var stat = opts.stat || promisify(Promise, fs.symlink)\n var symlink = opts.symlink || promisify(Promise, fs.symlink)\n var Promise = opts.Promise || global.Promise\n\n return readlink(from).then(function (fromDest) {\n var absoluteDest = path.resolve(path.dirname(from), fromDest)\n // Treat absolute paths that are inside the tree we're\n // copying as relative. This necessary to properly support junctions\n // on windows (which are always absolute) but is also DWIM with symlinks.\n var relativeDest = path.relative(opts.top, absoluteDest)\n var linkFrom = relativeDest.substr(0, 2) === '..' ? fromDest : path.relative(path.dirname(from), absoluteDest)\n if (opts.isWindows) {\n return stat(absoluteDest).catch(function () { return null }).then(function (destStat) {\n var isDir = destStat && destStat.isDirectory()\n var type = isDir ? 'dir' : 'file'\n return symlink(linkFrom, to, type).catch(function (err) {\n if (type === 'dir') {\n return symlink(linkFrom, to, 'junction')\n } else {\n return Promise.reject(err)\n }\n })\n })\n } else {\n return symlink(linkFrom, to)\n }\n })\n}\n\nfunction copyFile (from, to, opts) {\n validate('SSO', [from, to, opts])\n var fs = opts.fs || nodeFs\n var writeStreamAtomic = opts.writeStreamAtomic || stockWriteStreamAtomic\n var Promise = opts.Promise || global.Promise\n var chmod = opts.chmod || promisify(Promise, fs.chmod)\n\n var writeOpts = {}\n var getuid = opts.getuid || process.getuid\n if (getuid && opts.uid != null && getuid() === 0) {\n writeOpts.chown = {\n uid: opts.uid,\n gid: opts.gid\n }\n }\n\n return new Promise(function (resolve, reject) {\n var errored = false\n function onError (err) {\n errored = true\n reject(err)\n }\n fs.createReadStream(from)\n .once('error', onError)\n .pipe(writeStreamAtomic(to, writeOpts))\n .once('error', onError)\n .once('close', function () {\n if (errored) return\n if (opts.mode != null) {\n resolve(chmod(to, opts.mode))\n } else {\n resolve()\n }\n })\n })\n}\n\nfunction eexists (from, to) {\n var err = new Error('Could not move ' + from + ' to ' + to + ': destination already exists.')\n err.code = 'EEXIST'\n return err\n}\n\nfunction eunsupported (msg) {\n var err = new Error(msg)\n err.code = 'EUNSUPPORTED'\n return err\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently/node_modules/copy-concurrently" }, { "id": "570", "url": "/usr/local/lib/node_modules/npm/node_modules/fs-write-stream-atomic/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require('graceful-fs')\nvar Writable = require('readable-stream').Writable\nvar util = require('util')\nvar MurmurHash3 = require('imurmurhash')\nvar iferr = require('iferr')\nvar crypto = require('crypto')\n\nfunction murmurhex () {\n var hash = MurmurHash3('')\n for (var ii = 0; ii < arguments.length; ++ii) {\n hash.hash('' + arguments[ii])\n }\n return hash.result()\n}\n\nvar invocations = 0\nfunction getTmpname (filename) {\n return filename + '.' + murmurhex(__filename, process.pid, ++invocations)\n}\n\nvar setImmediate = global.setImmediate || setTimeout\n\nmodule.exports = WriteStreamAtomic\n\n// Requirements:\n// 1. Write everything written to the stream to a temp file.\n// 2. If there are no errors:\n// a. moves the temp file into its final destination\n// b. emits `finish` & `closed` ONLY after the file is\n// fully flushed and renamed.\n// 3. If there's an error, removes the temp file.\n\nutil.inherits(WriteStreamAtomic, Writable)\nfunction WriteStreamAtomic (path, options) {\n if (!(this instanceof WriteStreamAtomic)) {\n return new WriteStreamAtomic(path, options)\n }\n Writable.call(this, options)\n\n this.__isWin = options && options.hasOwnProperty('isWin') ? options.isWin : process.platform === 'win32'\n\n this.__atomicTarget = path\n this.__atomicTmp = getTmpname(path)\n\n this.__atomicChown = options && options.chown\n\n this.__atomicClosed = false\n\n this.__atomicStream = fs.WriteStream(this.__atomicTmp, options)\n\n this.__atomicStream.once('open', handleOpen(this))\n this.__atomicStream.once('close', handleClose(this))\n this.__atomicStream.once('error', handleError(this))\n}\n\n// We have to suppress default finish emitting, because ordinarily it\n// would happen as soon as `end` is called on us and all of the\n// data has been written to our target stream. So we suppress\n// finish from being emitted here, and only emit it after our\n// target stream is closed and we've moved everything around.\nWriteStreamAtomic.prototype.emit = function (event) {\n if (event === 'finish') return this.__atomicStream.end()\n return Writable.prototype.emit.apply(this, arguments)\n}\n\nWriteStreamAtomic.prototype._write = function (buffer, encoding, cb) {\n var flushed = this.__atomicStream.write(buffer, encoding)\n if (flushed) return cb()\n this.__atomicStream.once('drain', cb)\n}\n\nfunction handleOpen (writeStream) {\n return function (fd) {\n writeStream.emit('open', fd)\n }\n}\n\nfunction handleClose (writeStream) {\n return function () {\n if (writeStream.__atomicClosed) return\n writeStream.__atomicClosed = true\n if (writeStream.__atomicChown) {\n var uid = writeStream.__atomicChown.uid\n var gid = writeStream.__atomicChown.gid\n return fs.chown(writeStream.__atomicTmp, uid, gid, iferr(cleanup, moveIntoPlace))\n } else {\n moveIntoPlace()\n }\n }\n\n function moveIntoPlace () {\n fs.rename(writeStream.__atomicTmp, writeStream.__atomicTarget, iferr(trapWindowsEPERM, end))\n }\n\n function trapWindowsEPERM (err) {\n if (writeStream.__isWin &&\n err.syscall && err.syscall === 'rename' &&\n err.code && err.code === 'EPERM'\n ) {\n checkFileHashes(err)\n } else {\n cleanup(err)\n }\n }\n\n function checkFileHashes (eperm) {\n var inprocess = 2\n var tmpFileHash = crypto.createHash('sha512')\n var targetFileHash = crypto.createHash('sha512')\n\n fs.createReadStream(writeStream.__atomicTmp)\n .on('data', function (data, enc) { tmpFileHash.update(data, enc) })\n .on('error', fileHashError)\n .on('end', fileHashComplete)\n fs.createReadStream(writeStream.__atomicTarget)\n .on('data', function (data, enc) { targetFileHash.update(data, enc) })\n .on('error', fileHashError)\n .on('end', fileHashComplete)\n\n function fileHashError () {\n if (inprocess === 0) return\n inprocess = 0\n cleanup(eperm)\n }\n\n function fileHashComplete () {\n if (inprocess === 0) return\n if (--inprocess) return\n if (tmpFileHash.digest('hex') === targetFileHash.digest('hex')) {\n return cleanup()\n } else {\n return cleanup(eperm)\n }\n }\n }\n\n function cleanup (err) {\n fs.unlink(writeStream.__atomicTmp, function () {\n if (err) {\n writeStream.emit('error', err)\n writeStream.emit('close')\n } else {\n end()\n }\n })\n }\n\n function end () {\n // We have to use our parent class directly because we suppress `finish`\n // events fired via our own emit method.\n Writable.prototype.emit.call(writeStream, 'finish')\n\n // Delay the close to provide the same temporal separation a physical\n // file operation would have– that is, the close event is emitted only\n // after the async close operation completes.\n setImmediate(function () {\n writeStream.emit('close')\n })\n }\n}\n\nfunction handleError (writeStream) {\n return function (er) {\n cleanupSync()\n writeStream.emit('error', er)\n writeStream.__atomicClosed = true\n writeStream.emit('close')\n }\n function cleanupSync () {\n try {\n fs.unlinkSync(writeStream.__atomicTmp)\n } finally {\n return\n }\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/fs-write-stream-atomic" }, { "id": "577", "url": "/usr/local/lib/node_modules/npm/lib/install/diff-trees.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar validate = require('aproba')\nvar npa = require('npm-package-arg')\nvar flattenTree = require('./flatten-tree.js')\n\nfunction nonRegistrySource (pkg) {\n validate('O', arguments)\n var requested = pkg._requested || (pkg._from && npa(pkg._from))\n if (!requested) return false\n\n if (requested.type === 'hosted') return true\n if (requested.type === 'file' || requested.type === 'directory') return true\n return false\n}\n\nfunction pkgAreEquiv (aa, bb) {\n var aaSha = (aa.dist && aa.dist.integrity) || aa._integrity\n var bbSha = (bb.dist && bb.dist.integrity) || bb._integrity\n if (aaSha === bbSha) return true\n if (aaSha || bbSha) return false\n if (nonRegistrySource(aa) || nonRegistrySource(bb)) return false\n if (aa.version === bb.version) return true\n return false\n}\n\nfunction getUniqueId (pkg) {\n var versionspec = pkg._integrity\n\n if (!versionspec && nonRegistrySource(pkg)) {\n if (pkg._requested) {\n versionspec = pkg._requested.fetchSpec\n } else if (pkg._from) {\n versionspec = npa(pkg._from).fetchSpec\n }\n }\n if (!versionspec) {\n versionspec = pkg.version\n }\n return pkg.name + '@' + versionspec\n}\n\nfunction pushAll (aa, bb) {\n Array.prototype.push.apply(aa, bb)\n}\n\nmodule.exports = function (oldTree, newTree, differences, log, next) {\n validate('OOAOF', arguments)\n pushAll(differences, sortActions(diffTrees(oldTree, newTree)))\n log.finish()\n next()\n}\n\nfunction isNotTopOrExtraneous (node) {\n return !node.isTop && !node.userRequired && !node.existing\n}\n\nvar sortActions = module.exports.sortActions = function (differences) {\n var actions = {}\n differences.forEach(function (action) {\n var child = action[1]\n actions[child.location] = action\n })\n\n var sorted = []\n var added = {}\n\n var sortedlocs = Object.keys(actions).sort(sortByLocation)\n\n // We're going to sort the actions taken on top level dependencies first, before\n // considering the order of transitive deps. Because we're building our list\n // from the bottom up, this means we will return a list with top level deps LAST.\n // This is important in terms of keeping installations as consistent as possible\n // as folks add new dependencies.\n var toplocs = sortedlocs.filter(function (location) {\n var mod = actions[location][1]\n if (!mod.requiredBy) return true\n // If this module is required by any non-top level module\n // or by any extraneous module, eg user requested or existing\n // then we don't want to give this priority sorting.\n return !mod.requiredBy.some(isNotTopOrExtraneous)\n })\n\n toplocs.concat(sortedlocs).forEach(function (location) {\n sortByDeps(actions[location])\n })\n\n function sortByLocation (aa, bb) {\n return bb.localeCompare(aa)\n }\n function sortModuleByLocation (aa, bb) {\n return sortByLocation(aa && aa.location, bb && bb.location)\n }\n function sortByDeps (action) {\n var mod = action[1]\n if (added[mod.location]) return\n added[mod.location] = action\n if (!mod.requiredBy) mod.requiredBy = []\n mod.requiredBy.sort(sortModuleByLocation).forEach(function (mod) {\n if (actions[mod.location]) sortByDeps(actions[mod.location])\n })\n sorted.unshift(action)\n }\n\n return sorted\n}\n\nfunction setAction (differences, action, pkg) {\n differences.push([action, pkg])\n}\n\nvar diffTrees = module.exports._diffTrees = function (oldTree, newTree) {\n validate('OO', arguments)\n var differences = []\n var flatOldTree = flattenTree(oldTree)\n var flatNewTree = flattenTree(newTree)\n var toRemove = {}\n var toRemoveByUniqueId = {}\n // find differences\n Object.keys(flatOldTree).forEach(function (flatname) {\n if (flatNewTree[flatname]) return\n var pkg = flatOldTree[flatname]\n toRemove[flatname] = pkg\n var pkgunique = getUniqueId(pkg.package)\n if (!toRemoveByUniqueId[pkgunique]) toRemoveByUniqueId[pkgunique] = []\n toRemoveByUniqueId[pkgunique].push(flatname)\n })\n Object.keys(flatNewTree).forEach(function (path) {\n var pkg = flatNewTree[path]\n pkg.oldPkg = flatOldTree[path]\n if (pkg.oldPkg) {\n if (!pkg.userRequired && pkgAreEquiv(pkg.oldPkg.package, pkg.package)) return\n setAction(differences, 'update', pkg)\n } else {\n var vername = getUniqueId(pkg.package)\n var removing = toRemoveByUniqueId[vername] && toRemoveByUniqueId[vername].length\n var bundlesOrFromBundle = pkg.fromBundle || pkg.package.bundleDependencies\n if (removing && !bundlesOrFromBundle) {\n var flatname = toRemoveByUniqueId[vername].shift()\n pkg.fromPath = toRemove[flatname].path\n setAction(differences, 'move', pkg)\n delete toRemove[flatname]\n } else if (!(pkg.isInLink && pkg.fromBundle)) {\n setAction(differences, 'add', pkg)\n }\n }\n })\n Object\n .keys(toRemove)\n .map(function (path) { return toRemove[path] })\n .forEach(function (pkg) {\n setAction(differences, 'remove', pkg)\n })\n return differences\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "578", "url": "/usr/local/lib/node_modules/npm/lib/install/check-permissions.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar path = require('path')\nvar log = require('npmlog')\nvar validate = require('aproba')\nvar uniq = require('lodash.uniq')\nvar asyncMap = require('slide').asyncMap\nvar npm = require('../npm.js')\nvar exists = require('./exists.js')\nvar writable = require('./writable.js')\n\nmodule.exports = function (actions, next) {\n validate('AF', arguments)\n var errors = []\n asyncMap(actions, function (action, done) {\n var cmd = action[0]\n var pkg = action[1]\n switch (cmd) {\n case 'add':\n hasAnyWriteAccess(path.resolve(pkg.path, '..'), errors, done)\n break\n case 'update':\n case 'remove':\n hasWriteAccess(pkg.path, errors, andHasWriteAccess(path.resolve(pkg.path, '..'), errors, done))\n break\n case 'move':\n hasAnyWriteAccess(pkg.path, errors, andHasWriteAccess(path.resolve(pkg.fromPath, '..'), errors, done))\n break\n default:\n done()\n }\n }, function () {\n if (!errors.length) return next()\n uniq(errors.map(function (er) { return 'Missing write access to ' + er.path })).forEach(function (er) {\n log.warn('checkPermissions', er)\n })\n npm.config.get('force') ? next() : next(errors[0])\n })\n}\n\nfunction andHasWriteAccess (dir, errors, done) {\n validate('SAF', arguments)\n return function () {\n hasWriteAccess(dir, errors, done)\n }\n}\n\nfunction hasAnyWriteAccess (dir, errors, done) {\n validate('SAF', arguments)\n findNearestDir()\n function findNearestDir () {\n var nextDir = path.resolve(dir, '..')\n exists(dir, function (dirDoesntExist) {\n if (!dirDoesntExist || nextDir === dir) {\n return hasWriteAccess(dir, errors, done)\n } else {\n dir = nextDir\n findNearestDir()\n }\n })\n }\n}\n\nfunction hasWriteAccess (dir, errors, done) {\n validate('SAF', arguments)\n writable(dir, function (er) {\n if (er) errors.push(er)\n done()\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "579", "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.uniq/index.js", "source": "(function (exports, require, module, __filename, __dirname) { /**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n Set = getNative(root, 'Set'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each\n * element is kept.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length)\n ? baseUniq(array)\n : [];\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = uniq;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/lodash.uniq" }, { "id": "586", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-tree.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar path = require('path')\nvar validate = require('aproba')\nvar asyncMap = require('slide').asyncMap\nvar chain = require('slide').chain\nvar npmInstallChecks = require('npm-install-checks')\nvar checkGit = npmInstallChecks.checkGit\nvar clone = require('lodash.clonedeep')\nvar normalizePackageData = require('normalize-package-data')\nvar npm = require('../npm.js')\nvar andFinishTracker = require('./and-finish-tracker.js')\nvar flattenTree = require('./flatten-tree.js')\nvar validateAllPeerDeps = require('./deps.js').validateAllPeerDeps\nvar packageId = require('../utils/package-id.js')\n\nmodule.exports = function (idealTree, log, next) {\n validate('OOF', arguments)\n var moduleMap = flattenTree(idealTree)\n var modules = Object.keys(moduleMap).map(function (name) { return moduleMap[name] })\n\n chain([\n [asyncMap, modules, function (mod, done) {\n chain([\n mod.parent && !mod.isLink && [checkGit, mod.realpath],\n [checkErrors, mod, idealTree]\n ], done)\n }],\n [thenValidateAllPeerDeps, idealTree],\n [thenCheckTop, idealTree],\n [thenCheckDuplicateDeps, idealTree]\n ], andFinishTracker(log, next))\n}\n\nfunction checkErrors (mod, idealTree, next) {\n if (mod.error && (mod.parent || path.resolve(npm.globalDir, '..') !== mod.path)) idealTree.warnings.push(mod.error)\n next()\n}\n\nfunction thenValidateAllPeerDeps (idealTree, next) {\n validate('OF', arguments)\n validateAllPeerDeps(idealTree, function (tree, pkgname, version) {\n var warn = new Error(packageId(tree) + ' requires a peer of ' + pkgname + '@' +\n version + ' but none was installed.')\n warn.code = 'EPEERINVALID'\n idealTree.warnings.push(warn)\n })\n next()\n}\n\nfunction thenCheckTop (idealTree, next) {\n validate('OF', arguments)\n if (idealTree.package.error) return next()\n\n // FIXME: when we replace read-package-json with something less magic,\n // this should done elsewhere.\n // As it is, the package has already been normalized and thus some\n // errors are suppressed.\n var pkg = clone(idealTree.package)\n try {\n normalizePackageData(pkg, function (warn) {\n var warnObj = new Error(packageId(idealTree) + ' ' + warn)\n warnObj.code = 'EPACKAGEJSON'\n idealTree.warnings.push(warnObj)\n }, false)\n } catch (er) {\n er.code = 'EPACKAGEJSON'\n idealTree.warnings.push(er)\n }\n\n var nodeVersion = npm.config.get('node-version')\n if (/-/.test(nodeVersion)) {\n // if this is a prerelease node…\n var warnObj = new Error('You are using a pre-release version of node and things may not work as expected')\n warnObj.code = 'ENODEPRE'\n idealTree.warnings.push(warnObj)\n }\n\n next()\n}\n\n// check for deps duplciated between devdeps and regular deps\nfunction thenCheckDuplicateDeps (idealTree, next) {\n var deps = idealTree.package.dependencies || {}\n var devDeps = idealTree.package.devDependencies || {}\n\n for (var pkg in devDeps) {\n if (pkg in deps) {\n var warnObj = new Error('The package ' + pkg + ' is included as both a dev and production dependency.')\n warnObj.code = 'EDUPLICATEDEP'\n idealTree.warnings.push(warnObj)\n }\n }\n\n next()\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "588", "url": "/usr/local/lib/node_modules/npm/lib/install/actions.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst andAddParentToErrors = require('./and-add-parent-to-errors.js')\nconst failedDependency = require('./deps.js').failedDependency\nconst isInstallable = BB.promisify(require('./validate-args.js').isInstallable)\nconst moduleName = require('../utils/module-name.js')\nconst npm = require('../npm.js')\nconst reportOptionalFailure = require('./report-optional-failure.js')\nconst validate = require('aproba')\n\nconst actions = {}\n\nactions.fetch = require('./action/fetch.js')\nactions.extract = require('./action/extract.js')\nactions.build = require('./action/build.js')\nactions.preinstall = require('./action/preinstall.js')\nactions.install = require('./action/install.js')\nactions.postinstall = require('./action/postinstall.js')\nactions.prepare = require('./action/prepare.js')\nactions.finalize = require('./action/finalize.js')\nactions.remove = require('./action/remove.js')\nactions.move = require('./action/move.js')\nactions['global-install'] = require('./action/global-install.js')\nactions['global-link'] = require('./action/global-link.js')\nactions['refresh-package-json'] = require('./action/refresh-package-json.js')\n\n// FIXME: We wrap actions like three ways to sunday here.\n// Rewrite this to only work one way.\n\nObject.keys(actions).forEach(function (actionName) {\n var action = actions[actionName]\n actions[actionName] = (staging, pkg, log) => {\n validate('SOO', [staging, pkg, log])\n // refuse to run actions for failed packages\n if (pkg.failed) return BB.resolve()\n if (action.rollback) {\n if (!pkg.rollback) pkg.rollback = []\n pkg.rollback.unshift(action.rollback)\n }\n if (action.commit) {\n if (!pkg.commit) pkg.commit = []\n pkg.commit.push(action.commit)\n }\n\n let actionP\n if (pkg.knownInstallable) {\n actionP = runAction(action, staging, pkg, log)\n } else {\n actionP = isInstallable(pkg.package).then(() => {\n pkg.knownInstallable = true\n return runAction(action, staging, pkg, log)\n })\n }\n\n return actionP.then(() => {\n log.finish()\n }, (err) => {\n return BB.fromNode((cb) => {\n andAddParentToErrors(pkg.parent, cb)(err)\n }).catch((err) => {\n return handleOptionalDepErrors(pkg, err)\n })\n })\n }\n})\nexports.actions = actions\n\nfunction runAction (action, staging, pkg, log) {\n return BB.fromNode((cb) => {\n const result = action(staging, pkg, log, cb)\n if (result && result.then) {\n result.then(() => cb(), cb)\n }\n })\n}\n\nfunction markAsFailed (pkg) {\n pkg.failed = true\n pkg.requires.forEach((req) => {\n req.requiredBy = req.requiredBy.filter((reqReqBy) => {\n return reqReqBy !== pkg\n })\n if (req.requiredBy.length === 0 && !req.userRequired) {\n markAsFailed(req)\n }\n })\n}\n\nfunction handleOptionalDepErrors (pkg, err) {\n markAsFailed(pkg)\n var anyFatal = pkg.userRequired || pkg.isTop\n for (var ii = 0; ii < pkg.requiredBy.length; ++ii) {\n var parent = pkg.requiredBy[ii]\n var isFatal = failedDependency(parent, pkg)\n if (isFatal) anyFatal = true\n }\n if (anyFatal) {\n throw err\n } else {\n reportOptionalFailure(pkg, null, err)\n }\n}\n\nexports.doOne = doOne\nfunction doOne (cmd, staging, pkg, log, next) {\n validate('SSOOF', arguments)\n execAction(prepareAction([cmd, pkg], staging, log)).then(() => next(), next)\n}\n\nexports.doParallel = doParallel\nfunction doParallel (type, staging, actionsToRun, log, next) {\n validate('SSAOF', arguments)\n const acts = actionsToRun.reduce((acc, todo) => {\n if (todo[0] === type) {\n acc.push(prepareAction(todo, staging, log))\n }\n return acc\n }, [])\n log.silly('doParallel', type + ' ' + actionsToRun.length)\n time(log)\n BB.map(acts, execAction, {\n concurrency: npm.limit.action\n }).nodeify((err) => {\n log.finish()\n timeEnd(log)\n next(err)\n })\n}\n\nexports.doSerial = doSerial\nfunction doSerial (type, staging, actionsToRun, log, next) {\n validate('SSAOF', arguments)\n log.silly('doSerial', '%s %d', type, actionsToRun.length)\n runSerial(type, staging, actionsToRun, log, next)\n}\n\nexports.doReverseSerial = doReverseSerial\nfunction doReverseSerial (type, staging, actionsToRun, log, next) {\n validate('SSAOF', arguments)\n log.silly('doReverseSerial', '%s %d', type, actionsToRun.length)\n runSerial(type, staging, actionsToRun.reverse(), log, next)\n}\n\nfunction runSerial (type, staging, actionsToRun, log, next) {\n const acts = actionsToRun.reduce((acc, todo) => {\n if (todo[0] === type) {\n acc.push(prepareAction(todo, staging, log))\n }\n return acc\n }, [])\n time(log)\n BB.each(acts, execAction).nodeify((err) => {\n log.finish()\n timeEnd(log)\n next(err)\n })\n}\n\nfunction time (log) {\n process.emit('time', 'action:' + log.name)\n}\nfunction timeEnd (log) {\n process.emit('timeEnd', 'action:' + log.name)\n}\n\nfunction prepareAction (action, staging, log) {\n validate('ASO', arguments)\n validate('SO', action)\n var cmd = action[0]\n var pkg = action[1]\n if (!actions[cmd]) throw new Error('Unknown decomposed command \"' + cmd + '\" (is it new?)')\n return [actions[cmd], staging, pkg, log.newGroup(cmd + ':' + moduleName(pkg))]\n}\n\nfunction execAction (todo) {\n return todo[0].apply(null, todo.slice(1))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "592", "url": "/usr/local/lib/node_modules/npm/lib/install/action/extract.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst fs = BB.promisifyAll(require('graceful-fs'))\nconst gentlyRm = BB.promisify(require('../../utils/gently-rm.js'))\nconst log = require('npmlog')\nconst mkdirp = BB.promisify(require('mkdirp'))\nconst moduleName = require('../../utils/module-name.js')\nconst moduleStagingPath = require('../module-staging-path.js')\nconst move = BB.promisify(require('../../utils/move.js'))\nconst npa = require('npm-package-arg')\nconst packageId = require('../../utils/package-id.js')\nconst pacote = require('pacote')\nlet pacoteOpts\nconst path = require('path')\n\nmodule.exports = extract\nfunction extract (staging, pkg, log) {\n log.silly('extract', packageId(pkg))\n const extractTo = moduleStagingPath(staging, pkg)\n if (!pacoteOpts) {\n pacoteOpts = require('../../config/pacote')\n }\n const opts = pacoteOpts({\n integrity: pkg.package._integrity\n })\n return pacote.extract(\n pkg.package._resolved\n ? npa.resolve(pkg.package.name, pkg.package._resolved)\n : pkg.package._requested,\n extractTo,\n opts\n ).then(() => {\n if (pkg.package.bundleDependencies) {\n return readBundled(pkg, staging, extractTo)\n }\n }).then(() => {\n return gentlyRm(path.join(extractTo, 'node_modules'))\n })\n}\n\nfunction readBundled (pkg, staging, extractTo) {\n return BB.map(pkg.children, (child) => {\n if (child.error) {\n throw child.error\n } else {\n return stageBundledModule(pkg, child, staging, extractTo)\n }\n }, {concurrency: 10})\n}\n\nfunction getTree (pkg) {\n while (pkg.parent) pkg = pkg.parent\n return pkg\n}\n\nfunction warn (pkg, code, msg) {\n const tree = getTree(pkg)\n const err = new Error(msg)\n err.code = code\n tree.warnings.push(err)\n}\n\nfunction stageBundledModule (bundler, child, staging, parentPath) {\n const stageFrom = path.join(parentPath, 'node_modules', child.package.name)\n const stageTo = moduleStagingPath(staging, child)\n\n return BB.map(child.children, (child) => {\n if (child.error) {\n throw child.error\n } else {\n return stageBundledModule(bundler, child, staging, stageFrom)\n }\n }).then(() => {\n return finishModule(bundler, child, stageTo, stageFrom)\n })\n}\n\nfunction finishModule (bundler, child, stageTo, stageFrom) {\n // If we were the one's who bundled this module…\n if (child.fromBundle === bundler) {\n return mkdirp(path.dirname(stageTo)).then(() => {\n return move(stageFrom, stageTo)\n })\n } else {\n return fs.statAsync(stageFrom).then(() => {\n const bundlerId = packageId(bundler)\n if (!getTree(bundler).warnings.some((w) => {\n return w.code === 'EBUNDLEOVERRIDE'\n })) {\n warn(bundler, 'EBUNDLEOVERRIDE', `${bundlerId} had bundled packages that do not match the required version(s). They have been replaced with non-bundled versions.`)\n }\n log.verbose('bundle', `EBUNDLEOVERRIDE: Replacing ${bundlerId}'s bundled version of ${moduleName(child)} with ${packageId(child)}.`)\n return gentlyRm(stageFrom)\n }, () => {})\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "593", "url": "/usr/local/lib/node_modules/npm/lib/utils/gently-rm.js", "source": "(function (exports, require, module, __filename, __dirname) { // only remove the thing if it's a symlink into a specific folder. This is\n// a very common use-case of npm's, but not so common elsewhere.\n\nexports = module.exports = gentlyRm\n\nvar resolve = require('path').resolve\nvar dirname = require('path').dirname\nvar normalize = require('path').normalize\nvar validate = require('aproba')\nvar log = require('npmlog')\nvar lstat = require('graceful-fs').lstat\nvar readlink = require('graceful-fs').readlink\nvar isInside = require('path-is-inside')\nvar vacuum = require('fs-vacuum')\nvar chain = require('slide').chain\nvar asyncMap = require('slide').asyncMap\nvar readCmdShim = require('read-cmd-shim')\nvar iferr = require('iferr')\nvar npm = require('../npm.js')\n\nfunction gentlyRm (target, gently, base, cb) {\n if (!cb) {\n cb = base\n base = undefined\n }\n\n if (!cb) {\n cb = gently\n gently = false\n }\n\n // never rm the root, prefix, or bin dirs\n //\n // globals included because of `npm link` -- as far as the package\n // requesting the link is concerned, the linked package is always\n // installed globally\n var prefixes = [\n npm.prefix,\n npm.globalPrefix,\n npm.dir,\n npm.root,\n npm.globalDir,\n npm.bin,\n npm.globalBin\n ]\n\n var targetPath = normalize(resolve(npm.prefix, target))\n if (prefixes.indexOf(targetPath) !== -1) {\n return cb(new Error('May not delete: ' + targetPath))\n }\n var options = { }\n if (npm.config.get('force') || !gently) options.purge = true\n if (base) options.base = normalize(resolve(npm.prefix, base))\n\n if (!gently) {\n return vacuum(targetPath, options, cb)\n }\n\n var parent = options.base = options.base || normalize(npm.prefix)\n\n // Do all the async work we'll need to do in order to tell if this is a\n // safe operation\n chain([\n [isEverInside, parent, prefixes],\n [readLinkOrShim, targetPath],\n [isEverInside, targetPath, prefixes],\n [isEverInside, targetPath, [parent]]\n ], function (er, results) {\n if (er) {\n if (er.code === 'ENOENT') return cb()\n return cb(er)\n }\n var parentInfo = {\n path: parent,\n managed: results[0]\n }\n var targetInfo = {\n path: targetPath,\n symlink: results[1],\n managed: results[2],\n inParent: results[3]\n }\n\n isSafeToRm(parentInfo, targetInfo, iferr(cb, thenRemove))\n\n function thenRemove (toRemove, removeBase) {\n if (!toRemove) return cb()\n if (removeBase) options.base = removeBase\n return vacuum(toRemove, options, cb)\n }\n })\n}\n\nexports._isSafeToRm = isSafeToRm\nfunction isSafeToRm (parent, target, cb) {\n log.silly('gentlyRm', 'parent.path =', parent.path)\n log.silly('gentlyRm', 'parent.managed =',\n parent.managed && parent.managed.target + ' is in ' + parent.managed.path)\n log.silly('gentlyRm', 'target.path = ', target.path)\n log.silly('gentlyRm', 'target.symlink =', target.symlink)\n log.silly('gentlyRm', 'target.managed =',\n target.managed && target.managed.target + ' is in ' + target.managed.path)\n log.silly('gentlyRm', 'target.inParent = ', target.inParent)\n\n // The parent directory or something it symlinks to must eventually be in\n // a folder that npm maintains.\n if (!parent.managed) {\n log.info('gentlyRm', parent.path,\n 'is not contained in any diretory npm is known to control or ' +\n 'any place they link to')\n return cb(clobberFail(target.path, 'containing path ' + parent.path +\n \" isn't under npm's control\"))\n }\n\n // The target or something it symlinks to must eventually be in the parent\n // or something the parent symlinks to\n if (target.inParent) {\n var actualTarget = target.inParent.target\n var targetsParent = target.inParent.path\n // if the target.path was what we found in some version of parent, remove\n // using that parent as the base\n if (target.path === actualTarget) {\n return cb(null, target.path, targetsParent)\n } else {\n // If something the target.path links to was what was found, just\n // remove target.path in the location it was found.\n return cb(null, target.path, dirname(target.path))\n }\n }\n\n // If the target is in a managed directory and is in a symlink, but was\n // not in our parent that usually means someone else installed a bin file\n // with the same name as one of our bin files.\n if (target.managed && target.symlink) {\n log.warn('gentlyRm', 'not removing', target.path,\n \"as it wasn't installed by\", parent.path)\n return cb()\n }\n\n if (target.symlink) {\n return cb(clobberFail(target.path, target.symlink +\n ' symlink target is not controlled by npm ' + parent.path))\n } else {\n return cb(clobberFail(target.path, 'is outside ' + parent.path +\n ' and not a link'))\n }\n}\n\nfunction clobberFail (target, msg) {\n validate('SS', arguments)\n var er = new Error('Refusing to delete ' + target + ': ' + msg)\n er.code = 'EEXIST'\n er.path = target\n return er\n}\n\nfunction isENOENT (err) {\n return err && err.code === 'ENOENT'\n}\n\nfunction notENOENT (err) {\n return !isENOENT(err)\n}\n\nfunction skipENOENT (cb) {\n return function (err, value) {\n if (isENOENT(err)) {\n return cb(null, false)\n } else {\n return cb(err, value)\n }\n }\n}\n\nfunction errorsToValues (fn) {\n return function () {\n var args = Array.prototype.slice.call(arguments)\n var cb = args.pop()\n args.push(function (err, value) {\n if (err) {\n return cb(null, err)\n } else {\n return cb(null, value)\n }\n })\n fn.apply(null, args)\n }\n}\n\nfunction isNotError (value) {\n return !(value instanceof Error)\n}\n\nexports._isEverInside = isEverInside\n// return the first of path, where target (or anything it symlinks to)\n// isInside the path (or anything it symlinks to)\nfunction isEverInside (target, paths, cb) {\n validate('SAF', arguments)\n asyncMap(paths, errorsToValues(readAllLinks), iferr(cb, function (resolvedPaths) {\n var errorFree = resolvedPaths.filter(isNotError)\n if (errorFree.length === 0) {\n var badErrors = resolvedPaths.filter(notENOENT)\n if (badErrors.length === 0) {\n return cb(null, false)\n } else {\n return cb(badErrors[0])\n }\n }\n readAllLinks(target, iferr(skipENOENT(cb), function (targets) {\n cb(null, areAnyInsideAny(targets, errorFree))\n }))\n }))\n}\n\nexports._areAnyInsideAny = areAnyInsideAny\n// Return the first path found that any target is inside\nfunction areAnyInsideAny (targets, paths) {\n validate('AA', arguments)\n var toCheck = []\n paths.forEach(function (path) {\n targets.forEach(function (target) {\n toCheck.push([target, path])\n })\n })\n for (var ii = 0; ii < toCheck.length; ++ii) {\n var target = toCheck[ii][0]\n var path = toCheck[ii][1]\n var inside = isInside(target, path)\n if (!inside) log.silly('isEverInside', target, 'is not inside', path)\n if (inside && path) return inside && path && {target: target, path: path}\n }\n return false\n}\n\nexports._readAllLinks = readAllLinks\n// resolves chains of symlinks of unlimited depth, returning a list of paths\n// it's seen in the process when it hits either a symlink cycle or a\n// non-symlink\nfunction readAllLinks (path, cb) {\n validate('SF', arguments)\n var seen = {}\n _readAllLinks(path)\n\n function _readAllLinks (path) {\n if (seen[path]) return cb(null, Object.keys(seen))\n seen[path] = true\n resolveSymlink(path, iferr(cb, _readAllLinks))\n }\n}\n\nexports._resolveSymlink = resolveSymlink\nvar resolvedPaths = {}\nfunction resolveSymlink (symlink, cb) {\n validate('SF', arguments)\n var cached = resolvedPaths[symlink]\n if (cached) return cb(null, cached)\n\n readLinkOrShim(symlink, iferr(cb, function (symlinkTarget) {\n if (symlinkTarget) {\n resolvedPaths[symlink] = resolve(dirname(symlink), symlinkTarget)\n } else {\n resolvedPaths[symlink] = symlink\n }\n return cb(null, resolvedPaths[symlink])\n }))\n}\n\nexports._readLinkOrShim = readLinkOrShim\nfunction readLinkOrShim (path, cb) {\n validate('SF', arguments)\n lstat(path, iferr(cb, function (stat) {\n if (stat.isSymbolicLink()) {\n readlink(path, cb)\n } else {\n readCmdShim(path, function (er, source) {\n if (!er) return cb(null, source)\n // lstat wouldn't return an error on these, so we don't either.\n if (er.code === 'ENOTASHIM' || er.code === 'EISDIR') {\n return cb(null, null)\n } else {\n return cb(er)\n }\n })\n }\n }))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "599", "url": "/usr/local/lib/node_modules/npm/lib/install/action/build.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar chain = require('slide').chain\nvar build = require('../../build.js')\nvar npm = require('../../npm.js')\nvar packageId = require('../../utils/package-id.js')\n\nmodule.exports = function (staging, pkg, log, next) {\n log.silly('build', packageId(pkg))\n chain([\n [build.linkStuff, pkg.package, pkg.path, npm.config.get('global'), true],\n [build.writeBuiltinConf, pkg.package, pkg.path]\n ], next)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "606", "url": "/usr/local/lib/node_modules/npm/lib/install/action/prepare.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar chain = require('slide').chain\nvar lifecycle = require('../../utils/lifecycle.js')\nvar packageId = require('../../utils/package-id.js')\nvar prepublishWarning = require('../../utils/warn-deprecated.js')('prepublish-on-install')\nvar moduleStagingPath = require('../module-staging-path.js')\n\nmodule.exports = function (staging, pkg, log, next) {\n log.silly('prepublish', packageId(pkg))\n // TODO: for `npm@5`, change the behavior and remove this warning.\n // see https://github.com/npm/npm/issues/10074 for details\n if (pkg.package && pkg.package.scripts && pkg.package.scripts.prepublish) {\n prepublishWarning([\n 'As of npm@5, `prepublish` scripts are deprecated.',\n 'Use `prepare` for build steps and `prepublishOnly` for upload-only.',\n 'See the deprecation note in `npm help scripts` for more information.'\n ])\n }\n var buildpath = moduleStagingPath(staging, pkg)\n chain(\n [\n [lifecycle, pkg.package, 'prepublish', buildpath, false, false],\n [lifecycle, pkg.package, 'prepare', buildpath, false, false]\n ],\n next\n )\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "607", "url": "/usr/local/lib/node_modules/npm/lib/utils/warn-deprecated.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = warnDeprecated\n\nvar log = require('npmlog')\n\nvar deprecations = {}\n\nfunction warnDeprecated (type) {\n return function warn (messages, instance) {\n if (!instance) {\n if (!deprecations[type]) {\n deprecations[type] = {}\n messages.forEach(function (m) { log.warn(type, m) })\n }\n } else {\n if (!deprecations[type]) deprecations[type] = {}\n\n if (!deprecations[type][instance]) {\n deprecations[type][instance] = true\n messages.forEach(function (m) { log.warn(type, m) })\n }\n }\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "610", "url": "/usr/local/lib/node_modules/npm/lib/install/action/move.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar fs = require('graceful-fs')\nvar path = require('path')\nvar chain = require('slide').chain\nvar iferr = require('iferr')\nvar rimraf = require('rimraf')\nvar mkdirp = require('mkdirp')\nvar rmStuff = require('../../unbuild.js').rmStuff\nvar lifecycle = require('../../utils/lifecycle.js')\nvar updatePackageJson = require('../update-package-json.js')\nvar move = require('../../utils/move.js')\n\n/*\n Move a module from one point in the node_modules tree to another.\n Do not disturb either the source or target location's node_modules\n folders.\n*/\n\nmodule.exports = function (staging, pkg, log, next) {\n log.silly('move', pkg.fromPath, pkg.path)\n chain([\n [lifecycle, pkg.package, 'preuninstall', pkg.fromPath, false, true],\n [lifecycle, pkg.package, 'uninstall', pkg.fromPath, false, true],\n [rmStuff, pkg.package, pkg.fromPath],\n [lifecycle, pkg.package, 'postuninstall', pkg.fromPath, false, true],\n [moveModuleOnly, pkg.fromPath, pkg.path, log],\n [lifecycle, pkg.package, 'preinstall', pkg.path, false, true],\n [removeEmptyParents, path.resolve(pkg.fromPath, '..')],\n [updatePackageJson, pkg, pkg.path]\n ], next)\n}\n\nfunction removeEmptyParents (pkgdir, next) {\n fs.rmdir(pkgdir, function (er) {\n // FIXME: Make sure windows does what we want here\n if (er && er.code !== 'ENOENT') return next()\n removeEmptyParents(path.resolve(pkgdir, '..'), next)\n })\n}\n\nfunction moveModuleOnly (from, to, log, done) {\n var fromModules = path.join(from, 'node_modules')\n var tempFromModules = from + '.node_modules'\n var toModules = path.join(to, 'node_modules')\n var tempToModules = to + '.node_modules'\n\n log.silly('move', 'move existing destination node_modules away', toModules)\n\n move(toModules, tempToModules, removeDestination(done))\n\n function removeDestination (next) {\n return function (er) {\n log.silly('move', 'remove existing destination', to)\n if (er) {\n rimraf(to, iferr(next, makeDestination(next)))\n } else {\n rimraf(to, iferr(next, makeDestination(iferr(next, moveToModulesBack(next)))))\n }\n }\n }\n\n function moveToModulesBack (next) {\n return function () {\n log.silly('move', 'move existing destination node_modules back', toModules)\n move(tempToModules, toModules, iferr(done, next))\n }\n }\n\n function makeDestination (next) {\n return function () {\n log.silly('move', 'make sure destination parent exists', path.resolve(to, '..'))\n mkdirp(path.resolve(to, '..'), iferr(done, moveNodeModules(next)))\n }\n }\n\n function moveNodeModules (next) {\n return function () {\n log.silly('move', 'move source node_modules away', fromModules)\n move(fromModules, tempFromModules, iferr(doMove(next), doMove(moveNodeModulesBack(next))))\n }\n }\n\n function doMove (next) {\n return function () {\n log.silly('move', 'move module dir to final dest', from, to)\n move(from, to, iferr(done, next))\n }\n }\n\n function moveNodeModulesBack (next) {\n return function () {\n mkdirp(from, iferr(done, function () {\n log.silly('move', 'put source node_modules back', fromModules)\n move(tempFromModules, fromModules, iferr(done, next))\n }))\n }\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "613", "url": "/usr/local/lib/node_modules/npm/lib/install/action/global-install.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar path = require('path')\nvar npm = require('../../npm.js')\nvar Installer = require('../../install.js').Installer\nvar packageId = require('../../utils/package-id.js')\n\nmodule.exports = function (staging, pkg, log, next) {\n log.silly('global-install', packageId(pkg))\n var globalRoot = path.resolve(npm.globalDir, '..')\n npm.config.set('global', true)\n var install = new Installer(globalRoot, false, [pkg.package.name + '@' + pkg.package._requested.fetchSpec])\n install.link = false\n install.run(function () {\n npm.config.set('global', false)\n next.apply(null, arguments)\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "618", "url": "/usr/local/lib/node_modules/npm/lib/utils/completion/installed-deep.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = installedDeep\n\nvar npm = require('../../npm.js')\nvar readInstalled = require('read-installed')\n\nfunction installedDeep (opts, cb) {\n var local\n var global\n var depth = npm.config.get('depth')\n var opt = { depth: depth, dev: true }\n\n if (npm.config.get('global')) {\n local = []\n next()\n } else {\n readInstalled(npm.prefix, opt, function (er, data) {\n local = getNames(data || {})\n next()\n })\n }\n\n readInstalled(npm.config.get('prefix'), opt, function (er, data) {\n global = getNames(data || {})\n next()\n })\n\n function getNames_ (d, n) {\n if (d.realName && n) {\n if (n[d.realName]) return n\n n[d.realName] = true\n }\n if (!n) n = {}\n Object.keys(d.dependencies || {}).forEach(function (dep) {\n getNames_(d.dependencies[dep], n)\n })\n return n\n }\n function getNames (d) {\n return Object.keys(getNames_(d))\n }\n\n function next () {\n if (!local || !global) return\n if (!npm.config.get('global')) {\n global = global.map(function (g) {\n return [g, '-g']\n })\n }\n var names = local.concat(global)\n return cb(null, names)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "619", "url": "/usr/local/lib/node_modules/npm/node_modules/read-installed/read-installed.js", "source": "(function (exports, require, module, __filename, __dirname) { \n// Walk through the file-system \"database\" of installed\n// packages, and create a data object related to the\n// installed versions of each package.\n\n/*\nThis will traverse through all node_modules folders,\nresolving the dependencies object to the object corresponding to\nthe package that meets that dep, or just the version/range if\nunmet.\n\nAssuming that you had this folder structure:\n\n/path/to\n+-- package.json { name = \"root\" }\n`-- node_modules\n +-- foo {bar, baz, asdf}\n | +-- node_modules\n | +-- bar { baz }\n | `-- baz\n `-- asdf\n\nwhere \"foo\" depends on bar, baz, and asdf, bar depends on baz,\nand bar and baz are bundled with foo, whereas \"asdf\" is at\nthe higher level (sibling to foo), you'd get this object structure:\n\n{ \n, path: \"/path/to\"\n, parent: null\n, dependencies:\n { foo :\n { version: \"1.2.3\"\n , path: \"/path/to/node_modules/foo\"\n , parent: \n , dependencies:\n { bar:\n { parent: \n , path: \"/path/to/node_modules/foo/node_modules/bar\"\n , version: \"2.3.4\"\n , dependencies: { baz: }\n }\n , baz: { ... }\n , asdf: \n }\n }\n , asdf: { ... }\n }\n}\n\nUnmet deps are left as strings.\nExtraneous deps are marked with extraneous:true\ndeps that don't meet a requirement are marked with invalid:true\ndeps that don't meet a peer requirement are marked with peerInvalid:true\n\nto READ(packagefolder, parentobj, name, reqver)\nobj = read package.json\ninstalled = ./node_modules/*\nif parentobj is null, and no package.json\n obj = {dependencies:{:ANY}}\ndeps = Object.keys(obj.dependencies)\nobj.path = packagefolder\nobj.parent = parentobj\nif name, && obj.name !== name, obj.invalid = true\nif reqver, && obj.version !satisfies reqver, obj.invalid = true\nif !reqver && parentobj, obj.extraneous = true\nfor each folder in installed\n obj.dependencies[folder] = READ(packagefolder+node_modules+folder,\n obj, folder, obj.dependencies[folder])\n# walk tree to find unmet deps\nfor each dep in obj.dependencies not in installed\n r = obj.parent\n while r\n if r.dependencies[dep]\n if r.dependencies[dep].verion !satisfies obj.dependencies[dep]\n WARN\n r.dependencies[dep].invalid = true\n obj.dependencies[dep] = r.dependencies[dep]\n r = null\n else r = r.parent\nreturn obj\n\n\nTODO:\n1. Find unmet deps in parent directories, searching as node does up\nas far as the left-most node_modules folder.\n2. Ignore anything in node_modules that isn't a package folder.\n\n*/\n\ntry {\n var fs = require(\"graceful-fs\")\n} catch (er) {\n var fs = require(\"fs\")\n}\n\nvar path = require(\"path\")\nvar asyncMap = require(\"slide\").asyncMap\nvar semver = require(\"semver\")\nvar readJson = require(\"read-package-json\")\nvar url = require(\"url\")\nvar util = require(\"util\")\nvar extend = require(\"util-extend\")\n\nvar debug = require(\"debuglog\")(\"read-installed\")\n\nvar readdir = require(\"readdir-scoped-modules\")\n\n// Sentinel catch-all version constraint used when a dependency is not\n// listed in the package.json file.\nvar ANY = {}\n\nmodule.exports = readInstalled\n\nfunction readInstalled (folder, opts, cb) {\n if (typeof opts === 'function') {\n cb = opts\n opts = {}\n } else {\n opts = extend({}, opts)\n }\n\n if (typeof opts.depth !== 'number')\n opts.depth = Infinity\n\n opts.depth = Math.max(0, opts.depth)\n\n if (typeof opts.log !== 'function')\n opts.log = function () {}\n\n opts.dev = !!opts.dev\n opts.realpathSeen = {}\n opts.findUnmetSeen = []\n\n\n readInstalled_(folder, null, null, null, 0, opts, function (er, obj) {\n if (er) return cb(er)\n // now obj has all the installed things, where they're installed\n // figure out the inheritance links, now that the object is built.\n resolveInheritance(obj, opts)\n obj.root = true\n unmarkExtraneous(obj, opts)\n cb(null, obj)\n })\n}\n\nfunction readInstalled_ (folder, parent, name, reqver, depth, opts, cb) {\n var installed\n , obj\n , real\n , link\n , realpathSeen = opts.realpathSeen\n\n readdir(path.resolve(folder, \"node_modules\"), function (er, i) {\n // error indicates that nothing is installed here\n if (er) i = []\n installed = i.filter(function (f) { return f.charAt(0) !== \".\" })\n next()\n })\n\n readJson(path.resolve(folder, \"package.json\"), function (er, data) {\n obj = copy(data)\n\n if (!parent) {\n obj = obj || true\n er = null\n }\n return next(er)\n })\n\n fs.lstat(folder, function (er, st) {\n if (er) {\n if (!parent) real = true\n return next(er)\n }\n fs.realpath(folder, function (er, rp) {\n debug(\"realpath(%j) = %j\", folder, rp)\n real = rp\n if (st.isSymbolicLink()) link = rp\n next(er)\n })\n })\n\n var errState = null\n , called = false\n function next (er) {\n if (errState) return\n if (er) {\n errState = er\n return cb(null, [])\n }\n debug('next', installed, obj && typeof obj, name, real)\n if (!installed || !obj || !real || called) return\n called = true\n if (realpathSeen[real]) return cb(null, realpathSeen[real])\n if (obj === true) {\n obj = {dependencies:{}, path:folder}\n installed.forEach(function (i) { obj.dependencies[i] = ANY })\n }\n if (name && obj.name !== name) obj.invalid = true\n obj.realName = name || obj.name\n obj.dependencies = obj.dependencies || {}\n\n // At this point, figure out what dependencies we NEED to get met\n obj._dependencies = copy(obj.dependencies)\n\n if (reqver === ANY) {\n // We were unable to determine the required version of this\n // dependency from the package.json file, but we now know its actual\n // version, so treat that version as the required version to avoid\n // marking the dependency as invalid below. See #40.\n reqver = obj.version;\n }\n\n // \"foo\":\"http://blah\" and \"foo\":\"latest\" are always presumed valid\n if (reqver\n && semver.validRange(reqver, true)\n && !semver.satisfies(obj.version, reqver, true)) {\n obj.invalid = true\n }\n\n // Mark as extraneous at this point.\n // This will be un-marked in unmarkExtraneous, where we mark as\n // not-extraneous everything that is required in some way from\n // the root object.\n obj.extraneous = true\n\n obj.path = obj.path || folder\n obj.realPath = real\n obj.link = link\n if (parent && !obj.link) obj.parent = parent\n realpathSeen[real] = obj\n obj.depth = depth\n //if (depth >= opts.depth) return cb(null, obj)\n asyncMap(installed, function (pkg, cb) {\n var rv = obj.dependencies[pkg]\n if (!rv && obj.devDependencies && opts.dev)\n rv = obj.devDependencies[pkg]\n\n if (depth > opts.depth) {\n obj.dependencies = {}\n return cb(null, obj)\n }\n\n readInstalled_( path.resolve(folder, \"node_modules/\"+pkg)\n , obj, pkg, obj.dependencies[pkg], depth + 1, opts\n , cb )\n\n }, function (er, installedData) {\n if (er) return cb(er)\n installedData.forEach(function (dep) {\n obj.dependencies[dep.realName] = dep\n })\n\n // any strings here are unmet things. however, if it's\n // optional, then that's fine, so just delete it.\n if (obj.optionalDependencies) {\n Object.keys(obj.optionalDependencies).forEach(function (dep) {\n if (typeof obj.dependencies[dep] === \"string\") {\n delete obj.dependencies[dep]\n }\n })\n }\n return cb(null, obj)\n })\n }\n}\n\n// starting from a root object, call findUnmet on each layer of children\nvar riSeen = []\nfunction resolveInheritance (obj, opts) {\n if (typeof obj !== \"object\") return\n if (riSeen.indexOf(obj) !== -1) return\n riSeen.push(obj)\n if (typeof obj.dependencies !== \"object\") {\n obj.dependencies = {}\n }\n Object.keys(obj.dependencies).forEach(function (dep) {\n findUnmet(obj.dependencies[dep], opts)\n })\n Object.keys(obj.dependencies).forEach(function (dep) {\n if (typeof obj.dependencies[dep] === \"object\") {\n resolveInheritance(obj.dependencies[dep], opts)\n } else {\n debug(\"unmet dep! %s %s@%s\", obj.name, dep, obj.dependencies[dep])\n }\n })\n findUnmet(obj, opts)\n}\n\n// find unmet deps by walking up the tree object.\n// No I/O\nfunction findUnmet (obj, opts) {\n var findUnmetSeen = opts.findUnmetSeen\n if (findUnmetSeen.indexOf(obj) !== -1) return\n findUnmetSeen.push(obj)\n debug(\"find unmet parent=%s obj=\", obj.parent && obj.parent.name, obj.name || obj)\n var deps = obj.dependencies = obj.dependencies || {}\n\n debug(deps)\n Object.keys(deps)\n .filter(function (d) { return typeof deps[d] === \"string\" })\n .forEach(function (d) {\n var found = findDep(obj, d)\n debug(\"finding dep %j\", d, found && found.name || found)\n // \"foo\":\"http://blah\" and \"foo\":\"latest\" are always presumed valid\n if (typeof deps[d] === \"string\" &&\n semver.validRange(deps[d], true) &&\n found &&\n !semver.satisfies(found.version, deps[d], true)) {\n // the bad thing will happen\n opts.log( \"unmet dependency\"\n , obj.path + \" requires \"+d+\"@'\"+deps[d]\n + \"' but will load\\n\"\n + found.path+\",\\nwhich is version \"+found.version )\n found.invalid = true\n }\n if (found) {\n deps[d] = found\n }\n })\n\n var peerDeps = obj.peerDependencies = obj.peerDependencies || {}\n Object.keys(peerDeps).forEach(function (d) {\n var dependency\n\n if (!obj.parent) {\n dependency = obj.dependencies[d]\n\n // read it as a missing dep\n if (!dependency) {\n obj.dependencies[d] = peerDeps[d]\n }\n } else {\n var r = obj.parent\n while (r && !dependency) {\n dependency = r.dependencies && r.dependencies[d]\n r = r.link ? null : r.parent\n }\n }\n\n if (!dependency) {\n // mark as a missing dep!\n obj.dependencies[d] = peerDeps[d]\n } else if (!semver.satisfies(dependency.version, peerDeps[d], true)) {\n dependency.peerInvalid = true\n }\n })\n\n return obj\n}\n\nfunction unmarkExtraneous (obj, opts) {\n // Mark all non-required deps as extraneous.\n // start from the root object and mark as non-extraneous all modules\n // that haven't been previously flagged as extraneous then propagate\n // to all their dependencies\n\n obj.extraneous = false\n\n var deps = obj._dependencies || []\n if (opts.dev && obj.devDependencies && (obj.root || obj.link)) {\n Object.keys(obj.devDependencies).forEach(function (k) {\n deps[k] = obj.devDependencies[k]\n })\n }\n\n if (obj.peerDependencies) {\n Object.keys(obj.peerDependencies).forEach(function (k) {\n deps[k] = obj.peerDependencies[k]\n })\n }\n\n debug(\"not extraneous\", obj._id, deps)\n Object.keys(deps).forEach(function (d) {\n var dep = findDep(obj, d)\n if (dep && dep.extraneous) {\n unmarkExtraneous(dep, opts)\n }\n })\n}\n\n// Find the one that will actually be loaded by require()\n// so we can make sure it's valid etc.\nfunction findDep (obj, d) {\n var r = obj\n , found = null\n while (r && !found) {\n // if r is a valid choice, then use that.\n // kinda weird if a pkg depends on itself, but after the first\n // iteration of this loop, it indicates a dep cycle.\n if (typeof r.dependencies[d] === \"object\") {\n found = r.dependencies[d]\n }\n if (!found && r.realName === d) found = r\n r = r.link ? null : r.parent\n }\n return found\n}\n\nfunction copy (obj) {\n if (!obj || typeof obj !== 'object') return obj\n if (Array.isArray(obj)) return obj.map(copy)\n\n var o = {}\n for (var i in obj) o[i] = copy(obj[i])\n return o\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/read-installed" }, { "id": "240", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/raw.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\n\nvar domain; // The domain module is executed on demand\nvar hasSetImmediate = typeof setImmediate === \"function\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including network IO events in Node.js.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Avoids a function call\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory excaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\nrawAsap.requestFlush = requestFlush;\nfunction requestFlush() {\n // Ensure flushing is not bound to any domain.\n // It is not sufficient to exit the domain, because domains exist on a stack.\n // To execute code outside of any domain, the following dance is necessary.\n var parentDomain = process.domain;\n if (parentDomain) {\n if (!domain) {\n // Lazy execute the domain module.\n // Only employed if the user elects to use domains.\n domain = require(\"domain\");\n }\n domain.active = process.domain = null;\n }\n\n // `setImmediate` is slower that `process.nextTick`, but `process.nextTick`\n // cannot handle recursion.\n // `requestFlush` will only be called recursively from `asap.js`, to resume\n // flushing after an error is thrown into a domain.\n // Conveniently, `setImmediate` was introduced in the same version\n // `process.nextTick` started throwing recursion errors.\n if (flushing && hasSetImmediate) {\n setImmediate(flush);\n } else {\n process.nextTick(flush);\n }\n\n if (parentDomain) {\n domain.active = process.domain = parentDomain;\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap" }, { "id": "239", "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap/asap.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\n\nvar rawAsap = require(\"./raw\");\nvar freeTasks = [];\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with\n * priority over IO events. An exception thrown in a task can be handled by\n * `process.on(\"uncaughtException\") or `domain.on(\"error\")`, but will otherwise\n * crash the process. If the error is handled, all subsequent tasks will\n * resume.\n *\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawTask.domain = process.domain;\n rawAsap(rawTask);\n}\n\nfunction RawTask() {\n this.task = null;\n this.domain = null;\n}\n\nRawTask.prototype.call = function () {\n if (this.domain) {\n this.domain.enter();\n }\n var threw = true;\n try {\n this.task.call();\n threw = false;\n // If the task throws an exception (presumably) Node.js restores the\n // domain stack for the next event.\n if (this.domain) {\n this.domain.exit();\n }\n } finally {\n // We use try/finally and a threw flag to avoid messing up stack traces\n // when we catch and release errors.\n if (threw) {\n // In Node.js, uncaught exceptions are considered fatal errors.\n // Re-throw them to interrupt flushing!\n // Ensure that flushing continues if an uncaught exception is\n // suppressed listening process.on(\"uncaughtException\") or\n // domain.on(\"error\").\n rawAsap.requestFlush();\n }\n // If the task threw an error, we do not want to exit the domain here.\n // Exiting the domain would prevent the domain from catching the error.\n this.task = null;\n this.domain = null;\n freeTasks.push(this);\n }\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap" }, { "id": "552", "url": "/usr/local/lib/node_modules/npm/lib/install/and-finish-tracker.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar validate = require('aproba')\n\nmodule.exports = function (tracker, cb) {\n validate('OF', [tracker, cb])\n return function () {\n tracker.finish()\n cb.apply(null, arguments)\n }\n}\n\nmodule.exports.now = function (tracker, cb) {\n validate('OF', [tracker, cb])\n tracker.finish()\n cb.apply(null, Array.prototype.slice.call(arguments, 2))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "132", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = chain\nvar bindActor = require(\"./bind-actor.js\")\nchain.first = {} ; chain.last = {}\nfunction chain (things, cb) {\n var res = []\n ;(function LOOP (i, len) {\n if (i >= len) return cb(null,res)\n if (Array.isArray(things[i]))\n things[i] = bindActor.apply(null,\n things[i].map(function(i){\n return (i===chain.first) ? res[0]\n : (i===chain.last)\n ? res[res.length - 1] : i }))\n if (!things[i]) return LOOP(i + 1, len)\n things[i](function (er, data) {\n if (er) return cb(er, res)\n if (data !== undefined) res = res.concat(data)\n LOOP(i + 1, len)\n })\n })(0, things.length) }\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/slide" }, { "id": "131", "url": "/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js", "source": "(function (exports, require, module, __filename, __dirname) { module.exports = bindActor\nfunction bindActor () {\n var args = \n Array.prototype.slice.call\n (arguments) // jswtf.\n , obj = null\n , fn\n if (typeof args[0] === \"object\") {\n obj = args.shift()\n fn = args.shift()\n if (typeof fn === \"string\")\n fn = obj[ fn ]\n } else fn = args.shift()\n return function (cb) {\n fn.apply(obj, args.concat(cb)) }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/slide" }, { "id": "48", "url": "_stream_readable.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nmodule.exports = Readable;\nReadable.ReadableState = ReadableState;\n\nconst EE = require('events');\nconst Stream = require('stream');\n// TODO(bmeurer): Change this back to const once hole checks are\n// properly optimized away early in Ignition+TurboFan.\nvar Buffer = require('buffer').Buffer;\nconst util = require('util');\nconst debug = util.debuglog('stream');\nconst BufferList = require('internal/streams/BufferList');\nconst destroyImpl = require('internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nconst kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') {\n return emitter.prependListener(event, fn);\n } else {\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event])\n emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event]))\n emitter._events[event].unshift(fn);\n else\n emitter._events[event] = [fn, emitter._events[event]];\n }\n}\n\nfunction ReadableState(options, stream) {\n options = options || {};\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Stream.Duplex)\n this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require('string_decoder').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function')\n this._read = options.read;\n\n if (typeof options.destroy === 'function')\n this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function(err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function(chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck)\n er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' &&\n !state.objectMode &&\n Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = Stream._uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted)\n stream.emit('error', new Error('stream.unshift() after end event'));\n else\n addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0)\n addChunk(stream, state, chunk, false);\n else\n maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront)\n state.buffer.unshift(chunk);\n else\n state.buffer.push(chunk);\n\n if (state.needReadable)\n emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!Stream._isUint8Array(chunk) &&\n typeof chunk !== 'string' &&\n chunk !== undefined &&\n !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended &&\n (state.needReadable ||\n state.length < state.highWaterMark ||\n state.length === 0);\n}\n\nReadable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require('string_decoder').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nconst MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || (state.length === 0 && state.ended))\n return 0;\n if (state.objectMode)\n return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length)\n return state.buffer.head.data.length;\n else\n return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark)\n state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length)\n return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function(n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0)\n state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 &&\n state.needReadable &&\n (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended)\n endReadable(this);\n else\n emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0)\n endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0)\n state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading)\n n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended)\n state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended)\n endReadable(this);\n }\n\n if (ret !== null)\n this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync)\n process.nextTick(emitReadable_, stream);\n else\n emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended &&\n state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n else\n len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function(n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) &&\n dest !== process.stdout &&\n dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain &&\n (!dest._writableState || dest._writableState.needDrain))\n ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if (((state.pipesCount === 1 && state.pipes === dest) ||\n (state.pipesCount > 1 && state.pipes.indexOf(dest) !== -1)) &&\n !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EE.listenerCount(dest, 'error') === 0)\n dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain)\n state.awaitDrain--;\n if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\n\nReadable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0)\n return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes)\n return this;\n\n if (!dest)\n dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest)\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++)\n dests[i].emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // try to find the right one.\n var index = state.pipes.indexOf(dest);\n if (index === -1)\n return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function(ev, fn) {\n const res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false)\n this.resume();\n } else if (ev === 'readable') {\n const state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading)\n stream.read(0);\n}\n\nReadable.prototype.pause = function() {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n const state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function(stream) {\n var state = this._readableState;\n var paused = false;\n\n var self = this;\n stream.on('end', function() {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n self.push(chunk);\n }\n\n self.push(null);\n });\n\n stream.on('data', function(chunk) {\n debug('wrapped data');\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n\n var ret = self.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function(method) {\n return function() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n self._read = function(n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return self;\n};\n\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0)\n return null;\n\n var ret;\n if (state.objectMode)\n ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder)\n ret = state.buffer.join('');\n else if (state.buffer.length === 1)\n ret = state.buffer.head.data;\n else\n ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = (hasStrings ?\n copyFromBufferString(n, list) :\n copyFromBuffer(n, list));\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n const str = p.data;\n const nb = (n > str.length ? str.length : n);\n if (nb === str.length)\n ret += str;\n else\n ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next)\n list.head = p.next;\n else\n list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n const ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n const buf = p.data;\n const nb = (n > buf.length ? buf.length : n);\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next)\n list.head = p.next;\n else\n list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0)\n throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\n});", "pkgUrl": "(system)" }, { "id": "32", "url": "assert.js", "source": "(function (exports, require, module, __filename, __dirname) { // Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// UTILITY\nconst compare = process.binding('buffer').compare;\nconst util = require('util');\nconst { isSet, isMap } = process.binding('util');\nconst objectToString = require('internal/util').objectToString;\nconst Buffer = require('buffer').Buffer;\n\nvar errors;\nfunction lazyErrors() {\n if (!errors)\n errors = require('internal/errors');\n return errors;\n}\n\n// The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nconst assert = module.exports = ok;\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n if (arguments.length === 1)\n message = actual;\n if (arguments.length === 2)\n operator = '!=';\n const errors = lazyErrors();\n throw new errors.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// The AssertionError is defined in internal/error.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected });\nassert.AssertionError = lazyErrors().AssertionError;\n\n\n// Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n/* eslint-disable no-restricted-properties */\nassert.equal = function equal(actual, expected, message) {\n // eslint-disable-next-line eqeqeq\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// The non-equality assertion tests for whether two objects are not\n// equal with !=.\n// assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n // eslint-disable-next-line eqeqeq\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n/* eslint-enable */\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction areSimilarRegExps(a, b) {\n return a.source === b.source && a.flags === b.flags;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n return compare(Buffer.from(a.buffer,\n a.byteOffset,\n a.byteLength),\n Buffer.from(b.buffer,\n b.byteOffset,\n b.byteLength)) === 0;\n}\n\nfunction isNullOrNonObj(object) {\n return object === null || typeof object !== 'object';\n}\n\nfunction isFloatTypedArrayTag(tag) {\n return tag === '[object Float32Array]' || tag === '[object Float64Array]';\n}\n\nfunction isArguments(tag) {\n return tag === '[object Arguments]';\n}\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n }\n\n // For primitives / functions\n // (determined by typeof value !== 'object'),\n // or null, equivalence is determined by === or ==.\n if (isNullOrNonObj(actual) && isNullOrNonObj(expected)) {\n // eslint-disable-next-line eqeqeq\n return strict ? actual === expected : actual == expected;\n }\n\n // If they bypass the previous check, then at least\n // one of them must be an non-null object.\n // If the other one is null or undefined, they must not be equal.\n if (actual === null || actual === undefined ||\n expected === null || expected === undefined)\n return false;\n\n // Notes: Type tags are historical [[Class]] properties that can be set by\n // FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n // and retrieved using Object.prototype.toString.call(obj) in JS\n // See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n // for a list of tags pre-defined in the spec.\n // There are some unspecified tags in the wild too (e.g. typed array tags).\n // Since tags can be altered, they only serve fast failures\n const actualTag = objectToString(actual);\n const expectedTag = objectToString(expected);\n\n // Passing null or undefined to Object.getPrototypeOf() will throw\n // so this must done after previous checks.\n // For strict comparison, objects should have\n // a) The same prototypes.\n // b) The same built-in type tags\n if (strict) {\n if (Object.getPrototypeOf(actual) !== Object.getPrototypeOf(expected)) {\n return false;\n }\n\n if (actualTag !== expectedTag) {\n return false;\n }\n }\n\n // Do fast checks for builtin types.\n // If they don't match, they must not be equal.\n // If they match, return true for non-strict comparison.\n // For strict comparison we need to exam further.\n\n // If both values are Date objects,\n // check if the time underneath are equal first.\n if (util.isDate(actual) && util.isDate(expected)) {\n if (actual.getTime() !== expected.getTime()) {\n return false;\n } else if (!strict) {\n return true; // Skip further checks for non-strict comparison.\n }\n }\n\n // If both values are RegExp, check if they have\n // the same source and flags first\n if (util.isRegExp(actual) && util.isRegExp(expected)) {\n if (!areSimilarRegExps(actual, expected)) {\n return false;\n } else if (!strict) {\n return true; // Skip further checks for non-strict comparison.\n }\n }\n\n // Ensure reflexivity of deepEqual with `arguments` objects.\n // See https://github.com/nodejs/node-v0.x-archive/pull/7178\n if (isArguments(actualTag) !== isArguments(expectedTag)) {\n return false;\n }\n\n // Check typed arrays and buffers by comparing the content in their\n // underlying ArrayBuffer. This optimization requires that it's\n // reasonable to interpret their underlying memory in the same way,\n // which is checked by comparing their type tags.\n // (e.g. a Uint8Array and a Uint16Array with the same memory content\n // could still be different because they will be interpreted differently)\n // Never perform binary comparisons for Float*Arrays, though,\n // since e.g. +0 === -0 is true despite the two values' bit patterns\n // not being identical.\n if (ArrayBuffer.isView(actual) && ArrayBuffer.isView(expected) &&\n actualTag === expectedTag && !isFloatTypedArrayTag(actualTag)) {\n if (!areSimilarTypedArrays(actual, expected)) {\n return false;\n } else if (!strict) {\n return true; // Skip further checks for non-strict comparison.\n }\n\n // Buffer.compare returns true, so actual.length === expected.length\n // if they both only contain numeric keys, we don't need to exam further\n if (Object.keys(actual).length === actual.length &&\n Object.keys(expected).length === expected.length) {\n return true;\n }\n }\n\n // For all other Object pairs, including Array objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n\n // Use memos to handle cycles.\n if (!memos) {\n memos = {\n actual: new Map(),\n expected: new Map(),\n position: 0\n };\n } else {\n memos.position++;\n }\n\n if (memos.actual.has(actual)) {\n return memos.actual.get(actual) === memos.expected.get(expected);\n }\n\n memos.actual.set(actual, memos.position);\n memos.expected.set(expected, memos.position);\n\n const areEq = objEquiv(actual, expected, strict, memos);\n\n memos.actual.delete(actual);\n memos.expected.delete(expected);\n\n return areEq;\n}\n\nfunction setHasSimilarElement(set, val1, usedEntries, strict, memo) {\n if (set.has(val1)) {\n if (usedEntries)\n usedEntries.add(val1);\n return true;\n }\n\n // In strict mode the only things which can match a primitive or a function\n // will already be detected by set.has(val1).\n if (strict && (util.isPrimitive(val1) || util.isFunction(val1)))\n return false;\n\n // Otherwise go looking.\n for (const val2 of set) {\n if (usedEntries && usedEntries.has(val2))\n continue;\n\n if (_deepEqual(val1, val2, strict, memo)) {\n if (usedEntries)\n usedEntries.add(val2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This code currently returns false for this pair of sets:\n // assert.deepEqual(new Set(['1', 1]), new Set([1]))\n //\n // In theory, all the items in the first set have a corresponding == value in\n // the second set, but the sets have different sizes. Its a silly case,\n // and more evidence that deepStrictEqual should always be preferred over\n // deepEqual.\n if (a.size !== b.size)\n return false;\n\n // This is a set of the entries in b which have been consumed in our pairwise\n // comparison.\n //\n // When the sets contain only value types (eg, lots of numbers), and we're in\n // strict mode, we don't need to match off the entries in a pairwise way. In\n // that case this initialization is done lazily to avoid the allocation &\n // bookkeeping cost. Unfortunately, we can't get away with that in non-strict\n // mode.\n let usedEntries = null;\n\n for (const val1 of a) {\n if (usedEntries == null && (!strict || typeof val1 === 'object'))\n usedEntries = new Set();\n\n // If the value doesn't exist in the second set by reference, and its an\n // object or an array we'll need to go hunting for something thats\n // deep-equal to it. Note that this is O(n^2) complexity, and will get\n // slower if large, very similar sets / maps are nested inside.\n // Unfortunately there's no real way around this.\n if (!setHasSimilarElement(b, val1, usedEntries, strict, memo))\n return false;\n }\n\n return true;\n}\n\nfunction mapHasSimilarEntry(map, key1, item1, usedEntries, strict, memo) {\n // To be able to handle cases like:\n // Map([[1, 'a'], ['1', 'b']]) vs Map([['1', 'a'], [1, 'b']])\n // or:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n\n // This check is not strictly necessary. The loop performs this check, but\n // doing it here improves performance of the common case when reference-equal\n // keys exist (which includes all primitive-valued keys).\n if (map.has(key1) && _deepEqual(item1, map.get(key1), strict, memo)) {\n if (usedEntries)\n usedEntries.add(key1);\n return true;\n }\n\n if (strict && (util.isPrimitive(key1) || util.isFunction(key1)))\n return false;\n\n for (const [key2, item2] of map) {\n // This case is checked above.\n if (key2 === key1)\n continue;\n\n if (usedEntries && usedEntries.has(key2))\n continue;\n\n if (_deepEqual(key1, key2, strict, memo) &&\n _deepEqual(item1, item2, strict, memo)) {\n if (usedEntries)\n usedEntries.add(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n // Caveat: In non-strict mode, this implementation does not handle cases\n // where maps contain two equivalent-but-not-reference-equal keys.\n //\n // For example, maps like this are currently considered not equivalent:\n if (a.size !== b.size)\n return false;\n\n let usedEntries = null;\n\n for (const [key1, item1] of a) {\n if (usedEntries == null && (!strict || typeof key1 === 'object'))\n usedEntries = new Set();\n\n // Just like setEquiv above, this hunt makes this function O(n^2) when\n // using objects and lists as keys\n if (!mapHasSimilarEntry(b, key1, item1, usedEntries, strict, memo))\n return false;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n // If one of them is a primitive, the other must be the same.\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n var key, i;\n\n // The pair must have the same number of owned properties\n // (keys incorporates hasOwnProperty).\n if (aKeys.length !== bKeys.length)\n return false;\n\n // The pair must have the same set of keys (although not\n // necessarily in the same order).\n aKeys.sort();\n bKeys.sort();\n // Cheap key test:\n for (i = aKeys.length - 1; i >= 0; i--) {\n if (aKeys[i] !== bKeys[i])\n return false;\n }\n\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n if (isSet(a)) {\n if (!isSet(b) || !setEquiv(a, b, strict, actualVisitedObjects))\n return false;\n } else if (isSet(b)) {\n return false;\n }\n\n if (isMap(a)) {\n if (!isMap(b) || !mapEquiv(a, b, strict, actualVisitedObjects))\n return false;\n } else if (isMap(b)) {\n return false;\n }\n\n // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n for (i = aKeys.length - 1; i >= 0; i--) {\n key = aKeys[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n// The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// The strict non-equality assertion tests for strict inequality, as\n// determined by !==.\n// assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n // actual is guaranteed to be an Error object, but we need to check expected.\n if (!expected) {\n return false;\n }\n\n if (objectToString(expected) === '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n const errors = lazyErrors();\n throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'block', 'function',\n typeof block);\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ')' : '') +\n (message ? ': ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n const userProvidedMessage = typeof message === 'string';\n const isUnwantedException = !shouldThrow && util.isError(actual);\n const isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// Expected to throw an error.\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function throws(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = doesNotThrow;\nfunction doesNotThrow(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n}\n\nassert.ifError = function ifError(err) { if (err) throw err; };\n\n});", "pkgUrl": "(system)" }, { "id": "515", "url": "zlib.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst Buffer = require('buffer').Buffer;\nconst Transform = require('_stream_transform');\nconst binding = process.binding('zlib');\nconst assert = require('assert').ok;\nconst kMaxLength = require('buffer').kMaxLength;\nconst kRangeErrorMessage = 'Cannot create final Buffer. It would be larger ' +\n `than 0x${kMaxLength.toString(16)} bytes`;\n\nconst constants = process.binding('constants').zlib;\nconst { inherits } = require('util');\n\n// translation table for return codes.\nconst codes = {\n Z_OK: constants.Z_OK,\n Z_STREAM_END: constants.Z_STREAM_END,\n Z_NEED_DICT: constants.Z_NEED_DICT,\n Z_ERRNO: constants.Z_ERRNO,\n Z_STREAM_ERROR: constants.Z_STREAM_ERROR,\n Z_DATA_ERROR: constants.Z_DATA_ERROR,\n Z_MEM_ERROR: constants.Z_MEM_ERROR,\n Z_BUF_ERROR: constants.Z_BUF_ERROR,\n Z_VERSION_ERROR: constants.Z_VERSION_ERROR\n};\n\nconst ckeys = Object.keys(codes);\nfor (var ck = 0; ck < ckeys.length; ck++) {\n var ckey = ckeys[ck];\n codes[codes[ckey]] = ckey;\n}\n\nfunction isInvalidFlushFlag(flag) {\n return typeof flag !== 'number' ||\n flag < constants.Z_NO_FLUSH ||\n flag > constants.Z_BLOCK;\n\n // Covers: constants.Z_NO_FLUSH (0),\n // constants.Z_PARTIAL_FLUSH (1),\n // constants.Z_SYNC_FLUSH (2),\n // constants.Z_FULL_FLUSH (3),\n // constants.Z_FINISH (4), and\n // constants.Z_BLOCK (5)\n}\n\nfunction isInvalidStrategy(strategy) {\n return typeof strategy !== 'number' ||\n strategy < constants.Z_DEFAULT_STRATEGY ||\n strategy > constants.Z_FIXED;\n\n // Covers: constants.Z_FILTERED, (1)\n // constants.Z_HUFFMAN_ONLY (2),\n // constants.Z_RLE (3),\n // constants.Z_FIXED (4), and\n // constants.Z_DEFAULT_STRATEGY (0)\n}\n\nfunction responseData(engine, buffer) {\n if (engine._opts.info) {\n return { buffer, engine };\n }\n return buffer;\n}\n\nfunction zlibBuffer(engine, buffer, callback) {\n // Streams do not support non-Buffer ArrayBufferViews yet. Convert it to a\n // Buffer without copying.\n if (ArrayBuffer.isView(buffer) &&\n Object.getPrototypeOf(buffer) !== Buffer.prototype) {\n buffer = Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n\n var buffers = [];\n var nread = 0;\n\n engine.on('error', onError);\n engine.on('end', onEnd);\n\n engine.end(buffer);\n flow();\n\n function flow() {\n var chunk;\n while (null !== (chunk = engine.read())) {\n buffers.push(chunk);\n nread += chunk.byteLength;\n }\n engine.once('readable', flow);\n }\n\n function onError(err) {\n engine.removeListener('end', onEnd);\n engine.removeListener('readable', flow);\n callback(err);\n }\n\n function onEnd() {\n var buf;\n var err = null;\n\n if (nread >= kMaxLength) {\n err = new RangeError(kRangeErrorMessage);\n } else {\n buf = Buffer.concat(buffers, nread);\n }\n\n buffers = [];\n engine.close();\n callback(err, responseData(engine, buf));\n }\n}\n\nfunction zlibBufferSync(engine, buffer) {\n if (typeof buffer === 'string')\n buffer = Buffer.from(buffer);\n else if (!ArrayBuffer.isView(buffer))\n throw new TypeError('\"buffer\" argument must be a string, Buffer, ' +\n 'TypedArray, or DataView');\n\n var flushFlag = engine._finishFlushFlag;\n\n return responseData(engine, engine._processChunk(buffer, flushFlag));\n}\n\nfunction zlibOnError(message, errno) {\n // there is no way to cleanly recover.\n // continuing only obscures problems.\n _close(this);\n this._hadError = true;\n\n var error = new Error(message);\n error.errno = errno;\n error.code = codes[errno];\n this.emit('error', error);\n}\n\nfunction flushCallback(level, strategy, callback) {\n assert(this._handle, 'zlib binding closed');\n this._handle.params(level, strategy);\n if (!this._hadError) {\n this._level = level;\n this._strategy = strategy;\n if (callback) callback();\n }\n}\n\n// the Zlib class they all inherit from\n// This thing manages the queue of requests, and returns\n// true or false if there is anything in the queue when\n// you call the .write() method.\nfunction Zlib(opts, mode) {\n opts = opts || {};\n Transform.call(this, opts);\n\n this.bytesRead = 0;\n\n this._opts = opts;\n this._chunkSize = opts.chunkSize || constants.Z_DEFAULT_CHUNK;\n\n if (opts.flush && isInvalidFlushFlag(opts.flush)) {\n throw new RangeError('Invalid flush flag: ' + opts.flush);\n }\n if (opts.finishFlush && isInvalidFlushFlag(opts.finishFlush)) {\n throw new RangeError('Invalid flush flag: ' + opts.finishFlush);\n }\n\n this._flushFlag = opts.flush || constants.Z_NO_FLUSH;\n this._finishFlushFlag = opts.finishFlush !== undefined ?\n opts.finishFlush : constants.Z_FINISH;\n\n if (opts.chunkSize !== undefined) {\n if (opts.chunkSize < constants.Z_MIN_CHUNK) {\n throw new RangeError('Invalid chunk size: ' + opts.chunkSize);\n }\n }\n\n if (opts.windowBits !== undefined) {\n if (opts.windowBits < constants.Z_MIN_WINDOWBITS ||\n opts.windowBits > constants.Z_MAX_WINDOWBITS) {\n throw new RangeError('Invalid windowBits: ' + opts.windowBits);\n }\n }\n\n if (opts.level !== undefined) {\n if (opts.level < constants.Z_MIN_LEVEL ||\n opts.level > constants.Z_MAX_LEVEL) {\n throw new RangeError('Invalid compression level: ' + opts.level);\n }\n }\n\n if (opts.memLevel !== undefined) {\n if (opts.memLevel < constants.Z_MIN_MEMLEVEL ||\n opts.memLevel > constants.Z_MAX_MEMLEVEL) {\n throw new RangeError('Invalid memLevel: ' + opts.memLevel);\n }\n }\n\n if (opts.strategy !== undefined && isInvalidStrategy(opts.strategy))\n throw new TypeError('Invalid strategy: ' + opts.strategy);\n\n if (opts.dictionary !== undefined) {\n if (!ArrayBuffer.isView(opts.dictionary)) {\n throw new TypeError(\n 'Invalid dictionary: it should be a Buffer, TypedArray, or DataView');\n }\n }\n\n this._handle = new binding.Zlib(mode);\n this._handle.onerror = zlibOnError.bind(this);\n this._hadError = false;\n\n var level = constants.Z_DEFAULT_COMPRESSION;\n if (Number.isFinite(opts.level)) {\n level = opts.level;\n }\n\n var strategy = constants.Z_DEFAULT_STRATEGY;\n if (Number.isFinite(opts.strategy)) {\n strategy = opts.strategy;\n }\n\n var windowBits = constants.Z_DEFAULT_WINDOWBITS;\n if (Number.isFinite(opts.windowBits)) {\n windowBits = opts.windowBits;\n }\n\n var memLevel = constants.Z_DEFAULT_MEMLEVEL;\n if (Number.isFinite(opts.memLevel)) {\n memLevel = opts.memLevel;\n }\n\n this._handle.init(windowBits,\n level,\n memLevel,\n strategy,\n opts.dictionary);\n\n this._buffer = Buffer.allocUnsafe(this._chunkSize);\n this._offset = 0;\n this._level = level;\n this._strategy = strategy;\n\n this.once('end', this.close);\n}\ninherits(Zlib, Transform);\n\nObject.defineProperty(Zlib.prototype, '_closed', {\n configurable: true,\n enumerable: true,\n get() {\n return !this._handle;\n }\n});\n\nZlib.prototype.params = function params(level, strategy, callback) {\n if (level < constants.Z_MIN_LEVEL ||\n level > constants.Z_MAX_LEVEL) {\n throw new RangeError('Invalid compression level: ' + level);\n }\n if (isInvalidStrategy(strategy))\n throw new TypeError('Invalid strategy: ' + strategy);\n\n if (this._level !== level || this._strategy !== strategy) {\n this.flush(constants.Z_SYNC_FLUSH,\n flushCallback.bind(this, level, strategy, callback));\n } else {\n process.nextTick(callback);\n }\n};\n\nZlib.prototype.reset = function reset() {\n assert(this._handle, 'zlib binding closed');\n return this._handle.reset();\n};\n\n// This is the _flush function called by the transform class,\n// internally, when the last chunk has been written.\nZlib.prototype._flush = function _flush(callback) {\n this._transform(Buffer.alloc(0), '', callback);\n};\n\nZlib.prototype.flush = function flush(kind, callback) {\n var ws = this._writableState;\n\n if (typeof kind === 'function' || (kind === undefined && !callback)) {\n callback = kind;\n kind = constants.Z_FULL_FLUSH;\n }\n\n if (ws.ended) {\n if (callback)\n process.nextTick(callback);\n } else if (ws.ending) {\n if (callback)\n this.once('end', callback);\n } else if (ws.needDrain) {\n if (callback) {\n const drainHandler = () => this.flush(kind, callback);\n this.once('drain', drainHandler);\n }\n } else {\n this._flushFlag = kind;\n this.write(Buffer.alloc(0), '', callback);\n }\n};\n\nZlib.prototype.close = function close(callback) {\n _close(this, callback);\n process.nextTick(emitCloseNT, this);\n};\n\nZlib.prototype._transform = function _transform(chunk, encoding, cb) {\n var flushFlag;\n var ws = this._writableState;\n var ending = ws.ending || ws.ended;\n var last = ending && (!chunk || ws.length === chunk.byteLength);\n\n if (chunk !== null && !ArrayBuffer.isView(chunk))\n return cb(new TypeError('invalid input'));\n\n if (!this._handle)\n return cb(new Error('zlib binding closed'));\n\n // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag\n // (or whatever flag was provided using opts.finishFlush).\n // If it's explicitly flushing at some other time, then we use\n // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression\n // goodness.\n if (last)\n flushFlag = this._finishFlushFlag;\n else {\n flushFlag = this._flushFlag;\n // once we've flushed the last of the queue, stop flushing and\n // go back to the normal behavior.\n if (chunk.byteLength >= ws.length) {\n this._flushFlag = this._opts.flush || constants.Z_NO_FLUSH;\n }\n }\n\n this._processChunk(chunk, flushFlag, cb);\n};\n\nZlib.prototype._processChunk = function _processChunk(chunk, flushFlag, cb) {\n var availInBefore = chunk && chunk.byteLength;\n var availOutBefore = this._chunkSize - this._offset;\n var inOff = 0;\n\n var self = this;\n\n var async = typeof cb === 'function';\n\n if (!async) {\n var buffers = [];\n var nread = 0;\n\n var error;\n this.on('error', function(er) {\n error = er;\n });\n\n assert(this._handle, 'zlib binding closed');\n do {\n var res = this._handle.writeSync(flushFlag,\n chunk, // in\n inOff, // in_off\n availInBefore, // in_len\n this._buffer, // out\n this._offset, //out_off\n availOutBefore); // out_len\n } while (!this._hadError && callback(res[0], res[1]));\n\n if (this._hadError) {\n throw error;\n }\n\n if (nread >= kMaxLength) {\n _close(this);\n throw new RangeError(kRangeErrorMessage);\n }\n\n var buf = Buffer.concat(buffers, nread);\n _close(this);\n\n return buf;\n }\n\n assert(this._handle, 'zlib binding closed');\n var req = this._handle.write(flushFlag,\n chunk, // in\n inOff, // in_off\n availInBefore, // in_len\n this._buffer, // out\n this._offset, //out_off\n availOutBefore); // out_len\n\n req.buffer = chunk;\n req.callback = callback;\n\n function callback(availInAfter, availOutAfter) {\n // When the callback is used in an async write, the callback's\n // context is the `req` object that was created. The req object\n // is === this._handle, and that's why it's important to null\n // out the values after they are done being used. `this._handle`\n // can stay in memory longer than the callback and buffer are needed.\n if (this) {\n this.buffer = null;\n this.callback = null;\n }\n\n if (self._hadError)\n return;\n\n var have = availOutBefore - availOutAfter;\n assert(have >= 0, 'have should not go down');\n\n self.bytesRead += availInBefore - availInAfter;\n\n if (have > 0) {\n var out = self._buffer.slice(self._offset, self._offset + have);\n self._offset += have;\n // serve some output to the consumer.\n if (async) {\n self.push(out);\n } else {\n buffers.push(out);\n nread += out.byteLength;\n }\n }\n\n // exhausted the output buffer, or used all the input create a new one.\n if (availOutAfter === 0 || self._offset >= self._chunkSize) {\n availOutBefore = self._chunkSize;\n self._offset = 0;\n self._buffer = Buffer.allocUnsafe(self._chunkSize);\n }\n\n if (availOutAfter === 0) {\n // Not actually done. Need to reprocess.\n // Also, update the availInBefore to the availInAfter value,\n // so that if we have to hit it a third (fourth, etc.) time,\n // it'll have the correct byte counts.\n inOff += (availInBefore - availInAfter);\n availInBefore = availInAfter;\n\n if (!async)\n return true;\n\n var newReq = self._handle.write(flushFlag,\n chunk,\n inOff,\n availInBefore,\n self._buffer,\n self._offset,\n self._chunkSize);\n newReq.callback = callback; // this same function\n newReq.buffer = chunk;\n return;\n }\n\n if (!async)\n return false;\n\n // finished with the chunk.\n cb();\n }\n};\n\nfunction _close(engine, callback) {\n if (callback)\n process.nextTick(callback);\n\n // Caller may invoke .close after a zlib error (which will null _handle).\n if (!engine._handle)\n return;\n\n engine._handle.close();\n engine._handle = null;\n}\n\nfunction emitCloseNT(self) {\n self.emit('close');\n}\n\n// generic zlib\n// minimal 2-byte header\nfunction Deflate(opts) {\n if (!(this instanceof Deflate))\n return new Deflate(opts);\n Zlib.call(this, opts, constants.DEFLATE);\n}\ninherits(Deflate, Zlib);\n\nfunction Inflate(opts) {\n if (!(this instanceof Inflate))\n return new Inflate(opts);\n Zlib.call(this, opts, constants.INFLATE);\n}\ninherits(Inflate, Zlib);\n\nfunction Gzip(opts) {\n if (!(this instanceof Gzip))\n return new Gzip(opts);\n Zlib.call(this, opts, constants.GZIP);\n}\ninherits(Gzip, Zlib);\n\nfunction Gunzip(opts) {\n if (!(this instanceof Gunzip))\n return new Gunzip(opts);\n Zlib.call(this, opts, constants.GUNZIP);\n}\ninherits(Gunzip, Zlib);\n\nfunction DeflateRaw(opts) {\n if (!(this instanceof DeflateRaw))\n return new DeflateRaw(opts);\n Zlib.call(this, opts, constants.DEFLATERAW);\n}\ninherits(DeflateRaw, Zlib);\n\nfunction InflateRaw(opts) {\n if (!(this instanceof InflateRaw))\n return new InflateRaw(opts);\n Zlib.call(this, opts, constants.INFLATERAW);\n}\ninherits(InflateRaw, Zlib);\n\nfunction Unzip(opts) {\n if (!(this instanceof Unzip))\n return new Unzip(opts);\n Zlib.call(this, opts, constants.UNZIP);\n}\ninherits(Unzip, Zlib);\n\nfunction createConvenienceMethod(type, sync) {\n if (sync) {\n return function(buffer, opts) {\n return zlibBufferSync(new type(opts), buffer);\n };\n } else {\n return function(buffer, opts, callback) {\n if (typeof opts === 'function') {\n callback = opts;\n opts = {};\n }\n return zlibBuffer(new type(opts), buffer, callback);\n };\n }\n}\n\nfunction createProperty(type) {\n return {\n configurable: true,\n enumerable: true,\n value: type\n };\n}\n\nmodule.exports = {\n Deflate,\n Inflate,\n Gzip,\n Gunzip,\n DeflateRaw,\n InflateRaw,\n Unzip,\n\n // Convenience methods.\n // compress/decompress a string or buffer in one step.\n deflate: createConvenienceMethod(Deflate, false),\n deflateSync: createConvenienceMethod(Deflate, true),\n gzip: createConvenienceMethod(Gzip, false),\n gzipSync: createConvenienceMethod(Gzip, true),\n deflateRaw: createConvenienceMethod(DeflateRaw, false),\n deflateRawSync: createConvenienceMethod(DeflateRaw, true),\n unzip: createConvenienceMethod(Unzip, false),\n unzipSync: createConvenienceMethod(Unzip, true),\n inflate: createConvenienceMethod(Inflate, false),\n inflateSync: createConvenienceMethod(Inflate, true),\n gunzip: createConvenienceMethod(Gunzip, false),\n gunzipSync: createConvenienceMethod(Gunzip, true),\n inflateRaw: createConvenienceMethod(InflateRaw, false),\n inflateRawSync: createConvenienceMethod(InflateRaw, true)\n};\n\nObject.defineProperties(module.exports, {\n createDeflate: createProperty(module.exports.Deflate),\n createInflate: createProperty(module.exports.Inflate),\n createDeflateRaw: createProperty(module.exports.DeflateRaw),\n createInflateRaw: createProperty(module.exports.InflateRaw),\n createGzip: createProperty(module.exports.Gzip),\n createGunzip: createProperty(module.exports.Gunzip),\n createUnzip: createProperty(module.exports.Unzip),\n constants: {\n configurable: false,\n enumerable: true,\n value: constants\n },\n codes: {\n enumerable: true,\n writable: false,\n value: Object.freeze(codes)\n }\n});\n\n// These should be considered deprecated\n// expose all the zlib constants\nconst bkeys = Object.keys(constants);\nfor (var bk = 0; bk < bkeys.length; bk++) {\n var bkey = bkeys[bk];\n Object.defineProperty(module.exports, bkey, {\n enumerable: true, value: constants[bkey], writable: false\n });\n}\n\n});", "pkgUrl": "(system)" }, { "id": "53", "url": "_stream_transform.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nconst Duplex = require('_stream_duplex');\nconst util = require('util');\nutil.inherits(Transform, Duplex);\n\n\nfunction TransformState(stream) {\n this.afterTransform = function(er, data) {\n return afterTransform(stream, er, data);\n };\n\n this.needTransform = false;\n this.transforming = false;\n this.writecb = null;\n this.writechunk = null;\n this.writeencoding = null;\n}\n\nfunction afterTransform(stream, er, data) {\n var ts = stream._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return stream.emit('error',\n new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data !== null && data !== undefined)\n stream.push(data);\n\n cb(er);\n\n var rs = stream._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n stream._read(rs.highWaterMark);\n }\n}\n\n\nfunction Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = new TransformState(this);\n\n var stream = this;\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function')\n this._transform = options.transform;\n\n if (typeof options.flush === 'function')\n this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.once('prefinish', function() {\n if (typeof this._flush === 'function')\n this._flush(function(er, data) {\n done(stream, er, data);\n });\n else\n done(stream);\n });\n}\n\nTransform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function(chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform ||\n rs.needReadable ||\n rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function(n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\n\nTransform.prototype._destroy = function(err, cb) {\n Duplex.prototype._destroy.call(this, err, (err2) => {\n cb(err2);\n this.emit('close');\n });\n};\n\n\nfunction done(stream, er, data) {\n if (er)\n return stream.emit('error', er);\n\n if (data !== null && data !== undefined)\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n var ws = stream._writableState;\n var ts = stream._transformState;\n\n if (ws.length)\n throw new Error('Calling transform done when ws.length != 0');\n\n if (ts.transforming)\n throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n});", "pkgUrl": "(system)" }, { "id": "249", "url": "/usr/local/lib/node_modules/npm/lib/install/copy-tree.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar createNode = require('./node.js').create\nmodule.exports = function (tree, filter) {\n return copyTree(tree, {}, filter)\n}\n\nfunction copyTree (tree, cache, filter) {\n if (filter && !filter(tree)) { return null }\n if (cache[tree.path]) { return cache[tree.path] }\n var newTree = cache[tree.path] = createNode(Object.assign({}, tree))\n copyModuleList(newTree, 'children', cache, filter)\n newTree.children.forEach(function (child) {\n child.parent = newTree\n })\n copyModuleList(newTree, 'requires', cache, filter)\n copyModuleList(newTree, 'requiredBy', cache, filter)\n return newTree\n}\n\nfunction copyModuleList (tree, key, cache, filter) {\n var newList = []\n if (tree[key]) {\n tree[key].forEach(function (child) {\n const copy = copyTree(child, cache, filter)\n if (copy) {\n newList.push(copy)\n }\n })\n }\n tree[key] = newList\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "228", "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var licenseIDs = require('spdx-license-ids');\n\nfunction valid(string) {\n return licenseIDs.indexOf(string) > -1;\n}\n\n// Common transpositions of license identifier acronyms\nvar transpositions = [\n ['APGL', 'AGPL'],\n ['Gpl', 'GPL'],\n ['GLP', 'GPL'],\n ['APL', 'Apache'],\n ['ISD', 'ISC'],\n ['GLP', 'GPL'],\n ['IST', 'ISC'],\n ['Claude', 'Clause'],\n [' or later', '+'],\n [' International', ''],\n ['GNU', 'GPL'],\n ['GUN', 'GPL'],\n ['+', ''],\n ['GNU GPL', 'GPL'],\n ['GNU/GPL', 'GPL'],\n ['GNU GLP', 'GPL'],\n ['GNU General Public License', 'GPL'],\n ['Gnu public license', 'GPL'],\n ['GNU Public License', 'GPL'],\n ['GNU GENERAL PUBLIC LICENSE', 'GPL'],\n ['MTI', 'MIT'],\n ['Mozilla Public License', 'MPL'],\n ['WTH', 'WTF'],\n ['-License', '']\n];\n\nvar TRANSPOSED = 0;\nvar CORRECT = 1;\n\n// Simple corrections to nearly valid identifiers.\nvar transforms = [\n // e.g. 'mit'\n function(argument) {\n return argument.toUpperCase();\n },\n // e.g. 'MIT '\n function(argument) {\n return argument.trim();\n },\n // e.g. 'M.I.T.'\n function(argument) {\n return argument.replace(/\\./g, '');\n },\n // e.g. 'Apache- 2.0'\n function(argument) {\n return argument.replace(/\\s+/g, '');\n },\n // e.g. 'CC BY 4.0''\n function(argument) {\n return argument.replace(/\\s+/g, '-');\n },\n // e.g. 'LGPLv2.1'\n function(argument) {\n return argument.replace('v', '-');\n },\n // e.g. 'Apache 2.0'\n function(argument) {\n return argument.replace(/,?\\s*(\\d)/, '-$1');\n },\n // e.g. 'GPL 2'\n function(argument) {\n return argument.replace(/,?\\s*(\\d)/, '-$1.0');\n },\n // e.g. 'Apache Version 2.0'\n function(argument) {\n return argument.replace(/,?\\s*(V\\.|v\\.|V|v|Version|version)\\s*(\\d)/, '-$2');\n },\n // e.g. 'Apache Version 2'\n function(argument) {\n return argument.replace(/,?\\s*(V\\.|v\\.|V|v|Version|version)\\s*(\\d)/, '-$2.0');\n },\n // e.g. 'ZLIB'\n function(argument) {\n return argument[0].toUpperCase() + argument.slice(1);\n },\n // e.g. 'MPL/2.0'\n function(argument) {\n return argument.replace('/', '-');\n },\n // e.g. 'Apache 2'\n function(argument) {\n return argument\n .replace(/\\s*V\\s*(\\d)/, '-$1')\n .replace(/(\\d)$/, '$1.0');\n },\n // e.g. 'GPL-2.0-'\n function(argument) {\n return argument.slice(0, argument.length - 1);\n },\n // e.g. 'GPL2'\n function(argument) {\n return argument.replace(/(\\d)$/, '-$1.0');\n },\n // e.g. 'BSD 3'\n function(argument) {\n return argument.replace(/(-| )?(\\d)$/, '-$2-Clause');\n },\n // e.g. 'BSD clause 3'\n function(argument) {\n return argument.replace(/(-| )clause(-| )(\\d)/, '-$3-Clause');\n },\n // e.g. 'BY-NC-4.0'\n function(argument) {\n return 'CC-' + argument;\n },\n // e.g. 'BY-NC'\n function(argument) {\n return 'CC-' + argument + '-4.0';\n },\n // e.g. 'Attribution-NonCommercial'\n function(argument) {\n return argument\n .replace('Attribution', 'BY')\n .replace('NonCommercial', 'NC')\n .replace('NoDerivatives', 'ND')\n .replace(/ (\\d)/, '-$1')\n .replace(/ ?International/, '');\n },\n // e.g. 'Attribution-NonCommercial'\n function(argument) {\n return 'CC-' +\n argument\n .replace('Attribution', 'BY')\n .replace('NonCommercial', 'NC')\n .replace('NoDerivatives', 'ND')\n .replace(/ (\\d)/, '-$1')\n .replace(/ ?International/, '') +\n '-4.0';\n }\n];\n\n// If all else fails, guess that strings containing certain substrings\n// meant to identify certain licenses.\nvar lastResorts = [\n ['UNLI', 'Unlicense'],\n ['WTF', 'WTFPL'],\n ['2 CLAUSE', 'BSD-2-Clause'],\n ['2-CLAUSE', 'BSD-2-Clause'],\n ['3 CLAUSE', 'BSD-3-Clause'],\n ['3-CLAUSE', 'BSD-3-Clause'],\n ['AFFERO', 'AGPL-3.0'],\n ['AGPL', 'AGPL-3.0'],\n ['APACHE', 'Apache-2.0'],\n ['ARTISTIC', 'Artistic-2.0'],\n ['Affero', 'AGPL-3.0'],\n ['BEER', 'Beerware'],\n ['BOOST', 'BSL-1.0'],\n ['BSD', 'BSD-2-Clause'],\n ['ECLIPSE', 'EPL-1.0'],\n ['FUCK', 'WTFPL'],\n ['GNU', 'GPL-3.0'],\n ['LGPL', 'LGPL-3.0'],\n ['GPL', 'GPL-3.0'],\n ['MIT', 'MIT'],\n ['MPL', 'MPL-2.0'],\n ['X11', 'X11'],\n ['ZLIB', 'Zlib']\n];\n\nvar SUBSTRING = 0;\nvar IDENTIFIER = 1;\n\nvar validTransformation = function(identifier) {\n for (var i = 0; i < transforms.length; i++) {\n var transformed = transforms[i](identifier);\n if (transformed !== identifier && valid(transformed)) {\n return transformed;\n }\n }\n return null;\n};\n\nvar validLastResort = function(identifier) {\n var upperCased = identifier.toUpperCase();\n for (var i = 0; i < lastResorts.length; i++) {\n var lastResort = lastResorts[i];\n if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) {\n return lastResort[IDENTIFIER];\n }\n }\n return null;\n};\n\nvar anyCorrection = function(identifier, check) {\n for (var i = 0; i < transpositions.length; i++) {\n var transposition = transpositions[i];\n var transposed = transposition[TRANSPOSED];\n if (identifier.indexOf(transposed) > -1) {\n var corrected = identifier.replace(\n transposed,\n transposition[CORRECT]\n );\n var checked = check(corrected);\n if (checked !== null) {\n return checked;\n }\n }\n }\n return null;\n};\n\nmodule.exports = function(identifier) {\n identifier = identifier.replace(/\\+$/, '');\n if (valid(identifier)) {\n return identifier;\n }\n var transformed = validTransformation(identifier);\n if (transformed !== null) {\n return transformed;\n }\n transformed = anyCorrection(identifier, function(argument) {\n if (valid(argument)) {\n return argument;\n }\n return validTransformation(argument);\n });\n if (transformed !== null) {\n return transformed;\n }\n transformed = validLastResort(identifier);\n if (transformed !== null) {\n return transformed;\n }\n transformed = anyCorrection(identifier, validLastResort);\n if (transformed !== null) {\n return transformed;\n }\n return null;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct" }, { "id": "697", "url": "_tls_common.js", "source": "(function (exports, require, module, __filename, __dirname) { // 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'use strict';\n\nconst tls = require('tls');\n\nconst SSL_OP_CIPHER_SERVER_PREFERENCE =\n process.binding('constants').crypto.SSL_OP_CIPHER_SERVER_PREFERENCE;\n\n// Lazily loaded\nvar crypto = null;\n\nconst binding = process.binding('crypto');\nconst NativeSecureContext = binding.SecureContext;\n\nfunction SecureContext(secureProtocol, secureOptions, context) {\n if (!(this instanceof SecureContext)) {\n return new SecureContext(secureProtocol, secureOptions, context);\n }\n\n if (context) {\n this.context = context;\n } else {\n this.context = new NativeSecureContext();\n\n if (secureProtocol) {\n this.context.init(secureProtocol);\n } else {\n this.context.init();\n }\n }\n\n if (secureOptions) this.context.setOptions(secureOptions);\n}\n\nexports.SecureContext = SecureContext;\n\n\nexports.createSecureContext = function createSecureContext(options, context) {\n if (!options) options = {};\n\n var secureOptions = options.secureOptions;\n if (options.honorCipherOrder)\n secureOptions |= SSL_OP_CIPHER_SERVER_PREFERENCE;\n\n var c = new SecureContext(options.secureProtocol, secureOptions, context);\n var i;\n\n if (context) return c;\n\n // NOTE: It's important to add CA before the cert to be able to load\n // cert's issuer in C++ code.\n if (options.ca) {\n if (Array.isArray(options.ca)) {\n for (i = 0; i < options.ca.length; i++) {\n c.context.addCACert(options.ca[i]);\n }\n } else {\n c.context.addCACert(options.ca);\n }\n } else {\n c.context.addRootCerts();\n }\n\n if (options.cert) {\n if (Array.isArray(options.cert)) {\n for (i = 0; i < options.cert.length; i++)\n c.context.setCert(options.cert[i]);\n } else {\n c.context.setCert(options.cert);\n }\n }\n\n // NOTE: It is important to set the key after the cert.\n // `ssl_set_pkey` returns `0` when the key does not match the cert, but\n // `ssl_set_cert` returns `1` and nullifies the key in the SSL structure\n // which leads to the crash later on.\n if (options.key) {\n if (Array.isArray(options.key)) {\n for (i = 0; i < options.key.length; i++) {\n const key = options.key[i];\n const passphrase = key.passphrase || options.passphrase;\n c.context.setKey(key.pem || key, passphrase);\n }\n } else {\n c.context.setKey(options.key, options.passphrase);\n }\n }\n\n if (options.ciphers)\n c.context.setCiphers(options.ciphers);\n else\n c.context.setCiphers(tls.DEFAULT_CIPHERS);\n\n if (options.ecdhCurve === undefined)\n c.context.setECDHCurve(tls.DEFAULT_ECDH_CURVE);\n else if (options.ecdhCurve)\n c.context.setECDHCurve(options.ecdhCurve);\n\n if (options.dhparam) {\n const warning = c.context.setDHParam(options.dhparam);\n if (warning)\n process.emitWarning(warning, 'SecurityWarning');\n }\n\n if (options.crl) {\n if (Array.isArray(options.crl)) {\n for (i = 0; i < options.crl.length; i++) {\n c.context.addCRL(options.crl[i]);\n }\n } else {\n c.context.addCRL(options.crl);\n }\n }\n\n if (options.sessionIdContext) {\n c.context.setSessionIdContext(options.sessionIdContext);\n }\n\n if (options.pfx) {\n var pfx = options.pfx;\n var passphrase = options.passphrase;\n\n if (!crypto)\n crypto = require('crypto');\n\n pfx = crypto._toBuf(pfx);\n if (passphrase)\n passphrase = crypto._toBuf(passphrase);\n\n if (passphrase) {\n c.context.loadPKCS12(pfx, passphrase);\n } else {\n c.context.loadPKCS12(pfx);\n }\n }\n\n // Do not keep read/write buffers in free list for OpenSSL < 1.1.0. (For\n // OpenSSL 1.1.0, buffers are malloced and freed without the use of a\n // freelist.)\n if (options.singleUse) {\n c.singleUse = true;\n c.context.setFreeListLength(0);\n }\n\n return c;\n};\n\nexports.translatePeerCertificate = function translatePeerCertificate(c) {\n if (!c)\n return null;\n\n if (c.issuer) c.issuer = tls.parseCertString(c.issuer);\n if (c.issuerCertificate && c.issuerCertificate !== c) {\n c.issuerCertificate = translatePeerCertificate(c.issuerCertificate);\n }\n if (c.subject) c.subject = tls.parseCertString(c.subject);\n if (c.infoAccess) {\n var info = c.infoAccess;\n c.infoAccess = {};\n\n // XXX: More key validation?\n info.replace(/([^\\n:]*):([^\\n]*)(?:\\n|$)/g, function(all, key, val) {\n if (key === '__proto__')\n return;\n\n if (c.infoAccess.hasOwnProperty(key))\n c.infoAccess[key].push(val);\n else\n c.infoAccess[key] = [val];\n });\n }\n return c;\n};\n\n});", "pkgUrl": "(system)" }, { "id": "275", "url": "", "source": "(function(value,holder\n/*``*/) {\n \n 'use strict'; \n holder.p1 = value; \n holder.checkFulfillment(this); \n \n})", "pkgUrl": "(system)" }, { "id": "260", "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/thenables.js", "source": "(function (exports, require, module, __filename, __dirname) { \"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar util = require(\"./util\");\nvar errorObj = util.errorObj;\nvar isObject = util.isObject;\n\nfunction tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n obj._then(\n ret._fulfill,\n ret._reject,\n undefined,\n ret,\n null\n );\n return ret;\n }\n return doThenable(obj, then, context);\n }\n }\n return obj;\n}\n\nfunction doGetThen(obj) {\n return obj.then;\n}\n\nfunction getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\n\nvar hasProp = {}.hasOwnProperty;\nfunction isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n}\n\nfunction doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n promise._captureStackTrace();\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n promise._resolveCallback(value);\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n promise._rejectCallback(reason, synchronous, true);\n promise = null;\n }\n return ret;\n}\n\nreturn tryConvertToPromise;\n};\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/bluebird" }, { "id": "317", "url": "/usr/local/lib/node_modules/npm/lib/install/realize-shrinkwrap-specifier.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar npa = require('npm-package-arg')\n\nmodule.exports = function (name, sw, where) {\n try {\n if (sw.version && sw.integrity) {\n return npa.resolve(name, sw.version, where)\n }\n if (sw.resolved) {\n return npa.resolve(name, sw.resolved, where)\n }\n if (sw.from) {\n var spec = npa(sw.from, where)\n if (!spec.registry) return spec\n }\n } catch (_) { }\n return npa.resolve(name, sw.version, where)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "554", "url": "/usr/local/lib/node_modules/npm/lib/install/validate-args.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar validate = require('aproba')\nvar asyncMap = require('slide').asyncMap\nvar chain = require('slide').chain\nvar npmInstallChecks = require('npm-install-checks')\nvar iferr = require('iferr')\nvar checkEngine = npmInstallChecks.checkEngine\nvar checkPlatform = npmInstallChecks.checkPlatform\nvar npm = require('../npm.js')\n\nmodule.exports = function (idealTree, args, next) {\n validate('OAF', arguments)\n var force = npm.config.get('force')\n\n asyncMap(args, function (pkg, done) {\n chain([\n [checkSelf, idealTree, pkg, force],\n [isInstallable, pkg]\n ], done)\n }, next)\n}\n\nfunction getWarnings (pkg) {\n while (pkg.parent) pkg = pkg.parent\n if (!pkg.warnings) pkg.warnings = []\n return pkg.warnings\n}\n\nvar isInstallable = module.exports.isInstallable = function (pkg, next) {\n var force = npm.config.get('force')\n var nodeVersion = npm.config.get('node-version')\n if (/-/.test(nodeVersion)) {\n // for the purposes of validation, if the node version is a prerelease,\n // strip that. We check and warn about this sceanrio over in validate-tree.\n nodeVersion = nodeVersion.replace(/-.*/, '')\n }\n var strict = npm.config.get('engine-strict')\n checkEngine(pkg, npm.version, nodeVersion, force, strict, iferr(next, thenWarnEngineIssues))\n function thenWarnEngineIssues (warn) {\n if (warn) getWarnings(pkg).push(warn)\n checkPlatform(pkg, force, next)\n }\n}\n\nfunction checkSelf (idealTree, pkg, force, next) {\n if (idealTree.package && idealTree.package.name !== pkg.name) return next()\n if (force) {\n var warn = new Error(\"Wouldn't install \" + pkg.name + ' as a dependency of itself, but being forced')\n warn.code = 'ENOSELF'\n idealTree.warnings.push(warn)\n next()\n } else {\n var er = new Error('Refusing to install package with name \"' + pkg.name +\n '\" under a package\\n' +\n 'also called \"' + pkg.name + '\". Did you name your project the same\\n' +\n 'as the dependency you\\'re installing?\\n\\n' +\n 'For more information, see:\\n' +\n ' ')\n er.code = 'ENOSELF'\n next(er)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "555", "url": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var fs = require('fs')\nvar path = require('path')\nvar util = require('util')\nvar semver = require('semver')\n\nexports.checkEngine = checkEngine\nfunction checkEngine (target, npmVer, nodeVer, force, strict, cb) {\n var nodev = force ? null : nodeVer\n var eng = target.engines\n if (!eng) return cb()\n if (nodev && eng.node && !semver.satisfies(nodev, eng.node) ||\n eng.npm && !semver.satisfies(npmVer, eng.npm)) {\n var er = new Error(util.format('Unsupported engine for %s: wanted: %j (current: %j)',\n target._id, eng, {node: nodev, npm: npmVer}))\n er.code = 'ENOTSUP'\n er.required = eng\n er.pkgid = target._id\n if (strict) {\n return cb(er)\n } else {\n return cb(null, er)\n }\n }\n return cb()\n}\n\nexports.checkPlatform = checkPlatform\nfunction checkPlatform (target, force, cb) {\n var platform = process.platform\n var arch = process.arch\n var osOk = true\n var cpuOk = true\n\n if (force) {\n return cb()\n }\n\n if (target.os) {\n osOk = checkList(platform, target.os)\n }\n if (target.cpu) {\n cpuOk = checkList(arch, target.cpu)\n }\n if (!osOk || !cpuOk) {\n var er = new Error(util.format('Unsupported platform for %s: wanted %j (current: %j)',\n target._id, target, {os: platform, cpu: arch}))\n er.code = 'EBADPLATFORM'\n er.os = target.os || ['any']\n er.cpu = target.cpu || ['any']\n er.pkgid = target._id\n return cb(er)\n }\n return cb()\n}\n\nfunction checkList (value, list) {\n var tmp\n var match = false\n var blc = 0\n if (typeof list === 'string') {\n list = [list]\n }\n if (list.length === 1 && list[0] === 'any') {\n return true\n }\n for (var i = 0; i < list.length; ++i) {\n tmp = list[i]\n if (tmp[0] === '!') {\n tmp = tmp.slice(1)\n if (tmp === value) {\n return false\n }\n ++blc\n } else {\n match = match || tmp === value\n }\n }\n return match || blc === list.length\n}\n\nexports.checkCycle = checkCycle\nfunction checkCycle (target, ancestors, cb) {\n // there are some very rare and pathological edge-cases where\n // a cycle can cause npm to try to install a never-ending tree\n // of stuff.\n // Simplest:\n //\n // A -> B -> A' -> B' -> A -> B -> A' -> B' -> A -> ...\n //\n // Solution: Simply flat-out refuse to install any name@version\n // that is already in the prototype tree of the ancestors object.\n // A more correct, but more complex, solution would be to symlink\n // the deeper thing into the new location.\n // Will do that if anyone whines about this irl.\n //\n // Note: `npm install foo` inside of the `foo` package will abort\n // earlier if `--force` is not set. However, if it IS set, then\n // we need to still fail here, but just skip the first level. Of\n // course, it'll still fail eventually if it's a true cycle, and\n // leave things in an undefined state, but that's what is to be\n // expected when `--force` is used. That is why getPrototypeOf\n // is used *twice* here: to skip the first level of repetition.\n\n var p = Object.getPrototypeOf(Object.getPrototypeOf(ancestors))\n var name = target.name\n var version = target.version\n while (p && p !== Object.prototype && p[name] !== version) {\n p = Object.getPrototypeOf(p)\n }\n if (p[name] !== version) return cb()\n\n var er = new Error(target._id + ': Unresolvable cycle detected')\n var tree = [target._id, JSON.parse(JSON.stringify(ancestors))]\n var t = Object.getPrototypeOf(ancestors)\n while (t && t !== Object.prototype) {\n if (t === p) t.THIS_IS_P = true\n tree.push(JSON.parse(JSON.stringify(t)))\n t = Object.getPrototypeOf(t)\n }\n er.pkgid = target._id\n er.code = 'ECYCLE'\n return cb(er)\n}\n\nexports.checkGit = checkGit\nfunction checkGit (folder, cb) {\n // if it's a git repo then don't touch it!\n fs.lstat(folder, function (er, s) {\n if (er || !s.isDirectory()) return cb()\n else checkGit_(folder, cb)\n })\n}\n\nfunction checkGit_ (folder, cb) {\n fs.stat(path.resolve(folder, '.git'), function (er, s) {\n if (!er && s.isDirectory()) {\n var e = new Error(folder + ': Appears to be a git repo or submodule.')\n e.path = folder\n e.code = 'EISGIT'\n return cb(e)\n }\n cb()\n })\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks" }, { "id": "551", "url": "/usr/local/lib/node_modules/npm/lib/install/and-add-parent-to-errors.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar validate = require('aproba')\n\nmodule.exports = function (parent, cb) {\n validate('F', [cb])\n return function (er) {\n if (!er) return cb.apply(null, arguments)\n if (er instanceof Error && parent && parent.package && parent.package.name) {\n er.parent = parent.package.name\n }\n cb(er)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "895", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetchers/git.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst cacache = require('cacache')\nconst cacheKey = require('../util/cache-key')\nconst Fetcher = require('../fetch')\nconst git = require('../util/git')\nconst mkdirp = BB.promisify(require('mkdirp'))\nconst pickManifest = require('npm-pick-manifest')\nconst optCheck = require('../util/opt-check')\nconst osenv = require('osenv')\nconst packDir = require('../util/pack-dir')\nconst PassThrough = require('stream').PassThrough\nconst path = require('path')\nconst pipe = BB.promisify(require('mississippi').pipe)\nconst rimraf = BB.promisify(require('rimraf'))\nconst uniqueFilename = require('unique-filename')\n\n// `git` dependencies are fetched from git repositories and packed up.\nconst fetchGit = module.exports = Object.create(null)\n\nFetcher.impl(fetchGit, {\n manifest (spec, opts) {\n opts = optCheck(opts)\n if (spec.hosted && spec.hosted.getDefaultRepresentation() === 'shortcut') {\n return hostedManifest(spec, opts)\n } else {\n // If it's not a shortcut, don't do fallbacks.\n return plainManifest(spec.fetchSpec, spec, opts)\n }\n },\n\n tarball (spec, opts) {\n opts = optCheck(opts)\n const stream = new PassThrough()\n this.manifest(spec, opts).then(manifest => {\n stream.emit('manifest', manifest)\n return pipe(\n this.fromManifest(\n manifest, spec, opts\n ).on('integrity', i => stream.emit('integrity', i)), stream\n )\n }, err => stream.emit('error', err))\n return stream\n },\n\n fromManifest (manifest, spec, opts) {\n opts = optCheck(opts)\n let streamError\n const stream = new PassThrough().on('error', e => { streamError = e })\n const cacheName = manifest._uniqueResolved || manifest._resolved || ''\n const cacheStream = (\n opts.cache &&\n cacache.get.stream(\n opts.cache, cacheKey('packed-dir', cacheName), opts\n ).on('integrity', i => stream.emit('integrity', i))\n )\n cacheStream.pipe(stream)\n cacheStream.on('error', err => {\n if (err.code !== 'ENOENT') {\n return stream.emit('error', err)\n } else {\n stream.emit('reset')\n return withTmp(opts, tmp => {\n if (streamError) { throw streamError }\n return cloneRepo(\n manifest._repo, manifest._ref, manifest._rawRef, tmp, opts\n ).then(HEAD => {\n if (streamError) { throw streamError }\n manifest._resolved = spec.saveSpec.replace(/(:?#.*)?$/, `#${HEAD}`)\n manifest._uniqueResolved = manifest._resolved\n return packDir(manifest, manifest._uniqueResolved, tmp, stream, opts)\n })\n }).catch(err => stream.emit('error', err))\n }\n })\n return stream\n }\n})\n\nfunction hostedManifest (spec, opts) {\n return BB.resolve(null).then(() => {\n if (!spec.hosted.git()) {\n throw new Error(`No git url for ${spec}`)\n }\n return plainManifest(spec.hosted.git(), spec, opts)\n }).catch(err => {\n if (!spec.hosted.https()) {\n throw err\n }\n return plainManifest(spec.hosted.https(), spec, opts)\n }).catch(err => {\n if (!spec.hosted.sshurl()) {\n throw err\n }\n return plainManifest(spec.hosted.sshurl(), spec, opts)\n })\n}\n\nfunction plainManifest (repo, spec, opts) {\n const rawRef = spec.gitCommittish || spec.gitRange\n return resolve(\n repo, spec, spec.name, opts\n ).then(ref => {\n if (ref) {\n const resolved = spec.saveSpec.replace(/(?:#.*)?$/, `#${ref.sha}`)\n return {\n _repo: repo,\n _resolved: resolved,\n _spec: spec,\n _ref: ref,\n _rawRef: spec.gitCommittish || spec.gitRange,\n _uniqueResolved: resolved\n }\n } else {\n // We're SOL and need a full clone :(\n //\n // If we're confident enough that `rawRef` is a commit SHA,\n // then we can at least get `finalize-manifest` to cache its result.\n const resolved = spec.saveSpec.replace(/(?:#.*)?$/, `#${rawRef}`)\n return {\n _repo: repo,\n _rawRef: rawRef,\n _resolved: rawRef.match(/^[a-f0-9]{40}$/) && resolved,\n _uniqueResolved: rawRef.match(/^[a-f0-9]{40}$/) && resolved\n }\n }\n })\n}\n\nfunction resolve (url, spec, name, opts) {\n const isSemver = !!spec.gitRange\n return git.revs(url, opts).then(remoteRefs => {\n return isSemver\n ? pickManifest({\n versions: remoteRefs.versions,\n 'dist-tags': remoteRefs['dist-tags'],\n name: name\n }, spec.gitRange, opts)\n : remoteRefs\n ? BB.resolve(\n remoteRefs.refs[spec.gitCommittish] || remoteRefs.refs[remoteRefs.shas[spec.gitCommittish]]\n )\n : null\n })\n}\n\nfunction withTmp (opts, cb) {\n if (opts.cache) {\n // cacache has a special facility for working in a tmp dir\n return cacache.tmp.withTmp(opts.cache, {tmpPrefix: 'git-clone'}, cb)\n } else {\n const tmpDir = path.join(osenv.tmpdir(), 'pacote-git-tmp')\n const tmpName = uniqueFilename(tmpDir, 'git-clone')\n const tmp = mkdirp(tmpName).then(() => tmpName).disposer(rimraf)\n return BB.using(tmp, cb)\n }\n}\n\nfunction cloneRepo (repo, resolvedRef, rawRef, tmp, opts) {\n if (resolvedRef) {\n return git.shallow(repo, resolvedRef.ref, tmp, opts)\n } else {\n return git.clone(repo, rawRef, tmp, opts)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "896", "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/lib/util/git.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\n\nconst BB = require('bluebird')\n\nconst cp = require('child_process')\nconst execFileAsync = BB.promisify(cp.execFile, {\n multiArgs: true\n})\nconst finished = BB.promisify(require('mississippi').finished)\nconst LRU = require('lru-cache')\nconst optCheck = require('./opt-check')\nconst osenv = require('osenv')\nconst path = require('path')\nconst pinflight = require('promise-inflight')\nconst uniqueFilename = require('unique-filename')\nconst which = BB.promisify(require('which'))\n\nconst GOOD_ENV_VARS = new Set([\n 'GIT_ASKPASS',\n 'GIT_EXEC_PATH',\n 'GIT_PROXY_COMMAND',\n 'GIT_SSH',\n 'GIT_SSH_COMMAND',\n 'GIT_SSL_CAINFO',\n 'GIT_SSL_NO_VERIFY'\n])\n\nlet GITENV\nfunction gitEnv () {\n if (GITENV) { return GITENV }\n const tmpDir = path.join(osenv.tmpdir(), 'pacote-git-template-tmp')\n const tmpName = uniqueFilename(tmpDir, 'git-clone')\n GITENV = {\n GIT_ASKPASS: 'echo',\n GIT_TEMPLATE_DIR: tmpName\n }\n Object.keys(process.env).forEach(k => {\n if (GOOD_ENV_VARS.has(k) || !k.match(/^GIT_/)) {\n GITENV[k] = process.env[k]\n }\n })\n return GITENV\n}\n\nlet GITPATH\ntry {\n GITPATH = which.sync('git')\n} catch (e) {}\n\nmodule.exports.clone = fullClone\nfunction fullClone (repo, committish, target, opts) {\n opts = optCheck(opts)\n const gitArgs = ['clone', '-q', repo, target]\n if (process.platform === 'win32') {\n gitArgs.push('--config', 'core.longpaths=true')\n }\n return execGit(gitArgs, {\n cwd: path.dirname(target)\n }, opts).then(() => {\n return execGit(['checkout', committish], {\n cwd: target\n })\n }).then(() => {\n return updateSubmodules(target, opts)\n }).then(() => headSha(target, opts))\n}\n\nmodule.exports.shallow = shallowClone\nfunction shallowClone (repo, branch, target, opts) {\n opts = optCheck(opts)\n const gitArgs = ['clone', '--depth=1', '-q', '-b', branch, repo, target]\n if (process.platform === 'win32') {\n gitArgs.push('--config', 'core.longpaths=true')\n }\n return execGit(gitArgs, {\n cwd: target\n }, opts).then(() => {\n return updateSubmodules(target, opts)\n }).then(() => headSha(target, opts))\n}\n\nfunction updateSubmodules (localRepo, opts) {\n const gitArgs = ['submodule', 'update', '-q', '--init', '--recursive']\n return execGit(gitArgs, {\n cwd: localRepo\n }, opts)\n}\n\nfunction headSha (repo, opts) {\n opts = optCheck(opts)\n return execGit(['rev-parse', '--revs-only', 'HEAD'], {cwd: repo}, opts).spread(stdout => {\n return stdout.trim()\n })\n}\n\nconst REVS = new LRU({\n max: 100,\n maxAge: 5 * 60 * 1000\n})\nmodule.exports.revs = revs\nfunction revs (repo, opts) {\n opts = optCheck(opts)\n const cached = REVS.get(repo)\n if (cached) {\n return BB.resolve(cached)\n }\n return pinflight(`ls-remote:${repo}`, () => {\n return spawnGit(['ls-remote', '-h', '-t', repo], {\n env: gitEnv()\n }, opts).then(child => {\n let stdout = ''\n child.stdout.on('data', d => { stdout += d })\n return finished(child).then(() => {\n return stdout.split('\\n').reduce((revs, line) => {\n const split = line.split(/\\s+/, 2)\n if (split.length < 2) { return revs }\n const sha = split[0].trim()\n const ref = split[1].trim().match(/(?:refs\\/[^/]+\\/)?(.*)/)[1]\n if (!ref) { return revs } // ???\n if (ref.match(/\\^\\{\\}$/)) { return revs } // refs/tags/x^{} crap\n const type = refType(line)\n const doc = {sha, ref, type}\n\n revs.refs[ref] = doc\n // We can check out shallow clones on specific SHAs if we have a ref\n if (revs.shas[sha]) {\n revs.shas[sha].push(ref)\n } else {\n revs.shas[sha] = [ref]\n }\n\n if (type === 'tag') {\n const match = ref.match(/v?(\\d+\\.\\d+\\.\\d+)$/)\n if (match) {\n revs.versions[match[1]] = doc\n }\n }\n\n return revs\n }, {versions: {}, 'dist-tags': {}, refs: {}, shas: {}})\n }).then(revs => {\n if (revs.refs.HEAD) {\n const HEAD = revs.refs.HEAD\n Object.keys(revs.versions).forEach(v => {\n if (v.sha === HEAD.sha) {\n revs['dist-tags'].HEAD = v\n if (!revs.refs.latest) {\n revs['dist-tags'].latest = revs.refs.HEAD\n }\n }\n })\n }\n REVS.set(repo, revs)\n return revs\n })\n })\n })\n}\n\nmodule.exports._exec = execGit\nfunction execGit (gitArgs, gitOpts, opts) {\n opts = optCheck(opts)\n return checkGit().then(gitPath => {\n return execFileAsync(gitPath, gitArgs, mkOpts(gitOpts, opts))\n })\n}\n\nmodule.exports._spawn = spawnGit\nfunction spawnGit (gitArgs, gitOpts, opts) {\n opts = optCheck(opts)\n return checkGit().then(gitPath => {\n return cp.spawn(gitPath, gitArgs, mkOpts(gitOpts, opts))\n })\n}\n\nfunction mkOpts (_gitOpts, opts) {\n const gitOpts = {\n env: gitEnv()\n }\n if (+opts.uid && !isNaN(opts.uid)) {\n gitOpts.uid = +opts.uid\n }\n if (+opts.gid && !isNaN(opts.gid)) {\n gitOpts.gid = +opts.gid\n }\n Object.assign(gitOpts, _gitOpts)\n return gitOpts\n}\n\nfunction checkGit () {\n if (!GITPATH) {\n const err = new Error('No git binary found in $PATH')\n err.code = 'ENOGIT'\n return BB.reject(err)\n } else {\n return BB.resolve(GITPATH)\n }\n}\n\nfunction refType (ref) {\n return ref.match(/refs\\/tags\\/.*$/)\n ? 'tag'\n : ref.match(/refs\\/heads\\/.*$/)\n ? 'branch'\n : ref.match(/HEAD$/)\n ? 'head'\n : 'other'\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/pacote" }, { "id": "314", "url": "/usr/local/lib/node_modules/npm/lib/utils/child-path.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar path = require('path')\nvar validate = require('aproba')\nvar moduleName = require('../utils/module-name.js')\n\nmodule.exports = childPath\nfunction childPath (parentPath, child) {\n validate('SO', arguments)\n return path.join(parentPath, 'node_modules', moduleName(child))\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm" }, { "id": "50", "url": "internal/streams/destroy.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n const readableDestroyed = this._readableState &&\n this._readableState.destroyed;\n const writableDestroyed = this._writableState &&\n this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err &&\n (!this._writableState || !this._writableState.errorEmitted)) {\n process.nextTick(emitErrorNT, this, err);\n }\n return;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, (err) => {\n if (!cb && err) {\n process.nextTick(emitErrorNT, this, err);\n if (this._writableState) {\n this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy,\n undestroy\n};\n\n});", "pkgUrl": "(system)" }, { "id": "103", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/base-theme.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar spin = require('./spin.js')\nvar progressBar = require('./progress-bar.js')\n\nmodule.exports = {\n activityIndicator: function (values, theme, width) {\n if (values.spun == null) return\n return spin(theme, values.spun)\n },\n progressbar: function (values, theme, width) {\n if (values.completed == null) return\n return progressBar(theme, width, values.completed)\n }\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "105", "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict'\nvar validate = require('aproba')\nvar renderTemplate = require('./render-template.js')\nvar wideTruncate = require('./wide-truncate')\nvar stringWidth = require('string-width')\n\nmodule.exports = function (theme, width, completed) {\n validate('ONN', [theme, width, completed])\n if (completed < 0) completed = 0\n if (completed > 1) completed = 1\n if (width <= 0) return ''\n var sofar = Math.round(width * completed)\n var rest = width - sofar\n var template = [\n {type: 'complete', value: repeat(theme.complete, sofar), length: sofar},\n {type: 'remaining', value: repeat(theme.remaining, rest), length: rest}\n ]\n return renderTemplate(width, template, theme)\n}\n\n// lodash's way of repeating\nfunction repeat (string, width) {\n var result = ''\n var n = width\n do {\n if (n % 2) {\n result += string\n }\n n = Math.floor(n / 2)\n /*eslint no-self-assign: 0*/\n string += string\n } while (n && stringWidth(result) < width)\n\n return wideTruncate(result, width)\n}\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge" }, { "id": "31", "url": "internal/process/next_tick.js", "source": "(function (exports, require, module, __filename, __dirname) { 'use strict';\n\nconst async_wrap = process.binding('async_wrap');\n/* Both these arrays are used to communicate between JS and C++ with as little\n * overhead as possible.\n *\n * async_hook_fields is a Uint32Array() that communicates the number of each\n * type of active hooks of each type and wraps the uin32_t array of\n * node::Environment::AsyncHooks::fields_.\n *\n * async_uid_fields is a Float64Array() that contains the async/trigger ids for\n * several operations. These fields are as follows:\n * kCurrentAsyncId: The async id of the current execution stack.\n * kCurrentTriggerId: The trigger id of the current execution stack.\n * kAsyncUidCntr: Counter that tracks the unique ids given to new resources.\n * kInitTriggerId: Written to just before creating a new resource, so the\n * constructor knows what other resource is responsible for its init().\n * Used this way so the trigger id doesn't need to be passed to every\n * resource's constructor.\n */\nconst { async_hook_fields, async_uid_fields } = async_wrap;\n// Used to change the state of the async id stack.\nconst { pushAsyncIds, popAsyncIds } = async_wrap;\n// Array of all AsyncHooks that will be iterated whenever an async event fires.\n// Using var instead of (preferably const) in order to assign\n// tmp_active_hooks_array if a hook is enabled/disabled during hook execution.\nvar active_hooks_array = [];\n// Track whether a hook callback is currently being processed. Used to make\n// sure active_hooks_array isn't altered in mid execution if another hook is\n// added or removed.\nvar processing_hook = false;\n// Use to temporarily store and updated active_hooks_array if the user enables\n// or disables a hook while hooks are being processed.\nvar tmp_active_hooks_array = null;\n// Keep track of the field counts held in tmp_active_hooks_array.\nvar tmp_async_hook_fields = null;\n\n// Each constant tracks how many callbacks there are for any given step of\n// async execution. These are tracked so if the user didn't include callbacks\n// for a given step, that step can bail out early.\nconst { kInit, kBefore, kAfter, kDestroy, kCurrentAsyncId, kCurrentTriggerId,\n kAsyncUidCntr, kInitTriggerId } = async_wrap.constants;\n\nconst { async_id_symbol, trigger_id_symbol } = async_wrap;\n\n// Used in AsyncHook and AsyncResource.\nconst init_symbol = Symbol('init');\nconst before_symbol = Symbol('before');\nconst after_symbol = Symbol('after');\nconst destroy_symbol = Symbol('destroy');\n\nlet setupHooksCalled = false;\n\n// Used to fatally abort the process if a callback throws.\nfunction fatalError(e) {\n if (typeof e.stack === 'string') {\n process._rawDebug(e.stack);\n } else {\n const o = { message: e };\n Error.captureStackTrace(o, fatalError);\n process._rawDebug(o.stack);\n }\n if (process.execArgv.some(\n (e) => /^--abort[_-]on[_-]uncaught[_-]exception$/.test(e))) {\n process.abort();\n }\n process.exit(1);\n}\n\n\n// Public API //\n\nclass AsyncHook {\n constructor({ init, before, after, destroy }) {\n if (init !== undefined && typeof init !== 'function')\n throw new TypeError('init must be a function');\n if (before !== undefined && typeof before !== 'function')\n throw new TypeError('before must be a function');\n if (after !== undefined && typeof after !== 'function')\n throw new TypeError('after must be a function');\n if (destroy !== undefined && typeof destroy !== 'function')\n throw new TypeError('destroy must be a function');\n\n this[init_symbol] = init;\n this[before_symbol] = before;\n this[after_symbol] = after;\n this[destroy_symbol] = destroy;\n }\n\n enable() {\n // The set of callbacks for a hook should be the same regardless of whether\n // enable()/disable() are run during their execution. The following\n // references are reassigned to the tmp arrays if a hook is currently being\n // processed.\n const [hooks_array, hook_fields] = getHookArrays();\n\n // Each hook is only allowed to be added once.\n if (hooks_array.includes(this))\n return this;\n\n if (!setupHooksCalled) {\n setupHooksCalled = true;\n // Setup the callbacks that node::AsyncWrap will call when there are\n // hooks to process. They use the same functions as the JS embedder API.\n async_wrap.setupHooks({ init,\n before: emitBeforeN,\n after: emitAfterN,\n destroy: emitDestroyN });\n }\n\n // createHook() has already enforced that the callbacks are all functions,\n // so here simply increment the count of whether each callbacks exists or\n // not.\n hook_fields[kInit] += +!!this[init_symbol];\n hook_fields[kBefore] += +!!this[before_symbol];\n hook_fields[kAfter] += +!!this[after_symbol];\n hook_fields[kDestroy] += +!!this[destroy_symbol];\n hooks_array.push(this);\n return this;\n }\n\n disable() {\n const [hooks_array, hook_fields] = getHookArrays();\n\n const index = hooks_array.indexOf(this);\n if (index === -1)\n return this;\n\n hook_fields[kInit] -= +!!this[init_symbol];\n hook_fields[kBefore] -= +!!this[before_symbol];\n hook_fields[kAfter] -= +!!this[after_symbol];\n hook_fields[kDestroy] -= +!!this[destroy_symbol];\n hooks_array.splice(index, 1);\n return this;\n }\n}\n\n\nfunction getHookArrays() {\n if (!processing_hook)\n return [active_hooks_array, async_hook_fields];\n // If this hook is being enabled while in the middle of processing the array\n // of currently active hooks then duplicate the current set of active hooks\n // and store this there. This shouldn't fire until the next time hooks are\n // processed.\n if (tmp_active_hooks_array === null)\n storeActiveHooks();\n return [tmp_active_hooks_array, tmp_async_hook_fields];\n}\n\n\nfunction storeActiveHooks() {\n tmp_active_hooks_array = active_hooks_array.slice();\n // Don't want to make the assumption that kInit to kDestroy are indexes 0 to\n // 4. So do this the long way.\n tmp_async_hook_fields = [];\n tmp_async_hook_fields[kInit] = async_hook_fields[kInit];\n tmp_async_hook_fields[kBefore] = async_hook_fields[kBefore];\n tmp_async_hook_fields[kAfter] = async_hook_fields[kAfter];\n tmp_async_hook_fields[kDestroy] = async_hook_fields[kDestroy];\n}\n\n\n// Then restore the correct hooks array in case any hooks were added/removed\n// during hook callback execution.\nfunction restoreTmpHooks() {\n active_hooks_array = tmp_active_hooks_array;\n async_hook_fields[kInit] = tmp_async_hook_fields[kInit];\n async_hook_fields[kBefore] = tmp_async_hook_fields[kBefore];\n async_hook_fields[kAfter] = tmp_async_hook_fields[kAfter];\n async_hook_fields[kDestroy] = tmp_async_hook_fields[kDestroy];\n\n tmp_active_hooks_array = null;\n tmp_async_hook_fields = null;\n}\n\n\nfunction createHook(fns) {\n return new AsyncHook(fns);\n}\n\n\nfunction currentId() {\n return async_uid_fields[kCurrentAsyncId];\n}\n\n\nfunction triggerId() {\n return async_uid_fields[kCurrentTriggerId];\n}\n\n\n// Embedder API //\n\nclass AsyncResource {\n constructor(type, triggerId) {\n this[async_id_symbol] = ++async_uid_fields[kAsyncUidCntr];\n // Read and reset the current kInitTriggerId so that when the constructor\n // finishes the kInitTriggerId field is always 0.\n if (triggerId === undefined) {\n triggerId = initTriggerId();\n // If a triggerId was passed, any kInitTriggerId still must be null'd.\n } else {\n async_uid_fields[kInitTriggerId] = 0;\n }\n this[trigger_id_symbol] = triggerId;\n\n if (typeof type !== 'string' || type.length <= 0)\n throw new TypeError('type must be a string with length > 0');\n if (!Number.isSafeInteger(triggerId) || triggerId < 0)\n throw new RangeError('triggerId must be an unsigned integer');\n\n // Return immediately if there's nothing to do.\n if (async_hook_fields[kInit] === 0)\n return;\n\n init(this[async_id_symbol], type, triggerId, this);\n }\n\n emitBefore() {\n emitBeforeS(this[async_id_symbol], this[trigger_id_symbol]);\n return this;\n }\n\n emitAfter() {\n emitAfterS(this[async_id_symbol]);\n return this;\n }\n\n emitDestroy() {\n emitDestroyS(this[async_id_symbol]);\n return this;\n }\n\n asyncId() {\n return this[async_id_symbol];\n }\n\n triggerId() {\n return this[trigger_id_symbol];\n }\n}\n\n\nfunction runInAsyncIdScope(asyncId, cb) {\n // Store the async id now to make sure the stack is still good when the ids\n // are popped off the stack.\n const prevId = currentId();\n pushAsyncIds(asyncId, prevId);\n try {\n cb();\n } finally {\n popAsyncIds(asyncId);\n }\n}\n\n\n// Sensitive Embedder API //\n\n// Increment the internal id counter and return the value. Important that the\n// counter increment first. Since it's done the same way in\n// Environment::new_async_uid()\nfunction newUid() {\n return ++async_uid_fields[kAsyncUidCntr];\n}\n\n\n// Return the triggerId meant for the constructor calling it. It's up to the\n// user to safeguard this call and make sure it's zero'd out when the\n// constructor is complete.\nfunction initTriggerId() {\n var tId = async_uid_fields[kInitTriggerId];\n // Reset value after it's been called so the next constructor doesn't\n // inherit it by accident.\n async_uid_fields[kInitTriggerId] = 0;\n if (tId <= 0)\n tId = async_uid_fields[kCurrentAsyncId];\n return tId;\n}\n\n\nfunction setInitTriggerId(triggerId) {\n // CHECK(Number.isSafeInteger(triggerId))\n // CHECK(triggerId > 0)\n async_uid_fields[kInitTriggerId] = triggerId;\n}\n\n\nfunction emitInitS(asyncId, type, triggerId, resource) {\n // Short circuit all checks for the common case. Which is that no hooks have\n // been set. Do this to remove performance impact for embedders (and core).\n // Even though it bypasses all the argument checks. The performance savings\n // here is critical.\n if (async_hook_fields[kInit] === 0)\n return;\n\n // This can run after the early return check b/c running this function\n // manually means that the embedder must have used initTriggerId().\n if (!Number.isSafeInteger(triggerId)) {\n if (triggerId !== undefined)\n resource = triggerId;\n triggerId = initTriggerId();\n }\n\n // I'd prefer allowing these checks to not exist, or only throw in a debug\n // build, in order to improve performance.\n if (!Number.isSafeInteger(asyncId) || asyncId < 0)\n throw new RangeError('asyncId must be an unsigned integer');\n if (typeof type !== 'string' || type.length <= 0)\n throw new TypeError('type must be a string with length > 0');\n if (!Number.isSafeInteger(triggerId) || triggerId < 0)\n throw new RangeError('triggerId must be an unsigned integer');\n\n init(asyncId, type, triggerId, resource);\n\n // Isn't null if hooks were added/removed while the hooks were running.\n if (tmp_active_hooks_array !== null) {\n restoreTmpHooks();\n }\n}\n\n\nfunction emitBeforeN(asyncId) {\n processing_hook = true;\n // Use a single try/catch for all hook to avoid setting up one per iteration.\n try {\n for (var i = 0; i < active_hooks_array.length; i++) {\n if (typeof active_hooks_array[i][before_symbol] === 'function') {\n active_hooks_array[i][before_symbol](asyncId);\n }\n }\n } catch (e) {\n fatalError(e);\n }\n processing_hook = false;\n\n if (tmp_active_hooks_array !== null) {\n restoreTmpHooks();\n }\n}\n\n\n// Usage: emitBeforeS(asyncId[, triggerId]). If triggerId is omitted then\n// asyncId will be used instead.\nfunction emitBeforeS(asyncId, triggerId = asyncId) {\n // CHECK(Number.isSafeInteger(asyncId) && asyncId > 0)\n // CHECK(Number.isSafeInteger(triggerId) && triggerId > 0)\n\n // Validate the ids.\n if (asyncId < 0 || triggerId < 0) {\n fatalError('before(): asyncId or triggerId is less than zero ' +\n `(asyncId: ${asyncId}, triggerId: ${triggerId})`);\n }\n\n pushAsyncIds(asyncId, triggerId);\n\n if (async_hook_fields[kBefore] === 0)\n return;\n emitBeforeN(asyncId);\n}\n\n\n// Called from native. The asyncId stack handling is taken care of there before\n// this is called.\nfunction emitAfterN(asyncId) {\n processing_hook = true;\n // Use a single try/catch for all hook to avoid setting up one per iteration.\n try {\n for (var i = 0; i < active_hooks_array.length; i++) {\n if (typeof active_hooks_array[i][after_symbol] === 'function') {\n active_hooks_array[i][after_symbol](asyncId);\n }\n }\n } catch (e) {\n fatalError(e);\n }\n processing_hook = false;\n\n if (tmp_active_hooks_array !== null) {\n restoreTmpHooks();\n }\n}\n\n\n// TODO(trevnorris): Calling emitBefore/emitAfter from native can't adjust the\n// kIdStackIndex. But what happens if the user doesn't have both before and\n// after callbacks.\nfunction emitAfterS(asyncId) {\n if (async_hook_fields[kAfter] > 0)\n emitAfterN(asyncId);\n\n popAsyncIds(asyncId);\n}\n\n\nfunction emitDestroyS(asyncId) {\n // Return early if there are no destroy callbacks, or on attempt to emit\n // destroy on the void.\n if (async_hook_fields[kDestroy] === 0 || asyncId === 0)\n return;\n async_wrap.addIdToDestroyList(asyncId);\n}\n\n\nfunction emitDestroyN(asyncId) {\n processing_hook = true;\n // Use a single try/catch for all hook to avoid setting up one per iteration.\n try {\n for (var i = 0; i < active_hooks_array.length; i++) {\n if (typeof active_hooks_array[i][destroy_symbol] === 'function') {\n active_hooks_array[i][destroy_symbol](asyncId);\n }\n }\n } catch (e) {\n fatalError(e);\n }\n processing_hook = false;\n\n if (tmp_active_hooks_array !== null) {\n restoreTmpHooks();\n }\n}\n\n\n// Emit callbacks for native calls. Since some state can be setup directly from\n// C++ there's no need to perform all the work here.\n\n// This should only be called if hooks_array has kInit > 0. There are no global\n// values to setup. Though hooks_array will be cloned if C++ needed to call\n// init().\n// TODO(trevnorris): Perhaps have MakeCallback call a single JS function that\n// does the before/callback/after calls to remove two additional calls to JS.\n\n// Force the application to shutdown if one of the callbacks throws. This may\n// change in the future depending on whether it can be determined if there's a\n// slim chance of the application remaining stable after handling one of these\n// exceptions.\nfunction init(asyncId, type, triggerId, resource) {\n processing_hook = true;\n // Use a single try/catch for all hook to avoid setting up one per iteration.\n try {\n for (var i = 0; i < active_hooks_array.length; i++) {\n if (typeof active_hooks_array[i][init_symbol] === 'function') {\n active_hooks_array[i][init_symbol](asyncId, type, triggerId, resource);\n }\n }\n } catch (e) {\n fatalError(e);\n }\n processing_hook = false;\n}\n\n\n// Placing all exports down here because the exported classes won't export\n// otherwise.\nmodule.exports = {\n // Public API\n createHook,\n currentId,\n triggerId,\n // Embedder API\n AsyncResource,\n runInAsyncIdScope,\n // Sensitive Embedder API\n newUid,\n initTriggerId,\n setInitTriggerId,\n emitInit: emitInitS,\n emitBefore: emitBeforeS,\n emitAfter: emitAfterS,\n emitDestroy: emitDestroyS,\n};\n\n});", "pkgUrl": "(system)" }, { "id": "342", "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/end-of-stream/index.js", "source": "(function (exports, require, module, __filename, __dirname) { var once = require('once');\n\nvar noop = function() {};\n\nvar isRequest = function(stream) {\n\treturn stream.setHeader && typeof stream.abort === 'function';\n};\n\nvar isChildProcess = function(stream) {\n\treturn stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3\n};\n\nvar eos = function(stream, opts, callback) {\n\tif (typeof opts === 'function') return eos(stream, null, opts);\n\tif (!opts) opts = {};\n\n\tcallback = once(callback || noop);\n\n\tvar ws = stream._writableState;\n\tvar rs = stream._readableState;\n\tvar readable = opts.readable || (opts.readable !== false && stream.readable);\n\tvar writable = opts.writable || (opts.writable !== false && stream.writable);\n\n\tvar onlegacyfinish = function() {\n\t\tif (!stream.writable) onfinish();\n\t};\n\n\tvar onfinish = function() {\n\t\twritable = false;\n\t\tif (!readable) callback.call(stream);\n\t};\n\n\tvar onend = function() {\n\t\treadable = false;\n\t\tif (!writable) callback.call(stream);\n\t};\n\n\tvar onexit = function(exitCode) {\n\t\tcallback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);\n\t};\n\n\tvar onclose = function() {\n\t\tif (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close'));\n\t\tif (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close'));\n\t};\n\n\tvar onrequest = function() {\n\t\tstream.req.on('finish', onfinish);\n\t};\n\n\tif (isRequest(stream)) {\n\t\tstream.on('complete', onfinish);\n\t\tstream.on('abort', onclose);\n\t\tif (stream.req) onrequest();\n\t\telse stream.on('request', onrequest);\n\t} else if (writable && !ws) { // legacy streams\n\t\tstream.on('end', onlegacyfinish);\n\t\tstream.on('close', onlegacyfinish);\n\t}\n\n\tif (isChildProcess(stream)) stream.on('exit', onexit);\n\n\tstream.on('end', onend);\n\tstream.on('finish', onfinish);\n\tif (opts.error !== false) stream.on('error', callback);\n\tstream.on('close', onclose);\n\n\treturn function() {\n\t\tstream.removeListener('complete', onfinish);\n\t\tstream.removeListener('abort', onclose);\n\t\tstream.removeListener('request', onrequest);\n\t\tif (stream.req) stream.req.removeListener('finish', onfinish);\n\t\tstream.removeListener('end', onlegacyfinish);\n\t\tstream.removeListener('close', onlegacyfinish);\n\t\tstream.removeListener('finish', onfinish);\n\t\tstream.removeListener('exit', onexit);\n\t\tstream.removeListener('end', onend);\n\t\tstream.removeListener('error', callback);\n\t\tstream.removeListener('close', onclose);\n\t};\n};\n\nmodule.exports = eos;\n\n});", "pkgUrl": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/end-of-stream" } ], "pkgs": [ { "url": "(system)", "name": "(system)" }, { "url": "/usr/local/lib/node_modules/npm", "name": "npm", "version": "5.0.3", "description": "a package manager for JavaScript", "homepage": "https://docs.npmjs.com/", "dependencies": { "prod": { "JSONStream": "~1.3.1", "abbrev": "~1.1.0", "ansi-regex": "~2.1.1", "ansicolors": "~0.3.2", "ansistyles": "~0.1.3", "aproba": "~1.1.2", "archy": "~1.0.0", "bluebird": "~3.5.0", "cacache": "~9.2.8", "call-limit": "~1.1.0", "chownr": "~1.0.1", "cmd-shim": "~2.0.2", "columnify": "~1.5.4", "config-chain": "~1.1.11", "detect-indent": "~5.0.0", "dezalgo": "~1.0.3", "editor": "~1.0.0", "fs-vacuum": "~1.2.10", "fs-write-stream-atomic": "~1.0.10", "fstream": "~1.0.11", "fstream-npm": "~1.2.1", "glob": "~7.1.2", "graceful-fs": "~4.1.11", "has-unicode": "~2.0.1", "hosted-git-info": "~2.4.2", "iferr": "~0.1.5", "inflight": "~1.0.6", "inherits": "~2.0.3", "ini": "~1.3.4", "init-package-json": "~1.10.1", "lazy-property": "~1.0.0", "lockfile": "~1.0.3", "lodash._baseuniq": "~4.6.0", "lodash.clonedeep": "~4.5.0", "lodash.union": "~4.6.0", "lodash.uniq": "~4.5.0", "lodash.without": "~4.4.0", "lru-cache": "~4.0.2", "mississippi": "~1.3.0", "mkdirp": "~0.5.1", "move-concurrently": "~1.0.1", "node-gyp": "~3.6.2", "nopt": "~4.0.1", "normalize-package-data": "~2.3.8", "npm-cache-filename": "~1.0.2", "npm-install-checks": "~3.0.0", "npm-package-arg": "~5.1.1", "npm-registry-client": "~8.3.0", "npm-user-validate": "~1.0.0", "npmlog": "~4.1.0", "once": "~1.4.0", "opener": "~1.4.3", "osenv": "~0.1.4", "pacote": "~2.7.30", "path-is-inside": "~1.0.2", "promise-inflight": "~1.0.1", "read": "~1.0.7", "read-cmd-shim": "~1.0.1", "read-installed": "~4.0.3", "read-package-json": "~2.0.5", "read-package-tree": "~5.1.6", "readable-stream": "~2.2.10", "request": "~2.81.0", "retry": "~0.10.1", "rimraf": "~2.6.1", "safe-buffer": "~5.1.0", "semver": "~5.3.0", "sha": "~2.0.1", "slide": "~1.1.6", "sorted-object": "~2.0.1", "sorted-union-stream": "~2.1.3", "ssri": "~4.1.5", "strip-ansi": "~3.0.1", "tar": "~2.2.1", "text-table": "~0.2.0", "uid-number": "0.0.6", "umask": "~1.1.0", "unique-filename": "~1.1.0", "unpipe": "~1.0.0", "update-notifier": "~2.1.0", "uuid": "~3.0.1", "validate-npm-package-name": "~3.0.0", "which": "~1.2.14", "wrappy": "~1.0.2", "write-file-atomic": "~2.1.0" }, "dev": { "deep-equal": "~1.0.1", "marked": "~0.3.6", "marked-man": "~0.2.1", "npm-registry-couchapp": "~2.6.13", "npm-registry-mock": "~1.1.0", "require-inject": "~1.4.0", "sprintf-js": "~1.0.3", "standard": "~6.0.8", "tacks": "~1.2.6", "tap": "~10.3.2" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/semver", "name": "semver", "version": "5.3.0", "description": "The semantic version parser used by npm.", "homepage": "https://github.com/npm/node-semver#readme", "dependencies": { "prod": {}, "dev": { "tap": "^2.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog", "name": "npmlog", "version": "4.1.0", "description": "logger for npm", "homepage": "https://github.com/npm/npmlog#readme", "dependencies": { "prod": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", "gauge": "~2.7.3", "set-blocking": "~2.0.0" }, "dev": { "standard": "~7.1.2", "tap": "~5.7.3" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet", "name": "are-we-there-yet", "version": "1.1.4", "description": "Keep track of the overall completion of many disparate processes", "homepage": "https://github.com/iarna/are-we-there-yet", "dependencies": { "prod": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" }, "dev": { "standard": "^6.0.8", "tap": "^5.7.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/readable-stream", "name": "readable-stream", "version": "2.2.10", "description": "Streams3, a user-land copy of the stream library from Node.js", "homepage": "https://github.com/nodejs/readable-stream#readme", "dependencies": { "prod": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "~1.0.0", "process-nextick-args": "~1.0.6", "safe-buffer": "^5.0.1", "string_decoder": "~1.0.0", "util-deprecate": "~1.0.1" }, "dev": { "assert": "~1.4.0", "babel-polyfill": "^6.9.1", "buffer": "^4.9.0", "nyc": "^6.4.0", "tap": "~0.7.1", "tape": "~4.5.1", "zuul": "~3.10.0" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge", "name": "gauge", "version": "2.7.4", "description": "A terminal based horizontal guage", "homepage": "https://github.com/iarna/gauge", "dependencies": { "prod": { "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" }, "dev": { "readable-stream": "^2.0.6", "require-inject": "^1.4.0", "standard": "^7.1.2", "tap": "^5.7.2", "through2": "^2.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings", "name": "console-control-strings", "version": "1.1.0", "description": "A library of cross-platform tested terminal/console command strings for doing things like color and cursor positioning. This is a subset of both ansi and vt100. All control codes included work on both Windows & Unix-like OSes, except where noted.", "homepage": "https://github.com/iarna/console-control-strings#readme", "dependencies": { "prod": {}, "dev": { "standard": "^7.1.2", "tap": "^5.7.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/wide-align", "name": "wide-align", "version": "1.1.0", "description": "A wide-character aware text alignment function for use on the console or with fixed width fonts.", "homepage": "https://github.com/iarna/wide-align#readme", "dependencies": { "prod": { "string-width": "^1.0.1" }, "dev": { "tap": "^2.3.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width", "name": "string-width", "version": "1.0.2", "description": "Get the visual width of a string - the number of columns required to display it", "homepage": "https://github.com/sindresorhus/string-width#readme", "dependencies": { "prod": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" }, "dev": { "ava": "*", "xo": "*" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/set-blocking", "name": "set-blocking", "version": "2.0.0", "description": "set blocking stdio and stderr ensuring that terminal output does not truncate", "homepage": "https://github.com/yargs/set-blocking#readme", "dependencies": { "prod": {}, "dev": { "chai": "^3.5.0", "coveralls": "^2.11.9", "mocha": "^2.4.5", "nyc": "^6.4.4", "standard": "^7.0.1", "standard-version": "^2.2.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier", "name": "update-notifier", "version": "2.1.0", "description": "Update notifications for your CLI app", "homepage": "https://github.com/yeoman/update-notifier#readme", "dependencies": { "prod": { "boxen": "^1.0.0", "chalk": "^1.0.0", "configstore": "^3.0.0", "is-npm": "^1.0.0", "latest-version": "^3.0.0", "lazy-req": "^2.0.0", "semver-diff": "^2.0.0", "xdg-basedir": "^3.0.0" }, "dev": { "clear-require": "^2.0.0", "fixture-stdout": "^0.2.1", "mocha": "*", "strip-ansi": "^3.0.1", "xo": "^0.17.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/config-chain", "name": "config-chain", "version": "1.1.11", "description": "HANDLE CONFIGURATION ONCE AND FOR ALL", "homepage": "http://github.com/dominictarr/config-chain", "dependencies": { "prod": { "ini": "^1.3.4", "proto-list": "~1.2.1" }, "dev": { "tap": "0.3.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/osenv", "name": "osenv", "version": "0.1.4", "description": "Look up environment settings specific to different operating systems", "homepage": "https://github.com/npm/osenv#readme", "dependencies": { "prod": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" }, "dev": { "tap": "^8.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/osenv/node_modules/os-tmpdir", "name": "os-tmpdir", "version": "1.0.2", "description": "Node.js os.tmpdir() ponyfill", "homepage": "https://github.com/sindresorhus/os-tmpdir#readme", "dependencies": { "prod": {}, "dev": { "ava": "*", "xo": "^0.16.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/glob", "name": "glob", "version": "7.1.2", "description": "a little globber", "homepage": "https://github.com/isaacs/node-glob#readme", "dependencies": { "prod": { "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" }, "dev": { "mkdirp": "0", "rimraf": "^2.2.8", "tap": "^7.1.2", "tick": "0.0.6" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/fs.realpath", "name": "fs.realpath", "version": "1.0.0", "description": "Use node's fs.realpath, but fall back to the JS implementation if the native one fails", "homepage": "https://github.com/isaacs/fs.realpath#readme", "dependencies": { "prod": {}, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch", "name": "minimatch", "version": "3.0.4", "description": "a glob matcher in javascript", "homepage": "https://github.com/isaacs/minimatch#readme", "dependencies": { "prod": { "brace-expansion": "^1.1.7" }, "dev": { "tap": "^10.3.2" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion", "name": "brace-expansion", "version": "1.1.7", "description": "Brace expansion as known from sh/bash", "homepage": "https://github.com/juliangruber/brace-expansion", "dependencies": { "prod": { "balanced-match": "^0.4.1", "concat-map": "0.0.1" }, "dev": { "matcha": "^0.7.0", "tape": "^4.6.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/uuid", "name": "uuid", "version": "3.0.1", "description": "RFC4122 (v1 and v4) generator", "homepage": "https://github.com/kelektiv/node-uuid#readme", "dependencies": { "prod": {}, "dev": { "mocha": "3.1.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/abbrev", "name": "abbrev", "version": "1.1.0", "description": "Like ruby's abbrev module, but in js", "homepage": "https://github.com/isaacs/abbrev-js#readme", "dependencies": { "prod": {}, "dev": { "tap": "^10.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/lazy-req", "name": "lazy-req", "version": "2.0.0", "description": "Require modules lazily", "homepage": "https://github.com/sindresorhus/lazy-req#readme", "dependencies": { "prod": {}, "dev": { "ava": "*", "xo": "*" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore", "name": "configstore", "version": "3.0.0", "description": "Easily load and save config without having to think about where and how", "homepage": "https://github.com/yeoman/configstore#readme", "dependencies": { "prod": { "dot-prop": "^4.1.0", "graceful-fs": "^4.1.2", "mkdirp": "^0.5.0", "unique-string": "^1.0.0", "write-file-atomic": "^1.1.2", "xdg-basedir": "^3.0.0" }, "dev": { "ava": "*", "xo": "*" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/graceful-fs", "name": "graceful-fs", "version": "4.1.11", "description": "A drop-in replacement for fs, making various improvements.", "homepage": "https://github.com/isaacs/node-graceful-fs#readme", "dependencies": { "prod": {}, "dev": { "mkdirp": "^0.5.0", "rimraf": "^2.2.8", "tap": "^5.4.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/write-file-atomic", "name": "write-file-atomic", "version": "1.3.4", "description": "Write files in an atomic fashion w/configurable ownership", "homepage": "https://github.com/iarna/write-file-atomic", "dependencies": { "prod": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", "slide": "^1.1.5" }, "dev": { "mkdirp": "^0.5.1", "require-inject": "^1.4.0", "rimraf": "^2.5.4", "standard": "^9.0.2", "tap": "^10.3.2" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/dot-prop", "name": "dot-prop", "version": "4.1.1", "description": "Get, set, or delete a property from a nested object using a dot path", "homepage": "https://github.com/sindresorhus/dot-prop#readme", "dependencies": { "prod": { "is-obj": "^1.0.0" }, "dev": { "ava": "*", "matcha": "^0.7.0", "xo": "*" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string", "name": "unique-string", "version": "1.0.0", "description": "Generate a unique random string", "homepage": "https://github.com/sindresorhus/unique-string#readme", "dependencies": { "prod": { "crypto-random-string": "^1.0.0" }, "dev": { "ava": "*", "xo": "*" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/update-notifier/node_modules/configstore/node_modules/unique-string/node_modules/crypto-random-string", "name": "crypto-random-string", "version": "1.0.0", "description": "Generate a cryptographically strong random string", "homepage": "https://github.com/sindresorhus/crypto-random-string#readme", "dependencies": { "prod": {}, "dev": { "ava": "*", "xo": "*" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/nopt", "name": "nopt", "version": "4.0.1", "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.", "homepage": "https://github.com/npm/nopt#readme", "dependencies": { "prod": { "abbrev": "1", "osenv": "^0.1.4" }, "dev": { "tap": "^8.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe", "name": "isexe", "version": "2.0.0", "description": "Minimal module to check if a file is executable.", "homepage": "https://github.com/isaacs/isexe#readme", "dependencies": { "prod": {}, "dev": { "mkdirp": "^0.5.1", "rimraf": "^2.5.0", "tap": "^10.3.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/which", "name": "which", "version": "1.2.14", "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", "homepage": "https://github.com/isaacs/node-which#readme", "dependencies": { "prod": { "isexe": "^2.0.0" }, "dev": { "mkdirp": "^0.5.0", "rimraf": "^2.3.3", "tap": "^10.3.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mkdirp", "name": "mkdirp", "version": "0.5.1", "description": "Recursively mkdir, like `mkdir -p`", "homepage": "https://github.com/substack/node-mkdirp#readme", "dependencies": { "prod": { "minimist": "0.0.8" }, "dev": { "mock-fs": "2 >=2.7.0", "tap": "1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/once", "name": "once", "version": "1.4.0", "description": "Run a function exactly one time", "homepage": "https://github.com/isaacs/once#readme", "dependencies": { "prod": { "wrappy": "1" }, "dev": { "tap": "^7.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-tree", "name": "read-package-tree", "version": "5.1.6", "description": "Read the contents of node_modules.", "homepage": "https://github.com/npm/read-package-tree", "dependencies": { "prod": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", "once": "^1.3.0", "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0" }, "dev": { "archy": "^1.0.0", "mkdirp": "^0.5.1", "tacks": "^1.2.1", "tap": "^6.3.0" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-package-arg", "name": "npm-package-arg", "version": "5.1.1", "description": "Parse the things that can be arguments to `npm install`", "homepage": "https://github.com/npm/npm-package-arg", "dependencies": { "prod": { "hosted-git-info": "^2.4.2", "osenv": "^0.1.4", "semver": "^5.1.0", "validate-npm-package-name": "^3.0.0" }, "dev": { "standard": "9.0.2", "tap": "^10.3.0" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-name", "name": "validate-npm-package-name", "version": "3.0.0", "description": "Give me a string and I'll tell you if it's a valid npm package name", "homepage": "https://github.com/npm/validate-npm-package-name", "dependencies": { "prod": { "builtins": "^1.0.3" }, "dev": { "standard": "^8.6.0", "tap": "^10.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/hosted-git-info", "name": "hosted-git-info", "version": "2.4.2", "description": "Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab", "homepage": "https://github.com/npm/hosted-git-info", "dependencies": { "prod": {}, "dev": { "standard": "^9.0.2", "tap": "^10.3.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/aproba", "name": "aproba", "version": "1.1.2", "description": "A rediculously light-weight argument validator", "homepage": "https://github.com/iarna/aproba", "dependencies": { "prod": {}, "dev": { "standard": "^8.6.0", "tap": "^10.0.2" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.union", "name": "lodash.union", "version": "4.6.0", "description": "The lodash method `_.union` exported as a module.", "homepage": "https://lodash.com/", "dependencies": { "prod": {}, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.without", "name": "lodash.without", "version": "4.4.0", "description": "The lodash method `_.without` exported as a module.", "homepage": "https://lodash.com/", "dependencies": { "prod": {}, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/slide", "name": "slide", "version": "1.1.6", "description": "A flow control lib small enough to fit on in a slide presentation. Derived live at Oak.JS", "homepage": "https://github.com/isaacs/slide-flow-control#readme", "dependencies": { "prod": {}, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/lazy-property", "name": "lazy-property", "version": "1.0.0", "description": "Lazily initialized properties for objects", "homepage": "https://github.com/mikolalysenko/lazy-property#readme", "dependencies": { "prod": {}, "dev": { "tape": "^2.12.3" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client", "name": "npm-registry-client", "version": "8.3.0", "description": "Client for the npm registry", "homepage": "https://github.com/npm/npm-registry-client#readme", "dependencies": { "prod": { "concat-stream": "^1.5.2", "graceful-fs": "^4.1.6", "normalize-package-data": "~1.0.1 || ^2.0.0", "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0", "npmlog": "2 || ^3.1.0 || ^4.0.0", "once": "^1.3.3", "request": "^2.74.0", "retry": "^0.10.0", "semver": "2 >=2.2.1 || 3.x || 4 || 5", "slide": "^1.1.3", "ssri": "^4.1.2" }, "dev": { "negotiator": "^0.6.1", "nock": "^9.0.9", "readable-stream": "^2.1.5", "require-inject": "^1.4.0", "rimraf": "^2.5.4", "standard": "^9.0.0", "tap": "^10.3.0" }, "optional": { "npmlog": "2 || ^3.1.0 || ^4.0.0" }, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog", "name": "npmlog", "version": "3.1.2", "description": "logger for npm", "homepage": "https://github.com/npm/npmlog#readme", "dependencies": { "prod": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", "gauge": "~2.6.0", "set-blocking": "~2.0.0" }, "dev": { "standard": "~7.1.2", "tap": "~5.7.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/are-we-there-yet", "name": "are-we-there-yet", "version": "1.1.2", "description": "Keep track of the overall completion of many dispirate processes", "homepage": "https://github.com/iarna/are-we-there-yet", "dependencies": { "prod": { "delegates": "^1.0.0", "readable-stream": "^2.0.0 || ^1.1.13" }, "dev": { "standard": "^6.0.8", "tap": "^5.7.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge", "name": "gauge", "version": "2.6.0", "description": "A terminal based horizontal guage", "homepage": "https://github.com/iarna/gauge", "dependencies": { "prod": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", "has-color": "^0.1.7", "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" }, "dev": { "readable-stream": "^2.0.6", "require-inject": "^1.4.0", "standard": "^7.1.2", "tap": "^5.7.2", "through2": "^2.0.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/wide-align", "name": "wide-align", "version": "1.1.0", "description": "A wide-character aware text alignment function for use on the console or with fixed width fonts.", "homepage": "https://github.com/iarna/wide-align#readme", "dependencies": { "prod": { "string-width": "^1.0.1" }, "dev": { "tap": "^2.3.2" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width", "name": "string-width", "version": "1.0.2", "description": "Get the visual width of a string - the number of columns required to display it", "homepage": "https://github.com/sindresorhus/string-width#readme", "dependencies": { "prod": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" }, "dev": { "ava": "*", "xo": "*" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at", "name": "code-point-at", "version": "1.0.0", "description": "ES2015 String#codePointAt() ponyfill", "homepage": "https://github.com/sindresorhus/code-point-at", "dependencies": { "prod": { "number-is-nan": "^1.0.0" }, "dev": { "ava": "0.0.4" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit", "name": "signal-exit", "version": "3.0.0", "description": "when you want to fire an event no matter how a process exits.", "homepage": "https://github.com/tapjs/signal-exit", "dependencies": { "prod": {}, "dev": { "chai": "^3.5.0", "coveralls": "^2.11.2", "nyc": "^6.4.4", "standard": "^7.1.2", "standard-version": "^2.3.0", "tap": "^5.7.2" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request", "name": "request", "version": "2.81.0", "description": "Simplified HTTP request client.", "homepage": "https://github.com/request/request#readme", "dependencies": { "prod": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", "caseless": "~0.12.0", "combined-stream": "~1.0.5", "extend": "~3.0.0", "forever-agent": "~0.6.1", "form-data": "~2.1.1", "har-validator": "~4.2.1", "hawk": "~3.1.3", "http-signature": "~1.1.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.7", "oauth-sign": "~0.8.1", "performance-now": "^0.2.0", "qs": "~6.4.0", "safe-buffer": "^5.0.1", "stringstream": "~0.0.4", "tough-cookie": "~2.3.0", "tunnel-agent": "^0.6.0", "uuid": "^3.0.0" }, "dev": { "bluebird": "^3.2.1", "browserify": "^13.0.1", "browserify-istanbul": "^2.0.0", "buffer-equal": "^1.0.0", "codecov": "^1.0.1", "coveralls": "^2.11.4", "eslint": "^2.5.3", "function-bind": "^1.0.2", "istanbul": "^0.4.0", "karma": "^1.1.1", "karma-browserify": "^5.0.1", "karma-cli": "^1.0.0", "karma-coverage": "^1.0.0", "karma-phantomjs-launcher": "^1.0.0", "karma-tap": "^3.0.1", "phantomjs-prebuilt": "^2.1.3", "rimraf": "^2.2.8", "server-destroy": "^1.0.1", "tape": "^4.6.0", "taper": "^0.5.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tough-cookie", "name": "tough-cookie", "version": "2.3.2", "description": "RFC6265 Cookies and Cookie Jar for node.js", "homepage": "https://github.com/salesforce/tough-cookie", "dependencies": { "prod": { "punycode": "^1.4.1" }, "dev": { "async": "^1.4.2", "string.prototype.repeat": "^0.2.0", "vows": "^0.8.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk", "name": "hawk", "version": "3.1.3", "description": "HTTP Hawk Authentication Scheme", "homepage": "https://github.com/hueniverse/hawk#readme", "dependencies": { "prod": { "boom": "2.x.x", "cryptiles": "2.x.x", "hoek": "2.x.x", "sntp": "1.x.x" }, "dev": { "code": "1.x.x", "lab": "5.x.x" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/boom", "name": "boom", "version": "2.10.1", "description": "HTTP-friendly error objects", "homepage": "https://github.com/hapijs/boom#readme", "dependencies": { "prod": { "hoek": "2.x.x" }, "dev": { "code": "1.x.x", "lab": "7.x.x" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/node_modules/sntp", "name": "sntp", "version": "1.0.9", "description": "SNTP Client", "homepage": "https://github.com/hueniverse/sntp#readme", "dependencies": { "prod": { "hoek": "2.x.x" }, "dev": { "lab": "4.x.x" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature", "name": "http-signature", "version": "1.1.1", "description": "Reference implementation of Joyent's HTTP Signature scheme.", "homepage": "https://github.com/joyent/node-http-signature/", "dependencies": { "prod": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" }, "dev": { "node-uuid": "^1.4.1", "tap": "0.4.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus", "name": "assert-plus", "version": "0.2.0", "description": "Extra assertions on top of node's assert module", "homepage": "https://github.com/mcavage/node-assert-plus#readme", "dependencies": { "prod": {}, "dev": { "faucet": "0.0.1", "tape": "4.2.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk", "name": "sshpk", "version": "1.13.0", "description": "A library for finding and using SSH public keys", "homepage": "https://github.com/arekinath/node-sshpk#readme", "dependencies": { "prod": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", "dashdash": "^1.12.0", "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jodid25519": "^1.0.0", "jsbn": "~0.1.0", "tweetnacl": "~0.14.0" }, "dev": { "benchmark": "^1.0.0", "sinon": "^1.17.2", "tape": "^3.5.0", "temp": "^0.8.2" }, "optional": { "bcrypt-pbkdf": "^1.0.0", "ecc-jsbn": "~0.1.1", "jodid25519": "^1.0.0", "jsbn": "~0.1.0", "tweetnacl": "~0.14.0" }, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1", "name": "asn1", "version": "0.2.3", "description": "Contains parsers and serializers for ASN.1 (currently BER only)", "homepage": "https://github.com/mcavage/node-asn1#readme", "dependencies": { "prod": {}, "dev": { "tap": "0.4.8" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim", "name": "jsprim", "version": "1.4.0", "description": "utilities for primitive JavaScript types", "homepage": "https://github.com/joyent/node-jsprim#readme", "dependencies": { "prod": { "assert-plus": "1.0.0", "extsprintf": "1.0.2", "json-schema": "0.2.3", "verror": "1.3.6" }, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/assert-plus", "name": "assert-plus", "version": "1.0.0", "description": "Extra assertions on top of node's assert module", "homepage": "https://github.com/mcavage/node-assert-plus#readme", "dependencies": { "prod": {}, "dev": { "faucet": "0.0.1", "tape": "4.2.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types", "name": "mime-types", "version": "2.1.15", "description": "The ultimate javascript content-type utility.", "homepage": "https://github.com/jshttp/mime-types#readme", "dependencies": { "prod": { "mime-db": "~1.27.0" }, "dev": { "eslint": "3.18.0", "eslint-config-standard": "7.1.0", "eslint-plugin-promise": "3.5.0", "eslint-plugin-standard": "2.1.1", "istanbul": "0.4.5", "mocha": "1.21.5" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db", "name": "mime-db", "version": "1.27.0", "description": "Media Type Database", "homepage": "https://github.com/jshttp/mime-db#readme", "dependencies": { "prod": {}, "dev": { "bluebird": "3.5.0", "co": "4.6.0", "cogent": "1.0.1", "csv-parse": "1.2.0", "eslint": "3.17.1", "eslint-config-standard": "7.0.1", "eslint-plugin-promise": "3.5.0", "eslint-plugin-standard": "2.1.1", "gnode": "0.1.2", "istanbul": "0.4.5", "mocha": "1.21.5", "raw-body": "2.2.0", "stream-to-array": "2.3.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/form-data", "name": "form-data", "version": "2.1.4", "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.", "homepage": "https://github.com/form-data/form-data#readme", "dependencies": { "prod": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", "mime-types": "^2.1.12" }, "dev": { "browserify": "^13.1.1", "browserify-istanbul": "^2.0.0", "coveralls": "^2.11.14", "cross-spawn": "^4.0.2", "eslint": "^3.9.1", "fake": "^0.2.2", "far": "^0.0.7", "formidable": "^1.0.17", "in-publish": "^2.0.0", "is-node-modern": "^1.0.0", "istanbul": "^0.4.5", "obake": "^0.1.2", "phantomjs-prebuilt": "^2.1.13", "pkgfiles": "^2.3.0", "pre-commit": "^1.1.3", "request": "2.76.0", "rimraf": "^2.5.4", "tape": "^4.6.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream", "name": "combined-stream", "version": "1.0.5", "description": "A stream that emits multiple other streams one after another.", "homepage": "https://github.com/felixge/node-combined-stream", "dependencies": { "prod": { "delayed-stream": "~1.0.0" }, "dev": { "far": "~0.0.7" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream", "name": "delayed-stream", "version": "1.0.0", "description": "Buffers events from a stream until you are ready to handle them.", "homepage": "https://github.com/felixge/node-delayed-stream", "dependencies": { "prod": {}, "dev": { "fake": "0.2.0", "far": "0.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/qs", "name": "qs", "version": "6.4.0", "description": "A querystring parser that supports nesting and arrays, with a depth limit", "homepage": "https://github.com/ljharb/qs", "dependencies": { "prod": {}, "dev": { "@ljharb/eslint-config": "^11.0.0", "browserify": "^14.1.0", "covert": "^1.1.0", "eslint": "^3.17.0", "evalmd": "^0.0.17", "iconv-lite": "^0.4.15", "mkdirp": "^0.5.1", "parallelshell": "^2.0.0", "qs-iconv": "^1.0.4", "safe-publish-latest": "^1.1.1", "tape": "^4.6.3" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator", "name": "har-validator", "version": "4.2.1", "description": "Extremely fast HTTP Archive (HAR) validator using JSON Schema", "homepage": "https://github.com/ahmadnassri/har-validator", "dependencies": { "prod": { "ajv": "^4.9.1", "har-schema": "^1.0.5" }, "dev": { "babel-cli": "^6.18.0", "babel-plugin-add-module-exports": "^0.2.1", "babel-preset-env": "1.1.10", "babel-register": "^6.18.0", "codeclimate-test-reporter": "^0.4.0", "cz-conventional-changelog": "^1.2.0", "echint": "^4.0.1", "semantic-release": "^6.3.2", "snazzy": "^6.0.0", "tap": "^10.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/har-schema", "name": "har-schema", "version": "1.0.5", "description": "JSON Schema for HTTP Archive (HAR)", "homepage": "https://github.com/ahmadnassri/har-schema", "dependencies": { "prod": {}, "dev": { "ajv": "^4.9.1", "codeclimate-test-reporter": "^0.4.0", "cz-conventional-changelog": "^1.2.0", "echint": "^2.1.0", "semantic-release": "^6.3.2", "snazzy": "^5.0.0", "tap": "^8.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/har-validator/node_modules/ajv", "name": "ajv", "version": "4.11.8", "description": "Another JSON Schema Validator", "homepage": "https://github.com/epoberezkin/ajv", "dependencies": { "prod": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" }, "dev": { "bluebird": "^3.1.5", "brfs": "^1.4.3", "browserify": "^14.1.0", "chai": "^3.5.0", "coveralls": "^2.11.4", "del-cli": "^0.2.1", "dot": "^1.0.3", "eslint": "^3.2.2", "gh-pages-generator": "^0.2.0", "glob": "^7.0.0", "if-node-version": "^1.0.0", "js-beautify": "^1.5.6", "jshint": "^2.8.0", "json-schema-test": "^1.1.1", "karma": "^1.0.0", "karma-chrome-launcher": "^2.0.0", "karma-mocha": "^1.1.1", "karma-phantomjs-launcher": "^1.0.0", "karma-sauce-launcher": "^1.1.0", "mocha": "^3.0.0", "nodent": "^3.0.17", "nyc": "^10.0.0", "phantomjs-prebuilt": "^2.1.4", "pre-commit": "^1.1.1", "regenerator": "0.9.7", "require-globify": "^1.3.0", "typescript": "^2.0.3", "uglify-js": "^2.6.1", "watch": "^1.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream", "name": "concat-stream", "version": "1.6.0", "description": "writable stream that concatenates strings or binary data and calls a callback with the result", "homepage": "https://github.com/maxogden/concat-stream#readme", "dependencies": { "prod": { "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" }, "dev": { "tape": "^4.6.3" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream", "name": "readable-stream", "version": "2.0.6", "description": "Streams3, a user-land copy of the stream library from Node.js", "homepage": "https://github.com/nodejs/readable-stream#readme", "dependencies": { "prod": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", "isarray": "~1.0.0", "process-nextick-args": "~1.0.6", "string_decoder": "~0.10.x", "util-deprecate": "~1.0.1" }, "dev": { "tap": "~0.2.6", "tape": "~4.5.1", "zuul": "~3.9.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/node_modules/retry", "name": "retry", "version": "0.10.0", "description": "Abstraction for exponential and custom retry strategies for failed operations.", "homepage": "https://github.com/tim-kos/node-retry", "dependencies": { "prod": {}, "dev": { "fake": "0.2.0", "far": "0.0.1" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/request/node_modules/caseless", "name": "caseless", "version": "0.12.0", "description": "Caseless object set/get/has, very useful when working with HTTP headers.", "homepage": "https://github.com/mikeal/caseless#readme", "dependencies": { "prod": {}, "dev": { "tape": "^2.10.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/iferr", "name": "iferr", "version": "0.1.5", "description": "Higher-order functions for easier error handling", "homepage": "https://github.com/shesek/iferr", "dependencies": { "prod": {}, "dev": { "coffee-script": "^1.7.1", "mocha": "^1.18.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/bluebird", "name": "bluebird", "version": "3.5.0", "description": "Full featured Promises/A+ implementation with exceptionally good performance", "homepage": "https://github.com/petkaantonov/bluebird", "dependencies": { "prod": {}, "dev": { "acorn": "~0.6.0", "baconjs": "^0.7.43", "bluebird": "^2.9.2", "body-parser": "^1.10.2", "browserify": "^8.1.1", "cli-table": "~0.3.1", "co": "^4.2.0", "cross-spawn": "^0.2.3", "glob": "^4.3.2", "grunt-saucelabs": "~8.4.1", "highland": "^2.3.0", "istanbul": "^0.3.5", "jshint": "^2.6.0", "jshint-stylish": "~0.2.0", "kefir": "^2.4.1", "mkdirp": "~0.5.0", "mocha": "~2.1", "open": "~0.0.5", "optimist": "~0.6.1", "rimraf": "~2.2.6", "rx": "^2.3.25", "serve-static": "^1.7.1", "sinon": "~1.7.3", "uglify-js": "~2.4.16" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/inflight", "name": "inflight", "version": "1.0.6", "description": "Add callbacks to requests in flight to avoid async duplication", "homepage": "https://github.com/isaacs/inflight", "dependencies": { "prod": { "once": "^1.3.0", "wrappy": "1" }, "dev": { "tap": "^7.1.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob", "name": "glob", "version": "6.0.4", "description": "a little globber", "homepage": "https://github.com/isaacs/node-glob#readme", "dependencies": { "prod": { "inflight": "^1.0.4", "inherits": "2", "minimatch": "2 || 3", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "dev": { "mkdirp": "0", "rimraf": "^2.2.8", "tap": "^5.0.0", "tick": "0.0.6" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json", "name": "read-package-json", "version": "2.0.5", "description": "The thing npm uses to read package.json files with semantics and defaults and validation", "homepage": "https://github.com/npm/read-package-json#readme", "dependencies": { "prod": { "glob": "^7.1.1", "graceful-fs": "^4.1.2", "json-parse-helpfulerror": "^1.0.2", "normalize-package-data": "^2.0.0" }, "dev": { "standard": "^9.0.1", "tap": "^10.3.0" }, "optional": { "graceful-fs": "^4.1.2" }, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data", "name": "normalize-package-data", "version": "2.3.8", "description": "Normalizes data that can be found in package.json files.", "homepage": "https://github.com/npm/normalize-package-data#readme", "dependencies": { "prod": { "hosted-git-info": "^2.1.4", "is-builtin-module": "^1.0.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" }, "dev": { "async": "^1.5.0", "tap": "^2.2.0", "underscore": "^1.8.3" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license", "name": "validate-npm-package-license", "version": "3.0.1", "description": "Give me a string and I'll tell you if it's a valid npm package license string", "homepage": "https://github.com/kemitchell/validate-npm-package-license.js#readme", "dependencies": { "prod": { "spdx-correct": "~1.0.0", "spdx-expression-parse": "~1.0.0" }, "dev": { "defence-cli": "^1.0.1", "replace-require-self": "^1.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse", "name": "spdx-expression-parse", "version": "1.0.4", "description": "parse SPDX license expressions", "homepage": "https://github.com/kemitchell/spdx-expression-parse.js#readme", "dependencies": { "prod": {}, "dev": { "defence-cli": "^1.0.1", "jison": "^0.4.15", "replace-require-self": "^1.0.0", "spdx-exceptions": "^1.0.4", "spdx-license-ids": "^1.0.0", "standard": "^8.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/call-limit", "name": "call-limit", "version": "1.1.0", "description": "Limit the number of simultaneous calls to an async function", "homepage": "https://npmjs.com/packages/call-limit", "dependencies": { "prod": {}, "dev": { "tap": "^1.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/tar", "name": "tar", "version": "2.2.1", "description": "tar for node", "homepage": "https://github.com/isaacs/node-tar#readme", "dependencies": { "prod": { "block-stream": "*", "fstream": "^1.0.2", "inherits": "2" }, "dev": { "graceful-fs": "^4.1.2", "mkdirp": "^0.5.0", "rimraf": "1.x", "tap": "0.x" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/fstream", "name": "fstream", "version": "1.0.11", "description": "Advanced file system stream things", "homepage": "https://github.com/npm/fstream#readme", "dependencies": { "prod": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", "mkdirp": ">=0.5 0", "rimraf": "2" }, "dev": { "standard": "^4.0.0", "tap": "^1.2.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm", "name": "fstream-npm", "version": "1.2.1", "description": "fstream class for creating npm packages", "homepage": "https://github.com/npm/fstream-npm#readme", "dependencies": { "prod": { "fstream-ignore": "^1.0.0", "inherits": "2" }, "dev": { "graceful-fs": "^4.1.2", "mkdirp": "^0.5.1", "rimraf": "^2.4.2", "standard": "^4.3.1", "tap": "^1.3.2" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore", "name": "fstream-ignore", "version": "1.0.5", "description": "A thing for ignoring files based on globs", "homepage": "https://github.com/isaacs/fstream-ignore#readme", "dependencies": { "prod": { "fstream": "^1.0.0", "inherits": "2", "minimatch": "^3.0.0" }, "dev": { "mkdirp": "", "rimraf": "", "tap": "^5.7.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/fstream-npm/node_modules/fstream-ignore/node_modules/minimatch", "name": "minimatch", "version": "3.0.4", "description": "a glob matcher in javascript", "homepage": "https://github.com/isaacs/minimatch#readme", "dependencies": { "prod": { "brace-expansion": "^1.1.7" }, "dev": { "tap": "^10.3.2" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote", "name": "pacote", "version": "2.7.30", "description": "JavaScript package downloader", "homepage": "https://github.com/zkat/pacote#readme", "dependencies": { "prod": { "bluebird": "^3.5.0", "cacache": "^9.2.8", "glob": "^7.1.2", "lru-cache": "^4.0.2", "make-fetch-happen": "^2.4.11", "minimatch": "^3.0.4", "mississippi": "^1.2.0", "normalize-package-data": "^2.3.6", "npm-package-arg": "^5.1.1", "npm-pick-manifest": "^1.0.3", "osenv": "^0.1.4", "promise-inflight": "^1.0.1", "promise-retry": "^1.1.1", "protoduck": "^4.0.0", "safe-buffer": "^5.1.0", "semver": "^5.3.0", "ssri": "^4.1.5", "tar-fs": "^1.15.1", "tar-stream": "^1.5.4", "unique-filename": "^1.1.0", "which": "^1.2.12" }, "dev": { "mkdirp": "^0.5.1", "nock": "^9.0.13", "npmlog": "^4.1.0", "nyc": "^11.0.2", "require-inject": "^1.4.0", "rimraf": "^2.5.4", "standard": "^10.0.1", "standard-version": "^4.0.0", "tacks": "^1.2.6", "tap": "^10.3.3", "weallbehave": "^1.2.0", "weallcontribute": "^1.0.7" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/promise-inflight", "name": "promise-inflight", "version": "1.0.1", "description": "One promise for multiple requests in flight to avoid async duplication", "homepage": "https://github.com/iarna/promise-inflight#readme", "dependencies": { "prod": {}, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/ini", "name": "ini", "version": "1.3.4", "description": "An ini encoder/decoder for node", "homepage": "https://github.com/isaacs/ini#readme", "dependencies": { "prod": {}, "dev": { "tap": "^1.2.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch", "name": "minimatch", "version": "3.0.3", "description": "a glob matcher in javascript", "homepage": "https://github.com/isaacs/minimatch#readme", "dependencies": { "prod": { "brace-expansion": "^1.0.0" }, "dev": { "standard": "^3.7.2", "tap": "^5.6.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/wrappy", "name": "wrappy", "version": "1.0.2", "description": "Callback wrapping utility", "homepage": "https://github.com/npm/wrappy", "dependencies": { "prod": {}, "dev": { "tap": "^2.3.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion", "name": "brace-expansion", "version": "1.1.6", "description": "Brace expansion as known from sh/bash", "homepage": "https://github.com/juliangruber/brace-expansion", "dependencies": { "prod": { "balanced-match": "^0.4.1", "concat-map": "0.0.1" }, "dev": { "tape": "^4.6.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match", "name": "balanced-match", "version": "0.4.2", "description": "Match balanced character pairs, like \"{\" and \"}\"", "homepage": "https://github.com/juliangruber/balanced-match", "dependencies": { "prod": {}, "dev": { "tape": "^4.6.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map", "name": "concat-map", "version": "0.0.1", "description": "concatenative mapdashery", "homepage": "https://github.com/substack/node-concat-map", "dependencies": { "prod": {}, "dev": { "tape": "~2.4.0" }, "optional": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror", "name": "json-parse-helpfulerror", "version": "1.0.3", "description": "A drop-in replacement for JSON.parse that uses `jju` to give helpful errors", "homepage": "https://github.com/smikes/json-parse-helpfulerror", "dependencies": { "prod": { "jju": "^1.1.0" }, "dev": { "code": "^1.2.1", "jslint": "^0.7.1", "lab": "^5.1.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/readdir-scoped-modules", "name": "readdir-scoped-modules", "version": "1.0.2", "description": "Like `fs.readdir` but handling `@org/module` dirs as if they were a single entry.", "homepage": "https://github.com/npm/readdir-scoped-modules", "dependencies": { "prod": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", "graceful-fs": "^4.1.2", "once": "^1.3.0" }, "dev": { "tap": "^1.2.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo", "name": "dezalgo", "version": "1.0.3", "description": "Contain async insanity so that the dark pony lord doesn't eat souls", "homepage": "https://github.com/npm/dezalgo", "dependencies": { "prod": { "asap": "^2.0.0", "wrappy": "1" }, "dev": { "tap": "^1.2.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/node_modules/is-builtin-module", "name": "is-builtin-module", "version": "1.0.0", "description": "Check if a string matches the name of a Node.js builtin module", "homepage": "https://github.com/sindresorhus/is-builtin-module#readme", "dependencies": { "prod": { "builtin-modules": "^1.0.0" }, "dev": { "ava": "0.0.4" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/unique-filename", "name": "unique-filename", "version": "1.1.0", "description": "Generate a unique filename for use in temporary directories or caches.", "homepage": "https://github.com/iarna/unique-filename", "dependencies": { "prod": { "unique-slug": "^2.0.0" }, "dev": { "standard": "^5.4.1", "tap": "^2.3.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/cacache", "name": "cacache", "version": "9.2.8", "description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.", "homepage": "https://github.com/zkat/cacache#readme", "dependencies": { "prod": { "bluebird": "^3.5.0", "chownr": "^1.0.1", "glob": "^7.1.2", "graceful-fs": "^4.1.11", "lru-cache": "^4.0.2", "mississippi": "^1.3.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.1", "ssri": "^4.1.5", "unique-filename": "^1.1.0", "y18n": "^3.2.1" }, "dev": { "benchmark": "^2.1.4", "chalk": "^1.1.3", "cross-env": "^5.0.0", "nyc": "^11.0.2", "require-inject": "^1.4.0", "safe-buffer": "^5.1.0", "standard": "^10.0.2", "standard-version": "^4.0.0", "tacks": "^1.2.2", "tap": "^10.3.3", "weallbehave": "^1.2.0", "weallcontribute": "^1.0.8" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi", "name": "mississippi", "version": "1.3.0", "description": "a collection of useful streams", "homepage": "https://github.com/maxogden/mississippi#readme", "dependencies": { "prod": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", "end-of-stream": "^1.1.0", "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", "pump": "^1.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" }, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/stream-each", "name": "stream-each", "version": "1.2.0", "description": "Iterate all the data in a stream", "homepage": "https://github.com/mafintosh/stream-each", "dependencies": { "prod": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" }, "dev": { "standard": "^5.3.1", "tape": "^4.2.1", "through2": "^2.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/pumpify", "name": "pumpify", "version": "1.3.5", "description": "Combine an array of streams into a single duplex stream using pump and duplexify", "homepage": "https://github.com/mafintosh/pumpify", "dependencies": { "prod": { "duplexify": "^3.1.2", "inherits": "^2.0.1", "pump": "^1.0.0" }, "dev": { "tape": "^2.13.3", "through2": "^0.5.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify", "name": "duplexify", "version": "3.5.0", "description": "Turn a writable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input", "homepage": "https://github.com/mafintosh/duplexify", "dependencies": { "prod": { "end-of-stream": "1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" }, "dev": { "concat-stream": "^1.4.6", "tape": "^2.13.3", "through2": "^0.5.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/duplexify/node_modules/end-of-stream", "name": "end-of-stream", "version": "1.0.0", "description": "Call a callback when a readable/writable/duplex stream has completed or failed.", "homepage": "https://github.com/mafintosh/end-of-stream", "dependencies": { "prod": { "once": "~1.3.0" }, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/concat-stream", "name": "concat-stream", "version": "1.6.0", "description": "writable stream that concatenates strings or binary data and calls a callback with the result", "homepage": "https://github.com/maxogden/concat-stream#readme", "dependencies": { "prod": { "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" }, "dev": { "tape": "^4.6.3" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs", "name": "tar-fs", "version": "1.15.2", "description": "filesystem bindings for tar-stream", "homepage": "https://github.com/mafintosh/tar-fs", "dependencies": { "prod": { "chownr": "^1.0.1", "mkdirp": "^0.5.1", "pump": "^1.0.0", "tar-stream": "^1.1.2" }, "dev": { "rimraf": "^2.2.8", "standard": "^4.5.4", "tape": "^3.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-stream", "name": "tar-stream", "version": "1.5.4", "description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.", "homepage": "https://github.com/mafintosh/tar-stream", "dependencies": { "prod": { "bl": "^1.0.0", "end-of-stream": "^1.0.0", "readable-stream": "^2.0.0", "xtend": "^4.0.0" }, "dev": { "concat-stream": "^1.4.6", "standard": "^5.3.1", "tape": "^3.0.3" } } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/tar-fs/node_modules/pump", "name": "pump", "version": "1.0.2", "description": "pipe streams together and close all of them if one of them closes", "homepage": "https://github.com/mafintosh/pump#readme", "dependencies": { "prod": { "end-of-stream": "^1.1.0", "once": "^1.3.1" }, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/promise-retry", "name": "promise-retry", "version": "1.1.1", "description": "Retries a function that returns a promise, leveraging the power of the retry module.", "homepage": "https://github.com/IndigoUnited/node-promise-retry#readme", "dependencies": { "prod": { "err-code": "^1.0.0", "retry": "^0.10.0" }, "dev": { "expect.js": "^0.3.1", "mocha": "^3.0.0", "sleep-promise": "^2.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck", "name": "protoduck", "version": "4.0.0", "description": "Fancy duck typing for the most serious of ducks.", "homepage": "https://github.com/zkat/protoduck#readme", "dependencies": { "prod": { "genfun": "^4.0.1" }, "dev": { "mocha": "^3.2.0", "nyc": "^10.2.0", "standard": "^10.0.2", "standard-version": "^4.0.0", "tap": "^10.3.2", "weallbehave": "^1.0.3", "weallcontribute": "^1.0.8" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun", "name": "genfun", "version": "4.0.1", "description": "Fast, prototype-friendly multimethods.", "homepage": "http://github.com/zkat/genfun", "dependencies": { "prod": {}, "dev": { "mocha": "^3.2.0", "nyc": "^10.2.0", "standard": "^10.0.2", "standard-version": "^4.0.0", "weallbehave": "^1.0.3", "weallcontribute": "^1.0.8" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/minimatch", "name": "minimatch", "version": "3.0.4", "description": "a glob matcher in javascript", "homepage": "https://github.com/isaacs/minimatch#readme", "dependencies": { "prod": { "brace-expansion": "^1.1.7" }, "dev": { "tap": "^10.3.2" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/lru-cache", "name": "lru-cache", "version": "4.0.2", "description": "A cache object that deletes the least-recently-used items.", "homepage": "https://github.com/isaacs/node-lru-cache#readme", "dependencies": { "prod": { "pseudomap": "^1.0.1", "yallist": "^2.0.0" }, "dev": { "standard": "^5.4.1", "tap": "^8.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently", "name": "move-concurrently", "version": "1.0.1", "description": "Promises of moves of files or directories with rename, falling back to recursive rename/copy on EXDEV errors, with configurable concurrency and win32 junction support.", "homepage": "https://www.npmjs.com/package/move-concurrently", "dependencies": { "prod": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", "fs-write-stream-atomic": "^1.0.8", "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.3" }, "dev": { "standard": "^8.6.0", "tacks": "^1.2.6", "tap": "^10.1.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/move-concurrently/node_modules/copy-concurrently", "name": "copy-concurrently", "version": "1.0.3", "description": "Promises of copies of files, directories and symlinks, with concurrency controls and win32 junction fallback.", "homepage": "https://www.npmjs.com/package/copy-concurrently", "dependencies": { "prod": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", "iferr": "^0.1.5", "mkdirp": "^0.5.1", "rimraf": "^2.5.4", "run-queue": "^1.0.0" }, "dev": { "standard": "^8.6.0", "tacks": "^1.2.6", "tap": "^10.1.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/fs-write-stream-atomic", "name": "fs-write-stream-atomic", "version": "1.0.10", "description": "Like `fs.createWriteStream(...)`, but atomic.", "homepage": "https://github.com/npm/fs-write-stream-atomic", "dependencies": { "prod": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" }, "dev": { "rimraf": "^2.4.4", "standard": "^5.4.1", "tap": "^2.3.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/lodash.uniq", "name": "lodash.uniq", "version": "4.5.0", "description": "The lodash method `_.uniq` exported as a module.", "homepage": "https://lodash.com/", "dependencies": { "prod": {}, "dev": {}, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/read-installed", "name": "read-installed", "version": "4.0.3", "description": "Read all the installed packages in a folder, and return a tree structure with all the data.", "homepage": "https://github.com/isaacs/read-installed#readme", "dependencies": { "prod": { "debuglog": "^1.0.1", "graceful-fs": "^4.1.2", "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0", "semver": "2 || 3 || 4 || 5", "slide": "~1.1.3", "util-extend": "^1.0.1" }, "dev": { "mkdirp": "^0.5.0", "rimraf": "^2.2.8", "tap": "^1.2.0" }, "optional": { "graceful-fs": "^4.1.2" }, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/dezalgo/node_modules/asap", "name": "asap", "version": "2.0.5", "description": "High-priority task queue for Node.js and browsers", "homepage": "https://github.com/kriskowal/asap#readme", "dependencies": { "prod": {}, "dev": { "benchmark": "^1.0.0", "events": "^1.0.1", "jshint": "^2.5.1", "knox": "^0.8.10", "mr": "^2.0.5", "opener": "^1.3.0", "q": "^2.0.3", "q-io": "^2.0.3", "saucelabs": "^0.1.1", "wd": "^0.2.21", "weak-map": "^1.0.5" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct", "name": "spdx-correct", "version": "1.0.2", "description": "correct invalid SPDX identifiers", "homepage": "https://github.com/kemitchell/spdx-correct.js#readme", "dependencies": { "prod": { "spdx-license-ids": "^1.0.2" }, "dev": { "defence-cli": "^1.0.1", "replace-require-self": "^1.0.0", "spdx-expression-parse": "^1.0.0", "tape": "~4.0.0" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/npm-install-checks", "name": "npm-install-checks", "version": "3.0.0", "description": "checks that npm runs during the installation of a module", "homepage": "https://github.com/npm/npm-install-checks", "dependencies": { "prod": { "semver": "^2.3.0 || 3.x || 4 || 5" }, "dev": { "mkdirp": "~0.3.5", "rimraf": "~2.2.5", "standard": "^5.4.1", "tap": "^5.0.1" }, "optional": {}, "peer": {} } }, { "url": "/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/end-of-stream", "name": "end-of-stream", "version": "1.4.0", "description": "Call a callback when a readable/writable/duplex stream has completed or failed.", "homepage": "https://github.com/mafintosh/end-of-stream", "dependencies": { "prod": { "once": "^1.4.0" }, "dev": {}, "optional": {}, "peer": {} } } ] }