Browse Source

分批删除node_modules.bak数据1

wangsy 11 months ago
parent
commit
eacd2e451b
100 changed files with 0 additions and 14199 deletions
  1. 0 5
      node_modules.bak/domutils/.travis.yml
  2. 0 11
      node_modules.bak/domutils/LICENSE
  3. 0 14
      node_modules.bak/domutils/index.js
  4. 0 141
      node_modules.bak/domutils/lib/helpers.js
  5. 0 87
      node_modules.bak/domutils/lib/legacy.js
  6. 0 77
      node_modules.bak/domutils/lib/manipulation.js
  7. 0 95
      node_modules.bak/domutils/lib/querying.js
  8. 0 23
      node_modules.bak/domutils/lib/stringify.js
  9. 0 24
      node_modules.bak/domutils/lib/traversal.js
  10. 0 80
      node_modules.bak/domutils/package.json
  11. 0 3
      node_modules.bak/domutils/readme.md
  12. 0 6
      node_modules.bak/domutils/test/fixture.js
  13. 0 89
      node_modules.bak/domutils/test/tests/helpers.js
  14. 0 119
      node_modules.bak/domutils/test/tests/legacy.js
  15. 0 17
      node_modules.bak/domutils/test/tests/traversal.js
  16. 0 9
      node_modules.bak/domutils/test/utils.js
  17. 0 6
      node_modules.bak/duplexify/.travis.yml
  18. 0 21
      node_modules.bak/duplexify/LICENSE
  19. 0 97
      node_modules.bak/duplexify/README.md
  20. 0 21
      node_modules.bak/duplexify/example.js
  21. 0 234
      node_modules.bak/duplexify/index.js
  22. 0 67
      node_modules.bak/duplexify/package.json
  23. 0 295
      node_modules.bak/duplexify/test.js
  24. 0 22
      node_modules.bak/ee-first/LICENSE
  25. 0 80
      node_modules.bak/ee-first/README.md
  26. 0 95
      node_modules.bak/ee-first/index.js
  27. 0 63
      node_modules.bak/ee-first/package.json
  28. 0 14
      node_modules.bak/electron-to-chromium/CHANGELOG.md
  29. 0 5
      node_modules.bak/electron-to-chromium/LICENSE
  30. 0 186
      node_modules.bak/electron-to-chromium/README.md
  31. 0 37
      node_modules.bak/electron-to-chromium/chromium-versions.js
  32. 0 1313
      node_modules.bak/electron-to-chromium/full-chromium-versions.js
  33. 0 941
      node_modules.bak/electron-to-chromium/full-versions.js
  34. 0 36
      node_modules.bak/electron-to-chromium/index.js
  35. 0 69
      node_modules.bak/electron-to-chromium/package.json
  36. 0 66
      node_modules.bak/electron-to-chromium/versions.js
  37. 0 238
      node_modules.bak/elliptic/README.md
  38. 0 13
      node_modules.bak/elliptic/lib/elliptic.js
  39. 0 381
      node_modules.bak/elliptic/lib/elliptic/curve/base.js
  40. 0 435
      node_modules.bak/elliptic/lib/elliptic/curve/edwards.js
  41. 0 8
      node_modules.bak/elliptic/lib/elliptic/curve/index.js
  42. 0 178
      node_modules.bak/elliptic/lib/elliptic/curve/mont.js
  43. 0 938
      node_modules.bak/elliptic/lib/elliptic/curve/short.js
  44. 0 206
      node_modules.bak/elliptic/lib/elliptic/curves.js
  45. 0 243
      node_modules.bak/elliptic/lib/elliptic/ec/index.js
  46. 0 121
      node_modules.bak/elliptic/lib/elliptic/ec/key.js
  47. 0 166
      node_modules.bak/elliptic/lib/elliptic/ec/signature.js
  48. 0 118
      node_modules.bak/elliptic/lib/elliptic/eddsa/index.js
  49. 0 95
      node_modules.bak/elliptic/lib/elliptic/eddsa/key.js
  50. 0 65
      node_modules.bak/elliptic/lib/elliptic/eddsa/signature.js
  51. 0 780
      node_modules.bak/elliptic/lib/elliptic/precomputed/secp256k1.js
  52. 0 119
      node_modules.bak/elliptic/lib/elliptic/utils.js
  53. 0 85
      node_modules.bak/elliptic/package.json
  54. 0 20
      node_modules.bak/emoji-regex/LICENSE-MIT.txt
  55. 0 73
      node_modules.bak/emoji-regex/README.md
  56. 0 6
      node_modules.bak/emoji-regex/es2015/index.js
  57. 0 6
      node_modules.bak/emoji-regex/es2015/text.js
  58. 0 5
      node_modules.bak/emoji-regex/index.d.ts
  59. 0 6
      node_modules.bak/emoji-regex/index.js
  60. 0 78
      node_modules.bak/emoji-regex/package.json
  61. 0 6
      node_modules.bak/emoji-regex/text.js
  62. 0 85
      node_modules.bak/emojis-list/CHANGELOG.md
  63. 0 9
      node_modules.bak/emojis-list/LICENSE.md
  64. 0 36
      node_modules.bak/emojis-list/README.md
  65. 0 3077
      node_modules.bak/emojis-list/index.js
  66. 0 70
      node_modules.bak/emojis-list/package.json
  67. 0 14
      node_modules.bak/encodeurl/HISTORY.md
  68. 0 22
      node_modules.bak/encodeurl/LICENSE
  69. 0 128
      node_modules.bak/encodeurl/README.md
  70. 0 60
      node_modules.bak/encodeurl/index.js
  71. 0 78
      node_modules.bak/encodeurl/package.json
  72. 0 21
      node_modules.bak/end-of-stream/LICENSE
  73. 0 54
      node_modules.bak/end-of-stream/README.md
  74. 0 94
      node_modules.bak/end-of-stream/index.js
  75. 0 69
      node_modules.bak/end-of-stream/package.json
  76. 0 20
      node_modules.bak/enhanced-resolve/LICENSE
  77. 0 125
      node_modules.bak/enhanced-resolve/README.md
  78. 0 74
      node_modules.bak/enhanced-resolve/lib/AliasFieldPlugin.js
  79. 0 77
      node_modules.bak/enhanced-resolve/lib/AliasPlugin.js
  80. 0 33
      node_modules.bak/enhanced-resolve/lib/AppendPlugin.js
  81. 0 307
      node_modules.bak/enhanced-resolve/lib/CachedInputFileSystem.js
  82. 0 37
      node_modules.bak/enhanced-resolve/lib/CloneBasenamePlugin.js
  83. 0 62
      node_modules.bak/enhanced-resolve/lib/ConcordExtensionsPlugin.js
  84. 0 44
      node_modules.bak/enhanced-resolve/lib/ConcordMainPlugin.js
  85. 0 68
      node_modules.bak/enhanced-resolve/lib/ConcordModulesPlugin.js
  86. 0 76
      node_modules.bak/enhanced-resolve/lib/DescriptionFilePlugin.js
  87. 0 109
      node_modules.bak/enhanced-resolve/lib/DescriptionFileUtils.js
  88. 0 46
      node_modules.bak/enhanced-resolve/lib/DirectoryExistsPlugin.js
  89. 0 41
      node_modules.bak/enhanced-resolve/lib/FileExistsPlugin.js
  90. 0 24
      node_modules.bak/enhanced-resolve/lib/FileKindPlugin.js
  91. 0 28
      node_modules.bak/enhanced-resolve/lib/JoinRequestPlugin.js
  92. 0 41
      node_modules.bak/enhanced-resolve/lib/LogInfoPlugin.js
  93. 0 66
      node_modules.bak/enhanced-resolve/lib/MainFieldPlugin.js
  94. 0 44
      node_modules.bak/enhanced-resolve/lib/ModuleAppendPlugin.js
  95. 0 36
      node_modules.bak/enhanced-resolve/lib/ModuleKindPlugin.js
  96. 0 64
      node_modules.bak/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js
  97. 0 32
      node_modules.bak/enhanced-resolve/lib/ModulesInRootPlugin.js
  98. 0 21
      node_modules.bak/enhanced-resolve/lib/NextPlugin.js
  99. 0 50
      node_modules.bak/enhanced-resolve/lib/NodeJsInputFileSystem.js
  100. 0 0
      node_modules.bak/enhanced-resolve/lib/ParsePlugin.js

+ 0 - 5
node_modules.bak/domutils/.travis.yml

@@ -1,5 +0,0 @@
-sudo: true
-language: node_js
-node_js:
-  - 8
-

File diff suppressed because it is too large
+ 0 - 11
node_modules.bak/domutils/LICENSE


+ 0 - 14
node_modules.bak/domutils/index.js

@@ -1,14 +0,0 @@
-var DomUtils = module.exports;
-
-[
-	require("./lib/stringify"),
-	require("./lib/traversal"),
-	require("./lib/manipulation"),
-	require("./lib/querying"),
-	require("./lib/legacy"),
-	require("./lib/helpers")
-].forEach(function(ext){
-	Object.keys(ext).forEach(function(key){
-		DomUtils[key] = ext[key].bind(DomUtils);
-	});
-});

+ 0 - 141
node_modules.bak/domutils/lib/helpers.js

@@ -1,141 +0,0 @@
-// removeSubsets
-// Given an array of nodes, remove any member that is contained by another.
-exports.removeSubsets = function(nodes) {
-	var idx = nodes.length, node, ancestor, replace;
-
-	// Check if each node (or one of its ancestors) is already contained in the
-	// array.
-	while (--idx > -1) {
-		node = ancestor = nodes[idx];
-
-		// Temporarily remove the node under consideration
-		nodes[idx] = null;
-		replace = true;
-
-		while (ancestor) {
-			if (nodes.indexOf(ancestor) > -1) {
-				replace = false;
-				nodes.splice(idx, 1);
-				break;
-			}
-			ancestor = ancestor.parent;
-		}
-
-		// If the node has been found to be unique, re-insert it.
-		if (replace) {
-			nodes[idx] = node;
-		}
-	}
-
-	return nodes;
-};
-
-// Source: http://dom.spec.whatwg.org/#dom-node-comparedocumentposition
-var POSITION = {
-	DISCONNECTED: 1,
-	PRECEDING: 2,
-	FOLLOWING: 4,
-	CONTAINS: 8,
-	CONTAINED_BY: 16
-};
-
-// Compare the position of one node against another node in any other document.
-// The return value is a bitmask with the following values:
-//
-// document order:
-// > There is an ordering, document order, defined on all the nodes in the
-// > document corresponding to the order in which the first character of the
-// > XML representation of each node occurs in the XML representation of the
-// > document after expansion of general entities. Thus, the document element
-// > node will be the first node. Element nodes occur before their children.
-// > Thus, document order orders element nodes in order of the occurrence of
-// > their start-tag in the XML (after expansion of entities). The attribute
-// > nodes of an element occur after the element and before its children. The
-// > relative order of attribute nodes is implementation-dependent./
-// Source:
-// http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order
-//
-// @argument {Node} nodaA The first node to use in the comparison
-// @argument {Node} nodeB The second node to use in the comparison
-//
-// @return {Number} A bitmask describing the input nodes' relative position.
-//         See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for
-//         a description of these values.
-var comparePos = exports.compareDocumentPosition = function(nodeA, nodeB) {
-	var aParents = [];
-	var bParents = [];
-	var current, sharedParent, siblings, aSibling, bSibling, idx;
-
-	if (nodeA === nodeB) {
-		return 0;
-	}
-
-	current = nodeA;
-	while (current) {
-		aParents.unshift(current);
-		current = current.parent;
-	}
-	current = nodeB;
-	while (current) {
-		bParents.unshift(current);
-		current = current.parent;
-	}
-
-	idx = 0;
-	while (aParents[idx] === bParents[idx]) {
-		idx++;
-	}
-
-	if (idx === 0) {
-		return POSITION.DISCONNECTED;
-	}
-
-	sharedParent = aParents[idx - 1];
-	siblings = sharedParent.children;
-	aSibling = aParents[idx];
-	bSibling = bParents[idx];
-
-	if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {
-		if (sharedParent === nodeB) {
-			return POSITION.FOLLOWING | POSITION.CONTAINED_BY;
-		}
-		return POSITION.FOLLOWING;
-	} else {
-		if (sharedParent === nodeA) {
-			return POSITION.PRECEDING | POSITION.CONTAINS;
-		}
-		return POSITION.PRECEDING;
-	}
-};
-
-// Sort an array of nodes based on their relative position in the document and
-// remove any duplicate nodes. If the array contains nodes that do not belong
-// to the same document, sort order is unspecified.
-//
-// @argument {Array} nodes Array of DOM nodes
-//
-// @returns {Array} collection of unique nodes, sorted in document order
-exports.uniqueSort = function(nodes) {
-	var idx = nodes.length, node, position;
-
-	nodes = nodes.slice();
-
-	while (--idx > -1) {
-		node = nodes[idx];
-		position = nodes.indexOf(node);
-		if (position > -1 && position < idx) {
-			nodes.splice(idx, 1);
-		}
-	}
-	nodes.sort(function(a, b) {
-		var relative = comparePos(a, b);
-		if (relative & POSITION.PRECEDING) {
-			return -1;
-		} else if (relative & POSITION.FOLLOWING) {
-			return 1;
-		}
-		return 0;
-	});
-
-	return nodes;
-};

+ 0 - 87
node_modules.bak/domutils/lib/legacy.js

@@ -1,87 +0,0 @@
-var ElementType = require("domelementtype");
-var isTag = exports.isTag = ElementType.isTag;
-
-exports.testElement = function(options, element){
-	for(var key in options){
-		if(!options.hasOwnProperty(key));
-		else if(key === "tag_name"){
-			if(!isTag(element) || !options.tag_name(element.name)){
-				return false;
-			}
-		} else if(key === "tag_type"){
-			if(!options.tag_type(element.type)) return false;
-		} else if(key === "tag_contains"){
-			if(isTag(element) || !options.tag_contains(element.data)){
-				return false;
-			}
-		} else if(!element.attribs || !options[key](element.attribs[key])){
-			return false;
-		}
-	}
-	return true;
-};
-
-var Checks = {
-	tag_name: function(name){
-		if(typeof name === "function"){
-			return function(elem){ return isTag(elem) && name(elem.name); };
-		} else if(name === "*"){
-			return isTag;
-		} else {
-			return function(elem){ return isTag(elem) && elem.name === name; };
-		}
-	},
-	tag_type: function(type){
-		if(typeof type === "function"){
-			return function(elem){ return type(elem.type); };
-		} else {
-			return function(elem){ return elem.type === type; };
-		}
-	},
-	tag_contains: function(data){
-		if(typeof data === "function"){
-			return function(elem){ return !isTag(elem) && data(elem.data); };
-		} else {
-			return function(elem){ return !isTag(elem) && elem.data === data; };
-		}
-	}
-};
-
-function getAttribCheck(attrib, value){
-	if(typeof value === "function"){
-		return function(elem){ return elem.attribs && value(elem.attribs[attrib]); };
-	} else {
-		return function(elem){ return elem.attribs && elem.attribs[attrib] === value; };
-	}
-}
-
-function combineFuncs(a, b){
-	return function(elem){
-		return a(elem) || b(elem);
-	};
-}
-
-exports.getElements = function(options, element, recurse, limit){
-	var funcs = Object.keys(options).map(function(key){
-		var value = options[key];
-		return key in Checks ? Checks[key](value) : getAttribCheck(key, value);
-	});
-
-	return funcs.length === 0 ? [] : this.filter(
-		funcs.reduce(combineFuncs),
-		element, recurse, limit
-	);
-};
-
-exports.getElementById = function(id, element, recurse){
-	if(!Array.isArray(element)) element = [element];
-	return this.findOne(getAttribCheck("id", id), element, recurse !== false);
-};
-
-exports.getElementsByTagName = function(name, element, recurse, limit){
-	return this.filter(Checks.tag_name(name), element, recurse, limit);
-};
-
-exports.getElementsByTagType = function(type, element, recurse, limit){
-	return this.filter(Checks.tag_type(type), element, recurse, limit);
-};

+ 0 - 77
node_modules.bak/domutils/lib/manipulation.js

@@ -1,77 +0,0 @@
-exports.removeElement = function(elem){
-	if(elem.prev) elem.prev.next = elem.next;
-	if(elem.next) elem.next.prev = elem.prev;
-
-	if(elem.parent){
-		var childs = elem.parent.children;
-		childs.splice(childs.lastIndexOf(elem), 1);
-	}
-};
-
-exports.replaceElement = function(elem, replacement){
-	var prev = replacement.prev = elem.prev;
-	if(prev){
-		prev.next = replacement;
-	}
-
-	var next = replacement.next = elem.next;
-	if(next){
-		next.prev = replacement;
-	}
-
-	var parent = replacement.parent = elem.parent;
-	if(parent){
-		var childs = parent.children;
-		childs[childs.lastIndexOf(elem)] = replacement;
-	}
-};
-
-exports.appendChild = function(elem, child){
-	child.parent = elem;
-
-	if(elem.children.push(child) !== 1){
-		var sibling = elem.children[elem.children.length - 2];
-		sibling.next = child;
-		child.prev = sibling;
-		child.next = null;
-	}
-};
-
-exports.append = function(elem, next){
-	var parent = elem.parent,
-		currNext = elem.next;
-
-	next.next = currNext;
-	next.prev = elem;
-	elem.next = next;
-	next.parent = parent;
-
-	if(currNext){
-		currNext.prev = next;
-		if(parent){
-			var childs = parent.children;
-			childs.splice(childs.lastIndexOf(currNext), 0, next);
-		}
-	} else if(parent){
-		parent.children.push(next);
-	}
-};
-
-exports.prepend = function(elem, prev){
-	var parent = elem.parent;
-	if(parent){
-		var childs = parent.children;
-		childs.splice(childs.lastIndexOf(elem), 0, prev);
-	}
-
-	if(elem.prev){
-		elem.prev.next = prev;
-	}
-	
-	prev.parent = parent;
-	prev.prev = elem.prev;
-	prev.next = elem;
-	elem.prev = prev;
-};
-
-

+ 0 - 95
node_modules.bak/domutils/lib/querying.js

@@ -1,95 +0,0 @@
-var isTag = require("domelementtype").isTag;
-
-module.exports = {
-	filter: filter,
-	find: find,
-	findOneChild: findOneChild,
-	findOne: findOne,
-	existsOne: existsOne,
-	findAll: findAll
-};
-
-function filter(test, element, recurse, limit){
-	if(!Array.isArray(element)) element = [element];
-
-	if(typeof limit !== "number" || !isFinite(limit)){
-		limit = Infinity;
-	}
-	return find(test, element, recurse !== false, limit);
-}
-
-function find(test, elems, recurse, limit){
-	var result = [], childs;
-
-	for(var i = 0, j = elems.length; i < j; i++){
-		if(test(elems[i])){
-			result.push(elems[i]);
-			if(--limit <= 0) break;
-		}
-
-		childs = elems[i].children;
-		if(recurse && childs && childs.length > 0){
-			childs = find(test, childs, recurse, limit);
-			result = result.concat(childs);
-			limit -= childs.length;
-			if(limit <= 0) break;
-		}
-	}
-
-	return result;
-}
-
-function findOneChild(test, elems){
-	for(var i = 0, l = elems.length; i < l; i++){
-		if(test(elems[i])) return elems[i];
-	}
-
-	return null;
-}
-
-function findOne(test, elems){
-	var elem = null;
-
-	for(var i = 0, l = elems.length; i < l && !elem; i++){
-		if(!isTag(elems[i])){
-			continue;
-		} else if(test(elems[i])){
-			elem = elems[i];
-		} else if(elems[i].children.length > 0){
-			elem = findOne(test, elems[i].children);
-		}
-	}
-
-	return elem;
-}
-
-function existsOne(test, elems){
-	for(var i = 0, l = elems.length; i < l; i++){
-		if(
-			isTag(elems[i]) && (
-				test(elems[i]) || (
-					elems[i].children.length > 0 &&
-					existsOne(test, elems[i].children)
-				)
-			)
-		){
-			return true;
-		}
-	}
-
-	return false;
-}
-
-function findAll(test, rootElems){
-	var result = [];
-	var stack = rootElems.slice();
-	while(stack.length){
-		var elem = stack.shift();
-		if(!isTag(elem)) continue;
-		if (elem.children && elem.children.length > 0) {
-			stack.unshift.apply(stack, elem.children);
-		}
-		if(test(elem)) result.push(elem);
-	}
-	return result;
-}

+ 0 - 23
node_modules.bak/domutils/lib/stringify.js

@@ -1,23 +0,0 @@
-var ElementType = require("domelementtype"),
-    getOuterHTML = require("dom-serializer"),
-    isTag = ElementType.isTag;
-
-module.exports = {
-	getInnerHTML: getInnerHTML,
-	getOuterHTML: getOuterHTML,
-	getText: getText
-};
-
-function getInnerHTML(elem, opts){
-	return elem.children ? elem.children.map(function(elem){
-		return getOuterHTML(elem, opts);
-	}).join("") : "";
-}
-
-function getText(elem){
-	if(Array.isArray(elem)) return elem.map(getText).join("");
-	if(isTag(elem)) return elem.name === "br" ? "\n" : getText(elem.children);
-	if(elem.type === ElementType.CDATA) return getText(elem.children);
-	if(elem.type === ElementType.Text) return elem.data;
-	return "";
-}

+ 0 - 24
node_modules.bak/domutils/lib/traversal.js

@@ -1,24 +0,0 @@
-var getChildren = exports.getChildren = function(elem){
-	return elem.children;
-};
-
-var getParent = exports.getParent = function(elem){
-	return elem.parent;
-};
-
-exports.getSiblings = function(elem){
-	var parent = getParent(elem);
-	return parent ? getChildren(parent) : [elem];
-};
-
-exports.getAttributeValue = function(elem, name){
-	return elem.attribs && elem.attribs[name];
-};
-
-exports.hasAttrib = function(elem, name){
-	return !!elem.attribs && hasOwnProperty.call(elem.attribs, name);
-};
-
-exports.getName = function(elem){
-	return elem.name;
-};

+ 0 - 80
node_modules.bak/domutils/package.json

@@ -1,80 +0,0 @@
-{
-  "_from": "domutils@^1.7.0",
-  "_id": "domutils@1.7.0",
-  "_inBundle": false,
-  "_integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=",
-  "_location": "/domutils",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "domutils@^1.7.0",
-    "name": "domutils",
-    "escapedName": "domutils",
-    "rawSpec": "^1.7.0",
-    "saveSpec": null,
-    "fetchSpec": "^1.7.0"
-  },
-  "_requiredBy": [
-    "/css-select",
-    "/htmlparser2"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1618565562449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz",
-  "_shasum": "56ea341e834e06e6748af7a1cb25da67ea9f8c2a",
-  "_spec": "domutils@^1.7.0",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\css-select",
-  "author": {
-    "name": "Felix Boehm",
-    "email": "me@feedic.com"
-  },
-  "bugs": {
-    "url": "https://github.com/FB55/domutils/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {
-    "dom-serializer": "0",
-    "domelementtype": "1"
-  },
-  "deprecated": false,
-  "description": "utilities for working with htmlparser2's dom",
-  "devDependencies": {
-    "domhandler": "2",
-    "htmlparser2": "~3.9.2",
-    "jshint": "~2.9.4",
-    "mocha": "~3.2.0"
-  },
-  "directories": {
-    "test": "tests"
-  },
-  "homepage": "https://github.com/FB55/domutils#readme",
-  "jshintConfig": {
-    "proto": true,
-    "unused": true,
-    "eqnull": true,
-    "undef": true,
-    "quotmark": "double",
-    "eqeqeq": true,
-    "trailing": true,
-    "node": true,
-    "globals": {
-      "describe": true,
-      "it": true,
-      "beforeEach": true
-    }
-  },
-  "keywords": [
-    "dom",
-    "htmlparser2"
-  ],
-  "license": "BSD-2-Clause",
-  "main": "index.js",
-  "name": "domutils",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/FB55/domutils.git"
-  },
-  "scripts": {
-    "test": "mocha test/tests/**.js && jshint index.js test/**/*.js lib/*.js"
-  },
-  "version": "1.7.0"
-}

+ 0 - 3
node_modules.bak/domutils/readme.md

