Index: package-lock.json
===================================================================
--- package-lock.json	(revision 44700)
+++ package-lock.json	(working copy)
@@ -916,6 +916,7 @@
 			"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
 			"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"ansi-wrap": "0.1.0"
 			}
@@ -940,7 +941,8 @@
 			"version": "0.1.0",
 			"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
 			"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"anymatch": {
 			"version": "2.0.0",
@@ -1275,6 +1277,7 @@
 			"resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
 			"integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"file-type": "^3.1.0"
 			},
@@ -1283,11 +1286,11 @@
 					"version": "3.9.0",
 					"resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
 					"integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
-
 		"are-we-there-yet": {
 			"version": "1.1.4",
 			"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
@@ -1312,6 +1315,7 @@
 			"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
 			"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"arr-flatten": "^1.0.1"
 			}
@@ -1332,7 +1336,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
 			"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"array-find-index": {
 			"version": "1.0.2",
@@ -1365,7 +1370,8 @@
 			"version": "0.2.1",
 			"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
 			"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"array.prototype.find": {
 			"version": "2.0.4",
@@ -2117,7 +2123,8 @@
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
 			"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"big.js": {
 			"version": "3.2.0",
@@ -2229,6 +2236,7 @@
 			"resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
 			"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"readable-stream": "^2.3.5",
 				"safe-buffer": "^5.1.1"
@@ -2363,6 +2371,7 @@
 			"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
 			"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"expand-range": "^1.8.1",
 				"preserve": "^0.2.0",
@@ -2486,6 +2495,7 @@
 			"resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
 			"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"buffer-alloc-unsafe": "^1.1.0",
 				"buffer-fill": "^1.0.0"
@@ -2495,19 +2505,22 @@
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
 			"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"buffer-crc32": {
 			"version": "0.2.13",
 			"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
 			"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"buffer-fill": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
 			"integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"buffer-from": {
 			"version": "1.1.1",
@@ -2526,6 +2539,7 @@
 			"resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
 			"integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"file-type": "^3.1.0",
 				"readable-stream": "^2.0.2",
@@ -2537,13 +2551,15 @@
 					"version": "3.9.0",
 					"resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
 					"integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"uuid": {
 					"version": "2.0.3",
 					"resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
 					"integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -2711,7 +2727,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
 			"integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"caseless": {
 			"version": "0.12.0",
@@ -2733,6 +2750,7 @@
 			"resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
 			"integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"get-proxy": "^1.0.1",
 				"is-obj": "^1.0.0",
@@ -2744,7 +2762,8 @@
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
 					"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -3155,19 +3174,22 @@
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
 			"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"clone-stats": {
 			"version": "0.0.1",
 			"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
 			"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"co": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz",
 			"integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"coa": {
 			"version": "1.0.4",
@@ -3239,7 +3261,8 @@
 			"version": "1.1.3",
 			"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
 			"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"colors": {
 			"version": "0.6.2",
@@ -3261,6 +3284,7 @@
 			"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
 			"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"graceful-readlink": ">= 1.0.0"
 			}
@@ -3745,6 +3769,7 @@
 			"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
 			"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"capture-stack-trace": "^1.0.0"
 			}
@@ -4095,6 +4120,7 @@
 			"resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
 			"integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"buffer-to-vinyl": "^1.0.0",
 				"concat-stream": "^1.4.6",
@@ -4112,6 +4138,7 @@
 			"resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
 			"integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-tar": "^1.0.0",
 				"object-assign": "^2.0.0",
@@ -4125,19 +4152,22 @@
 					"version": "0.2.0",
 					"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
 					"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"object-assign": {
 					"version": "2.1.1",
 					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
 					"integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"vinyl": {
 					"version": "0.4.6",
 					"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
 					"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"clone": "^0.2.0",
 						"clone-stats": "^0.0.1"
