diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Makefile | 24 | ||||
| -rw-r--r-- | main.js | 17 | ||||
| -rw-r--r-- | package-lock.json | 1423 | ||||
| -rw-r--r-- | package.json | 7 | ||||
| -rw-r--r-- | peniquitous.user.js | 210 | 
6 files changed, 1668 insertions, 14 deletions
| diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2ccbe46 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1058ae6 --- /dev/null +++ b/Makefile @@ -0,0 +1,24 @@ +# Copyright (c) 2021  Teddy Wing +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + + +BROWSERIFY := ./node_modules/.bin/browserify + +all: peniquitous.user.js + +peniquitous.user.js: main.js peniquitous.js +	$(BROWSERIFY) \ +		--outfile $@ \ +		$< @@ -1,4 +1,4 @@ -// Copyright (c) 2015  Teddy Wing +// Copyright (c) 2015, 2021  Teddy Wing  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -14,16 +14,5 @@  // along with this program. If not, see <https://www.gnu.org/licenses/>. -(function() { -	[ -		'lib/mousetrap/tests/libs/key-event.js', -		'peniquitous.js' -	].forEach(function(file) { -		var s = document.createElement('script'); -		s.src = chrome.extension.getURL(file); -		s.onload = function() { -			this.parentNode.removeChild(this); -		}; -		document.documentElement.appendChild(s); -	}); -})(); +require('./lib/mousetrap/tests/libs/key-event.js'); +require('./peniquitous'); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..aebcac8 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1423 @@ +{ +	"name": "peniquitous", +	"version": "0.0.1", +	"lockfileVersion": 1, +	"requires": true, +	"dependencies": { +		"JSONStream": { +			"version": "1.3.5", +			"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", +			"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", +			"requires": { +				"jsonparse": "^1.2.0", +				"through": ">=2.2.7 <3" +			} +		}, +		"acorn": { +			"version": "7.4.1", +			"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", +			"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" +		}, +		"acorn-node": { +			"version": "1.8.2", +			"resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", +			"integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", +			"requires": { +				"acorn": "^7.0.0", +				"acorn-walk": "^7.0.0", +				"xtend": "^4.0.2" +			} +		}, +		"acorn-walk": { +			"version": "7.2.0", +			"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", +			"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" +		}, +		"array-filter": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", +			"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" +		}, +		"asn1.js": { +			"version": "5.4.1", +			"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", +			"integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", +			"requires": { +				"bn.js": "^4.0.0", +				"inherits": "^2.0.1", +				"minimalistic-assert": "^1.0.0", +				"safer-buffer": "^2.1.0" +			}, +			"dependencies": { +				"bn.js": { +					"version": "4.12.0", +					"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", +					"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" +				} +			} +		}, +		"assert": { +			"version": "1.5.0", +			"resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", +			"integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", +			"requires": { +				"object-assign": "^4.1.1", +				"util": "0.10.3" +			}, +			"dependencies": { +				"inherits": { +					"version": "2.0.1", +					"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", +					"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" +				}, +				"util": { +					"version": "0.10.3", +					"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", +					"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", +					"requires": { +						"inherits": "2.0.1" +					} +				} +			} +		}, +		"available-typed-arrays": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", +			"integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", +			"requires": { +				"array-filter": "^1.0.0" +			} +		}, +		"balanced-match": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", +			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" +		}, +		"base64-js": { +			"version": "1.5.1", +			"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", +			"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" +		}, +		"bn.js": { +			"version": "5.2.0", +			"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", +			"integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" +		}, +		"brace-expansion": { +			"version": "1.1.11", +			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", +			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", +			"requires": { +				"balanced-match": "^1.0.0", +				"concat-map": "0.0.1" +			} +		}, +		"brorand": { +			"version": "1.1.0", +			"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", +			"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" +		}, +		"browser-pack": { +			"version": "6.1.0", +			"resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", +			"integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", +			"requires": { +				"JSONStream": "^1.0.3", +				"combine-source-map": "~0.8.0", +				"defined": "^1.0.0", +				"safe-buffer": "^5.1.1", +				"through2": "^2.0.0", +				"umd": "^3.0.0" +			} +		}, +		"browser-resolve": { +			"version": "2.0.0", +			"resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", +			"integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", +			"requires": { +				"resolve": "^1.17.0" +			} +		}, +		"browserify": { +			"version": "17.0.0", +			"resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", +			"integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", +			"requires": { +				"JSONStream": "^1.0.3", +				"assert": "^1.4.0", +				"browser-pack": "^6.0.1", +				"browser-resolve": "^2.0.0", +				"browserify-zlib": "~0.2.0", +				"buffer": "~5.2.1", +				"cached-path-relative": "^1.0.0", +				"concat-stream": "^1.6.0", +				"console-browserify": "^1.1.0", +				"constants-browserify": "~1.0.0", +				"crypto-browserify": "^3.0.0", +				"defined": "^1.0.0", +				"deps-sort": "^2.0.1", +				"domain-browser": "^1.2.0", +				"duplexer2": "~0.1.2", +				"events": "^3.0.0", +				"glob": "^7.1.0", +				"has": "^1.0.0", +				"htmlescape": "^1.1.0", +				"https-browserify": "^1.0.0", +				"inherits": "~2.0.1", +				"insert-module-globals": "^7.2.1", +				"labeled-stream-splicer": "^2.0.0", +				"mkdirp-classic": "^0.5.2", +				"module-deps": "^6.2.3", +				"os-browserify": "~0.3.0", +				"parents": "^1.0.1", +				"path-browserify": "^1.0.0", +				"process": "~0.11.0", +				"punycode": "^1.3.2", +				"querystring-es3": "~0.2.0", +				"read-only-stream": "^2.0.0", +				"readable-stream": "^2.0.2", +				"resolve": "^1.1.4", +				"shasum-object": "^1.0.0", +				"shell-quote": "^1.6.1", +				"stream-browserify": "^3.0.0", +				"stream-http": "^3.0.0", +				"string_decoder": "^1.1.1", +				"subarg": "^1.0.0", +				"syntax-error": "^1.1.1", +				"through2": "^2.0.0", +				"timers-browserify": "^1.0.1", +				"tty-browserify": "0.0.1", +				"url": "~0.11.0", +				"util": "~0.12.0", +				"vm-browserify": "^1.0.0", +				"xtend": "^4.0.0" +			} +		}, +		"browserify-aes": { +			"version": "1.2.0", +			"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", +			"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", +			"requires": { +				"buffer-xor": "^1.0.3", +				"cipher-base": "^1.0.0", +				"create-hash": "^1.1.0", +				"evp_bytestokey": "^1.0.3", +				"inherits": "^2.0.1", +				"safe-buffer": "^5.0.1" +			} +		}, +		"browserify-cipher": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", +			"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", +			"requires": { +				"browserify-aes": "^1.0.4", +				"browserify-des": "^1.0.0", +				"evp_bytestokey": "^1.0.0" +			} +		}, +		"browserify-des": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", +			"integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", +			"requires": { +				"cipher-base": "^1.0.1", +				"des.js": "^1.0.0", +				"inherits": "^2.0.1", +				"safe-buffer": "^5.1.2" +			} +		}, +		"browserify-rsa": { +			"version": "4.1.0", +			"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", +			"integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", +			"requires": { +				"bn.js": "^5.0.0", +				"randombytes": "^2.0.1" +			} +		}, +		"browserify-sign": { +			"version": "4.2.1", +			"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", +			"integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", +			"requires": { +				"bn.js": "^5.1.1", +				"browserify-rsa": "^4.0.1", +				"create-hash": "^1.2.0", +				"create-hmac": "^1.1.7", +				"elliptic": "^6.5.3", +				"inherits": "^2.0.4", +				"parse-asn1": "^5.1.5", +				"readable-stream": "^3.6.0", +				"safe-buffer": "^5.2.0" +			}, +			"dependencies": { +				"readable-stream": { +					"version": "3.6.0", +					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", +					"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", +					"requires": { +						"inherits": "^2.0.3", +						"string_decoder": "^1.1.1", +						"util-deprecate": "^1.0.1" +					} +				} +			} +		}, +		"browserify-zlib": { +			"version": "0.2.0", +			"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", +			"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", +			"requires": { +				"pako": "~1.0.5" +			} +		}, +		"buffer": { +			"version": "5.2.1", +			"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", +			"integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", +			"requires": { +				"base64-js": "^1.0.2", +				"ieee754": "^1.1.4" +			} +		}, +		"buffer-from": { +			"version": "1.1.1", +			"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", +			"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" +		}, +		"buffer-xor": { +			"version": "1.0.3", +			"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", +			"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" +		}, +		"builtin-status-codes": { +			"version": "3.0.0", +			"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", +			"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" +		}, +		"cached-path-relative": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", +			"integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" +		}, +		"call-bind": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", +			"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", +			"requires": { +				"function-bind": "^1.1.1", +				"get-intrinsic": "^1.0.2" +			} +		}, +		"cipher-base": { +			"version": "1.0.4", +			"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", +			"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", +			"requires": { +				"inherits": "^2.0.1", +				"safe-buffer": "^5.0.1" +			} +		}, +		"combine-source-map": { +			"version": "0.8.0", +			"resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", +			"integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", +			"requires": { +				"convert-source-map": "~1.1.0", +				"inline-source-map": "~0.6.0", +				"lodash.memoize": "~3.0.3", +				"source-map": "~0.5.3" +			} +		}, +		"concat-map": { +			"version": "0.0.1", +			"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", +			"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" +		}, +		"concat-stream": { +			"version": "1.6.2", +			"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", +			"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", +			"requires": { +				"buffer-from": "^1.0.0", +				"inherits": "^2.0.3", +				"readable-stream": "^2.2.2", +				"typedarray": "^0.0.6" +			} +		}, +		"console-browserify": { +			"version": "1.2.0", +			"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", +			"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" +		}, +		"constants-browserify": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", +			"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" +		}, +		"convert-source-map": { +			"version": "1.1.3", +			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", +			"integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" +		}, +		"core-util-is": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", +			"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" +		}, +		"create-ecdh": { +			"version": "4.0.4", +			"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", +			"integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", +			"requires": { +				"bn.js": "^4.1.0", +				"elliptic": "^6.5.3" +			}, +			"dependencies": { +				"bn.js": { +					"version": "4.12.0", +					"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", +					"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" +				} +			} +		}, +		"create-hash": { +			"version": "1.2.0", +			"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", +			"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", +			"requires": { +				"cipher-base": "^1.0.1", +				"inherits": "^2.0.1", +				"md5.js": "^1.3.4", +				"ripemd160": "^2.0.1", +				"sha.js": "^2.4.0" +			} +		}, +		"create-hmac": { +			"version": "1.1.7", +			"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", +			"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", +			"requires": { +				"cipher-base": "^1.0.3", +				"create-hash": "^1.1.0", +				"inherits": "^2.0.1", +				"ripemd160": "^2.0.0", +				"safe-buffer": "^5.0.1", +				"sha.js": "^2.4.8" +			} +		}, +		"crypto-browserify": { +			"version": "3.12.0", +			"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", +			"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", +			"requires": { +				"browserify-cipher": "^1.0.0", +				"browserify-sign": "^4.0.0", +				"create-ecdh": "^4.0.0", +				"create-hash": "^1.1.0", +				"create-hmac": "^1.1.0", +				"diffie-hellman": "^5.0.0", +				"inherits": "^2.0.1", +				"pbkdf2": "^3.0.3", +				"public-encrypt": "^4.0.0", +				"randombytes": "^2.0.0", +				"randomfill": "^1.0.3" +			} +		}, +		"dash-ast": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", +			"integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" +		}, +		"define-properties": { +			"version": "1.1.3", +			"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", +			"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", +			"requires": { +				"object-keys": "^1.0.12" +			} +		}, +		"defined": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", +			"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" +		}, +		"deps-sort": { +			"version": "2.0.1", +			"resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", +			"integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", +			"requires": { +				"JSONStream": "^1.0.3", +				"shasum-object": "^1.0.0", +				"subarg": "^1.0.0", +				"through2": "^2.0.0" +			} +		}, +		"des.js": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", +			"integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", +			"requires": { +				"inherits": "^2.0.1", +				"minimalistic-assert": "^1.0.0" +			} +		}, +		"detective": { +			"version": "5.2.0", +			"resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", +			"integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", +			"requires": { +				"acorn-node": "^1.6.1", +				"defined": "^1.0.0", +				"minimist": "^1.1.1" +			} +		}, +		"diffie-hellman": { +			"version": "5.0.3", +			"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", +			"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", +			"requires": { +				"bn.js": "^4.1.0", +				"miller-rabin": "^4.0.0", +				"randombytes": "^2.0.0" +			}, +			"dependencies": { +				"bn.js": { +					"version": "4.12.0", +					"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", +					"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" +				} +			} +		}, +		"domain-browser": { +			"version": "1.2.0", +			"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", +			"integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" +		}, +		"duplexer2": { +			"version": "0.1.4", +			"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", +			"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", +			"requires": { +				"readable-stream": "^2.0.2" +			} +		}, +		"elliptic": { +			"version": "6.5.4", +			"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", +			"integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", +			"requires": { +				"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" +			}, +			"dependencies": { +				"bn.js": { +					"version": "4.12.0", +					"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", +					"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" +				} +			} +		}, +		"es-abstract": { +			"version": "1.18.0", +			"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", +			"integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", +			"requires": { +				"call-bind": "^1.0.2", +				"es-to-primitive": "^1.2.1", +				"function-bind": "^1.1.1", +				"get-intrinsic": "^1.1.1", +				"has": "^1.0.3", +				"has-symbols": "^1.0.2", +				"is-callable": "^1.2.3", +				"is-negative-zero": "^2.0.1", +				"is-regex": "^1.1.2", +				"is-string": "^1.0.5", +				"object-inspect": "^1.9.0", +				"object-keys": "^1.1.1", +				"object.assign": "^4.1.2", +				"string.prototype.trimend": "^1.0.4", +				"string.prototype.trimstart": "^1.0.4", +				"unbox-primitive": "^1.0.0" +			} +		}, +		"es-to-primitive": { +			"version": "1.2.1", +			"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", +			"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", +			"requires": { +				"is-callable": "^1.1.4", +				"is-date-object": "^1.0.1", +				"is-symbol": "^1.0.2" +			} +		}, +		"events": { +			"version": "3.3.0", +			"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", +			"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" +		}, +		"evp_bytestokey": { +			"version": "1.0.3", +			"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", +			"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", +			"requires": { +				"md5.js": "^1.3.4", +				"safe-buffer": "^5.1.1" +			} +		}, +		"fast-safe-stringify": { +			"version": "2.0.7", +			"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", +			"integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" +		}, +		"foreach": { +			"version": "2.0.5", +			"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", +			"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" +		}, +		"fs.realpath": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", +			"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" +		}, +		"function-bind": { +			"version": "1.1.1", +			"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", +			"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" +		}, +		"get-assigned-identifiers": { +			"version": "1.2.0", +			"resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", +			"integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" +		}, +		"get-intrinsic": { +			"version": "1.1.1", +			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", +			"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", +			"requires": { +				"function-bind": "^1.1.1", +				"has": "^1.0.3", +				"has-symbols": "^1.0.1" +			} +		}, +		"glob": { +			"version": "7.1.6", +			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", +			"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", +			"requires": { +				"fs.realpath": "^1.0.0", +				"inflight": "^1.0.4", +				"inherits": "2", +				"minimatch": "^3.0.4", +				"once": "^1.3.0", +				"path-is-absolute": "^1.0.0" +			} +		}, +		"has": { +			"version": "1.0.3", +			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", +			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", +			"requires": { +				"function-bind": "^1.1.1" +			} +		}, +		"has-bigints": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", +			"integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" +		}, +		"has-symbols": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", +			"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" +		}, +		"hash-base": { +			"version": "3.1.0", +			"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", +			"integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", +			"requires": { +				"inherits": "^2.0.4", +				"readable-stream": "^3.6.0", +				"safe-buffer": "^5.2.0" +			}, +			"dependencies": { +				"readable-stream": { +					"version": "3.6.0", +					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", +					"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", +					"requires": { +						"inherits": "^2.0.3", +						"string_decoder": "^1.1.1", +						"util-deprecate": "^1.0.1" +					} +				} +			} +		}, +		"hash.js": { +			"version": "1.1.7", +			"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", +			"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", +			"requires": { +				"inherits": "^2.0.3", +				"minimalistic-assert": "^1.0.1" +			} +		}, +		"hmac-drbg": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", +			"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", +			"requires": { +				"hash.js": "^1.0.3", +				"minimalistic-assert": "^1.0.0", +				"minimalistic-crypto-utils": "^1.0.1" +			} +		}, +		"htmlescape": { +			"version": "1.1.1", +			"resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", +			"integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" +		}, +		"https-browserify": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", +			"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" +		}, +		"ieee754": { +			"version": "1.2.1", +			"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", +			"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" +		}, +		"inflight": { +			"version": "1.0.6", +			"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", +			"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", +			"requires": { +				"once": "^1.3.0", +				"wrappy": "1" +			} +		}, +		"inherits": { +			"version": "2.0.4", +			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", +			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" +		}, +		"inline-source-map": { +			"version": "0.6.2", +			"resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", +			"integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", +			"requires": { +				"source-map": "~0.5.3" +			} +		}, +		"insert-module-globals": { +			"version": "7.2.1", +			"resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", +			"integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==", +			"requires": { +				"JSONStream": "^1.0.3", +				"acorn-node": "^1.5.2", +				"combine-source-map": "^0.8.0", +				"concat-stream": "^1.6.1", +				"is-buffer": "^1.1.0", +				"path-is-absolute": "^1.0.1", +				"process": "~0.11.0", +				"through2": "^2.0.0", +				"undeclared-identifiers": "^1.1.2", +				"xtend": "^4.0.0" +			} +		}, +		"is-arguments": { +			"version": "1.1.0", +			"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", +			"integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", +			"requires": { +				"call-bind": "^1.0.0" +			} +		}, +		"is-bigint": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", +			"integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" +		}, +		"is-boolean-object": { +			"version": "1.1.0", +			"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", +			"integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", +			"requires": { +				"call-bind": "^1.0.0" +			} +		}, +		"is-buffer": { +			"version": "1.1.6", +			"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", +			"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" +		}, +		"is-callable": { +			"version": "1.2.3", +			"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", +			"integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" +		}, +		"is-core-module": { +			"version": "2.2.0", +			"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", +			"integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", +			"requires": { +				"has": "^1.0.3" +			} +		}, +		"is-date-object": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", +			"integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" +		}, +		"is-generator-function": { +			"version": "1.0.8", +			"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", +			"integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==" +		}, +		"is-negative-zero": { +			"version": "2.0.1", +			"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", +			"integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" +		}, +		"is-number-object": { +			"version": "1.0.4", +			"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", +			"integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" +		}, +		"is-regex": { +			"version": "1.1.2", +			"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", +			"integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", +			"requires": { +				"call-bind": "^1.0.2", +				"has-symbols": "^1.0.1" +			} +		}, +		"is-string": { +			"version": "1.0.5", +			"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", +			"integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" +		}, +		"is-symbol": { +			"version": "1.0.3", +			"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", +			"integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", +			"requires": { +				"has-symbols": "^1.0.1" +			} +		}, +		"is-typed-array": { +			"version": "1.1.5", +			"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", +			"integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", +			"requires": { +				"available-typed-arrays": "^1.0.2", +				"call-bind": "^1.0.2", +				"es-abstract": "^1.18.0-next.2", +				"foreach": "^2.0.5", +				"has-symbols": "^1.0.1" +			} +		}, +		"isarray": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", +			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" +		}, +		"jsonparse": { +			"version": "1.3.1", +			"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", +			"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" +		}, +		"labeled-stream-splicer": { +			"version": "2.0.2", +			"resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", +			"integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", +			"requires": { +				"inherits": "^2.0.1", +				"stream-splicer": "^2.0.0" +			} +		}, +		"lodash.memoize": { +			"version": "3.0.4", +			"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", +			"integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" +		}, +		"md5.js": { +			"version": "1.3.5", +			"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", +			"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", +			"requires": { +				"hash-base": "^3.0.0", +				"inherits": "^2.0.1", +				"safe-buffer": "^5.1.2" +			} +		}, +		"miller-rabin": { +			"version": "4.0.1", +			"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", +			"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", +			"requires": { +				"bn.js": "^4.0.0", +				"brorand": "^1.0.1" +			}, +			"dependencies": { +				"bn.js": { +					"version": "4.12.0", +					"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", +					"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" +				} +			} +		}, +		"minimalistic-assert": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", +			"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" +		}, +		"minimalistic-crypto-utils": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", +			"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" +		}, +		"minimatch": { +			"version": "3.0.4", +			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", +			"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", +			"requires": { +				"brace-expansion": "^1.1.7" +			} +		}, +		"minimist": { +			"version": "1.2.5", +			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", +			"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" +		}, +		"mkdirp-classic": { +			"version": "0.5.3", +			"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", +			"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" +		}, +		"module-deps": { +			"version": "6.2.3", +			"resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz", +			"integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==", +			"requires": { +				"JSONStream": "^1.0.3", +				"browser-resolve": "^2.0.0", +				"cached-path-relative": "^1.0.2", +				"concat-stream": "~1.6.0", +				"defined": "^1.0.0", +				"detective": "^5.2.0", +				"duplexer2": "^0.1.2", +				"inherits": "^2.0.1", +				"parents": "^1.0.0", +				"readable-stream": "^2.0.2", +				"resolve": "^1.4.0", +				"stream-combiner2": "^1.1.1", +				"subarg": "^1.0.0", +				"through2": "^2.0.0", +				"xtend": "^4.0.0" +			} +		}, +		"object-assign": { +			"version": "4.1.1", +			"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", +			"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" +		}, +		"object-inspect": { +			"version": "1.9.0", +			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", +			"integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" +		}, +		"object-keys": { +			"version": "1.1.1", +			"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", +			"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" +		}, +		"object.assign": { +			"version": "4.1.2", +			"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", +			"integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", +			"requires": { +				"call-bind": "^1.0.0", +				"define-properties": "^1.1.3", +				"has-symbols": "^1.0.1", +				"object-keys": "^1.1.1" +			} +		}, +		"once": { +			"version": "1.4.0", +			"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", +			"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", +			"requires": { +				"wrappy": "1" +			} +		}, +		"os-browserify": { +			"version": "0.3.0", +			"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", +			"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" +		}, +		"pako": { +			"version": "1.0.11", +			"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", +			"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" +		}, +		"parents": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", +			"integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", +			"requires": { +				"path-platform": "~0.11.15" +			} +		}, +		"parse-asn1": { +			"version": "5.1.6", +			"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", +			"integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", +			"requires": { +				"asn1.js": "^5.2.0", +				"browserify-aes": "^1.0.0", +				"evp_bytestokey": "^1.0.0", +				"pbkdf2": "^3.0.3", +				"safe-buffer": "^5.1.1" +			} +		}, +		"path-browserify": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", +			"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" +		}, +		"path-is-absolute": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", +			"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" +		}, +		"path-parse": { +			"version": "1.0.6", +			"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", +			"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" +		}, +		"path-platform": { +			"version": "0.11.15", +			"resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", +			"integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" +		}, +		"pbkdf2": { +			"version": "3.1.1", +			"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", +			"integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", +			"requires": { +				"create-hash": "^1.1.2", +				"create-hmac": "^1.1.4", +				"ripemd160": "^2.0.1", +				"safe-buffer": "^5.0.1", +				"sha.js": "^2.4.8" +			} +		}, +		"process": { +			"version": "0.11.10", +			"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", +			"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" +		}, +		"process-nextick-args": { +			"version": "2.0.1", +			"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", +			"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" +		}, +		"public-encrypt": { +			"version": "4.0.3", +			"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", +			"integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", +			"requires": { +				"bn.js": "^4.1.0", +				"browserify-rsa": "^4.0.0", +				"create-hash": "^1.1.0", +				"parse-asn1": "^5.0.0", +				"randombytes": "^2.0.1", +				"safe-buffer": "^5.1.2" +			}, +			"dependencies": { +				"bn.js": { +					"version": "4.12.0", +					"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", +					"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" +				} +			} +		}, +		"punycode": { +			"version": "1.4.1", +			"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", +			"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" +		}, +		"querystring": { +			"version": "0.2.0", +			"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", +			"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" +		}, +		"querystring-es3": { +			"version": "0.2.1", +			"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", +			"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" +		}, +		"randombytes": { +			"version": "2.1.0", +			"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", +			"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", +			"requires": { +				"safe-buffer": "^5.1.0" +			} +		}, +		"randomfill": { +			"version": "1.0.4", +			"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", +			"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", +			"requires": { +				"randombytes": "^2.0.5", +				"safe-buffer": "^5.1.0" +			} +		}, +		"read-only-stream": { +			"version": "2.0.0", +			"resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", +			"integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", +			"requires": { +				"readable-stream": "^2.0.2" +			} +		}, +		"readable-stream": { +			"version": "2.3.7", +			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", +			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", +			"requires": { +				"core-util-is": "~1.0.0", +				"inherits": "~2.0.3", +				"isarray": "~1.0.0", +				"process-nextick-args": "~2.0.0", +				"safe-buffer": "~5.1.1", +				"string_decoder": "~1.1.1", +				"util-deprecate": "~1.0.1" +			}, +			"dependencies": { +				"safe-buffer": { +					"version": "5.1.2", +					"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", +					"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" +				}, +				"string_decoder": { +					"version": "1.1.1", +					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", +					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", +					"requires": { +						"safe-buffer": "~5.1.0" +					} +				} +			} +		}, +		"resolve": { +			"version": "1.20.0", +			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", +			"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", +			"requires": { +				"is-core-module": "^2.2.0", +				"path-parse": "^1.0.6" +			} +		}, +		"ripemd160": { +			"version": "2.0.2", +			"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", +			"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", +			"requires": { +				"hash-base": "^3.0.0", +				"inherits": "^2.0.1" +			} +		}, +		"safe-buffer": { +			"version": "5.2.1", +			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", +			"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" +		}, +		"safer-buffer": { +			"version": "2.1.2", +			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", +			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" +		}, +		"sha.js": { +			"version": "2.4.11", +			"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", +			"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", +			"requires": { +				"inherits": "^2.0.1", +				"safe-buffer": "^5.0.1" +			} +		}, +		"shasum-object": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", +			"integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", +			"requires": { +				"fast-safe-stringify": "^2.0.7" +			} +		}, +		"shell-quote": { +			"version": "1.7.2", +			"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", +			"integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" +		}, +		"simple-concat": { +			"version": "1.0.1", +			"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", +			"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" +		}, +		"source-map": { +			"version": "0.5.7", +			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", +			"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" +		}, +		"stream-browserify": { +			"version": "3.0.0", +			"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", +			"integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", +			"requires": { +				"inherits": "~2.0.4", +				"readable-stream": "^3.5.0" +			}, +			"dependencies": { +				"readable-stream": { +					"version": "3.6.0", +					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", +					"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", +					"requires": { +						"inherits": "^2.0.3", +						"string_decoder": "^1.1.1", +						"util-deprecate": "^1.0.1" +					} +				} +			} +		}, +		"stream-combiner2": { +			"version": "1.1.1", +			"resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", +			"integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", +			"requires": { +				"duplexer2": "~0.1.0", +				"readable-stream": "^2.0.2" +			} +		}, +		"stream-http": { +			"version": "3.1.1", +			"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz", +			"integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==", +			"requires": { +				"builtin-status-codes": "^3.0.0", +				"inherits": "^2.0.4", +				"readable-stream": "^3.6.0", +				"xtend": "^4.0.2" +			}, +			"dependencies": { +				"readable-stream": { +					"version": "3.6.0", +					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", +					"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", +					"requires": { +						"inherits": "^2.0.3", +						"string_decoder": "^1.1.1", +						"util-deprecate": "^1.0.1" +					} +				} +			} +		}, +		"stream-splicer": { +			"version": "2.0.1", +			"resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", +			"integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", +			"requires": { +				"inherits": "^2.0.1", +				"readable-stream": "^2.0.2" +			} +		}, +		"string.prototype.trimend": { +			"version": "1.0.4", +			"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", +			"integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", +			"requires": { +				"call-bind": "^1.0.2", +				"define-properties": "^1.1.3" +			} +		}, +		"string.prototype.trimstart": { +			"version": "1.0.4", +			"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", +			"integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", +			"requires": { +				"call-bind": "^1.0.2", +				"define-properties": "^1.1.3" +			} +		}, +		"string_decoder": { +			"version": "1.3.0", +			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", +			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", +			"requires": { +				"safe-buffer": "~5.2.0" +			} +		}, +		"subarg": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", +			"integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", +			"requires": { +				"minimist": "^1.1.0" +			} +		}, +		"syntax-error": { +			"version": "1.4.0", +			"resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", +			"integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", +			"requires": { +				"acorn-node": "^1.2.0" +			} +		}, +		"through": { +			"version": "2.3.8", +			"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", +			"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" +		}, +		"through2": { +			"version": "2.0.5", +			"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", +			"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", +			"requires": { +				"readable-stream": "~2.3.6", +				"xtend": "~4.0.1" +			} +		}, +		"timers-browserify": { +			"version": "1.4.2", +			"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", +			"integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", +			"requires": { +				"process": "~0.11.0" +			} +		}, +		"tty-browserify": { +			"version": "0.0.1", +			"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", +			"integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" +		}, +		"typedarray": { +			"version": "0.0.6", +			"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", +			"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" +		}, +		"umd": { +			"version": "3.0.3", +			"resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", +			"integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" +		}, +		"unbox-primitive": { +			"version": "1.0.0", +			"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", +			"integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", +			"requires": { +				"function-bind": "^1.1.1", +				"has-bigints": "^1.0.0", +				"has-symbols": "^1.0.0", +				"which-boxed-primitive": "^1.0.1" +			} +		}, +		"undeclared-identifiers": { +			"version": "1.1.3", +			"resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", +			"integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", +			"requires": { +				"acorn-node": "^1.3.0", +				"dash-ast": "^1.0.0", +				"get-assigned-identifiers": "^1.2.0", +				"simple-concat": "^1.0.0", +				"xtend": "^4.0.1" +			} +		}, +		"url": { +			"version": "0.11.0", +			"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", +			"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", +			"requires": { +				"punycode": "1.3.2", +				"querystring": "0.2.0" +			}, +			"dependencies": { +				"punycode": { +					"version": "1.3.2", +					"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", +					"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" +				} +			} +		}, +		"util": { +			"version": "0.12.3", +			"resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", +			"integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", +			"requires": { +				"inherits": "^2.0.3", +				"is-arguments": "^1.0.4", +				"is-generator-function": "^1.0.7", +				"is-typed-array": "^1.1.3", +				"safe-buffer": "^5.1.2", +				"which-typed-array": "^1.1.2" +			} +		}, +		"util-deprecate": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", +			"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" +		}, +		"vm-browserify": { +			"version": "1.1.2", +			"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", +			"integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" +		}, +		"which-boxed-primitive": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", +			"integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", +			"requires": { +				"is-bigint": "^1.0.1", +				"is-boolean-object": "^1.1.0", +				"is-number-object": "^1.0.4", +				"is-string": "^1.0.5", +				"is-symbol": "^1.0.3" +			} +		}, +		"which-typed-array": { +			"version": "1.1.4", +			"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", +			"integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", +			"requires": { +				"available-typed-arrays": "^1.0.2", +				"call-bind": "^1.0.0", +				"es-abstract": "^1.18.0-next.1", +				"foreach": "^2.0.5", +				"function-bind": "^1.1.1", +				"has-symbols": "^1.0.1", +				"is-typed-array": "^1.1.3" +			} +		}, +		"wrappy": { +			"version": "1.0.2", +			"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", +			"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" +		}, +		"xtend": { +			"version": "4.0.2", +			"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", +			"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" +		} +	} +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..a00005f --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ +	"name": "peniquitous", +	"version": "0.0.1", +	"dependencies": { +		"browserify": "17.0.0" +	} +} diff --git a/peniquitous.user.js b/peniquitous.user.js new file mode 100644 index 0000000..185e5f4 --- /dev/null +++ b/peniquitous.user.js @@ -0,0 +1,210 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ +(function() { +    var KeyEvent = function(data, type) { +        this.keyCode = 'keyCode' in data ? data.keyCode : 0; +        this.charCode = 'charCode' in data ? data.charCode : 0; + +        var modifiers = 'modifiers' in data ? data.modifiers : []; + +        this.ctrlKey = false; +        this.metaKey = false; +        this.altKey = false; +        this.shiftKey = false; + +        for (var i = 0; i < modifiers.length; i++) { +            this[modifiers[i] + 'Key'] = true; +        } + +        this.type = type || 'keypress'; +    }; + +    KeyEvent.prototype.toNative = function() { +        var event = document.createEventObject ? document.createEventObject() : document.createEvent('Events'); + +        if (event.initEvent) { +            event.initEvent(this.type, true, true); +        } + +        event.keyCode = this.keyCode; +        event.which = this.charCode || this.keyCode; +        event.shiftKey = this.shiftKey; +        event.metaKey = this.metaKey; +        event.altKey = this.altKey; +        event.ctrlKey = this.ctrlKey; + +        return event; +    }; + +    KeyEvent.prototype.fire = function(element) { +        var event = this.toNative(); +        if (element.dispatchEvent) { +            element.dispatchEvent(event); +            return; +        } + +        element.fireEvent('on' + this.type, event); +    }; + +    // simulates complete key event as if the user pressed the key in the browser +    // triggers a keydown, then a keypress, then a keyup +    KeyEvent.simulate = function(charCode, keyCode, modifiers, element, repeat) { +        if (modifiers === undefined) { +            modifiers = []; +        } + +        if (element === undefined) { +            element = document; +        } + +        if (repeat === undefined) { +            repeat = 1; +        } + +        var modifierToKeyCode = { +            'shift': 16, +            'ctrl': 17, +            'alt': 18, +            'meta': 91 +        }; + +        // if the key is a modifier then take it out of the regular +        // keypress/keydown +        if (keyCode == 16 || keyCode == 17 || keyCode == 18 || keyCode == 91) { +            repeat = 0; +        } + +        var modifiersToInclude = []; +        var keyEvents = []; + +        // modifiers would go down first +        for (var i = 0; i < modifiers.length; i++) { +            modifiersToInclude.push(modifiers[i]); +            keyEvents.push(new KeyEvent({ +                charCode: 0, +                keyCode: modifierToKeyCode[modifiers[i]], +                modifiers: modifiersToInclude +            }, 'keydown')); +        } + +        // @todo factor in duration for these +        while (repeat > 0) { +            keyEvents.push(new KeyEvent({ +                charCode: 0, +                keyCode: keyCode, +                modifiers: modifiersToInclude +            }, 'keydown')); + +            keyEvents.push(new KeyEvent({ +                charCode: charCode, +                keyCode: charCode, +                modifiers: modifiersToInclude +            }, 'keypress')); + +            repeat--; +        } + +        keyEvents.push(new KeyEvent({ +            charCode: 0, +            keyCode: keyCode, +            modifiers: modifiersToInclude +        }, 'keyup')); + +        // now lift up the modifier keys +        for (i = 0; i < modifiersToInclude.length; i++) { +            var modifierKeyCode = modifierToKeyCode[modifiersToInclude[i]]; +            modifiersToInclude.splice(i, 1); +            keyEvents.push(new KeyEvent({ +                charCode: 0, +                keyCode: modifierKeyCode, +                modifiers: modifiersToInclude +            }, 'keyup')); +        } + +        for (i = 0; i < keyEvents.length; i++) { +            // console.log('firing', keyEvents[i].type, keyEvents[i].keyCode, keyEvents[i].charCode); +            keyEvents[i].fire(element); +        } +    }; + +    window.KeyEvent = KeyEvent; +}) (); + +},{}],2:[function(require,module,exports){ +// Copyright (c) 2015  Teddy Wing +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + + +require('./lib/mousetrap/tests/libs/key-event.js'); +require('./peniquitous'); + +// (function() { +// 	[ +// 		'lib/mousetrap/tests/libs/key-event.js', +// 		'peniquitous.js' +// 	].forEach(function(file) { +// 		var s = document.createElement('script'); +// 		s.src = chrome.extension.getURL(file); +// 		s.onload = function() { +// 			this.parentNode.removeChild(this); +// 		}; +// 		document.documentElement.appendChild(s); +// 	}); +// })(); + +},{"./lib/mousetrap/tests/libs/key-event.js":1,"./peniquitous":3}],3:[function(require,module,exports){ +// Copyright (c) 2015  Teddy Wing +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + + +(function() { +	key_codes = { +		p: 80, +		n: 78, +		UP_ARROW: 38, +		DOWN_ARROW: 40 +	}; + +	// Additional types: +	//   * email +	//   * number +	//   * tel +	//   * url +	var all_inputs = document.querySelectorAll('input[type="text"], input[type="search"]'); + +	for (var i = 0; i < all_inputs.length; i++) { +		all_inputs[i].addEventListener('keyup', function(e) { +			if (e.ctrlKey && e.keyCode === key_codes.p) { +				KeyEvent.simulate(0, key_codes.UP_ARROW, [], e.target); +			} +			else if (e.ctrlKey && e.keyCode === key_codes.n) { +				KeyEvent.simulate(0, key_codes.DOWN_ARROW, [], e.target); +			} +		}); +	} +})(); + +},{}]},{},[2]); | 