@@ -1,3 +0,0 @@
-Utilities for working with htmlparser2's dom
-
-[![Build Status](https://travis-ci.org/fb55/domutils.svg?branch=master)](https://travis-ci.org/fb55/domutils)

+ 0 - 6
node_modules.bak/domutils/test/fixture.js

@@ -1,6 +0,0 @@
-var makeDom = require("./utils").makeDom;
-var markup = Array(21).join(
-	"<?xml><tag1 id='asdf'> <script>text</script> <!-- comment --> <tag2> text </tag1>"
-);
-
-module.exports = makeDom(markup);

+ 0 - 89
node_modules.bak/domutils/test/tests/helpers.js

@@ -1,89 +0,0 @@
-var makeDom = require("../utils").makeDom;
-var helpers = require("../..");
-var assert = require("assert");
-
-describe("helpers", function() {
-	describe("removeSubsets", function() {
-		var removeSubsets = helpers.removeSubsets;
-		var dom = makeDom("<div><p><span></span></p><p></p></div>")[0];
-
-		it("removes identical trees", function() {
-			var matches = removeSubsets([dom, dom]);
-			assert.equal(matches.length, 1);
-		});
-
-		it("Removes subsets found first", function() {
-			var matches = removeSubsets([dom, dom.children[0].children[0]]);
-			assert.equal(matches.length, 1);
-		});
-
-		it("Removes subsets found last", function() {
-			var matches = removeSubsets([dom.children[0], dom]);
-			assert.equal(matches.length, 1);
-		});
-
-		it("Does not remove unique trees", function() {
-			var matches = removeSubsets([dom.children[0], dom.children[1]]);
-			assert.equal(matches.length, 2);
-		});
-	});
-
-	describe("compareDocumentPosition", function() {
-		var compareDocumentPosition = helpers.compareDocumentPosition;
-		var markup = "<div><p><span></span></p><a></a></div>";
-		var dom = makeDom(markup)[0];
-		var p = dom.children[0];
-		var span = p.children[0];
-		var a = dom.children[1];
-
-		it("reports when the first node occurs before the second indirectly", function() {
-			assert.equal(compareDocumentPosition(span, a), 2);
-		});
-
-		it("reports when the first node contains the second", function() {
-			assert.equal(compareDocumentPosition(p, span), 10);
-		});
-
-		it("reports when the first node occurs after the second indirectly", function() {
-			assert.equal(compareDocumentPosition(a, span), 4);
-		});
-
-		it("reports when the first node is contained by the second", function() {
-			assert.equal(compareDocumentPosition(span, p), 20);
-		});
-
-		it("reports when the nodes belong to separate documents", function() {
-			var other = makeDom(markup)[0].children[0].children[0];
-
-			assert.equal(compareDocumentPosition(span, other), 1);
-		});
-
-		it("reports when the nodes are identical", function() {
-			assert.equal(compareDocumentPosition(span, span), 0);
-		});
-	});
-
-	describe("uniqueSort", function() {
-		var uniqueSort = helpers.uniqueSort;
-		var dom, p, span, a;
-
-		beforeEach(function() {
-			dom = makeDom("<div><p><span></span></p><a></a></div>")[0];
-			p = dom.children[0];
-			span = p.children[0];
-			a = dom.children[1];
-		});
-
-		it("leaves unique elements untouched", function() {
-			assert.deepEqual(uniqueSort([p, a]), [p, a]);
-		});
-
-		it("removes duplicate elements", function() {
-			assert.deepEqual(uniqueSort([p, a, p]), [p, a]);
-		});
-
-		it("sorts nodes in document order", function() {
-			assert.deepEqual(uniqueSort([a, dom, span, p]), [dom, p, span, a]);
-		});
-	});
-});

+ 0 - 119
node_modules.bak/domutils/test/tests/legacy.js

@@ -1,119 +0,0 @@
-var DomUtils = require("../..");
-var fixture = require("../fixture");
-var assert = require("assert");
-
-// Set up expected structures
-var expected = {
-	idAsdf: fixture[1],
-	tag2: [],
-	typeScript: []
-};
-for (var idx = 0; idx < 20; ++idx) {
-	expected.tag2.push(fixture[idx*2 + 1].children[5]);
-	expected.typeScript.push(fixture[idx*2 + 1].children[1]);
-}
-
-describe("legacy", function() {
-	describe("getElements", function() {
-		var getElements = DomUtils.getElements;
-		it("returns the node with the specified ID", function() {
-			assert.deepEqual(
-				getElements({ id: "asdf" }, fixture, true, 1),
-				[expected.idAsdf]
-			);
-		});
-		it("returns empty array for unknown IDs", function() {
-			assert.deepEqual(getElements({ id: "asdfs" }, fixture, true), []);
-		});
-		it("returns the nodes with the specified tag name", function() {
-			assert.deepEqual(
-				getElements({ tag_name:"tag2" }, fixture, true),
-				expected.tag2
-			);
-		});
-		it("returns empty array for unknown tag names", function() {
-			assert.deepEqual(
-				getElements({ tag_name : "asdfs" }, fixture, true),
-				[]
-			);
-		});
-		it("returns the nodes with the specified tag type", function() {
-			assert.deepEqual(
-				getElements({ tag_type: "script" }, fixture, true),
-				expected.typeScript
-			);
-		});
-		it("returns empty array for unknown tag types", function() {
-			assert.deepEqual(
-				getElements({ tag_type: "video" }, fixture, true),
-				[]
-			);
-		});
-	});
-
-	describe("getElementById", function() {
-		var getElementById = DomUtils.getElementById;
-		it("returns the specified node", function() {
-			assert.equal(
-				expected.idAsdf,
-				getElementById("asdf", fixture, true)
-			);
-		});
-		it("returns `null` for unknown IDs", function() {
-			assert.equal(null, getElementById("asdfs", fixture, true));
-		});
-	});
-
-	describe("getElementsByTagName", function() {
-		var getElementsByTagName = DomUtils.getElementsByTagName;
-		it("returns the specified nodes", function() {
-			assert.deepEqual(
-				getElementsByTagName("tag2", fixture, true),
-				expected.tag2
-			);
-		});
-		it("returns empty array for unknown tag names", function() {
-			assert.deepEqual(
-				getElementsByTagName("tag23", fixture, true),
-				[]
-			);
-		});
-	});
-
-	describe("getElementsByTagType", function() {
-		var getElementsByTagType = DomUtils.getElementsByTagType;
-		it("returns the specified nodes", function() {
-			assert.deepEqual(
-				getElementsByTagType("script", fixture, true),
-				expected.typeScript
-			);
-		});
-		it("returns empty array for unknown tag types", function() {
-			assert.deepEqual(
-				getElementsByTagType("video", fixture, true),
-				[]
-			);
-		});
-	});
-
-	describe("getOuterHTML", function() {
-		var getOuterHTML = DomUtils.getOuterHTML;
-		it("Correctly renders the outer HTML", function() {
-			assert.equal(
-				getOuterHTML(fixture[1]),
-				"<tag1 id=\"asdf\"> <script>text</script> <!-- comment --> <tag2> text </tag2></tag1>"
-			);
-		});
-	});
-
-	describe("getInnerHTML", function() {
-		var getInnerHTML = DomUtils.getInnerHTML;
-		it("Correctly renders the inner HTML", function() {
-			assert.equal(
-				getInnerHTML(fixture[1]),
-				" <script>text</script> <!-- comment --> <tag2> text </tag2>"
-			);
-		});
-	});
-
-});

+ 0 - 17
node_modules.bak/domutils/test/tests/traversal.js

@@ -1,17 +0,0 @@
-var makeDom = require("../utils").makeDom;
-var traversal = require("../..");
-var assert = require("assert");
-
-describe("traversal", function() {
-  describe("hasAttrib", function() {
-    var hasAttrib = traversal.hasAttrib;
-
-    it("doesn't throw on text nodes", function() {
-      var dom = makeDom("textnode");
-      assert.doesNotThrow(function() {
-        hasAttrib(dom[0], "some-attrib");
-      });
-    });
-
-  });
-});

+ 0 - 9
node_modules.bak/domutils/test/utils.js

@@ -1,9 +0,0 @@
-var htmlparser = require("htmlparser2");
-
-exports.makeDom = function(markup) {
-	var handler = new htmlparser.DomHandler(),
-		parser = new htmlparser.Parser(handler);
-	parser.write(markup);
-	parser.done();
-	return handler.dom;
-};

+ 0 - 6
node_modules.bak/duplexify/.travis.yml

@@ -1,6 +0,0 @@
-language: node_js
-node_js:
-  - "4"
-  - "6"
-  - "8"
-  - "10"

+ 0 - 21
node_modules.bak/duplexify/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 97
node_modules.bak/duplexify/README.md

@@ -1,97 +0,0 @@
-# duplexify
-
-Turn a writeable and readable stream into a single streams2 duplex stream.
-
-Similar to [duplexer2](https://github.com/deoxxa/duplexer2) except it supports both streams2 and streams1 as input
-and it allows you to set the readable and writable part asynchronously using `setReadable(stream)` and `setWritable(stream)`
-
-```
-npm install duplexify
-```
-
-[![build status](http://img.shields.io/travis/mafintosh/duplexify.svg?style=flat)](http://travis-ci.org/mafintosh/duplexify)
-
-## Usage
-
-Use `duplexify(writable, readable, streamOptions)` (or `duplexify.obj(writable, readable)` to create an object stream)
-
-``` js
-var duplexify = require('duplexify')
-
-// turn writableStream and readableStream into a single duplex stream
-var dup = duplexify(writableStream, readableStream)
-
-dup.write('hello world') // will write to writableStream
-dup.on('data', function(data) {
-  // will read from readableStream
-})
-```
-
-You can also set the readable and writable parts asynchronously
-
-``` js
-var dup = duplexify()
-
-dup.write('hello world') // write will buffer until the writable
-                         // part has been set
-
-// wait a bit ...
-dup.setReadable(readableStream)
-
-// maybe wait some more?
-dup.setWritable(writableStream)
-```
-
-If you call `setReadable` or `setWritable` multiple times it will unregister the previous readable/writable stream.
-To disable the readable or writable part call `setReadable` or `setWritable` with `null`.
-
-If the readable or writable streams emits an error or close it will destroy both streams and bubble up the event.
-You can also explicitly destroy the streams by calling `dup.destroy()`. The `destroy` method optionally takes an
-error object as argument, in which case the error is emitted as part of the `error` event.
-
-``` js
-dup.on('error', function(err) {
-  console.log('readable or writable emitted an error - close will follow')
-})
-
-dup.on('close', function() {
-  console.log('the duplex stream is destroyed')
-})
-
-dup.destroy() // calls destroy on the readable and writable part (if present)
-```
-
-## HTTP request example
-
-Turn a node core http request into a duplex stream is as easy as
-
-``` js
-var duplexify = require('duplexify')
-var http = require('http')
-
-var request = function(opts) {
-  var req = http.request(opts)
-  var dup = duplexify(req)
-  req.on('response', function(res) {
-    dup.setReadable(res)
-  })
-  return dup
-}
-
-var req = request({
-  method: 'GET',
-  host: 'www.google.com',
-  port: 80
-})
-
-req.end()
-req.pipe(process.stdout)
-```
-
-## License
-
-MIT
-
-## Related
-
-`duplexify` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.

+ 0 - 21
node_modules.bak/duplexify/example.js

@@ -1,21 +0,0 @@
-var duplexify = require('duplexify')
-var http = require('http')
-
-var request = function(opts) {
-  var req = http.request(opts)
-  var dup = duplexify()
-  dup.setWritable(req)
-  req.on('response', function(res) {
-    dup.setReadable(res)
-  })
-  return dup
-}
-
-var req = request({
-  method: 'GET',
-  host: 'www.google.com',
-  port: 80
-})
-
-req.end()
-req.pipe(process.stdout)

+ 0 - 234
node_modules.bak/duplexify/index.js

@@ -1,234 +0,0 @@
-var stream = require('readable-stream')
-var eos = require('end-of-stream')
-var inherits = require('inherits')
-var shift = require('stream-shift')
-
-var SIGNAL_FLUSH = (Buffer.from && Buffer.from !== Uint8Array.from)
-  ? Buffer.from([0])
-  : new Buffer([0])
-
-var onuncork = function(self, fn) {
-  if (self._corked) self.once('uncork', fn)
-  else fn()
-}
-
-var autoDestroy = function (self, err) {
-  if (self._autoDestroy) self.destroy(err)
-}
-
-var destroyer = function(self, end) {
-  return function(err) {
-    if (err) autoDestroy(self, err.message === 'premature close' ? null : err)
-    else if (end && !self._ended) self.end()
-  }
-}
-
-var end = function(ws, fn) {
-  if (!ws) return fn()
-  if (ws._writableState && ws._writableState.finished) return fn()
-  if (ws._writableState) return ws.end(fn)
-  ws.end()
-  fn()
-}
-
-var toStreams2 = function(rs) {
-  return new (stream.Readable)({objectMode:true, highWaterMark:16}).wrap(rs)
-}
-
-var Duplexify = function(writable, readable, opts) {
-  if (!(this instanceof Duplexify)) return new Duplexify(writable, readable, opts)
-  stream.Duplex.call(this, opts)
-
-  this._writable = null
-  this._readable = null
-  this._readable2 = null
-
-  this._autoDestroy = !opts || opts.autoDestroy !== false
-  this._forwardDestroy = !opts || opts.destroy !== false
-  this._forwardEnd = !opts || opts.end !== false
-  this._corked = 1 // start corked
-  this._ondrain = null
-  this._drained = false
-  this._forwarding = false
-  this._unwrite = null
-  this._unread = null
-  this._ended = false
-
-  this.destroyed = false
-
-  if (writable) this.setWritable(writable)
-  if (readable) this.setReadable(readable)
-}
-
-inherits(Duplexify, stream.Duplex)
-
-Duplexify.obj = function(writable, readable, opts) {
-  if (!opts) opts = {}
-  opts.objectMode = true
-  opts.highWaterMark = 16
-  return new Duplexify(writable, readable, opts)
-}
-
-Duplexify.prototype.cork = function() {
-  if (++this._corked === 1) this.emit('cork')
-}
-
-Duplexify.prototype.uncork = function() {
-  if (this._corked && --this._corked === 0) this.emit('uncork')
-}
-
-Duplexify.prototype.setWritable = function(writable) {
-  if (this._unwrite) this._unwrite()
-
-  if (this.destroyed) {
-    if (writable && writable.destroy) writable.destroy()
-    return
-  }
-
-  if (writable === null || writable === false) {
-    this.end()
-    return
-  }
-
-  var self = this
-  var unend = eos(writable, {writable:true, readable:false}, destroyer(this, this._forwardEnd))
-
-  var ondrain = function() {
-    var ondrain = self._ondrain
-    self._ondrain = null
-    if (ondrain) ondrain()
-  }
-
-  var clear = function() {
-    self._writable.removeListener('drain', ondrain)
-    unend()
-  }
-
-  if (this._unwrite) process.nextTick(ondrain) // force a drain on stream reset to avoid livelocks
-
-  this._writable = writable
-  this._writable.on('drain', ondrain)
-  this._unwrite = clear
-
-  this.uncork() // always uncork setWritable
-}
-
-Duplexify.prototype.setReadable = function(readable) {
-  if (this._unread) this._unread()
-
-  if (this.destroyed) {
-    if (readable && readable.destroy) readable.destroy()
-    return
-  }
-
-  if (readable === null || readable === false) {
-    this.push(null)
-    this.resume()
-    return
-  }
-
-  var self = this
-  var unend = eos(readable, {writable:false, readable:true}, destroyer(this))
-
-  var onreadable = function() {
-    self._forward()
-  }
-
-  var onend = function() {
-    self.push(null)
-  }
-
-  var clear = function() {
-    self._readable2.removeListener('readable', onreadable)
-    self._readable2.removeListener('end', onend)
-    unend()
-  }
-
-  this._drained = true
-  this._readable = readable
-  this._readable2 = readable._readableState ? readable : toStreams2(readable)
-  this._readable2.on('readable', onreadable)
-  this._readable2.on('end', onend)
-  this._unread = clear
-
-  this._forward()
-}
-
-Duplexify.prototype._read = function() {
-  this._drained = true
-  this._forward()
-}
-
-Duplexify.prototype._forward = function() {
-  if (this._forwarding || !this._readable2 || !this._drained) return
-  this._forwarding = true
-
-  var data
-
-  while (this._drained && (data = shift(this._readable2)) !== null) {
-    if (this.destroyed) continue
-    this._drained = this.push(data)
-  }
-
-  this._forwarding = false
-}
-
-Duplexify.prototype.destroy = function(err) {
-  if (this.destroyed) return
-  this.destroyed = true
-
-  var self = this
-  process.nextTick(function() {
-    self._destroy(err)
-  })
-}
-
-Duplexify.prototype._destroy = function(err) {
-  if (err) {
-    var ondrain = this._ondrain
-    this._ondrain = null
-    if (ondrain) ondrain(err)
-    else this.emit('error', err)
-  }
-
-  if (this._forwardDestroy) {
-    if (this._readable && this._readable.destroy) this._readable.destroy()
-    if (this._writable && this._writable.destroy) this._writable.destroy()
-  }
-
-  this.emit('close')
-}
-
-Duplexify.prototype._write = function(data, enc, cb) {
-  if (this.destroyed) return cb()
-  if (this._corked) return onuncork(this, this._write.bind(this, data, enc, cb))
-  if (data === SIGNAL_FLUSH) return this._finish(cb)
-  if (!this._writable) return cb()
-
-  if (this._writable.write(data) === false) this._ondrain = cb
-  else cb()
-}
-
-Duplexify.prototype._finish = function(cb) {
-  var self = this
-  this.emit('preend')
-  onuncork(this, function() {
-    end(self._forwardEnd && self._writable, function() {
-      // haxx to not emit prefinish twice
-      if (self._writableState.prefinished === false) self._writableState.prefinished = true
-      self.emit('prefinish')
-      onuncork(self, cb)
-    })
-  })
-}
-
-Duplexify.prototype.end = function(data, enc, cb) {
-  if (typeof data === 'function') return this.end(null, null, data)
-  if (typeof enc === 'function') return this.end(data, null, enc)
-  this._ended = true
-  if (data) this.write(data)
-  if (!this._writableState.ending) this.write(SIGNAL_FLUSH)
-  return stream.Writable.prototype.end.call(this, cb)
-}
-
-module.exports = Duplexify

+ 0 - 67
node_modules.bak/duplexify/package.json

@@ -1,67 +0,0 @@
-{
-  "_from": "duplexify@^3.4.2",
-  "_id": "duplexify@3.7.1",
-  "_inBundle": false,
-  "_integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
-  "_location": "/duplexify",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "duplexify@^3.4.2",
-    "name": "duplexify",
-    "escapedName": "duplexify",
-    "rawSpec": "^3.4.2",
-    "saveSpec": null,
-    "fetchSpec": "^3.4.2"
-  },
-  "_requiredBy": [
-    "/mississippi",
-    "/pumpify"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
-  "_shasum": "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309",
-  "_spec": "duplexify@^3.4.2",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\mississippi",
-  "author": {
-    "name": "Mathias Buus"
-  },
-  "bugs": {
-    "url": "https://github.com/mafintosh/duplexify/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {
-    "end-of-stream": "^1.0.0",
-    "inherits": "^2.0.1",
-    "readable-stream": "^2.0.0",
-    "stream-shift": "^1.0.0"
-  },
-  "deprecated": false,
-  "description": "Turn a writable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input",
-  "devDependencies": {
-    "concat-stream": "^1.5.2",
-    "tape": "^4.0.0",
-    "through2": "^2.0.0"
-  },
-  "homepage": "https://github.com/mafintosh/duplexify",
-  "keywords": [
-    "duplex",
-    "streams2",
-    "streams",
-    "stream",
-    "writable",
-    "readable",
-    "async"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "duplexify",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/mafintosh/duplexify.git"
-  },
-  "scripts": {
-    "test": "tape test.js"
-  },
-  "version": "3.7.1"
-}

+ 0 - 295
node_modules.bak/duplexify/test.js

@@ -1,295 +0,0 @@
-var tape = require('tape')
-var through = require('through2')
-var concat = require('concat-stream')
-var net = require('net')
-var duplexify = require('./')
-
-var HELLO_WORLD = (Buffer.from && Buffer.from !== Uint8Array.from)
- ? Buffer.from('hello world')
- : new Buffer('hello world')
-
-tape('passthrough', function(t) {
-  t.plan(2)
-
-  var pt = through()
-  var dup = duplexify(pt, pt)
-
-  dup.end('hello world')
-  dup.on('finish', function() {
-    t.ok(true, 'should finish')
-  })
-  dup.pipe(concat(function(data) {
-    t.same(data.toString(), 'hello world', 'same in as out')
-  }))
-})
-
-tape('passthrough + double end', function(t) {
-  t.plan(2)
-
-  var pt = through()
-  var dup = duplexify(pt, pt)
-
-  dup.end('hello world')
-  dup.end()
-
-  dup.on('finish', function() {
-    t.ok(true, 'should finish')
-  })
-  dup.pipe(concat(function(data) {
-    t.same(data.toString(), 'hello world', 'same in as out')
-  }))
-})
-
-tape('async passthrough + end', function(t) {
-  t.plan(2)
-
-  var pt = through.obj({highWaterMark:1}, function(data, enc, cb) {
-    setTimeout(function() {
-      cb(null, data)
-    }, 100)
-  })
-
-  var dup = duplexify(pt, pt)
-
-  dup.write('hello ')
-  dup.write('world')
-  dup.end()
-
-  dup.on('finish', function() {
-    t.ok(true, 'should finish')
-  })
-  dup.pipe(concat(function(data) {
-    t.same(data.toString(), 'hello world', 'same in as out')
-  }))
-})
-
-tape('duplex', function(t) {
-  var readExpected = ['read-a', 'read-b', 'read-c']
-  var writeExpected = ['write-a', 'write-b', 'write-c']
-
-  t.plan(readExpected.length+writeExpected.length+2)
-
-  var readable = through.obj()
-  var writable = through.obj(function(data, enc, cb) {
-    t.same(data, writeExpected.shift(), 'onwrite should match')
-    cb()
-  })
-
-  var dup = duplexify.obj(writable, readable)
-
-  readExpected.slice().forEach(function(data) {
-    readable.write(data)
-  })
-  readable.end()
-
-  writeExpected.slice().forEach(function(data) {
-    dup.write(data)
-  })
-  dup.end()
-
-  dup.on('data', function(data) {
-    t.same(data, readExpected.shift(), 'ondata should match')
-  })
-  dup.on('end', function() {
-    t.ok(true, 'should end')
-  })
-  dup.on('finish', function() {
-    t.ok(true, 'should finish')
-  })
-})
-
-tape('async', function(t) {
-  var dup = duplexify()
-  var pt = through()
-
-  dup.pipe(concat(function(data) {
-    t.same(data.toString(), 'i was async', 'same in as out')
-    t.end()
-  }))
-
-  dup.write('i')
-  dup.write(' was ')
-  dup.end('async')
-
-  setTimeout(function() {
-    dup.setWritable(pt)
-    setTimeout(function() {
-      dup.setReadable(pt)
-    }, 50)
-  }, 50)
-})
-
-tape('destroy', function(t) {
-  t.plan(2)
-
-  var write = through()
-  var read = through()
-  var dup = duplexify(write, read)
-
-  write.destroy = function() {
-    t.ok(true, 'write destroyed')
-  }
-
-  dup.on('close', function() {
-    t.ok(true, 'close emitted')
-  })
-
-  dup.destroy()
-  dup.destroy() // should only work once
-})
-
-tape('destroy both', function(t) {
-  t.plan(3)
-
-  var write = through()
-  var read = through()
-  var dup = duplexify(write, read)
-
-  write.destroy = function() {
-    t.ok(true, 'write destroyed')
-  }
-
-  read.destroy = function() {
-    t.ok(true, 'read destroyed')
-  }
-
-  dup.on('close', function() {
-    t.ok(true, 'close emitted')
-  })
-
-  dup.destroy()
-  dup.destroy() // should only work once
-})
-
-tape('bubble read errors', function(t) {
-  t.plan(2)
-
-  var write = through()
-  var read = through()
-  var dup = duplexify(write, read)
-
-  dup.on('error', function(err) {
-    t.same(err.message, 'read-error', 'received read error')
-  })
-  dup.on('close', function() {
-    t.ok(true, 'close emitted')
-  })
-
-  read.emit('error', new Error('read-error'))
-  write.emit('error', new Error('write-error')) // only emit first error
-})
-
-tape('bubble write errors', function(t) {
-  t.plan(2)
-
-  var write = through()
-  var read = through()
-  var dup = duplexify(write, read)
-
-  dup.on('error', function(err) {
-    t.same(err.message, 'write-error', 'received write error')
-  })
-  dup.on('close', function() {
-    t.ok(true, 'close emitted')
-  })
-
-  write.emit('error', new Error('write-error'))
-  read.emit('error', new Error('read-error')) // only emit first error
-})
-
-tape('reset writable / readable', function(t) {
-  t.plan(3)
-
-  var toUpperCase = function(data, enc, cb) {
-    cb(null, data.toString().toUpperCase())
-  }
-
-  var passthrough = through()
-  var upper = through(toUpperCase)
-  var dup = duplexify(passthrough, passthrough)
-
-  dup.once('data', function(data) {
-    t.same(data.toString(), 'hello')
-    dup.setWritable(upper)
-    dup.setReadable(upper)
-    dup.once('data', function(data) {
-      t.same(data.toString(), 'HELLO')
-      dup.once('data', function(data) {
-        t.same(data.toString(), 'HI')
-        t.end()
-      })
-    })
-    dup.write('hello')
-    dup.write('hi')
-  })
-  dup.write('hello')
-})
-
-tape('cork', function(t) {
-  var passthrough = through()
-  var dup = duplexify(passthrough, passthrough)
-  var ok = false
-
-  dup.on('prefinish', function() {
-    dup.cork()
-    setTimeout(function() {
-      ok = true
-      dup.uncork()
-    }, 100)
-  })
-  dup.on('finish', function() {
-    t.ok(ok)
-    t.end()
-  })
-  dup.end()
-})
-
-tape('prefinish not twice', function(t) {
-  var passthrough = through()
-  var dup = duplexify(passthrough, passthrough)
-  var prefinished = false
-
-  dup.on('prefinish', function() {
-    t.ok(!prefinished, 'only prefinish once')
-    prefinished = true
-  })
-
-  dup.on('finish', function() {
-    t.end()
-  })
-
-  dup.end()
-})
-
-tape('close', function(t) {
-  var passthrough = through()
-  var dup = duplexify(passthrough, passthrough)
-
-  passthrough.emit('close')
-  dup.on('close', function() {
-    t.ok(true, 'should forward close')
-    t.end()
-  })
-})
-
-tape('works with node native streams (net)', function(t) {
-  t.plan(1)
-
-  var server = net.createServer(function(socket) {
-    var dup = duplexify(socket, socket)
-
-    dup.once('data', function(chunk) {
-      t.same(chunk, HELLO_WORLD)
-      server.close()
-      socket.end()
-      t.end()
-    })
-  })
-
-  server.listen(0, function () {
-    var socket = net.connect(server.address().port)
-    var dup = duplexify(socket, socket)
-
-    dup.write(HELLO_WORLD)
-  })
-})

+ 0 - 22
node_modules.bak/ee-first/LICENSE

@@ -1,22 +0,0 @@
-
-The MIT License (MIT)
-
-Copyright (c) 2014 Jonathan Ong me@jongleberry.com
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 80
node_modules.bak/ee-first/README.md

@@ -1,80 +0,0 @@
-# EE First
-
-[![NPM version][npm-image]][npm-url]
-[![Build status][travis-image]][travis-url]
-[![Test coverage][coveralls-image]][coveralls-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-[![Gittip][gittip-image]][gittip-url]
-
-Get the first event in a set of event emitters and event pairs,
-then clean up after itself.
-
-## Install
-
-```sh
-$ npm install ee-first
-```
-
-## API
-
-```js
-var first = require('ee-first')
-```
-
-### first(arr, listener)
-
-Invoke `listener` on the first event from the list specified in `arr`. `arr` is
-an array of arrays, with each array in the format `[ee, ...event]`. `listener`
-will be called only once, the first time any of the given events are emitted. If
-`error` is one of the listened events, then if that fires first, the `listener`
-will be given the `err` argument.
-
-The `listener` is invoked as `listener(err, ee, event, args)`, where `err` is the
-first argument emitted from an `error` event, if applicable; `ee` is the event
-emitter that fired; `event` is the string event name that fired; and `args` is an
-array of the arguments that were emitted on the event.
-
-```js
-var ee1 = new EventEmitter()
-var ee2 = new EventEmitter()
-
-first([
-  [ee1, 'close', 'end', 'error'],
-  [ee2, 'error']
-], function (err, ee, event, args) {
-  // listener invoked
-})
-```
-
-#### .cancel()
-
-The group of listeners can be cancelled before being invoked and have all the event
-listeners removed from the underlying event emitters.
-
-```js
-var thunk = first([
-  [ee1, 'close', 'end', 'error'],
-  [ee2, 'error']
-], function (err, ee, event, args) {
-  // listener invoked
-})
-
-// cancel and clean up
-thunk.cancel()
-```
-
-[npm-image]: https://img.shields.io/npm/v/ee-first.svg?style=flat-square
-[npm-url]: https://npmjs.org/package/ee-first
-[github-tag]: http://img.shields.io/github/tag/jonathanong/ee-first.svg?style=flat-square
-[github-url]: https://github.com/jonathanong/ee-first/tags
-[travis-image]: https://img.shields.io/travis/jonathanong/ee-first.svg?style=flat-square
-[travis-url]: https://travis-ci.org/jonathanong/ee-first
-[coveralls-image]: https://img.shields.io/coveralls/jonathanong/ee-first.svg?style=flat-square
-[coveralls-url]: https://coveralls.io/r/jonathanong/ee-first?branch=master
-[license-image]: http://img.shields.io/npm/l/ee-first.svg?style=flat-square
-[license-url]: LICENSE.md
-[downloads-image]: http://img.shields.io/npm/dm/ee-first.svg?style=flat-square
-[downloads-url]: https://npmjs.org/package/ee-first
-[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square
-[gittip-url]: https://www.gittip.com/jonathanong/

+ 0 - 95
node_modules.bak/ee-first/index.js

@@ -1,95 +0,0 @@
-/*!
- * ee-first
- * Copyright(c) 2014 Jonathan Ong
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = first
-
-/**
- * Get the first event in a set of event emitters and event pairs.
- *
- * @param {array} stuff
- * @param {function} done
- * @public
- */
-
-function first(stuff, done) {
-  if (!Array.isArray(stuff))
-    throw new TypeError('arg must be an array of [ee, events...] arrays')
-
-  var cleanups = []
-
-  for (var i = 0; i < stuff.length; i++) {
-    var arr = stuff[i]
-
-    if (!Array.isArray(arr) || arr.length < 2)
-      throw new TypeError('each array member must be [ee, events...]')
-
-    var ee = arr[0]
-
-    for (var j = 1; j < arr.length; j++) {
-      var event = arr[j]
-      var fn = listener(event, callback)
-
-      // listen to the event
-      ee.on(event, fn)
-      // push this listener to the list of cleanups
-      cleanups.push({
-        ee: ee,
-        event: event,
-        fn: fn,
-      })
-    }
-  }
-
-  function callback() {
-    cleanup()
-    done.apply(null, arguments)
-  }
-
-  function cleanup() {
-    var x
-    for (var i = 0; i < cleanups.length; i++) {
-      x = cleanups[i]
-      x.ee.removeListener(x.event, x.fn)
-    }
-  }
-
-  function thunk(fn) {
-    done = fn
-  }
-
-  thunk.cancel = cleanup
-
-  return thunk
-}
-
-/**
- * Create the event listener.
- * @private
- */
-
-function listener(event, done) {
-  return function onevent(arg1) {
-    var args = new Array(arguments.length)
-    var ee = this
-    var err = event === 'error'
-      ? arg1
-      : null
-
-    // copy args to prevent arguments escaping scope
-    for (var i = 0; i < args.length; i++) {
-      args[i] = arguments[i]
-    }
-
-    done(err, ee, event, args)
-  }
-}

+ 0 - 63
node_modules.bak/ee-first/package.json

@@ -1,63 +0,0 @@
-{
-  "_from": "ee-first@1.1.1",
-  "_id": "ee-first@1.1.1",
-  "_inBundle": false,
-  "_integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-  "_location": "/ee-first",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "version",
-    "registry": true,
-    "raw": "ee-first@1.1.1",
-    "name": "ee-first",
-    "escapedName": "ee-first",
-    "rawSpec": "1.1.1",
-    "saveSpec": null,
-    "fetchSpec": "1.1.1"
-  },
-  "_requiredBy": [
-    "/on-finished"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
-  "_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d",
-  "_spec": "ee-first@1.1.1",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\on-finished",
-  "author": {
-    "name": "Jonathan Ong",
-    "email": "me@jongleberry.com",
-    "url": "http://jongleberry.com"
-  },
-  "bugs": {
-    "url": "https://github.com/jonathanong/ee-first/issues"
-  },
-  "bundleDependencies": false,
-  "contributors": [
-    {
-      "name": "Douglas Christopher Wilson",
-      "email": "doug@somethingdoug.com"
-    }
-  ],
-  "deprecated": false,
-  "description": "return the first event in a set of ee/event pairs",
-  "devDependencies": {
-    "istanbul": "0.3.9",
-    "mocha": "2.2.5"
-  },
-  "files": [
-    "index.js",
-    "LICENSE"
-  ],
-  "homepage": "https://github.com/jonathanong/ee-first#readme",
-  "license": "MIT",
-  "name": "ee-first",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/jonathanong/ee-first.git"
-  },
-  "scripts": {
-    "test": "mocha --reporter spec --bail --check-leaks test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
-  },
-  "version": "1.1.1"
-}

+ 0 - 14
node_modules.bak/electron-to-chromium/CHANGELOG.md

@@ -1,14 +0,0 @@
-v1.3.0
-  * Additionally include chromium to electron mappings
-
-v1.2.0
-  * versions and full-versions are now separately importable.
-
-v1.1.0
-  * Both electronToChromium and electronToBrowserList now can accept strings as well as numbers.
-
-v1.0.1
-  Update documentation
-
-v1.0.0
-  Inititial release

+ 0 - 5
node_modules.bak/electron-to-chromium/LICENSE

@@ -1,5 +0,0 @@
-Copyright 2018 Kilian Valkhof
-
-Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

File diff suppressed because it is too large
+ 0 - 186
node_modules.bak/electron-to-chromium/README.md


+ 0 - 37
node_modules.bak/electron-to-chromium/chromium-versions.js

@@ -1,37 +0,0 @@
-module.exports = {
-	"39": "0.20",
-	"40": "0.21",
-	"41": "0.21",
-	"42": "0.25",
-	"43": "0.27",
-	"44": "0.30",
-	"45": "0.31",
-	"47": "0.36",
-	"49": "0.37",
-	"50": "1.1",
-	"51": "1.2",
-	"52": "1.3",
-	"53": "1.4",
-	"54": "1.4",
-	"56": "1.6",
-	"58": "1.7",
-	"59": "1.8",
-	"61": "2.0",
-	"66": "3.0",
-	"69": "4.0",
-	"72": "5.0",
-	"73": "5.0",
-	"76": "6.0",
-	"78": "7.0",
-	"79": "8.0",
-	"80": "8.0",
-	"82": "9.0",
-	"83": "9.0",
-	"84": "10.0",
-	"85": "10.0",
-	"86": "11.0",
-	"87": "11.0",
-	"89": "12.0",
-	"90": "13.0",
-	"91": "13.0"
-};

File diff suppressed because it is too large
+ 0 - 1313
node_modules.bak/electron-to-chromium/full-chromium-versions.js


+ 0 - 941
node_modules.bak/electron-to-chromium/full-versions.js

@@ -1,941 +0,0 @@
-module.exports = {
-	"0.20.0": "39.0.2171.65",
-	"0.20.1": "39.0.2171.65",
-	"0.20.2": "39.0.2171.65",
-	"0.20.3": "39.0.2171.65",
-	"0.20.4": "39.0.2171.65",
-	"0.20.5": "39.0.2171.65",
-	"0.20.6": "39.0.2171.65",
-	"0.20.7": "39.0.2171.65",
-	"0.20.8": "39.0.2171.65",
-	"0.21.0": "40.0.2214.91",
-	"0.21.1": "40.0.2214.91",
-	"0.21.2": "40.0.2214.91",
-	"0.21.3": "41.0.2272.76",
-	"0.22.1": "41.0.2272.76",
-	"0.22.2": "41.0.2272.76",
-	"0.22.3": "41.0.2272.76",
-	"0.23.0": "41.0.2272.76",
-	"0.24.0": "41.0.2272.76",
-	"0.25.0": "42.0.2311.107",
-	"0.25.1": "42.0.2311.107",
-	"0.25.2": "42.0.2311.107",
-	"0.25.3": "42.0.2311.107",
-	"0.26.0": "42.0.2311.107",
-	"0.26.1": "42.0.2311.107",
-	"0.27.0": "42.0.2311.107",
-	"0.27.1": "42.0.2311.107",
-	"0.27.2": "43.0.2357.65",
-	"0.27.3": "43.0.2357.65",
-	"0.28.0": "43.0.2357.65",
-	"0.28.1": "43.0.2357.65",
-	"0.28.2": "43.0.2357.65",
-	"0.28.3": "43.0.2357.65",
-	"0.29.1": "43.0.2357.65",
-	"0.29.2": "43.0.2357.65",
-	"0.30.4": "44.0.2403.125",
-	"0.31.0": "44.0.2403.125",
-	"0.31.2": "45.0.2454.85",
-	"0.32.2": "45.0.2454.85",
-	"0.32.3": "45.0.2454.85",
-	"0.33.0": "45.0.2454.85",
-	"0.33.1": "45.0.2454.85",
-	"0.33.2": "45.0.2454.85",
-	"0.33.3": "45.0.2454.85",
-	"0.33.4": "45.0.2454.85",
-	"0.33.6": "45.0.2454.85",
-	"0.33.7": "45.0.2454.85",
-	"0.33.8": "45.0.2454.85",
-	"0.33.9": "45.0.2454.85",
-	"0.34.0": "45.0.2454.85",
-	"0.34.1": "45.0.2454.85",
-	"0.34.2": "45.0.2454.85",
-	"0.34.3": "45.0.2454.85",
-	"0.34.4": "45.0.2454.85",
-	"0.35.1": "45.0.2454.85",
-	"0.35.2": "45.0.2454.85",
-	"0.35.3": "45.0.2454.85",
-	"0.35.4": "45.0.2454.85",
-	"0.35.5": "45.0.2454.85",
-	"0.36.0": "47.0.2526.73",
-	"0.36.2": "47.0.2526.73",
-	"0.36.3": "47.0.2526.73",
-	"0.36.4": "47.0.2526.73",
-	"0.36.5": "47.0.2526.110",
-	"0.36.6": "47.0.2526.110",
-	"0.36.7": "47.0.2526.110",
-	"0.36.8": "47.0.2526.110",
-	"0.36.9": "47.0.2526.110",
-	"0.36.10": "47.0.2526.110",
-	"0.36.11": "47.0.2526.110",
-	"0.36.12": "47.0.2526.110",
-	"0.37.0": "49.0.2623.75",
-	"0.37.1": "49.0.2623.75",
-	"0.37.3": "49.0.2623.75",
-	"0.37.4": "49.0.2623.75",
-	"0.37.5": "49.0.2623.75",
-	"0.37.6": "49.0.2623.75",
-	"0.37.7": "49.0.2623.75",
-	"0.37.8": "49.0.2623.75",
-	"1.0.0": "49.0.2623.75",
-	"1.0.1": "49.0.2623.75",
-	"1.0.2": "49.0.2623.75",
-	"1.1.0": "50.0.2661.102",
-	"1.1.1": "50.0.2661.102",
-	"1.1.2": "50.0.2661.102",
-	"1.1.3": "50.0.2661.102",
-	"1.2.0": "51.0.2704.63",
-	"1.2.1": "51.0.2704.63",
-	"1.2.2": "51.0.2704.84",
-	"1.2.3": "51.0.2704.84",
-	"1.2.4": "51.0.2704.103",
-	"1.2.5": "51.0.2704.103",
-	"1.2.6": "51.0.2704.106",
-	"1.2.7": "51.0.2704.106",
-	"1.2.8": "51.0.2704.106",
-	"1.3.0": "52.0.2743.82",
-	"1.3.1": "52.0.2743.82",
-	"1.3.2": "52.0.2743.82",
-	"1.3.3": "52.0.2743.82",
-	"1.3.4": "52.0.2743.82",
-	"1.3.5": "52.0.2743.82",
-	"1.3.6": "52.0.2743.82",
-	"1.3.7": "52.0.2743.82",
-	"1.3.9": "52.0.2743.82",
-	"1.3.10": "52.0.2743.82",
-	"1.3.13": "52.0.2743.82",
-	"1.3.14": "52.0.2743.82",
-	"1.3.15": "52.0.2743.82",
-	"1.4.0": "53.0.2785.113",
-	"1.4.1": "53.0.2785.113",
-	"1.4.2": "53.0.2785.113",
-	"1.4.3": "53.0.2785.113",
-	"1.4.4": "53.0.2785.113",
-	"1.4.5": "53.0.2785.113",
-	"1.4.6": "53.0.2785.143",
-	"1.4.7": "53.0.2785.143",
-	"1.4.8": "53.0.2785.143",
-	"1.4.10": "53.0.2785.143",
-	"1.4.11": "53.0.2785.143",
-	"1.4.12": "54.0.2840.51",
-	"1.4.13": "53.0.2785.143",
-	"1.4.14": "53.0.2785.143",
-	"1.4.15": "53.0.2785.143",
-	"1.4.16": "53.0.2785.143",
-	"1.5.0": "54.0.2840.101",
-	"1.5.1": "54.0.2840.101",
-	"1.6.0": "56.0.2924.87",
-	"1.6.1": "56.0.2924.87",
-	"1.6.2": "56.0.2924.87",
-	"1.6.3": "56.0.2924.87",
-	"1.6.4": "56.0.2924.87",
-	"1.6.5": "56.0.2924.87",
-	"1.6.6": "56.0.2924.87",
-	"1.6.7": "56.0.2924.87",
-	"1.6.8": "56.0.2924.87",
-	"1.6.9": "56.0.2924.87",
-	"1.6.10": "56.0.2924.87",
-	"1.6.11": "56.0.2924.87",
-	"1.6.12": "56.0.2924.87",
-	"1.6.13": "56.0.2924.87",
-	"1.6.14": "56.0.2924.87",
-	"1.6.15": "56.0.2924.87",
-	"1.6.16": "56.0.2924.87",
-	"1.6.17": "56.0.2924.87",
-	"1.6.18": "56.0.2924.87",
-	"1.7.0": "58.0.3029.110",
-	"1.7.1": "58.0.3029.110",
-	"1.7.2": "58.0.3029.110",
-	"1.7.3": "58.0.3029.110",
-	"1.7.4": "58.0.3029.110",
-	"1.7.5": "58.0.3029.110",
-	"1.7.6": "58.0.3029.110",
-	"1.7.7": "58.0.3029.110",
-	"1.7.8": "58.0.3029.110",
-	"1.7.9": "58.0.3029.110",
-	"1.7.10": "58.0.3029.110",
-	"1.7.11": "58.0.3029.110",
-	"1.7.12": "58.0.3029.110",
-	"1.7.13": "58.0.3029.110",
-	"1.7.14": "58.0.3029.110",
-	"1.7.15": "58.0.3029.110",
-	"1.7.16": "58.0.3029.110",
-	"1.8.0": "59.0.3071.115",
-	"1.8.1": "59.0.3071.115",
-	"1.8.2-beta.1": "59.0.3071.115",
-	"1.8.2-beta.2": "59.0.3071.115",
-	"1.8.2-beta.3": "59.0.3071.115",
-	"1.8.2-beta.4": "59.0.3071.115",
-	"1.8.2-beta.5": "59.0.3071.115",
-	"1.8.2": "59.0.3071.115",
-	"1.8.3": "59.0.3071.115",
-	"1.8.4": "59.0.3071.115",
-	"1.8.5": "59.0.3071.115",
-	"1.8.6": "59.0.3071.115",
-	"1.8.7": "59.0.3071.115",
-	"1.8.8": "59.0.3071.115",
-	"2.0.0-beta.1": "61.0.3163.100",
-	"2.0.0-beta.2": "61.0.3163.100",
-	"2.0.0-beta.3": "61.0.3163.100",
-	"2.0.0-beta.4": "61.0.3163.100",
-	"2.0.0-beta.5": "61.0.3163.100",
-	"2.0.0-beta.6": "61.0.3163.100",
-	"2.0.0-beta.7": "61.0.3163.100",
-	"2.0.0-beta.8": "61.0.3163.100",
-	"2.0.0": "61.0.3163.100",
-	"2.0.1": "61.0.3163.100",
-	"2.0.2": "61.0.3163.100",
-	"2.0.3": "61.0.3163.100",
-	"2.0.4": "61.0.3163.100",
-	"2.0.5": "61.0.3163.100",
-	"2.0.6": "61.0.3163.100",
-	"2.0.7": "61.0.3163.100",
-	"2.0.8-nightly.20180819": "61.0.3163.100",
-	"2.0.8-nightly.20180820": "61.0.3163.100",
-	"2.0.8": "61.0.3163.100",
-	"2.0.9": "61.0.3163.100",
-	"2.0.10": "61.0.3163.100",
-	"2.0.11": "61.0.3163.100",
-	"2.0.12": "61.0.3163.100",
-	"2.0.13": "61.0.3163.100",
-	"2.0.14": "61.0.3163.100",
-	"2.0.15": "61.0.3163.100",
-	"2.0.16": "61.0.3163.100",
-	"2.0.17": "61.0.3163.100",
-	"2.0.18": "61.0.3163.100",
-	"2.1.0-unsupported.20180809": "61.0.3163.100",
-	"3.0.0-beta.1": "66.0.3359.181",
-	"3.0.0-beta.2": "66.0.3359.181",
-	"3.0.0-beta.3": "66.0.3359.181",
-	"3.0.0-beta.4": "66.0.3359.181",
-	"3.0.0-beta.5": "66.0.3359.181",
-	"3.0.0-beta.6": "66.0.3359.181",
-	"3.0.0-beta.7": "66.0.3359.181",
-	"3.0.0-beta.8": "66.0.3359.181",
-	"3.0.0-beta.9": "66.0.3359.181",
-	"3.0.0-beta.10": "66.0.3359.181",
-	"3.0.0-beta.11": "66.0.3359.181",
-	"3.0.0-beta.12": "66.0.3359.181",
-	"3.0.0-beta.13": "66.0.3359.181",
-	"3.0.0-nightly.20180818": "66.0.3359.181",
-	"3.0.0-nightly.20180821": "66.0.3359.181",
-	"3.0.0-nightly.20180823": "66.0.3359.181",
-	"3.0.0-nightly.20180904": "66.0.3359.181",
-	"3.0.0": "66.0.3359.181",
-	"3.0.1": "66.0.3359.181",
-	"3.0.2": "66.0.3359.181",
-	"3.0.3": "66.0.3359.181",
-	"3.0.4": "66.0.3359.181",
-	"3.0.5": "66.0.3359.181",
-	"3.0.6": "66.0.3359.181",
-	"3.0.7": "66.0.3359.181",
-	"3.0.8": "66.0.3359.181",
-	"3.0.9": "66.0.3359.181",
-	"3.0.10": "66.0.3359.181",
-	"3.0.11": "66.0.3359.181",
-	"3.0.12": "66.0.3359.181",
-	"3.0.13": "66.0.3359.181",
-	"3.0.14": "66.0.3359.181",
-	"3.0.15": "66.0.3359.181",
-	"3.0.16": "66.0.3359.181",
-	"3.1.0-beta.1": "66.0.3359.181",
-	"3.1.0-beta.2": "66.0.3359.181",
-	"3.1.0-beta.3": "66.0.3359.181",
-	"3.1.0-beta.4": "66.0.3359.181",
-	"3.1.0-beta.5": "66.0.3359.181",
-	"3.1.0": "66.0.3359.181",
-	"3.1.1": "66.0.3359.181",
-	"3.1.2": "66.0.3359.181",
-	"3.1.3": "66.0.3359.181",
-	"3.1.4": "66.0.3359.181",
-	"3.1.5": "66.0.3359.181",
-	"3.1.6": "66.0.3359.181",
-	"3.1.7": "66.0.3359.181",
-	"3.1.8": "66.0.3359.181",
-	"3.1.9": "66.0.3359.181",
-	"3.1.10": "66.0.3359.181",
-	"3.1.11": "66.0.3359.181",
-	"3.1.12": "66.0.3359.181",
-	"3.1.13": "66.0.3359.181",
-	"4.0.0-beta.1": "69.0.3497.106",
-	"4.0.0-beta.2": "69.0.3497.106",
-	"4.0.0-beta.3": "69.0.3497.106",
-	"4.0.0-beta.4": "69.0.3497.106",
-	"4.0.0-beta.5": "69.0.3497.106",
-	"4.0.0-beta.6": "69.0.3497.106",
-	"4.0.0-beta.7": "69.0.3497.106",
-	"4.0.0-beta.8": "69.0.3497.106",
-	"4.0.0-beta.9": "69.0.3497.106",
-	"4.0.0-beta.10": "69.0.3497.106",
-	"4.0.0-beta.11": "69.0.3497.106",
-	"4.0.0-nightly.20180817": "66.0.3359.181",
-	"4.0.0-nightly.20180819": "66.0.3359.181",
-	"4.0.0-nightly.20180821": "66.0.3359.181",
-	"4.0.0-nightly.20180929": "67.0.3396.99",
-	"4.0.0-nightly.20181006": "68.0.3440.128",
-	"4.0.0-nightly.20181010": "69.0.3497.106",
-	"4.0.0": "69.0.3497.106",
-	"4.0.1": "69.0.3497.106",
-	"4.0.2": "69.0.3497.106",
-	"4.0.3": "69.0.3497.106",
-	"4.0.4": "69.0.3497.106",
-	"4.0.5": "69.0.3497.106",
-	"4.0.6": "69.0.3497.106",
-	"4.0.7": "69.0.3497.128",
-	"4.0.8": "69.0.3497.128",
-	"4.1.0": "69.0.3497.128",
-	"4.1.1": "69.0.3497.128",
-	"4.1.2": "69.0.3497.128",
-	"4.1.3": "69.0.3497.128",
-	"4.1.4": "69.0.3497.128",
-	"4.1.5": "69.0.3497.128",
-	"4.2.0": "69.0.3497.128",
-	"4.2.1": "69.0.3497.128",
-	"4.2.2": "69.0.3497.128",
-	"4.2.3": "69.0.3497.128",
-	"4.2.4": "69.0.3497.128",
-	"4.2.5": "69.0.3497.128",
-	"4.2.6": "69.0.3497.128",
-	"4.2.7": "69.0.3497.128",
-	"4.2.8": "69.0.3497.128",
-	"4.2.9": "69.0.3497.128",
-	"4.2.10": "69.0.3497.128",
-	"4.2.11": "69.0.3497.128",
-	"4.2.12": "69.0.3497.128",
-	"5.0.0-beta.1": "72.0.3626.52",
-	"5.0.0-beta.2": "72.0.3626.52",
-	"5.0.0-beta.3": "73.0.3683.27",
-	"5.0.0-beta.4": "73.0.3683.54",
-	"5.0.0-beta.5": "73.0.3683.61",
-	"5.0.0-beta.6": "73.0.3683.84",
-	"5.0.0-beta.7": "73.0.3683.94",
-	"5.0.0-beta.8": "73.0.3683.104",
-	"5.0.0-beta.9": "73.0.3683.117",
-	"5.0.0-nightly.20190107": "70.0.3538.110",
-	"5.0.0-nightly.20190121": "71.0.3578.98",
-	"5.0.0-nightly.20190122": "71.0.3578.98",
-	"5.0.0": "73.0.3683.119",
-	"5.0.1": "73.0.3683.121",
-	"5.0.2": "73.0.3683.121",
-	"5.0.3": "73.0.3683.121",
-	"5.0.4": "73.0.3683.121",
-	"5.0.5": "73.0.3683.121",
-	"5.0.6": "73.0.3683.121",
-	"5.0.7": "73.0.3683.121",
-	"5.0.8": "73.0.3683.121",
-	"5.0.9": "73.0.3683.121",
-	"5.0.10": "73.0.3683.121",
-	"5.0.11": "73.0.3683.121",
-	"5.0.12": "73.0.3683.121",
-	"5.0.13": "73.0.3683.121",
-	"6.0.0-beta.1": "76.0.3774.1",
-	"6.0.0-beta.2": "76.0.3783.1",
-	"6.0.0-beta.3": "76.0.3783.1",
-	"6.0.0-beta.4": "76.0.3783.1",
-	"6.0.0-beta.5": "76.0.3805.4",
-	"6.0.0-beta.6": "76.0.3809.3",
-	"6.0.0-beta.7": "76.0.3809.22",
-	"6.0.0-beta.8": "76.0.3809.26",
-	"6.0.0-beta.9": "76.0.3809.26",
-	"6.0.0-beta.10": "76.0.3809.37",
-	"6.0.0-beta.11": "76.0.3809.42",
-	"6.0.0-beta.12": "76.0.3809.54",
-	"6.0.0-beta.13": "76.0.3809.60",
-	"6.0.0-beta.14": "76.0.3809.68",
-	"6.0.0-beta.15": "76.0.3809.74",
-	"6.0.0-nightly.20190212": "72.0.3626.107",
-	"6.0.0-nightly.20190213": "72.0.3626.110",
-	"6.0.0-nightly.20190311": "74.0.3724.8",
-	"6.0.0": "76.0.3809.88",
-	"6.0.1": "76.0.3809.102",
-	"6.0.2": "76.0.3809.110",
-	"6.0.3": "76.0.3809.126",
-	"6.0.4": "76.0.3809.131",
-	"6.0.5": "76.0.3809.136",
-	"6.0.6": "76.0.3809.138",
-	"6.0.7": "76.0.3809.139",
-	"6.0.8": "76.0.3809.146",
-	"6.0.9": "76.0.3809.146",
-	"6.0.10": "76.0.3809.146",
-	"6.0.11": "76.0.3809.146",
-	"6.0.12": "76.0.3809.146",
-	"6.1.0": "76.0.3809.146",
-	"6.1.1": "76.0.3809.146",
-	"6.1.2": "76.0.3809.146",
-	"6.1.3": "76.0.3809.146",
-	"6.1.4": "76.0.3809.146",
-	"6.1.5": "76.0.3809.146",
-	"6.1.6": "76.0.3809.146",
-	"6.1.7": "76.0.3809.146",
-	"6.1.8": "76.0.3809.146",
-	"6.1.9": "76.0.3809.146",
-	"6.1.10": "76.0.3809.146",
-	"6.1.11": "76.0.3809.146",
-	"6.1.12": "76.0.3809.146",
-	"7.0.0-beta.1": "78.0.3866.0",
-	"7.0.0-beta.2": "78.0.3866.0",
-	"7.0.0-beta.3": "78.0.3866.0",
-	"7.0.0-beta.4": "78.0.3896.6",
-	"7.0.0-beta.5": "78.0.3905.1",
-	"7.0.0-beta.6": "78.0.3905.1",
-	"7.0.0-beta.7": "78.0.3905.1",
-	"7.0.0-nightly.20190521": "76.0.3784.0",
-	"7.0.0-nightly.20190529": "76.0.3806.0",
-	"7.0.0-nightly.20190530": "76.0.3806.0",
-	"7.0.0-nightly.20190531": "76.0.3806.0",
-	"7.0.0-nightly.20190602": "76.0.3806.0",
-	"7.0.0-nightly.20190603": "76.0.3806.0",
-	"7.0.0-nightly.20190604": "77.0.3814.0",
-	"7.0.0-nightly.20190605": "77.0.3815.0",
-	"7.0.0-nightly.20190606": "77.0.3815.0",
-	"7.0.0-nightly.20190607": "77.0.3815.0",
-	"7.0.0-nightly.20190608": "77.0.3815.0",
-	"7.0.0-nightly.20190609": "77.0.3815.0",
-	"7.0.0-nightly.20190611": "77.0.3815.0",
-	"7.0.0-nightly.20190612": "77.0.3815.0",
-	"7.0.0-nightly.20190613": "77.0.3815.0",
-	"7.0.0-nightly.20190615": "77.0.3815.0",
-	"7.0.0-nightly.20190616": "77.0.3815.0",
-	"7.0.0-nightly.20190618": "77.0.3815.0",
-	"7.0.0-nightly.20190619": "77.0.3815.0",
-	"7.0.0-nightly.20190622": "77.0.3815.0",
-	"7.0.0-nightly.20190623": "77.0.3815.0",
-	"7.0.0-nightly.20190624": "77.0.3815.0",
-	"7.0.0-nightly.20190627": "77.0.3815.0",
-	"7.0.0-nightly.20190629": "77.0.3815.0",
-	"7.0.0-nightly.20190630": "77.0.3815.0",
-	"7.0.0-nightly.20190701": "77.0.3815.0",
-	"7.0.0-nightly.20190702": "77.0.3815.0",
-	"7.0.0-nightly.20190704": "77.0.3843.0",
-	"7.0.0-nightly.20190705": "77.0.3843.0",
-	"7.0.0-nightly.20190719": "77.0.3848.0",
-	"7.0.0-nightly.20190720": "77.0.3848.0",
-	"7.0.0-nightly.20190721": "77.0.3848.0",
-	"7.0.0-nightly.20190726": "77.0.3864.0",
-	"7.0.0-nightly.20190727": "78.0.3866.0",
-	"7.0.0-nightly.20190728": "78.0.3866.0",
-	"7.0.0-nightly.20190729": "78.0.3866.0",
-	"7.0.0-nightly.20190730": "78.0.3866.0",
-	"7.0.0-nightly.20190731": "78.0.3866.0",
-	"7.0.0": "78.0.3905.1",
-	"7.0.1": "78.0.3904.92",
-	"7.1.0": "78.0.3904.94",
-	"7.1.1": "78.0.3904.99",
-	"7.1.2": "78.0.3904.113",
-	"7.1.3": "78.0.3904.126",
-	"7.1.4": "78.0.3904.130",
-	"7.1.5": "78.0.3904.130",
-	"7.1.6": "78.0.3904.130",
-	"7.1.7": "78.0.3904.130",
-	"7.1.8": "78.0.3904.130",
-	"7.1.9": "78.0.3904.130",
-	"7.1.10": "78.0.3904.130",
-	"7.1.11": "78.0.3904.130",
-	"7.1.12": "78.0.3904.130",
-	"7.1.13": "78.0.3904.130",
-	"7.1.14": "78.0.3904.130",
-	"7.2.0": "78.0.3904.130",
-	"7.2.1": "78.0.3904.130",
-	"7.2.2": "78.0.3904.130",
-	"7.2.3": "78.0.3904.130",
-	"7.2.4": "78.0.3904.130",
-	"7.3.0": "78.0.3904.130",
-	"7.3.1": "78.0.3904.130",
-	"7.3.2": "78.0.3904.130",
-	"7.3.3": "78.0.3904.130",
-	"8.0.0-beta.1": "79.0.3931.0",
-	"8.0.0-beta.2": "79.0.3931.0",
-	"8.0.0-beta.3": "80.0.3955.0",
-	"8.0.0-beta.4": "80.0.3955.0",
-	"8.0.0-beta.5": "80.0.3987.14",
-	"8.0.0-beta.6": "80.0.3987.51",
-	"8.0.0-beta.7": "80.0.3987.59",
-	"8.0.0-beta.8": "80.0.3987.75",
-	"8.0.0-beta.9": "80.0.3987.75",
-	"8.0.0-nightly.20190801": "78.0.3866.0",
-	"8.0.0-nightly.20190802": "78.0.3866.0",
-	"8.0.0-nightly.20190803": "78.0.3871.0",
-	"8.0.0-nightly.20190806": "78.0.3871.0",
-	"8.0.0-nightly.20190807": "78.0.3871.0",
-	"8.0.0-nightly.20190808": "78.0.3871.0",
-	"8.0.0-nightly.20190809": "78.0.3871.0",
-	"8.0.0-nightly.20190810": "78.0.3871.0",
-	"8.0.0-nightly.20190811": "78.0.3871.0",
-	"8.0.0-nightly.20190812": "78.0.3871.0",
-	"8.0.0-nightly.20190813": "78.0.3871.0",
-	"8.0.0-nightly.20190814": "78.0.3871.0",
-	"8.0.0-nightly.20190815": "78.0.3871.0",
-	"8.0.0-nightly.20190816": "78.0.3881.0",
-	"8.0.0-nightly.20190817": "78.0.3881.0",
-	"8.0.0-nightly.20190818": "78.0.3881.0",
-	"8.0.0-nightly.20190819": "78.0.3881.0",
-	"8.0.0-nightly.20190820": "78.0.3881.0",
-	"8.0.0-nightly.20190824": "78.0.3892.0",
-	"8.0.0-nightly.20190825": "78.0.3892.0",
-	"8.0.0-nightly.20190827": "78.0.3892.0",
-	"8.0.0-nightly.20190828": "78.0.3892.0",
-	"8.0.0-nightly.20190830": "78.0.3892.0",
-	"8.0.0-nightly.20190901": "78.0.3892.0",
-	"8.0.0-nightly.20190902": "78.0.3892.0",
-	"8.0.0-nightly.20190907": "78.0.3892.0",
-	"8.0.0-nightly.20190909": "78.0.3892.0",
-	"8.0.0-nightly.20190910": "78.0.3892.0",
-	"8.0.0-nightly.20190911": "78.0.3892.0",
-	"8.0.0-nightly.20190913": "78.0.3892.0",
-	"8.0.0-nightly.20190914": "78.0.3892.0",
-	"8.0.0-nightly.20190915": "78.0.3892.0",
-	"8.0.0-nightly.20190917": "78.0.3892.0",
-	"8.0.0-nightly.20190919": "79.0.3915.0",
-	"8.0.0-nightly.20190920": "79.0.3915.0",
-	"8.0.0-nightly.20190923": "79.0.3919.0",
-	"8.0.0-nightly.20190924": "79.0.3919.0",
-	"8.0.0-nightly.20190926": "79.0.3919.0",
-	"8.0.0-nightly.20190929": "79.0.3919.0",
-	"8.0.0-nightly.20190930": "79.0.3919.0",
-	"8.0.0-nightly.20191001": "79.0.3919.0",
-	"8.0.0-nightly.20191004": "79.0.3919.0",
-	"8.0.0-nightly.20191005": "79.0.3919.0",
-	"8.0.0-nightly.20191006": "79.0.3919.0",
-	"8.0.0-nightly.20191009": "79.0.3919.0",
-	"8.0.0-nightly.20191011": "79.0.3919.0",
-	"8.0.0-nightly.20191012": "79.0.3919.0",
-	"8.0.0-nightly.20191017": "79.0.3919.0",
-	"8.0.0-nightly.20191019": "79.0.3931.0",
-	"8.0.0-nightly.20191020": "79.0.3931.0",
-	"8.0.0-nightly.20191021": "79.0.3931.0",
-	"8.0.0-nightly.20191023": "79.0.3931.0",
-	"8.0.0-nightly.20191101": "80.0.3952.0",
-	"8.0.0-nightly.20191105": "80.0.3952.0",
-	"8.0.0": "80.0.3987.86",
-	"8.0.1": "80.0.3987.86",
-	"8.0.2": "80.0.3987.86",
-	"8.0.3": "80.0.3987.134",
-	"8.1.0": "80.0.3987.137",
-	"8.1.1": "80.0.3987.141",
-	"8.2.0": "80.0.3987.158",
-	"8.2.1": "80.0.3987.163",
-	"8.2.2": "80.0.3987.163",
-	"8.2.3": "80.0.3987.163",
-	"8.2.4": "80.0.3987.165",
-	"8.2.5": "80.0.3987.165",
-	"8.3.0": "80.0.3987.165",
-	"8.3.1": "80.0.3987.165",
-	"8.3.2": "80.0.3987.165",
-	"8.3.3": "80.0.3987.165",
-	"8.3.4": "80.0.3987.165",
-	"8.4.0": "80.0.3987.165",
-	"8.4.1": "80.0.3987.165",
-	"8.5.0": "80.0.3987.165",
-	"8.5.1": "80.0.3987.165",
-	"8.5.2": "80.0.3987.165",
-	"8.5.3": "80.0.3987.163",
-	"8.5.4": "80.0.3987.163",
-	"8.5.5": "80.0.3987.163",
-	"9.0.0-beta.1": "82.0.4048.0",
-	"9.0.0-beta.2": "82.0.4048.0",
-	"9.0.0-beta.3": "82.0.4048.0",
-	"9.0.0-beta.4": "82.0.4048.0",
-	"9.0.0-beta.5": "82.0.4048.0",
-	"9.0.0-beta.6": "82.0.4058.2",
-	"9.0.0-beta.7": "82.0.4058.2",
-	"9.0.0-beta.9": "82.0.4058.2",
-	"9.0.0-beta.10": "82.0.4085.10",
-	"9.0.0-beta.12": "82.0.4085.14",
-	"9.0.0-beta.13": "82.0.4085.14",
-	"9.0.0-beta.14": "82.0.4085.27",
-	"9.0.0-beta.15": "83.0.4102.3",
-	"9.0.0-beta.16": "83.0.4102.3",
-	"9.0.0-beta.17": "83.0.4103.14",
-	"9.0.0-beta.18": "83.0.4103.16",
-	"9.0.0-beta.19": "83.0.4103.24",
-	"9.0.0-beta.20": "83.0.4103.26",
-	"9.0.0-beta.21": "83.0.4103.26",
-	"9.0.0-beta.22": "83.0.4103.34",
-	"9.0.0-beta.23": "83.0.4103.44",
-	"9.0.0-beta.24": "83.0.4103.45",
-	"9.0.0-nightly.20191121": "80.0.3954.0",
-	"9.0.0-nightly.20191122": "80.0.3954.0",
-	"9.0.0-nightly.20191123": "80.0.3954.0",
-	"9.0.0-nightly.20191124": "80.0.3954.0",
-	"9.0.0-nightly.20191129": "80.0.3954.0",
-	"9.0.0-nightly.20191130": "80.0.3954.0",
-	"9.0.0-nightly.20191201": "80.0.3954.0",
-	"9.0.0-nightly.20191202": "80.0.3954.0",
-	"9.0.0-nightly.20191203": "80.0.3954.0",
-	"9.0.0-nightly.20191204": "80.0.3954.0",
-	"9.0.0-nightly.20191210": "80.0.3954.0",
-	"9.0.0-nightly.20191220": "81.0.3994.0",
-	"9.0.0-nightly.20191221": "81.0.3994.0",
-	"9.0.0-nightly.20191222": "81.0.3994.0",
-	"9.0.0-nightly.20191223": "81.0.3994.0",
-	"9.0.0-nightly.20191224": "81.0.3994.0",
-	"9.0.0-nightly.20191225": "81.0.3994.0",
-	"9.0.0-nightly.20191226": "81.0.3994.0",
-	"9.0.0-nightly.20191228": "81.0.3994.0",
-	"9.0.0-nightly.20191229": "81.0.3994.0",
-	"9.0.0-nightly.20191230": "81.0.3994.0",
-	"9.0.0-nightly.20191231": "81.0.3994.0",
-	"9.0.0-nightly.20200101": "81.0.3994.0",
-	"9.0.0-nightly.20200103": "81.0.3994.0",
-	"9.0.0-nightly.20200104": "81.0.3994.0",
-	"9.0.0-nightly.20200105": "81.0.3994.0",
-	"9.0.0-nightly.20200106": "81.0.3994.0",
-	"9.0.0-nightly.20200108": "81.0.3994.0",
-	"9.0.0-nightly.20200109": "81.0.3994.0",
-	"9.0.0-nightly.20200110": "81.0.3994.0",
-	"9.0.0-nightly.20200111": "81.0.3994.0",
-	"9.0.0-nightly.20200113": "81.0.3994.0",
-	"9.0.0-nightly.20200115": "81.0.3994.0",
-	"9.0.0-nightly.20200116": "81.0.3994.0",
-	"9.0.0-nightly.20200117": "81.0.3994.0",
-	"9.0.0-nightly.20200119": "81.0.4030.0",
-	"9.0.0-nightly.20200121": "81.0.4030.0",
-	"9.0.0": "83.0.4103.64",
-	"9.0.1": "83.0.4103.94",
-	"9.0.2": "83.0.4103.94",
-	"9.0.3": "83.0.4103.100",
-	"9.0.4": "83.0.4103.104",
-	"9.0.5": "83.0.4103.119",
-	"9.1.0": "83.0.4103.122",
-	"9.1.1": "83.0.4103.122",
-	"9.1.2": "83.0.4103.122",
-	"9.2.0": "83.0.4103.122",
-	"9.2.1": "83.0.4103.122",
-	"9.3.0": "83.0.4103.122",
-	"9.3.1": "83.0.4103.122",
-	"9.3.2": "83.0.4103.122",
-	"9.3.3": "83.0.4103.122",
-	"9.3.4": "83.0.4103.122",
-	"9.3.5": "83.0.4103.122",
-	"9.4.0": "83.0.4103.122",
-	"9.4.1": "83.0.4103.122",
-	"9.4.2": "83.0.4103.122",
-	"9.4.3": "83.0.4103.122",
-	"9.4.4": "83.0.4103.122",
-	"10.0.0-beta.1": "84.0.4129.0",
-	"10.0.0-beta.2": "84.0.4129.0",
-	"10.0.0-beta.3": "85.0.4161.2",
-	"10.0.0-beta.4": "85.0.4161.2",
-	"10.0.0-beta.8": "85.0.4181.1",
-	"10.0.0-beta.9": "85.0.4181.1",
-	"10.0.0-beta.10": "85.0.4183.19",
-	"10.0.0-beta.11": "85.0.4183.20",
-	"10.0.0-beta.12": "85.0.4183.26",
-	"10.0.0-beta.13": "85.0.4183.39",
-	"10.0.0-beta.14": "85.0.4183.39",
-	"10.0.0-beta.15": "85.0.4183.39",
-	"10.0.0-beta.17": "85.0.4183.39",
-	"10.0.0-beta.19": "85.0.4183.39",
-	"10.0.0-beta.20": "85.0.4183.39",
-	"10.0.0-beta.21": "85.0.4183.39",
-	"10.0.0-beta.23": "85.0.4183.70",
-	"10.0.0-beta.24": "85.0.4183.78",
-	"10.0.0-beta.25": "85.0.4183.80",
-	"10.0.0-nightly.20200209": "82.0.4050.0",
-	"10.0.0-nightly.20200210": "82.0.4050.0",
-	"10.0.0-nightly.20200211": "82.0.4050.0",
-	"10.0.0-nightly.20200216": "82.0.4050.0",
-	"10.0.0-nightly.20200217": "82.0.4050.0",
-	"10.0.0-nightly.20200218": "82.0.4050.0",
-	"10.0.0-nightly.20200221": "82.0.4050.0",
-	"10.0.0-nightly.20200222": "82.0.4050.0",
-	"10.0.0-nightly.20200223": "82.0.4050.0",
-	"10.0.0-nightly.20200226": "82.0.4050.0",
-	"10.0.0-nightly.20200303": "82.0.4050.0",
-	"10.0.0-nightly.20200304": "82.0.4076.0",
-	"10.0.0-nightly.20200305": "82.0.4076.0",
-	"10.0.0-nightly.20200306": "82.0.4076.0",
-	"10.0.0-nightly.20200309": "82.0.4076.0",
-	"10.0.0-nightly.20200310": "82.0.4076.0",
-	"10.0.0-nightly.20200311": "82.0.4083.0",
-	"10.0.0-nightly.20200316": "83.0.4086.0",
-	"10.0.0-nightly.20200317": "83.0.4087.0",
-	"10.0.0-nightly.20200318": "83.0.4087.0",
-	"10.0.0-nightly.20200320": "83.0.4087.0",
-	"10.0.0-nightly.20200323": "83.0.4087.0",
-	"10.0.0-nightly.20200324": "83.0.4087.0",
-	"10.0.0-nightly.20200325": "83.0.4087.0",
-	"10.0.0-nightly.20200326": "83.0.4087.0",
-	"10.0.0-nightly.20200327": "83.0.4087.0",
-	"10.0.0-nightly.20200330": "83.0.4087.0",
-	"10.0.0-nightly.20200331": "83.0.4087.0",
-	"10.0.0-nightly.20200401": "83.0.4087.0",
-	"10.0.0-nightly.20200402": "83.0.4087.0",
-	"10.0.0-nightly.20200403": "83.0.4087.0",
-	"10.0.0-nightly.20200406": "83.0.4087.0",
-	"10.0.0-nightly.20200408": "83.0.4095.0",
-	"10.0.0-nightly.20200410": "83.0.4095.0",
-	"10.0.0-nightly.20200413": "83.0.4095.0",
-	"10.0.0-nightly.20200414": "84.0.4114.0",
-	"10.0.0-nightly.20200415": "84.0.4115.0",
-	"10.0.0-nightly.20200416": "84.0.4115.0",
-	"10.0.0-nightly.20200417": "84.0.4115.0",
-	"10.0.0-nightly.20200422": "84.0.4121.0",
-	"10.0.0-nightly.20200423": "84.0.4121.0",
-	"10.0.0-nightly.20200427": "84.0.4125.0",
-	"10.0.0-nightly.20200428": "84.0.4125.0",
-	"10.0.0-nightly.20200429": "84.0.4125.0",
-	"10.0.0-nightly.20200430": "84.0.4125.0",
-	"10.0.0-nightly.20200501": "84.0.4129.0",
-	"10.0.0-nightly.20200504": "84.0.4129.0",
-	"10.0.0-nightly.20200505": "84.0.4129.0",
-	"10.0.0-nightly.20200506": "84.0.4129.0",
-	"10.0.0-nightly.20200507": "84.0.4129.0",
-	"10.0.0-nightly.20200508": "84.0.4129.0",
-	"10.0.0-nightly.20200511": "84.0.4129.0",
-	"10.0.0-nightly.20200512": "84.0.4129.0",
-	"10.0.0-nightly.20200513": "84.0.4129.0",
-	"10.0.0-nightly.20200514": "84.0.4129.0",
-	"10.0.0-nightly.20200515": "84.0.4129.0",
-	"10.0.0-nightly.20200518": "84.0.4129.0",
-	"10.0.0-nightly.20200519": "84.0.4129.0",
-	"10.0.0-nightly.20200520": "84.0.4129.0",
-	"10.0.0-nightly.20200521": "84.0.4129.0",
-	"10.0.0": "85.0.4183.84",
-	"10.0.1": "85.0.4183.86",
-	"10.1.0": "85.0.4183.87",
-	"10.1.1": "85.0.4183.93",
-	"10.1.2": "85.0.4183.98",
-	"10.1.3": "85.0.4183.121",
-	"10.1.4": "85.0.4183.121",
-	"10.1.5": "85.0.4183.121",
-	"10.1.6": "85.0.4183.121",
-	"10.1.7": "85.0.4183.121",
-	"10.2.0": "85.0.4183.121",
-	"10.3.0": "85.0.4183.121",
-	"10.3.1": "85.0.4183.121",
-	"10.3.2": "85.0.4183.121",
-	"10.4.0": "85.0.4183.121",
-	"10.4.1": "85.0.4183.121",
-	"10.4.2": "85.0.4183.121",
-	"10.4.3": "85.0.4183.121",
-	"10.4.4": "85.0.4183.121",
-	"10.4.5": "85.0.4183.121",
-	"11.0.0-beta.1": "86.0.4234.0",
-	"11.0.0-beta.3": "86.0.4234.0",
-	"11.0.0-beta.4": "86.0.4234.0",
-	"11.0.0-beta.5": "86.0.4234.0",
-	"11.0.0-beta.6": "86.0.4234.0",
-	"11.0.0-beta.7": "86.0.4234.0",
-	"11.0.0-beta.8": "87.0.4251.1",
-	"11.0.0-beta.9": "87.0.4251.1",
-	"11.0.0-beta.11": "87.0.4251.1",
-	"11.0.0-beta.12": "87.0.4280.11",
-	"11.0.0-beta.13": "87.0.4280.11",
-	"11.0.0-beta.16": "87.0.4280.27",
-	"11.0.0-beta.17": "87.0.4280.27",
-	"11.0.0-beta.18": "87.0.4280.27",
-	"11.0.0-beta.19": "87.0.4280.27",
-	"11.0.0-beta.20": "87.0.4280.40",
-	"11.0.0-beta.22": "87.0.4280.47",
-	"11.0.0-beta.23": "87.0.4280.47",
-	"11.0.0-nightly.20200525": "84.0.4129.0",
-	"11.0.0-nightly.20200526": "84.0.4129.0",
-	"11.0.0-nightly.20200529": "85.0.4156.0",
-	"11.0.0-nightly.20200602": "85.0.4162.0",
-	"11.0.0-nightly.20200603": "85.0.4162.0",
-	"11.0.0-nightly.20200604": "85.0.4162.0",
-	"11.0.0-nightly.20200609": "85.0.4162.0",
-	"11.0.0-nightly.20200610": "85.0.4162.0",
-	"11.0.0-nightly.20200611": "85.0.4162.0",
-	"11.0.0-nightly.20200615": "85.0.4162.0",
-	"11.0.0-nightly.20200616": "85.0.4162.0",
-	"11.0.0-nightly.20200617": "85.0.4162.0",
-	"11.0.0-nightly.20200618": "85.0.4162.0",
-	"11.0.0-nightly.20200619": "85.0.4162.0",
-	"11.0.0-nightly.20200701": "85.0.4179.0",
-	"11.0.0-nightly.20200702": "85.0.4179.0",
-	"11.0.0-nightly.20200703": "85.0.4179.0",
-	"11.0.0-nightly.20200706": "85.0.4179.0",
-	"11.0.0-nightly.20200707": "85.0.4179.0",
-	"11.0.0-nightly.20200708": "85.0.4179.0",
-	"11.0.0-nightly.20200709": "85.0.4179.0",
-	"11.0.0-nightly.20200716": "86.0.4203.0",
-	"11.0.0-nightly.20200717": "86.0.4203.0",
-	"11.0.0-nightly.20200720": "86.0.4203.0",
-	"11.0.0-nightly.20200721": "86.0.4203.0",
-	"11.0.0-nightly.20200723": "86.0.4209.0",
-	"11.0.0-nightly.20200724": "86.0.4209.0",
-	"11.0.0-nightly.20200729": "86.0.4209.0",
-	"11.0.0-nightly.20200730": "86.0.4209.0",
-	"11.0.0-nightly.20200731": "86.0.4209.0",
-	"11.0.0-nightly.20200803": "86.0.4209.0",
-	"11.0.0-nightly.20200804": "86.0.4209.0",
-	"11.0.0-nightly.20200805": "86.0.4209.0",
-	"11.0.0-nightly.20200811": "86.0.4209.0",
-	"11.0.0-nightly.20200812": "86.0.4209.0",
-	"11.0.0-nightly.20200822": "86.0.4234.0",
-	"11.0.0-nightly.20200824": "86.0.4234.0",
-	"11.0.0-nightly.20200825": "86.0.4234.0",
-	"11.0.0-nightly.20200826": "86.0.4234.0",
-	"11.0.0": "87.0.4280.60",
-	"11.0.1": "87.0.4280.60",
-	"11.0.2": "87.0.4280.67",
-	"11.0.3": "87.0.4280.67",
-	"11.0.4": "87.0.4280.67",
-	"11.0.5": "87.0.4280.88",
-	"11.1.0": "87.0.4280.88",
-	"11.1.1": "87.0.4280.88",
-	"11.2.0": "87.0.4280.141",
-	"11.2.1": "87.0.4280.141",
-	"11.2.2": "87.0.4280.141",
-	"11.2.3": "87.0.4280.141",
-	"11.3.0": "87.0.4280.141",
-	"11.4.0": "87.0.4280.141",
-	"11.4.1": "87.0.4280.141",
-	"11.4.2": "87.0.4280.141",
-	"11.4.3": "87.0.4280.141",
-	"11.4.4": "87.0.4280.141",
-	"11.4.5": "87.0.4280.141",
-	"12.0.0-beta.1": "89.0.4328.0",
-	"12.0.0-beta.3": "89.0.4328.0",
-	"12.0.0-beta.4": "89.0.4328.0",
-	"12.0.0-beta.5": "89.0.4328.0",
-	"12.0.0-beta.6": "89.0.4328.0",
-	"12.0.0-beta.7": "89.0.4328.0",
-	"12.0.0-beta.8": "89.0.4328.0",
-	"12.0.0-beta.9": "89.0.4328.0",
-	"12.0.0-beta.10": "89.0.4328.0",
-	"12.0.0-beta.11": "89.0.4328.0",
-	"12.0.0-beta.12": "89.0.4328.0",
-	"12.0.0-beta.14": "89.0.4328.0",
-	"12.0.0-beta.16": "89.0.4348.1",
-	"12.0.0-beta.18": "89.0.4348.1",
-	"12.0.0-beta.19": "89.0.4348.1",
-	"12.0.0-beta.20": "89.0.4348.1",
-	"12.0.0-beta.21": "89.0.4388.2",
-	"12.0.0-beta.22": "89.0.4388.2",
-	"12.0.0-beta.23": "89.0.4388.2",
-	"12.0.0-beta.24": "89.0.4388.2",
-	"12.0.0-beta.25": "89.0.4388.2",
-	"12.0.0-beta.26": "89.0.4388.2",
-	"12.0.0-beta.27": "89.0.4389.23",
-	"12.0.0-beta.28": "89.0.4389.23",
-	"12.0.0-beta.29": "89.0.4389.23",
-	"12.0.0-beta.30": "89.0.4389.58",
-	"12.0.0-beta.31": "89.0.4389.58",
-	"12.0.0-nightly.20200827": "86.0.4234.0",
-	"12.0.0-nightly.20200831": "86.0.4234.0",
-	"12.0.0-nightly.20200902": "86.0.4234.0",
-	"12.0.0-nightly.20200903": "86.0.4234.0",
-	"12.0.0-nightly.20200907": "86.0.4234.0",
-	"12.0.0-nightly.20200910": "86.0.4234.0",
-	"12.0.0-nightly.20200911": "86.0.4234.0",
-	"12.0.0-nightly.20200914": "86.0.4234.0",
-	"12.0.0-nightly.20201013": "87.0.4268.0",
-	"12.0.0-nightly.20201014": "87.0.4268.0",
-	"12.0.0-nightly.20201015": "87.0.4268.0",
-	"12.0.0-nightly.20201023": "88.0.4292.0",
-	"12.0.0-nightly.20201026": "88.0.4292.0",
-	"12.0.0-nightly.20201030": "88.0.4306.0",
-	"12.0.0-nightly.20201102": "88.0.4306.0",
-	"12.0.0-nightly.20201103": "88.0.4306.0",
-	"12.0.0-nightly.20201104": "88.0.4306.0",
-	"12.0.0-nightly.20201105": "88.0.4306.0",
-	"12.0.0-nightly.20201106": "88.0.4306.0",
-	"12.0.0-nightly.20201111": "88.0.4306.0",
-	"12.0.0-nightly.20201112": "88.0.4306.0",
-	"12.0.0-nightly.20201116": "88.0.4324.0",
-	"12.0.0": "89.0.4389.69",
-	"12.0.1": "89.0.4389.82",
-	"12.0.2": "89.0.4389.90",
-	"12.0.3": "89.0.4389.114",
-	"12.0.4": "89.0.4389.114",
-	"12.0.5": "89.0.4389.128",
-	"12.0.6": "89.0.4389.128",
-	"13.0.0-beta.2": "90.0.4402.0",
-	"13.0.0-beta.3": "90.0.4402.0",
-	"13.0.0-beta.4": "90.0.4415.0",
-	"13.0.0-beta.5": "90.0.4415.0",
-	"13.0.0-beta.6": "90.0.4415.0",
-	"13.0.0-beta.7": "90.0.4415.0",
-	"13.0.0-beta.8": "90.0.4415.0",
-	"13.0.0-beta.9": "90.0.4415.0",
-	"13.0.0-beta.11": "90.0.4415.0",
-	"13.0.0-beta.12": "90.0.4415.0",
-	"13.0.0-beta.13": "90.0.4415.0",
-	"13.0.0-beta.14": "91.0.4448.0",
-	"13.0.0-beta.16": "91.0.4448.0",
-	"13.0.0-beta.17": "91.0.4448.0",
-	"13.0.0-beta.18": "91.0.4448.0",
-	"13.0.0-beta.20": "91.0.4448.0",
-	"13.0.0-nightly.20201119": "89.0.4328.0",
-	"13.0.0-nightly.20201123": "89.0.4328.0",
-	"13.0.0-nightly.20201124": "89.0.4328.0",
-	"13.0.0-nightly.20201126": "89.0.4328.0",
-	"13.0.0-nightly.20201127": "89.0.4328.0",
-	"13.0.0-nightly.20201130": "89.0.4328.0",
-	"13.0.0-nightly.20201201": "89.0.4328.0",
-	"13.0.0-nightly.20201202": "89.0.4328.0",
-	"13.0.0-nightly.20201203": "89.0.4328.0",
-	"13.0.0-nightly.20201204": "89.0.4328.0",
-	"13.0.0-nightly.20201207": "89.0.4328.0",
-	"13.0.0-nightly.20201208": "89.0.4328.0",
-	"13.0.0-nightly.20201209": "89.0.4328.0",
-	"13.0.0-nightly.20201210": "89.0.4328.0",
-	"13.0.0-nightly.20201211": "89.0.4328.0",
-	"13.0.0-nightly.20201214": "89.0.4328.0",
-	"13.0.0-nightly.20201215": "89.0.4349.0",
-	"13.0.0-nightly.20201216": "89.0.4349.0",
-	"13.0.0-nightly.20201221": "89.0.4349.0",
-	"13.0.0-nightly.20201222": "89.0.4349.0",
-	"13.0.0-nightly.20201223": "89.0.4359.0",
-	"13.0.0-nightly.20210104": "89.0.4359.0",
-	"13.0.0-nightly.20210108": "89.0.4359.0",
-	"13.0.0-nightly.20210111": "89.0.4359.0",
-	"13.0.0-nightly.20210113": "89.0.4386.0",
-	"13.0.0-nightly.20210114": "89.0.4386.0",
-	"13.0.0-nightly.20210118": "89.0.4386.0",
-	"13.0.0-nightly.20210122": "89.0.4386.0",
-	"13.0.0-nightly.20210125": "89.0.4386.0",
-	"13.0.0-nightly.20210127": "89.0.4389.0",
-	"13.0.0-nightly.20210128": "89.0.4389.0",
-	"13.0.0-nightly.20210129": "89.0.4389.0",
-	"13.0.0-nightly.20210201": "89.0.4389.0",
-	"13.0.0-nightly.20210202": "89.0.4389.0",
-	"13.0.0-nightly.20210203": "89.0.4389.0",
-	"13.0.0-nightly.20210205": "89.0.4389.0",
-	"13.0.0-nightly.20210208": "89.0.4389.0",
-	"13.0.0-nightly.20210209": "89.0.4389.0",
-	"13.0.0-nightly.20210210": "90.0.4402.0",
-	"13.0.0-nightly.20210211": "90.0.4402.0",
-	"13.0.0-nightly.20210212": "90.0.4402.0",
-	"13.0.0-nightly.20210216": "90.0.4402.0",
-	"13.0.0-nightly.20210217": "90.0.4402.0",
-	"13.0.0-nightly.20210218": "90.0.4402.0",
-	"13.0.0-nightly.20210219": "90.0.4402.0",
-	"13.0.0-nightly.20210222": "90.0.4402.0",
-	"13.0.0-nightly.20210225": "90.0.4402.0",
-	"13.0.0-nightly.20210226": "90.0.4402.0",
-	"13.0.0-nightly.20210301": "90.0.4402.0",
-	"13.0.0-nightly.20210302": "90.0.4402.0",
-	"13.0.0-nightly.20210303": "90.0.4402.0",
-	"14.0.0-nightly.20210304": "90.0.4402.0",
-	"14.0.0-nightly.20210305": "90.0.4415.0",
-	"14.0.0-nightly.20210308": "90.0.4415.0",
-	"14.0.0-nightly.20210309": "90.0.4415.0",
-	"14.0.0-nightly.20210311": "90.0.4415.0",
-	"14.0.0-nightly.20210315": "90.0.4415.0",
-	"14.0.0-nightly.20210316": "90.0.4415.0",
-	"14.0.0-nightly.20210317": "90.0.4415.0",
-	"14.0.0-nightly.20210318": "90.0.4415.0",
-	"14.0.0-nightly.20210319": "90.0.4415.0",
-	"14.0.0-nightly.20210323": "90.0.4415.0",
-	"14.0.0-nightly.20210324": "90.0.4415.0",
-	"14.0.0-nightly.20210325": "90.0.4415.0",
-	"14.0.0-nightly.20210326": "90.0.4415.0",
-	"14.0.0-nightly.20210329": "90.0.4415.0",
-	"14.0.0-nightly.20210330": "90.0.4415.0",
-	"14.0.0-nightly.20210331": "91.0.4448.0",
-	"14.0.0-nightly.20210401": "91.0.4448.0",
-	"14.0.0-nightly.20210402": "91.0.4448.0",
-	"14.0.0-nightly.20210406": "91.0.4448.0",
-	"14.0.0-nightly.20210407": "91.0.4448.0",
-	"14.0.0-nightly.20210408": "91.0.4448.0",
-	"14.0.0-nightly.20210409": "91.0.4448.0",
-	"14.0.0-nightly.20210413": "91.0.4448.0",
-	"14.0.0-nightly.20210426": "92.0.4475.0",
-	"14.0.0-nightly.20210427": "92.0.4475.0",
-	"14.0.0-nightly.20210430": "92.0.4488.0",
-	"14.0.0-nightly.20210503": "92.0.4488.0"
-};

+ 0 - 36
node_modules.bak/electron-to-chromium/index.js

@@ -1,36 +0,0 @@
-var versions = require('./versions');
-var fullVersions = require('./full-versions');
-var chromiumVersions = require('./chromium-versions');
-var fullChromiumVersions = require('./full-chromium-versions');
-
-var electronToChromium = function (query) {
-  var number = getQueryString(query);
-  return number.split('.').length > 2 ? fullVersions[number] : versions[number] || undefined;
-};
-
-var chromiumToElectron = function (query) {
-  var number = getQueryString(query);
-  return number.split('.').length > 2 ? fullChromiumVersions[number] : chromiumVersions[number] || undefined;
-};
-
-var electronToBrowserList = function (query) {
-  var number = getQueryString(query);
-  return versions[number] ? "Chrome >= " + versions[number] : undefined;
-};
-
-var getQueryString = function (query) {
-  var number = query;
-  if (query === 1) { number = "1.0" }
-  if (typeof query === 'number') { number += ''; }
-  return number;
-};
-
-module.exports = {
-  versions: versions,
-  fullVersions: fullVersions,
-  chromiumVersions: chromiumVersions,
-  fullChromiumVersions: fullChromiumVersions,
-  electronToChromium: electronToChromium,
-  electronToBrowserList: electronToBrowserList,
-  chromiumToElectron: chromiumToElectron
-};

+ 0 - 69
node_modules.bak/electron-to-chromium/package.json

@@ -1,69 +0,0 @@
-{
-  "_from": "electron-to-chromium@^1.3.723",
-  "_id": "electron-to-chromium@1.3.727",
-  "_inBundle": false,
-  "_integrity": "sha1-hX4xDKAPC3XaTh22/w4HPMSpHd8=",
-  "_location": "/electron-to-chromium",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "electron-to-chromium@^1.3.723",
-    "name": "electron-to-chromium",
-    "escapedName": "electron-to-chromium",
-    "rawSpec": "^1.3.723",
-    "saveSpec": null,
-    "fetchSpec": "^1.3.723"
-  },
-  "_requiredBy": [
-    "/browserslist"
-  ],
-  "_resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.727.tgz",
-  "_shasum": "857e310ca00f0b75da4e1db6ff0e073cc4a91ddf",
-  "_spec": "electron-to-chromium@^1.3.723",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\browserslist",
-  "author": {
-    "name": "Kilian Valkhof"
-  },
-  "bugs": {
-    "url": "https://github.com/kilian/electron-to-chromium/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "Provides a list of electron-to-chromium version mappings",
-  "devDependencies": {
-    "ava": "^3.8.2",
-    "codecov": "^3.8.0",
-    "electron-releases": "^3.678.0",
-    "nyc": "^15.1.0",
-    "request": "^2.88.0",
-    "shelljs": "^0.8.4"
-  },
-  "files": [
-    "versions.js",
-    "full-versions.js",
-    "chromium-versions.js",
-    "full-chromium-versions.js",
-    "LICENSE"
-  ],
-  "homepage": "https://github.com/kilian/electron-to-chromium#readme",
-  "keywords": [
-    "electron",
-    "chrome",
-    "browserlist"
-  ],
-  "license": "ISC",
-  "main": "index.js",
-  "name": "electron-to-chromium",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/kilian/electron-to-chromium.git"
-  },
-  "scripts": {
-    "build": "node build.js",
-    "report": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
-    "test": "nyc ava --verbose",
-    "update": "node automated-update.js"
-  },
-  "version": "1.3.727"
-}

+ 0 - 66
node_modules.bak/electron-to-chromium/versions.js

@@ -1,66 +0,0 @@
-module.exports = {
-	"0.20": "39",
-	"0.21": "41",
-	"0.22": "41",
-	"0.23": "41",
-	"0.24": "41",
-	"0.25": "42",
-	"0.26": "42",
-	"0.27": "43",
-	"0.28": "43",
-	"0.29": "43",
-	"0.30": "44",
-	"0.31": "45",
-	"0.32": "45",
-	"0.33": "45",
-	"0.34": "45",
-	"0.35": "45",
-	"0.36": "47",
-	"0.37": "49",
-	"1.0": "49",
-	"1.1": "50",
-	"1.2": "51",
-	"1.3": "52",
-	"1.4": "53",
-	"1.5": "54",
-	"1.6": "56",
-	"1.7": "58",
-	"1.8": "59",
-	"2.0": "61",
-	"2.1": "61",
-	"3.0": "66",
-	"3.1": "66",
-	"4.0": "69",
-	"4.1": "69",
-	"4.2": "69",
-	"5.0": "73",
-	"6.0": "76",
-	"6.1": "76",
-	"7.0": "78",
-	"7.1": "78",
-	"7.2": "78",
-	"7.3": "78",
-	"8.0": "80",
-	"8.1": "80",
-	"8.2": "80",
-	"8.3": "80",
-	"8.4": "80",
-	"8.5": "80",
-	"9.0": "83",
-	"9.1": "83",
-	"9.2": "83",
-	"9.3": "83",
-	"9.4": "83",
-	"10.0": "85",
-	"10.1": "85",
-	"10.2": "85",
-	"10.3": "85",
-	"10.4": "85",
-	"11.0": "87",
-	"11.1": "87",
-	"11.2": "87",
-	"11.3": "87",
-	"11.4": "87",
-	"12.0": "89",
-	"13.0": "91"
-};

+ 0 - 238
node_modules.bak/elliptic/README.md

@@ -1,238 +0,0 @@
-# Elliptic [![Build Status](https://secure.travis-ci.org/indutny/elliptic.png)](http://travis-ci.org/indutny/elliptic) [![Coverage Status](https://coveralls.io/repos/indutny/elliptic/badge.svg?branch=master&service=github)](https://coveralls.io/github/indutny/elliptic?branch=master) [![Code Climate](https://codeclimate.com/github/indutny/elliptic/badges/gpa.svg)](https://codeclimate.com/github/indutny/elliptic)
-
-[![Saucelabs Test Status](https://saucelabs.com/browser-matrix/gh-indutny-elliptic.svg)](https://saucelabs.com/u/gh-indutny-elliptic)
-
-Fast elliptic-curve cryptography in a plain javascript implementation.
-
-NOTE: Please take a look at http://safecurves.cr.yp.to/ before choosing a curve
-for your cryptography operations.
-
-## Incentive
-
-ECC is much slower than regular RSA cryptography, the JS implementations are
-even more slower.
-
-## Benchmarks
-
-```bash
-$ node benchmarks/index.js
-Benchmarking: sign
-elliptic#sign x 262 ops/sec ±0.51% (177 runs sampled)
-eccjs#sign x 55.91 ops/sec ±0.90% (144 runs sampled)
-------------------------
-Fastest is elliptic#sign
-========================
-Benchmarking: verify
-elliptic#verify x 113 ops/sec ±0.50% (166 runs sampled)
-eccjs#verify x 48.56 ops/sec ±0.36% (125 runs sampled)
-------------------------
-Fastest is elliptic#verify
-========================
-Benchmarking: gen
-elliptic#gen x 294 ops/sec ±0.43% (176 runs sampled)
-eccjs#gen x 62.25 ops/sec ±0.63% (129 runs sampled)
-------------------------
-Fastest is elliptic#gen
-========================
-Benchmarking: ecdh
-elliptic#ecdh x 136 ops/sec ±0.85% (156 runs sampled)
-------------------------
-Fastest is elliptic#ecdh
-========================
-```
-
-## API
-
-### ECDSA
-
-```javascript
-var EC = require('elliptic').ec;
-
-// Create and initialize EC context
-// (better do it once and reuse it)
-var ec = new EC('secp256k1');
-
-// Generate keys
-var key = ec.genKeyPair();
-
-// Sign the message's hash (input must be an array, or a hex-string)
-var msgHash = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
-var signature = key.sign(msgHash);
-
-// Export DER encoded signature in Array
-var derSign = signature.toDER();
-
-// Verify signature
-console.log(key.verify(msgHash, derSign));
-
-// CHECK WITH NO PRIVATE KEY
-
-var pubPoint = key.getPublic();
-var x = pubPoint.getX();
-var y = pubPoint.getY();
-
-// Public Key MUST be either:
-// 1) '04' + hex string of x + hex string of y; or
-// 2) object with two hex string properties (x and y); or
-// 3) object with two buffer properties (x and y)
-var pub = pubPoint.encode('hex');                                 // case 1
-var pub = { x: x.toString('hex'), y: y.toString('hex') };         // case 2
-var pub = { x: x.toBuffer(), y: y.toBuffer() };                   // case 3
-var pub = { x: x.toArrayLike(Buffer), y: y.toArrayLike(Buffer) }; // case 3
-
-// Import public key
-var key = ec.keyFromPublic(pub, 'hex');
-
-// Signature MUST be either:
-// 1) DER-encoded signature as hex-string; or
-// 2) DER-encoded signature as buffer; or
-// 3) object with two hex-string properties (r and s); or
-// 4) object with two buffer properties (r and s)
-
-var signature = '3046022100...'; // case 1
-var signature = new Buffer('...'); // case 2
-var signature = { r: 'b1fc...', s: '9c42...' }; // case 3
-
-// Verify signature
-console.log(key.verify(msgHash, signature));
-```
-
-### EdDSA
-
-```javascript
-var EdDSA = require('elliptic').eddsa;
-
-// Create and initialize EdDSA context
-// (better do it once and reuse it)
-var ec = new EdDSA('ed25519');
-
-// Create key pair from secret
-var key = ec.keyFromSecret('693e3c...'); // hex string, array or Buffer
-
-// Sign the message's hash (input must be an array, or a hex-string)
-var msgHash = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
-var signature = key.sign(msgHash).toHex();
-
-// Verify signature
-console.log(key.verify(msgHash, signature));
-
-// CHECK WITH NO PRIVATE KEY
-
-// Import public key
-var pub = '0a1af638...';
-var key = ec.keyFromPublic(pub, 'hex');
-
-// Verify signature
-var signature = '70bed1...';
-console.log(key.verify(msgHash, signature));
-```
-
-### ECDH
-
-```javascript
-var EC = require('elliptic').ec;
-var ec = new EC('curve25519');
-
-// Generate keys
-var key1 = ec.genKeyPair();
-var key2 = ec.genKeyPair();
-
-var shared1 = key1.derive(key2.getPublic());
-var shared2 = key2.derive(key1.getPublic());
-
-console.log('Both shared secrets are BN instances');
-console.log(shared1.toString(16));
-console.log(shared2.toString(16));
-```
-
-three and more members:
-```javascript
-var EC = require('elliptic').ec;
-var ec = new EC('curve25519');
-
-var A = ec.genKeyPair();
-var B = ec.genKeyPair();
-var C = ec.genKeyPair();
-
-var AB = A.getPublic().mul(B.getPrivate())
-var BC = B.getPublic().mul(C.getPrivate())
-var CA = C.getPublic().mul(A.getPrivate())
-
-var ABC = AB.mul(C.getPrivate())
-var BCA = BC.mul(A.getPrivate())
-var CAB = CA.mul(B.getPrivate())
-
-console.log(ABC.getX().toString(16))
-console.log(BCA.getX().toString(16))
-console.log(CAB.getX().toString(16))
-```
-
-NOTE: `.derive()` returns a [BN][1] instance.
-
-## Supported curves
-
-Elliptic.js support following curve types:
-
-* Short Weierstrass
-* Montgomery
-* Edwards
-* Twisted Edwards
-
-Following curve 'presets' are embedded into the library:
-
-* `secp256k1`
-* `p192`
-* `p224`
-* `p256`
-* `p384`
-* `p521`
-* `curve25519`
-* `ed25519`
-
-NOTE: That `curve25519` could not be used for ECDSA, use `ed25519` instead.
-
-### Implementation details
-
-ECDSA is using deterministic `k` value generation as per [RFC6979][0]. Most of
-the curve operations are performed on non-affine coordinates (either projective
-or extended), various windowing techniques are used for different cases.
-
-All operations are performed in reduction context using [bn.js][1], hashing is
-provided by [hash.js][2]
-
-### Related projects
-
-* [eccrypto][3]: isomorphic implementation of ECDSA, ECDH and ECIES for both
-  browserify and node (uses `elliptic` for browser and [secp256k1-node][4] for
-  node)
-
-#### LICENSE
-
-This software is licensed under the MIT License.
-
-Copyright Fedor Indutny, 2014.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to permit
-persons to whom the Software is furnished to do so, subject to the
-following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-[0]: http://tools.ietf.org/html/rfc6979
-[1]: https://github.com/indutny/bn.js
-[2]: https://github.com/indutny/hash.js
-[3]: https://github.com/bitchan/eccrypto
-[4]: https://github.com/wanderer/secp256k1-node

+ 0 - 13
node_modules.bak/elliptic/lib/elliptic.js

@@ -1,13 +0,0 @@
-'use strict';
-
-var elliptic = exports;
-
-elliptic.version = require('../package.json').version;
-elliptic.utils = require('./elliptic/utils');
-elliptic.rand = require('brorand');
-elliptic.curve = require('./elliptic/curve');
-elliptic.curves = require('./elliptic/curves');
-
-// Protocols
-elliptic.ec = require('./elliptic/ec');
-elliptic.eddsa = require('./elliptic/eddsa');

+ 0 - 381
node_modules.bak/elliptic/lib/elliptic/curve/base.js

@@ -1,381 +0,0 @@
-'use strict';
-
-var BN = require('bn.js');
-var utils = require('../utils');
-var getNAF = utils.getNAF;
-var getJSF = utils.getJSF;
-var assert = utils.assert;
-
-function BaseCurve(type, conf) {
-  this.type = type;
-  this.p = new BN(conf.p, 16);
-
-  // Use Montgomery, when there is no fast reduction for the prime
-  this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);
-
-  // Useful for many curves
-  this.zero = new BN(0).toRed(this.red);
-  this.one = new BN(1).toRed(this.red);
-  this.two = new BN(2).toRed(this.red);
-
-  // Curve configuration, optional
-  this.n = conf.n && new BN(conf.n, 16);
-  this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);
-
-  // Temporary arrays
-  this._wnafT1 = new Array(4);
-  this._wnafT2 = new Array(4);
-  this._wnafT3 = new Array(4);
-  this._wnafT4 = new Array(4);
-
-  this._bitLength = this.n ? this.n.bitLength() : 0;
-
-  // Generalized Greg Maxwell's trick
-  var adjustCount = this.n && this.p.div(this.n);
-  if (!adjustCount || adjustCount.cmpn(100) > 0) {
-    this.redN = null;
-  } else {
-    this._maxwellTrick = true;
-    this.redN = this.n.toRed(this.red);
-  }
-}
-module.exports = BaseCurve;
-
-BaseCurve.prototype.point = function point() {
-  throw new Error('Not implemented');
-};
-
-BaseCurve.prototype.validate = function validate() {
-  throw new Error('Not implemented');
-};
-
-BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {
-  assert(p.precomputed);
-  var doubles = p._getDoubles();
-
-  var naf = getNAF(k, 1, this._bitLength);
-  var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);
-  I /= 3;
-
-  // Translate into more windowed form
-  var repr = [];
-  var j;
-  var nafW;
-  for (j = 0; j < naf.length; j += doubles.step) {
-    nafW = 0;
-    for (var l = j + doubles.step - 1; l >= j; l--)
-      nafW = (nafW << 1) + naf[l];
-    repr.push(nafW);
-  }
-
-  var a = this.jpoint(null, null, null);
-  var b = this.jpoint(null, null, null);
-  for (var i = I; i > 0; i--) {
-    for (j = 0; j < repr.length; j++) {
-      nafW = repr[j];
-      if (nafW === i)
-        b = b.mixedAdd(doubles.points[j]);
-      else if (nafW === -i)
-        b = b.mixedAdd(doubles.points[j].neg());
-    }
-    a = a.add(b);
-  }
-  return a.toP();
-};
-
-BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {
-  var w = 4;
-
-  // Precompute window
-  var nafPoints = p._getNAFPoints(w);
-  w = nafPoints.wnd;
-  var wnd = nafPoints.points;
-
-  // Get NAF form
-  var naf = getNAF(k, w, this._bitLength);
-
-  // Add `this`*(N+1) for every w-NAF index
-  var acc = this.jpoint(null, null, null);
-  for (var i = naf.length - 1; i >= 0; i--) {
-    // Count zeroes
-    for (var l = 0; i >= 0 && naf[i] === 0; i--)
-      l++;
-    if (i >= 0)
-      l++;
-    acc = acc.dblp(l);
-
-    if (i < 0)
-      break;
-    var z = naf[i];
-    assert(z !== 0);
-    if (p.type === 'affine') {
-      // J +- P
-      if (z > 0)
-        acc = acc.mixedAdd(wnd[(z - 1) >> 1]);
-      else
-        acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());
-    } else {
-      // J +- J
-      if (z > 0)
-        acc = acc.add(wnd[(z - 1) >> 1]);
-      else
-        acc = acc.add(wnd[(-z - 1) >> 1].neg());
-    }
-  }
-  return p.type === 'affine' ? acc.toP() : acc;
-};
-
-BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
-  points,
-  coeffs,
-  len,
-  jacobianResult) {
-  var wndWidth = this._wnafT1;
-  var wnd = this._wnafT2;
-  var naf = this._wnafT3;
-
-  // Fill all arrays
-  var max = 0;
-  var i;
-  var j;
-  var p;
-  for (i = 0; i < len; i++) {
-    p = points[i];
-    var nafPoints = p._getNAFPoints(defW);
-    wndWidth[i] = nafPoints.wnd;
-    wnd[i] = nafPoints.points;
-  }
-
-  // Comb small window NAFs
-  for (i = len - 1; i >= 1; i -= 2) {
-    var a = i - 1;
-    var b = i;
-    if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {
-      naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);
-      naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);
-      max = Math.max(naf[a].length, max);
-      max = Math.max(naf[b].length, max);
-      continue;
-    }
-
-    var comb = [
-      points[a], /* 1 */
-      null, /* 3 */
-      null, /* 5 */
-      points[b], /* 7 */
-    ];
-
-    // Try to avoid Projective points, if possible
-    if (points[a].y.cmp(points[b].y) === 0) {
-      comb[1] = points[a].add(points[b]);
-      comb[2] = points[a].toJ().mixedAdd(points[b].neg());
-    } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {
-      comb[1] = points[a].toJ().mixedAdd(points[b]);
-      comb[2] = points[a].add(points[b].neg());
-    } else {
-      comb[1] = points[a].toJ().mixedAdd(points[b]);
-      comb[2] = points[a].toJ().mixedAdd(points[b].neg());
-    }
-
-    var index = [
-      -3, /* -1 -1 */
-      -1, /* -1 0 */
-      -5, /* -1 1 */
-      -7, /* 0 -1 */
-      0, /* 0 0 */
-      7, /* 0 1 */
-      5, /* 1 -1 */
-      1, /* 1 0 */
-      3,  /* 1 1 */
-    ];
-
-    var jsf = getJSF(coeffs[a], coeffs[b]);
-    max = Math.max(jsf[0].length, max);
-    naf[a] = new Array(max);
-    naf[b] = new Array(max);
-    for (j = 0; j < max; j++) {
-      var ja = jsf[0][j] | 0;
-      var jb = jsf[1][j] | 0;
-
-      naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];
-      naf[b][j] = 0;
-      wnd[a] = comb;
-    }
-  }
-
-  var acc = this.jpoint(null, null, null);
-  var tmp = this._wnafT4;
-  for (i = max; i >= 0; i--) {
-    var k = 0;
-
-    while (i >= 0) {
-      var zero = true;
-      for (j = 0; j < len; j++) {
-        tmp[j] = naf[j][i] | 0;
-        if (tmp[j] !== 0)
-          zero = false;
-      }
-      if (!zero)
-        break;
-      k++;
-      i--;
-    }
-    if (i >= 0)
-      k++;
-    acc = acc.dblp(k);
-    if (i < 0)
-      break;
-
-    for (j = 0; j < len; j++) {
-      var z = tmp[j];
-      p;
-      if (z === 0)
-        continue;
-      else if (z > 0)
-        p = wnd[j][(z - 1) >> 1];
-      else if (z < 0)
-        p = wnd[j][(-z - 1) >> 1].neg();
-
-      if (p.type === 'affine')
-        acc = acc.mixedAdd(p);
-      else
-        acc = acc.add(p);
-    }
-  }
-  // Zeroify references
-  for (i = 0; i < len; i++)
-    wnd[i] = null;
-
-  if (jacobianResult)
-    return acc;
-  else
-    return acc.toP();
-};
-
-function BasePoint(curve, type) {
-  this.curve = curve;
-  this.type = type;
-  this.precomputed = null;
-}
-BaseCurve.BasePoint = BasePoint;
-
-BasePoint.prototype.eq = function eq(/*other*/) {
-  throw new Error('Not implemented');
-};
-
-BasePoint.prototype.validate = function validate() {
-  return this.curve.validate(this);
-};
-
-BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
-  bytes = utils.toArray(bytes, enc);
-
-  var len = this.p.byteLength();
-
-  // uncompressed, hybrid-odd, hybrid-even
-  if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
-      bytes.length - 1 === 2 * len) {
-    if (bytes[0] === 0x06)
-      assert(bytes[bytes.length - 1] % 2 === 0);
-    else if (bytes[0] === 0x07)
-      assert(bytes[bytes.length - 1] % 2 === 1);
-
-    var res =  this.point(bytes.slice(1, 1 + len),
-      bytes.slice(1 + len, 1 + 2 * len));
-
-    return res;
-  } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&
-              bytes.length - 1 === len) {
-    return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);
-  }
-  throw new Error('Unknown point format');
-};
-
-BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {
-  return this.encode(enc, true);
-};
-
-BasePoint.prototype._encode = function _encode(compact) {
-  var len = this.curve.p.byteLength();
-  var x = this.getX().toArray('be', len);
-
-  if (compact)
-    return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);
-
-  return [ 0x04 ].concat(x, this.getY().toArray('be', len));
-};
-
-BasePoint.prototype.encode = function encode(enc, compact) {
-  return utils.encode(this._encode(compact), enc);
-};
-
-BasePoint.prototype.precompute = function precompute(power) {
-  if (this.precomputed)
-    return this;
-
-  var precomputed = {
-    doubles: null,
-    naf: null,
-    beta: null,
-  };
-  precomputed.naf = this._getNAFPoints(8);
-  precomputed.doubles = this._getDoubles(4, power);
-  precomputed.beta = this._getBeta();
-  this.precomputed = precomputed;
-
-  return this;
-};
-
-BasePoint.prototype._hasDoubles = function _hasDoubles(k) {
-  if (!this.precomputed)
-    return false;
-
-  var doubles = this.precomputed.doubles;
-  if (!doubles)
-    return false;
-
-  return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);
-};
-
-BasePoint.prototype._getDoubles = function _getDoubles(step, power) {
-  if (this.precomputed && this.precomputed.doubles)
-    return this.precomputed.doubles;
-
-  var doubles = [ this ];
-  var acc = this;
-  for (var i = 0; i < power; i += step) {
-    for (var j = 0; j < step; j++)
-      acc = acc.dbl();
-    doubles.push(acc);
-  }
-  return {
-    step: step,
-    points: doubles,
-  };
-};
-
-BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {
-  if (this.precomputed && this.precomputed.naf)
-    return this.precomputed.naf;
-
-  var res = [ this ];
-  var max = (1 << wnd) - 1;
-  var dbl = max === 1 ? null : this.dbl();
-  for (var i = 1; i < max; i++)
-    res[i] = res[i - 1].add(dbl);
-  return {
-    wnd: wnd,
-    points: res,
-  };
-};
-
-BasePoint.prototype._getBeta = function _getBeta() {
-  return null;
-};
-
-BasePoint.prototype.dblp = function dblp(k) {
-  var r = this;
-  for (var i = 0; i < k; i++)
-    r = r.dbl();
-  return r;
-};