@@ -4150,6 +4180,7 @@
 			"resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
 			"integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-bzip2": "^1.0.0",
 				"object-assign": "^2.0.0",
@@ -4164,19 +4195,22 @@
 					"version": "0.2.0",
 					"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
 					"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"object-assign": {
 					"version": "2.1.1",
 					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
 					"integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"vinyl": {
 					"version": "0.4.6",
 					"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
 					"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"clone": "^0.2.0",
 						"clone-stats": "^0.0.1"
@@ -4189,6 +4223,7 @@
 			"resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
 			"integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-gzip": "^1.0.0",
 				"object-assign": "^2.0.0",
@@ -4202,19 +4237,22 @@
 					"version": "0.2.0",
 					"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
 					"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"object-assign": {
 					"version": "2.1.1",
 					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
 					"integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"vinyl": {
 					"version": "0.4.6",
 					"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
 					"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"clone": "^0.2.0",
 						"clone-stats": "^0.0.1"
@@ -4227,6 +4265,7 @@
 			"resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
 			"integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-zip": "^1.0.0",
 				"read-all-stream": "^3.0.0",
@@ -4242,6 +4281,7 @@
 					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
 					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
 						"inherits": "~2.0.3",
@@ -4257,6 +4297,7 @@
 					"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"safe-buffer": "~5.1.0"
 					}
@@ -4266,6 +4307,7 @@
 					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
 					"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"readable-stream": "~2.3.6",
 						"xtend": "~4.0.1"
@@ -4283,7 +4325,8 @@
 			"version": "0.6.0",
 			"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
 			"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"deep-for-each": {
 			"version": "2.0.3",
@@ -4632,6 +4675,7 @@
 			"resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
 			"integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"caw": "^1.0.1",
 				"concat-stream": "^1.4.7",
@@ -4661,6 +4705,7 @@
 			"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
 			"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"readable-stream": "^2.0.2"
 			}
@@ -4682,6 +4727,7 @@
 			"resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
 			"integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"onetime": "^1.0.0",
 				"set-immediate-shim": "^1.0.0"
@@ -5039,6 +5085,7 @@
 			"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
 			"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-posix-bracket": "^0.1.0"
 			}
@@ -5048,17 +5095,11 @@
 			"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
 			"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"fill-range": "^2.1.0"
 			}
 		},
-		"expand-template": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz",
-			"integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==",
-			"dev": true,
-			"optional": true
-		},
 		"expand-tilde": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
@@ -5168,6 +5209,7 @@
 			"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
 			"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-extglob": "^1.0.0"
 			},
@@ -5176,7 +5218,8 @@
 					"version": "1.0.0",
 					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
 					"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -5223,6 +5266,7 @@
 			"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
 			"integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"ansi-gray": "^0.1.1",
 				"color-support": "^1.1.3",
@@ -5277,6 +5321,7 @@
 			"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
 			"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"pend": "~1.2.0"
 			}
@@ -5313,19 +5358,22 @@
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
 			"integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"filename-reserved-regex": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
 			"integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"filenamify": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
 			"integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"filename-reserved-regex": "^1.0.0",
 				"strip-outer": "^1.0.0",
@@ -5337,6 +5385,7 @@
 			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
 			"integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-number": "^2.1.0",
 				"isobject": "^2.0.0",
@@ -5440,7 +5489,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
 			"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"fizzy-ui-utils": {
 			"version": "1.0.1",
@@ -5492,6 +5542,7 @@
 			"resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
 			"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"for-in": "^1.0.1"
 			}
@@ -5565,7 +5616,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
 			"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"fs-extra": {
 			"version": "1.0.0",
@@ -5616,7 +5668,8 @@
 				"ansi-regex": {
 					"version": "2.1.1",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"aproba": {
 					"version": "1.2.0",
@@ -5637,12 +5690,14 @@
 				"balanced-match": {
 					"version": "1.0.0",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"brace-expansion": {
 					"version": "1.1.11",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"balanced-match": "^1.0.0",
 						"concat-map": "0.0.1"
@@ -5657,17 +5712,20 @@
 				"code-point-at": {
 					"version": "1.1.0",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"concat-map": {
 					"version": "0.0.1",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"console-control-strings": {
 					"version": "1.1.0",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"core-util-is": {
 					"version": "1.0.2",
@@ -5784,7 +5842,8 @@
 				"inherits": {
 					"version": "2.0.3",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"ini": {
 					"version": "1.3.5",
@@ -5796,6 +5855,7 @@
 					"version": "1.0.0",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"number-is-nan": "^1.0.0"
 					}
@@ -5810,6 +5870,7 @@
 					"version": "3.0.4",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
 					}
@@ -5817,12 +5878,14 @@
 				"minimist": {
 					"version": "0.0.8",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"minipass": {
 					"version": "2.2.4",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"safe-buffer": "^5.1.1",
 						"yallist": "^3.0.0"
@@ -5841,6 +5904,7 @@
 					"version": "0.5.1",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"minimist": "0.0.8"
 					}
@@ -5921,7 +5985,8 @@
 				"number-is-nan": {
 					"version": "1.0.1",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"object-assign": {
 					"version": "4.1.1",
@@ -5933,6 +5998,7 @@
 					"version": "1.4.0",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"wrappy": "1"
 					}
@@ -6018,7 +6084,8 @@
 				"safe-buffer": {
 					"version": "5.1.1",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"safer-buffer": {
 					"version": "2.1.2",
@@ -6054,6 +6121,7 @@
 					"version": "1.0.2",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"code-point-at": "^1.0.0",
 						"is-fullwidth-code-point": "^1.0.0",
@@ -6073,6 +6141,7 @@
 					"version": "3.0.1",
 					"bundled": true,
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"ansi-regex": "^2.0.0"
 					}
@@ -6116,12 +6185,14 @@
 				"wrappy": {
 					"version": "1.0.2",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"yallist": {
 					"version": "3.0.2",
 					"bundled": true,
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -6195,6 +6266,7 @@
 			"resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
 			"integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"rc": "^1.1.2"
 			}
@@ -6260,13 +6332,6 @@
 				"logalot": "^2.0.0"
 			}
 		},
-		"github-from-package": {
-			"version": "0.0.0",
-			"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
-			"integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
-			"dev": true,
-			"optional": true
-		},
 		"glob": {
 			"version": "7.0.6",
 			"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
@@ -6286,6 +6351,7 @@
 			"resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
 			"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"glob-parent": "^2.0.0",
 				"is-glob": "^2.0.0"
@@ -6296,6 +6362,7 @@
 					"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
 					"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"is-glob": "^2.0.0"
 					}
@@ -6304,13 +6371,15 @@
 					"version": "1.0.0",
 					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
 					"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"is-glob": {
 					"version": "2.0.1",
 					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"is-extglob": "^1.0.0"
 					}
@@ -6332,6 +6401,7 @@
 			"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
 			"integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"extend": "^3.0.0",
 				"glob": "^5.0.3",
@@ -6348,6 +6418,7 @@
 					"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
 					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"inflight": "^1.0.4",
 						"inherits": "2",
@@ -6492,6 +6563,7 @@
 			"resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
 			"integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"sparkles": "^1.0.0"
 			}
@@ -6509,6 +6581,7 @@
 			"resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
 			"integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"create-error-class": "^3.0.1",
 				"duplexer2": "^0.1.4",
@@ -6536,7 +6609,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
 			"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"grunt": {
 			"version": "1.0.3",
@@ -7171,6 +7245,7 @@
 			"resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
 			"integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"archive-type": "^3.0.0",
 				"decompress": "^3.0.0",
@@ -7182,13 +7257,15 @@
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
 			"integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"gulp-sourcemaps": {
 			"version": "1.6.0",
 			"resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
 			"integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"convert-source-map": "^1.1.1",
 				"graceful-fs": "^4.1.2",
@@ -7202,6 +7279,7 @@
 					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
 					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
 						"inherits": "~2.0.3",
@@ -7217,6 +7295,7 @@
 					"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"safe-buffer": "~5.1.0"
 					}
@@ -7226,6 +7305,7 @@
 					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
 					"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"readable-stream": "~2.3.6",
 						"xtend": "~4.0.1"
@@ -7238,6 +7318,7 @@
 			"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
 			"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"array-differ": "^1.0.0",
 				"array-uniq": "^1.0.2",
@@ -7263,19 +7344,22 @@
 					"version": "2.2.0",
 					"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
 					"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"object-assign": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
 					"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"readable-stream": {
 					"version": "2.3.6",
 					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
 					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
 						"inherits": "~2.0.3",
@@ -7290,13 +7374,15 @@
 					"version": "0.0.1",
 					"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
 					"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"string_decoder": {
 					"version": "1.1.1",
 					"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"safe-buffer": "~5.1.0"
 					}
@@ -7306,6 +7392,7 @@
 					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
 					"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"readable-stream": "~2.3.6",
 						"xtend": "~4.0.1"
@@ -7316,6 +7403,7 @@
 					"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
 					"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"clone": "^1.0.0",
 						"clone-stats": "^0.0.1",
@@ -7329,6 +7417,7 @@
 			"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
 			"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"glogg": "^1.0.0"
 			}
@@ -7433,6 +7522,7 @@
 			"resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
 			"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"sparkles": "^1.0.0"
 			}
@@ -8055,19 +8145,6 @@
 			"integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
 			"dev": true
 		},
-		"iltorb": {
-			"version": "1.3.10",
-			"resolved": "https://registry.npmjs.org/iltorb/-/iltorb-1.3.10.tgz",
-			"integrity": "sha512-nyB4+ru1u8CQqQ6w7YjasboKN3NQTN8GH/V/eEssNRKhW6UbdxdWhB9fJ5EEdjJfezKY0qPrcwLyIcgjL8hHxA==",
-			"dev": true,
-			"optional": true,
-			"requires": {
-				"detect-libc": "^0.2.0",
-				"nan": "^2.6.2",
-				"node-gyp": "^3.6.2",
-				"prebuild-install": "^2.3.0"
-			}
-		},
 		"imagemin": {
 			"version": "5.3.1",
 			"resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz",
@@ -8379,6 +8456,7 @@
 			"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
 			"integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-relative": "^0.1.0"
 			}
@@ -8440,7 +8518,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
 			"integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-callable": {
 			"version": "1.1.4",
@@ -8512,13 +8591,15 @@
 			"version": "1.0.3",
 			"resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
 			"integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-equal-shallow": {
 			"version": "0.1.3",
 			"resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
 			"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-primitive": "^2.0.0"
 			}
@@ -8571,7 +8652,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
 			"integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-jpg": {
 			"version": "1.0.1",
@@ -8584,13 +8666,15 @@
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
 			"integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-number": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
 			"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"kind-of": "^3.0.2"
 			}
@@ -8670,13 +8754,15 @@
 			"version": "0.1.1",
 			"resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
 			"integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-primitive": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
 			"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-promise": {
 			"version": "2.1.0",
@@ -8687,7 +8773,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
 			"integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-regex": {
 			"version": "1.0.4",
@@ -8701,7 +8788,8 @@
 			"version": "0.1.3",
 			"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
 			"integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-resolvable": {
 			"version": "1.1.0",
@@ -8713,7 +8801,8 @@
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
 			"integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-stream": {
 			"version": "1.1.0",
@@ -8742,7 +8831,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
 			"integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-touch-device": {
 			"version": "1.0.1",
@@ -8759,7 +8849,8 @@
 			"version": "1.2.4",
 			"resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
 			"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-utf8": {
 			"version": "0.2.1",
@@ -8771,7 +8862,8 @@
 			"version": "0.3.0",
 			"resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
 			"integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"is-windows": {
 			"version": "1.0.2",
@@ -8789,7 +8881,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
 			"integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"isarray": {
 			"version": "1.0.0",
@@ -8806,6 +8899,7 @@
 			"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
 			"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"isarray": "1.0.0"
 			}
@@ -9012,6 +9106,7 @@
 			"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
 			"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"jsonify": "~0.0.0"
 			}
@@ -9046,7 +9141,8 @@
 			"version": "0.0.0",
 			"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
 			"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"jsprim": {
 			"version": "1.4.1",
@@ -9198,55 +9294,64 @@
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
 			"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._basetostring": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
 			"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._basevalues": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
 			"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._getnative": {
 			"version": "3.9.1",
 			"resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
 			"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._isiterateecall": {
 			"version": "3.0.9",
 			"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
 			"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._reescape": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
 			"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._reevaluate": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
 			"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._reinterpolate": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
 			"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash._root": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
 			"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash.assign": {
 			"version": "4.2.0",
@@ -9271,6 +9376,7 @@
 			"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
 			"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"lodash._root": "^3.0.0"
 			}
@@ -9285,19 +9391,22 @@
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
 			"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash.isarray": {
 			"version": "3.0.4",
 			"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
 			"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash.isequal": {
 			"version": "4.5.0",
 			"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
 			"integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash.isplainobject": {
 			"version": "4.0.6",
@@ -9316,6 +9425,7 @@
 			"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
 			"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"lodash._getnative": "^3.0.0",
 				"lodash.isarguments": "^3.0.0",
@@ -9338,13 +9448,15 @@
 			"version": "3.6.1",
 			"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
 			"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lodash.template": {
 			"version": "3.6.2",
 			"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
 			"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"lodash._basecopy": "^3.0.0",
 				"lodash._basetostring": "^3.0.0",
@@ -9362,6 +9474,7 @@
 			"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
 			"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"lodash._reinterpolate": "^3.0.0",
 				"lodash.escape": "^3.0.0"
@@ -9418,7 +9531,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
 			"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"lpad-align": {
 			"version": "1.1.2",
@@ -9921,6 +10035,7 @@
 			"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
 			"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"readable-stream": "^2.0.1"
 			}
@@ -9941,6 +10056,7 @@
 			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
 			"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"arr-diff": "^2.0.0",
 				"array-unique": "^0.2.1",
@@ -9961,13 +10077,15 @@
 					"version": "1.0.0",
 					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
 					"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"is-glob": {
 					"version": "2.0.1",
 					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"is-extglob": "^1.0.0"
 					}
@@ -10010,13 +10128,6 @@
 			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
 			"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
 		},
-		"mimic-response": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
-			"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
-			"dev": true,
-			"optional": true
-		},
 		"minimalistic-assert": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -10212,6 +10323,7 @@
 			"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
 			"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"duplexer2": "0.0.2"
 			},
@@ -10221,6 +10333,7 @@
 					"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
 					"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"readable-stream": "~1.1.9"
 					}
@@ -10229,13 +10342,15 @@
 					"version": "0.0.1",
 					"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
 					"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"readable-stream": {
 					"version": "1.1.14",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
 						"inherits": "~2.0.1",
@@ -10247,7 +10362,8 @@
 					"version": "0.10.31",
 					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
 					"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -10341,16 +10457,6 @@
 			"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
 			"dev": true
 		},
-		"node-abi": {
-			"version": "2.5.0",
-			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.5.0.tgz",
-			"integrity": "sha512-9g2twBGSP6wIR5PW7tXvAWnEWKJDH/VskdXp168xsw9VVxpEGov8K4jsP4/VeoC7b2ZAyzckvMCuQuQlw44lXg==",
-			"dev": true,
-			"optional": true,
-			"requires": {
-				"semver": "^5.4.1"
-			}
-		},
 		"node-fetch": {
 			"version": "1.7.3",
 			"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
@@ -10366,78 +10472,6 @@
 			"integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==",
 			"dev": true
 		},
-		"node-gyp": {
-			"version": "3.6.2",
-			"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz",
-			"integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
-			"dev": true,
-			"optional": true,
-			"requires": {
-				"fstream": "^1.0.0",
-				"glob": "^7.0.3",
-				"graceful-fs": "^4.1.2",
-				"minimatch": "^3.0.2",
-				"mkdirp": "^0.5.0",
-				"nopt": "2 || 3",
-				"npmlog": "0 || 1 || 2 || 3 || 4",
-				"osenv": "0",
-				"request": "2",
-				"rimraf": "2",
-				"semver": "~5.3.0",
-				"tar": "^2.0.0",
-				"which": "1"
-			},
-			"dependencies": {
-				"glob": {
-					"version": "7.1.2",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
-					"dev": true,
-					"optional": true,
-					"requires": {
-						"fs.realpath": "^1.0.0",
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "^3.0.4",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
-					}
-				},
-				"graceful-fs": {
-					"version": "4.1.11",
-					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
-					"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
-					"dev": true,
-					"optional": true
-				},
-				"minimatch": {
-					"version": "3.0.4",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-					"dev": true,
-					"requires": {
-						"brace-expansion": "^1.1.7"
-					}
-				},
-				"nopt": {
-					"version": "3.0.6",
-					"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
-					"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
-					"dev": true,
-					"optional": true,
-					"requires": {
-						"abbrev": "1"
-					}
-				},
-				"semver": {
-					"version": "5.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
-					"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
-					"dev": true,
-					"optional": true
-				}
-			}
-		},
 		"node-libs-browser": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
@@ -10669,12 +10703,6 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
 			"integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
-			"dev": true
-		},
-		"noop-logger": {
-			"version": "0.1.1",
-			"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
-			"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
 			"dev": true,
 			"optional": true
 		},
@@ -10915,6 +10943,7 @@
 			"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
 			"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"for-own": "^0.1.4",
 				"is-extendable": "^0.1.1"
@@ -10982,7 +11011,8 @@
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
 			"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"opn": {
 			"version": "5.4.0",
@@ -11026,6 +11056,7 @@
 			"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
 			"integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-stream": "^1.0.1",
 				"readable-stream": "^2.0.1"
@@ -11190,6 +11221,7 @@
 			"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
 			"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"glob-base": "^0.3.0",
 				"is-dotfile": "^1.0.0",
@@ -11201,13 +11233,15 @@
 					"version": "1.0.0",
 					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
 					"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"is-glob": {
 					"version": "2.0.1",
 					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"is-extglob": "^1.0.0"
 					}
@@ -11227,7 +11261,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.0.tgz",
 			"integrity": "sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"parse-passwd": {
 			"version": "1.0.0",
@@ -11963,60 +11998,19 @@
 			"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
 			"dev": true
 		},
-		"prebuild-install": {
-			"version": "2.5.3",
-			"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.3.tgz",
-			"integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==",
-			"dev": true,
-			"optional": true,
-			"requires": {
-				"detect-libc": "^1.0.3",
-				"expand-template": "^1.0.2",
-				"github-from-package": "0.0.0",
-				"minimist": "^1.2.0",
-				"mkdirp": "^0.5.1",
-				"node-abi": "^2.2.0",
-				"noop-logger": "^0.1.1",
-				"npmlog": "^4.0.1",
-				"os-homedir": "^1.0.1",
-				"pump": "^2.0.1",
-				"rc": "^1.1.6",
-				"simple-get": "^2.7.0",
-				"tar-fs": "^1.13.0",
-				"tunnel-agent": "^0.6.0",
-				"which-pm-runs": "^1.0.0"
-			},
-			"dependencies": {
-				"detect-libc": {
-					"version": "1.0.3",
-					"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
-					"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
-					"dev": true,
-					"optional": true
-				},
-				"tunnel-agent": {
-					"version": "0.6.0",
-					"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-					"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-					"dev": true,
-					"optional": true,
-					"requires": {
-						"safe-buffer": "^5.0.1"
-					}
-				}
-			}
-		},
 		"prepend-http": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
 			"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"preserve": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
 			"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"pretty-bytes": {
 			"version": "4.0.2",
@@ -12188,6 +12182,7 @@
 			"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
 			"integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-number": "^3.0.0",
 				"kind-of": "^4.0.0"
@@ -12198,6 +12193,7 @@
 					"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
 					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"kind-of": "^3.0.2"
 					},
@@ -12207,6 +12203,7 @@
 							"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
+							"optional": true,
 							"requires": {
 								"is-buffer": "^1.1.5"
 							}
@@ -12218,6 +12215,7 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
 					"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"is-buffer": "^1.1.5"
 					}
@@ -12272,6 +12270,7 @@
 			"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
 			"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"deep-extend": "^0.6.0",
 				"ini": "~1.3.0",
@@ -12420,6 +12419,7 @@
 			"resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
 			"integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"pinkie-promise": "^2.0.0",
 				"readable-stream": "^2.0.0"
@@ -12810,6 +12810,7 @@
 			"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
 			"integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"is-equal-shallow": "^0.1.3"
 			}
@@ -13453,6 +13454,7 @@
 			"resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
 			"integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"commander": "~2.8.1"
 			}