+ 0 - 435
node_modules.bak/elliptic/lib/elliptic/curve/edwards.js

@@ -1,435 +0,0 @@
-'use strict';
-
-var utils = require('../utils');
-var BN = require('bn.js');
-var inherits = require('inherits');
-var Base = require('./base');
-
-var assert = utils.assert;
-
-function EdwardsCurve(conf) {
-  // NOTE: Important as we are creating point in Base.call()
-  this.twisted = (conf.a | 0) !== 1;
-  this.mOneA = this.twisted && (conf.a | 0) === -1;
-  this.extended = this.mOneA;
-
-  Base.call(this, 'edwards', conf);
-
-  this.a = new BN(conf.a, 16).umod(this.red.m);
-  this.a = this.a.toRed(this.red);
-  this.c = new BN(conf.c, 16).toRed(this.red);
-  this.c2 = this.c.redSqr();
-  this.d = new BN(conf.d, 16).toRed(this.red);
-  this.dd = this.d.redAdd(this.d);
-
-  assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);
-  this.oneC = (conf.c | 0) === 1;
-}
-inherits(EdwardsCurve, Base);
-module.exports = EdwardsCurve;
-
-EdwardsCurve.prototype._mulA = function _mulA(num) {
-  if (this.mOneA)
-    return num.redNeg();
-  else
-    return this.a.redMul(num);
-};
-
-EdwardsCurve.prototype._mulC = function _mulC(num) {
-  if (this.oneC)
-    return num;
-  else
-    return this.c.redMul(num);
-};
-
-// Just for compatibility with Short curve
-EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {
-  return this.point(x, y, z, t);
-};
-
-EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {
-  x = new BN(x, 16);
-  if (!x.red)
-    x = x.toRed(this.red);
-
-  var x2 = x.redSqr();
-  var rhs = this.c2.redSub(this.a.redMul(x2));
-  var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));
-
-  var y2 = rhs.redMul(lhs.redInvm());
-  var y = y2.redSqrt();
-  if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
-    throw new Error('invalid point');
-
-  var isOdd = y.fromRed().isOdd();
-  if (odd && !isOdd || !odd && isOdd)
-    y = y.redNeg();
-
-  return this.point(x, y);
-};
-
-EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {
-  y = new BN(y, 16);
-  if (!y.red)
-    y = y.toRed(this.red);
-
-  // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)
-  var y2 = y.redSqr();
-  var lhs = y2.redSub(this.c2);
-  var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);
-  var x2 = lhs.redMul(rhs.redInvm());
-
-  if (x2.cmp(this.zero) === 0) {
-    if (odd)
-      throw new Error('invalid point');
-    else
-      return this.point(this.zero, y);
-  }
-
-  var x = x2.redSqrt();
-  if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)
-    throw new Error('invalid point');
-
-  if (x.fromRed().isOdd() !== odd)
-    x = x.redNeg();
-
-  return this.point(x, y);
-};
-
-EdwardsCurve.prototype.validate = function validate(point) {
-  if (point.isInfinity())
-    return true;
-
-  // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)
-  point.normalize();
-
-  var x2 = point.x.redSqr();
-  var y2 = point.y.redSqr();
-  var lhs = x2.redMul(this.a).redAdd(y2);
-  var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));
-
-  return lhs.cmp(rhs) === 0;
-};
-
-function Point(curve, x, y, z, t) {
-  Base.BasePoint.call(this, curve, 'projective');
-  if (x === null && y === null && z === null) {
-    this.x = this.curve.zero;
-    this.y = this.curve.one;
-    this.z = this.curve.one;
-    this.t = this.curve.zero;
-    this.zOne = true;
-  } else {
-    this.x = new BN(x, 16);
-    this.y = new BN(y, 16);
-    this.z = z ? new BN(z, 16) : this.curve.one;
-    this.t = t && new BN(t, 16);
-    if (!this.x.red)
-      this.x = this.x.toRed(this.curve.red);
-    if (!this.y.red)
-      this.y = this.y.toRed(this.curve.red);
-    if (!this.z.red)
-      this.z = this.z.toRed(this.curve.red);
-    if (this.t && !this.t.red)
-      this.t = this.t.toRed(this.curve.red);
-    this.zOne = this.z === this.curve.one;
-
-    // Use extended coordinates
-    if (this.curve.extended && !this.t) {
-      this.t = this.x.redMul(this.y);
-      if (!this.zOne)
-        this.t = this.t.redMul(this.z.redInvm());
-    }
-  }
-}
-inherits(Point, Base.BasePoint);
-
-EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
-  return Point.fromJSON(this, obj);
-};
-
-EdwardsCurve.prototype.point = function point(x, y, z, t) {
-  return new Point(this, x, y, z, t);
-};
-
-Point.fromJSON = function fromJSON(curve, obj) {
-  return new Point(curve, obj[0], obj[1], obj[2]);
-};
-
-Point.prototype.inspect = function inspect() {
-  if (this.isInfinity())
-    return '<EC Point Infinity>';
-  return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
-      ' y: ' + this.y.fromRed().toString(16, 2) +
-      ' z: ' + this.z.fromRed().toString(16, 2) + '>';
-};
-
-Point.prototype.isInfinity = function isInfinity() {
-  // XXX This code assumes that zero is always zero in red
-  return this.x.cmpn(0) === 0 &&
-    (this.y.cmp(this.z) === 0 ||
-    (this.zOne && this.y.cmp(this.curve.c) === 0));
-};
-
-Point.prototype._extDbl = function _extDbl() {
-  // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
-  //     #doubling-dbl-2008-hwcd
-  // 4M + 4S
-
-  // A = X1^2
-  var a = this.x.redSqr();
-  // B = Y1^2
-  var b = this.y.redSqr();
-  // C = 2 * Z1^2
-  var c = this.z.redSqr();
-  c = c.redIAdd(c);
-  // D = a * A
-  var d = this.curve._mulA(a);
-  // E = (X1 + Y1)^2 - A - B
-  var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);
-  // G = D + B
-  var g = d.redAdd(b);
-  // F = G - C
-  var f = g.redSub(c);
-  // H = D - B
-  var h = d.redSub(b);
-  // X3 = E * F
-  var nx = e.redMul(f);
-  // Y3 = G * H
-  var ny = g.redMul(h);
-  // T3 = E * H
-  var nt = e.redMul(h);
-  // Z3 = F * G
-  var nz = f.redMul(g);
-  return this.curve.point(nx, ny, nz, nt);
-};
-
-Point.prototype._projDbl = function _projDbl() {
-  // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
-  //     #doubling-dbl-2008-bbjlp
-  //     #doubling-dbl-2007-bl
-  // and others
-  // Generally 3M + 4S or 2M + 4S
-
-  // B = (X1 + Y1)^2
-  var b = this.x.redAdd(this.y).redSqr();
-  // C = X1^2
-  var c = this.x.redSqr();
-  // D = Y1^2
-  var d = this.y.redSqr();
-
-  var nx;
-  var ny;
-  var nz;
-  var e;
-  var h;
-  var j;
-  if (this.curve.twisted) {
-    // E = a * C
-    e = this.curve._mulA(c);
-    // F = E + D
-    var f = e.redAdd(d);
-    if (this.zOne) {
-      // X3 = (B - C - D) * (F - 2)
-      nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));
-      // Y3 = F * (E - D)
-      ny = f.redMul(e.redSub(d));
-      // Z3 = F^2 - 2 * F
-      nz = f.redSqr().redSub(f).redSub(f);
-    } else {
-      // H = Z1^2
-      h = this.z.redSqr();
-      // J = F - 2 * H
-      j = f.redSub(h).redISub(h);
-      // X3 = (B-C-D)*J
-      nx = b.redSub(c).redISub(d).redMul(j);
-      // Y3 = F * (E - D)
-      ny = f.redMul(e.redSub(d));
-      // Z3 = F * J
-      nz = f.redMul(j);
-    }
-  } else {
-    // E = C + D
-    e = c.redAdd(d);
-    // H = (c * Z1)^2
-    h = this.curve._mulC(this.z).redSqr();
-    // J = E - 2 * H
-    j = e.redSub(h).redSub(h);
-    // X3 = c * (B - E) * J
-    nx = this.curve._mulC(b.redISub(e)).redMul(j);
-    // Y3 = c * E * (C - D)
-    ny = this.curve._mulC(e).redMul(c.redISub(d));
-    // Z3 = E * J
-    nz = e.redMul(j);
-  }
-  return this.curve.point(nx, ny, nz);
-};
-
-Point.prototype.dbl = function dbl() {
-  if (this.isInfinity())
-    return this;
-
-  // Double in extended coordinates
-  if (this.curve.extended)
-    return this._extDbl();
-  else
-    return this._projDbl();
-};
-
-Point.prototype._extAdd = function _extAdd(p) {
-  // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
-  //     #addition-add-2008-hwcd-3
-  // 8M
-
-  // A = (Y1 - X1) * (Y2 - X2)
-  var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));
-  // B = (Y1 + X1) * (Y2 + X2)
-  var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));
-  // C = T1 * k * T2
-  var c = this.t.redMul(this.curve.dd).redMul(p.t);
-  // D = Z1 * 2 * Z2
-  var d = this.z.redMul(p.z.redAdd(p.z));
-  // E = B - A
-  var e = b.redSub(a);
-  // F = D - C
-  var f = d.redSub(c);
-  // G = D + C
-  var g = d.redAdd(c);
-  // H = B + A
-  var h = b.redAdd(a);
-  // X3 = E * F
-  var nx = e.redMul(f);
-  // Y3 = G * H
-  var ny = g.redMul(h);
-  // T3 = E * H
-  var nt = e.redMul(h);
-  // Z3 = F * G
-  var nz = f.redMul(g);
-  return this.curve.point(nx, ny, nz, nt);
-};
-
-Point.prototype._projAdd = function _projAdd(p) {
-  // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
-  //     #addition-add-2008-bbjlp
-  //     #addition-add-2007-bl
-  // 10M + 1S
-
-  // A = Z1 * Z2
-  var a = this.z.redMul(p.z);
-  // B = A^2
-  var b = a.redSqr();
-  // C = X1 * X2
-  var c = this.x.redMul(p.x);
-  // D = Y1 * Y2
-  var d = this.y.redMul(p.y);
-  // E = d * C * D
-  var e = this.curve.d.redMul(c).redMul(d);
-  // F = B - E
-  var f = b.redSub(e);
-  // G = B + E
-  var g = b.redAdd(e);
-  // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)
-  var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);
-  var nx = a.redMul(f).redMul(tmp);
-  var ny;
-  var nz;
-  if (this.curve.twisted) {
-    // Y3 = A * G * (D - a * C)
-    ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));
-    // Z3 = F * G
-    nz = f.redMul(g);
-  } else {
-    // Y3 = A * G * (D - C)
-    ny = a.redMul(g).redMul(d.redSub(c));
-    // Z3 = c * F * G
-    nz = this.curve._mulC(f).redMul(g);
-  }
-  return this.curve.point(nx, ny, nz);
-};
-
-Point.prototype.add = function add(p) {
-  if (this.isInfinity())
-    return p;
-  if (p.isInfinity())
-    return this;
-
-  if (this.curve.extended)
-    return this._extAdd(p);
-  else
-    return this._projAdd(p);
-};
-
-Point.prototype.mul = function mul(k) {
-  if (this._hasDoubles(k))
-    return this.curve._fixedNafMul(this, k);
-  else
-    return this.curve._wnafMul(this, k);
-};
-
-Point.prototype.mulAdd = function mulAdd(k1, p, k2) {
-  return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);
-};
-
-Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) {
-  return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);
-};
-
-Point.prototype.normalize = function normalize() {
-  if (this.zOne)
-    return this;
-
-  // Normalize coordinates
-  var zi = this.z.redInvm();
-  this.x = this.x.redMul(zi);
-  this.y = this.y.redMul(zi);
-  if (this.t)
-    this.t = this.t.redMul(zi);
-  this.z = this.curve.one;
-  this.zOne = true;
-  return this;
-};
-
-Point.prototype.neg = function neg() {
-  return this.curve.point(this.x.redNeg(),
-    this.y,
-    this.z,
-    this.t && this.t.redNeg());
-};
-
-Point.prototype.getX = function getX() {
-  this.normalize();
-  return this.x.fromRed();
-};
-
-Point.prototype.getY = function getY() {
-  this.normalize();
-  return this.y.fromRed();
-};
-
-Point.prototype.eq = function eq(other) {
-  return this === other ||
-         this.getX().cmp(other.getX()) === 0 &&
-         this.getY().cmp(other.getY()) === 0;
-};
-
-Point.prototype.eqXToP = function eqXToP(x) {
-  var rx = x.toRed(this.curve.red).redMul(this.z);
-  if (this.x.cmp(rx) === 0)
-    return true;
-
-  var xc = x.clone();
-  var t = this.curve.redN.redMul(this.z);
-  for (;;) {
-    xc.iadd(this.curve.n);
-    if (xc.cmp(this.curve.p) >= 0)
-      return false;
-
-    rx.redIAdd(t);
-    if (this.x.cmp(rx) === 0)
-      return true;
-  }
-};
-
-// Compatibility with BaseCurve
-Point.prototype.toP = Point.prototype.normalize;
-Point.prototype.mixedAdd = Point.prototype.add;