@@ -13571,7 +13573,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
 			"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"set-value": {
 			"version": "2.0.0",
@@ -14050,7 +14053,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
 			"integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"spdx-correct": {
 			"version": "3.0.0",
@@ -14212,7 +14216,8 @@
 			"version": "0.2.2",
 			"resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
 			"integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"static-extend": {
 			"version": "0.1.2",
@@ -14322,6 +14327,7 @@
 			"resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
 			"integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"duplexer2": "~0.1.0",
 				"readable-stream": "^2.0.2"
@@ -14447,6 +14453,7 @@
 			"resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
 			"integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"first-chunk-stream": "^1.0.0",
 				"strip-bom": "^2.0.0"
@@ -14457,6 +14464,7 @@
 			"resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
 			"integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"chalk": "^1.0.0",
 				"get-stdin": "^4.0.1",
@@ -14491,6 +14499,7 @@
 			"resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
 			"integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"escape-string-regexp": "^1.0.2"
 			}
@@ -14524,6 +14533,7 @@
 			"resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
 			"integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"chalk": "^1.0.0"
 			}
@@ -14622,6 +14632,7 @@
 			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
 			"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"bl": "^1.0.0",
 				"buffer-alloc": "^1.2.0",
@@ -14760,6 +14771,7 @@
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
 			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
 				"xtend": ">=4.0.0 <4.1.0-0"
@@ -14769,13 +14781,15 @@
 					"version": "0.0.1",
 					"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
 					"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				},
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
 					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
 						"inherits": "~2.0.1",
@@ -14787,7 +14801,8 @@
 					"version": "0.10.31",
 					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
 					"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -14796,6 +14811,7 @@
 			"resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
 			"integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"through2": "~2.0.0",
 				"xtend": "~4.0.0"
@@ -14806,6 +14822,7 @@
 					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
 					"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
 						"inherits": "~2.0.3",
@@ -14821,6 +14838,7 @@
 					"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"safe-buffer": "~5.1.0"
 					}
@@ -14830,6 +14848,7 @@
 					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
 					"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"readable-stream": "~2.3.6",
 						"xtend": "~4.0.1"
@@ -14847,13 +14866,15 @@
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
 			"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"timed-out": {
 			"version": "3.1.3",
 			"resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz",
 			"integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"timers-browserify": {
 			"version": "2.0.10",
@@ -14929,6 +14950,7 @@
 			"resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
 			"integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"extend-shallow": "^2.0.1"
 			}
@@ -14943,7 +14965,8 @@
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
 			"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"to-fast-properties": {
 			"version": "1.0.3",
@@ -15038,6 +15061,7 @@
 			"resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
 			"integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"escape-string-regexp": "^1.0.2"
 			}