+ 0 - 8
node_modules.bak/elliptic/lib/elliptic/curve/index.js

@@ -1,8 +0,0 @@
-'use strict';
-
-var curve = exports;
-
-curve.base = require('./base');
-curve.short = require('./short');
-curve.mont = require('./mont');
-curve.edwards = require('./edwards');

+ 0 - 178
node_modules.bak/elliptic/lib/elliptic/curve/mont.js

@@ -1,178 +0,0 @@
-'use strict';
-
-var BN = require('bn.js');
-var inherits = require('inherits');
-var Base = require('./base');
-
-var utils = require('../utils');
-
-function MontCurve(conf) {
-  Base.call(this, 'mont', conf);
-
-  this.a = new BN(conf.a, 16).toRed(this.red);
-  this.b = new BN(conf.b, 16).toRed(this.red);
-  this.i4 = new BN(4).toRed(this.red).redInvm();
-  this.two = new BN(2).toRed(this.red);
-  this.a24 = this.i4.redMul(this.a.redAdd(this.two));
-}
-inherits(MontCurve, Base);
-module.exports = MontCurve;
-
-MontCurve.prototype.validate = function validate(point) {
-  var x = point.normalize().x;
-  var x2 = x.redSqr();
-  var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);
-  var y = rhs.redSqrt();
-
-  return y.redSqr().cmp(rhs) === 0;
-};
-
-function Point(curve, x, z) {
-  Base.BasePoint.call(this, curve, 'projective');
-  if (x === null && z === null) {
-    this.x = this.curve.one;
-    this.z = this.curve.zero;
-  } else {
-    this.x = new BN(x, 16);
-    this.z = new BN(z, 16);
-    if (!this.x.red)
-      this.x = this.x.toRed(this.curve.red);
-    if (!this.z.red)
-      this.z = this.z.toRed(this.curve.red);
-  }
-}
-inherits(Point, Base.BasePoint);
-
-MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
-  return this.point(utils.toArray(bytes, enc), 1);
-};
-
-MontCurve.prototype.point = function point(x, z) {
-  return new Point(this, x, z);
-};
-
-MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
-  return Point.fromJSON(this, obj);
-};
-
-Point.prototype.precompute = function precompute() {
-  // No-op
-};
-
-Point.prototype._encode = function _encode() {
-  return this.getX().toArray('be', this.curve.p.byteLength());
-};
-
-Point.fromJSON = function fromJSON(curve, obj) {
-  return new Point(curve, obj[0], obj[1] || curve.one);
-};
-
-Point.prototype.inspect = function inspect() {
-  if (this.isInfinity())
-    return '<EC Point Infinity>';
-  return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
-      ' z: ' + this.z.fromRed().toString(16, 2) + '>';
-};
-
-Point.prototype.isInfinity = function isInfinity() {
-  // XXX This code assumes that zero is always zero in red
-  return this.z.cmpn(0) === 0;
-};
-
-Point.prototype.dbl = function dbl() {
-  // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3
-  // 2M + 2S + 4A
-
-  // A = X1 + Z1
-  var a = this.x.redAdd(this.z);
-  // AA = A^2
-  var aa = a.redSqr();
-  // B = X1 - Z1
-  var b = this.x.redSub(this.z);
-  // BB = B^2
-  var bb = b.redSqr();
-  // C = AA - BB
-  var c = aa.redSub(bb);
-  // X3 = AA * BB
-  var nx = aa.redMul(bb);
-  // Z3 = C * (BB + A24 * C)
-  var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));
-  return this.curve.point(nx, nz);
-};
-
-Point.prototype.add = function add() {
-  throw new Error('Not supported on Montgomery curve');
-};
-
-Point.prototype.diffAdd = function diffAdd(p, diff) {
-  // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3
-  // 4M + 2S + 6A
-
-  // A = X2 + Z2
-  var a = this.x.redAdd(this.z);
-  // B = X2 - Z2
-  var b = this.x.redSub(this.z);
-  // C = X3 + Z3
-  var c = p.x.redAdd(p.z);
-  // D = X3 - Z3
-  var d = p.x.redSub(p.z);
-  // DA = D * A
-  var da = d.redMul(a);
-  // CB = C * B
-  var cb = c.redMul(b);
-  // X5 = Z1 * (DA + CB)^2
-  var nx = diff.z.redMul(da.redAdd(cb).redSqr());
-  // Z5 = X1 * (DA - CB)^2
-  var nz = diff.x.redMul(da.redISub(cb).redSqr());
-  return this.curve.point(nx, nz);
-};
-
-Point.prototype.mul = function mul(k) {
-  var t = k.clone();
-  var a = this; // (N / 2) * Q + Q
-  var b = this.curve.point(null, null); // (N / 2) * Q
-  var c = this; // Q
-
-  for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))
-    bits.push(t.andln(1));
-
-  for (var i = bits.length - 1; i >= 0; i--) {
-    if (bits[i] === 0) {
-      // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q
-      a = a.diffAdd(b, c);
-      // N * Q = 2 * ((N / 2) * Q + Q))
-      b = b.dbl();
-    } else {
-      // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)
-      b = a.diffAdd(b, c);
-      // N * Q + Q = 2 * ((N / 2) * Q + Q)
-      a = a.dbl();
-    }
-  }
-  return b;
-};
-
-Point.prototype.mulAdd = function mulAdd() {
-  throw new Error('Not supported on Montgomery curve');
-};
-
-Point.prototype.jumlAdd = function jumlAdd() {
-  throw new Error('Not supported on Montgomery curve');
-};
-
-Point.prototype.eq = function eq(other) {
-  return this.getX().cmp(other.getX()) === 0;
-};
-
-Point.prototype.normalize = function normalize() {
-  this.x = this.x.redMul(this.z.redInvm());
-  this.z = this.curve.one;
-  return this;
-};
-
-Point.prototype.getX = function getX() {
-  // Normalize coordinates
-  this.normalize();
-
-  return this.x.fromRed();
-};