@@ -15093,7 +15117,8 @@
 			"version": "0.4.3",
 			"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
 			"integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"turbo-combine-reducers": {
 			"version": "1.0.2",
@@ -15321,6 +15346,7 @@
 			"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
 			"integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"json-stable-stringify": "^1.0.0",
 				"through2-filter": "^2.0.0"
@@ -15388,7 +15414,8 @@
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
 			"integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"upath": {
 			"version": "1.1.0",
@@ -15456,6 +15483,7 @@
 			"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
 			"integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"prepend-http": "^1.0.1"
 			}
@@ -15612,7 +15640,8 @@
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
 			"integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"validate-npm-package-license": {
 			"version": "3.0.3",
@@ -15652,6 +15681,7 @@
 			"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
 			"integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"clone": "^1.0.0",
 				"clone-stats": "^0.0.1",
@@ -15662,7 +15692,8 @@
 					"version": "0.0.1",
 					"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
 					"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
-					"dev": true
+					"dev": true,
+					"optional": true
 				}
 			}
 		},
@@ -15671,6 +15702,7 @@
 			"resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
 			"integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"object-assign": "^4.0.1",
 				"readable-stream": "^2.0.0"
@@ -15681,6 +15713,7 @@
 			"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
 			"integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"duplexify": "^3.2.0",
 				"glob-stream": "^5.3.2",