+ 0 - 938
node_modules.bak/elliptic/lib/elliptic/curve/short.js

@@ -1,938 +0,0 @@
-'use strict';
-
-var utils = require('../utils');
-var BN = require('bn.js');
-var inherits = require('inherits');
-var Base = require('./base');
-
-var assert = utils.assert;
-
-function ShortCurve(conf) {
-  Base.call(this, 'short', conf);
-
-  this.a = new BN(conf.a, 16).toRed(this.red);
-  this.b = new BN(conf.b, 16).toRed(this.red);
-  this.tinv = this.two.redInvm();
-
-  this.zeroA = this.a.fromRed().cmpn(0) === 0;
-  this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;
-
-  // If the curve is endomorphic, precalculate beta and lambda
-  this.endo = this._getEndomorphism(conf);
-  this._endoWnafT1 = new Array(4);
-  this._endoWnafT2 = new Array(4);
-}
-inherits(ShortCurve, Base);
-module.exports = ShortCurve;
-
-ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {
-  // No efficient endomorphism
-  if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)
-    return;
-
-  // Compute beta and lambda, that lambda * P = (beta * Px; Py)
-  var beta;
-  var lambda;
-  if (conf.beta) {
-    beta = new BN(conf.beta, 16).toRed(this.red);
-  } else {
-    var betas = this._getEndoRoots(this.p);
-    // Choose the smallest beta
-    beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];
-    beta = beta.toRed(this.red);
-  }
-  if (conf.lambda) {
-    lambda = new BN(conf.lambda, 16);
-  } else {
-    // Choose the lambda that is matching selected beta
-    var lambdas = this._getEndoRoots(this.n);
-    if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {
-      lambda = lambdas[0];
-    } else {
-      lambda = lambdas[1];
-      assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);
-    }
-  }
-
-  // Get basis vectors, used for balanced length-two representation
-  var basis;
-  if (conf.basis) {
-    basis = conf.basis.map(function(vec) {
-      return {
-        a: new BN(vec.a, 16),
-        b: new BN(vec.b, 16),
-      };
-    });
-  } else {
-    basis = this._getEndoBasis(lambda);
-  }
-
-  return {
-    beta: beta,
-    lambda: lambda,
-    basis: basis,
-  };
-};
-
-ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {
-  // Find roots of for x^2 + x + 1 in F
-  // Root = (-1 +- Sqrt(-3)) / 2
-  //
-  var red = num === this.p ? this.red : BN.mont(num);
-  var tinv = new BN(2).toRed(red).redInvm();
-  var ntinv = tinv.redNeg();
-
-  var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);
-
-  var l1 = ntinv.redAdd(s).fromRed();
-  var l2 = ntinv.redSub(s).fromRed();
-  return [ l1, l2 ];
-};
-
-ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {
-  // aprxSqrt >= sqrt(this.n)
-  var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));
-
-  // 3.74
-  // Run EGCD, until r(L + 1) < aprxSqrt
-  var u = lambda;
-  var v = this.n.clone();
-  var x1 = new BN(1);
-  var y1 = new BN(0);
-  var x2 = new BN(0);
-  var y2 = new BN(1);
-
-  // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)
-  var a0;
-  var b0;
-  // First vector
-  var a1;
-  var b1;
-  // Second vector
-  var a2;
-  var b2;
-
-  var prevR;
-  var i = 0;
-  var r;
-  var x;
-  while (u.cmpn(0) !== 0) {
-    var q = v.div(u);
-    r = v.sub(q.mul(u));
-    x = x2.sub(q.mul(x1));
-    var y = y2.sub(q.mul(y1));
-
-    if (!a1 && r.cmp(aprxSqrt) < 0) {
-      a0 = prevR.neg();
-      b0 = x1;
-      a1 = r.neg();
-      b1 = x;
-    } else if (a1 && ++i === 2) {
-      break;
-    }
-    prevR = r;
-
-    v = u;
-    u = r;
-    x2 = x1;
-    x1 = x;
-    y2 = y1;
-    y1 = y;
-  }
-  a2 = r.neg();
-  b2 = x;
-
-  var len1 = a1.sqr().add(b1.sqr());
-  var len2 = a2.sqr().add(b2.sqr());
-  if (len2.cmp(len1) >= 0) {
-    a2 = a0;
-    b2 = b0;
-  }
-
-  // Normalize signs
-  if (a1.negative) {
-    a1 = a1.neg();
-    b1 = b1.neg();
-  }
-  if (a2.negative) {
-    a2 = a2.neg();
-    b2 = b2.neg();
-  }
-
-  return [
-    { a: a1, b: b1 },
-    { a: a2, b: b2 },
-  ];
-};
-
-ShortCurve.prototype._endoSplit = function _endoSplit(k) {
-  var basis = this.endo.basis;
-  var v1 = basis[0];
-  var v2 = basis[1];
-
-  var c1 = v2.b.mul(k).divRound(this.n);
-  var c2 = v1.b.neg().mul(k).divRound(this.n);
-
-  var p1 = c1.mul(v1.a);
-  var p2 = c2.mul(v2.a);
-  var q1 = c1.mul(v1.b);
-  var q2 = c2.mul(v2.b);
-
-  // Calculate answer
-  var k1 = k.sub(p1).sub(p2);
-  var k2 = q1.add(q2).neg();
-  return { k1: k1, k2: k2 };
-};
-
-ShortCurve.prototype.pointFromX = function pointFromX(x, odd) {
-  x = new BN(x, 16);
-  if (!x.red)
-    x = x.toRed(this.red);
-
-  var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);
-  var y = y2.redSqrt();
-  if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
-    throw new Error('invalid point');
-
-  // XXX Is there any way to tell if the number is odd without converting it
-  // to non-red form?
-  var isOdd = y.fromRed().isOdd();
-  if (odd && !isOdd || !odd && isOdd)
-    y = y.redNeg();
-
-  return this.point(x, y);
-};
-
-ShortCurve.prototype.validate = function validate(point) {
-  if (point.inf)
-    return true;
-
-  var x = point.x;
-  var y = point.y;
-
-  var ax = this.a.redMul(x);
-  var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);
-  return y.redSqr().redISub(rhs).cmpn(0) === 0;
-};
-
-ShortCurve.prototype._endoWnafMulAdd =
-    function _endoWnafMulAdd(points, coeffs, jacobianResult) {
-      var npoints = this._endoWnafT1;
-      var ncoeffs = this._endoWnafT2;
-      for (var i = 0; i < points.length; i++) {
-        var split = this._endoSplit(coeffs[i]);
-        var p = points[i];
-        var beta = p._getBeta();
-
-        if (split.k1.negative) {
-          split.k1.ineg();
-          p = p.neg(true);
-        }
-        if (split.k2.negative) {
-          split.k2.ineg();
-          beta = beta.neg(true);
-        }
-
-        npoints[i * 2] = p;
-        npoints[i * 2 + 1] = beta;
-        ncoeffs[i * 2] = split.k1;
-        ncoeffs[i * 2 + 1] = split.k2;
-      }
-      var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);
-
-      // Clean-up references to points and coefficients
-      for (var j = 0; j < i * 2; j++) {
-        npoints[j] = null;
-        ncoeffs[j] = null;
-      }
-      return res;
-    };
-
-function Point(curve, x, y, isRed) {
-  Base.BasePoint.call(this, curve, 'affine');
-  if (x === null && y === null) {
-    this.x = null;
-    this.y = null;
-    this.inf = true;
-  } else {
-    this.x = new BN(x, 16);
-    this.y = new BN(y, 16);
-    // Force redgomery representation when loading from JSON
-    if (isRed) {
-      this.x.forceRed(this.curve.red);
-      this.y.forceRed(this.curve.red);
-    }
-    if (!this.x.red)
-      this.x = this.x.toRed(this.curve.red);
-    if (!this.y.red)
-      this.y = this.y.toRed(this.curve.red);
-    this.inf = false;
-  }
-}
-inherits(Point, Base.BasePoint);
-
-ShortCurve.prototype.point = function point(x, y, isRed) {
-  return new Point(this, x, y, isRed);
-};
-
-ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {
-  return Point.fromJSON(this, obj, red);
-};
-
-Point.prototype._getBeta = function _getBeta() {
-  if (!this.curve.endo)
-    return;
-
-  var pre = this.precomputed;
-  if (pre && pre.beta)
-    return pre.beta;
-
-  var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);
-  if (pre) {
-    var curve = this.curve;
-    var endoMul = function(p) {
-      return curve.point(p.x.redMul(curve.endo.beta), p.y);
-    };
-    pre.beta = beta;
-    beta.precomputed = {
-      beta: null,
-      naf: pre.naf && {
-        wnd: pre.naf.wnd,
-        points: pre.naf.points.map(endoMul),
-      },
-      doubles: pre.doubles && {
-        step: pre.doubles.step,
-        points: pre.doubles.points.map(endoMul),
-      },
-    };
-  }
-  return beta;
-};
-
-Point.prototype.toJSON = function toJSON() {
-  if (!this.precomputed)
-    return [ this.x, this.y ];
-
-  return [ this.x, this.y, this.precomputed && {
-    doubles: this.precomputed.doubles && {
-      step: this.precomputed.doubles.step,
-      points: this.precomputed.doubles.points.slice(1),
-    },
-    naf: this.precomputed.naf && {
-      wnd: this.precomputed.naf.wnd,
-      points: this.precomputed.naf.points.slice(1),
-    },
-  } ];
-};
-
-Point.fromJSON = function fromJSON(curve, obj, red) {
-  if (typeof obj === 'string')
-    obj = JSON.parse(obj);
-  var res = curve.point(obj[0], obj[1], red);
-  if (!obj[2])
-    return res;
-
-  function obj2point(obj) {
-    return curve.point(obj[0], obj[1], red);
-  }
-
-  var pre = obj[2];
-  res.precomputed = {
-    beta: null,
-    doubles: pre.doubles && {
-      step: pre.doubles.step,
-      points: [ res ].concat(pre.doubles.points.map(obj2point)),
-    },
-    naf: pre.naf && {
-      wnd: pre.naf.wnd,
-      points: [ res ].concat(pre.naf.points.map(obj2point)),
-    },
-  };
-  return res;
-};
-
-Point.prototype.inspect = function inspect() {
-  if (this.isInfinity())
-    return '<EC Point Infinity>';
-  return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
-      ' y: ' + this.y.fromRed().toString(16, 2) + '>';
-};
-
-Point.prototype.isInfinity = function isInfinity() {
-  return this.inf;
-};
-
-Point.prototype.add = function add(p) {
-  // O + P = P
-  if (this.inf)
-    return p;
-
-  // P + O = P
-  if (p.inf)
-    return this;
-
-  // P + P = 2P
-  if (this.eq(p))
-    return this.dbl();
-
-  // P + (-P) = O
-  if (this.neg().eq(p))
-    return this.curve.point(null, null);
-
-  // P + Q = O
-  if (this.x.cmp(p.x) === 0)
-    return this.curve.point(null, null);
-
-  var c = this.y.redSub(p.y);
-  if (c.cmpn(0) !== 0)
-    c = c.redMul(this.x.redSub(p.x).redInvm());
-  var nx = c.redSqr().redISub(this.x).redISub(p.x);
-  var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
-  return this.curve.point(nx, ny);
-};
-
-Point.prototype.dbl = function dbl() {
-  if (this.inf)
-    return this;
-
-  // 2P = O
-  var ys1 = this.y.redAdd(this.y);
-  if (ys1.cmpn(0) === 0)
-    return this.curve.point(null, null);
-
-  var a = this.curve.a;
-
-  var x2 = this.x.redSqr();
-  var dyinv = ys1.redInvm();
-  var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);
-
-  var nx = c.redSqr().redISub(this.x.redAdd(this.x));
-  var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
-  return this.curve.point(nx, ny);
-};
-
-Point.prototype.getX = function getX() {
-  return this.x.fromRed();
-};
-
-Point.prototype.getY = function getY() {
-  return this.y.fromRed();
-};
-
-Point.prototype.mul = function mul(k) {
-  k = new BN(k, 16);
-  if (this.isInfinity())
-    return this;
-  else if (this._hasDoubles(k))
-    return this.curve._fixedNafMul(this, k);
-  else if (this.curve.endo)
-    return this.curve._endoWnafMulAdd([ this ], [ k ]);
-  else
-    return this.curve._wnafMul(this, k);
-};
-
-Point.prototype.mulAdd = function mulAdd(k1, p2, k2) {
-  var points = [ this, p2 ];
-  var coeffs = [ k1, k2 ];
-  if (this.curve.endo)
-    return this.curve._endoWnafMulAdd(points, coeffs);
-  else
-    return this.curve._wnafMulAdd(1, points, coeffs, 2);
-};
-
-Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {
-  var points = [ this, p2 ];
-  var coeffs = [ k1, k2 ];
-  if (this.curve.endo)
-    return this.curve._endoWnafMulAdd(points, coeffs, true);
-  else
-    return this.curve._wnafMulAdd(1, points, coeffs, 2, true);
-};
-
-Point.prototype.eq = function eq(p) {
-  return this === p ||
-         this.inf === p.inf &&
-             (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);
-};
-
-Point.prototype.neg = function neg(_precompute) {
-  if (this.inf)
-    return this;
-
-  var res = this.curve.point(this.x, this.y.redNeg());
-  if (_precompute && this.precomputed) {
-    var pre = this.precomputed;
-    var negate = function(p) {
-      return p.neg();
-    };
-    res.precomputed = {
-      naf: pre.naf && {
-        wnd: pre.naf.wnd,
-        points: pre.naf.points.map(negate),
-      },
-      doubles: pre.doubles && {
-        step: pre.doubles.step,
-        points: pre.doubles.points.map(negate),
-      },
-    };
-  }
-  return res;
-};
-
-Point.prototype.toJ = function toJ() {
-  if (this.inf)
-    return this.curve.jpoint(null, null, null);
-
-  var res = this.curve.jpoint(this.x, this.y, this.curve.one);
-  return res;
-};
-
-function JPoint(curve, x, y, z) {
-  Base.BasePoint.call(this, curve, 'jacobian');
-  if (x === null && y === null && z === null) {
-    this.x = this.curve.one;
-    this.y = this.curve.one;
-    this.z = new BN(0);
-  } else {
-    this.x = new BN(x, 16);
-    this.y = new BN(y, 16);
-    this.z = new BN(z, 16);
-  }
-  if (!this.x.red)
-    this.x = this.x.toRed(this.curve.red);
-  if (!this.y.red)
-    this.y = this.y.toRed(this.curve.red);
-  if (!this.z.red)
-    this.z = this.z.toRed(this.curve.red);
-
-  this.zOne = this.z === this.curve.one;
-}
-inherits(JPoint, Base.BasePoint);
-
-ShortCurve.prototype.jpoint = function jpoint(x, y, z) {
-  return new JPoint(this, x, y, z);
-};
-
-JPoint.prototype.toP = function toP() {
-  if (this.isInfinity())
-    return this.curve.point(null, null);
-
-  var zinv = this.z.redInvm();
-  var zinv2 = zinv.redSqr();
-  var ax = this.x.redMul(zinv2);
-  var ay = this.y.redMul(zinv2).redMul(zinv);
-
-  return this.curve.point(ax, ay);
-};
-
-JPoint.prototype.neg = function neg() {
-  return this.curve.jpoint(this.x, this.y.redNeg(), this.z);
-};
-
-JPoint.prototype.add = function add(p) {
-  // O + P = P
-  if (this.isInfinity())
-    return p;
-
-  // P + O = P
-  if (p.isInfinity())
-    return this;
-
-  // 12M + 4S + 7A
-  var pz2 = p.z.redSqr();
-  var z2 = this.z.redSqr();
-  var u1 = this.x.redMul(pz2);
-  var u2 = p.x.redMul(z2);
-  var s1 = this.y.redMul(pz2.redMul(p.z));
-  var s2 = p.y.redMul(z2.redMul(this.z));
-
-  var h = u1.redSub(u2);
-  var r = s1.redSub(s2);
-  if (h.cmpn(0) === 0) {
-    if (r.cmpn(0) !== 0)
-      return this.curve.jpoint(null, null, null);
-    else
-      return this.dbl();
-  }
-
-  var h2 = h.redSqr();
-  var h3 = h2.redMul(h);
-  var v = u1.redMul(h2);
-
-  var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
-  var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
-  var nz = this.z.redMul(p.z).redMul(h);
-
-  return this.curve.jpoint(nx, ny, nz);
-};
-
-JPoint.prototype.mixedAdd = function mixedAdd(p) {
-  // O + P = P
-  if (this.isInfinity())
-    return p.toJ();
-
-  // P + O = P
-  if (p.isInfinity())
-    return this;
-
-  // 8M + 3S + 7A
-  var z2 = this.z.redSqr();
-  var u1 = this.x;
-  var u2 = p.x.redMul(z2);
-  var s1 = this.y;
-  var s2 = p.y.redMul(z2).redMul(this.z);
-
-  var h = u1.redSub(u2);
-  var r = s1.redSub(s2);
-  if (h.cmpn(0) === 0) {
-    if (r.cmpn(0) !== 0)
-      return this.curve.jpoint(null, null, null);
-    else
-      return this.dbl();
-  }
-
-  var h2 = h.redSqr();
-  var h3 = h2.redMul(h);
-  var v = u1.redMul(h2);
-
-  var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
-  var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
-  var nz = this.z.redMul(h);
-
-  return this.curve.jpoint(nx, ny, nz);
-};
-
-JPoint.prototype.dblp = function dblp(pow) {
-  if (pow === 0)
-    return this;
-  if (this.isInfinity())
-    return this;
-  if (!pow)
-    return this.dbl();
-
-  var i;
-  if (this.curve.zeroA || this.curve.threeA) {
-    var r = this;
-    for (i = 0; i < pow; i++)
-      r = r.dbl();
-    return r;
-  }
-
-  // 1M + 2S + 1A + N * (4S + 5M + 8A)
-  // N = 1 => 6M + 6S + 9A
-  var a = this.curve.a;
-  var tinv = this.curve.tinv;
-
-  var jx = this.x;
-  var jy = this.y;
-  var jz = this.z;
-  var jz4 = jz.redSqr().redSqr();
-
-  // Reuse results
-  var jyd = jy.redAdd(jy);
-  for (i = 0; i < pow; i++) {
-    var jx2 = jx.redSqr();
-    var jyd2 = jyd.redSqr();
-    var jyd4 = jyd2.redSqr();
-    var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
-
-    var t1 = jx.redMul(jyd2);
-    var nx = c.redSqr().redISub(t1.redAdd(t1));
-    var t2 = t1.redISub(nx);
-    var dny = c.redMul(t2);
-    dny = dny.redIAdd(dny).redISub(jyd4);
-    var nz = jyd.redMul(jz);
-    if (i + 1 < pow)
-      jz4 = jz4.redMul(jyd4);
-
-    jx = nx;
-    jz = nz;
-    jyd = dny;
-  }
-
-  return this.curve.jpoint(jx, jyd.redMul(tinv), jz);
-};
-
-JPoint.prototype.dbl = function dbl() {
-  if (this.isInfinity())
-    return this;
-
-  if (this.curve.zeroA)
-    return this._zeroDbl();
-  else if (this.curve.threeA)
-    return this._threeDbl();
-  else
-    return this._dbl();
-};
-
-JPoint.prototype._zeroDbl = function _zeroDbl() {
-  var nx;
-  var ny;
-  var nz;
-  // Z = 1
-  if (this.zOne) {
-    // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
-    //     #doubling-mdbl-2007-bl
-    // 1M + 5S + 14A
-
-    // XX = X1^2
-    var xx = this.x.redSqr();
-    // YY = Y1^2
-    var yy = this.y.redSqr();
-    // YYYY = YY^2
-    var yyyy = yy.redSqr();
-    // S = 2 * ((X1 + YY)^2 - XX - YYYY)
-    var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
-    s = s.redIAdd(s);
-    // M = 3 * XX + a; a = 0
-    var m = xx.redAdd(xx).redIAdd(xx);
-    // T = M ^ 2 - 2*S
-    var t = m.redSqr().redISub(s).redISub(s);
-
-    // 8 * YYYY
-    var yyyy8 = yyyy.redIAdd(yyyy);
-    yyyy8 = yyyy8.redIAdd(yyyy8);
-    yyyy8 = yyyy8.redIAdd(yyyy8);
-
-    // X3 = T
-    nx = t;
-    // Y3 = M * (S - T) - 8 * YYYY
-    ny = m.redMul(s.redISub(t)).redISub(yyyy8);
-    // Z3 = 2*Y1
-    nz = this.y.redAdd(this.y);
-  } else {
-    // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
-    //     #doubling-dbl-2009-l
-    // 2M + 5S + 13A
-
-    // A = X1^2
-    var a = this.x.redSqr();
-    // B = Y1^2
-    var b = this.y.redSqr();
-    // C = B^2
-    var c = b.redSqr();
-    // D = 2 * ((X1 + B)^2 - A - C)
-    var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);
-    d = d.redIAdd(d);
-    // E = 3 * A
-    var e = a.redAdd(a).redIAdd(a);
-    // F = E^2
-    var f = e.redSqr();
-
-    // 8 * C
-    var c8 = c.redIAdd(c);
-    c8 = c8.redIAdd(c8);
-    c8 = c8.redIAdd(c8);
-
-    // X3 = F - 2 * D
-    nx = f.redISub(d).redISub(d);
-    // Y3 = E * (D - X3) - 8 * C
-    ny = e.redMul(d.redISub(nx)).redISub(c8);
-    // Z3 = 2 * Y1 * Z1
-    nz = this.y.redMul(this.z);
-    nz = nz.redIAdd(nz);
-  }
-
-  return this.curve.jpoint(nx, ny, nz);
-};
-
-JPoint.prototype._threeDbl = function _threeDbl() {
-  var nx;
-  var ny;
-  var nz;
-  // Z = 1
-  if (this.zOne) {
-    // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html
-    //     #doubling-mdbl-2007-bl
-    // 1M + 5S + 15A
-
-    // XX = X1^2
-    var xx = this.x.redSqr();
-    // YY = Y1^2
-    var yy = this.y.redSqr();
-    // YYYY = YY^2
-    var yyyy = yy.redSqr();
-    // S = 2 * ((X1 + YY)^2 - XX - YYYY)
-    var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
-    s = s.redIAdd(s);
-    // M = 3 * XX + a
-    var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);
-    // T = M^2 - 2 * S
-    var t = m.redSqr().redISub(s).redISub(s);
-    // X3 = T
-    nx = t;
-    // Y3 = M * (S - T) - 8 * YYYY
-    var yyyy8 = yyyy.redIAdd(yyyy);
-    yyyy8 = yyyy8.redIAdd(yyyy8);
-    yyyy8 = yyyy8.redIAdd(yyyy8);
-    ny = m.redMul(s.redISub(t)).redISub(yyyy8);
-    // Z3 = 2 * Y1
-    nz = this.y.redAdd(this.y);
-  } else {
-    // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b
-    // 3M + 5S
-
-    // delta = Z1^2
-    var delta = this.z.redSqr();
-    // gamma = Y1^2
-    var gamma = this.y.redSqr();
-    // beta = X1 * gamma
-    var beta = this.x.redMul(gamma);
-    // alpha = 3 * (X1 - delta) * (X1 + delta)
-    var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));
-    alpha = alpha.redAdd(alpha).redIAdd(alpha);
-    // X3 = alpha^2 - 8 * beta
-    var beta4 = beta.redIAdd(beta);
-    beta4 = beta4.redIAdd(beta4);
-    var beta8 = beta4.redAdd(beta4);
-    nx = alpha.redSqr().redISub(beta8);
-    // Z3 = (Y1 + Z1)^2 - gamma - delta
-    nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);
-    // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2
-    var ggamma8 = gamma.redSqr();
-    ggamma8 = ggamma8.redIAdd(ggamma8);
-    ggamma8 = ggamma8.redIAdd(ggamma8);
-    ggamma8 = ggamma8.redIAdd(ggamma8);
-    ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);
-  }
-
-  return this.curve.jpoint(nx, ny, nz);
-};
-
-JPoint.prototype._dbl = function _dbl() {
-  var a = this.curve.a;
-
-  // 4M + 6S + 10A
-  var jx = this.x;
-  var jy = this.y;
-  var jz = this.z;
-  var jz4 = jz.redSqr().redSqr();
-
-  var jx2 = jx.redSqr();
-  var jy2 = jy.redSqr();
-
-  var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
-
-  var jxd4 = jx.redAdd(jx);
-  jxd4 = jxd4.redIAdd(jxd4);
-  var t1 = jxd4.redMul(jy2);
-  var nx = c.redSqr().redISub(t1.redAdd(t1));
-  var t2 = t1.redISub(nx);
-
-  var jyd8 = jy2.redSqr();
-  jyd8 = jyd8.redIAdd(jyd8);
-  jyd8 = jyd8.redIAdd(jyd8);
-  jyd8 = jyd8.redIAdd(jyd8);
-  var ny = c.redMul(t2).redISub(jyd8);
-  var nz = jy.redAdd(jy).redMul(jz);
-
-  return this.curve.jpoint(nx, ny, nz);
-};
-
-JPoint.prototype.trpl = function trpl() {
-  if (!this.curve.zeroA)
-    return this.dbl().add(this);
-
-  // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl
-  // 5M + 10S + ...
-
-  // XX = X1^2
-  var xx = this.x.redSqr();
-  // YY = Y1^2
-  var yy = this.y.redSqr();
-  // ZZ = Z1^2
-  var zz = this.z.redSqr();
-  // YYYY = YY^2
-  var yyyy = yy.redSqr();
-  // M = 3 * XX + a * ZZ2; a = 0
-  var m = xx.redAdd(xx).redIAdd(xx);
-  // MM = M^2
-  var mm = m.redSqr();
-  // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM
-  var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
-  e = e.redIAdd(e);
-  e = e.redAdd(e).redIAdd(e);
-  e = e.redISub(mm);
-  // EE = E^2
-  var ee = e.redSqr();
-  // T = 16*YYYY
-  var t = yyyy.redIAdd(yyyy);
-  t = t.redIAdd(t);
-  t = t.redIAdd(t);
-  t = t.redIAdd(t);
-  // U = (M + E)^2 - MM - EE - T
-  var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);
-  // X3 = 4 * (X1 * EE - 4 * YY * U)
-  var yyu4 = yy.redMul(u);
-  yyu4 = yyu4.redIAdd(yyu4);
-  yyu4 = yyu4.redIAdd(yyu4);
-  var nx = this.x.redMul(ee).redISub(yyu4);
-  nx = nx.redIAdd(nx);
-  nx = nx.redIAdd(nx);
-  // Y3 = 8 * Y1 * (U * (T - U) - E * EE)
-  var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));
-  ny = ny.redIAdd(ny);
-  ny = ny.redIAdd(ny);
-  ny = ny.redIAdd(ny);
-  // Z3 = (Z1 + E)^2 - ZZ - EE
-  var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);
-
-  return this.curve.jpoint(nx, ny, nz);
-};
-
-JPoint.prototype.mul = function mul(k, kbase) {
-  k = new BN(k, kbase);
-
-  return this.curve._wnafMul(this, k);
-};
-
-JPoint.prototype.eq = function eq(p) {
-  if (p.type === 'affine')
-    return this.eq(p.toJ());
-
-  if (this === p)
-    return true;
-
-  // x1 * z2^2 == x2 * z1^2
-  var z2 = this.z.redSqr();
-  var pz2 = p.z.redSqr();
-  if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)
-    return false;
-
-  // y1 * z2^3 == y2 * z1^3
-  var z3 = z2.redMul(this.z);
-  var pz3 = pz2.redMul(p.z);
-  return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;
-};
-
-JPoint.prototype.eqXToP = function eqXToP(x) {
-  var zs = this.z.redSqr();
-  var rx = x.toRed(this.curve.red).redMul(zs);
-  if (this.x.cmp(rx) === 0)
-    return true;
-
-  var xc = x.clone();
-  var t = this.curve.redN.redMul(zs);
-  for (;;) {
-    xc.iadd(this.curve.n);
-    if (xc.cmp(this.curve.p) >= 0)
-      return false;
-
-    rx.redIAdd(t);
-    if (this.x.cmp(rx) === 0)
-      return true;
-  }
-};
-
-JPoint.prototype.inspect = function inspect() {
-  if (this.isInfinity())
-    return '<EC JPoint Infinity>';
-  return '<EC JPoint x: ' + this.x.toString(16, 2) +
-      ' y: ' + this.y.toString(16, 2) +
-      ' z: ' + this.z.toString(16, 2) + '>';
-};
-
-JPoint.prototype.isInfinity = function isInfinity() {
-  // XXX This code assumes that zero is always zero in red
-  return this.z.cmpn(0) === 0;
-};

+ 0 - 206
node_modules.bak/elliptic/lib/elliptic/curves.js

@@ -1,206 +0,0 @@
-'use strict';
-
-var curves = exports;
-
-var hash = require('hash.js');
-var curve = require('./curve');
-var utils = require('./utils');
-
-var assert = utils.assert;
-
-function PresetCurve(options) {
-  if (options.type === 'short')
-    this.curve = new curve.short(options);
-  else if (options.type === 'edwards')
-    this.curve = new curve.edwards(options);
-  else
-    this.curve = new curve.mont(options);
-  this.g = this.curve.g;
-  this.n = this.curve.n;
-  this.hash = options.hash;
-
-  assert(this.g.validate(), 'Invalid curve');
-  assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');
-}
-curves.PresetCurve = PresetCurve;
-
-function defineCurve(name, options) {
-  Object.defineProperty(curves, name, {
-    configurable: true,
-    enumerable: true,
-    get: function() {
-      var curve = new PresetCurve(options);
-      Object.defineProperty(curves, name, {
-        configurable: true,
-        enumerable: true,
-        value: curve,
-      });
-      return curve;
-    },
-  });
-}
-
-defineCurve('p192', {
-  type: 'short',
-  prime: 'p192',
-  p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',
-  a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',
-  b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',
-  n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',
-  hash: hash.sha256,
-  gRed: false,
-  g: [
-    '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',
-    '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',
-  ],
-});
-
-defineCurve('p224', {
-  type: 'short',
-  prime: 'p224',
-  p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',
-  a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',
-  b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',
-  n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',
-  hash: hash.sha256,
-  gRed: false,
-  g: [
-    'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',
-    'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',
-  ],
-});
-
-defineCurve('p256', {
-  type: 'short',
-  prime: null,
-  p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',
-  a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',
-  b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',
-  n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',
-  hash: hash.sha256,
-  gRed: false,
-  g: [
-    '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',
-    '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',
-  ],
-});
-
-defineCurve('p384', {
-  type: 'short',
-  prime: null,
-  p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'fffffffe ffffffff 00000000 00000000 ffffffff',
-  a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'fffffffe ffffffff 00000000 00000000 fffffffc',
-  b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +
-     '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',
-  n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +
-     'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',
-  hash: hash.sha384,
-  gRed: false,
-  g: [
-    'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +
-    '5502f25d bf55296c 3a545e38 72760ab7',
-    '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +
-    '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',
-  ],
-});
-
-defineCurve('p521', {
-  type: 'short',
-  prime: null,
-  p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'ffffffff ffffffff ffffffff ffffffff ffffffff',
-  a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'ffffffff ffffffff ffffffff ffffffff fffffffc',
-  b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +
-     '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +
-     '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',
-  n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
-     'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +
-     'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',
-  hash: hash.sha512,
-  gRed: false,
-  g: [
-    '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +
-    '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +
-    'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',
-    '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +
-    '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +
-    '3fad0761 353c7086 a272c240 88be9476 9fd16650',
-  ],
-});
-
-defineCurve('curve25519', {
-  type: 'mont',
-  prime: 'p25519',
-  p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',
-  a: '76d06',
-  b: '1',
-  n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',
-  hash: hash.sha256,
-  gRed: false,
-  g: [
-    '9',
-  ],
-});
-
-defineCurve('ed25519', {
-  type: 'edwards',
-  prime: 'p25519',
-  p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',
-  a: '-1',
-  c: '1',
-  // -121665 * (121666^(-1)) (mod P)
-  d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',
-  n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',
-  hash: hash.sha256,
-  gRed: false,
-  g: [
-    '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',
-
-    // 4/5
-    '6666666666666666666666666666666666666666666666666666666666666658',
-  ],
-});
-
-var pre;
-try {
-  pre = require('./precomputed/secp256k1');
-} catch (e) {
-  pre = undefined;
-}
-
-defineCurve('secp256k1', {
-  type: 'short',
-  prime: 'k256',
-  p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',
-  a: '0',
-  b: '7',
-  n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',
-  h: '1',
-  hash: hash.sha256,
-
-  // Precomputed endomorphism
-  beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',
-  lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',
-  basis: [
-    {
-      a: '3086d221a7d46bcde86c90e49284eb15',
-      b: '-e4437ed6010e88286f547fa90abfe4c3',
-    },
-    {
-      a: '114ca50f7a8e2f3f657c1108d9d44cfd8',
-      b: '3086d221a7d46bcde86c90e49284eb15',
-    },
-  ],
-
-  gRed: false,
-  g: [
-    '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
-    '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',
-    pre,
-  ],
-});

+ 0 - 243
node_modules.bak/elliptic/lib/elliptic/ec/index.js

@@ -1,243 +0,0 @@
-'use strict';
-
-var BN = require('bn.js');
-var HmacDRBG = require('hmac-drbg');
-var utils = require('../utils');
-var curves = require('../curves');
-var rand = require('brorand');
-var assert = utils.assert;
-
-var KeyPair = require('./key');
-var Signature = require('./signature');
-
-function EC(options) {
-  if (!(this instanceof EC))
-    return new EC(options);
-
-  // Shortcut `elliptic.ec(curve-name)`
-  if (typeof options === 'string') {
-    assert(Object.prototype.hasOwnProperty.call(curves, options),
-      'Unknown curve ' + options);
-
-    options = curves[options];
-  }
-
-  // Shortcut for `elliptic.ec(elliptic.curves.curveName)`
-  if (options instanceof curves.PresetCurve)
-    options = { curve: options };
-
-  this.curve = options.curve.curve;
-  this.n = this.curve.n;
-  this.nh = this.n.ushrn(1);
-  this.g = this.curve.g;
-
-  // Point on curve
-  this.g = options.curve.g;
-  this.g.precompute(options.curve.n.bitLength() + 1);
-
-  // Hash for function for DRBG
-  this.hash = options.hash || options.curve.hash;
-}
-module.exports = EC;
-
-EC.prototype.keyPair = function keyPair(options) {
-  return new KeyPair(this, options);
-};
-
-EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {
-  return KeyPair.fromPrivate(this, priv, enc);
-};
-
-EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {
-  return KeyPair.fromPublic(this, pub, enc);
-};
-
-EC.prototype.genKeyPair = function genKeyPair(options) {
-  if (!options)
-    options = {};
-
-  // Instantiate Hmac_DRBG
-  var drbg = new HmacDRBG({
-    hash: this.hash,
-    pers: options.pers,
-    persEnc: options.persEnc || 'utf8',
-    entropy: options.entropy || rand(this.hash.hmacStrength),
-    entropyEnc: options.entropy && options.entropyEnc || 'utf8',
-    nonce: this.n.toArray(),
-  });
-
-  var bytes = this.n.byteLength();
-  var ns2 = this.n.sub(new BN(2));
-  for (;;) {
-    var priv = new BN(drbg.generate(bytes));
-    if (priv.cmp(ns2) > 0)
-      continue;
-
-    priv.iaddn(1);
-    return this.keyFromPrivate(priv);
-  }
-};
-
-EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {
-  var delta = msg.byteLength() * 8 - this.n.bitLength();
-  if (delta > 0)
-    msg = msg.ushrn(delta);
-  if (!truncOnly && msg.cmp(this.n) >= 0)
-    return msg.sub(this.n);
-  else
-    return msg;
-};
-
-EC.prototype.sign = function sign(msg, key, enc, options) {
-  if (typeof enc === 'object') {
-    options = enc;
-    enc = null;
-  }
-  if (!options)
-    options = {};
-
-  key = this.keyFromPrivate(key, enc);
-  msg = this._truncateToN(new BN(msg, 16));
-
-  // Zero-extend key to provide enough entropy
-  var bytes = this.n.byteLength();
-  var bkey = key.getPrivate().toArray('be', bytes);
-
-  // Zero-extend nonce to have the same byte size as N
-  var nonce = msg.toArray('be', bytes);
-
-  // Instantiate Hmac_DRBG
-  var drbg = new HmacDRBG({
-    hash: this.hash,
-    entropy: bkey,
-    nonce: nonce,
-    pers: options.pers,
-    persEnc: options.persEnc || 'utf8',
-  });
-
-  // Number of bytes to generate
-  var ns1 = this.n.sub(new BN(1));
-
-  for (var iter = 0; ; iter++) {
-    var k = options.k ?
-      options.k(iter) :
-      new BN(drbg.generate(this.n.byteLength()));
-    k = this._truncateToN(k, true);
-    if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)
-      continue;
-
-    var kp = this.g.mul(k);
-    if (kp.isInfinity())
-      continue;
-
-    var kpX = kp.getX();
-    var r = kpX.umod(this.n);
-    if (r.cmpn(0) === 0)
-      continue;
-
-    var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));
-    s = s.umod(this.n);
-    if (s.cmpn(0) === 0)
-      continue;
-
-    var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |
-                        (kpX.cmp(r) !== 0 ? 2 : 0);
-
-    // Use complement of `s`, if it is > `n / 2`
-    if (options.canonical && s.cmp(this.nh) > 0) {
-      s = this.n.sub(s);
-      recoveryParam ^= 1;
-    }
-
-    return new Signature({ r: r, s: s, recoveryParam: recoveryParam });
-  }
-};
-
-EC.prototype.verify = function verify(msg, signature, key, enc) {
-  msg = this._truncateToN(new BN(msg, 16));
-  key = this.keyFromPublic(key, enc);
-  signature = new Signature(signature, 'hex');
-
-  // Perform primitive values validation
-  var r = signature.r;
-  var s = signature.s;
-  if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)
-    return false;
-  if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)
-    return false;
-
-  // Validate signature
-  var sinv = s.invm(this.n);
-  var u1 = sinv.mul(msg).umod(this.n);
-  var u2 = sinv.mul(r).umod(this.n);
-  var p;
-
-  if (!this.curve._maxwellTrick) {
-    p = this.g.mulAdd(u1, key.getPublic(), u2);
-    if (p.isInfinity())
-      return false;
-
-    return p.getX().umod(this.n).cmp(r) === 0;
-  }
-
-  // NOTE: Greg Maxwell's trick, inspired by:
-  // https://git.io/vad3K
-
-  p = this.g.jmulAdd(u1, key.getPublic(), u2);
-  if (p.isInfinity())
-    return false;
-
-  // Compare `p.x` of Jacobian point with `r`,
-  // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the
-  // inverse of `p.z^2`
-  return p.eqXToP(r);
-};
-
-EC.prototype.recoverPubKey = function(msg, signature, j, enc) {
-  assert((3 & j) === j, 'The recovery param is more than two bits');
-  signature = new Signature(signature, enc);
-
-  var n = this.n;
-  var e = new BN(msg);
-  var r = signature.r;
-  var s = signature.s;
-
-  // A set LSB signifies that the y-coordinate is odd
-  var isYOdd = j & 1;
-  var isSecondKey = j >> 1;
-  if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)
-    throw new Error('Unable to find sencond key candinate');
-
-  // 1.1. Let x = r + jn.
-  if (isSecondKey)
-    r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);
-  else
-    r = this.curve.pointFromX(r, isYOdd);
-
-  var rInv = signature.r.invm(n);
-  var s1 = n.sub(e).mul(rInv).umod(n);
-  var s2 = s.mul(rInv).umod(n);
-
-  // 1.6.1 Compute Q = r^-1 (sR -  eG)
-  //               Q = r^-1 (sR + -eG)
-  return this.g.mulAdd(s1, r, s2);
-};
-
-EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {
-  signature = new Signature(signature, enc);
-  if (signature.recoveryParam !== null)
-    return signature.recoveryParam;
-
-  for (var i = 0; i < 4; i++) {
-    var Qprime;
-    try {
-      Qprime = this.recoverPubKey(e, signature, i);
-    } catch (e) {
-      continue;
-    }
-
-    if (Qprime.eq(Q))
-      return i;
-  }
-  throw new Error('Unable to find valid recovery factor');
-};

+ 0 - 121
node_modules.bak/elliptic/lib/elliptic/ec/key.js

@@ -1,121 +0,0 @@
-'use strict';
-
-var BN = require('bn.js');
-var utils = require('../utils');
-var assert = utils.assert;
-
-function KeyPair(ec, options) {
-  this.ec = ec;
-  this.priv = null;
-  this.pub = null;
-
-  // KeyPair(ec, { priv: ..., pub: ... })
-  if (options.priv)
-    this._importPrivate(options.priv, options.privEnc);
-  if (options.pub)
-    this._importPublic(options.pub, options.pubEnc);
-}
-module.exports = KeyPair;
-
-KeyPair.fromPublic = function fromPublic(ec, pub, enc) {
-  if (pub instanceof KeyPair)
-    return pub;
-
-  return new KeyPair(ec, {
-    pub: pub,
-    pubEnc: enc,
-  });
-};
-
-KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {
-  if (priv instanceof KeyPair)
-    return priv;
-
-  return new KeyPair(ec, {
-    priv: priv,
-    privEnc: enc,
-  });
-};
-
-KeyPair.prototype.validate = function validate() {
-  var pub = this.getPublic();
-
-  if (pub.isInfinity())
-    return { result: false, reason: 'Invalid public key' };
-  if (!pub.validate())
-    return { result: false, reason: 'Public key is not a point' };
-  if (!pub.mul(this.ec.curve.n).isInfinity())
-    return { result: false, reason: 'Public key * N != O' };
-
-  return { result: true, reason: null };
-};
-
-KeyPair.prototype.getPublic = function getPublic(compact, enc) {
-  // compact is optional argument
-  if (typeof compact === 'string') {
-    enc = compact;
-    compact = null;
-  }
-
-  if (!this.pub)
-    this.pub = this.ec.g.mul(this.priv);
-
-  if (!enc)
-    return this.pub;
-
-  return this.pub.encode(enc, compact);
-};
-
-KeyPair.prototype.getPrivate = function getPrivate(enc) {
-  if (enc === 'hex')
-    return this.priv.toString(16, 2);
-  else
-    return this.priv;
-};
-
-KeyPair.prototype._importPrivate = function _importPrivate(key, enc) {
-  this.priv = new BN(key, enc || 16);
-
-  // Ensure that the priv won't be bigger than n, otherwise we may fail
-  // in fixed multiplication method
-  this.priv = this.priv.umod(this.ec.curve.n);
-};
-
-KeyPair.prototype._importPublic = function _importPublic(key, enc) {
-  if (key.x || key.y) {
-    // Montgomery points only have an `x` coordinate.
-    // Weierstrass/Edwards points on the other hand have both `x` and
-    // `y` coordinates.
-    if (this.ec.curve.type === 'mont') {
-      assert(key.x, 'Need x coordinate');
-    } else if (this.ec.curve.type === 'short' ||
-               this.ec.curve.type === 'edwards') {
-      assert(key.x && key.y, 'Need both x and y coordinate');
-    }
-    this.pub = this.ec.curve.point(key.x, key.y);
-    return;
-  }
-  this.pub = this.ec.curve.decodePoint(key, enc);
-};
-
-// ECDH
-KeyPair.prototype.derive = function derive(pub) {
-  if(!pub.validate()) {
-    assert(pub.validate(), 'public point not validated');
-  }
-  return pub.mul(this.priv).getX();
-};
-
-// ECDSA
-KeyPair.prototype.sign = function sign(msg, enc, options) {
-  return this.ec.sign(msg, this, enc, options);
-};
-
-KeyPair.prototype.verify = function verify(msg, signature) {
-  return this.ec.verify(msg, signature, this);
-};
-
-KeyPair.prototype.inspect = function inspect() {
-  return '<Key priv: ' + (this.priv && this.priv.toString(16, 2)) +
-         ' pub: ' + (this.pub && this.pub.inspect()) + ' >';
-};

+ 0 - 166
node_modules.bak/elliptic/lib/elliptic/ec/signature.js

@@ -1,166 +0,0 @@
-'use strict';
-
-var BN = require('bn.js');
-
-var utils = require('../utils');
-var assert = utils.assert;
-
-function Signature(options, enc) {
-  if (options instanceof Signature)
-    return options;
-
-  if (this._importDER(options, enc))
-    return;
-
-  assert(options.r && options.s, 'Signature without r or s');
-  this.r = new BN(options.r, 16);
-  this.s = new BN(options.s, 16);
-  if (options.recoveryParam === undefined)
-    this.recoveryParam = null;
-  else
-    this.recoveryParam = options.recoveryParam;
-}
-module.exports = Signature;
-
-function Position() {
-  this.place = 0;
-}
-
-function getLength(buf, p) {
-  var initial = buf[p.place++];
-  if (!(initial & 0x80)) {
-    return initial;
-  }
-  var octetLen = initial & 0xf;
-
-  // Indefinite length or overflow
-  if (octetLen === 0 || octetLen > 4) {
-    return false;
-  }
-
-  var val = 0;
-  for (var i = 0, off = p.place; i < octetLen; i++, off++) {
-    val <<= 8;
-    val |= buf[off];
-    val >>>= 0;
-  }
-
-  // Leading zeroes
-  if (val <= 0x7f) {
-    return false;
-  }
-
-  p.place = off;
-  return val;
-}
-
-function rmPadding(buf) {
-  var i = 0;
-  var len = buf.length - 1;
-  while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {
-    i++;
-  }
-  if (i === 0) {
-    return buf;
-  }
-  return buf.slice(i);
-}
-
-Signature.prototype._importDER = function _importDER(data, enc) {
-  data = utils.toArray(data, enc);
-  var p = new Position();
-  if (data[p.place++] !== 0x30) {
-    return false;
-  }
-  var len = getLength(data, p);
-  if (len === false) {
-    return false;
-  }
-  if ((len + p.place) !== data.length) {
-    return false;
-  }
-  if (data[p.place++] !== 0x02) {
-    return false;
-  }
-  var rlen = getLength(data, p);
-  if (rlen === false) {
-    return false;
-  }
-  var r = data.slice(p.place, rlen + p.place);
-  p.place += rlen;
-  if (data[p.place++] !== 0x02) {
-    return false;
-  }
-  var slen = getLength(data, p);
-  if (slen === false) {
-    return false;
-  }
-  if (data.length !== slen + p.place) {
-    return false;
-  }
-  var s = data.slice(p.place, slen + p.place);
-  if (r[0] === 0) {
-    if (r[1] & 0x80) {
-      r = r.slice(1);
-    } else {
-      // Leading zeroes
-      return false;
-    }
-  }
-  if (s[0] === 0) {
-    if (s[1] & 0x80) {
-      s = s.slice(1);
-    } else {
-      // Leading zeroes
-      return false;
-    }
-  }
-
-  this.r = new BN(r);
-  this.s = new BN(s);
-  this.recoveryParam = null;
-
-  return true;
-};
-
-function constructLength(arr, len) {
-  if (len < 0x80) {
-    arr.push(len);
-    return;
-  }
-  var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);
-  arr.push(octets | 0x80);
-  while (--octets) {
-    arr.push((len >>> (octets << 3)) & 0xff);
-  }
-  arr.push(len);
-}
-
-Signature.prototype.toDER = function toDER(enc) {
-  var r = this.r.toArray();
-  var s = this.s.toArray();
-
-  // Pad values
-  if (r[0] & 0x80)
-    r = [ 0 ].concat(r);
-  // Pad values
-  if (s[0] & 0x80)
-    s = [ 0 ].concat(s);
-
-  r = rmPadding(r);
-  s = rmPadding(s);
-
-  while (!s[0] && !(s[1] & 0x80)) {
-    s = s.slice(1);
-  }
-  var arr = [ 0x02 ];
-  constructLength(arr, r.length);
-  arr = arr.concat(r);
-  arr.push(0x02);
-  constructLength(arr, s.length);
-  var backHalf = arr.concat(s);
-  var res = [ 0x30 ];
-  constructLength(res, backHalf.length);
-  res = res.concat(backHalf);
-  return utils.encode(res, enc);
-};

+ 0 - 118
node_modules.bak/elliptic/lib/elliptic/eddsa/index.js

@@ -1,118 +0,0 @@
-'use strict';
-
-var hash = require('hash.js');
-var curves = require('../curves');
-var utils = require('../utils');
-var assert = utils.assert;
-var parseBytes = utils.parseBytes;
-var KeyPair = require('./key');
-var Signature = require('./signature');
-
-function EDDSA(curve) {
-  assert(curve === 'ed25519', 'only tested with ed25519 so far');
-
-  if (!(this instanceof EDDSA))
-    return new EDDSA(curve);
-
-  curve = curves[curve].curve;
-  this.curve = curve;
-  this.g = curve.g;
-  this.g.precompute(curve.n.bitLength() + 1);
-
-  this.pointClass = curve.point().constructor;
-  this.encodingLength = Math.ceil(curve.n.bitLength() / 8);
-  this.hash = hash.sha512;
-}
-
-module.exports = EDDSA;
-
-/**
-* @param {Array|String} message - message bytes
-* @param {Array|String|KeyPair} secret - secret bytes or a keypair
-* @returns {Signature} - signature
-*/
-EDDSA.prototype.sign = function sign(message, secret) {
-  message = parseBytes(message);
-  var key = this.keyFromSecret(secret);
-  var r = this.hashInt(key.messagePrefix(), message);
-  var R = this.g.mul(r);
-  var Rencoded = this.encodePoint(R);
-  var s_ = this.hashInt(Rencoded, key.pubBytes(), message)
-    .mul(key.priv());
-  var S = r.add(s_).umod(this.curve.n);
-  return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });
-};
-
-/**
-* @param {Array} message - message bytes
-* @param {Array|String|Signature} sig - sig bytes
-* @param {Array|String|Point|KeyPair} pub - public key
-* @returns {Boolean} - true if public key matches sig of message
-*/
-EDDSA.prototype.verify = function verify(message, sig, pub) {
-  message = parseBytes(message);
-  sig = this.makeSignature(sig);
-  var key = this.keyFromPublic(pub);
-  var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);
-  var SG = this.g.mul(sig.S());
-  var RplusAh = sig.R().add(key.pub().mul(h));
-  return RplusAh.eq(SG);
-};
-
-EDDSA.prototype.hashInt = function hashInt() {
-  var hash = this.hash();
-  for (var i = 0; i < arguments.length; i++)
-    hash.update(arguments[i]);
-  return utils.intFromLE(hash.digest()).umod(this.curve.n);
-};
-
-EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {
-  return KeyPair.fromPublic(this, pub);
-};
-
-EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {
-  return KeyPair.fromSecret(this, secret);
-};
-
-EDDSA.prototype.makeSignature = function makeSignature(sig) {
-  if (sig instanceof Signature)
-    return sig;
-  return new Signature(this, sig);
-};
-
-/**
-* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2
-*
-* EDDSA defines methods for encoding and decoding points and integers. These are
-* helper convenience methods, that pass along to utility functions implied
-* parameters.
-*
-*/
-EDDSA.prototype.encodePoint = function encodePoint(point) {
-  var enc = point.getY().toArray('le', this.encodingLength);
-  enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;
-  return enc;
-};
-
-EDDSA.prototype.decodePoint = function decodePoint(bytes) {
-  bytes = utils.parseBytes(bytes);
-
-  var lastIx = bytes.length - 1;
-  var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);
-  var xIsOdd = (bytes[lastIx] & 0x80) !== 0;
-
-  var y = utils.intFromLE(normed);
-  return this.curve.pointFromY(y, xIsOdd);
-};
-
-EDDSA.prototype.encodeInt = function encodeInt(num) {
-  return num.toArray('le', this.encodingLength);
-};
-
-EDDSA.prototype.decodeInt = function decodeInt(bytes) {
-  return utils.intFromLE(bytes);
-};
-
-EDDSA.prototype.isPoint = function isPoint(val) {
-  return val instanceof this.pointClass;
-};

+ 0 - 95
node_modules.bak/elliptic/lib/elliptic/eddsa/key.js

@@ -1,95 +0,0 @@
-'use strict';
-
-var utils = require('../utils');
-var assert = utils.assert;
-var parseBytes = utils.parseBytes;
-var cachedProperty = utils.cachedProperty;
-
-/**
-* @param {EDDSA} eddsa - instance
-* @param {Object} params - public/private key parameters
-*
-* @param {Array<Byte>} [params.secret] - secret seed bytes
-* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)
-* @param {Array<Byte>} [params.pub] - public key point encoded as bytes
-*
-*/
-function KeyPair(eddsa, params) {
-  this.eddsa = eddsa;
-  this._secret = parseBytes(params.secret);
-  if (eddsa.isPoint(params.pub))
-    this._pub = params.pub;
-  else
-    this._pubBytes = parseBytes(params.pub);
-}
-
-KeyPair.fromPublic = function fromPublic(eddsa, pub) {
-  if (pub instanceof KeyPair)
-    return pub;
-  return new KeyPair(eddsa, { pub: pub });
-};
-
-KeyPair.fromSecret = function fromSecret(eddsa, secret) {
-  if (secret instanceof KeyPair)
-    return secret;
-  return new KeyPair(eddsa, { secret: secret });
-};
-
-KeyPair.prototype.secret = function secret() {
-  return this._secret;
-};
-
-cachedProperty(KeyPair, 'pubBytes', function pubBytes() {
-  return this.eddsa.encodePoint(this.pub());
-});
-
-cachedProperty(KeyPair, 'pub', function pub() {
-  if (this._pubBytes)
-    return this.eddsa.decodePoint(this._pubBytes);
-  return this.eddsa.g.mul(this.priv());
-});
-
-cachedProperty(KeyPair, 'privBytes', function privBytes() {
-  var eddsa = this.eddsa;
-  var hash = this.hash();
-  var lastIx = eddsa.encodingLength - 1;
-
-  var a = hash.slice(0, eddsa.encodingLength);
-  a[0] &= 248;
-  a[lastIx] &= 127;
-  a[lastIx] |= 64;
-
-  return a;
-});
-
-cachedProperty(KeyPair, 'priv', function priv() {
-  return this.eddsa.decodeInt(this.privBytes());
-});
-
-cachedProperty(KeyPair, 'hash', function hash() {
-  return this.eddsa.hash().update(this.secret()).digest();
-});
-
-cachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {
-  return this.hash().slice(this.eddsa.encodingLength);
-});
-
-KeyPair.prototype.sign = function sign(message) {
-  assert(this._secret, 'KeyPair can only verify');
-  return this.eddsa.sign(message, this);
-};
-
-KeyPair.prototype.verify = function verify(message, sig) {
-  return this.eddsa.verify(message, sig, this);
-};
-
-KeyPair.prototype.getSecret = function getSecret(enc) {
-  assert(this._secret, 'KeyPair is public only');
-  return utils.encode(this.secret(), enc);
-};
-
-KeyPair.prototype.getPublic = function getPublic(enc) {
-  return utils.encode(this.pubBytes(), enc);
-};
-
-module.exports = KeyPair;

+ 0 - 65
node_modules.bak/elliptic/lib/elliptic/eddsa/signature.js

@@ -1,65 +0,0 @@
-'use strict';
-
-var BN = require('bn.js');
-var utils = require('../utils');
-var assert = utils.assert;
-var cachedProperty = utils.cachedProperty;
-var parseBytes = utils.parseBytes;
-
-/**
-* @param {EDDSA} eddsa - eddsa instance
-* @param {Array<Bytes>|Object} sig -
-* @param {Array<Bytes>|Point} [sig.R] - R point as Point or bytes
-* @param {Array<Bytes>|bn} [sig.S] - S scalar as bn or bytes
-* @param {Array<Bytes>} [sig.Rencoded] - R point encoded
-* @param {Array<Bytes>} [sig.Sencoded] - S scalar encoded
-*/
-function Signature(eddsa, sig) {
-  this.eddsa = eddsa;
-
-  if (typeof sig !== 'object')
-    sig = parseBytes(sig);
-
-  if (Array.isArray(sig)) {
-    sig = {
-      R: sig.slice(0, eddsa.encodingLength),
-      S: sig.slice(eddsa.encodingLength),
-    };
-  }
-
-  assert(sig.R && sig.S, 'Signature without R or S');
-
-  if (eddsa.isPoint(sig.R))
-    this._R = sig.R;
-  if (sig.S instanceof BN)
-    this._S = sig.S;
-
-  this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;
-  this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;
-}
-
-cachedProperty(Signature, 'S', function S() {
-  return this.eddsa.decodeInt(this.Sencoded());
-});
-
-cachedProperty(Signature, 'R', function R() {
-  return this.eddsa.decodePoint(this.Rencoded());
-});
-
-cachedProperty(Signature, 'Rencoded', function Rencoded() {
-  return this.eddsa.encodePoint(this.R());
-});
-
-cachedProperty(Signature, 'Sencoded', function Sencoded() {
-  return this.eddsa.encodeInt(this.S());
-});
-
-Signature.prototype.toBytes = function toBytes() {
-  return this.Rencoded().concat(this.Sencoded());
-};
-
-Signature.prototype.toHex = function toHex() {
-  return utils.encode(this.toBytes(), 'hex').toUpperCase();
-};
-
-module.exports = Signature;

+ 0 - 780
node_modules.bak/elliptic/lib/elliptic/precomputed/secp256k1.js

@@ -1,780 +0,0 @@
-module.exports = {
-  doubles: {
-    step: 4,
-    points: [
-      [
-        'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',
-        'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',
-      ],
-      [
-        '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',
-        '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',
-      ],
-      [
-        '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',
-        'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',
-      ],
-      [
-        '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',
-        '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',
-      ],
-      [
-        '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',
-        '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',
-      ],
-      [
-        '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',
-        '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',
-      ],
-      [
-        'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',
-        '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',
-      ],
-      [
-        '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',
-        'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',
-      ],
-      [
-        'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',
-        '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',
-      ],
-      [
-        'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',
-        'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',
-      ],
-      [
-        'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',
-        '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',
-      ],
-      [
-        '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',
-        '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',
-      ],
-      [
-        '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',
-        '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',
-      ],
-      [
-        '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',
-        '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',
-      ],
-      [
-        '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',
-        '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',
-      ],
-      [
-        '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',
-        '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',
-      ],
-      [
-        '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',
-        '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',
-      ],
-      [
-        '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',
-        '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',
-      ],
-      [
-        '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',
-        'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',
-      ],
-      [
-        'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',
-        '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',
-      ],
-      [
-        'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',
-        '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',
-      ],
-      [
-        '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',
-        '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',
-      ],
-      [
-        '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',
-        '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',
-      ],
-      [
-        'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',
-        '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',
-      ],
-      [
-        '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',
-        'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',
-      ],
-      [
-        'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',
-        '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',
-      ],
-      [
-        'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',
-        'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',
-      ],
-      [
-        'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',
-        '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',
-      ],
-      [
-        'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',
-        'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',
-      ],
-      [
-        'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',
-        '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',
-      ],
-      [
-        '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',
-        'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',
-      ],
-      [
-        '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',
-        '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',
-      ],
-      [
-        'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',
-        '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',
-      ],
-      [
-        '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',
-        'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',
-      ],
-      [
-        'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',
-        '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',
-      ],
-      [
-        'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',
-        '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',
-      ],
-      [
-        'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',
-        'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',
-      ],
-      [
-        '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',
-        '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',
-      ],
-      [
-        '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',
-        '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',
-      ],
-      [
-        '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',
-        'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',
-      ],
-      [
-        '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',
-        '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',
-      ],
-      [
-        'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',
-        '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',
-      ],
-      [
-        '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',
-        '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',
-      ],
-      [
-        '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',
-        'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',
-      ],
-      [
-        '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',
-        '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',
-      ],
-      [
-        'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',
-        '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',
-      ],
-      [
-        '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',
-        'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',
-      ],
-      [
-        'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',
-        'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',
-      ],
-      [
-        'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',
-        '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',
-      ],
-      [
-        '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',
-        'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',
-      ],
-      [
-        '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',
-        'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',
-      ],
-      [
-        'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',
-        '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',
-      ],
-      [
-        'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',
-        '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',
-      ],
-      [
-        'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',
-        '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',
-      ],
-      [
-        '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',
-        'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',
-      ],
-      [
-        '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',
-        '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',
-      ],
-      [
-        'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',
-        'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',
-      ],
-      [
-        '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',
-        'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',
-      ],
-      [
-        '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',
-        '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',
-      ],
-      [
-        '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',
-        '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',
-      ],
-      [
-        'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',
-        'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',
-      ],
-      [
-        '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',
-        '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',
-      ],
-      [
-        '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',
-        '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',
-      ],
-      [
-        'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',
-        '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',
-      ],
-      [
-        'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',
-        'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',
-      ],
-    ],
-  },
-  naf: {
-    wnd: 7,
-    points: [
-      [
-        'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',
-        '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',
-      ],
-      [
-        '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',
-        'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',
-      ],
-      [
-        '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',
-        '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',
-      ],
-      [
-        'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',
-        'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',
-      ],
-      [
-        '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',
-        'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',
-      ],
-      [
-        'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',
-        'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',
-      ],
-      [
-        'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',
-        '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',
-      ],
-      [
-        'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',
-        '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',
-      ],
-      [
-        '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',
-        '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',
-      ],
-      [
-        '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',
-        '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',
-      ],
-      [
-        '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',
-        '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',
-      ],
-      [
-        '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',
-        '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',
-      ],
-      [
-        'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',
-        'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',
-      ],
-      [
-        'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',
-        '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',
-      ],
-      [
-        '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',
-        'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',
-      ],
-      [
-        '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',
-        'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',
-      ],
-      [
-        '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',
-        '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',
-      ],
-      [
-        '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',
-        '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',
-      ],
-      [
-        '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',
-        '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',
-      ],
-      [
-        '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',
-        'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',
-      ],
-      [
-        'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',
-        'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',
-      ],
-      [
-        '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',
-        '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',
-      ],
-      [
-        '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',
-        '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',
-      ],
-      [
-        'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',
-        'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',
-      ],
-      [
-        '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',
-        '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',
-      ],
-      [
-        'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',
-        'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',
-      ],
-      [
-        'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',
-        'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',
-      ],
-      [
-        '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',
-        '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',
-      ],
-      [
-        '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',
-        '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',
-      ],
-      [
-        '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',
-        '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',
-      ],
-      [
-        'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',
-        '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',
-      ],
-      [
-        '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',
-        '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',
-      ],
-      [
-        'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',
-        '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',
-      ],
-      [
-        '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',
-        'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',
-      ],
-      [
-        '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',
-        'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',
-      ],
-      [
-        'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',
-        'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',
-      ],
-      [
-        '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',
-        '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',
-      ],
-      [
-        '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',
-        'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',
-      ],
-      [
-        'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',
-        'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',
-      ],
-      [
-        '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',
-        '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',
-      ],
-      [
-        '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',
-        'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',
-      ],
-      [
-        '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',
-        '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',
-      ],
-      [
-        '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',
-        'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',
-      ],
-      [
-        'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',
-        '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',
-      ],
-      [
-        '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',
-        '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',
-      ],
-      [
-        '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',
-        'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',
-      ],
-      [
-        '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',
-        'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',
-      ],
-      [
-        'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',
-        'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',
-      ],
-      [
-        'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',
-        'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',
-      ],
-      [
-        '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',
-        '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',
-      ],
-      [
-        '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',
-        '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',
-      ],
-      [
-        'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',
-        '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',
-      ],
-      [
-        'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',
-        'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',
-      ],
-      [
-        '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',
-        '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',
-      ],
-      [
-        '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',
-        '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',
-      ],
-      [
-        'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',
-        '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',
-      ],
-      [
-        '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',
-        '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',
-      ],
-      [
-        'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',
-        'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',
-      ],
-      [
-        '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',
-        'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',
-      ],
-      [
-        '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',
-        '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',
-      ],
-      [
-        'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',
-        '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',
-      ],
-      [
-        'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',
-        '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',
-      ],
-      [
-        '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',
-        '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',
-      ],
-      [
-        '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',
-        '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',
-      ],
-      [
-        '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',
-        'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',
-      ],
-      [
-        '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',
-        'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',
-      ],
-      [
-        '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',
-        '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',
-      ],
-      [
-        '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',
-        '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',
-      ],
-      [
-        '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',
-        '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',
-      ],
-      [
-        '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',
-        'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',
-      ],
-      [
-        'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',
-        'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',
-      ],
-      [
-        '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',
-        'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',
-      ],
-      [
-        'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',
-        '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',
-      ],
-      [
-        'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',
-        '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',
-      ],
-      [
-        'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',
-        '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',
-      ],
-      [
-        'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',
-        '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',
-      ],
-      [
-        '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',
-        'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',
-      ],
-      [
-        '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',
-        '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',
-      ],
-      [
-        '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',
-        'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',
-      ],
-      [
-        'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',
-        'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',
-      ],
-      [
-        'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',
-        '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',
-      ],
-      [
-        'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',
-        'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',
-      ],
-      [
-        'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',
-        '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',
-      ],
-      [
-        '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',
-        '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',
-      ],
-      [
-        'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',
-        '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',
-      ],
-      [
-        'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',
-        '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',
-      ],
-      [
-        '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',
-        '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',
-      ],
-      [
-        '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',
-        'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',
-      ],
-      [
-        'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',
-        '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',
-      ],
-      [
-        'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',
-        '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',
-      ],
-      [
-        'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',
-        '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',
-      ],
-      [
-        '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',
-        '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',
-      ],
-      [
-        'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',
-        'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',
-      ],
-      [
-        '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',
-        'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',
-      ],
-      [
-        'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',
-        'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',
-      ],
-      [
-        'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',
-        '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',
-      ],
-      [
-        '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',
-        'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',
-      ],
-      [
-        'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',
-        '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',
-      ],
-      [
-        'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',
-        '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',
-      ],
-      [
-        'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',
-        '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',
-      ],
-      [
-        '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',
-        'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',
-      ],
-      [
-        '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',
-        'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',
-      ],
-      [
-        'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',
-        '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',
-      ],
-      [
-        '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',
-        'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',
-      ],
-      [
-        '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',
-        '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',
-      ],
-      [
-        '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',
-        'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',
-      ],
-      [
-        'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',
-        'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',
-      ],
-      [
-        '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',
-        'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',
-      ],
-      [
-        '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',
-        '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',
-      ],
-      [
-        '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',
-        'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',
-      ],
-      [
-        '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',
-        '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',
-      ],
-      [
-        'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',
-        'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',
-      ],
-      [
-        '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',
-        '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',
-      ],
-      [
-        'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',
-        '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',
-      ],
-      [
-        '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',
-        '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',
-      ],
-      [
-        'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',
-        'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',
-      ],
-      [
-        'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',
-        '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',
-      ],
-      [
-        'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',
-        'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',
-      ],
-      [
-        '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',
-        'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',
-      ],
-      [
-        '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',
-        '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',
-      ],
-      [
-        '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',
-        'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',
-      ],
-      [
-        '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',
-        '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',
-      ],
-      [
-        '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',
-        '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',
-      ],
-      [
-        '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',
-        'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',
-      ],
-      [
-        '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',
-        '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',
-      ],
-      [
-        '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',
-        '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',
-      ],
-      [
-        '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',
-        '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',
-      ],
-    ],
-  },
-};