@@ -15706,6 +15739,7 @@
 					"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 					"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"safe-buffer": "~5.1.0"
 					}
@@ -15715,6 +15749,7 @@
 					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
 					"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
 					"dev": true,
+					"optional": true,
 					"requires": {
 						"readable-stream": "~2.3.6",
 						"xtend": "~4.0.1"
@@ -15725,6 +15760,7 @@
 							"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
 							"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
 							"dev": true,
+							"optional": true,
 							"requires": {
 								"core-util-is": "~1.0.0",
 								"inherits": "~2.0.3",
@@ -15753,6 +15789,7 @@
 			"resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
 			"integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"wrap-fn": "^0.1.0"
 			}
@@ -16286,13 +16323,6 @@
 			"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
 			"dev": true
 		},
-		"which-pm-runs": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
-			"integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
-			"dev": true,
-			"optional": true
-		},
 		"wide-align": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
@@ -16341,6 +16371,7 @@
 			"resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
 			"integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"co": "3.1.0"
 			}
@@ -16572,6 +16603,7 @@
 			"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
 			"integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
 			"dev": true,
+			"optional": true,
 			"requires": {
 				"buffer-crc32": "~0.2.3",
 				"fd-slicer": "~1.1.0"
Index: src/wp-login.php
===================================================================
--- src/wp-login.php	(revision 44700)
+++ src/wp-login.php	(working copy)
@@ -855,15 +855,14 @@
 			wp_die( __( 'Invalid request.' ) );
 		}
 
-		$request_id = (int) $_GET['request_id'];
-
-		if ( isset( $_GET['confirm_key'] ) ) {
-			$key    = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
-			$result = wp_validate_user_request_key( $request_id, $key );
-		} else {
-			$result = new WP_Error( 'invalid_key', __( 'Invalid key' ) );
+		if ( ! isset( $_GET['confirm_key'] ) ) {
+			wp_die( __( 'Missing confirm key.' ) );
 		}
 
+		$request_id = (int) $_GET['request_id'];
+		$key 		= sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
+		$result 	= wp_validate_user_request_key( $request_id, $key );
+
 		if ( is_wp_error( $result ) ) {
 			wp_die( $result );
 		}