+ 0 - 119
node_modules.bak/elliptic/lib/elliptic/utils.js

@@ -1,119 +0,0 @@
-'use strict';
-
-var utils = exports;
-var BN = require('bn.js');
-var minAssert = require('minimalistic-assert');
-var minUtils = require('minimalistic-crypto-utils');
-
-utils.assert = minAssert;
-utils.toArray = minUtils.toArray;
-utils.zero2 = minUtils.zero2;
-utils.toHex = minUtils.toHex;
-utils.encode = minUtils.encode;
-
-// Represent num in a w-NAF form
-function getNAF(num, w, bits) {
-  var naf = new Array(Math.max(num.bitLength(), bits) + 1);
-  naf.fill(0);
-
-  var ws = 1 << (w + 1);
-  var k = num.clone();
-
-  for (var i = 0; i < naf.length; i++) {
-    var z;
-    var mod = k.andln(ws - 1);
-    if (k.isOdd()) {
-      if (mod > (ws >> 1) - 1)
-        z = (ws >> 1) - mod;
-      else
-        z = mod;
-      k.isubn(z);
-    } else {
-      z = 0;
-    }
-
-    naf[i] = z;
-    k.iushrn(1);
-  }
-
-  return naf;
-}
-utils.getNAF = getNAF;
-
-// Represent k1, k2 in a Joint Sparse Form
-function getJSF(k1, k2) {
-  var jsf = [
-    [],
-    [],
-  ];
-
-  k1 = k1.clone();
-  k2 = k2.clone();
-  var d1 = 0;
-  var d2 = 0;
-  var m8;
-  while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {
-    // First phase
-    var m14 = (k1.andln(3) + d1) & 3;
-    var m24 = (k2.andln(3) + d2) & 3;
-    if (m14 === 3)
-      m14 = -1;
-    if (m24 === 3)
-      m24 = -1;
-    var u1;
-    if ((m14 & 1) === 0) {
-      u1 = 0;
-    } else {
-      m8 = (k1.andln(7) + d1) & 7;
-      if ((m8 === 3 || m8 === 5) && m24 === 2)
-        u1 = -m14;
-      else
-        u1 = m14;
-    }
-    jsf[0].push(u1);
-
-    var u2;
-    if ((m24 & 1) === 0) {
-      u2 = 0;
-    } else {
-      m8 = (k2.andln(7) + d2) & 7;
-      if ((m8 === 3 || m8 === 5) && m14 === 2)
-        u2 = -m24;
-      else
-        u2 = m24;
-    }
-    jsf[1].push(u2);
-
-    // Second phase
-    if (2 * d1 === u1 + 1)
-      d1 = 1 - d1;
-    if (2 * d2 === u2 + 1)
-      d2 = 1 - d2;
-    k1.iushrn(1);
-    k2.iushrn(1);
-  }
-
-  return jsf;
-}
-utils.getJSF = getJSF;
-
-function cachedProperty(obj, name, computer) {
-  var key = '_' + name;
-  obj.prototype[name] = function cachedProperty() {
-    return this[key] !== undefined ? this[key] :
-      this[key] = computer.call(this);
-  };
-}
-utils.cachedProperty = cachedProperty;
-
-function parseBytes(bytes) {
-  return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :
-    bytes;
-}
-utils.parseBytes = parseBytes;
-
-function intFromLE(bytes) {
-  return new BN(bytes, 'hex', 'le');
-}
-utils.intFromLE = intFromLE;
-

+ 0 - 85
node_modules.bak/elliptic/package.json

@@ -1,85 +0,0 @@
-{
-  "_from": "elliptic@^6.5.3",
-  "_id": "elliptic@6.5.4",
-  "_inBundle": false,
-  "_integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=",
-  "_location": "/elliptic",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "elliptic@^6.5.3",
-    "name": "elliptic",
-    "escapedName": "elliptic",
-    "rawSpec": "^6.5.3",
-    "saveSpec": null,
-    "fetchSpec": "^6.5.3"
-  },
-  "_requiredBy": [
-    "/browserify-sign",
-    "/create-ecdh"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz",
-  "_shasum": "da37cebd31e79a1367e941b592ed1fbebd58abbb",
-  "_spec": "elliptic@^6.5.3",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\browserify-sign",
-  "author": {
-    "name": "Fedor Indutny",
-    "email": "fedor@indutny.com"
-  },
-  "bugs": {
-    "url": "https://github.com/indutny/elliptic/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {
-    "bn.js": "^4.11.9",
-    "brorand": "^1.1.0",
-    "hash.js": "^1.0.0",
-    "hmac-drbg": "^1.0.1",
-    "inherits": "^2.0.4",
-    "minimalistic-assert": "^1.0.1",
-    "minimalistic-crypto-utils": "^1.0.1"
-  },
-  "deprecated": false,
-  "description": "EC cryptography",
-  "devDependencies": {
-    "brfs": "^2.0.2",
-    "coveralls": "^3.1.0",
-    "eslint": "^7.6.0",
-    "grunt": "^1.2.1",
-    "grunt-browserify": "^5.3.0",
-    "grunt-cli": "^1.3.2",
-    "grunt-contrib-connect": "^3.0.0",
-    "grunt-contrib-copy": "^1.0.0",
-    "grunt-contrib-uglify": "^5.0.0",
-    "grunt-mocha-istanbul": "^5.0.2",
-    "grunt-saucelabs": "^9.0.1",
-    "istanbul": "^0.4.5",
-    "mocha": "^8.0.1"
-  },
-  "files": [
-    "lib"
-  ],
-  "homepage": "https://github.com/indutny/elliptic",
-  "keywords": [
-    "EC",
-    "Elliptic",
-    "curve",
-    "Cryptography"
-  ],
-  "license": "MIT",
-  "main": "lib/elliptic.js",
-  "name": "elliptic",
-  "repository": {
-    "type": "git",
-    "url": "git+ssh://git@github.com/indutny/elliptic.git"
-  },
-  "scripts": {
-    "lint": "eslint lib test",
-    "lint:fix": "npm run lint -- --fix",
-    "test": "npm run lint && npm run unit",
-    "unit": "istanbul test _mocha --reporter=spec test/index.js",
-    "version": "grunt dist && git add dist/"
-  },
-  "version": "6.5.4"
-}

+ 0 - 20
node_modules.bak/emoji-regex/LICENSE-MIT.txt

@@ -1,20 +0,0 @@
-Copyright Mathias Bynens <https://mathiasbynens.be/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 73
node_modules.bak/emoji-regex/README.md

@@ -1,73 +0,0 @@
-# emoji-regex [![Build status](https://travis-ci.org/mathiasbynens/emoji-regex.svg?branch=master)](https://travis-ci.org/mathiasbynens/emoji-regex)
-
-_emoji-regex_ offers a regular expression to match all emoji symbols (including textual representations of emoji) as per the Unicode Standard.
-
-This repository contains a script that generates this regular expression based on [the data from Unicode Technical Report #51](https://github.com/mathiasbynens/unicode-tr51). Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.
-
-## Installation
-
-Via [npm](https://www.npmjs.com/):
-
-```bash
-npm install emoji-regex
-```
-
-In [Node.js](https://nodejs.org/):
-
-```js
-const emojiRegex = require('emoji-regex');
-// Note: because the regular expression has the global flag set, this module
-// exports a function that returns the regex rather than exporting the regular
-// expression itself, to make it impossible to (accidentally) mutate the
-// original regular expression.
-
-const text = `
-\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
-\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
-\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
-\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
-`;
-
-const regex = emojiRegex();
-let match;
-while (match = regex.exec(text)) {
-  const emoji = match[0];
-  console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
-}
-```
-
-Console output:
-
-```
-Matched sequence ⌚ — code points: 1
-Matched sequence ⌚ — code points: 1
-Matched sequence ↔️ — code points: 2
-Matched sequence ↔️ — code points: 2
-Matched sequence 👩 — code points: 1
-Matched sequence 👩 — code points: 1
-Matched sequence 👩🏿 — code points: 2
-Matched sequence 👩🏿 — code points: 2
-```
-
-To match emoji in their textual representation as well (i.e. emoji that are not `Emoji_Presentation` symbols and that aren’t forced to render as emoji by a variation selector), `require` the other regex:
-
-```js
-const emojiRegex = require('emoji-regex/text.js');
-```
-
-Additionally, in environments which support ES2015 Unicode escapes, you may `require` ES2015-style versions of the regexes:
-
-```js
-const emojiRegex = require('emoji-regex/es2015/index.js');
-const emojiRegexText = require('emoji-regex/es2015/text.js');
-```
-
-## Author
-
-| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
-|---|
-| [Mathias Bynens](https://mathiasbynens.be/) |
-
-## License
-
-_emoji-regex_ is available under the [MIT](https://mths.be/mit) license.

File diff suppressed because it is too large
+ 0 - 6
node_modules.bak/emoji-regex/es2015/index.js


File diff suppressed because it is too large
+ 0 - 6
node_modules.bak/emoji-regex/es2015/text.js


+ 0 - 5
node_modules.bak/emoji-regex/index.d.ts

@@ -1,5 +0,0 @@
-declare module 'emoji-regex' {
-    function emojiRegex(): RegExp;
-
-    export default emojiRegex;
-}

File diff suppressed because it is too large
+ 0 - 6
node_modules.bak/emoji-regex/index.js


+ 0 - 78
node_modules.bak/emoji-regex/package.json

@@ -1,78 +0,0 @@
-{
-  "_from": "emoji-regex@^7.0.1",
-  "_id": "emoji-regex@7.0.3",
-  "_inBundle": false,
-  "_integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
-  "_location": "/emoji-regex",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "emoji-regex@^7.0.1",
-    "name": "emoji-regex",
-    "escapedName": "emoji-regex",
-    "rawSpec": "^7.0.1",
-    "saveSpec": null,
-    "fetchSpec": "^7.0.1"
-  },
-  "_requiredBy": [
-    "/string-width"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz",
-  "_shasum": "933a04052860c85e83c122479c4748a8e4c72156",
-  "_spec": "emoji-regex@^7.0.1",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\string-width",
-  "author": {
-    "name": "Mathias Bynens",
-    "url": "https://mathiasbynens.be/"
-  },
-  "bugs": {
-    "url": "https://github.com/mathiasbynens/emoji-regex/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "A regular expression to match all Emoji-only symbols as per the Unicode Standard.",
-  "devDependencies": {
-    "@babel/cli": "^7.0.0",
-    "@babel/core": "^7.0.0",
-    "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
-    "@babel/preset-env": "^7.0.0",
-    "mocha": "^5.2.0",
-    "regexgen": "^1.3.0",
-    "unicode-11.0.0": "^0.7.7",
-    "unicode-tr51": "^9.0.1"
-  },
-  "files": [
-    "LICENSE-MIT.txt",
-    "index.js",
-    "index.d.ts",
-    "text.js",
-    "es2015/index.js",
-    "es2015/text.js"
-  ],
-  "homepage": "https://mths.be/emoji-regex",
-  "keywords": [
-    "unicode",
-    "regex",
-    "regexp",
-    "regular expressions",
-    "code points",
-    "symbols",
-    "characters",
-    "emoji"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "emoji-regex",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/mathiasbynens/emoji-regex.git"
-  },
-  "scripts": {
-    "build": "rm -rf -- es2015; babel src -d .; NODE_ENV=es2015 babel src -d ./es2015; node script/inject-sequences.js",
-    "test": "mocha",
-    "test:watch": "npm run test -- --watch"
-  },
-  "types": "index.d.ts",
-  "version": "7.0.3"
-}

File diff suppressed because it is too large
+ 0 - 6
node_modules.bak/emoji-regex/text.js


+ 0 - 85
node_modules.bak/emojis-list/CHANGELOG.md

@@ -1,85 +0,0 @@
-<a name="3.0.0"></a>
-# 3.0.0 (2019-05-12)
-
-* build: bye bower ([4acc7c0](https://github.com/kikobeats/emojis-list/commit/4acc7c0))
-* build: remove gulp and bower ([12c83f3](https://github.com/kikobeats/emojis-list/commit/12c83f3))
-* build: update meta ([de14b12](https://github.com/kikobeats/emojis-list/commit/de14b12))
-* moar emojis ([b4a153f](https://github.com/kikobeats/emojis-list/commit/b4a153f))
-* chore: drop support for Node.js 0.10 ([20ed4f1](https://github.com/kikobeats/emojis-list/commit/20ed4f1))
-
-
-### BREAKING CHANGE
-
-* This module no longer supports Node.js 0.10
-
-
-<a name="2.1.0"></a>
-# 2.1.0 (2016-10-03)
-
-* Fetch new emoji ([7dbe84d](https://github.com/kikobeats/emojis-list/commit/7dbe84d))
-
-
-
-<a name="2.0.1"></a>
-## 2.0.1 (2016-05-12)
-
-* Fix typo ([3808909](https://github.com/kikobeats/emojis-list/commit/3808909))
-
-
-
-<a name="2.0.0"></a>
-# 2.0.0 (2016-05-12)
-
-* Add update script ([f846dd6](https://github.com/kikobeats/emojis-list/commit/f846dd6))
-* Block dependencies in last version ([1d9e0a5](https://github.com/kikobeats/emojis-list/commit/1d9e0a5))
-* Extract main file name ([9ffe7bb](https://github.com/kikobeats/emojis-list/commit/9ffe7bb))
-* Remove unnecessary files ([4c34729](https://github.com/kikobeats/emojis-list/commit/4c34729))
-* Update docs, special webpack setup is not necessary ([c4aefe9](https://github.com/kikobeats/emojis-list/commit/c4aefe9))
-* Update example ([1e2ae03](https://github.com/kikobeats/emojis-list/commit/1e2ae03))
-* Update how to generate emojis array ([b56bad9](https://github.com/kikobeats/emojis-list/commit/b56bad9))
-* Update main file based in the new interface ([996fccb](https://github.com/kikobeats/emojis-list/commit/996fccb))
-
-
-
-<a name="1.0.3"></a>
-## 1.0.3 (2016-05-12)
-
-* Add standard as linter ([5e939d6](https://github.com/kikobeats/emojis-list/commit/5e939d6))
-* Change interface ([16bc0c0](https://github.com/kikobeats/emojis-list/commit/16bc0c0))
-* Generate emoji file ([fbcf8e9](https://github.com/kikobeats/emojis-list/commit/fbcf8e9))
-* Remove unnecessary special doc ([2b12bec](https://github.com/kikobeats/emojis-list/commit/2b12bec))
-* chore(package): update browserify to version 13.0.1 ([e2c98bf](https://github.com/kikobeats/emojis-list/commit/e2c98bf))
-* chore(package): update gulp-header to version 1.8.1 ([28de793](https://github.com/kikobeats/emojis-list/commit/28de793))
-
-
-
-<a name="1.0.2"></a>
-## 1.0.2 (2016-05-05)
-
-* fixed #2 ([9a6abe7](https://github.com/kikobeats/emojis-list/commit/9a6abe7)), closes [#2](https://github.com/kikobeats/emojis-list/issues/2)
-* Fomar using standard ([5202f9f](https://github.com/kikobeats/emojis-list/commit/5202f9f))
-* Update badge ([53fad9b](https://github.com/kikobeats/emojis-list/commit/53fad9b))
-
-
-
-<a name="1.0.1"></a>
-## 1.0.1 (2016-04-13)
-
-* lock versions ([4a5d82e](https://github.com/kikobeats/emojis-list/commit/4a5d82e))
-* setup devDependencies ([d1de0fc](https://github.com/kikobeats/emojis-list/commit/d1de0fc))
-* update bumped ([9941038](https://github.com/kikobeats/emojis-list/commit/9941038))
-* Update package.json ([6c14b74](https://github.com/kikobeats/emojis-list/commit/6c14b74))
-* Update README.md ([1d9beeb](https://github.com/kikobeats/emojis-list/commit/1d9beeb))
-* Update README.md ([73f215e](https://github.com/kikobeats/emojis-list/commit/73f215e))
-* Update tests ([a94f7dc](https://github.com/kikobeats/emojis-list/commit/a94f7dc))
-
-
-
-<a name="1.0.0"></a>
-# 1.0.0 (2015-05-12)
-
-* first commit ([a65b79d](https://github.com/kikobeats/emojis-list/commit/a65b79d))
-* updated ([9f0564c](https://github.com/kikobeats/emojis-list/commit/9f0564c))
-
-
-

+ 0 - 9
node_modules.bak/emojis-list/LICENSE.md

@@ -1,9 +0,0 @@
-The MIT License (MIT)
-
-Copyright © 2015 Kiko Beats
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 36
node_modules.bak/emojis-list/README.md

@@ -1,36 +0,0 @@
-# emojis-list
-
-[![Dependency status](http://img.shields.io/david/Kikobeats/emojis-list.svg?style=flat-square)](https://david-dm.org/Kikobeats/emojis-list)
-[![Dev Dependencies Status](http://img.shields.io/david/dev/Kikobeats/emojis-list.svg?style=flat-square)](https://david-dm.org/Kikobeats/emojis-list#info=devDependencies)
-[![NPM Status](http://img.shields.io/npm/dm/emojis-list.svg?style=flat-square)](https://www.npmjs.org/package/emojis-list)
-[![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://paypal.me/kikobeats)
-
-> Complete list of standard Unicode Hex Character Code that represent emojis.
-
-**NOTE**: The lists is related with the Unicode Hex Character Code. The representation of the emoji depend of the system. Will be possible that the system don't have all the representations.
-
-## Install
-
-```bash
-npm install emojis-list --save
-```
-
-## Usage
-
-```js
-const emojis = require('emojis-list')
-console.log(emojis[0])
-// => 🀄
-```
-
-## Related
-
-* [emojis-unicode](https://github.com/Kikobeats/emojis-unicode) – Complete list of standard Unicode codes that represent emojis.
-* [emojis-keywords](https://github.com/Kikobeats/emojis-keywords) – Complete list of am emoji shortcuts.
-* [is-emoji-keyword](https://github.com/Kikobeats/is-emoji-keyword) – Check if a word is a emoji shortcut.
-* [is-standard-emoji](https://github.com/kikobeats/is-standard-emoji) – Simply way to check if a emoji is a standard emoji.
-* [trim-emoji](https://github.com/Kikobeats/trim-emoji) – Deletes ':' from the begin and the end of an emoji shortcut.
-
-## License
-
-MIT © [Kiko Beats](http://www.kikobeats.com)

File diff suppressed because it is too large
+ 0 - 3077
node_modules.bak/emojis-list/index.js


+ 0 - 70
node_modules.bak/emojis-list/package.json

@@ -1,70 +0,0 @@
-{
-  "_from": "emojis-list@^3.0.0",
-  "_id": "emojis-list@3.0.0",
-  "_inBundle": false,
-  "_integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
-  "_location": "/emojis-list",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "emojis-list@^3.0.0",
-    "name": "emojis-list",
-    "escapedName": "emojis-list",
-    "rawSpec": "^3.0.0",
-    "saveSpec": null,
-    "fetchSpec": "^3.0.0"
-  },
-  "_requiredBy": [
-    "/loader-utils"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
-  "_shasum": "5570662046ad29e2e916e71aae260abdff4f6a78",
-  "_spec": "emojis-list@^3.0.0",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\loader-utils",
-  "author": {
-    "name": "Kiko Beats",
-    "email": "josefrancisco.verdu@gmail.com",
-    "url": "https://github.com/Kikobeats"
-  },
-  "bugs": {
-    "url": "https://github.com/Kikobeats/emojis-list/issues"
-  },
-  "bundleDependencies": false,
-  "deprecated": false,
-  "description": "Complete list of standard emojis.",
-  "devDependencies": {
-    "acho": "latest",
-    "browserify": "latest",
-    "cheerio": "latest",
-    "got": ">=5 <6",
-    "standard": "latest"
-  },
-  "engines": {
-    "node": ">= 4"
-  },
-  "files": [
-    "index.js"
-  ],
-  "homepage": "https://nidecoc.io/Kikobeats/emojis-list",
-  "keywords": [
-    "archive",
-    "complete",
-    "emoji",
-    "list",
-    "standard"
-  ],
-  "license": "MIT",
-  "main": "./index.js",
-  "name": "emojis-list",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/kikobeats/emojis-list.git"
-  },
-  "scripts": {
-    "pretest": "standard update.js",
-    "test": "echo 'YOLO'",
-    "update": "node update"
-  },
-  "version": "3.0.0"
-}

+ 0 - 14
node_modules.bak/encodeurl/HISTORY.md

@@ -1,14 +0,0 @@
-1.0.2 / 2018-01-21
-==================
-
-  * Fix encoding `%` as last character
-
-1.0.1 / 2016-06-09
-==================
-
-  * Fix encoding unpaired surrogates at start/end of string
-
-1.0.0 / 2016-06-08
-==================
-
-  * Initial release

+ 0 - 22
node_modules.bak/encodeurl/LICENSE

@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2016 Douglas Christopher Wilson
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 128
node_modules.bak/encodeurl/README.md

@@ -1,128 +0,0 @@
-# encodeurl
-
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
-
-Encode a URL to a percent-encoded form, excluding already-encoded sequences
-
-## Installation
-
-This is a [Node.js](https://nodejs.org/en/) module available through the
-[npm registry](https://www.npmjs.com/). Installation is done using the
-[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
-
-```sh
-$ npm install encodeurl
-```
-
-## API
-
-```js
-var encodeUrl = require('encodeurl')
-```
-
-### encodeUrl(url)
-
-Encode a URL to a percent-encoded form, excluding already-encoded sequences.
-
-This function will take an already-encoded URL and encode all the non-URL
-code points (as UTF-8 byte sequences). This function will not encode the
-"%" character unless it is not part of a valid sequence (`%20` will be
-left as-is, but `%foo` will be encoded as `%25foo`).
-
-This encode is meant to be "safe" and does not throw errors. It will try as
-hard as it can to properly encode the given URL, including replacing any raw,
-unpaired surrogate pairs with the Unicode replacement character prior to
-encoding.
-
-This function is _similar_ to the intrinsic function `encodeURI`, except it
-will not encode the `%` character if that is part of a valid sequence, will
-not encode `[` and `]` (for IPv6 hostnames) and will replace raw, unpaired
-surrogate pairs with the Unicode replacement character (instead of throwing).
-
-## Examples
-
-### Encode a URL containing user-controled data
-
-```js
-var encodeUrl = require('encodeurl')
-var escapeHtml = require('escape-html')
-
-http.createServer(function onRequest (req, res) {
-  // get encoded form of inbound url
-  var url = encodeUrl(req.url)
-
-  // create html message
-  var body = '<p>Location ' + escapeHtml(url) + ' not found</p>'
-
-  // send a 404
-  res.statusCode = 404
-  res.setHeader('Content-Type', 'text/html; charset=UTF-8')
-  res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8')))
-  res.end(body, 'utf-8')
-})
-```
-
-### Encode a URL for use in a header field
-
-```js
-var encodeUrl = require('encodeurl')
-var escapeHtml = require('escape-html')
-var url = require('url')
-
-http.createServer(function onRequest (req, res) {
-  // parse inbound url
-  var href = url.parse(req)
-
-  // set new host for redirect
-  href.host = 'localhost'
-  href.protocol = 'https:'
-  href.slashes = true
-
-  // create location header
-  var location = encodeUrl(url.format(href))
-
-  // create html message
-  var body = '<p>Redirecting to new site: ' + escapeHtml(location) + '</p>'
-
-  // send a 301
-  res.statusCode = 301
-  res.setHeader('Content-Type', 'text/html; charset=UTF-8')
-  res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8')))
-  res.setHeader('Location', location)
-  res.end(body, 'utf-8')
-})
-```
-
-## Testing
-
-```sh
-$ npm test
-$ npm run lint
-```
-
-## References
-
-- [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax][rfc-3986]
-- [WHATWG URL Living Standard][whatwg-url]
-
-[rfc-3986]: https://tools.ietf.org/html/rfc3986
-[whatwg-url]: https://url.spec.whatwg.org/
-
-## License
-
-[MIT](LICENSE)
-
-[npm-image]: https://img.shields.io/npm/v/encodeurl.svg
-[npm-url]: https://npmjs.org/package/encodeurl
-[node-version-image]: https://img.shields.io/node/v/encodeurl.svg
-[node-version-url]: https://nodejs.org/en/download
-[travis-image]: https://img.shields.io/travis/pillarjs/encodeurl.svg
-[travis-url]: https://travis-ci.org/pillarjs/encodeurl
-[coveralls-image]: https://img.shields.io/coveralls/pillarjs/encodeurl.svg
-[coveralls-url]: https://coveralls.io/r/pillarjs/encodeurl?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/encodeurl.svg
-[downloads-url]: https://npmjs.org/package/encodeurl

+ 0 - 60
node_modules.bak/encodeurl/index.js

@@ -1,60 +0,0 @@
-/*!
- * encodeurl
- * Copyright(c) 2016 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = encodeUrl
-
-/**
- * RegExp to match non-URL code points, *after* encoding (i.e. not including "%")
- * and including invalid escape sequences.
- * @private
- */
-
-var ENCODE_CHARS_REGEXP = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g
-
-/**
- * RegExp to match unmatched surrogate pair.
- * @private
- */
-
-var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g
-
-/**
- * String to replace unmatched surrogate pair with.
- * @private
- */
-
-var UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\uFFFD$2'
-
-/**
- * Encode a URL to a percent-encoded form, excluding already-encoded sequences.
- *
- * This function will take an already-encoded URL and encode all the non-URL
- * code points. This function will not encode the "%" character unless it is
- * not part of a valid sequence (`%20` will be left as-is, but `%foo` will
- * be encoded as `%25foo`).
- *
- * This encode is meant to be "safe" and does not throw errors. It will try as
- * hard as it can to properly encode the given URL, including replacing any raw,
- * unpaired surrogate pairs with the Unicode replacement character prior to
- * encoding.
- *
- * @param {string} url
- * @return {string}
- * @public
- */
-
-function encodeUrl (url) {
-  return String(url)
-    .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE)
-    .replace(ENCODE_CHARS_REGEXP, encodeURI)
-}

+ 0 - 78
node_modules.bak/encodeurl/package.json

@@ -1,78 +0,0 @@
-{
-  "_from": "encodeurl@~1.0.2",
-  "_id": "encodeurl@1.0.2",
-  "_inBundle": false,
-  "_integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-  "_location": "/encodeurl",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "encodeurl@~1.0.2",
-    "name": "encodeurl",
-    "escapedName": "encodeurl",
-    "rawSpec": "~1.0.2",
-    "saveSpec": null,
-    "fetchSpec": "~1.0.2"
-  },
-  "_requiredBy": [
-    "/express",
-    "/finalhandler",
-    "/send",
-    "/serve-static"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
-  "_shasum": "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59",
-  "_spec": "encodeurl@~1.0.2",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\express",
-  "bugs": {
-    "url": "https://github.com/pillarjs/encodeurl/issues"
-  },
-  "bundleDependencies": false,
-  "contributors": [
-    {
-      "name": "Douglas Christopher Wilson",
-      "email": "doug@somethingdoug.com"
-    }
-  ],
-  "deprecated": false,
-  "description": "Encode a URL to a percent-encoded form, excluding already-encoded sequences",
-  "devDependencies": {
-    "eslint": "3.19.0",
-    "eslint-config-standard": "10.2.1",
-    "eslint-plugin-import": "2.8.0",
-    "eslint-plugin-node": "5.2.1",
-    "eslint-plugin-promise": "3.6.0",
-    "eslint-plugin-standard": "3.0.1",
-    "istanbul": "0.4.5",
-    "mocha": "2.5.3"
-  },
-  "engines": {
-    "node": ">= 0.8"
-  },
-  "files": [
-    "LICENSE",
-    "HISTORY.md",
-    "README.md",
-    "index.js"
-  ],
-  "homepage": "https://github.com/pillarjs/encodeurl#readme",
-  "keywords": [
-    "encode",
-    "encodeurl",
-    "url"
-  ],
-  "license": "MIT",
-  "name": "encodeurl",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/pillarjs/encodeurl.git"
-  },
-  "scripts": {
-    "lint": "eslint .",
-    "test": "mocha --reporter spec --bail --check-leaks test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
-  },
-  "version": "1.0.2"
-}

+ 0 - 21
node_modules.bak/end-of-stream/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 54
node_modules.bak/end-of-stream/README.md

@@ -1,54 +0,0 @@
-# end-of-stream
-
-A node module that calls a callback when a readable/writable/duplex stream has completed or failed.
-
-	npm install end-of-stream
-
-[![Build status](https://travis-ci.org/mafintosh/end-of-stream.svg?branch=master)](https://travis-ci.org/mafintosh/end-of-stream)
-
-## Usage
-
-Simply pass a stream and a callback to the `eos`.
-Both legacy streams, streams2 and stream3 are supported.
-
-``` js
-var eos = require('end-of-stream');
-
-eos(readableStream, function(err) {
-  // this will be set to the stream instance
-	if (err) return console.log('stream had an error or closed early');
-	console.log('stream has ended', this === readableStream);
-});
-
-eos(writableStream, function(err) {
-	if (err) return console.log('stream had an error or closed early');
-	console.log('stream has finished', this === writableStream);
-});
-
-eos(duplexStream, function(err) {
-	if (err) return console.log('stream had an error or closed early');
-	console.log('stream has ended and finished', this === duplexStream);
-});
-
-eos(duplexStream, {readable:false}, function(err) {
-	if (err) return console.log('stream had an error or closed early');
-	console.log('stream has finished but might still be readable');
-});
-
-eos(duplexStream, {writable:false}, function(err) {
-	if (err) return console.log('stream had an error or closed early');
-	console.log('stream has ended but might still be writable');
-});
-
-eos(readableStream, {error:false}, function(err) {
-	// do not treat emit('error', err) as a end-of-stream
-});
-```
-
-## License
-
-MIT
-
-## Related
-
-`end-of-stream` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.

+ 0 - 94
node_modules.bak/end-of-stream/index.js

@@ -1,94 +0,0 @@
-var once = require('once');
-
-var noop = function() {};
-
-var isRequest = function(stream) {
-	return stream.setHeader && typeof stream.abort === 'function';
-};
-
-var isChildProcess = function(stream) {
-	return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3
-};
-
-var eos = function(stream, opts, callback) {
-	if (typeof opts === 'function') return eos(stream, null, opts);
-	if (!opts) opts = {};
-
-	callback = once(callback || noop);
-
-	var ws = stream._writableState;
-	var rs = stream._readableState;
-	var readable = opts.readable || (opts.readable !== false && stream.readable);
-	var writable = opts.writable || (opts.writable !== false && stream.writable);
-	var cancelled = false;
-
-	var onlegacyfinish = function() {
-		if (!stream.writable) onfinish();
-	};
-
-	var onfinish = function() {
-		writable = false;
-		if (!readable) callback.call(stream);
-	};
-
-	var onend = function() {
-		readable = false;
-		if (!writable) callback.call(stream);
-	};
-
-	var onexit = function(exitCode) {
-		callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);
-	};
-
-	var onerror = function(err) {
-		callback.call(stream, err);
-	};
-
-	var onclose = function() {
-		process.nextTick(onclosenexttick);
-	};
-
-	var onclosenexttick = function() {
-		if (cancelled) return;
-		if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close'));
-		if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close'));
-	};
-
-	var onrequest = function() {
-		stream.req.on('finish', onfinish);
-	};
-
-	if (isRequest(stream)) {
-		stream.on('complete', onfinish);
-		stream.on('abort', onclose);
-		if (stream.req) onrequest();
-		else stream.on('request', onrequest);
-	} else if (writable && !ws) { // legacy streams
-		stream.on('end', onlegacyfinish);
-		stream.on('close', onlegacyfinish);
-	}
-
-	if (isChildProcess(stream)) stream.on('exit', onexit);
-
-	stream.on('end', onend);
-	stream.on('finish', onfinish);
-	if (opts.error !== false) stream.on('error', onerror);
-	stream.on('close', onclose);
-
-	return function() {
-		cancelled = true;
-		stream.removeListener('complete', onfinish);
-		stream.removeListener('abort', onclose);
-		stream.removeListener('request', onrequest);
-		if (stream.req) stream.req.removeListener('finish', onfinish);
-		stream.removeListener('end', onlegacyfinish);
-		stream.removeListener('close', onlegacyfinish);
-		stream.removeListener('finish', onfinish);
-		stream.removeListener('exit', onexit);
-		stream.removeListener('end', onend);
-		stream.removeListener('error', onerror);
-		stream.removeListener('close', onclose);
-	};
-};
-
-module.exports = eos;

+ 0 - 69
node_modules.bak/end-of-stream/package.json

@@ -1,69 +0,0 @@
-{
-  "_from": "end-of-stream@^1.1.0",
-  "_id": "end-of-stream@1.4.4",
-  "_inBundle": false,
-  "_integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
-  "_location": "/end-of-stream",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "range",
-    "registry": true,
-    "raw": "end-of-stream@^1.1.0",
-    "name": "end-of-stream",
-    "escapedName": "end-of-stream",
-    "rawSpec": "^1.1.0",
-    "saveSpec": null,
-    "fetchSpec": "^1.1.0"
-  },
-  "_requiredBy": [
-    "/duplexify",
-    "/mississippi",
-    "/pump",
-    "/pumpify/pump",
-    "/stream-each"
-  ],
-  "_resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz",
-  "_shasum": "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0",
-  "_spec": "end-of-stream@^1.1.0",
-  "_where": "D:\\朗通信息\\icssDService\\node_modules\\mississippi",
-  "author": {
-    "name": "Mathias Buus",
-    "email": "mathiasbuus@gmail.com"
-  },
-  "bugs": {
-    "url": "https://github.com/mafintosh/end-of-stream/issues"
-  },
-  "bundleDependencies": false,
-  "dependencies": {
-    "once": "^1.4.0"
-  },
-  "deprecated": false,
-  "description": "Call a callback when a readable/writable/duplex stream has completed or failed.",
-  "devDependencies": {
-    "tape": "^4.11.0"
-  },
-  "files": [
-    "index.js"
-  ],
-  "homepage": "https://github.com/mafintosh/end-of-stream",
-  "keywords": [
-    "stream",
-    "streams",
-    "callback",
-    "finish",
-    "close",
-    "end",
-    "wait"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "end-of-stream",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/mafintosh/end-of-stream.git"
-  },
-  "scripts": {
-    "test": "node test.js"
-  },
-  "version": "1.4.4"
-}

+ 0 - 20
node_modules.bak/enhanced-resolve/LICENSE

@@ -1,20 +0,0 @@
-Copyright JS Foundation and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 0 - 125
node_modules.bak/enhanced-resolve/README.md

@@ -1,125 +0,0 @@
-# enhanced-resolve
-
-Offers an async require.resolve function. It's highly configurable.
-
-## Features
-
-* plugin system
-* provide a custom filesystem
-* sync and async node.js filesystems included
-
-
-## Getting Started
-### Install
-```sh
-# npm
-npm install enhanced-resolve
-# or Yarn
-yarn add enhanced-resolve
-```
-
-### Creating a Resolver
-The easiest way to create a resolver is to use the `createResolver` function on `ResolveFactory`, along with one of the supplied File System implementations.
-```js
-const {
-  NodeJsInputFileSystem,
-  CachedInputFileSystem,
-  ResolverFactory
-} = require('enhanced-resolve');
-
-// create a resolver
-const myResolver = ResolverFactory.createResolver({
-  // Typical usage will consume the `NodeJsInputFileSystem` + `CachedInputFileSystem`, which wraps the Node.js `fs` wrapper to add resilience + caching.
-  fileSystem: new CachedInputFileSystem(new NodeJsInputFileSystem(), 4000),
-  extensions: ['.js', '.json']
-  /* any other resolver options here. Options/defaults can be seen below */
-});
-
-// resolve a file with the new resolver
-const context = {};
-const resolveContext = {};
-const lookupStartPath = '/Users/webpack/some/root/dir';
-const request = './path/to-look-up.js';
-myResolver.resolve({}, lookupStartPath, request, resolveContext, (err/*Error*/, filepath/*string*/) => {
-  // Do something with the path
-});
-```
-
-For more examples creating different types resolvers (sync/async, context, etc) see `lib/node.js`.
-#### Resolver Options
-| Field                    | Default                     | Description                                                                        |
-| ------------------------ | --------------------------- | ---------------------------------------------------------------------------------- |
-| alias                    | []                          | A list of module alias configurations or an object which maps key to value |
-| aliasFields              | []                          | A list of alias fields in description files |
-| cacheWithContext         | true                        | If unsafe cache is enabled, includes `request.context` in the cache key  |
-| descriptionFiles         | ["package.json"]            | A list of description files to read from |
-| enforceExtension         | false                       | Enforce that a extension from extensions must be used |
-| enforceModuleExtension   | false                       | Enforce that a extension from moduleExtensions must be used |
-| extensions               | [".js", ".json", ".node"]   | A list of extensions which should be tried for files |
-| mainFields               | ["main"]                    | A list of main fields in description files |
-| mainFiles                | ["index"]                   | A list of main files in directories |
-| modules                  | ["node_modules"]            | A list of directories to resolve modules from, can be absolute path or folder name |
-| roots                    | []                          | A list of directories to resolve request starting with `/` from |
-| ignoreRootsErrors        | false                       | Ignore fatal errors happening during handling of `roots` (allows to add `roots` without a breaking change) |
-| preferAbsolute           | false                       | Prefer to resolve server-relative urls as absolute paths before falling back to resolve in roots |
-| unsafeCache              | false                       | Use this cache object to unsafely cache the successful requests |
-| plugins                  | []                          | A list of additional resolve plugins which should be applied |
-| symlinks                 | true                        | Whether to resolve symlinks to their symlinked location |
-| cachePredicate           | function() { return true }; | A function which decides whether a request should be cached or not. An object is passed to the function with `path` and `request` properties. |
-| moduleExtensions         | []                          | A list of module extensions which should be tried for modules |
-| resolveToContext         | false                       | Resolve to a context instead of a file |
-| restrictions             | []                          | A list of resolve restrictions |
-| fileSystem               |                             | The file system which should be used |
-| resolver                 | undefined                   | A prepared Resolver to which the plugins are attached |
-
-## Plugins
-Similar to `webpack`, the core of `enhanced-resolve` functionality is implemented as individual plugins that are executed using [`Tapable`](https://github.com/webpack/tapable). These plugins can extend the functionality of the library, adding other ways for files/contexts to be resolved.
-
-A plugin should be a `class` (or its ES5 equivalent) with an `apply` method. The `apply` method will receive a `resolver` instance, that can be used to hook in to the event system.
-
-### Plugin Boilerplate
-```js
-class MyResolverPlugin {
-  constructor(source, target) {
-    this.source = source;
-    this.target = target;
-  }
-
-  apply(resolver) {
-    const target = resolver.ensureHook(this.target);
-    resolver.getHook(this.source).tapAsync("MyResolverPlugin", (request, resolveContext, callback) => {
-      // Any logic you need to create a new `request` can go here
-      resolver.doResolve(target, request, null, resolveContext, callback);
-    });
-  }
-}
-```
-
-Plugins are executed in a pipeline, and register which event they should be executed before/after. In the example above, `source` is the name of the event that starts the pipeline, and `target` is what event this plugin should fire, which is what continues the execution of the pipeline. For an example of how these different plugin events create a chain, see `lib/ResolverFactory.js`, in the `//// pipeline ////` section.
-
-## Tests
-
-``` javascript
-npm test
-```
-
-[![Build Status](https://secure.travis-ci.org/webpack/enhanced-resolve.png?branch=master)](http://travis-ci.org/webpack/enhanced-resolve)
-
-
-## Passing options from webpack
-If you are using `webpack`, and you want to pass custom options to `enhanced-resolve`, the options are passed from the `resolve` key of your webpack configuration e.g.:
-
-```
-resolve: {
-  extensions: ['', '.js', '.jsx'],
-  modules: ['src', 'node_modules'],
-  plugins: [new DirectoryNamedWebpackPlugin()]
-  ...
-},
-```
-
-## License
-
-Copyright (c) 2012-2016 Tobias Koppers
-
-MIT (http://www.opensource.org/licenses/mit-license.php)

+ 0 - 74
node_modules.bak/enhanced-resolve/lib/AliasFieldPlugin.js

@@ -1,74 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const DescriptionFileUtils = require("./DescriptionFileUtils");
-const getInnerRequest = require("./getInnerRequest");
-
-module.exports = class AliasFieldPlugin {
-	constructor(source, field, target) {
-		this.source = source;
-		this.field = field;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("AliasFieldPlugin", (request, resolveContext, callback) => {
-				if (!request.descriptionFileData) return callback();
-				const innerRequest = getInnerRequest(resolver, request);
-				if (!innerRequest) return callback();
-				const fieldData = DescriptionFileUtils.getField(
-					request.descriptionFileData,
-					this.field
-				);
-				if (typeof fieldData !== "object") {
-					if (resolveContext.log)
-						resolveContext.log(
-							"Field '" +
-								this.field +
-								"' doesn't contain a valid alias configuration"
-						);
-					return callback();
-				}
-				const data1 = fieldData[innerRequest];
-				const data2 = fieldData[innerRequest.replace(/^\.\//, "")];
-				const data = typeof data1 !== "undefined" ? data1 : data2;
-				if (data === innerRequest) return callback();
-				if (data === undefined) return callback();
-				if (data === false) {
-					const ignoreObj = Object.assign({}, request, {
-						path: false
-					});
-					return callback(null, ignoreObj);
-				}
-				const obj = Object.assign({}, request, {
-					path: request.descriptionFileRoot,
-					request: data
-				});
-				resolver.doResolve(
-					target,
-					obj,
-					"aliased from description file " +
-						request.descriptionFilePath +
-						" with mapping '" +
-						innerRequest +
-						"' to '" +
-						data +
-						"'",
-					resolveContext,
-					(err, result) => {
-						if (err) return callback(err);
-
-						// Don't allow other aliasing or raw request
-						if (result === undefined) return callback(null, null);
-						callback(null, result);
-					}
-				);
-			});
-	}
-};

+ 0 - 77
node_modules.bak/enhanced-resolve/lib/AliasPlugin.js

@@ -1,77 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-function startsWith(string, searchString) {
-	const stringLength = string.length;
-	const searchLength = searchString.length;
-
-	// early out if the search length is greater than the search string
-	if (searchLength > stringLength) {
-		return false;
-	}
-	let index = -1;
-	while (++index < searchLength) {
-		if (string.charCodeAt(index) !== searchString.charCodeAt(index)) {
-			return false;
-		}
-	}
-	return true;
-}
-
-module.exports = class AliasPlugin {
-	constructor(source, options, target) {
-		this.source = source;
-		this.options = Array.isArray(options) ? options : [options];
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("AliasPlugin", (request, resolveContext, callback) => {
-				const innerRequest = request.request || request.path;
-				if (!innerRequest) return callback();
-				for (const item of this.options) {
-					if (
-						innerRequest === item.name ||
-						(!item.onlyModule && startsWith(innerRequest, item.name + "/"))
-					) {
-						if (
-							innerRequest !== item.alias &&
-							!startsWith(innerRequest, item.alias + "/")
-						) {
-							const newRequestStr =
-								item.alias + innerRequest.substr(item.name.length);
-							const obj = Object.assign({}, request, {
-								request: newRequestStr
-							});
-							return resolver.doResolve(
-								target,
-								obj,
-								"aliased with mapping '" +
-									item.name +
-									"': '" +
-									item.alias +
-									"' to '" +
-									newRequestStr +
-									"'",
-								resolveContext,
-								(err, result) => {
-									if (err) return callback(err);
-
-									// Don't allow other aliasing or raw request
-									if (result === undefined) return callback(null, null);
-									callback(null, result);
-								}
-							);
-						}
-					}
-				}
-				return callback();
-			});
-	}
-};

+ 0 - 33
node_modules.bak/enhanced-resolve/lib/AppendPlugin.js

@@ -1,33 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class AppendPlugin {
-	constructor(source, appending, target) {
-		this.source = source;
-		this.appending = appending;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("AppendPlugin", (request, resolveContext, callback) => {
-				const obj = Object.assign({}, request, {
-					path: request.path + this.appending,
-					relativePath:
-						request.relativePath && request.relativePath + this.appending
-				});
-				resolver.doResolve(
-					target,
-					obj,
-					this.appending,
-					resolveContext,
-					callback
-				);
-			});
-	}
-};

+ 0 - 307
node_modules.bak/enhanced-resolve/lib/CachedInputFileSystem.js

@@ -1,307 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-class Storage {
-	constructor(duration) {
-		this.duration = duration;
-		this.running = new Map();
-		this.data = new Map();
-		this.levels = [];
-		if (duration > 0) {
-			this.levels.push(
-				new Set(),
-				new Set(),
-				new Set(),
-				new Set(),
-				new Set(),
-				new Set(),
-				new Set(),
-				new Set(),
-				new Set()
-			);
-			for (let i = 8000; i < duration; i += 500) this.levels.push(new Set());
-		}
-		this.count = 0;
-		this.interval = null;
-		this.needTickCheck = false;
-		this.nextTick = null;
-		this.passive = true;
-		this.tick = this.tick.bind(this);
-	}
-
-	ensureTick() {
-		if (!this.interval && this.duration > 0 && !this.nextTick)
-			this.interval = setInterval(
-				this.tick,
-				Math.floor(this.duration / this.levels.length)
-			);
-	}
-
-	finished(name, err, result) {
-		const callbacks = this.running.get(name);
-		this.running.delete(name);
-		if (this.duration > 0) {
-			this.data.set(name, [err, result]);
-			const levelData = this.levels[0];
-			this.count -= levelData.size;
-			levelData.add(name);
-			this.count += levelData.size;
-			this.ensureTick();
-		}
-		for (let i = 0; i < callbacks.length; i++) {
-			callbacks[i](err, result);
-		}
-	}
-
-	finishedSync(name, err, result) {
-		if (this.duration > 0) {
-			this.data.set(name, [err, result]);
-			const levelData = this.levels[0];
-			this.count -= levelData.size;
-			levelData.add(name);
-			this.count += levelData.size;
-			this.ensureTick();
-		}
-	}
-
-	provide(name, provider, callback) {
-		if (typeof name !== "string") {
-			callback(new TypeError("path must be a string"));
-			return;
-		}
-		let running = this.running.get(name);
-		if (running) {
-			running.push(callback);
-			return;
-		}
-		if (this.duration > 0) {
-			this.checkTicks();
-			const data = this.data.get(name);
-			if (data) {
-				return process.nextTick(() => {
-					callback.apply(null, data);
-				});
-			}
-		}
-		this.running.set(name, (running = [callback]));
-		provider(name, (err, result) => {
-			this.finished(name, err, result);
-		});
-	}
-
-	provideSync(name, provider) {
-		if (typeof name !== "string") {
-			throw new TypeError("path must be a string");
-		}
-		if (this.duration > 0) {
-			this.checkTicks();
-			const data = this.data.get(name);
-			if (data) {
-				if (data[0]) throw data[0];
-				return data[1];
-			}
-		}
-		let result;
-		try {
-			result = provider(name);
-		} catch (e) {
-			this.finishedSync(name, e);
-			throw e;
-		}
-		this.finishedSync(name, null, result);
-		return result;
-	}
-
-	tick() {
-		const decay = this.levels.pop();
-		for (let item of decay) {
-			this.data.delete(item);
-		}
-		this.count -= decay.size;
-		decay.clear();
-		this.levels.unshift(decay);
-		if (this.count === 0) {
-			clearInterval(this.interval);
-			this.interval = null;
-			this.nextTick = null;
-			return true;
-		} else if (this.nextTick) {
-			this.nextTick += Math.floor(this.duration / this.levels.length);
-			const time = new Date().getTime();
-			if (this.nextTick > time) {
-				this.nextTick = null;
-				this.interval = setInterval(
-					this.tick,
-					Math.floor(this.duration / this.levels.length)
-				);
-				return true;
-			}
-		} else if (this.passive) {
-			clearInterval(this.interval);
-			this.interval = null;
-			this.nextTick =
-				new Date().getTime() + Math.floor(this.duration / this.levels.length);
-		} else {
-			this.passive = true;
-		}
-	}
-
-	checkTicks() {
-		this.passive = false;
-		if (this.nextTick) {
-			while (!this.tick());
-		}
-	}
-
-	purge(what) {
-		if (!what) {
-			this.count = 0;
-			clearInterval(this.interval);
-			this.nextTick = null;
-			this.data.clear();
-			this.levels.forEach(level => {
-				level.clear();
-			});
-		} else if (typeof what === "string") {
-			for (let key of this.data.keys()) {
-				if (key.startsWith(what)) this.data.delete(key);
-			}
-		} else {
-			for (let i = what.length - 1; i >= 0; i--) {
-				this.purge(what[i]);
-			}
-		}
-	}
-}
-
-module.exports = class CachedInputFileSystem {
-	constructor(fileSystem, duration) {
-		this.fileSystem = fileSystem;
-		this._statStorage = new Storage(duration);
-		this._readdirStorage = new Storage(duration);
-		this._readFileStorage = new Storage(duration);
-		this._readJsonStorage = new Storage(duration);
-		this._readlinkStorage = new Storage(duration);
-
-		this._stat = this.fileSystem.stat
-			? this.fileSystem.stat.bind(this.fileSystem)
-			: null;
-		if (!this._stat) this.stat = null;
-
-		this._statSync = this.fileSystem.statSync
-			? this.fileSystem.statSync.bind(this.fileSystem)
-			: null;
-		if (!this._statSync) this.statSync = null;
-
-		this._readdir = this.fileSystem.readdir
-			? this.fileSystem.readdir.bind(this.fileSystem)
-			: null;
-		if (!this._readdir) this.readdir = null;
-
-		this._readdirSync = this.fileSystem.readdirSync
-			? this.fileSystem.readdirSync.bind(this.fileSystem)
-			: null;
-		if (!this._readdirSync) this.readdirSync = null;
-
-		this._readFile = this.fileSystem.readFile
-			? this.fileSystem.readFile.bind(this.fileSystem)
-			: null;
-		if (!this._readFile) this.readFile = null;
-
-		this._readFileSync = this.fileSystem.readFileSync
-			? this.fileSystem.readFileSync.bind(this.fileSystem)
-			: null;
-		if (!this._readFileSync) this.readFileSync = null;
-
-		if (this.fileSystem.readJson) {
-			this._readJson = this.fileSystem.readJson.bind(this.fileSystem);
-		} else if (this.readFile) {
-			this._readJson = (path, callback) => {
-				this.readFile(path, (err, buffer) => {
-					if (err) return callback(err);
-					let data;
-					try {
-						data = JSON.parse(buffer.toString("utf-8"));
-					} catch (e) {
-						return callback(e);
-					}
-					callback(null, data);
-				});
-			};
-		} else {
-			this.readJson = null;
-		}
-		if (this.fileSystem.readJsonSync) {
-			this._readJsonSync = this.fileSystem.readJsonSync.bind(this.fileSystem);
-		} else if (this.readFileSync) {
-			this._readJsonSync = path => {
-				const buffer = this.readFileSync(path);
-				const data = JSON.parse(buffer.toString("utf-8"));
-				return data;
-			};
-		} else {
-			this.readJsonSync = null;
-		}
-
-		this._readlink = this.fileSystem.readlink
-			? this.fileSystem.readlink.bind(this.fileSystem)
-			: null;
-		if (!this._readlink) this.readlink = null;
-
-		this._readlinkSync = this.fileSystem.readlinkSync
-			? this.fileSystem.readlinkSync.bind(this.fileSystem)
-			: null;
-		if (!this._readlinkSync) this.readlinkSync = null;
-	}
-
-	stat(path, callback) {
-		this._statStorage.provide(path, this._stat, callback);
-	}
-
-	readdir(path, callback) {
-		this._readdirStorage.provide(path, this._readdir, callback);
-	}
-
-	readFile(path, callback) {
-		this._readFileStorage.provide(path, this._readFile, callback);
-	}
-
-	readJson(path, callback) {
-		this._readJsonStorage.provide(path, this._readJson, callback);
-	}
-
-	readlink(path, callback) {
-		this._readlinkStorage.provide(path, this._readlink, callback);
-	}
-
-	statSync(path) {
-		return this._statStorage.provideSync(path, this._statSync);
-	}
-
-	readdirSync(path) {
-		return this._readdirStorage.provideSync(path, this._readdirSync);
-	}
-
-	readFileSync(path) {
-		return this._readFileStorage.provideSync(path, this._readFileSync);
-	}
-
-	readJsonSync(path) {
-		return this._readJsonStorage.provideSync(path, this._readJsonSync);
-	}
-
-	readlinkSync(path) {
-		return this._readlinkStorage.provideSync(path, this._readlinkSync);
-	}
-
-	purge(what) {
-		this._statStorage.purge(what);
-		this._readdirStorage.purge(what);
-		this._readFileStorage.purge(what);
-		this._readlinkStorage.purge(what);
-		this._readJsonStorage.purge(what);
-	}
-};

+ 0 - 37
node_modules.bak/enhanced-resolve/lib/CloneBasenamePlugin.js

@@ -1,37 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const basename = require("./getPaths").basename;
-
-module.exports = class CloneBasenamePlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("CloneBasenamePlugin", (request, resolveContext, callback) => {
-				const filename = basename(request.path);
-				const filePath = resolver.join(request.path, filename);
-				const obj = Object.assign({}, request, {
-					path: filePath,
-					relativePath:
-						request.relativePath &&
-						resolver.join(request.relativePath, filename)
-				});
-				resolver.doResolve(
-					target,
-					obj,
-					"using path: " + filePath,
-					resolveContext,
-					callback
-				);
-			});
-	}
-};

+ 0 - 62
node_modules.bak/enhanced-resolve/lib/ConcordExtensionsPlugin.js

@@ -1,62 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const concord = require("./concord");
-const DescriptionFileUtils = require("./DescriptionFileUtils");
-const forEachBail = require("./forEachBail");
-
-module.exports = class ConcordExtensionsPlugin {
-	constructor(source, options, target) {
-		this.source = source;
-		this.options = options;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync(
-				"ConcordExtensionsPlugin",
-				(request, resolveContext, callback) => {
-					const concordField = DescriptionFileUtils.getField(
-						request.descriptionFileData,
-						"concord"
-					);
-					if (!concordField) return callback();
-					const extensions = concord.getExtensions(
-						request.context,
-						concordField
-					);
-					if (!extensions) return callback();
-					forEachBail(
-						extensions,
-						(appending, callback) => {
-							const obj = Object.assign({}, request, {
-								path: request.path + appending,
-								relativePath:
-									request.relativePath && request.relativePath + appending
-							});
-							resolver.doResolve(
-								target,
-								obj,
-								"concord extension: " + appending,
-								resolveContext,
-								callback
-							);
-						},
-						(err, result) => {
-							if (err) return callback(err);
-
-							// Don't allow other processing
-							if (result === undefined) return callback(null, null);
-							callback(null, result);
-						}
-					);
-				}
-			);
-	}
-};

+ 0 - 44
node_modules.bak/enhanced-resolve/lib/ConcordMainPlugin.js

@@ -1,44 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const path = require("path");
-const concord = require("./concord");
-const DescriptionFileUtils = require("./DescriptionFileUtils");
-
-module.exports = class ConcordMainPlugin {
-	constructor(source, options, target) {
-		this.source = source;
-		this.options = options;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("ConcordMainPlugin", (request, resolveContext, callback) => {
-				if (request.path !== request.descriptionFileRoot) return callback();
-				const concordField = DescriptionFileUtils.getField(
-					request.descriptionFileData,
-					"concord"
-				);
-				if (!concordField) return callback();
-				const mainModule = concord.getMain(request.context, concordField);
-				if (!mainModule) return callback();
-				const obj = Object.assign({}, request, {
-					request: mainModule
-				});
-				const filename = path.basename(request.descriptionFilePath);
-				return resolver.doResolve(
-					target,
-					obj,
-					"use " + mainModule + " from " + filename,
-					resolveContext,
-					callback
-				);
-			});
-	}
-};

+ 0 - 68
node_modules.bak/enhanced-resolve/lib/ConcordModulesPlugin.js

@@ -1,68 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const concord = require("./concord");
-const DescriptionFileUtils = require("./DescriptionFileUtils");
-const getInnerRequest = require("./getInnerRequest");
-
-module.exports = class ConcordModulesPlugin {
-	constructor(source, options, target) {
-		this.source = source;
-		this.options = options;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("ConcordModulesPlugin", (request, resolveContext, callback) => {
-				const innerRequest = getInnerRequest(resolver, request);
-				if (!innerRequest) return callback();
-				const concordField = DescriptionFileUtils.getField(
-					request.descriptionFileData,
-					"concord"
-				);
-				if (!concordField) return callback();
-				const data = concord.matchModule(
-					request.context,
-					concordField,
-					innerRequest
-				);
-				if (data === innerRequest) return callback();
-				if (data === undefined) return callback();
-				if (data === false) {
-					const ignoreObj = Object.assign({}, request, {
-						path: false
-					});
-					return callback(null, ignoreObj);
-				}
-				const obj = Object.assign({}, request, {
-					path: request.descriptionFileRoot,
-					request: data
-				});
-				resolver.doResolve(
-					target,
-					obj,
-					"aliased from description file " +
-						request.descriptionFilePath +
-						" with mapping '" +
-						innerRequest +
-						"' to '" +
-						data +
-						"'",
-					resolveContext,
-					(err, result) => {
-						if (err) return callback(err);
-
-						// Don't allow other aliasing or raw request
-						if (result === undefined) return callback(null, null);
-						callback(null, result);
-					}
-				);
-			});
-	}
-};

+ 0 - 76
node_modules.bak/enhanced-resolve/lib/DescriptionFilePlugin.js

@@ -1,76 +0,0 @@
-/*
-MIT License http://www.opensource.org/licenses/mit-license.php
-Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const DescriptionFileUtils = require("./DescriptionFileUtils");
-
-module.exports = class DescriptionFilePlugin {
-	constructor(source, filenames, target) {
-		this.source = source;
-		this.filenames = [].concat(filenames);
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync(
-				"DescriptionFilePlugin",
-				(request, resolveContext, callback) => {
-					const directory = request.path;
-					DescriptionFileUtils.loadDescriptionFile(
-						resolver,
-						directory,
-						this.filenames,
-						resolveContext,
-						(err, result) => {
-							if (err) return callback(err);
-							if (!result) {
-								if (resolveContext.missing) {
-									this.filenames.forEach(filename => {
-										resolveContext.missing.add(
-											resolver.join(directory, filename)
-										);
-									});
-								}
-								if (resolveContext.log)
-									resolveContext.log("No description file found");
-								return callback();
-							}
-							const relativePath =
-								"." +
-								request.path
-									.substr(result.directory.length)
-									.replace(/\\/g, "/");
-							const obj = Object.assign({}, request, {
-								descriptionFilePath: result.path,
-								descriptionFileData: result.content,
-								descriptionFileRoot: result.directory,
-								relativePath: relativePath
-							});
-							resolver.doResolve(
-								target,
-								obj,
-								"using description file: " +
-									result.path +
-									" (relative path: " +
-									relativePath +
-									")",
-								resolveContext,
-								(err, result) => {
-									if (err) return callback(err);
-
-									// Don't allow other processing
-									if (result === undefined) return callback(null, null);
-									callback(null, result);
-								}
-							);
-						}
-					);
-				}
-			);
-	}
-};

+ 0 - 109
node_modules.bak/enhanced-resolve/lib/DescriptionFileUtils.js

@@ -1,109 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const forEachBail = require("./forEachBail");
-
-function loadDescriptionFile(
-	resolver,
-	directory,
-	filenames,
-	resolveContext,
-	callback
-) {
-	(function findDescriptionFile() {
-		forEachBail(
-			filenames,
-			(filename, callback) => {
-				const descriptionFilePath = resolver.join(directory, filename);
-				if (resolver.fileSystem.readJson) {
-					resolver.fileSystem.readJson(descriptionFilePath, (err, content) => {
-						if (err) {
-							if (typeof err.code !== "undefined") return callback();
-							return onJson(err);
-						}
-						onJson(null, content);
-					});
-				} else {
-					resolver.fileSystem.readFile(descriptionFilePath, (err, content) => {
-						if (err) return callback();
-						let json;
-						try {
-							json = JSON.parse(content);
-						} catch (e) {
-							onJson(e);
-						}
-						onJson(null, json);
-					});
-				}
-
-				function onJson(err, content) {
-					if (err) {
-						if (resolveContext.log)
-							resolveContext.log(
-								descriptionFilePath + " (directory description file): " + err
-							);
-						else
-							err.message =
-								descriptionFilePath + " (directory description file): " + err;
-						return callback(err);
-					}
-					callback(null, {
-						content: content,
-						directory: directory,
-						path: descriptionFilePath
-					});
-				}
-			},
-			(err, result) => {
-				if (err) return callback(err);
-				if (result) {
-					return callback(null, result);
-				} else {
-					directory = cdUp(directory);
-					if (!directory) {
-						return callback();
-					} else {
-						return findDescriptionFile();
-					}
-				}
-			}
-		);
-	})();
-}
-
-function getField(content, field) {
-	if (!content) return undefined;
-	if (Array.isArray(field)) {
-		let current = content;
-		for (let j = 0; j < field.length; j++) {
-			if (current === null || typeof current !== "object") {
-				current = null;
-				break;
-			}
-			current = current[field[j]];
-		}
-		if (typeof current === "object") {
-			return current;
-		}
-	} else {
-		if (typeof content[field] === "object") {
-			return content[field];
-		}
-	}
-}
-
-function cdUp(directory) {
-	if (directory === "/") return null;
-	const i = directory.lastIndexOf("/"),
-		j = directory.lastIndexOf("\\");
-	const p = i < 0 ? j : j < 0 ? i : i < j ? j : i;
-	if (p < 0) return null;
-	return directory.substr(0, p || 1);
-}
-
-exports.loadDescriptionFile = loadDescriptionFile;
-exports.getField = getField;
-exports.cdUp = cdUp;

+ 0 - 46
node_modules.bak/enhanced-resolve/lib/DirectoryExistsPlugin.js

@@ -1,46 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class DirectoryExistsPlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync(
-				"DirectoryExistsPlugin",
-				(request, resolveContext, callback) => {
-					const fs = resolver.fileSystem;
-					const directory = request.path;
-					fs.stat(directory, (err, stat) => {
-						if (err || !stat) {
-							if (resolveContext.missing) resolveContext.missing.add(directory);
-							if (resolveContext.log)
-								resolveContext.log(directory + " doesn't exist");
-							return callback();
-						}
-						if (!stat.isDirectory()) {
-							if (resolveContext.missing) resolveContext.missing.add(directory);
-							if (resolveContext.log)
-								resolveContext.log(directory + " is not a directory");
-							return callback();
-						}
-						resolver.doResolve(
-							target,
-							request,
-							"existing directory",
-							resolveContext,
-							callback
-						);
-					});
-				}
-			);
-	}
-};

+ 0 - 41
node_modules.bak/enhanced-resolve/lib/FileExistsPlugin.js

@@ -1,41 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class FileExistsPlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		const fs = resolver.fileSystem;
-		resolver
-			.getHook(this.source)
-			.tapAsync("FileExistsPlugin", (request, resolveContext, callback) => {
-				const file = request.path;
-				fs.stat(file, (err, stat) => {
-					if (err || !stat) {
-						if (resolveContext.missing) resolveContext.missing.add(file);
-						if (resolveContext.log) resolveContext.log(file + " doesn't exist");
-						return callback();
-					}
-					if (!stat.isFile()) {
-						if (resolveContext.missing) resolveContext.missing.add(file);
-						if (resolveContext.log) resolveContext.log(file + " is not a file");
-						return callback();
-					}
-					resolver.doResolve(
-						target,
-						request,
-						"existing file: " + file,
-						resolveContext,
-						callback
-					);
-				});
-			});
-	}
-};

+ 0 - 24
node_modules.bak/enhanced-resolve/lib/FileKindPlugin.js

@@ -1,24 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class FileKindPlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("FileKindPlugin", (request, resolveContext, callback) => {
-				if (request.directory) return callback();
-				const obj = Object.assign({}, request);
-				delete obj.directory;
-				resolver.doResolve(target, obj, null, resolveContext, callback);
-			});
-	}
-};

+ 0 - 28
node_modules.bak/enhanced-resolve/lib/JoinRequestPlugin.js

@@ -1,28 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class JoinRequestPlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("JoinRequestPlugin", (request, resolveContext, callback) => {
-				const obj = Object.assign({}, request, {
-					path: resolver.join(request.path, request.request),
-					relativePath:
-						request.relativePath &&
-						resolver.join(request.relativePath, request.request),
-					request: undefined
-				});
-				resolver.doResolve(target, obj, null, resolveContext, callback);
-			});
-	}
-};

+ 0 - 41
node_modules.bak/enhanced-resolve/lib/LogInfoPlugin.js

@@ -1,41 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class LogInfoPlugin {
-	constructor(source) {
-		this.source = source;
-	}
-
-	apply(resolver) {
-		const source = this.source;
-		resolver
-			.getHook(this.source)
-			.tapAsync("LogInfoPlugin", (request, resolveContext, callback) => {
-				if (!resolveContext.log) return callback();
-				const log = resolveContext.log;
-				const prefix = "[" + source + "] ";
-				if (request.path)
-					log(prefix + "Resolving in directory: " + request.path);
-				if (request.request)
-					log(prefix + "Resolving request: " + request.request);
-				if (request.module) log(prefix + "Request is an module request.");
-				if (request.directory) log(prefix + "Request is a directory request.");
-				if (request.query)
-					log(prefix + "Resolving request query: " + request.query);
-				if (request.descriptionFilePath)
-					log(
-						prefix + "Has description data from " + request.descriptionFilePath
-					);
-				if (request.relativePath)
-					log(
-						prefix +
-							"Relative path from description file is: " +
-							request.relativePath
-					);
-				callback();
-			});
-	}
-};

+ 0 - 66
node_modules.bak/enhanced-resolve/lib/MainFieldPlugin.js

@@ -1,66 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const path = require("path");
-
-module.exports = class MainFieldPlugin {
-	constructor(source, options, target) {
-		this.source = source;
-		this.options = options;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("MainFieldPlugin", (request, resolveContext, callback) => {
-				if (request.path !== request.descriptionFileRoot) return callback();
-				if (request.alreadyTriedMainField === request.descriptionFilePath)
-					return callback();
-				const content = request.descriptionFileData;
-				const filename = path.basename(request.descriptionFilePath);
-				let mainModule;
-				const field = this.options.name;
-				if (Array.isArray(field)) {
-					let current = content;
-					for (let j = 0; j < field.length; j++) {
-						if (current === null || typeof current !== "object") {
-							current = null;
-							break;
-						}
-						current = current[field[j]];
-					}
-					if (typeof current === "string") {
-						mainModule = current;
-					}
-				} else {
-					if (typeof content[field] === "string") {
-						mainModule = content[field];
-					}
-				}
-				if (!mainModule) return callback();
-				if (this.options.forceRelative && !/^\.\.?\//.test(mainModule))
-					mainModule = "./" + mainModule;
-				const obj = Object.assign({}, request, {
-					request: mainModule,
-					alreadyTriedMainField: request.descriptionFilePath
-				});
-				return resolver.doResolve(
-					target,
-					obj,
-					"use " +
-						mainModule +
-						" from " +
-						this.options.name +
-						" in " +
-						filename,
-					resolveContext,
-					callback
-				);
-			});
-	}
-};

+ 0 - 44
node_modules.bak/enhanced-resolve/lib/ModuleAppendPlugin.js

@@ -1,44 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class ModuleAppendPlugin {
-	constructor(source, appending, target) {
-		this.source = source;
-		this.appending = appending;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("ModuleAppendPlugin", (request, resolveContext, callback) => {
-				const i = request.request.indexOf("/"),
-					j = request.request.indexOf("\\");
-				const p = i < 0 ? j : j < 0 ? i : i < j ? i : j;
-				let moduleName, remainingRequest;
-				if (p < 0) {
-					moduleName = request.request;
-					remainingRequest = "";
-				} else {
-					moduleName = request.request.substr(0, p);
-					remainingRequest = request.request.substr(p);
-				}
-				if (moduleName === "." || moduleName === "..") return callback();
-				const moduleFinalName = moduleName + this.appending;
-				const obj = Object.assign({}, request, {
-					request: moduleFinalName + remainingRequest
-				});
-				resolver.doResolve(
-					target,
-					obj,
-					"module variation " + moduleFinalName,
-					resolveContext,
-					callback
-				);
-			});
-	}
-};

+ 0 - 36
node_modules.bak/enhanced-resolve/lib/ModuleKindPlugin.js

@@ -1,36 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class ModuleKindPlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("ModuleKindPlugin", (request, resolveContext, callback) => {
-				if (!request.module) return callback();
-				const obj = Object.assign({}, request);
-				delete obj.module;
-				resolver.doResolve(
-					target,
-					obj,
-					"resolve as module",
-					resolveContext,
-					(err, result) => {
-						if (err) return callback(err);
-
-						// Don't allow other alternatives
-						if (result === undefined) return callback(null, null);
-						callback(null, result);
-					}
-				);
-			});
-	}
-};

+ 0 - 64
node_modules.bak/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js

@@ -1,64 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const forEachBail = require("./forEachBail");
-const getPaths = require("./getPaths");
-
-module.exports = class ModulesInHierachicDirectoriesPlugin {
-	constructor(source, directories, target) {
-		this.source = source;
-		this.directories = [].concat(directories);
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync(
-				"ModulesInHierachicDirectoriesPlugin",
-				(request, resolveContext, callback) => {
-					const fs = resolver.fileSystem;
-					const addrs = getPaths(request.path)
-						.paths.map(p => {
-							return this.directories.map(d => resolver.join(p, d));
-						})
-						.reduce((array, p) => {
-							array.push.apply(array, p);
-							return array;
-						}, []);
-					forEachBail(
-						addrs,
-						(addr, callback) => {
-							fs.stat(addr, (err, stat) => {
-								if (!err && stat && stat.isDirectory()) {
-									const obj = Object.assign({}, request, {
-										path: addr,
-										request: "./" + request.request
-									});
-									const message = "looking for modules in " + addr;
-									return resolver.doResolve(
-										target,
-										obj,
-										message,
-										resolveContext,
-										callback
-									);
-								}
-								if (resolveContext.log)
-									resolveContext.log(
-										addr + " doesn't exist or is not a directory"
-									);
-								if (resolveContext.missing) resolveContext.missing.add(addr);
-								return callback();
-							});
-						},
-						callback
-					);
-				}
-			);
-	}
-};

+ 0 - 32
node_modules.bak/enhanced-resolve/lib/ModulesInRootPlugin.js

@@ -1,32 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class ModulesInRootPlugin {
-	constructor(source, path, target) {
-		this.source = source;
-		this.path = path;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("ModulesInRootPlugin", (request, resolveContext, callback) => {
-				const obj = Object.assign({}, request, {
-					path: this.path,
-					request: "./" + request.request
-				});
-				resolver.doResolve(
-					target,
-					obj,
-					"looking for modules in " + this.path,
-					resolveContext,
-					callback
-				);
-			});
-	}
-};

+ 0 - 21
node_modules.bak/enhanced-resolve/lib/NextPlugin.js

@@ -1,21 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-module.exports = class NextPlugin {
-	constructor(source, target) {
-		this.source = source;
-		this.target = target;
-	}
-
-	apply(resolver) {
-		const target = resolver.ensureHook(this.target);
-		resolver
-			.getHook(this.source)
-			.tapAsync("NextPlugin", (request, resolveContext, callback) => {
-				resolver.doResolve(target, request, null, resolveContext, callback);
-			});
-	}
-};

+ 0 - 50
node_modules.bak/enhanced-resolve/lib/NodeJsInputFileSystem.js

@@ -1,50 +0,0 @@
-/*
-	MIT License http://www.opensource.org/licenses/mit-license.php
-	Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const fs = require("graceful-fs");
-
-class NodeJsInputFileSystem {
-	readdir(path, callback) {
-		fs.readdir(path, (err, files) => {
-			callback(
-				err,
-				files &&
-					files.map(file => {
-						return file.normalize ? file.normalize("NFC") : file;
-					})
-			);
-		});
-	}
-
-	readdirSync(path) {
-		const files = fs.readdirSync(path);
-		return (
-			files &&
-			files.map(file => {
-				return file.normalize ? file.normalize("NFC") : file;
-			})
-		);
-	}
-}
-
-const fsMethods = [
-	"stat",
-	"statSync",
-	"readFile",
-	"readFileSync",
-	"readlink",
-	"readlinkSync"
-];
-
-for (const key of fsMethods) {
-	Object.defineProperty(NodeJsInputFileSystem.prototype, key, {
-		configurable: true,
-		writable: true,
-		value: fs[key].bind(fs)
-	});
-}
-
-module.exports = NodeJsInputFileSystem;

+ 0 - 0
node_modules.bak/enhanced-resolve/lib/ParsePlugin.js


Some files were not shown because too many files changed in this diff