diff --git .gitignore .gitignore
index b1ce13bf19..fcccc17759 100644
--- .gitignore
+++ .gitignore
@@ -7,8 +7,6 @@ wp-tests-config.php
 
 # Files and folders related to build/test tools
 /phpunit.xml
-/.phpcs.xml
-/phpcs.xml
 /tests/phpunit/data/plugins/wordpress-importer
 /tests/phpunit/data/.trac-ticket-cache*
 /tests/qunit/compiled.html
diff --git Gruntfile.js Gruntfile.js
index 0dc8b7fa50..57aaccee35 100644
--- Gruntfile.js
+++ Gruntfile.js
@@ -2,6 +2,7 @@
 /* globals Set */
 var webpackConfig = require( './webpack.config.prod' );
 var webpackDevConfig = require( './webpack.config.dev' );
+var webpackWatchConfig = require( './webpack.config.watch' );
 
 module.exports = function(grunt) {
 	var path = require('path'),
@@ -110,20 +111,9 @@ module.exports = function(grunt) {
 				cwd: BUILD_DIR,
 				src: []
 			},
-			tinymce: ['<%= concat.tinymce.dest %>'],
+			tinymce: ['./build/wp-includes/js/tinymce/wp-tinymce.js'],
 			qunit: ['tests/qunit/compiled.html']
 		},
-		file_append: {
-			default_options: {
-				files: [
-					{
-						append: 'jQuery.noConflict();',
-				 		input: './build/wp-includes/js/jquery/jquery.js',
-				 		output: './build/wp-includes/js/jquery/jquery.js'
-					}
-				]
-			}
-		},
 		copy: {
 			files: {
 				files: [
@@ -150,151 +140,6 @@ module.exports = function(grunt) {
 					}
 				]
 			},
-			'npm-packages': {
-				files: {
-					'build/wp-includes/js/backbone.js': ['./node_modules/backbone/backbone.js'],
-					'build/wp-includes/js/hoverIntent.js': ['./node_modules/jquery-hoverintent/jquery.hoverIntent.js'],
-					'build/wp-includes/js/imagesloaded.min.js': ['./node_modules/imagesloaded/imagesloaded.pkgd.min.js'],
-					'build/wp-includes/js/jquery/jquery-migrate.js': ['./node_modules/jquery-migrate/dist/jquery-migrate.js'],
-					'build/wp-includes/js/jquery/jquery-migrate.min.js': ['./node_modules/jquery-migrate/dist/jquery-migrate.min.js'],
-					'build/wp-includes/js/jquery/jquery.form.js': ['./node_modules/jquery-form/src/jquery.form.js'],
-					'build/wp-includes/js/jquery/jquery.form.min.js': ['./node_modules/jquery-form/dist/jquery.form.min.js'],
-					'build/wp-includes/js/jquery/jquery.js': ['./node_modules/jquery/dist/jquery.min.js'],
-					'build/wp-includes/js/masonry.min.js': ['./node_modules/masonry-layout/dist/masonry.pkgd.min.js'],
-					'build/wp-includes/js/twemoji.js': ['./node_modules/twemoji/2/twemoji.js'],
-					'build/wp-includes/js/underscore.min.js': ['./node_modules/underscore/underscore-min.js']
-				}
-			},
-			'vendor-js': {
-				files: [
-					{
-						expand: true,
-						cwd: SOURCE_DIR + 'js/_enqueues/vendor/',
-						src: [
-							'**/*',
-							'!farbtastic.js',
-							'!iris.min.js',
-							'!deprecated/**',
-							'!README.md',
-							// Ignore unminified version of vendor lib we don't ship.
-							'!jquery/jquery.masonry.js',
-							'!tinymce/tinymce.js'
-						],
-						dest: 'build/wp-includes/js/'
-					},
-					{
-						expand: true,
-						cwd: SOURCE_DIR + 'js/_enqueues/vendor/',
-						src: [
-							'farbtastic.js',
-							'iris.min.js'
-						],
-						dest: 'build/wp-admin/js/'
-					},
-					{
-						expand: true,
-						cwd: SOURCE_DIR + 'js/_enqueues/vendor/deprecated',
-						src: [
-							'suggest*'
-						],
-						dest: 'build/wp-includes/js/jquery/'
-					}
-				]
-			},
-			'admin-js': {
-				files: {
-					'build/wp-admin/js/accordion.js': ['./src/js/_enqueues/lib/accordion.js'],
-					'build/wp-admin/js/code-editor.js': ['./src/js/_enqueues/wp/code-editor.js'],
-					'build/wp-admin/js/color-picker.js': ['./src/js/_enqueues/lib/color-picker.js'],
-					'build/wp-admin/js/comment.js': ['./src/js/_enqueues/admin/comment.js'],
-					'build/wp-admin/js/common.js': ['./src/js/_enqueues/admin/common.js'],
-					'build/wp-admin/js/custom-background.js': ['./src/js/_enqueues/admin/custom-background.js'],
-					'build/wp-admin/js/custom-header.js': ['./src/js/_enqueues/admin/custom-header.js'],
-					'build/wp-admin/js/customize-controls.js': ['./src/js/_enqueues/wp/customize/controls.js'],
-					'build/wp-admin/js/customize-nav-menus.js': ['./src/js/_enqueues/wp/customize/nav-menus.js'],
-					'build/wp-admin/js/customize-widgets.js': ['./src/js/_enqueues/wp/customize/widgets.js'],
-					'build/wp-admin/js/dashboard.js': ['./src/js/_enqueues/wp/dashboard.js'],
-					'build/wp-admin/js/edit-comments.js': ['./src/js/_enqueues/admin/edit-comments.js'],
-					'build/wp-admin/js/editor-expand.js': ['./src/js/_enqueues/wp/editor/dfw.js'],
-					'build/wp-admin/js/editor.js': ['./src/js/_enqueues/wp/editor/base.js'],
-					'build/wp-admin/js/gallery.js': ['./src/js/_enqueues/lib/gallery.js'],
-					'build/wp-admin/js/image-edit.js': ['./src/js/_enqueues/lib/image-edit.js'],
-					'build/wp-admin/js/inline-edit-post.js': ['./src/js/_enqueues/admin/inline-edit-post.js'],
-					'build/wp-admin/js/inline-edit-tax.js': ['./src/js/_enqueues/admin/inline-edit-tax.js'],
-					'build/wp-admin/js/language-chooser.js': ['./src/js/_enqueues/lib/language-chooser.js'],
-					'build/wp-admin/js/link.js': ['./src/js/_enqueues/admin/link.js'],
-					'build/wp-admin/js/media-gallery.js': ['./src/js/_enqueues/deprecated/media-gallery.js'],
-					'build/wp-admin/js/media-upload.js': ['./src/js/_enqueues/admin/media-upload.js'],
-					'build/wp-admin/js/media.js': ['./src/js/_enqueues/admin/media.js'],
-					'build/wp-admin/js/nav-menu.js': ['./src/js/_enqueues/lib/nav-menu.js'],
-					'build/wp-admin/js/password-strength-meter.js': ['./src/js/_enqueues/wp/password-strength-meter.js'],
-					'build/wp-admin/js/plugin-install.js': ['./src/js/_enqueues/admin/plugin-install.js'],
-					'build/wp-admin/js/post.js': ['./src/js/_enqueues/admin/post.js'],
-					'build/wp-admin/js/postbox.js': ['./src/js/_enqueues/admin/postbox.js'],
-					'build/wp-admin/js/revisions.js': ['./src/js/_enqueues/wp/revisions.js'],
-					'build/wp-admin/js/set-post-thumbnail.js': ['./src/js/_enqueues/admin/set-post-thumbnail.js'],
-					'build/wp-admin/js/svg-painter.js': ['./src/js/_enqueues/wp/svg-painter.js'],
-					'build/wp-admin/js/tags-box.js': ['./src/js/_enqueues/admin/tags-box.js'],
-					'build/wp-admin/js/tags-suggest.js': ['./src/js/_enqueues/admin/tags-suggest.js'],
-					'build/wp-admin/js/tags.js': ['./src/js/_enqueues/admin/tags.js'],
-					'build/wp-admin/js/theme-plugin-editor.js': ['./src/js/_enqueues/wp/theme-plugin-editor.js'],
-					'build/wp-admin/js/theme.js': ['./src/js/_enqueues/wp/theme.js'],
-					'build/wp-admin/js/updates.js': ['./src/js/_enqueues/wp/updates.js'],
-					'build/wp-admin/js/user-profile.js': ['./src/js/_enqueues/admin/user-profile.js'],
-					'build/wp-admin/js/user-suggest.js': ['./src/js/_enqueues/lib/user-suggest.js'],
-					'build/wp-admin/js/widgets/custom-html-widgets.js': ['./src/js/_enqueues/wp/widgets/custom-html.js'],
-					'build/wp-admin/js/widgets/media-audio-widget.js': ['./src/js/_enqueues/wp/widgets/media-audio.js'],
-					'build/wp-admin/js/widgets/media-gallery-widget.js': ['./src/js/_enqueues/wp/widgets/media-gallery.js'],
-					'build/wp-admin/js/widgets/media-image-widget.js': ['./src/js/_enqueues/wp/widgets/media-image.js'],
-					'build/wp-admin/js/widgets/media-video-widget.js': ['./src/js/_enqueues/wp/widgets/media-video.js'],
-					'build/wp-admin/js/widgets/media-widgets.js': ['./src/js/_enqueues/wp/widgets/media.js'],
-					'build/wp-admin/js/widgets/text-widgets.js': ['./src/js/_enqueues/wp/widgets/text.js'],
-					'build/wp-admin/js/widgets.js': ['./src/js/_enqueues/admin/widgets.js'],
-					'build/wp-admin/js/word-count.js': ['./src/js/_enqueues/wp/utils/word-count.js'],
-					'build/wp-admin/js/wp-fullscreen-stub.js': ['./src/js/_enqueues/deprecated/fullscreen-stub.js'],
-					'build/wp-admin/js/xfn.js': ['./src/js/_enqueues/admin/xfn.js']
-				}
-			},
-			'includes-js': {
-				files: {
-					'build/wp-includes/js/admin-bar.js': ['./src/js/_enqueues/lib/admin-bar.js'],
-					'build/wp-includes/js/api-request.js': ['./src/js/_enqueues/wp/api-request.js'],
-					'build/wp-includes/js/autosave.js': ['./src/js/_enqueues/wp/autosave.js'],
-					'build/wp-includes/js/comment-reply.js': ['./src/js/_enqueues/lib/comment-reply.js'],
-					'build/wp-includes/js/customize-base.js': ['./src/js/_enqueues/wp/customize/base.js'],
-					'build/wp-includes/js/customize-loader.js': ['./src/js/_enqueues/wp/customize/loader.js'],
-					'build/wp-includes/js/customize-models.js': ['./src/js/_enqueues/wp/customize/models.js'],
-					'build/wp-includes/js/customize-preview-nav-menus.js': ['./src/js/_enqueues/wp/customize/preview-nav-menus.js'],
-					'build/wp-includes/js/customize-preview-widgets.js': ['./src/js/_enqueues/wp/customize/preview-widgets.js'],
-					'build/wp-includes/js/customize-preview.js': ['./src/js/_enqueues/wp/customize/preview.js'],
-					'build/wp-includes/js/customize-selective-refresh.js': ['./src/js/_enqueues/wp/customize/selective-refresh.js'],
-					'build/wp-includes/js/customize-views.js': ['./src/js/_enqueues/wp/customize/views.js'],
-					'build/wp-includes/js/heartbeat.js': ['./src/js/_enqueues/wp/heartbeat.js'],
-					'build/wp-includes/js/mce-view.js': ['./src/js/_enqueues/wp/mce-view.js'],
-					'build/wp-includes/js/media-editor.js': ['./src/js/_enqueues/wp/media/editor.js'],
-					'build/wp-includes/js/quicktags.js': ['./src/js/_enqueues/lib/quicktags.js'],
-					'build/wp-includes/js/shortcode.js': ['./src/js/_enqueues/wp/shortcode.js'],
-					'build/wp-includes/js/utils.js': ['./src/js/_enqueues/lib/cookies.js'],
-					'build/wp-includes/js/wp-a11y.js': ['./src/js/_enqueues/wp/a11y.js'],
-					'build/wp-includes/js/wp-ajax-response.js': ['./src/js/_enqueues/lib/ajax-response.js'],
-					'build/wp-includes/js/wp-api.js': ['./src/js/_enqueues/wp/api.js'],
-					'build/wp-includes/js/wp-auth-check.js': ['./src/js/_enqueues/lib/auth-check.js'],
-					'build/wp-includes/js/wp-backbone.js': ['./src/js/_enqueues/wp/backbone.js'],
-					'build/wp-includes/js/wp-custom-header.js': ['./src/js/_enqueues/wp/custom-header.js'],
-					'build/wp-includes/js/wp-embed-template.js': ['./src/js/_enqueues/lib/embed-template.js'],
-					'build/wp-includes/js/wp-embed.js': ['./src/js/_enqueues/wp/embed.js'],
-					'build/wp-includes/js/wp-emoji-loader.js': ['./src/js/_enqueues/lib/emoji-loader.js'],
-					'build/wp-includes/js/wp-emoji.js': ['./src/js/_enqueues/wp/emoji.js'],
-					'build/wp-includes/js/wp-list-revisions.js': ['./src/js/_enqueues/lib/list-revisions.js'],
-					'build/wp-includes/js/wp-lists.js': ['./src/js/_enqueues/lib/lists.js'],
-					'build/wp-includes/js/wp-pointer.js': ['./src/js/_enqueues/lib/pointer.js'],
-					'build/wp-includes/js/wp-sanitize.js': ['./src/js/_enqueues/wp/sanitize.js'],
-					'build/wp-includes/js/wp-util.js': ['./src/js/_enqueues/wp/util.js'],
-					'build/wp-includes/js/wpdialog.js': ['./src/js/_enqueues/lib/dialog.js'],
-					'build/wp-includes/js/wplink.js': ['./src/js/_enqueues/lib/link.js'],
-					'build/wp-includes/js/zxcvbn-async.js': ['./src/js/_enqueues/lib/zxcvbn-async.js']
-				}
-			},
 			'wp-admin-css-compat-rtl': {
 				options: {
 					processContent: function( src ) {
@@ -637,111 +482,10 @@ module.exports = function(grunt) {
 				args: ['--verbose', '-c', 'phpunit.xml.dist', '--group', 'restapi-jsclient']
 			}
 		},
-		uglify: {
-			options: {
-				ASCIIOnly: true,
-				screwIE8: false
-			},
-			core: {
-				expand: true,
-				cwd: BUILD_DIR,
-				dest: BUILD_DIR,
-				ext: '.min.js',
-				src: [
-					'wp-admin/js/**/*.js',
-					'wp-includes/js/*.js',
-					'wp-includes/js/plupload/*.js',
-					'wp-includes/js/mediaelement/wp-mediaelement.js',
-					'wp-includes/js/mediaelement/wp-playlist.js',
-					'wp-includes/js/mediaelement/mediaelement-migrate.js',
-					'wp-includes/js/tinymce/plugins/wordpress/plugin.js',
-					'wp-includes/js/tinymce/plugins/wp*/plugin.js',
-
-					// Exceptions
-					'!**/*.min.js',
-					'!wp-admin/js/custom-header.js', // Why? We should minify this.
-					'!wp-admin/js/farbtastic.js',
-					'!wp-includes/js/swfobject.js',
-					'!wp-includes/js/wp-embed.js' // We have extra options for this, see uglify:embed
-				]
-			},
-			embed: {
-				options: {
-					compress: {
-						conditionals: false
-					}
-				},
-				expand: true,
-				cwd: BUILD_DIR,
-				dest: BUILD_DIR,
-				ext: '.min.js',
-				src: ['wp-includes/js/wp-embed.js']
-			},
-			jqueryui: {
-				options: {
-					// Preserve comments that start with a bang.
-					preserveComments: /^!/
-				},
-				expand: true,
-				cwd: 'node_modules/jquery-ui/ui/',
-				dest: BUILD_DIR + 'wp-includes/js/jquery/ui/',
-				ext: '.min.js',
-				src: ['*.js']
-			},
-			imgareaselect: {
-				src: BUILD_DIR + 'wp-includes/js/imgareaselect/jquery.imgareaselect.js',
-				dest: BUILD_DIR + 'wp-includes/js/imgareaselect/jquery.imgareaselect.min.js'
-			},
-			dynamic: {
-				expand: true,
-				cwd: BUILD_DIR,
-				dest: BUILD_DIR,
-				ext: '.min.js',
-				src: []
-			}
-		},
 		webpack: {
 			prod: webpackConfig,
-			dev: webpackDevConfig
-		},
-		concat: {
-			tinymce: {
-				options: {
-					separator: '\n',
-					process: function( src, filepath ) {
-						return '// Source: ' + filepath.replace( BUILD_DIR, '' ) + '\n' + src;
-					}
-				},
-				src: [
-					BUILD_DIR + 'wp-includes/js/tinymce/tinymce.min.js',
-					BUILD_DIR + 'wp-includes/js/tinymce/themes/modern/theme.min.js',
-					BUILD_DIR + 'wp-includes/js/tinymce/plugins/*/plugin.min.js'
-				],
-				dest: BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce.js'
-			},
-			emoji: {
-				options: {
-					separator: '\n',
-					process: function( src, filepath ) {
-						return '// Source: ' + filepath.replace( BUILD_DIR, '' ) + '\n' + src;
-					}
-				},
-				src: [
-					BUILD_DIR + 'wp-includes/js/twemoji.min.js',
-					BUILD_DIR + 'wp-includes/js/wp-emoji.min.js'
-				],
-				dest: BUILD_DIR + 'wp-includes/js/wp-emoji-release.min.js'
-			}
-		},
-		compress: {
-			tinymce: {
-				options: {
-					mode: 'gzip',
-					level: 9
-				},
-				src: '<%= concat.tinymce.dest %>',
-				dest: BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce.js.gz'
-			}
+			dev: webpackDevConfig,
+			watch: webpackWatchConfig
 		},
 		patch:{
 			options: {
@@ -1054,7 +798,7 @@ module.exports = function(grunt) {
 			all: {
 				files: [
 					SOURCE_DIR + '**',
-					'!' + SOURCE_DIR + 'js/**/*.js',
+					'!' + SOURCE_DIR + 'js/**/*.js*',
 					// Ignore version control directories.
 					'!' + SOURCE_DIR + '**/.{svn,git}/**'
 				],
@@ -1064,31 +808,10 @@ module.exports = function(grunt) {
 					spawn: false
 				}
 			},
-			'js-enqueues': {
-				files: [SOURCE_DIR + 'js/_enqueues/**/*.js'],
-				tasks: ['clean:dynamic', 'copy:dynamic-js', 'uglify:dynamic', 'jsvalidate:dynamic'],
-				options: {
-					dot: true,
-					spawn: false
-				}
-			},
-			'js-webpack': {
-				files: [
-					SOURCE_DIR + 'js/**/*.js',
-					'!' + SOURCE_DIR + 'js/_enqueues/**/*.js',
-					'webpack-dev.config.js'
-				],
-				tasks: ['clean:dynamic', 'webpack:dev', 'uglify:dynamic', 'jsvalidate:dynamic'],
-				options: {
-					dot: true,
-					spawn: false
-				}
-			},
 			config: {
 				files: [
 					'Gruntfile.js',
-					'webpack-dev.config.js',
-					'webpack.config.js'
+					'webpack.config.*.js'
 				]
 			},
 			colors: {
@@ -1112,6 +835,14 @@ module.exports = function(grunt) {
 				],
 				tasks: ['qunit']
 			}
+		},
+		concurrent: {
+			watch: {
+				tasks: ['_watch', 'webpack:watch'],
+				options: {
+					logConcurrentOutput: true
+				}
+			}
 		}
 	});
 
@@ -1163,7 +894,14 @@ module.exports = function(grunt) {
 			};
 		}
 
-		grunt.task.run( '_' + this.nameArgs );
+		if ( this.nameArgs === 'watch' ) {
+			grunt.task.run( 'concurrent:watch' );
+		} else if ( this.nameArgs === 'watch:webpack' ) {
+			grunt.task.run( 'webpack:watch' );
+		} else {
+			grunt.task.run( '_' + this.nameArgs );
+		}
+
 	} );
 
 	grunt.registerTask( 'precommit:image', [
@@ -1173,7 +911,6 @@ module.exports = function(grunt) {
 	grunt.registerTask( 'precommit:js', [
 		'webpack:prod',
 		'jshint:corejs',
-		'uglify:imgareaselect',
 		'qunit:compiled'
 	] );
 
@@ -1281,34 +1018,13 @@ module.exports = function(grunt) {
 		}
 	} );
 
-	grunt.registerTask( 'copy:js', [
-		'copy:npm-packages',
-		'copy:vendor-js',
-		'copy:admin-js',
-		'copy:includes-js'
-	] );
-
 	grunt.registerTask( 'uglify:all', [
-		'uglify:core',
-		'uglify:embed',
-		'uglify:jqueryui',
-		'uglify:imgareaselect'
-	] );
-
-	grunt.registerTask( 'build:tinymce', [
-		'concat:tinymce',
-		'compress:tinymce',
-		'clean:tinymce'
+		'uglify:core'
 	] );
 
 	grunt.registerTask( 'build:js', [
 		'clean:js',
 		'webpack:dev',
-		'copy:js',
-		'file_append',
-		'uglify:all',
-		'build:tinymce',
-		'concat:emoji',
 		'jsvalidate:build'
 	] );
 
@@ -1316,23 +1032,18 @@ module.exports = function(grunt) {
 		'copy:files',
 		'copy:wp-admin-css-compat-rtl',
 		'copy:wp-admin-css-compat-min',
-		'copy:version',
-		'copy:js'
+		'copy:version'
 	] );
 
 	grunt.registerTask( 'build', [
 		'clean:all',
 		'webpack:dev',
 		'copy:all',
-		'file_append',
 		'cssmin:core',
 		'colors',
 		'rtl',
 		'cssmin:rtl',
 		'cssmin:colors',
-		'uglify:all',
-		'build:tinymce',
-		'concat:emoji',
 		'includes:emoji',
 		'includes:embed',
 		'usebanner',
@@ -1381,69 +1092,14 @@ module.exports = function(grunt) {
 		var src;
 
 		// Only configure the dynamic tasks based on known targets.
-		if ( [ 'all', 'rtl', 'webpack', 'js-enqueues', 'js-webpack' ].indexOf( target ) === -1 ) {
+		if ( [ 'all', 'rtl' ].indexOf( target ) === -1 ) {
 			return;
 		}
 
 		// Normalize filepath for Windows.
 		filepath = filepath.replace( /\\/g, '/' );
 
-		// If the target is a file in the restructured js src.
-		if ( target === 'js-enqueues' ) {
-			var files = {};
-			var configs, dest;
-
-			// If it's a vendor file which are configured with glob matchers.
-			if ( filepath.indexOf( SOURCE_DIR + 'js/_enqueues/vendor/' ) === 0 ) {
-				// Grab the glob matchers from the copy task.
-				configs = grunt.config( [ 'copy', 'vendor-js', 'files' ] );
-
-				// For each glob matcher check if it matches and if so set the variables for our dynamic tasks.
-				for ( var i = 0; i < configs.length; i++ ) {
-					var config = configs[ i ];
-					var relative = path.relative( config.cwd, filepath );
-					var minimatch = require('minimatch');
-
-					if ( minimatch.match( config.src, relative, {} ) ) {
-						dest = config.dest + relative;
-						src = [ path.relative( BUILD_DIR, dest ) ];
-						files[ dest ] = [ filepath ];
-						break;
-					}
-				}
-			// Or if it's another file which has a straight mapping.
-			} else {
-				configs = Object.assign( {},
-					grunt.config( [ 'copy', 'admin-js', 'files' ] ),
-					grunt.config( [ 'copy', 'includes-js', 'files' ] )
-				);
-
-				for ( dest in configs ) {
-					// If a file in the mapping matches then set the variables for our dynamic tasks.
-					if ( dest && configs.hasOwnProperty( dest ) && configs[ dest ][0] === './' + filepath ) {
-						files[ dest ] = configs[ dest ];
-						src = [ path.relative( BUILD_DIR, dest ) ];
-						break;
-					}
-				}
-			}
-
-			// Configure our dynamic-js copy task which uses a file mapping rather than simply copying from src to build.
-			if ( action !== 'deleted' ) {
-				grunt.config( [ 'copy', 'dynamic-js', 'files' ], files );
-			}
-		// For the webpack builds configure the jsvalidate task to only check those files build by webpack.
-		} else if ( target === 'js-webpack' ) {
-			src = [
-				'wp-includes/js/media-audiovideo.js',
-				'wp-includes/js/media-grid.js',
-				'wp-includes/js/media-models.js',
-				'wp-includes/js/media-views.js'
-			];
-		// Else simply use the path relative to the source directory.
-		} else {
-			src = [ path.relative( SOURCE_DIR, filepath ) ];
-		}
+		src = [ path.relative( SOURCE_DIR, filepath ) ];
 
 		if ( ! src ) {
 			grunt.warn( 'Failed to determine the destination file.' );
@@ -1457,15 +1113,6 @@ module.exports = function(grunt) {
 			// Otherwise copy over only the changed file.
 			grunt.config( [ 'copy', 'dynamic', 'src' ], src );
 
-			// For javascript also minify and validate the changed file.
-			if ( target === 'js-enqueues' ) {
-				grunt.config( [ 'uglify', 'dynamic', 'src' ], src );
-				grunt.config( [ 'jsvalidate', 'dynamic', 'files', 'src' ], src.map( function( dir ) { return  BUILD_DIR + dir; } ) );
-			}
-			// For webpack only validate the file, minification is handled by webpack itself.
-			if ( target === 'js-webpack' ) {
-				grunt.config( [ 'jsvalidate', 'dynamic', 'files', 'src' ], src.map( function( dir ) { return  BUILD_DIR + dir; } ) );
-			}
 			// For css run the rtl task on just the changed file.
 			if ( target === 'rtl' ) {
 				grunt.config( [ 'rtlcss', 'dynamic', 'src' ], src );
diff --git composer.json composer.json
index c612cbbfa3..a95151612a 100644
--- composer.json
+++ composer.json
@@ -11,7 +11,8 @@
 	},
 	"require-dev": {
 		"dealerdirect/phpcodesniffer-composer-installer": "^0.4.4",
-		"wp-coding-standards/wpcs": "dev-master"
+		"squizlabs/php_codesniffer": "^3.2.3",
+		"wp-coding-standards/wpcs": "dev-feature/new-multi-line-comment-formatting-sniffs"
 	},
 	"scripts": {
 		"format": "phpcbf --standard=phpcs.xml.dist --report-summary --report-source",
diff --git composer.lock composer.lock
index 2d88e21514..9176795c8c 100644
--- composer.lock
+++ composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "9c2c871b813e89682ef445611d2f5363",
+    "content-hash": "4b409623b2bc5d8e87b7f45d57a60990",
     "packages": [],
     "packages-dev": [
         {
@@ -77,16 +77,16 @@
         },
         {
             "name": "squizlabs/php_codesniffer",
-            "version": "3.3.0",
+            "version": "3.2.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
-                "reference": "d86873af43b4aa9d1f39a3601cc0cfcf02b25266"
+                "reference": "4842476c434e375f9d3182ff7b89059583aa8b27"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d86873af43b4aa9d1f39a3601cc0cfcf02b25266",
-                "reference": "d86873af43b4aa9d1f39a3601cc0cfcf02b25266",
+                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/4842476c434e375f9d3182ff7b89059583aa8b27",
+                "reference": "4842476c434e375f9d3182ff7b89059583aa8b27",
                 "shasum": ""
             },
             "require": {
@@ -124,20 +124,20 @@
                 "phpcs",
                 "standards"
             ],
-            "time": "2018-06-06T23:58:19+00:00"
+            "time": "2018-02-20T21:35:23+00:00"
         },
         {
             "name": "wp-coding-standards/wpcs",
-            "version": "dev-master",
+            "version": "dev-feature/new-multi-line-comment-formatting-sniffs",
             "source": {
                 "type": "git",
                 "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
-                "reference": "cf6b310caad735816caef7573295f8a534374706"
+                "reference": "ce4d719296ebbecd01f57bc3729833e89b39ad99"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/cf6b310caad735816caef7573295f8a534374706",
-                "reference": "cf6b310caad735816caef7573295f8a534374706",
+                "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/ce4d719296ebbecd01f57bc3729833e89b39ad99",
+                "reference": "ce4d719296ebbecd01f57bc3729833e89b39ad99",
                 "shasum": ""
             },
             "require": {
@@ -164,7 +164,7 @@
                 "standards",
                 "wordpress"
             ],
-            "time": "2018-02-16T01:57:48+00:00"
+            "time": "2017-11-30T18:28:51+00:00"
         }
     ],
     "aliases": [],
diff --git package-lock.json package-lock.json
index 477488d18a..67406daa92 100644
--- package-lock.json
+++ package-lock.json
@@ -16,7 +16,7 @@
 			"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
 			"dev": true,
 			"requires": {
-				"mime-types": "~2.1.18",
+				"mime-types": "2.1.18",
 				"negotiator": "0.6.1"
 			}
 		},
@@ -32,7 +32,7 @@
 			"integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
 			"dev": true,
 			"requires": {
-				"acorn": "^4.0.3"
+				"acorn": "4.0.13"
 			},
 			"dependencies": {
 				"acorn": {
@@ -49,10 +49,10 @@
 			"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
 			"dev": true,
 			"requires": {
-				"co": "^4.6.0",
-				"fast-deep-equal": "^1.0.0",
-				"fast-json-stable-stringify": "^2.0.0",
-				"json-schema-traverse": "^0.3.0"
+				"co": "4.6.0",
+				"fast-deep-equal": "1.1.0",
+				"fast-json-stable-stringify": "2.0.0",
+				"json-schema-traverse": "0.3.1"
 			},
 			"dependencies": {
 				"co": {
@@ -75,9 +75,9 @@
 			"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
 			"dev": true,
 			"requires": {
-				"kind-of": "^3.0.2",
-				"longest": "^1.0.1",
-				"repeat-string": "^1.5.2"
+				"kind-of": "3.2.2",
+				"longest": "1.0.1",
+				"repeat-string": "1.6.1"
 			}
 		},
 		"amdefine": {
@@ -131,8 +131,8 @@
 			"integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
 			"dev": true,
 			"requires": {
-				"micromatch": "^3.1.4",
-				"normalize-path": "^2.1.1"
+				"micromatch": "3.1.9",
+				"normalize-path": "2.1.1"
 			},
 			"dependencies": {
 				"arr-diff": {
@@ -153,18 +153,18 @@
 					"integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==",
 					"dev": true,
 					"requires": {
-						"arr-flatten": "^1.1.0",
-						"array-unique": "^0.3.2",
-						"define-property": "^1.0.0",
-						"extend-shallow": "^2.0.1",
-						"fill-range": "^4.0.0",
-						"isobject": "^3.0.1",
-						"kind-of": "^6.0.2",
-						"repeat-element": "^1.1.2",
-						"snapdragon": "^0.8.1",
-						"snapdragon-node": "^2.0.1",
-						"split-string": "^3.0.2",
-						"to-regex": "^3.0.1"
+						"arr-flatten": "1.1.0",
+						"array-unique": "0.3.2",
+						"define-property": "1.0.0",
+						"extend-shallow": "2.0.1",
+						"fill-range": "4.0.0",
+						"isobject": "3.0.1",
+						"kind-of": "6.0.2",
+						"repeat-element": "1.1.2",
+						"snapdragon": "0.8.1",
+						"snapdragon-node": "2.1.1",
+						"split-string": "3.1.0",
+						"to-regex": "3.0.2"
 					},
 					"dependencies": {
 						"define-property": {
@@ -173,7 +173,7 @@
 							"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 							"dev": true,
 							"requires": {
-								"is-descriptor": "^1.0.0"
+								"is-descriptor": "1.0.2"
 							}
 						},
 						"extend-shallow": {
@@ -182,7 +182,7 @@
 							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 							"dev": true,
 							"requires": {
-								"is-extendable": "^0.1.0"
+								"is-extendable": "0.1.1"
 							}
 						}
 					}
@@ -193,13 +193,13 @@
 					"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
 					"dev": true,
 					"requires": {
-						"debug": "^2.3.3",
-						"define-property": "^0.2.5",
-						"extend-shallow": "^2.0.1",
-						"posix-character-classes": "^0.1.0",
-						"regex-not": "^1.0.0",
-						"snapdragon": "^0.8.1",
-						"to-regex": "^3.0.1"
+						"debug": "2.6.9",
+						"define-property": "0.2.5",
+						"extend-shallow": "2.0.1",
+						"posix-character-classes": "0.1.1",
+						"regex-not": "1.0.2",
+						"snapdragon": "0.8.1",
+						"to-regex": "3.0.2"
 					},
 					"dependencies": {
 						"define-property": {
@@ -208,7 +208,7 @@
 							"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 							"dev": true,
 							"requires": {
-								"is-descriptor": "^0.1.0"
+								"is-descriptor": "0.1.6"
 							}
 						},
 						"extend-shallow": {
@@ -217,7 +217,7 @@
 							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 							"dev": true,
 							"requires": {
-								"is-extendable": "^0.1.0"
+								"is-extendable": "0.1.1"
 							}
 						},
 						"is-descriptor": {
@@ -226,9 +226,9 @@
 							"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 							"dev": true,
 							"requires": {
-								"is-accessor-descriptor": "^0.1.6",
-								"is-data-descriptor": "^0.1.4",
-								"kind-of": "^5.0.0"
+								"is-accessor-descriptor": "0.1.6",
+								"is-data-descriptor": "0.1.4",
+								"kind-of": "5.1.0"
 							}
 						},
 						"kind-of": {
@@ -245,8 +245,8 @@
 					"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
 					"dev": true,
 					"requires": {
-						"assign-symbols": "^1.0.0",
-						"is-extendable": "^1.0.1"
+						"assign-symbols": "1.0.0",
+						"is-extendable": "1.0.1"
 					},
 					"dependencies": {
 						"is-extendable": {
@@ -255,7 +255,7 @@
 							"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 							"dev": true,
 							"requires": {
-								"is-plain-object": "^2.0.4"
+								"is-plain-object": "2.0.4"
 							}
 						}
 					}
@@ -266,14 +266,14 @@
 					"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
 					"dev": true,
 					"requires": {
-						"array-unique": "^0.3.2",
-						"define-property": "^1.0.0",
-						"expand-brackets": "^2.1.4",
-						"extend-shallow": "^2.0.1",
-						"fragment-cache": "^0.2.1",
-						"regex-not": "^1.0.0",
-						"snapdragon": "^0.8.1",
-						"to-regex": "^3.0.1"
+						"array-unique": "0.3.2",
+						"define-property": "1.0.0",
+						"expand-brackets": "2.1.4",
+						"extend-shallow": "2.0.1",
+						"fragment-cache": "0.2.1",
+						"regex-not": "1.0.2",
+						"snapdragon": "0.8.1",
+						"to-regex": "3.0.2"
 					},
 					"dependencies": {
 						"define-property": {
@@ -282,7 +282,7 @@
 							"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 							"dev": true,
 							"requires": {
-								"is-descriptor": "^1.0.0"
+								"is-descriptor": "1.0.2"
 							}
 						},
 						"extend-shallow": {
@@ -291,7 +291,7 @@
 							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 							"dev": true,
 							"requires": {
-								"is-extendable": "^0.1.0"
+								"is-extendable": "0.1.1"
 							}
 						}
 					}
@@ -302,10 +302,10 @@
 					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
 					"dev": true,
 					"requires": {
-						"extend-shallow": "^2.0.1",
-						"is-number": "^3.0.0",
-						"repeat-string": "^1.6.1",
-						"to-regex-range": "^2.1.0"
+						"extend-shallow": "2.0.1",
+						"is-number": "3.0.0",
+						"repeat-string": "1.6.1",
+						"to-regex-range": "2.1.1"
 					},
 					"dependencies": {
 						"extend-shallow": {
@@ -314,7 +314,7 @@
 							"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 							"dev": true,
 							"requires": {
-								"is-extendable": "^0.1.0"
+								"is-extendable": "0.1.1"
 							}
 						}
 					}
@@ -325,7 +325,7 @@
 					"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -334,7 +334,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -345,7 +345,7 @@
 					"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -354,7 +354,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -365,7 +365,7 @@
 					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -374,7 +374,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -397,19 +397,19 @@
 					"integrity": "sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==",
 					"dev": true,
 					"requires": {
-						"arr-diff": "^4.0.0",
-						"array-unique": "^0.3.2",
-						"braces": "^2.3.1",
-						"define-property": "^2.0.2",
-						"extend-shallow": "^3.0.2",
-						"extglob": "^2.0.4",
-						"fragment-cache": "^0.2.1",
-						"kind-of": "^6.0.2",
-						"nanomatch": "^1.2.9",
-						"object.pick": "^1.3.0",
-						"regex-not": "^1.0.0",
-						"snapdragon": "^0.8.1",
-						"to-regex": "^3.0.1"
+						"arr-diff": "4.0.0",
+						"array-unique": "0.3.2",
+						"braces": "2.3.1",
+						"define-property": "2.0.2",
+						"extend-shallow": "3.0.2",
+						"extglob": "2.0.4",
+						"fragment-cache": "0.2.1",
+						"kind-of": "6.0.2",
+						"nanomatch": "1.2.9",
+						"object.pick": "1.3.0",
+						"regex-not": "1.0.2",
+						"snapdragon": "0.8.1",
+						"to-regex": "3.0.2"
 					}
 				}
 			}
@@ -420,9 +420,9 @@
 			"integrity": "sha1-qEaFeegfZzl7tWNMKZU77c0PVsA=",
 			"dev": true,
 			"requires": {
-				"cson-parser": "^1.1.0",
-				"js-yaml": "^3.3.0",
-				"lodash": "^3.10.0"
+				"cson-parser": "1.3.5",
+				"js-yaml": "3.11.0",
+				"lodash": "3.10.1"
 			},
 			"dependencies": {
 				"argparse": {
@@ -431,7 +431,7 @@
 					"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
 					"dev": true,
 					"requires": {
-						"sprintf-js": "~1.0.2"
+						"sprintf-js": "1.0.3"
 					}
 				},
 				"esprima": {
@@ -446,8 +446,8 @@
 					"integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
 					"dev": true,
 					"requires": {
-						"argparse": "^1.0.7",
-						"esprima": "^4.0.0"
+						"argparse": "1.0.10",
+						"esprima": "4.0.0"
 					}
 				},
 				"lodash": {
@@ -470,115 +470,7 @@
 			"integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
 			"dev": true,
 			"requires": {
-				"file-type": "^3.1.0"
-			}
-		},
-		"archiver": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz",
-			"integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=",
-			"dev": true,
-			"requires": {
-				"archiver-utils": "^1.3.0",
-				"async": "^2.0.0",
-				"buffer-crc32": "^0.2.1",
-				"glob": "^7.0.0",
-				"lodash": "^4.8.0",
-				"readable-stream": "^2.0.0",
-				"tar-stream": "^1.5.0",
-				"walkdir": "^0.0.11",
-				"zip-stream": "^1.1.0"
-			},
-			"dependencies": {
-				"async": {
-					"version": "2.6.0",
-					"resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
-					"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
-					"dev": true,
-					"requires": {
-						"lodash": "^4.14.0"
-					}
-				},
-				"glob": {
-					"version": "7.1.2",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
-					"dev": 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"
-					}
-				},
-				"lodash": {
-					"version": "4.17.5",
-					"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-					"integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
-					"dev": 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"
-					}
-				}
-			}
-		},
-		"archiver-utils": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
-			"integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
-			"dev": true,
-			"requires": {
-				"glob": "^7.0.0",
-				"graceful-fs": "^4.1.0",
-				"lazystream": "^1.0.0",
-				"lodash": "^4.8.0",
-				"normalize-path": "^2.0.0",
-				"readable-stream": "^2.0.0"
-			},
-			"dependencies": {
-				"glob": {
-					"version": "7.1.2",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
-					"dev": 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
-				},
-				"lodash": {
-					"version": "4.17.5",
-					"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-					"integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
-					"dev": 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"
-					}
-				}
+				"file-type": "3.9.0"
 			}
 		},
 		"are-we-there-yet": {
@@ -587,8 +479,8 @@
 			"integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
 			"dev": true,
 			"requires": {
-				"delegates": "^1.0.0",
-				"readable-stream": "^2.0.6"
+				"delegates": "1.0.0",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"argparse": {
@@ -597,7 +489,7 @@
 			"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
 			"dev": true,
 			"requires": {
-				"sprintf-js": "~1.0.2"
+				"sprintf-js": "1.0.3"
 			}
 		},
 		"arr-diff": {
@@ -606,7 +498,7 @@
 			"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
 			"dev": true,
 			"requires": {
-				"arr-flatten": "^1.0.1"
+				"arr-flatten": "1.1.0"
 			}
 		},
 		"arr-flatten": {
@@ -645,8 +537,8 @@
 			"integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
 			"dev": true,
 			"requires": {
-				"define-properties": "^1.1.2",
-				"es-abstract": "^1.7.0"
+				"define-properties": "1.1.2",
+				"es-abstract": "1.10.0"
 			}
 		},
 		"array-union": {
@@ -655,7 +547,7 @@
 			"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
 			"dev": true,
 			"requires": {
-				"array-uniq": "^1.0.1"
+				"array-uniq": "1.0.3"
 			}
 		},
 		"array-uniq": {
@@ -670,6 +562,12 @@
 			"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
 			"dev": true
 		},
+		"arrify": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+			"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+			"dev": true
+		},
 		"asn1": {
 			"version": "0.2.3",
 			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
@@ -682,9 +580,9 @@
 			"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.0.0",
-				"inherits": "^2.0.1",
-				"minimalistic-assert": "^1.0.0"
+				"bn.js": "4.11.8",
+				"inherits": "2.0.3",
+				"minimalistic-assert": "1.0.0"
 			}
 		},
 		"assert": {
@@ -751,12 +649,12 @@
 			"integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
 			"dev": true,
 			"requires": {
-				"browserslist": "^1.7.6",
-				"caniuse-db": "^1.0.30000634",
-				"normalize-range": "^0.1.2",
-				"num2fraction": "^1.2.2",
-				"postcss": "^5.2.16",
-				"postcss-value-parser": "^3.2.3"
+				"browserslist": "1.7.7",
+				"caniuse-db": "1.0.30000813",
+				"normalize-range": "0.1.2",
+				"num2fraction": "1.2.2",
+				"postcss": "5.2.18",
+				"postcss-value-parser": "3.3.0"
 			}
 		},
 		"aws-sign2": {
@@ -782,7 +680,7 @@
 			"resolved": "https://registry.npmjs.org/backbone/-/backbone-1.3.3.tgz",
 			"integrity": "sha1-TMgOp8sWMaxHSInOQPL4vGg7KZk=",
 			"requires": {
-				"underscore": ">=1.8.3"
+				"underscore": "1.8.3"
 			}
 		},
 		"balanced-match": {
@@ -797,13 +695,13 @@
 			"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
 			"dev": true,
 			"requires": {
-				"cache-base": "^1.0.1",
-				"class-utils": "^0.3.5",
-				"component-emitter": "^1.2.1",
-				"define-property": "^1.0.0",
-				"isobject": "^3.0.1",
-				"mixin-deep": "^1.2.0",
-				"pascalcase": "^0.1.1"
+				"cache-base": "1.0.1",
+				"class-utils": "0.3.6",
+				"component-emitter": "1.2.1",
+				"define-property": "1.0.0",
+				"isobject": "3.0.1",
+				"mixin-deep": "1.3.1",
+				"pascalcase": "0.1.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -812,7 +710,7 @@
 					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^1.0.0"
+						"is-descriptor": "1.0.2"
 					}
 				},
 				"isobject": {
@@ -842,7 +740,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"tweetnacl": "^0.14.3"
+				"tweetnacl": "0.14.5"
 			}
 		},
 		"beeper": {
@@ -864,13 +762,13 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"archive-type": "^3.0.1",
-				"decompress": "^3.0.0",
-				"download": "^4.1.2",
-				"exec-series": "^1.0.0",
-				"rimraf": "^2.2.6",
-				"tempfile": "^1.0.0",
-				"url-regex": "^3.0.0"
+				"archive-type": "3.2.0",
+				"decompress": "3.0.0",
+				"download": "4.4.3",
+				"exec-series": "1.0.3",
+				"rimraf": "2.2.8",
+				"tempfile": "1.1.1",
+				"url-regex": "3.2.0"
 			}
 		},
 		"bin-check": {
@@ -880,7 +778,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"executable": "^1.0.0"
+				"executable": "1.1.0"
 			}
 		},
 		"bin-version": {
@@ -890,7 +788,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"find-versions": "^1.0.0"
+				"find-versions": "1.2.1"
 			}
 		},
 		"bin-version-check": {
@@ -900,10 +798,10 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"bin-version": "^1.0.0",
-				"minimist": "^1.1.0",
-				"semver": "^4.0.3",
-				"semver-truncate": "^1.0.0"
+				"bin-version": "1.0.4",
+				"minimist": "1.2.0",
+				"semver": "4.3.6",
+				"semver-truncate": "1.1.2"
 			},
 			"dependencies": {
 				"semver": {
@@ -922,12 +820,12 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"bin-check": "^2.0.0",
-				"bin-version-check": "^2.1.0",
-				"download": "^4.0.0",
-				"each-async": "^1.1.1",
-				"lazy-req": "^1.0.0",
-				"os-filter-obj": "^1.0.0"
+				"bin-check": "2.0.0",
+				"bin-version-check": "2.1.0",
+				"download": "4.4.3",
+				"each-async": "1.1.1",
+				"lazy-req": "1.1.0",
+				"os-filter-obj": "1.0.3"
 			}
 		},
 		"binary-extensions": {
@@ -942,7 +840,7 @@
 			"integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
 			"dev": true,
 			"requires": {
-				"readable-stream": "^2.0.5"
+				"readable-stream": "2.3.5"
 			}
 		},
 		"block-stream": {
@@ -951,7 +849,7 @@
 			"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
 			"dev": true,
 			"requires": {
-				"inherits": "~2.0.0"
+				"inherits": "2.0.3"
 			}
 		},
 		"bluebird": {
@@ -973,15 +871,15 @@
 			"dev": true,
 			"requires": {
 				"bytes": "2.2.0",
-				"content-type": "~1.0.1",
-				"debug": "~2.2.0",
-				"depd": "~1.1.0",
-				"http-errors": "~1.3.1",
+				"content-type": "1.0.4",
+				"debug": "2.2.0",
+				"depd": "1.1.2",
+				"http-errors": "1.3.1",
 				"iconv-lite": "0.4.13",
-				"on-finished": "~2.3.0",
+				"on-finished": "2.3.0",
 				"qs": "5.2.0",
-				"raw-body": "~2.1.5",
-				"type-is": "~1.6.10"
+				"raw-body": "2.1.7",
+				"type-is": "1.6.16"
 			},
 			"dependencies": {
 				"debug": {
@@ -1019,12 +917,12 @@
 			"integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
 			"dev": true,
 			"requires": {
-				"array-flatten": "^2.1.0",
-				"deep-equal": "^1.0.1",
-				"dns-equal": "^1.0.0",
-				"dns-txt": "^2.0.2",
-				"multicast-dns": "^6.0.1",
-				"multicast-dns-service-types": "^1.1.0"
+				"array-flatten": "2.1.1",
+				"deep-equal": "1.0.1",
+				"dns-equal": "1.0.0",
+				"dns-txt": "2.0.2",
+				"multicast-dns": "6.2.3",
+				"multicast-dns-service-types": "1.1.0"
 			}
 		},
 		"boom": {
@@ -1033,7 +931,7 @@
 			"integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
 			"dev": true,
 			"requires": {
-				"hoek": "4.x.x"
+				"hoek": "4.2.1"
 			}
 		},
 		"brace-expansion": {
@@ -1042,7 +940,7 @@
 			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 			"dev": true,
 			"requires": {
-				"balanced-match": "^1.0.0",
+				"balanced-match": "1.0.0",
 				"concat-map": "0.0.1"
 			}
 		},
@@ -1052,9 +950,9 @@
 			"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
 			"dev": true,
 			"requires": {
-				"expand-range": "^1.8.1",
-				"preserve": "^0.2.0",
-				"repeat-element": "^1.1.2"
+				"expand-range": "1.8.2",
+				"preserve": "0.2.0",
+				"repeat-element": "1.1.2"
 			}
 		},
 		"brorand": {
@@ -1069,12 +967,12 @@
 			"integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==",
 			"dev": true,
 			"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"
+				"buffer-xor": "1.0.3",
+				"cipher-base": "1.0.4",
+				"create-hash": "1.1.3",
+				"evp_bytestokey": "1.0.3",
+				"inherits": "2.0.3",
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"browserify-cipher": {
@@ -1083,9 +981,9 @@
 			"integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
 			"dev": true,
 			"requires": {
-				"browserify-aes": "^1.0.4",
-				"browserify-des": "^1.0.0",
-				"evp_bytestokey": "^1.0.0"
+				"browserify-aes": "1.1.1",
+				"browserify-des": "1.0.0",
+				"evp_bytestokey": "1.0.3"
 			}
 		},
 		"browserify-des": {
@@ -1094,9 +992,9 @@
 			"integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
 			"dev": true,
 			"requires": {
-				"cipher-base": "^1.0.1",
-				"des.js": "^1.0.0",
-				"inherits": "^2.0.1"
+				"cipher-base": "1.0.4",
+				"des.js": "1.0.0",
+				"inherits": "2.0.3"
 			}
 		},
 		"browserify-rsa": {
@@ -1105,8 +1003,8 @@
 			"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.1.0",
-				"randombytes": "^2.0.1"
+				"bn.js": "4.11.8",
+				"randombytes": "2.0.6"
 			}
 		},
 		"browserify-sign": {
@@ -1115,13 +1013,13 @@
 			"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.1.1",
-				"browserify-rsa": "^4.0.0",
-				"create-hash": "^1.1.0",
-				"create-hmac": "^1.1.2",
-				"elliptic": "^6.0.0",
-				"inherits": "^2.0.1",
-				"parse-asn1": "^5.0.0"
+				"bn.js": "4.11.8",
+				"browserify-rsa": "4.0.1",
+				"create-hash": "1.1.3",
+				"create-hmac": "1.1.6",
+				"elliptic": "6.4.0",
+				"inherits": "2.0.3",
+				"parse-asn1": "5.1.0"
 			}
 		},
 		"browserify-zlib": {
@@ -1130,7 +1028,7 @@
 			"integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
 			"dev": true,
 			"requires": {
-				"pako": "~0.2.0"
+				"pako": "0.2.9"
 			}
 		},
 		"browserslist": {
@@ -1139,8 +1037,8 @@
 			"integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
 			"dev": true,
 			"requires": {
-				"caniuse-db": "^1.0.30000639",
-				"electron-to-chromium": "^1.2.7"
+				"caniuse-db": "1.0.30000813",
+				"electron-to-chromium": "1.3.36"
 			}
 		},
 		"buffer": {
@@ -1149,9 +1047,9 @@
 			"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
 			"dev": true,
 			"requires": {
-				"base64-js": "^1.0.2",
-				"ieee754": "^1.1.4",
-				"isarray": "^1.0.0"
+				"base64-js": "1.2.3",
+				"ieee754": "1.1.8",
+				"isarray": "1.0.0"
 			}
 		},
 		"buffer-crc32": {
@@ -1172,10 +1070,10 @@
 			"integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
 			"dev": true,
 			"requires": {
-				"file-type": "^3.1.0",
-				"readable-stream": "^2.0.2",
-				"uuid": "^2.0.1",
-				"vinyl": "^1.0.0"
+				"file-type": "3.9.0",
+				"readable-stream": "2.3.5",
+				"uuid": "2.0.3",
+				"vinyl": "1.2.0"
 			}
 		},
 		"buffer-xor": {
@@ -1202,21 +1100,73 @@
 			"integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
 			"dev": true
 		},
+		"cacache": {
+			"version": "10.0.4",
+			"resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
+			"integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
+			"dev": true,
+			"requires": {
+				"bluebird": "3.5.1",
+				"chownr": "1.0.1",
+				"glob": "7.1.2",
+				"graceful-fs": "4.1.11",
+				"lru-cache": "4.1.3",
+				"mississippi": "2.0.0",
+				"mkdirp": "0.5.1",
+				"move-concurrently": "1.0.1",
+				"promise-inflight": "1.0.1",
+				"rimraf": "2.6.2",
+				"ssri": "5.3.0",
+				"unique-filename": "1.1.0",
+				"y18n": "4.0.0"
+			},
+			"dependencies": {
+				"glob": {
+					"version": "7.1.2",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+					"dev": true,
+					"requires": {
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
+					}
+				},
+				"rimraf": {
+					"version": "2.6.2",
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+					"dev": true,
+					"requires": {
+						"glob": "7.1.2"
+					}
+				},
+				"y18n": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+					"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+					"dev": true
+				}
+			}
+		},
 		"cache-base": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
 			"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
 			"dev": true,
 			"requires": {
-				"collection-visit": "^1.0.0",
-				"component-emitter": "^1.2.1",
-				"get-value": "^2.0.6",
-				"has-value": "^1.0.0",
-				"isobject": "^3.0.1",
-				"set-value": "^2.0.0",
-				"to-object-path": "^0.3.0",
-				"union-value": "^1.0.0",
-				"unset-value": "^1.0.0"
+				"collection-visit": "1.0.0",
+				"component-emitter": "1.2.1",
+				"get-value": "2.0.6",
+				"has-value": "1.0.0",
+				"isobject": "3.0.1",
+				"set-value": "2.0.0",
+				"to-object-path": "0.3.0",
+				"union-value": "1.0.0",
+				"unset-value": "1.0.0"
 			},
 			"dependencies": {
 				"isobject": {
@@ -1239,8 +1189,8 @@
 			"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
 			"dev": true,
 			"requires": {
-				"camelcase": "^2.0.0",
-				"map-obj": "^1.0.0"
+				"camelcase": "2.1.1",
+				"map-obj": "1.0.1"
 			}
 		},
 		"caniuse-db": {
@@ -1267,7 +1217,7 @@
 			"integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=",
 			"dev": true,
 			"requires": {
-				"underscore-contrib": "~0.3.0"
+				"underscore-contrib": "0.3.0"
 			}
 		},
 		"caw": {
@@ -1276,10 +1226,10 @@
 			"integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
 			"dev": true,
 			"requires": {
-				"get-proxy": "^1.0.1",
-				"is-obj": "^1.0.0",
-				"object-assign": "^3.0.0",
-				"tunnel-agent": "^0.4.0"
+				"get-proxy": "1.1.0",
+				"is-obj": "1.0.1",
+				"object-assign": "3.0.0",
+				"tunnel-agent": "0.4.3"
 			},
 			"dependencies": {
 				"object-assign": {
@@ -1296,8 +1246,8 @@
 			"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
 			"dev": true,
 			"requires": {
-				"align-text": "^0.1.3",
-				"lazy-cache": "^1.0.3"
+				"align-text": "0.1.4",
+				"lazy-cache": "1.0.4"
 			}
 		},
 		"chalk": {
@@ -1306,11 +1256,11 @@
 			"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
 			"dev": true,
 			"requires": {
-				"ansi-styles": "^2.2.1",
-				"escape-string-regexp": "^1.0.2",
-				"has-ansi": "^2.0.0",
-				"strip-ansi": "^3.0.0",
-				"supports-color": "^2.0.0"
+				"ansi-styles": "2.2.1",
+				"escape-string-regexp": "1.0.5",
+				"has-ansi": "2.0.0",
+				"strip-ansi": "3.0.1",
+				"supports-color": "2.0.0"
 			},
 			"dependencies": {
 				"supports-color": {
@@ -1333,13 +1283,13 @@
 			"integrity": "sha512-mJu4dADRf+NUeOyGgFTXaLtjyyffD3Eej2RA9IEk1CdHmoVurErLD++e/Ps6uKfsB273ky+0Z9NlOiuplxuNdw==",
 			"dev": true,
 			"requires": {
-				"chalk": "^2.3.0",
-				"map-values": "^1.0.1",
-				"minimist": "^1.2.0",
-				"object-filter": "^1.0.2",
-				"object.assign": "^4.0.4",
-				"run-parallel": "^1.1.4",
-				"semver": "^5.0.3"
+				"chalk": "2.4.1",
+				"map-values": "1.0.1",
+				"minimist": "1.2.0",
+				"object-filter": "1.0.2",
+				"object.assign": "4.1.0",
+				"run-parallel": "1.1.9",
+				"semver": "5.5.0"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -1348,7 +1298,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "^1.9.0"
+						"color-convert": "1.9.1"
 					}
 				},
 				"chalk": {
@@ -1357,9 +1307,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
+						"ansi-styles": "3.2.1",
+						"escape-string-regexp": "1.0.5",
+						"supports-color": "5.4.0"
 					}
 				},
 				"has-flag": {
@@ -1374,7 +1324,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"has-flag": "3.0.0"
 					}
 				}
 			}
@@ -1385,18 +1335,18 @@
 			"integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==",
 			"dev": true,
 			"requires": {
-				"anymatch": "^2.0.0",
-				"async-each": "^1.0.0",
-				"braces": "^2.3.0",
-				"fsevents": "^1.0.0",
-				"glob-parent": "^3.1.0",
-				"inherits": "^2.0.1",
-				"is-binary-path": "^1.0.0",
-				"is-glob": "^4.0.0",
-				"normalize-path": "^2.1.1",
-				"path-is-absolute": "^1.0.0",
-				"readdirp": "^2.0.0",
-				"upath": "^1.0.0"
+				"anymatch": "2.0.0",
+				"async-each": "1.0.1",
+				"braces": "2.3.1",
+				"fsevents": "1.1.3",
+				"glob-parent": "3.1.0",
+				"inherits": "2.0.3",
+				"is-binary-path": "1.0.1",
+				"is-glob": "4.0.0",
+				"normalize-path": "2.1.1",
+				"path-is-absolute": "1.0.1",
+				"readdirp": "2.1.0",
+				"upath": "1.0.4"
 			},
 			"dependencies": {
 				"array-unique": {
@@ -1411,18 +1361,18 @@
 					"integrity": "sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==",
 					"dev": true,
 					"requires": {
-						"arr-flatten": "^1.1.0",
-						"array-unique": "^0.3.2",
-						"define-property": "^1.0.0",
-						"extend-shallow": "^2.0.1",
-						"fill-range": "^4.0.0",
-						"isobject": "^3.0.1",
-						"kind-of": "^6.0.2",
-						"repeat-element": "^1.1.2",
-						"snapdragon": "^0.8.1",
-						"snapdragon-node": "^2.0.1",
-						"split-string": "^3.0.2",
-						"to-regex": "^3.0.1"
+						"arr-flatten": "1.1.0",
+						"array-unique": "0.3.2",
+						"define-property": "1.0.0",
+						"extend-shallow": "2.0.1",
+						"fill-range": "4.0.0",
+						"isobject": "3.0.1",
+						"kind-of": "6.0.2",
+						"repeat-element": "1.1.2",
+						"snapdragon": "0.8.1",
+						"snapdragon-node": "2.1.1",
+						"split-string": "3.1.0",
+						"to-regex": "3.0.2"
 					}
 				},
 				"define-property": {
@@ -1431,7 +1381,7 @@
 					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^1.0.0"
+						"is-descriptor": "1.0.2"
 					}
 				},
 				"fill-range": {
@@ -1440,10 +1390,10 @@
 					"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
 					"dev": true,
 					"requires": {
-						"extend-shallow": "^2.0.1",
-						"is-number": "^3.0.0",
-						"repeat-string": "^1.6.1",
-						"to-regex-range": "^2.1.0"
+						"extend-shallow": "2.0.1",
+						"is-number": "3.0.0",
+						"repeat-string": "1.6.1",
+						"to-regex-range": "2.1.1"
 					}
 				},
 				"is-glob": {
@@ -1452,7 +1402,7 @@
 					"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "^2.1.1"
+						"is-extglob": "2.1.1"
 					}
 				},
 				"is-number": {
@@ -1461,7 +1411,7 @@
 					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -1470,7 +1420,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -1489,14 +1439,20 @@
 				}
 			}
 		},
+		"chownr": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+			"integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
+			"dev": true
+		},
 		"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==",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.1",
-				"safe-buffer": "^5.0.1"
+				"inherits": "2.0.3",
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"clap": {
@@ -1506,7 +1462,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"chalk": "^1.1.3"
+				"chalk": "1.1.3"
 			}
 		},
 		"class-utils": {
@@ -1515,10 +1471,10 @@
 			"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
 			"dev": true,
 			"requires": {
-				"arr-union": "^3.1.0",
-				"define-property": "^0.2.5",
-				"isobject": "^3.0.0",
-				"static-extend": "^0.1.1"
+				"arr-union": "3.1.0",
+				"define-property": "0.2.5",
+				"isobject": "3.0.1",
+				"static-extend": "0.1.2"
 			},
 			"dependencies": {
 				"define-property": {
@@ -1527,7 +1483,7 @@
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^0.1.0"
+						"is-descriptor": "0.1.6"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -1536,7 +1492,7 @@
 					"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -1545,7 +1501,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -1556,7 +1512,7 @@
 					"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -1565,7 +1521,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -1576,9 +1532,9 @@
 					"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 					"dev": true,
 					"requires": {
-						"is-accessor-descriptor": "^0.1.6",
-						"is-data-descriptor": "^0.1.4",
-						"kind-of": "^5.0.0"
+						"is-accessor-descriptor": "0.1.6",
+						"is-data-descriptor": "0.1.4",
+						"kind-of": "5.1.0"
 					}
 				},
 				"isobject": {
@@ -1601,8 +1557,8 @@
 			"integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
 			"dev": true,
 			"requires": {
-				"commander": "2.8.x",
-				"source-map": "0.4.x"
+				"commander": "2.8.1",
+				"source-map": "0.4.4"
 			},
 			"dependencies": {
 				"source-map": {
@@ -1611,7 +1567,7 @@
 					"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
 					"dev": true,
 					"requires": {
-						"amdefine": ">=0.0.4"
+						"amdefine": "1.0.1"
 					}
 				}
 			}
@@ -1623,7 +1579,7 @@
 			"dev": true,
 			"requires": {
 				"exit": "0.1.2",
-				"glob": "^7.1.1"
+				"glob": "7.1.2"
 			},
 			"dependencies": {
 				"glob": {
@@ -1632,12 +1588,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -1646,7 +1602,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -1657,7 +1613,7 @@
 			"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
 			"dev": true,
 			"requires": {
-				"restore-cursor": "^2.0.0"
+				"restore-cursor": "2.0.0"
 			}
 		},
 		"cli-width": {
@@ -1672,8 +1628,8 @@
 			"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
 			"dev": true,
 			"requires": {
-				"center-align": "^0.1.1",
-				"right-align": "^0.1.1",
+				"center-align": "0.1.3",
+				"right-align": "0.1.3",
 				"wordwrap": "0.0.2"
 			}
 		},
@@ -1702,7 +1658,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"q": "^1.1.2"
+				"q": "1.5.1"
 			}
 		},
 		"code-point-at": {
@@ -1723,8 +1679,8 @@
 			"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
 			"dev": true,
 			"requires": {
-				"map-visit": "^1.0.0",
-				"object-visit": "^1.0.0"
+				"map-visit": "1.0.0",
+				"object-visit": "1.0.1"
 			}
 		},
 		"color-convert": {
@@ -1733,7 +1689,7 @@
 			"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
 			"dev": true,
 			"requires": {
-				"color-name": "^1.1.1"
+				"color-name": "1.1.3"
 			}
 		},
 		"color-name": {
@@ -1760,7 +1716,7 @@
 			"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
 			"dev": true,
 			"requires": {
-				"delayed-stream": "~1.0.0"
+				"delayed-stream": "1.0.0"
 			}
 		},
 		"commander": {
@@ -1769,34 +1725,28 @@
 			"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
 			"dev": true,
 			"requires": {
-				"graceful-readlink": ">= 1.0.0"
+				"graceful-readlink": "1.0.1"
 			}
 		},
+		"commondir": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+			"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+			"dev": true
+		},
 		"component-emitter": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
 			"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
 			"dev": true
 		},
-		"compress-commons": {
-			"version": "1.2.2",
-			"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
-			"integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
-			"dev": true,
-			"requires": {
-				"buffer-crc32": "^0.2.1",
-				"crc32-stream": "^2.0.0",
-				"normalize-path": "^2.0.0",
-				"readable-stream": "^2.0.0"
-			}
-		},
 		"compressible": {
 			"version": "2.0.13",
 			"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
 			"integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
 			"dev": true,
 			"requires": {
-				"mime-db": ">= 1.33.0 < 2"
+				"mime-db": "1.33.0"
 			}
 		},
 		"compression": {
@@ -1805,13 +1755,13 @@
 			"integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
 			"dev": true,
 			"requires": {
-				"accepts": "~1.3.4",
+				"accepts": "1.3.5",
 				"bytes": "3.0.0",
-				"compressible": "~2.0.13",
+				"compressible": "2.0.13",
 				"debug": "2.6.9",
-				"on-headers": "~1.0.1",
+				"on-headers": "1.0.1",
 				"safe-buffer": "5.1.1",
-				"vary": "~1.1.2"
+				"vary": "1.1.2"
 			},
 			"dependencies": {
 				"bytes": {
@@ -1822,6 +1772,19 @@
 				}
 			}
 		},
+		"compression-webpack-plugin": {
+			"version": "1.1.11",
+			"resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-1.1.11.tgz",
+			"integrity": "sha512-ZVWKrTQhtOP7rDx3M/koXTnRm/iwcYbuCdV+i4lZfAIe32Mov7vUVM0+8Vpz4q0xH+TBUZxq+rM8nhtkDH50YQ==",
+			"dev": true,
+			"requires": {
+				"cacache": "10.0.4",
+				"find-cache-dir": "1.0.0",
+				"neo-async": "2.5.0",
+				"serialize-javascript": "1.5.0",
+				"webpack-sources": "1.1.0"
+			}
+		},
 		"concat-map": {
 			"version": "0.0.1",
 			"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -1834,9 +1797,26 @@
 			"integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.3",
-				"readable-stream": "^2.2.2",
-				"typedarray": "^0.0.6"
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5",
+				"typedarray": "0.0.6"
+			}
+		},
+		"concat-with-sourcemaps": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+			"integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
+			"dev": true,
+			"requires": {
+				"source-map": "0.6.1"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				}
 			}
 		},
 		"connect-history-api-fallback": {
@@ -1851,7 +1831,7 @@
 			"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
 			"dev": true,
 			"requires": {
-				"date-now": "^0.1.4"
+				"date-now": "0.1.4"
 			}
 		},
 		"console-control-strings": {
@@ -1903,42 +1883,112 @@
 			"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
 			"dev": true
 		},
+		"copy-concurrently": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+			"integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+			"dev": true,
+			"requires": {
+				"aproba": "1.2.0",
+				"fs-write-stream-atomic": "1.0.10",
+				"iferr": "0.1.5",
+				"mkdirp": "0.5.1",
+				"rimraf": "2.6.2",
+				"run-queue": "1.0.3"
+			},
+			"dependencies": {
+				"rimraf": {
+					"version": "2.6.2",
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+					"dev": true,
+					"requires": {
+						"glob": "7.0.6"
+					}
+				}
+			}
+		},
 		"copy-descriptor": {
 			"version": "0.1.1",
 			"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
 			"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
 			"dev": true
 		},
+		"copy-webpack-plugin": {
+			"version": "4.5.1",
+			"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.1.tgz",
+			"integrity": "sha512-OlTo6DYg0XfTKOF8eLf79wcHm4Ut10xU2cRBRPMW/NA5F9VMjZGTfRHWDIYC3s+1kObGYrBLshXWU1K0hILkNQ==",
+			"dev": true,
+			"requires": {
+				"cacache": "10.0.4",
+				"find-cache-dir": "1.0.0",
+				"globby": "7.1.1",
+				"is-glob": "4.0.0",
+				"loader-utils": "1.1.0",
+				"minimatch": "3.0.4",
+				"p-limit": "1.2.0",
+				"serialize-javascript": "1.5.0"
+			},
+			"dependencies": {
+				"glob": {
+					"version": "7.1.2",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+					"dev": true,
+					"requires": {
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
+					}
+				},
+				"globby": {
+					"version": "7.1.1",
+					"resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+					"integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+					"dev": true,
+					"requires": {
+						"array-union": "1.0.2",
+						"dir-glob": "2.0.0",
+						"glob": "7.1.2",
+						"ignore": "3.3.8",
+						"pify": "3.0.0",
+						"slash": "1.0.0"
+					}
+				},
+				"is-glob": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+					"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+					"dev": true,
+					"requires": {
+						"is-extglob": "2.1.1"
+					}
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				}
+			}
+		},
 		"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=",
 			"dev": true
 		},
-		"crc": {
-			"version": "3.5.0",
-			"resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz",
-			"integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=",
-			"dev": true
-		},
-		"crc32-stream": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
-			"integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
-			"dev": true,
-			"requires": {
-				"crc": "^3.4.4",
-				"readable-stream": "^2.0.0"
-			}
-		},
 		"create-ecdh": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
 			"integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.1.0",
-				"elliptic": "^6.0.0"
+				"bn.js": "4.11.8",
+				"elliptic": "6.4.0"
 			}
 		},
 		"create-error-class": {
@@ -1947,7 +1997,7 @@
 			"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
 			"dev": true,
 			"requires": {
-				"capture-stack-trace": "^1.0.0"
+				"capture-stack-trace": "1.0.0"
 			}
 		},
 		"create-hash": {
@@ -1956,10 +2006,10 @@
 			"integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
 			"dev": true,
 			"requires": {
-				"cipher-base": "^1.0.1",
-				"inherits": "^2.0.1",
-				"ripemd160": "^2.0.0",
-				"sha.js": "^2.4.0"
+				"cipher-base": "1.0.4",
+				"inherits": "2.0.3",
+				"ripemd160": "2.0.1",
+				"sha.js": "2.4.10"
 			}
 		},
 		"create-hmac": {
@@ -1968,12 +2018,12 @@
 			"integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
 			"dev": true,
 			"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"
+				"cipher-base": "1.0.4",
+				"create-hash": "1.1.3",
+				"inherits": "2.0.3",
+				"ripemd160": "2.0.1",
+				"safe-buffer": "5.1.1",
+				"sha.js": "2.4.10"
 			}
 		},
 		"cross-spawn": {
@@ -1982,8 +2032,8 @@
 			"integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
 			"dev": true,
 			"requires": {
-				"lru-cache": "^4.0.1",
-				"which": "^1.2.9"
+				"lru-cache": "4.1.2",
+				"which": "1.3.0"
 			},
 			"dependencies": {
 				"lru-cache": {
@@ -1992,8 +2042,8 @@
 					"integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
 					"dev": true,
 					"requires": {
-						"pseudomap": "^1.0.2",
-						"yallist": "^2.1.2"
+						"pseudomap": "1.0.2",
+						"yallist": "2.1.2"
 					}
 				},
 				"which": {
@@ -2002,7 +2052,7 @@
 					"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
 					"dev": true,
 					"requires": {
-						"isexe": "^2.0.0"
+						"isexe": "2.0.0"
 					}
 				}
 			}
@@ -2013,7 +2063,7 @@
 			"integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
 			"dev": true,
 			"requires": {
-				"boom": "5.x.x"
+				"boom": "5.2.0"
 			},
 			"dependencies": {
 				"boom": {
@@ -2022,7 +2072,7 @@
 					"integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
 					"dev": true,
 					"requires": {
-						"hoek": "4.x.x"
+						"hoek": "4.2.1"
 					}
 				}
 			}
@@ -2033,17 +2083,17 @@
 			"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
 			"dev": true,
 			"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"
+				"browserify-cipher": "1.0.0",
+				"browserify-sign": "4.0.4",
+				"create-ecdh": "4.0.0",
+				"create-hash": "1.1.3",
+				"create-hmac": "1.1.6",
+				"diffie-hellman": "5.0.2",
+				"inherits": "2.0.3",
+				"pbkdf2": "3.0.14",
+				"public-encrypt": "4.0.0",
+				"randombytes": "2.0.6",
+				"randomfill": "1.0.4"
 			}
 		},
 		"cson-parser": {
@@ -2052,7 +2102,7 @@
 			"integrity": "sha1-fsZ14DkUVTO/KmqFYHPxWZ2cLSQ=",
 			"dev": true,
 			"requires": {
-				"coffee-script": "^1.10.0"
+				"coffee-script": "1.12.7"
 			},
 			"dependencies": {
 				"coffee-script": {
@@ -2070,8 +2120,8 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"clap": "^1.0.9",
-				"source-map": "^0.5.3"
+				"clap": "1.2.3",
+				"source-map": "0.5.7"
 			}
 		},
 		"currently-unhandled": {
@@ -2080,16 +2130,22 @@
 			"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
 			"dev": true,
 			"requires": {
-				"array-find-index": "^1.0.1"
+				"array-find-index": "1.0.2"
 			}
 		},
+		"cyclist": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
+			"integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+			"dev": true
+		},
 		"d": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
 			"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
 			"dev": true,
 			"requires": {
-				"es5-ext": "^0.10.9"
+				"es5-ext": "0.10.39"
 			}
 		},
 		"dashdash": {
@@ -2098,7 +2154,7 @@
 			"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
 			"dev": true,
 			"requires": {
-				"assert-plus": "^1.0.0"
+				"assert-plus": "1.0.0"
 			}
 		},
 		"date-now": {
@@ -2113,8 +2169,8 @@
 			"integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
 			"dev": true,
 			"requires": {
-				"get-stdin": "^4.0.1",
-				"meow": "^3.3.0"
+				"get-stdin": "4.0.1",
+				"meow": "3.7.0"
 			}
 		},
 		"debug": {
@@ -2144,15 +2200,15 @@
 			"integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
 			"dev": true,
 			"requires": {
-				"buffer-to-vinyl": "^1.0.0",
-				"concat-stream": "^1.4.6",
-				"decompress-tar": "^3.0.0",
-				"decompress-tarbz2": "^3.0.0",
-				"decompress-targz": "^3.0.0",
-				"decompress-unzip": "^3.0.0",
-				"stream-combiner2": "^1.1.1",
-				"vinyl-assign": "^1.0.1",
-				"vinyl-fs": "^2.2.0"
+				"buffer-to-vinyl": "1.1.0",
+				"concat-stream": "1.6.1",
+				"decompress-tar": "3.1.0",
+				"decompress-tarbz2": "3.1.0",
+				"decompress-targz": "3.1.0",
+				"decompress-unzip": "3.4.0",
+				"stream-combiner2": "1.1.1",
+				"vinyl-assign": "1.2.1",
+				"vinyl-fs": "2.4.4"
 			}
 		},
 		"decompress-tar": {
@@ -2161,12 +2217,12 @@
 			"integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
 			"dev": true,
 			"requires": {
-				"is-tar": "^1.0.0",
-				"object-assign": "^2.0.0",
-				"strip-dirs": "^1.0.0",
-				"tar-stream": "^1.1.1",
-				"through2": "^0.6.1",
-				"vinyl": "^0.4.3"
+				"is-tar": "1.0.0",
+				"object-assign": "2.1.1",
+				"strip-dirs": "1.1.1",
+				"tar-stream": "1.5.5",
+				"through2": "0.6.5",
+				"vinyl": "0.4.6"
 			},
 			"dependencies": {
 				"clone": {
@@ -2187,8 +2243,8 @@
 					"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
 					"dev": true,
 					"requires": {
-						"clone": "^0.2.0",
-						"clone-stats": "^0.0.1"
+						"clone": "0.2.0",
+						"clone-stats": "0.0.1"
 					}
 				}
 			}
@@ -2199,13 +2255,13 @@
 			"integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
 			"dev": true,
 			"requires": {
-				"is-bzip2": "^1.0.0",
-				"object-assign": "^2.0.0",
-				"seek-bzip": "^1.0.3",
-				"strip-dirs": "^1.0.0",
-				"tar-stream": "^1.1.1",
-				"through2": "^0.6.1",
-				"vinyl": "^0.4.3"
+				"is-bzip2": "1.0.0",
+				"object-assign": "2.1.1",
+				"seek-bzip": "1.0.5",
+				"strip-dirs": "1.1.1",
+				"tar-stream": "1.5.5",
+				"through2": "0.6.5",
+				"vinyl": "0.4.6"
 			},
 			"dependencies": {
 				"clone": {
@@ -2226,8 +2282,8 @@
 					"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
 					"dev": true,
 					"requires": {
-						"clone": "^0.2.0",
-						"clone-stats": "^0.0.1"
+						"clone": "0.2.0",
+						"clone-stats": "0.0.1"
 					}
 				}
 			}
@@ -2238,12 +2294,12 @@
 			"integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
 			"dev": true,
 			"requires": {
-				"is-gzip": "^1.0.0",
-				"object-assign": "^2.0.0",
-				"strip-dirs": "^1.0.0",
-				"tar-stream": "^1.1.1",
-				"through2": "^0.6.1",
-				"vinyl": "^0.4.3"
+				"is-gzip": "1.0.0",
+				"object-assign": "2.1.1",
+				"strip-dirs": "1.1.1",
+				"tar-stream": "1.5.5",
+				"through2": "0.6.5",
+				"vinyl": "0.4.6"
 			},
 			"dependencies": {
 				"clone": {
@@ -2264,8 +2320,8 @@
 					"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
 					"dev": true,
 					"requires": {
-						"clone": "^0.2.0",
-						"clone-stats": "^0.0.1"
+						"clone": "0.2.0",
+						"clone-stats": "0.0.1"
 					}
 				}
 			}
@@ -2276,13 +2332,13 @@
 			"integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
 			"dev": true,
 			"requires": {
-				"is-zip": "^1.0.0",
-				"read-all-stream": "^3.0.0",
-				"stat-mode": "^0.2.0",
-				"strip-dirs": "^1.0.0",
-				"through2": "^2.0.0",
-				"vinyl": "^1.0.0",
-				"yauzl": "^2.2.1"
+				"is-zip": "1.0.0",
+				"read-all-stream": "3.1.0",
+				"stat-mode": "0.2.2",
+				"strip-dirs": "1.1.1",
+				"through2": "2.0.3",
+				"vinyl": "1.2.0",
+				"yauzl": "2.9.1"
 			},
 			"dependencies": {
 				"through2": {
@@ -2291,8 +2347,8 @@
 					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -2315,7 +2371,7 @@
 			"integrity": "sha1-r6DOJJxYSSqXIFOUeKGNN+GxC64=",
 			"dev": true,
 			"requires": {
-				"is-plain-object": "^2.0.1"
+				"is-plain-object": "2.0.4"
 			}
 		},
 		"define-properties": {
@@ -2324,8 +2380,8 @@
 			"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
 			"dev": true,
 			"requires": {
-				"foreach": "^2.0.5",
-				"object-keys": "^1.0.8"
+				"foreach": "2.0.5",
+				"object-keys": "1.0.11"
 			}
 		},
 		"define-property": {
@@ -2334,8 +2390,8 @@
 			"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
 			"dev": true,
 			"requires": {
-				"is-descriptor": "^1.0.2",
-				"isobject": "^3.0.1"
+				"is-descriptor": "1.0.2",
+				"isobject": "3.0.1"
 			},
 			"dependencies": {
 				"isobject": {
@@ -2352,12 +2408,12 @@
 			"integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
 			"dev": true,
 			"requires": {
-				"globby": "^6.1.0",
-				"is-path-cwd": "^1.0.0",
-				"is-path-in-cwd": "^1.0.0",
-				"p-map": "^1.1.1",
-				"pify": "^3.0.0",
-				"rimraf": "^2.2.8"
+				"globby": "6.1.0",
+				"is-path-cwd": "1.0.0",
+				"is-path-in-cwd": "1.0.0",
+				"p-map": "1.2.0",
+				"pify": "3.0.0",
+				"rimraf": "2.2.8"
 			},
 			"dependencies": {
 				"pify": {
@@ -2392,8 +2448,8 @@
 			"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.1",
-				"minimalistic-assert": "^1.0.0"
+				"inherits": "2.0.3",
+				"minimalistic-assert": "1.0.0"
 			}
 		},
 		"desandro-get-style-property": {
@@ -2430,9 +2486,36 @@
 			"integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.1.0",
-				"miller-rabin": "^4.0.0",
-				"randombytes": "^2.0.0"
+				"bn.js": "4.11.8",
+				"miller-rabin": "4.0.1",
+				"randombytes": "2.0.6"
+			}
+		},
+		"dir-glob": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
+			"integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
+			"dev": true,
+			"requires": {
+				"arrify": "1.0.1",
+				"path-type": "3.0.0"
+			},
+			"dependencies": {
+				"path-type": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+					"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+					"dev": true,
+					"requires": {
+						"pify": "3.0.0"
+					}
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				}
 			}
 		},
 		"dns-equal": {
@@ -2447,8 +2530,8 @@
 			"integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
 			"dev": true,
 			"requires": {
-				"ip": "^1.1.0",
-				"safe-buffer": "^5.0.1"
+				"ip": "1.1.5",
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"dns-txt": {
@@ -2457,7 +2540,7 @@
 			"integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
 			"dev": true,
 			"requires": {
-				"buffer-indexof": "^1.0.0"
+				"buffer-indexof": "1.1.1"
 			}
 		},
 		"doc-ready": {
@@ -2465,7 +2548,7 @@
 			"resolved": "https://registry.npmjs.org/doc-ready/-/doc-ready-1.0.4.tgz",
 			"integrity": "sha1-N/U5GWnP+ZQwP9/vLl1QNX+BZNM=",
 			"requires": {
-				"eventie": "^1"
+				"eventie": "1.0.6"
 			}
 		},
 		"dom-serializer": {
@@ -2474,8 +2557,8 @@
 			"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
 			"dev": true,
 			"requires": {
-				"domelementtype": "~1.1.1",
-				"entities": "~1.1.1"
+				"domelementtype": "1.1.3",
+				"entities": "1.1.1"
 			},
 			"dependencies": {
 				"domelementtype": {
@@ -2510,7 +2593,7 @@
 			"integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
 			"dev": true,
 			"requires": {
-				"domelementtype": "1"
+				"domelementtype": "1.3.0"
 			}
 		},
 		"domutils": {
@@ -2519,8 +2602,8 @@
 			"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
 			"dev": true,
 			"requires": {
-				"dom-serializer": "0",
-				"domelementtype": "1"
+				"dom-serializer": "0.1.0",
+				"domelementtype": "1.3.0"
 			}
 		},
 		"download": {
@@ -2529,21 +2612,21 @@
 			"integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
 			"dev": true,
 			"requires": {
-				"caw": "^1.0.1",
-				"concat-stream": "^1.4.7",
-				"each-async": "^1.0.0",
-				"filenamify": "^1.0.1",
-				"got": "^5.0.0",
-				"gulp-decompress": "^1.2.0",
-				"gulp-rename": "^1.2.0",
-				"is-url": "^1.2.0",
-				"object-assign": "^4.0.1",
-				"read-all-stream": "^3.0.0",
-				"readable-stream": "^2.0.2",
-				"stream-combiner2": "^1.1.1",
-				"vinyl": "^1.0.0",
-				"vinyl-fs": "^2.2.0",
-				"ware": "^1.2.0"
+				"caw": "1.2.0",
+				"concat-stream": "1.6.1",
+				"each-async": "1.1.1",
+				"filenamify": "1.2.1",
+				"got": "5.7.1",
+				"gulp-decompress": "1.2.0",
+				"gulp-rename": "1.2.2",
+				"is-url": "1.2.2",
+				"object-assign": "4.1.1",
+				"read-all-stream": "3.1.0",
+				"readable-stream": "2.3.5",
+				"stream-combiner2": "1.1.1",
+				"vinyl": "1.2.0",
+				"vinyl-fs": "2.4.4",
+				"ware": "1.3.0"
 			}
 		},
 		"duplexer2": {
@@ -2552,7 +2635,7 @@
 			"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
 			"dev": true,
 			"requires": {
-				"readable-stream": "^2.0.2"
+				"readable-stream": "2.3.5"
 			}
 		},
 		"duplexify": {
@@ -2561,10 +2644,10 @@
 			"integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
 			"dev": true,
 			"requires": {
-				"end-of-stream": "^1.0.0",
-				"inherits": "^2.0.1",
-				"readable-stream": "^2.0.0",
-				"stream-shift": "^1.0.0"
+				"end-of-stream": "1.4.1",
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5",
+				"stream-shift": "1.0.0"
 			}
 		},
 		"each-async": {
@@ -2573,8 +2656,8 @@
 			"integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
 			"dev": true,
 			"requires": {
-				"onetime": "^1.0.0",
-				"set-immediate-shim": "^1.0.0"
+				"onetime": "1.1.0",
+				"set-immediate-shim": "1.0.1"
 			}
 		},
 		"ecc-jsbn": {
@@ -2584,7 +2667,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"jsbn": "~0.1.0"
+				"jsbn": "0.1.1"
 			}
 		},
 		"ee-first": {
@@ -2605,13 +2688,13 @@
 			"integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.4.0",
-				"brorand": "^1.0.1",
-				"hash.js": "^1.0.0",
-				"hmac-drbg": "^1.0.0",
-				"inherits": "^2.0.1",
-				"minimalistic-assert": "^1.0.0",
-				"minimalistic-crypto-utils": "^1.0.0"
+				"bn.js": "4.11.8",
+				"brorand": "1.1.0",
+				"hash.js": "1.1.3",
+				"hmac-drbg": "1.0.1",
+				"inherits": "2.0.3",
+				"minimalistic-assert": "1.0.0",
+				"minimalistic-crypto-utils": "1.0.1"
 			}
 		},
 		"emojis-list": {
@@ -2632,7 +2715,7 @@
 			"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
 			"dev": true,
 			"requires": {
-				"once": "^1.4.0"
+				"once": "1.4.0"
 			}
 		},
 		"enhanced-resolve": {
@@ -2641,10 +2724,10 @@
 			"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.2",
-				"memory-fs": "^0.4.0",
-				"object-assign": "^4.0.1",
-				"tapable": "^0.2.7"
+				"graceful-fs": "4.1.11",
+				"memory-fs": "0.4.1",
+				"object-assign": "4.1.1",
+				"tapable": "0.2.8"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -2667,7 +2750,7 @@
 			"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
 			"dev": true,
 			"requires": {
-				"prr": "~1.0.1"
+				"prr": "1.0.1"
 			}
 		},
 		"error-ex": {
@@ -2676,7 +2759,7 @@
 			"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
 			"dev": true,
 			"requires": {
-				"is-arrayish": "^0.2.1"
+				"is-arrayish": "0.2.1"
 			}
 		},
 		"es-abstract": {
@@ -2685,11 +2768,11 @@
 			"integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==",
 			"dev": true,
 			"requires": {
-				"es-to-primitive": "^1.1.1",
-				"function-bind": "^1.1.1",
-				"has": "^1.0.1",
-				"is-callable": "^1.1.3",
-				"is-regex": "^1.0.4"
+				"es-to-primitive": "1.1.1",
+				"function-bind": "1.1.1",
+				"has": "1.0.1",
+				"is-callable": "1.1.3",
+				"is-regex": "1.0.4"
 			}
 		},
 		"es-to-primitive": {
@@ -2698,9 +2781,9 @@
 			"integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
 			"dev": true,
 			"requires": {
-				"is-callable": "^1.1.1",
-				"is-date-object": "^1.0.1",
-				"is-symbol": "^1.0.1"
+				"is-callable": "1.1.3",
+				"is-date-object": "1.0.1",
+				"is-symbol": "1.0.1"
 			}
 		},
 		"es5-ext": {
@@ -2709,8 +2792,8 @@
 			"integrity": "sha512-AlaXZhPHl0po/uxMx1tyrlt1O86M6D5iVaDH8UgLfgek4kXTX6vzsRfJQWC2Ku+aG8pkw1XWzh9eTkwfVrsD5g==",
 			"dev": true,
 			"requires": {
-				"es6-iterator": "~2.0.3",
-				"es6-symbol": "~3.1.1"
+				"es6-iterator": "2.0.3",
+				"es6-symbol": "3.1.1"
 			}
 		},
 		"es6-iterator": {
@@ -2719,9 +2802,9 @@
 			"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
 			"dev": true,
 			"requires": {
-				"d": "1",
-				"es5-ext": "^0.10.35",
-				"es6-symbol": "^3.1.1"
+				"d": "1.0.0",
+				"es5-ext": "0.10.39",
+				"es6-symbol": "3.1.1"
 			}
 		},
 		"es6-map": {
@@ -2730,12 +2813,12 @@
 			"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
 			"dev": true,
 			"requires": {
-				"d": "1",
-				"es5-ext": "~0.10.14",
-				"es6-iterator": "~2.0.1",
-				"es6-set": "~0.1.5",
-				"es6-symbol": "~3.1.1",
-				"event-emitter": "~0.3.5"
+				"d": "1.0.0",
+				"es5-ext": "0.10.39",
+				"es6-iterator": "2.0.3",
+				"es6-set": "0.1.5",
+				"es6-symbol": "3.1.1",
+				"event-emitter": "0.3.5"
 			}
 		},
 		"es6-promise": {
@@ -2750,11 +2833,11 @@
 			"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
 			"dev": true,
 			"requires": {
-				"d": "1",
-				"es5-ext": "~0.10.14",
-				"es6-iterator": "~2.0.1",
+				"d": "1.0.0",
+				"es5-ext": "0.10.39",
+				"es6-iterator": "2.0.3",
 				"es6-symbol": "3.1.1",
-				"event-emitter": "~0.3.5"
+				"event-emitter": "0.3.5"
 			}
 		},
 		"es6-symbol": {
@@ -2763,8 +2846,8 @@
 			"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
 			"dev": true,
 			"requires": {
-				"d": "1",
-				"es5-ext": "~0.10.14"
+				"d": "1.0.0",
+				"es5-ext": "0.10.39"
 			}
 		},
 		"es6-weak-map": {
@@ -2773,10 +2856,10 @@
 			"integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
 			"dev": true,
 			"requires": {
-				"d": "1",
-				"es5-ext": "^0.10.14",
-				"es6-iterator": "^2.0.1",
-				"es6-symbol": "^3.1.1"
+				"d": "1.0.0",
+				"es5-ext": "0.10.39",
+				"es6-iterator": "2.0.3",
+				"es6-symbol": "3.1.1"
 			}
 		},
 		"escape-html": {
@@ -2797,10 +2880,10 @@
 			"integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
 			"dev": true,
 			"requires": {
-				"es6-map": "^0.1.3",
-				"es6-weak-map": "^2.0.1",
-				"esrecurse": "^4.1.0",
-				"estraverse": "^4.1.1"
+				"es6-map": "0.1.5",
+				"es6-weak-map": "2.0.2",
+				"esrecurse": "4.2.1",
+				"estraverse": "4.2.0"
 			}
 		},
 		"esprima": {
@@ -2815,7 +2898,7 @@
 			"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
 			"dev": true,
 			"requires": {
-				"estraverse": "^4.1.0"
+				"estraverse": "4.2.0"
 			}
 		},
 		"estraverse": {
@@ -2836,8 +2919,8 @@
 			"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
 			"dev": true,
 			"requires": {
-				"d": "1",
-				"es5-ext": "~0.10.14"
+				"d": "1.0.0",
+				"es5-ext": "0.10.39"
 			}
 		},
 		"eventemitter2": {
@@ -2869,7 +2952,7 @@
 			"integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
 			"dev": true,
 			"requires": {
-				"original": ">=0.0.5"
+				"original": "1.0.0"
 			}
 		},
 		"evp_bytestokey": {
@@ -2878,8 +2961,8 @@
 			"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
 			"dev": true,
 			"requires": {
-				"md5.js": "^1.3.4",
-				"safe-buffer": "^5.1.1"
+				"md5.js": "1.3.4",
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"exec-buffer": {
@@ -2889,8 +2972,8 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"rimraf": "^2.2.6",
-				"tempfile": "^1.0.0"
+				"rimraf": "2.2.8",
+				"tempfile": "1.1.1"
 			}
 		},
 		"exec-series": {
@@ -2900,8 +2983,8 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"async-each-series": "^1.1.0",
-				"object-assign": "^4.1.0"
+				"async-each-series": "1.1.0",
+				"object-assign": "4.1.1"
 			}
 		},
 		"execa": {
@@ -2910,13 +2993,13 @@
 			"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
 			"dev": true,
 			"requires": {
-				"cross-spawn": "^5.0.1",
-				"get-stream": "^3.0.0",
-				"is-stream": "^1.1.0",
-				"npm-run-path": "^2.0.0",
-				"p-finally": "^1.0.0",
-				"signal-exit": "^3.0.0",
-				"strip-eof": "^1.0.0"
+				"cross-spawn": "5.1.0",
+				"get-stream": "3.0.0",
+				"is-stream": "1.1.0",
+				"npm-run-path": "2.0.2",
+				"p-finally": "1.0.0",
+				"signal-exit": "3.0.2",
+				"strip-eof": "1.0.0"
 			},
 			"dependencies": {
 				"cross-spawn": {
@@ -2925,9 +3008,9 @@
 					"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
 					"dev": true,
 					"requires": {
-						"lru-cache": "^4.0.1",
-						"shebang-command": "^1.2.0",
-						"which": "^1.2.9"
+						"lru-cache": "4.1.2",
+						"shebang-command": "1.2.0",
+						"which": "1.3.0"
 					}
 				},
 				"lru-cache": {
@@ -2936,8 +3019,8 @@
 					"integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
 					"dev": true,
 					"requires": {
-						"pseudomap": "^1.0.2",
-						"yallist": "^2.1.2"
+						"pseudomap": "1.0.2",
+						"yallist": "2.1.2"
 					}
 				},
 				"which": {
@@ -2946,7 +3029,7 @@
 					"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
 					"dev": true,
 					"requires": {
-						"isexe": "^2.0.0"
+						"isexe": "2.0.0"
 					}
 				}
 			}
@@ -2958,7 +3041,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"meow": "^3.1.0"
+				"meow": "3.7.0"
 			}
 		},
 		"exit": {
@@ -2973,7 +3056,7 @@
 			"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
 			"dev": true,
 			"requires": {
-				"is-posix-bracket": "^0.1.0"
+				"is-posix-bracket": "0.1.1"
 			}
 		},
 		"expand-range": {
@@ -2982,7 +3065,7 @@
 			"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
 			"dev": true,
 			"requires": {
-				"fill-range": "^2.1.0"
+				"fill-range": "2.2.3"
 			}
 		},
 		"express": {
@@ -2991,36 +3074,36 @@
 			"integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=",
 			"dev": true,
 			"requires": {
-				"accepts": "~1.3.4",
+				"accepts": "1.3.5",
 				"array-flatten": "1.1.1",
 				"body-parser": "1.18.2",
 				"content-disposition": "0.5.2",
-				"content-type": "~1.0.4",
+				"content-type": "1.0.4",
 				"cookie": "0.3.1",
 				"cookie-signature": "1.0.6",
 				"debug": "2.6.9",
-				"depd": "~1.1.1",
-				"encodeurl": "~1.0.1",
-				"escape-html": "~1.0.3",
-				"etag": "~1.8.1",
+				"depd": "1.1.2",
+				"encodeurl": "1.0.2",
+				"escape-html": "1.0.3",
+				"etag": "1.8.1",
 				"finalhandler": "1.1.0",
 				"fresh": "0.5.2",
 				"merge-descriptors": "1.0.1",
-				"methods": "~1.1.2",
-				"on-finished": "~2.3.0",
-				"parseurl": "~1.3.2",
+				"methods": "1.1.2",
+				"on-finished": "2.3.0",
+				"parseurl": "1.3.2",
 				"path-to-regexp": "0.1.7",
-				"proxy-addr": "~2.0.2",
+				"proxy-addr": "2.0.3",
 				"qs": "6.5.1",
-				"range-parser": "~1.2.0",
+				"range-parser": "1.2.0",
 				"safe-buffer": "5.1.1",
 				"send": "0.16.1",
 				"serve-static": "1.13.1",
 				"setprototypeof": "1.1.0",
-				"statuses": "~1.3.1",
-				"type-is": "~1.6.15",
+				"statuses": "1.3.1",
+				"type-is": "1.6.16",
 				"utils-merge": "1.0.1",
-				"vary": "~1.1.2"
+				"vary": "1.1.2"
 			},
 			"dependencies": {
 				"array-flatten": {
@@ -3036,15 +3119,15 @@
 					"dev": true,
 					"requires": {
 						"bytes": "3.0.0",
-						"content-type": "~1.0.4",
+						"content-type": "1.0.4",
 						"debug": "2.6.9",
-						"depd": "~1.1.1",
-						"http-errors": "~1.6.2",
+						"depd": "1.1.2",
+						"http-errors": "1.6.2",
 						"iconv-lite": "0.4.19",
-						"on-finished": "~2.3.0",
+						"on-finished": "2.3.0",
 						"qs": "6.5.1",
 						"raw-body": "2.3.2",
-						"type-is": "~1.6.15"
+						"type-is": "1.6.16"
 					}
 				},
 				"bytes": {
@@ -3062,7 +3145,7 @@
 						"depd": "1.1.1",
 						"inherits": "2.0.3",
 						"setprototypeof": "1.0.3",
-						"statuses": ">= 1.3.1 < 2"
+						"statuses": "1.3.1"
 					},
 					"dependencies": {
 						"depd": {
@@ -3117,7 +3200,7 @@
 			"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 			"dev": true,
 			"requires": {
-				"is-extendable": "^0.1.0"
+				"is-extendable": "0.1.1"
 			}
 		},
 		"external-editor": {
@@ -3126,9 +3209,9 @@
 			"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
 			"dev": true,
 			"requires": {
-				"chardet": "^0.4.0",
-				"iconv-lite": "^0.4.17",
-				"tmp": "^0.0.33"
+				"chardet": "0.4.2",
+				"iconv-lite": "0.4.23",
+				"tmp": "0.0.33"
 			},
 			"dependencies": {
 				"iconv-lite": {
@@ -3137,7 +3220,7 @@
 					"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
 					"dev": true,
 					"requires": {
-						"safer-buffer": ">= 2.1.2 < 3"
+						"safer-buffer": "2.1.2"
 					}
 				}
 			}
@@ -3148,7 +3231,7 @@
 			"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
 			"dev": true,
 			"requires": {
-				"is-extglob": "^1.0.0"
+				"is-extglob": "1.0.0"
 			},
 			"dependencies": {
 				"is-extglob": {
@@ -3177,9 +3260,9 @@
 					"integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
 					"dev": true,
 					"requires": {
-						"inherits": "^2.0.3",
-						"readable-stream": "^2.2.2",
-						"typedarray": "^0.0.6"
+						"inherits": "2.0.3",
+						"readable-stream": "2.3.5",
+						"typedarray": "0.0.6"
 					}
 				},
 				"minimist": {
@@ -3203,7 +3286,7 @@
 					"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
 					"dev": true,
 					"requires": {
-						"fd-slicer": "~1.0.1"
+						"fd-slicer": "1.0.1"
 					}
 				}
 			}
@@ -3220,9 +3303,9 @@
 			"integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
 			"dev": true,
 			"requires": {
-				"ansi-gray": "^0.1.1",
-				"color-support": "^1.1.3",
-				"time-stamp": "^1.0.0"
+				"ansi-gray": "0.1.1",
+				"color-support": "1.1.3",
+				"time-stamp": "1.1.0"
 			}
 		},
 		"fast-deep-equal": {
@@ -3243,7 +3326,7 @@
 			"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
 			"dev": true,
 			"requires": {
-				"websocket-driver": ">=0.5.1"
+				"websocket-driver": "0.7.0"
 			}
 		},
 		"fd-slicer": {
@@ -3252,7 +3335,7 @@
 			"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
 			"dev": true,
 			"requires": {
-				"pend": "~1.2.0"
+				"pend": "1.2.0"
 			}
 		},
 		"figures": {
@@ -3261,8 +3344,8 @@
 			"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
 			"dev": true,
 			"requires": {
-				"escape-string-regexp": "^1.0.5",
-				"object-assign": "^4.1.0"
+				"escape-string-regexp": "1.0.5",
+				"object-assign": "4.1.1"
 			}
 		},
 		"file-sync-cmp": {
@@ -3295,9 +3378,9 @@
 			"integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
 			"dev": true,
 			"requires": {
-				"filename-reserved-regex": "^1.0.0",
-				"strip-outer": "^1.0.0",
-				"trim-repeated": "^1.0.0"
+				"filename-reserved-regex": "1.0.0",
+				"strip-outer": "1.0.0",
+				"trim-repeated": "1.0.0"
 			}
 		},
 		"fill-range": {
@@ -3306,11 +3389,11 @@
 			"integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
 			"dev": true,
 			"requires": {
-				"is-number": "^2.1.0",
-				"isobject": "^2.0.0",
-				"randomatic": "^1.1.3",
-				"repeat-element": "^1.1.2",
-				"repeat-string": "^1.5.2"
+				"is-number": "2.1.0",
+				"isobject": "2.1.0",
+				"randomatic": "1.1.7",
+				"repeat-element": "1.1.2",
+				"repeat-string": "1.6.1"
 			}
 		},
 		"finalhandler": {
@@ -3320,12 +3403,12 @@
 			"dev": true,
 			"requires": {
 				"debug": "2.6.9",
-				"encodeurl": "~1.0.1",
-				"escape-html": "~1.0.3",
-				"on-finished": "~2.3.0",
-				"parseurl": "~1.3.2",
-				"statuses": "~1.3.1",
-				"unpipe": "~1.0.0"
+				"encodeurl": "1.0.2",
+				"escape-html": "1.0.3",
+				"on-finished": "2.3.0",
+				"parseurl": "1.3.2",
+				"statuses": "1.3.1",
+				"unpipe": "1.0.0"
 			},
 			"dependencies": {
 				"statuses": {
@@ -3336,14 +3419,25 @@
 				}
 			}
 		},
+		"find-cache-dir": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+			"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
+			"dev": true,
+			"requires": {
+				"commondir": "1.0.1",
+				"make-dir": "1.3.0",
+				"pkg-dir": "2.0.0"
+			}
+		},
 		"find-up": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
 			"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
 			"dev": true,
 			"requires": {
-				"path-exists": "^2.0.0",
-				"pinkie-promise": "^2.0.0"
+				"path-exists": "2.1.0",
+				"pinkie-promise": "2.0.1"
 			}
 		},
 		"find-versions": {
@@ -3353,10 +3447,10 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"array-uniq": "^1.0.0",
-				"get-stdin": "^4.0.1",
-				"meow": "^3.5.0",
-				"semver-regex": "^1.0.0"
+				"array-uniq": "1.0.3",
+				"get-stdin": "4.0.1",
+				"meow": "3.7.0",
+				"semver-regex": "1.0.0"
 			}
 		},
 		"findup": {
@@ -3365,8 +3459,8 @@
 			"integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
 			"dev": true,
 			"requires": {
-				"colors": "~0.6.0-1",
-				"commander": "~2.1.0"
+				"colors": "0.6.2",
+				"commander": "2.1.0"
 			},
 			"dependencies": {
 				"commander": {
@@ -3383,7 +3477,7 @@
 			"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
 			"dev": true,
 			"requires": {
-				"glob": "~5.0.0"
+				"glob": "5.0.15"
 			},
 			"dependencies": {
 				"glob": {
@@ -3392,11 +3486,11 @@
 					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
 					"dev": true,
 					"requires": {
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "2 || 3",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				}
 			}
@@ -3412,8 +3506,18 @@
 			"resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-1.0.1.tgz",
 			"integrity": "sha1-qkEGZB51O8ilzqAQMVskiYyTRAw=",
 			"requires": {
-				"desandro-matches-selector": "~1.0.2",
-				"doc-ready": "~1.0.3"
+				"desandro-matches-selector": "1.0.3",
+				"doc-ready": "1.0.4"
+			}
+		},
+		"flush-write-stream": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
+			"integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+			"dev": true,
+			"requires": {
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"for-in": {
@@ -3428,7 +3532,7 @@
 			"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
 			"dev": true,
 			"requires": {
-				"for-in": "^1.0.1"
+				"for-in": "1.0.2"
 			}
 		},
 		"foreach": {
@@ -3449,9 +3553,9 @@
 			"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
 			"dev": true,
 			"requires": {
-				"asynckit": "^0.4.0",
+				"asynckit": "0.4.0",
 				"combined-stream": "1.0.6",
-				"mime-types": "^2.1.12"
+				"mime-types": "2.1.18"
 			}
 		},
 		"forwarded": {
@@ -3466,7 +3570,7 @@
 			"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
 			"dev": true,
 			"requires": {
-				"map-cache": "^0.2.2"
+				"map-cache": "0.2.2"
 			}
 		},
 		"fresh": {
@@ -3475,15 +3579,25 @@
 			"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
 			"dev": true
 		},
+		"from2": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+			"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+			"dev": true,
+			"requires": {
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5"
+			}
+		},
 		"fs-extra": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
 			"integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.2",
-				"jsonfile": "^2.1.0",
-				"klaw": "^1.0.0"
+				"graceful-fs": "4.1.11",
+				"jsonfile": "2.4.0",
+				"klaw": "1.3.1"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -3494,6 +3608,18 @@
 				}
 			}
 		},
+		"fs-write-stream-atomic": {
+			"version": "1.0.10",
+			"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+			"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "4.1.11",
+				"iferr": "0.1.5",
+				"imurmurhash": "0.1.4",
+				"readable-stream": "2.3.5"
+			}
+		},
 		"fs.realpath": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -3507,8 +3633,8 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"nan": "^2.3.0",
-				"node-pre-gyp": "^0.6.39"
+				"nan": "2.9.2",
+				"node-pre-gyp": "0.6.39"
 			},
 			"dependencies": {
 				"abbrev": {
@@ -3523,8 +3649,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"co": "^4.6.0",
-						"json-stable-stringify": "^1.0.1"
+						"co": "4.6.0",
+						"json-stable-stringify": "1.0.1"
 					}
 				},
 				"ansi-regex": {
@@ -3544,8 +3670,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"delegates": "^1.0.0",
-						"readable-stream": "^2.0.6"
+						"delegates": "1.0.0",
+						"readable-stream": "2.2.9"
 					}
 				},
 				"asn1": {
@@ -3589,7 +3715,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"tweetnacl": "^0.14.3"
+						"tweetnacl": "0.14.5"
 					}
 				},
 				"block-stream": {
@@ -3597,7 +3723,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"inherits": "~2.0.0"
+						"inherits": "2.0.3"
 					}
 				},
 				"boom": {
@@ -3605,7 +3731,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"hoek": "2.x.x"
+						"hoek": "2.16.3"
 					}
 				},
 				"brace-expansion": {
@@ -3613,7 +3739,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"balanced-match": "^0.4.1",
+						"balanced-match": "0.4.2",
 						"concat-map": "0.0.1"
 					}
 				},
@@ -3644,7 +3770,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"delayed-stream": "~1.0.0"
+						"delayed-stream": "1.0.0"
 					}
 				},
 				"concat-map": {
@@ -3667,7 +3793,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"boom": "2.x.x"
+						"boom": "2.10.1"
 					}
 				},
 				"dashdash": {
@@ -3676,7 +3802,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"assert-plus": "^1.0.0"
+						"assert-plus": "1.0.0"
 					},
 					"dependencies": {
 						"assert-plus": {
@@ -3725,7 +3851,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"jsbn": "~0.1.0"
+						"jsbn": "0.1.1"
 					}
 				},
 				"extend": {
@@ -3751,9 +3877,9 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"asynckit": "^0.4.0",
-						"combined-stream": "^1.0.5",
-						"mime-types": "^2.1.12"
+						"asynckit": "0.4.0",
+						"combined-stream": "1.0.5",
+						"mime-types": "2.1.15"
 					}
 				},
 				"fs.realpath": {
@@ -3766,10 +3892,10 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"graceful-fs": "^4.1.2",
-						"inherits": "~2.0.0",
-						"mkdirp": ">=0.5 0",
-						"rimraf": "2"
+						"graceful-fs": "4.1.11",
+						"inherits": "2.0.3",
+						"mkdirp": "0.5.1",
+						"rimraf": "2.6.1"
 					}
 				},
 				"fstream-ignore": {
@@ -3778,9 +3904,9 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"fstream": "^1.0.0",
-						"inherits": "2",
-						"minimatch": "^3.0.0"
+						"fstream": "1.0.11",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4"
 					}
 				},
 				"gauge": {
@@ -3789,14 +3915,14 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"aproba": "^1.0.3",
-						"console-control-strings": "^1.0.0",
-						"has-unicode": "^2.0.0",
-						"object-assign": "^4.1.0",
-						"signal-exit": "^3.0.0",
-						"string-width": "^1.0.1",
-						"strip-ansi": "^3.0.1",
-						"wide-align": "^1.1.0"
+						"aproba": "1.1.1",
+						"console-control-strings": "1.1.0",
+						"has-unicode": "2.0.1",
+						"object-assign": "4.1.1",
+						"signal-exit": "3.0.2",
+						"string-width": "1.0.2",
+						"strip-ansi": "3.0.1",
+						"wide-align": "1.1.2"
 					}
 				},
 				"getpass": {
@@ -3805,7 +3931,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"assert-plus": "^1.0.0"
+						"assert-plus": "1.0.0"
 					},
 					"dependencies": {
 						"assert-plus": {
@@ -3821,12 +3947,12 @@
 					"bundled": true,
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"graceful-fs": {
@@ -3846,8 +3972,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"ajv": "^4.9.1",
-						"har-schema": "^1.0.5"
+						"ajv": "4.11.8",
+						"har-schema": "1.0.5"
 					}
 				},
 				"has-unicode": {
@@ -3861,10 +3987,10 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"boom": "2.x.x",
-						"cryptiles": "2.x.x",
-						"hoek": "2.x.x",
-						"sntp": "1.x.x"
+						"boom": "2.10.1",
+						"cryptiles": "2.0.5",
+						"hoek": "2.16.3",
+						"sntp": "1.0.9"
 					}
 				},
 				"hoek": {
@@ -3878,9 +4004,9 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"assert-plus": "^0.2.0",
-						"jsprim": "^1.2.2",
-						"sshpk": "^1.7.0"
+						"assert-plus": "0.2.0",
+						"jsprim": "1.4.0",
+						"sshpk": "1.13.0"
 					}
 				},
 				"inflight": {
@@ -3888,8 +4014,8 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"once": "^1.3.0",
-						"wrappy": "1"
+						"once": "1.4.0",
+						"wrappy": "1.0.2"
 					}
 				},
 				"inherits": {
@@ -3908,7 +4034,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"number-is-nan": "^1.0.0"
+						"number-is-nan": "1.0.1"
 					}
 				},
 				"is-typedarray": {
@@ -3934,7 +4060,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"jsbn": "~0.1.0"
+						"jsbn": "0.1.1"
 					}
 				},
 				"jsbn": {
@@ -3955,7 +4081,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"jsonify": "~0.0.0"
+						"jsonify": "0.0.0"
 					}
 				},
 				"json-stringify-safe": {
@@ -4000,7 +4126,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"mime-db": "~1.27.0"
+						"mime-db": "1.27.0"
 					}
 				},
 				"minimatch": {
@@ -4008,7 +4134,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.7"
 					}
 				},
 				"minimist": {
@@ -4036,17 +4162,17 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"detect-libc": "^1.0.2",
+						"detect-libc": "1.0.2",
 						"hawk": "3.1.3",
-						"mkdirp": "^0.5.1",
-						"nopt": "^4.0.1",
-						"npmlog": "^4.0.2",
-						"rc": "^1.1.7",
+						"mkdirp": "0.5.1",
+						"nopt": "4.0.1",
+						"npmlog": "4.1.0",
+						"rc": "1.2.1",
 						"request": "2.81.0",
-						"rimraf": "^2.6.1",
-						"semver": "^5.3.0",
-						"tar": "^2.2.1",
-						"tar-pack": "^3.4.0"
+						"rimraf": "2.6.1",
+						"semver": "5.3.0",
+						"tar": "2.2.1",
+						"tar-pack": "3.4.0"
 					}
 				},
 				"nopt": {
@@ -4055,8 +4181,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"abbrev": "1",
-						"osenv": "^0.1.4"
+						"abbrev": "1.1.0",
+						"osenv": "0.1.4"
 					}
 				},
 				"npmlog": {
@@ -4065,10 +4191,10 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"are-we-there-yet": "~1.1.2",
-						"console-control-strings": "~1.1.0",
-						"gauge": "~2.7.3",
-						"set-blocking": "~2.0.0"
+						"are-we-there-yet": "1.1.4",
+						"console-control-strings": "1.1.0",
+						"gauge": "2.7.4",
+						"set-blocking": "2.0.0"
 					}
 				},
 				"number-is-nan": {
@@ -4093,7 +4219,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"wrappy": "1"
+						"wrappy": "1.0.2"
 					}
 				},
 				"os-homedir": {
@@ -4114,8 +4240,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"os-homedir": "^1.0.0",
-						"os-tmpdir": "^1.0.0"
+						"os-homedir": "1.0.2",
+						"os-tmpdir": "1.0.2"
 					}
 				},
 				"path-is-absolute": {
@@ -4152,10 +4278,10 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"deep-extend": "~0.4.0",
-						"ini": "~1.3.0",
-						"minimist": "^1.2.0",
-						"strip-json-comments": "~2.0.1"
+						"deep-extend": "0.4.2",
+						"ini": "1.3.4",
+						"minimist": "1.2.0",
+						"strip-json-comments": "2.0.1"
 					},
 					"dependencies": {
 						"minimist": {
@@ -4171,13 +4297,13 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"buffer-shims": "~1.0.0",
-						"core-util-is": "~1.0.0",
-						"inherits": "~2.0.1",
-						"isarray": "~1.0.0",
-						"process-nextick-args": "~1.0.6",
-						"string_decoder": "~1.0.0",
-						"util-deprecate": "~1.0.1"
+						"buffer-shims": "1.0.0",
+						"core-util-is": "1.0.2",
+						"inherits": "2.0.3",
+						"isarray": "1.0.0",
+						"process-nextick-args": "1.0.7",
+						"string_decoder": "1.0.1",
+						"util-deprecate": "1.0.2"
 					}
 				},
 				"request": {
@@ -4186,28 +4312,28 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"aws-sign2": "~0.6.0",
-						"aws4": "^1.2.1",
-						"caseless": "~0.12.0",
-						"combined-stream": "~1.0.5",
-						"extend": "~3.0.0",
-						"forever-agent": "~0.6.1",
-						"form-data": "~2.1.1",
-						"har-validator": "~4.2.1",
-						"hawk": "~3.1.3",
-						"http-signature": "~1.1.0",
-						"is-typedarray": "~1.0.0",
-						"isstream": "~0.1.2",
-						"json-stringify-safe": "~5.0.1",
-						"mime-types": "~2.1.7",
-						"oauth-sign": "~0.8.1",
-						"performance-now": "^0.2.0",
-						"qs": "~6.4.0",
-						"safe-buffer": "^5.0.1",
-						"stringstream": "~0.0.4",
-						"tough-cookie": "~2.3.0",
-						"tunnel-agent": "^0.6.0",
-						"uuid": "^3.0.0"
+						"aws-sign2": "0.6.0",
+						"aws4": "1.6.0",
+						"caseless": "0.12.0",
+						"combined-stream": "1.0.5",
+						"extend": "3.0.1",
+						"forever-agent": "0.6.1",
+						"form-data": "2.1.4",
+						"har-validator": "4.2.1",
+						"hawk": "3.1.3",
+						"http-signature": "1.1.1",
+						"is-typedarray": "1.0.0",
+						"isstream": "0.1.2",
+						"json-stringify-safe": "5.0.1",
+						"mime-types": "2.1.15",
+						"oauth-sign": "0.8.2",
+						"performance-now": "0.2.0",
+						"qs": "6.4.0",
+						"safe-buffer": "5.0.1",
+						"stringstream": "0.0.5",
+						"tough-cookie": "2.3.2",
+						"tunnel-agent": "0.6.0",
+						"uuid": "3.0.1"
 					}
 				},
 				"rimraf": {
@@ -4215,7 +4341,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"glob": "^7.0.5"
+						"glob": "7.1.2"
 					}
 				},
 				"safe-buffer": {
@@ -4246,7 +4372,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"hoek": "2.x.x"
+						"hoek": "2.16.3"
 					}
 				},
 				"sshpk": {
@@ -4255,15 +4381,15 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"asn1": "~0.2.3",
-						"assert-plus": "^1.0.0",
-						"bcrypt-pbkdf": "^1.0.0",
-						"dashdash": "^1.12.0",
-						"ecc-jsbn": "~0.1.1",
-						"getpass": "^0.1.1",
-						"jodid25519": "^1.0.0",
-						"jsbn": "~0.1.0",
-						"tweetnacl": "~0.14.0"
+						"asn1": "0.2.3",
+						"assert-plus": "1.0.0",
+						"bcrypt-pbkdf": "1.0.1",
+						"dashdash": "1.14.1",
+						"ecc-jsbn": "0.1.1",
+						"getpass": "0.1.7",
+						"jodid25519": "1.0.2",
+						"jsbn": "0.1.1",
+						"tweetnacl": "0.14.5"
 					},
 					"dependencies": {
 						"assert-plus": {
@@ -4279,9 +4405,9 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"code-point-at": "^1.0.0",
-						"is-fullwidth-code-point": "^1.0.0",
-						"strip-ansi": "^3.0.0"
+						"code-point-at": "1.1.0",
+						"is-fullwidth-code-point": "1.0.0",
+						"strip-ansi": "3.0.1"
 					}
 				},
 				"string_decoder": {
@@ -4289,7 +4415,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"safe-buffer": "^5.0.1"
+						"safe-buffer": "5.0.1"
 					}
 				},
 				"stringstream": {
@@ -4303,7 +4429,7 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"ansi-regex": "^2.0.0"
+						"ansi-regex": "2.1.1"
 					}
 				},
 				"strip-json-comments": {
@@ -4317,9 +4443,9 @@
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"block-stream": "*",
-						"fstream": "^1.0.2",
-						"inherits": "2"
+						"block-stream": "0.0.9",
+						"fstream": "1.0.11",
+						"inherits": "2.0.3"
 					}
 				},
 				"tar-pack": {
@@ -4328,14 +4454,14 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"debug": "^2.2.0",
-						"fstream": "^1.0.10",
-						"fstream-ignore": "^1.0.5",
-						"once": "^1.3.3",
-						"readable-stream": "^2.1.4",
-						"rimraf": "^2.5.1",
-						"tar": "^2.2.1",
-						"uid-number": "^0.0.6"
+						"debug": "2.6.8",
+						"fstream": "1.0.11",
+						"fstream-ignore": "1.0.5",
+						"once": "1.4.0",
+						"readable-stream": "2.2.9",
+						"rimraf": "2.6.1",
+						"tar": "2.2.1",
+						"uid-number": "0.0.6"
 					}
 				},
 				"tough-cookie": {
@@ -4344,7 +4470,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"punycode": "^1.4.1"
+						"punycode": "1.4.1"
 					}
 				},
 				"tunnel-agent": {
@@ -4353,7 +4479,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"safe-buffer": "^5.0.1"
+						"safe-buffer": "5.0.1"
 					}
 				},
 				"tweetnacl": {
@@ -4394,7 +4520,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"string-width": "^1.0.2"
+						"string-width": "1.0.2"
 					}
 				},
 				"wrappy": {
@@ -4410,10 +4536,10 @@
 			"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.2",
-				"inherits": "~2.0.0",
-				"mkdirp": ">=0.5 0",
-				"rimraf": "2"
+				"graceful-fs": "4.1.11",
+				"inherits": "2.0.3",
+				"mkdirp": "0.5.1",
+				"rimraf": "2.2.8"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -4436,14 +4562,14 @@
 			"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
 			"dev": true,
 			"requires": {
-				"aproba": "^1.0.3",
-				"console-control-strings": "^1.0.0",
-				"has-unicode": "^2.0.0",
-				"object-assign": "^4.1.0",
-				"signal-exit": "^3.0.0",
-				"string-width": "^1.0.1",
-				"strip-ansi": "^3.0.1",
-				"wide-align": "^1.1.0"
+				"aproba": "1.2.0",
+				"console-control-strings": "1.1.0",
+				"has-unicode": "2.0.1",
+				"object-assign": "4.1.1",
+				"signal-exit": "3.0.2",
+				"string-width": "1.0.2",
+				"strip-ansi": "3.0.1",
+				"wide-align": "1.1.2"
 			}
 		},
 		"gaze": {
@@ -4452,7 +4578,7 @@
 			"integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
 			"dev": true,
 			"requires": {
-				"globule": "^1.0.0"
+				"globule": "1.2.0"
 			}
 		},
 		"generate-function": {
@@ -4467,7 +4593,7 @@
 			"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
 			"dev": true,
 			"requires": {
-				"is-property": "^1.0.0"
+				"is-property": "1.0.2"
 			}
 		},
 		"get-caller-file": {
@@ -4482,7 +4608,7 @@
 			"integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
 			"dev": true,
 			"requires": {
-				"rc": "^1.1.2"
+				"rc": "1.2.5"
 			}
 		},
 		"get-size": {
@@ -4490,7 +4616,7 @@
 			"resolved": "https://registry.npmjs.org/get-size/-/get-size-1.2.2.tgz",
 			"integrity": "sha1-v8PvHQGeNFCMmU+jJ9GDwoddYuY=",
 			"requires": {
-				"desandro-get-style-property": "^1"
+				"desandro-get-style-property": "1.0.4"
 			}
 		},
 		"get-stdin": {
@@ -4523,7 +4649,7 @@
 			"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
 			"dev": true,
 			"requires": {
-				"assert-plus": "^1.0.0"
+				"assert-plus": "1.0.0"
 			}
 		},
 		"gifsicle": {
@@ -4533,9 +4659,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"bin-build": "^2.0.0",
-				"bin-wrapper": "^3.0.0",
-				"logalot": "^2.0.0"
+				"bin-build": "2.2.0",
+				"bin-wrapper": "3.0.2",
+				"logalot": "2.1.0"
 			}
 		},
 		"glob": {
@@ -4544,12 +4670,12 @@
 			"integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
 			"dev": true,
 			"requires": {
-				"fs.realpath": "^1.0.0",
-				"inflight": "^1.0.4",
-				"inherits": "2",
-				"minimatch": "^3.0.2",
-				"once": "^1.3.0",
-				"path-is-absolute": "^1.0.0"
+				"fs.realpath": "1.0.0",
+				"inflight": "1.0.6",
+				"inherits": "2.0.3",
+				"minimatch": "3.0.4",
+				"once": "1.4.0",
+				"path-is-absolute": "1.0.1"
 			}
 		},
 		"glob-base": {
@@ -4558,8 +4684,8 @@
 			"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
 			"dev": true,
 			"requires": {
-				"glob-parent": "^2.0.0",
-				"is-glob": "^2.0.0"
+				"glob-parent": "2.0.0",
+				"is-glob": "2.0.1"
 			},
 			"dependencies": {
 				"glob-parent": {
@@ -4568,7 +4694,7 @@
 					"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
 					"dev": true,
 					"requires": {
-						"is-glob": "^2.0.0"
+						"is-glob": "2.0.1"
 					}
 				},
 				"is-extglob": {
@@ -4583,7 +4709,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "^1.0.0"
+						"is-extglob": "1.0.0"
 					}
 				}
 			}
@@ -4594,8 +4720,8 @@
 			"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
 			"dev": true,
 			"requires": {
-				"is-glob": "^3.1.0",
-				"path-dirname": "^1.0.0"
+				"is-glob": "3.1.0",
+				"path-dirname": "1.0.2"
 			}
 		},
 		"glob-stream": {
@@ -4604,14 +4730,14 @@
 			"integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
 			"dev": true,
 			"requires": {
-				"extend": "^3.0.0",
-				"glob": "^5.0.3",
-				"glob-parent": "^3.0.0",
-				"micromatch": "^2.3.7",
-				"ordered-read-streams": "^0.3.0",
-				"through2": "^0.6.0",
-				"to-absolute-glob": "^0.1.1",
-				"unique-stream": "^2.0.2"
+				"extend": "3.0.1",
+				"glob": "5.0.15",
+				"glob-parent": "3.1.0",
+				"micromatch": "2.3.11",
+				"ordered-read-streams": "0.3.0",
+				"through2": "0.6.5",
+				"to-absolute-glob": "0.1.1",
+				"unique-stream": "2.2.1"
 			},
 			"dependencies": {
 				"glob": {
@@ -4620,11 +4746,11 @@
 					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
 					"dev": true,
 					"requires": {
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "2 || 3",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -4633,7 +4759,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -4644,11 +4770,11 @@
 			"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
 			"dev": true,
 			"requires": {
-				"array-union": "^1.0.1",
-				"glob": "^7.0.3",
-				"object-assign": "^4.0.1",
-				"pify": "^2.0.0",
-				"pinkie-promise": "^2.0.0"
+				"array-union": "1.0.2",
+				"glob": "7.1.2",
+				"object-assign": "4.1.1",
+				"pify": "2.3.0",
+				"pinkie-promise": "2.0.1"
 			},
 			"dependencies": {
 				"glob": {
@@ -4657,12 +4783,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -4671,7 +4797,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -4682,9 +4808,9 @@
 			"integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
 			"dev": true,
 			"requires": {
-				"glob": "~7.1.1",
-				"lodash": "~4.17.4",
-				"minimatch": "~3.0.2"
+				"glob": "7.1.2",
+				"lodash": "4.17.5",
+				"minimatch": "3.0.4"
 			},
 			"dependencies": {
 				"glob": {
@@ -4693,12 +4819,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"lodash": {
@@ -4713,7 +4839,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -4724,7 +4850,7 @@
 			"integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
 			"dev": true,
 			"requires": {
-				"sparkles": "^1.0.0"
+				"sparkles": "1.0.0"
 			}
 		},
 		"got": {
@@ -4733,23 +4859,29 @@
 			"integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
 			"dev": true,
 			"requires": {
-				"create-error-class": "^3.0.1",
-				"duplexer2": "^0.1.4",
-				"is-redirect": "^1.0.0",
-				"is-retry-allowed": "^1.0.0",
-				"is-stream": "^1.0.0",
-				"lowercase-keys": "^1.0.0",
-				"node-status-codes": "^1.0.0",
-				"object-assign": "^4.0.1",
-				"parse-json": "^2.1.0",
-				"pinkie-promise": "^2.0.0",
-				"read-all-stream": "^3.0.0",
-				"readable-stream": "^2.0.5",
-				"timed-out": "^3.0.0",
-				"unzip-response": "^1.0.2",
-				"url-parse-lax": "^1.0.0"
+				"create-error-class": "3.0.2",
+				"duplexer2": "0.1.4",
+				"is-redirect": "1.0.0",
+				"is-retry-allowed": "1.1.0",
+				"is-stream": "1.1.0",
+				"lowercase-keys": "1.0.0",
+				"node-status-codes": "1.0.0",
+				"object-assign": "4.1.1",
+				"parse-json": "2.2.0",
+				"pinkie-promise": "2.0.1",
+				"read-all-stream": "3.1.0",
+				"readable-stream": "2.3.5",
+				"timed-out": "3.1.3",
+				"unzip-response": "1.0.2",
+				"url-parse-lax": "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
+		},
 		"graceful-readlink": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
@@ -4762,22 +4894,22 @@
 			"integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=",
 			"dev": true,
 			"requires": {
-				"coffeescript": "~1.10.0",
-				"dateformat": "~1.0.12",
-				"eventemitter2": "~0.4.13",
-				"exit": "~0.1.1",
-				"findup-sync": "~0.3.0",
-				"glob": "~7.0.0",
-				"grunt-cli": "~1.2.0",
-				"grunt-known-options": "~1.1.0",
-				"grunt-legacy-log": "~1.0.0",
-				"grunt-legacy-util": "~1.0.0",
-				"iconv-lite": "~0.4.13",
-				"js-yaml": "~3.5.2",
-				"minimatch": "~3.0.2",
-				"nopt": "~3.0.6",
-				"path-is-absolute": "~1.0.0",
-				"rimraf": "~2.2.8"
+				"coffeescript": "1.10.0",
+				"dateformat": "1.0.12",
+				"eventemitter2": "0.4.14",
+				"exit": "0.1.2",
+				"findup-sync": "0.3.0",
+				"glob": "7.0.6",
+				"grunt-cli": "1.2.0",
+				"grunt-known-options": "1.1.0",
+				"grunt-legacy-log": "1.0.2",
+				"grunt-legacy-util": "1.0.0",
+				"iconv-lite": "0.4.23",
+				"js-yaml": "3.5.5",
+				"minimatch": "3.0.4",
+				"nopt": "3.0.6",
+				"path-is-absolute": "1.0.1",
+				"rimraf": "2.2.8"
 			},
 			"dependencies": {
 				"grunt-cli": {
@@ -4786,10 +4918,10 @@
 					"integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
 					"dev": true,
 					"requires": {
-						"findup-sync": "~0.3.0",
-						"grunt-known-options": "~1.1.0",
-						"nopt": "~3.0.6",
-						"resolve": "~1.1.0"
+						"findup-sync": "0.3.0",
+						"grunt-known-options": "1.1.0",
+						"nopt": "3.0.6",
+						"resolve": "1.1.7"
 					}
 				},
 				"grunt-legacy-util": {
@@ -4798,13 +4930,13 @@
 					"integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
 					"dev": true,
 					"requires": {
-						"async": "~1.5.2",
-						"exit": "~0.1.1",
-						"getobject": "~0.1.0",
-						"hooker": "~0.2.3",
-						"lodash": "~4.3.0",
-						"underscore.string": "~3.2.3",
-						"which": "~1.2.1"
+						"async": "1.5.2",
+						"exit": "0.1.2",
+						"getobject": "0.1.0",
+						"hooker": "0.2.3",
+						"lodash": "4.3.0",
+						"underscore.string": "3.2.3",
+						"which": "1.2.14"
 					}
 				},
 				"lodash": {
@@ -4819,7 +4951,7 @@
 					"integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
 					"dev": true,
 					"requires": {
-						"isexe": "^2.0.0"
+						"isexe": "2.0.0"
 					}
 				}
 			}
@@ -4830,7 +4962,19 @@
 			"integrity": "sha1-P4eQIdEj+linuloLb7a+QStYhaw=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.1.0"
+				"chalk": "1.1.3"
+			}
+		},
+		"grunt-concurrent": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-2.3.1.tgz",
+			"integrity": "sha1-Hj2zjM71o9oRleYdYx/n4yE0TSM=",
+			"dev": true,
+			"requires": {
+				"arrify": "1.0.1",
+				"async": "1.5.2",
+				"indent-string": "2.1.0",
+				"pad-stream": "1.2.0"
 			}
 		},
 		"grunt-contrib-clean": {
@@ -4839,8 +4983,8 @@
 			"integrity": "sha1-ay7ZQRfix//jLuBFeMlv5GJam20=",
 			"dev": true,
 			"requires": {
-				"async": "^1.5.2",
-				"rimraf": "^2.5.1"
+				"async": "1.5.2",
+				"rimraf": "2.6.2"
 			},
 			"dependencies": {
 				"async": {
@@ -4855,12 +4999,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -4869,7 +5013,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				},
 				"rimraf": {
@@ -4878,50 +5022,19 @@
 					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
 					"dev": true,
 					"requires": {
-						"glob": "^7.0.5"
+						"glob": "7.1.2"
 					}
 				}
 			}
 		},
-		"grunt-contrib-compress": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz",
-			"integrity": "sha1-XlwmogBJCCPH93KIr9LXNQ2Vxj0=",
-			"dev": true,
-			"requires": {
-				"archiver": "^1.0.0",
-				"chalk": "^1.1.1",
-				"lodash": "^4.7.0",
-				"pretty-bytes": "^3.0.1",
-				"stream-buffers": "^2.1.0"
-			},
-			"dependencies": {
-				"lodash": {
-					"version": "4.17.5",
-					"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-					"integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
-					"dev": true
-				}
-			}
-		},
-		"grunt-contrib-concat": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz",
-			"integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=",
-			"dev": true,
-			"requires": {
-				"chalk": "^1.0.0",
-				"source-map": "^0.5.3"
-			}
-		},
 		"grunt-contrib-copy": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
 			"integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.1.1",
-				"file-sync-cmp": "^0.1.0"
+				"chalk": "1.1.3",
+				"file-sync-cmp": "0.1.1"
 			}
 		},
 		"grunt-contrib-cssmin": {
@@ -4930,9 +5043,9 @@
 			"integrity": "sha1-FzTL09hMpzZHWLflj/GOUqpgu3Y=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.0.0",
-				"clean-css": "~3.4.2",
-				"maxmin": "^1.1.0"
+				"chalk": "1.1.3",
+				"clean-css": "3.4.28",
+				"maxmin": "1.1.0"
 			}
 		},
 		"grunt-contrib-imagemin": {
@@ -4941,11 +5054,11 @@
 			"integrity": "sha1-5Ho1YTN29MqpwfkERlA8rhyUTXk=",
 			"dev": true,
 			"requires": {
-				"async": "^1.5.2",
-				"chalk": "^1.0.0",
-				"gulp-rename": "^1.2.0",
-				"imagemin": "^4.0.0",
-				"pretty-bytes": "^3.0.1"
+				"async": "1.5.2",
+				"chalk": "1.1.3",
+				"gulp-rename": "1.2.2",
+				"imagemin": "4.0.0",
+				"pretty-bytes": "3.0.1"
 			},
 			"dependencies": {
 				"async": {
@@ -4962,9 +5075,9 @@
 			"integrity": "sha1-MPQFpR3mVr+m6wKbmkZLn+AqQCo=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.1.1",
-				"hooker": "^0.2.3",
-				"jshint": "~2.9.1"
+				"chalk": "1.1.3",
+				"hooker": "0.2.3",
+				"jshint": "2.9.5"
 			}
 		},
 		"grunt-contrib-qunit": {
@@ -4973,20 +5086,7 @@
 			"integrity": "sha1-naxijP1OyBWZhjPbc7Ur2z3byZ4=",
 			"dev": true,
 			"requires": {
-				"grunt-lib-phantomjs": "^1.0.0"
-			}
-		},
-		"grunt-contrib-uglify": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-2.0.0.tgz",
-			"integrity": "sha1-jJlw1pCTbN5tJaoRk1Sb2SkBaTA=",
-			"dev": true,
-			"requires": {
-				"chalk": "^1.0.0",
-				"lodash.assign": "^4.0.9",
-				"maxmin": "^1.1.0",
-				"uglify-js": "~2.7.0",
-				"uri-path": "^1.0.0"
+				"grunt-lib-phantomjs": "1.1.0"
 			}
 		},
 		"grunt-contrib-watch": {
@@ -4995,10 +5095,10 @@
 			"integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=",
 			"dev": true,
 			"requires": {
-				"async": "^1.5.0",
-				"gaze": "^1.0.0",
-				"lodash": "^3.10.1",
-				"tiny-lr": "^0.2.1"
+				"async": "1.5.2",
+				"gaze": "1.1.2",
+				"lodash": "3.10.1",
+				"tiny-lr": "0.2.1"
 			},
 			"dependencies": {
 				"async": {
@@ -5015,12 +5115,6 @@
 				}
 			}
 		},
-		"grunt-file-append": {
-			"version": "0.0.7",
-			"resolved": "https://registry.npmjs.org/grunt-file-append/-/grunt-file-append-0.0.7.tgz",
-			"integrity": "sha1-P376M2lvoFdwsoCU9EUIyvxdLto=",
-			"dev": true
-		},
 		"grunt-includes": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/grunt-includes/-/grunt-includes-1.1.0.tgz",
@@ -5033,9 +5127,9 @@
 			"integrity": "sha512-33QZYBYjv2Ph3H2ygqXHn/o0ttfptw1f9QciOTgvzhzUeiPrnvzMNUApTPtw22T6zgReE5FZ1RR58U2wnK/l+w==",
 			"dev": true,
 			"requires": {
-				"cross-spawn": "^3.0.1",
-				"jsdoc": "~3.5.5",
-				"marked": "^0.3.9"
+				"cross-spawn": "3.0.1",
+				"jsdoc": "3.5.5",
+				"marked": "0.3.17"
 			}
 		},
 		"grunt-jsvalidate": {
@@ -5044,7 +5138,7 @@
 			"integrity": "sha1-/QlEJYiNbmPfqgbPsJ7gUrjrvo8=",
 			"dev": true,
 			"requires": {
-				"esprima": "~1.0.0"
+				"esprima": "1.0.4"
 			}
 		},
 		"grunt-known-options": {
@@ -5059,10 +5153,10 @@
 			"integrity": "sha512-WdedTJ/6zCXnI/coaouzqvkI19uwqbcPkdsXiDRKJyB5rOUlOxnCnTVbpeUdEckKVir2uHF3rDBYppj2p6N3+g==",
 			"dev": true,
 			"requires": {
-				"colors": "~1.1.2",
-				"grunt-legacy-log-utils": "~1.0.0",
-				"hooker": "~0.2.3",
-				"lodash": "~4.17.5"
+				"colors": "1.1.2",
+				"grunt-legacy-log-utils": "1.0.0",
+				"hooker": "0.2.3",
+				"lodash": "4.17.10"
 			},
 			"dependencies": {
 				"colors": {
@@ -5079,8 +5173,8 @@
 			"integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
 			"dev": true,
 			"requires": {
-				"chalk": "~1.1.1",
-				"lodash": "~4.3.0"
+				"chalk": "1.1.3",
+				"lodash": "4.3.0"
 			},
 			"dependencies": {
 				"lodash": {
@@ -5097,13 +5191,13 @@
 			"integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
 			"dev": true,
 			"requires": {
-				"async": "~1.5.2",
-				"exit": "~0.1.1",
-				"getobject": "~0.1.0",
-				"hooker": "~0.2.3",
-				"lodash": "~4.17.10",
-				"underscore.string": "~3.3.4",
-				"which": "~1.3.0"
+				"async": "1.5.2",
+				"exit": "0.1.2",
+				"getobject": "0.1.0",
+				"hooker": "0.2.3",
+				"lodash": "4.17.10",
+				"underscore.string": "3.3.4",
+				"which": "1.3.1"
 			},
 			"dependencies": {
 				"underscore.string": {
@@ -5112,8 +5206,8 @@
 					"integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
 					"dev": true,
 					"requires": {
-						"sprintf-js": "^1.0.3",
-						"util-deprecate": "^1.0.2"
+						"sprintf-js": "1.0.3",
+						"util-deprecate": "1.0.2"
 					}
 				},
 				"which": {
@@ -5122,7 +5216,7 @@
 					"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
 					"dev": true,
 					"requires": {
-						"isexe": "^2.0.0"
+						"isexe": "2.0.0"
 					}
 				}
 			}
@@ -5133,11 +5227,11 @@
 			"integrity": "sha1-np7c3Z/S3UDgwYHJQ3HVcqpe6tI=",
 			"dev": true,
 			"requires": {
-				"eventemitter2": "^0.4.9",
-				"phantomjs-prebuilt": "^2.1.3",
-				"rimraf": "^2.5.2",
-				"semver": "^5.1.0",
-				"temporary": "^0.0.8"
+				"eventemitter2": "0.4.14",
+				"phantomjs-prebuilt": "2.1.16",
+				"rimraf": "2.6.2",
+				"semver": "5.5.0",
+				"temporary": "0.0.8"
 			},
 			"dependencies": {
 				"glob": {
@@ -5146,12 +5240,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -5160,7 +5254,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				},
 				"rimraf": {
@@ -5169,7 +5263,7 @@
 					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
 					"dev": true,
 					"requires": {
-						"glob": "^7.0.5"
+						"glob": "7.1.2"
 					}
 				}
 			}
@@ -5180,12 +5274,12 @@
 			"integrity": "sha512-2wvtOqxMhiu7QCujEAvFFvLfUYec0fKDvFRnwKUSHizl5eH8cgXv6t0yc7W4yEeito/u8v8r8fzDHRhXLkIXzA==",
 			"dev": true,
 			"requires": {
-				"grunt": ">=0.4.5",
-				"inquirer": "^5.1.0",
-				"request": "^2.83.0",
-				"underscore": "~1.8.3",
-				"underscore.string": "~3.3.4",
-				"xmlrpc": "^1.3.1"
+				"grunt": "1.0.2",
+				"inquirer": "5.2.0",
+				"request": "2.83.0",
+				"underscore": "1.8.3",
+				"underscore.string": "3.3.4",
+				"xmlrpc": "1.3.2"
 			},
 			"dependencies": {
 				"underscore.string": {
@@ -5194,8 +5288,8 @@
 					"integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
 					"dev": true,
 					"requires": {
-						"sprintf-js": "^1.0.3",
-						"util-deprecate": "^1.0.2"
+						"sprintf-js": "1.0.3",
+						"util-deprecate": "1.0.2"
 					}
 				}
 			}
@@ -5206,10 +5300,10 @@
 			"integrity": "sha1-V7dke4d9Qq0yz51M0RAID/+0OKs=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.0.0",
-				"diff": "^2.0.2",
-				"es6-promise": "^3.0.2",
-				"postcss": "^5.0.0"
+				"chalk": "1.1.3",
+				"diff": "2.2.3",
+				"es6-promise": "3.3.1",
+				"postcss": "5.2.18"
 			},
 			"dependencies": {
 				"es6-promise": {
@@ -5227,9 +5321,9 @@
 			"dev": true,
 			"requires": {
 				"applause": "1.2.2",
-				"chalk": "^1.1.0",
-				"file-sync-cmp": "^0.1.0",
-				"lodash": "^4.11.0"
+				"chalk": "1.1.3",
+				"file-sync-cmp": "0.1.1",
+				"lodash": "4.17.5"
 			},
 			"dependencies": {
 				"lodash": {
@@ -5246,8 +5340,8 @@
 			"integrity": "sha1-6eYc5DdAY5f546Sxv2aeR+cf/MM=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.0.0",
-				"rtlcss": "^2.0.0"
+				"chalk": "1.1.3",
+				"rtlcss": "2.2.1"
 			}
 		},
 		"grunt-sass": {
@@ -5256,9 +5350,9 @@
 			"integrity": "sha1-kHTPnXtFkuIPd4jKpye4+aoGtgo=",
 			"dev": true,
 			"requires": {
-				"each-async": "^1.0.0",
-				"node-sass": "^4.0.0",
-				"object-assign": "^4.0.1"
+				"each-async": "1.1.1",
+				"node-sass": "4.7.2",
+				"object-assign": "4.1.1"
 			}
 		},
 		"grunt-webpack": {
@@ -5267,8 +5361,8 @@
 			"integrity": "sha512-ghSkdCdvbF1SpI46qDT9FYqw5ZP5sSYbEQU/DwzoJE1K42xizAZ5Rv3kzpaRdJT4yvu8/6fO5+wne3/y0n74QA==",
 			"dev": true,
 			"requires": {
-				"deep-for-each": "^1.0.5",
-				"lodash": "^4.7.0"
+				"deep-for-each": "1.0.6",
+				"lodash": "4.17.5"
 			},
 			"dependencies": {
 				"lodash": {
@@ -5285,10 +5379,10 @@
 			"integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
 			"dev": true,
 			"requires": {
-				"archive-type": "^3.0.0",
-				"decompress": "^3.0.0",
-				"gulp-util": "^3.0.1",
-				"readable-stream": "^2.0.2"
+				"archive-type": "3.2.0",
+				"decompress": "3.0.0",
+				"gulp-util": "3.0.8",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"gulp-rename": {
@@ -5303,11 +5397,11 @@
 			"integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
 			"dev": true,
 			"requires": {
-				"convert-source-map": "^1.1.1",
-				"graceful-fs": "^4.1.2",
-				"strip-bom": "^2.0.0",
-				"through2": "^2.0.0",
-				"vinyl": "^1.0.0"
+				"convert-source-map": "1.5.1",
+				"graceful-fs": "4.1.11",
+				"strip-bom": "2.0.0",
+				"through2": "2.0.3",
+				"vinyl": "1.2.0"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -5322,8 +5416,8 @@
 					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -5334,24 +5428,24 @@
 			"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
 			"dev": true,
 			"requires": {
-				"array-differ": "^1.0.0",
-				"array-uniq": "^1.0.2",
-				"beeper": "^1.0.0",
-				"chalk": "^1.0.0",
-				"dateformat": "^2.0.0",
-				"fancy-log": "^1.1.0",
-				"gulplog": "^1.0.0",
-				"has-gulplog": "^0.1.0",
-				"lodash._reescape": "^3.0.0",
-				"lodash._reevaluate": "^3.0.0",
-				"lodash._reinterpolate": "^3.0.0",
-				"lodash.template": "^3.0.0",
-				"minimist": "^1.1.0",
-				"multipipe": "^0.1.2",
-				"object-assign": "^3.0.0",
+				"array-differ": "1.0.0",
+				"array-uniq": "1.0.3",
+				"beeper": "1.1.1",
+				"chalk": "1.1.3",
+				"dateformat": "2.2.0",
+				"fancy-log": "1.3.2",
+				"gulplog": "1.0.0",
+				"has-gulplog": "0.1.0",
+				"lodash._reescape": "3.0.0",
+				"lodash._reevaluate": "3.0.0",
+				"lodash._reinterpolate": "3.0.0",
+				"lodash.template": "3.6.2",
+				"minimist": "1.2.0",
+				"multipipe": "0.1.2",
+				"object-assign": "3.0.0",
 				"replace-ext": "0.0.1",
-				"through2": "^2.0.0",
-				"vinyl": "^0.5.0"
+				"through2": "2.0.3",
+				"vinyl": "0.5.3"
 			},
 			"dependencies": {
 				"dateformat": {
@@ -5372,8 +5466,8 @@
 					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				},
 				"vinyl": {
@@ -5382,8 +5476,8 @@
 					"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
 					"dev": true,
 					"requires": {
-						"clone": "^1.0.0",
-						"clone-stats": "^0.0.1",
+						"clone": "1.0.3",
+						"clone-stats": "0.0.1",
 						"replace-ext": "0.0.1"
 					}
 				}
@@ -5395,7 +5489,7 @@
 			"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
 			"dev": true,
 			"requires": {
-				"glogg": "^1.0.0"
+				"glogg": "1.0.1"
 			}
 		},
 		"gzip-size": {
@@ -5404,8 +5498,8 @@
 			"integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=",
 			"dev": true,
 			"requires": {
-				"browserify-zlib": "^0.1.4",
-				"concat-stream": "^1.4.1"
+				"browserify-zlib": "0.1.4",
+				"concat-stream": "1.6.1"
 			}
 		},
 		"handle-thing": {
@@ -5426,8 +5520,8 @@
 			"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
 			"dev": true,
 			"requires": {
-				"ajv": "^5.1.0",
-				"har-schema": "^2.0.0"
+				"ajv": "5.5.2",
+				"har-schema": "2.0.0"
 			}
 		},
 		"has": {
@@ -5436,7 +5530,7 @@
 			"integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
 			"dev": true,
 			"requires": {
-				"function-bind": "^1.0.2"
+				"function-bind": "1.1.1"
 			}
 		},
 		"has-ansi": {
@@ -5445,7 +5539,7 @@
 			"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
 			"dev": true,
 			"requires": {
-				"ansi-regex": "^2.0.0"
+				"ansi-regex": "2.1.1"
 			}
 		},
 		"has-flag": {
@@ -5460,7 +5554,7 @@
 			"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
 			"dev": true,
 			"requires": {
-				"sparkles": "^1.0.0"
+				"sparkles": "1.0.0"
 			}
 		},
 		"has-symbols": {
@@ -5481,9 +5575,9 @@
 			"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
 			"dev": true,
 			"requires": {
-				"get-value": "^2.0.6",
-				"has-values": "^1.0.0",
-				"isobject": "^3.0.0"
+				"get-value": "2.0.6",
+				"has-values": "1.0.0",
+				"isobject": "3.0.1"
 			},
 			"dependencies": {
 				"isobject": {
@@ -5500,8 +5594,8 @@
 			"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
 			"dev": true,
 			"requires": {
-				"is-number": "^3.0.0",
-				"kind-of": "^4.0.0"
+				"is-number": "3.0.0",
+				"kind-of": "4.0.0"
 			},
 			"dependencies": {
 				"is-number": {
@@ -5510,7 +5604,7 @@
 					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -5519,7 +5613,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -5530,7 +5624,7 @@
 					"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
 					"dev": true,
 					"requires": {
-						"is-buffer": "^1.1.5"
+						"is-buffer": "1.1.6"
 					}
 				}
 			}
@@ -5541,7 +5635,7 @@
 			"integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.1"
+				"inherits": "2.0.3"
 			}
 		},
 		"hash.js": {
@@ -5550,8 +5644,8 @@
 			"integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.3",
-				"minimalistic-assert": "^1.0.0"
+				"inherits": "2.0.3",
+				"minimalistic-assert": "1.0.0"
 			}
 		},
 		"hasha": {
@@ -5560,8 +5654,8 @@
 			"integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
 			"dev": true,
 			"requires": {
-				"is-stream": "^1.0.1",
-				"pinkie-promise": "^2.0.0"
+				"is-stream": "1.1.0",
+				"pinkie-promise": "2.0.1"
 			}
 		},
 		"hawk": {
@@ -5570,10 +5664,10 @@
 			"integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
 			"dev": true,
 			"requires": {
-				"boom": "4.x.x",
-				"cryptiles": "3.x.x",
-				"hoek": "4.x.x",
-				"sntp": "2.x.x"
+				"boom": "4.3.1",
+				"cryptiles": "3.1.2",
+				"hoek": "4.2.1",
+				"sntp": "2.1.0"
 			}
 		},
 		"hmac-drbg": {
@@ -5582,9 +5676,9 @@
 			"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
 			"dev": true,
 			"requires": {
-				"hash.js": "^1.0.3",
-				"minimalistic-assert": "^1.0.0",
-				"minimalistic-crypto-utils": "^1.0.1"
+				"hash.js": "1.1.3",
+				"minimalistic-assert": "1.0.0",
+				"minimalistic-crypto-utils": "1.0.1"
 			}
 		},
 		"hoek": {
@@ -5611,10 +5705,10 @@
 			"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.1",
-				"obuf": "^1.0.0",
-				"readable-stream": "^2.0.1",
-				"wbuf": "^1.1.0"
+				"inherits": "2.0.3",
+				"obuf": "1.1.1",
+				"readable-stream": "2.3.5",
+				"wbuf": "1.7.2"
 			}
 		},
 		"html-entities": {
@@ -5629,11 +5723,11 @@
 			"integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
 			"dev": true,
 			"requires": {
-				"domelementtype": "1",
-				"domhandler": "2.3",
-				"domutils": "1.5",
-				"entities": "1.0",
-				"readable-stream": "1.1"
+				"domelementtype": "1.3.0",
+				"domhandler": "2.3.0",
+				"domutils": "1.5.1",
+				"entities": "1.0.0",
+				"readable-stream": "1.1.14"
 			},
 			"dependencies": {
 				"isarray": {
@@ -5648,10 +5742,10 @@
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"dev": true,
 					"requires": {
-						"core-util-is": "~1.0.0",
-						"inherits": "~2.0.1",
+						"core-util-is": "1.0.2",
+						"inherits": "2.0.3",
 						"isarray": "0.0.1",
-						"string_decoder": "~0.10.x"
+						"string_decoder": "0.10.31"
 					}
 				},
 				"string_decoder": {
@@ -5674,8 +5768,8 @@
 			"integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
 			"dev": true,
 			"requires": {
-				"inherits": "~2.0.1",
-				"statuses": "1"
+				"inherits": "2.0.3",
+				"statuses": "1.4.0"
 			}
 		},
 		"http-parser-js": {
@@ -5690,8 +5784,8 @@
 			"integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
 			"dev": true,
 			"requires": {
-				"eventemitter3": "1.x.x",
-				"requires-port": "1.x.x"
+				"eventemitter3": "1.2.0",
+				"requires-port": "1.0.0"
 			}
 		},
 		"http-proxy-middleware": {
@@ -5700,10 +5794,10 @@
 			"integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=",
 			"dev": true,
 			"requires": {
-				"http-proxy": "^1.16.2",
-				"is-glob": "^3.1.0",
-				"lodash": "^4.17.2",
-				"micromatch": "^2.3.11"
+				"http-proxy": "1.16.2",
+				"is-glob": "3.1.0",
+				"lodash": "4.17.5",
+				"micromatch": "2.3.11"
 			},
 			"dependencies": {
 				"lodash": {
@@ -5720,9 +5814,9 @@
 			"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
 			"dev": true,
 			"requires": {
-				"assert-plus": "^1.0.0",
-				"jsprim": "^1.2.2",
-				"sshpk": "^1.7.0"
+				"assert-plus": "1.0.0",
+				"jsprim": "1.4.1",
+				"sshpk": "1.13.1"
 			}
 		},
 		"https-browserify": {
@@ -5737,7 +5831,7 @@
 			"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
 			"dev": true,
 			"requires": {
-				"safer-buffer": ">= 2.1.2 < 3"
+				"safer-buffer": "2.1.2"
 			}
 		},
 		"ieee754": {
@@ -5746,22 +5840,34 @@
 			"integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
 			"dev": true
 		},
+		"iferr": {
+			"version": "0.1.5",
+			"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+			"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+			"dev": true
+		},
+		"ignore": {
+			"version": "3.3.8",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz",
+			"integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==",
+			"dev": true
+		},
 		"imagemin": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/imagemin/-/imagemin-4.0.0.tgz",
 			"integrity": "sha1-6Q5/CTaDZZXxj6Ff6Qb0+iWeqEc=",
 			"dev": true,
 			"requires": {
-				"buffer-to-vinyl": "^1.0.0",
-				"concat-stream": "^1.4.6",
-				"imagemin-gifsicle": "^4.0.0",
-				"imagemin-jpegtran": "^4.0.0",
-				"imagemin-optipng": "^4.0.0",
-				"imagemin-svgo": "^4.0.0",
-				"optional": "^0.1.0",
-				"readable-stream": "^2.0.0",
-				"stream-combiner2": "^1.1.1",
-				"vinyl-fs": "^2.1.1"
+				"buffer-to-vinyl": "1.1.0",
+				"concat-stream": "1.6.1",
+				"imagemin-gifsicle": "4.2.0",
+				"imagemin-jpegtran": "4.3.2",
+				"imagemin-optipng": "4.3.0",
+				"imagemin-svgo": "4.2.1",
+				"optional": "0.1.4",
+				"readable-stream": "2.3.5",
+				"stream-combiner2": "1.1.1",
+				"vinyl-fs": "2.4.4"
 			}
 		},
 		"imagemin-gifsicle": {
@@ -5771,9 +5877,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"gifsicle": "^3.0.0",
-				"is-gif": "^1.0.0",
-				"through2": "^0.6.1"
+				"gifsicle": "3.0.4",
+				"is-gif": "1.0.0",
+				"through2": "0.6.5"
 			}
 		},
 		"imagemin-jpegtran": {
@@ -5783,9 +5889,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"is-jpg": "^1.0.0",
-				"jpegtran-bin": "^3.0.0",
-				"through2": "^2.0.0"
+				"is-jpg": "1.0.0",
+				"jpegtran-bin": "3.2.0",
+				"through2": "2.0.3"
 			},
 			"dependencies": {
 				"through2": {
@@ -5795,8 +5901,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -5808,10 +5914,10 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"exec-buffer": "^2.0.0",
-				"is-png": "^1.0.0",
-				"optipng-bin": "^3.0.0",
-				"through2": "^0.6.1"
+				"exec-buffer": "2.0.1",
+				"is-png": "1.1.0",
+				"optipng-bin": "3.1.4",
+				"through2": "0.6.5"
 			}
 		},
 		"imagemin-svgo": {
@@ -5821,9 +5927,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"is-svg": "^1.0.0",
-				"svgo": "^0.6.0",
-				"through2": "^2.0.0"
+				"is-svg": "1.1.1",
+				"svgo": "0.6.6",
+				"through2": "2.0.3"
 			},
 			"dependencies": {
 				"through2": {
@@ -5833,8 +5939,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -5844,8 +5950,8 @@
 			"resolved": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-3.2.0.tgz",
 			"integrity": "sha1-MffAhA3udxhM5v+ega5Rk29OU4Q=",
 			"requires": {
-				"eventie": "~1.0.4",
-				"wolfy87-eventemitter": ">=4.2 <5.0"
+				"eventie": "1.0.6",
+				"wolfy87-eventemitter": "4.3.0"
 			}
 		},
 		"import-local": {
@@ -5854,10 +5960,16 @@
 			"integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
 			"dev": true,
 			"requires": {
-				"pkg-dir": "^2.0.0",
-				"resolve-cwd": "^2.0.0"
+				"pkg-dir": "2.0.0",
+				"resolve-cwd": "2.0.0"
 			}
 		},
+		"imurmurhash": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+			"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+			"dev": true
+		},
 		"in-publish": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
@@ -5870,7 +5982,7 @@
 			"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
 			"dev": true,
 			"requires": {
-				"repeating": "^2.0.0"
+				"repeating": "2.0.1"
 			}
 		},
 		"indexof": {
@@ -5885,8 +5997,8 @@
 			"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 			"dev": true,
 			"requires": {
-				"once": "^1.3.0",
-				"wrappy": "1"
+				"once": "1.4.0",
+				"wrappy": "1.0.2"
 			}
 		},
 		"inherits": {
@@ -5907,8 +6019,8 @@
 			"integrity": "sha512-STx5orGQU1gfrkoI/fMU7lX6CSP7LBGO10gXNgOZhwKhUqbtNjCkYSewJtNnLmWP1tAGN6oyEpG1HFPw5vpa5Q==",
 			"dev": true,
 			"requires": {
-				"moment": "^2.14.1",
-				"sanitize-html": "^1.13.0"
+				"moment": "2.21.0",
+				"sanitize-html": "1.18.2"
 			}
 		},
 		"inquirer": {
@@ -5917,19 +6029,19 @@
 			"integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==",
 			"dev": true,
 			"requires": {
-				"ansi-escapes": "^3.0.0",
-				"chalk": "^2.0.0",
-				"cli-cursor": "^2.1.0",
-				"cli-width": "^2.0.0",
-				"external-editor": "^2.1.0",
-				"figures": "^2.0.0",
-				"lodash": "^4.3.0",
+				"ansi-escapes": "3.1.0",
+				"chalk": "2.4.1",
+				"cli-cursor": "2.1.0",
+				"cli-width": "2.2.0",
+				"external-editor": "2.2.0",
+				"figures": "2.0.0",
+				"lodash": "4.17.10",
 				"mute-stream": "0.0.7",
-				"run-async": "^2.2.0",
-				"rxjs": "^5.5.2",
-				"string-width": "^2.1.0",
-				"strip-ansi": "^4.0.0",
-				"through": "^2.3.6"
+				"run-async": "2.3.0",
+				"rxjs": "5.5.10",
+				"string-width": "2.1.1",
+				"strip-ansi": "4.0.0",
+				"through": "2.3.8"
 			},
 			"dependencies": {
 				"ansi-regex": {
@@ -5944,7 +6056,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "^1.9.0"
+						"color-convert": "1.9.1"
 					}
 				},
 				"chalk": {
@@ -5953,9 +6065,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
+						"ansi-styles": "3.2.1",
+						"escape-string-regexp": "1.0.5",
+						"supports-color": "5.4.0"
 					}
 				},
 				"figures": {
@@ -5964,7 +6076,7 @@
 					"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
 					"dev": true,
 					"requires": {
-						"escape-string-regexp": "^1.0.5"
+						"escape-string-regexp": "1.0.5"
 					}
 				},
 				"has-flag": {
@@ -5991,8 +6103,8 @@
 					"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
 					"dev": true,
 					"requires": {
-						"is-fullwidth-code-point": "^2.0.0",
-						"strip-ansi": "^4.0.0"
+						"is-fullwidth-code-point": "2.0.0",
+						"strip-ansi": "4.0.0"
 					}
 				},
 				"strip-ansi": {
@@ -6001,7 +6113,7 @@
 					"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 					"dev": true,
 					"requires": {
-						"ansi-regex": "^3.0.0"
+						"ansi-regex": "3.0.0"
 					}
 				},
 				"supports-color": {
@@ -6010,7 +6122,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"has-flag": "3.0.0"
 					}
 				}
 			}
@@ -6021,7 +6133,7 @@
 			"integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
 			"dev": true,
 			"requires": {
-				"meow": "^3.3.0"
+				"meow": "3.7.0"
 			}
 		},
 		"interpret": {
@@ -6061,7 +6173,7 @@
 			"integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
 			"dev": true,
 			"requires": {
-				"is-relative": "^0.1.0"
+				"is-relative": "0.1.3"
 			}
 		},
 		"is-accessor-descriptor": {
@@ -6070,7 +6182,7 @@
 			"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
 			"dev": true,
 			"requires": {
-				"kind-of": "^6.0.0"
+				"kind-of": "6.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -6093,7 +6205,7 @@
 			"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
 			"dev": true,
 			"requires": {
-				"binary-extensions": "^1.0.0"
+				"binary-extensions": "1.11.0"
 			}
 		},
 		"is-buffer": {
@@ -6108,7 +6220,7 @@
 			"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
 			"dev": true,
 			"requires": {
-				"builtin-modules": "^1.0.0"
+				"builtin-modules": "1.1.1"
 			}
 		},
 		"is-bzip2": {
@@ -6129,7 +6241,7 @@
 			"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
 			"dev": true,
 			"requires": {
-				"kind-of": "^6.0.0"
+				"kind-of": "6.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -6152,9 +6264,9 @@
 			"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
 			"dev": true,
 			"requires": {
-				"is-accessor-descriptor": "^1.0.0",
-				"is-data-descriptor": "^1.0.0",
-				"kind-of": "^6.0.2"
+				"is-accessor-descriptor": "1.0.0",
+				"is-data-descriptor": "1.0.0",
+				"kind-of": "6.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -6177,7 +6289,7 @@
 			"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
 			"dev": true,
 			"requires": {
-				"is-primitive": "^2.0.0"
+				"is-primitive": "2.0.0"
 			}
 		},
 		"is-extendable": {
@@ -6198,7 +6310,7 @@
 			"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
 			"dev": true,
 			"requires": {
-				"number-is-nan": "^1.0.0"
+				"number-is-nan": "1.0.1"
 			}
 		},
 		"is-fullwidth-code-point": {
@@ -6207,7 +6319,7 @@
 			"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
 			"dev": true,
 			"requires": {
-				"number-is-nan": "^1.0.0"
+				"number-is-nan": "1.0.1"
 			}
 		},
 		"is-gif": {
@@ -6223,7 +6335,7 @@
 			"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
 			"dev": true,
 			"requires": {
-				"is-extglob": "^2.1.0"
+				"is-extglob": "2.1.1"
 			}
 		},
 		"is-gzip": {
@@ -6251,11 +6363,11 @@
 			"integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
 			"dev": true,
 			"requires": {
-				"generate-function": "^2.0.0",
-				"generate-object-property": "^1.1.0",
-				"is-my-ip-valid": "^1.0.0",
-				"jsonpointer": "^4.0.0",
-				"xtend": "^4.0.0"
+				"generate-function": "2.0.0",
+				"generate-object-property": "1.2.0",
+				"is-my-ip-valid": "1.0.0",
+				"jsonpointer": "4.0.1",
+				"xtend": "4.0.1"
 			}
 		},
 		"is-natural-number": {
@@ -6270,7 +6382,7 @@
 			"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
 			"dev": true,
 			"requires": {
-				"kind-of": "^3.0.2"
+				"kind-of": "3.2.2"
 			}
 		},
 		"is-obj": {
@@ -6285,7 +6397,7 @@
 			"integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
 			"dev": true,
 			"requires": {
-				"is-number": "^4.0.0"
+				"is-number": "4.0.0"
 			},
 			"dependencies": {
 				"is-number": {
@@ -6308,7 +6420,7 @@
 			"integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
 			"dev": true,
 			"requires": {
-				"is-path-inside": "^1.0.0"
+				"is-path-inside": "1.0.1"
 			}
 		},
 		"is-path-inside": {
@@ -6317,7 +6429,7 @@
 			"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
 			"dev": true,
 			"requires": {
-				"path-is-inside": "^1.0.1"
+				"path-is-inside": "1.0.2"
 			}
 		},
 		"is-plain-object": {
@@ -6326,7 +6438,7 @@
 			"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
 			"dev": true,
 			"requires": {
-				"isobject": "^3.0.1"
+				"isobject": "3.0.1"
 			},
 			"dependencies": {
 				"isobject": {
@@ -6380,7 +6492,7 @@
 			"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
 			"dev": true,
 			"requires": {
-				"has": "^1.0.1"
+				"has": "1.0.1"
 			}
 		},
 		"is-relative": {
@@ -6496,9 +6608,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"bin-build": "^2.0.0",
-				"bin-wrapper": "^3.0.0",
-				"logalot": "^2.0.0"
+				"bin-build": "2.2.0",
+				"bin-wrapper": "3.0.2",
+				"logalot": "2.1.0"
 			}
 		},
 		"jquery": {
@@ -6507,15 +6619,14 @@
 			"integrity": "sha1-AeHfuikP5z3rp3zurLD5ui/sngw="
 		},
 		"jquery-color": {
-			"version": "github:jquery/jquery-color#95402e5b2f1184ab2de7014aeef0a90f2bee0a40",
-			"from": "github:jquery/jquery-color#2.1.1"
+			"version": "github:jquery/jquery-color#95402e5b2f1184ab2de7014aeef0a90f2bee0a40"
 		},
 		"jquery-form": {
 			"version": "4.2.1",
 			"resolved": "https://registry.npmjs.org/jquery-form/-/jquery-form-4.2.1.tgz",
 			"integrity": "sha1-hn00Fct3uOciOqpwHw5IHdFq1cI=",
 			"requires": {
-				"jquery": ">=1.7"
+				"jquery": "1.12.4"
 			}
 		},
 		"jquery-hoverintent": {
@@ -6523,7 +6634,7 @@
 			"resolved": "https://registry.npmjs.org/jquery-hoverintent/-/jquery-hoverintent-1.8.3.tgz",
 			"integrity": "sha512-vxxq6pCpUYM0bmgYP+28YT2B31B4eURsmap0orQQwH2BgZCc9UV99ZsP2bO/X9szh9FWPS2JaucROMGHjsbolg==",
 			"requires": {
-				"jquery": ">=1.7.0"
+				"jquery": "1.12.4"
 			}
 		},
 		"jquery-migrate": {
@@ -6533,8 +6644,7 @@
 			"dev": true
 		},
 		"jquery-ui": {
-			"version": "github:jquery/jquery-ui#d6713024e16de90ea71dc0544ba34e1df01b4d8a",
-			"from": "github:jquery/jquery-ui#1.11.4"
+			"version": "github:jquery/jquery-ui#d6713024e16de90ea71dc0544ba34e1df01b4d8a"
 		},
 		"js-base64": {
 			"version": "2.4.3",
@@ -6548,8 +6658,8 @@
 			"integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
 			"dev": true,
 			"requires": {
-				"argparse": "^1.0.2",
-				"esprima": "^2.6.0"
+				"argparse": "1.0.10",
+				"esprima": "2.7.3"
 			},
 			"dependencies": {
 				"esprima": {
@@ -6566,7 +6676,7 @@
 			"integrity": "sha1-P7YOqgicVED5MZ9RdgzNB+JJlzM=",
 			"dev": true,
 			"requires": {
-				"xmlcreate": "^1.0.1"
+				"xmlcreate": "1.0.2"
 			}
 		},
 		"jsbn": {
@@ -6583,17 +6693,17 @@
 			"dev": true,
 			"requires": {
 				"babylon": "7.0.0-beta.19",
-				"bluebird": "~3.5.0",
-				"catharsis": "~0.8.9",
-				"escape-string-regexp": "~1.0.5",
-				"js2xmlparser": "~3.0.0",
-				"klaw": "~2.0.0",
-				"marked": "~0.3.6",
-				"mkdirp": "~0.5.1",
-				"requizzle": "~0.2.1",
-				"strip-json-comments": "~2.0.1",
+				"bluebird": "3.5.1",
+				"catharsis": "0.8.9",
+				"escape-string-regexp": "1.0.5",
+				"js2xmlparser": "3.0.0",
+				"klaw": "2.0.0",
+				"marked": "0.3.17",
+				"mkdirp": "0.5.1",
+				"requizzle": "0.2.1",
+				"strip-json-comments": "2.0.1",
 				"taffydb": "2.6.2",
-				"underscore": "~1.8.3"
+				"underscore": "1.8.3"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -6608,7 +6718,7 @@
 					"integrity": "sha1-WcEo4Nxc5BAgEVEZTuucv4WGUPY=",
 					"dev": true,
 					"requires": {
-						"graceful-fs": "^4.1.9"
+						"graceful-fs": "4.1.11"
 					}
 				},
 				"underscore": {
@@ -6625,14 +6735,14 @@
 			"integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
 			"dev": true,
 			"requires": {
-				"cli": "~1.0.0",
-				"console-browserify": "1.1.x",
-				"exit": "0.1.x",
-				"htmlparser2": "3.8.x",
-				"lodash": "3.7.x",
-				"minimatch": "~3.0.2",
-				"shelljs": "0.3.x",
-				"strip-json-comments": "1.0.x"
+				"cli": "1.0.1",
+				"console-browserify": "1.1.0",
+				"exit": "0.1.2",
+				"htmlparser2": "3.8.3",
+				"lodash": "3.7.0",
+				"minimatch": "3.0.4",
+				"shelljs": "0.3.0",
+				"strip-json-comments": "1.0.4"
 			},
 			"dependencies": {
 				"lodash": {
@@ -6647,7 +6757,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				},
 				"strip-json-comments": {
@@ -6682,7 +6792,7 @@
 			"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
 			"dev": true,
 			"requires": {
-				"jsonify": "~0.0.0"
+				"jsonify": "0.0.0"
 			}
 		},
 		"json-stringify-safe": {
@@ -6709,7 +6819,7 @@
 			"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.6"
+				"graceful-fs": "4.1.11"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -6763,7 +6873,7 @@
 			"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 			"dev": true,
 			"requires": {
-				"is-buffer": "^1.1.5"
+				"is-buffer": "1.1.6"
 			}
 		},
 		"klaw": {
@@ -6772,7 +6882,7 @@
 			"integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.9"
+				"graceful-fs": "4.1.11"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -6803,7 +6913,7 @@
 			"integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
 			"dev": true,
 			"requires": {
-				"readable-stream": "^2.0.5"
+				"readable-stream": "2.3.5"
 			}
 		},
 		"lcid": {
@@ -6812,7 +6922,7 @@
 			"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
 			"dev": true,
 			"requires": {
-				"invert-kv": "^1.0.0"
+				"invert-kv": "1.0.0"
 			}
 		},
 		"livereload-js": {
@@ -6827,11 +6937,11 @@
 			"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.2",
-				"parse-json": "^2.2.0",
-				"pify": "^2.0.0",
-				"pinkie-promise": "^2.0.0",
-				"strip-bom": "^2.0.0"
+				"graceful-fs": "4.1.11",
+				"parse-json": "2.2.0",
+				"pify": "2.3.0",
+				"pinkie-promise": "2.0.1",
+				"strip-bom": "2.0.0"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -6854,9 +6964,9 @@
 			"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
 			"dev": true,
 			"requires": {
-				"big.js": "^3.1.3",
-				"emojis-list": "^2.0.0",
-				"json5": "^0.5.0"
+				"big.js": "3.2.0",
+				"emojis-list": "2.1.0",
+				"json5": "0.5.1"
 			}
 		},
 		"locate-path": {
@@ -6865,8 +6975,8 @@
 			"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
 			"dev": true,
 			"requires": {
-				"p-locate": "^2.0.0",
-				"path-exists": "^3.0.0"
+				"p-locate": "2.0.0",
+				"path-exists": "3.0.0"
 			},
 			"dependencies": {
 				"path-exists": {
@@ -6955,7 +7065,7 @@
 			"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
 			"dev": true,
 			"requires": {
-				"lodash._root": "^3.0.0"
+				"lodash._root": "3.0.1"
 			}
 		},
 		"lodash.escaperegexp": {
@@ -7000,9 +7110,9 @@
 			"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
 			"dev": true,
 			"requires": {
-				"lodash._getnative": "^3.0.0",
-				"lodash.isarguments": "^3.0.0",
-				"lodash.isarray": "^3.0.0"
+				"lodash._getnative": "3.9.1",
+				"lodash.isarguments": "3.1.0",
+				"lodash.isarray": "3.0.4"
 			}
 		},
 		"lodash.mergewith": {
@@ -7023,15 +7133,15 @@
 			"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
 			"dev": true,
 			"requires": {
-				"lodash._basecopy": "^3.0.0",
-				"lodash._basetostring": "^3.0.0",
-				"lodash._basevalues": "^3.0.0",
-				"lodash._isiterateecall": "^3.0.0",
-				"lodash._reinterpolate": "^3.0.0",
-				"lodash.escape": "^3.0.0",
-				"lodash.keys": "^3.0.0",
-				"lodash.restparam": "^3.0.0",
-				"lodash.templatesettings": "^3.0.0"
+				"lodash._basecopy": "3.0.1",
+				"lodash._basetostring": "3.0.1",
+				"lodash._basevalues": "3.0.0",
+				"lodash._isiterateecall": "3.0.9",
+				"lodash._reinterpolate": "3.0.0",
+				"lodash.escape": "3.2.0",
+				"lodash.keys": "3.1.2",
+				"lodash.restparam": "3.6.1",
+				"lodash.templatesettings": "3.1.1"
 			}
 		},
 		"lodash.templatesettings": {
@@ -7040,8 +7150,8 @@
 			"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
 			"dev": true,
 			"requires": {
-				"lodash._reinterpolate": "^3.0.0",
-				"lodash.escape": "^3.0.0"
+				"lodash._reinterpolate": "3.0.0",
+				"lodash.escape": "3.2.0"
 			}
 		},
 		"logalot": {
@@ -7051,8 +7161,8 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"figures": "^1.3.5",
-				"squeak": "^1.0.0"
+				"figures": "1.7.0",
+				"squeak": "1.3.0"
 			}
 		},
 		"loglevel": {
@@ -7073,8 +7183,8 @@
 			"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
 			"dev": true,
 			"requires": {
-				"currently-unhandled": "^0.4.1",
-				"signal-exit": "^3.0.0"
+				"currently-unhandled": "0.4.1",
+				"signal-exit": "3.0.2"
 			}
 		},
 		"lowercase-keys": {
@@ -7090,10 +7200,37 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"get-stdin": "^4.0.1",
-				"indent-string": "^2.1.0",
-				"longest": "^1.0.0",
-				"meow": "^3.3.0"
+				"get-stdin": "4.0.1",
+				"indent-string": "2.1.0",
+				"longest": "1.0.1",
+				"meow": "3.7.0"
+			}
+		},
+		"lru-cache": {
+			"version": "4.1.3",
+			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+			"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+			"dev": true,
+			"requires": {
+				"pseudomap": "1.0.2",
+				"yallist": "2.1.2"
+			}
+		},
+		"make-dir": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+			"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+			"dev": true,
+			"requires": {
+				"pify": "3.0.0"
+			},
+			"dependencies": {
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				}
 			}
 		},
 		"map-cache": {
@@ -7120,7 +7257,7 @@
 			"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
 			"dev": true,
 			"requires": {
-				"object-visit": "^1.0.0"
+				"object-visit": "1.0.1"
 			}
 		},
 		"marked": {
@@ -7134,9 +7271,9 @@
 			"resolved": "https://registry.npmjs.org/masonry-layout/-/masonry-layout-3.3.2.tgz",
 			"integrity": "sha1-uQwMClCaXtKoBrvIqBEokKdjQbo=",
 			"requires": {
-				"fizzy-ui-utils": "^1.0.1",
-				"get-size": "~1.2.2",
-				"outlayer": "~1.4.0"
+				"fizzy-ui-utils": "1.0.1",
+				"get-size": "1.2.2",
+				"outlayer": "1.4.2"
 			}
 		},
 		"matchdep": {
@@ -7145,9 +7282,9 @@
 			"integrity": "sha1-pXozgESR+64girqPaDgEN6vC3KU=",
 			"dev": true,
 			"requires": {
-				"findup-sync": "~0.3.0",
-				"micromatch": "^2.3.7",
-				"resolve": "~1.1.6",
+				"findup-sync": "0.3.0",
+				"micromatch": "2.3.11",
+				"resolve": "1.1.7",
 				"stack-trace": "0.0.9"
 			},
 			"dependencies": {
@@ -7157,7 +7294,7 @@
 					"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
 					"dev": true,
 					"requires": {
-						"glob": "~5.0.0"
+						"glob": "5.0.15"
 					}
 				},
 				"glob": {
@@ -7166,11 +7303,11 @@
 					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
 					"dev": true,
 					"requires": {
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "2 || 3",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -7179,7 +7316,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -7190,10 +7327,10 @@
 			"integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.0.0",
-				"figures": "^1.0.1",
-				"gzip-size": "^1.0.0",
-				"pretty-bytes": "^1.0.0"
+				"chalk": "1.1.3",
+				"figures": "1.7.0",
+				"gzip-size": "1.0.0",
+				"pretty-bytes": "1.0.4"
 			},
 			"dependencies": {
 				"pretty-bytes": {
@@ -7202,8 +7339,8 @@
 					"integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
 					"dev": true,
 					"requires": {
-						"get-stdin": "^4.0.1",
-						"meow": "^3.1.0"
+						"get-stdin": "4.0.1",
+						"meow": "3.7.0"
 					}
 				}
 			}
@@ -7214,8 +7351,8 @@
 			"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
 			"dev": true,
 			"requires": {
-				"hash-base": "^3.0.0",
-				"inherits": "^2.0.1"
+				"hash-base": "3.0.4",
+				"inherits": "2.0.3"
 			},
 			"dependencies": {
 				"hash-base": {
@@ -7224,8 +7361,8 @@
 					"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
 					"dev": true,
 					"requires": {
-						"inherits": "^2.0.1",
-						"safe-buffer": "^5.0.1"
+						"inherits": "2.0.3",
+						"safe-buffer": "5.1.1"
 					}
 				}
 			}
@@ -7242,7 +7379,7 @@
 			"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
 			"dev": true,
 			"requires": {
-				"mimic-fn": "^1.0.0"
+				"mimic-fn": "1.2.0"
 			}
 		},
 		"memory-fs": {
@@ -7251,8 +7388,8 @@
 			"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
 			"dev": true,
 			"requires": {
-				"errno": "^0.1.3",
-				"readable-stream": "^2.0.1"
+				"errno": "0.1.7",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"meow": {
@@ -7261,16 +7398,16 @@
 			"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
 			"dev": true,
 			"requires": {
-				"camelcase-keys": "^2.0.0",
-				"decamelize": "^1.1.2",
-				"loud-rejection": "^1.0.0",
-				"map-obj": "^1.0.1",
-				"minimist": "^1.1.3",
-				"normalize-package-data": "^2.3.4",
-				"object-assign": "^4.0.1",
-				"read-pkg-up": "^1.0.1",
-				"redent": "^1.0.0",
-				"trim-newlines": "^1.0.0"
+				"camelcase-keys": "2.1.0",
+				"decamelize": "1.2.0",
+				"loud-rejection": "1.6.0",
+				"map-obj": "1.0.1",
+				"minimist": "1.2.0",
+				"normalize-package-data": "2.4.0",
+				"object-assign": "4.1.1",
+				"read-pkg-up": "1.0.1",
+				"redent": "1.0.0",
+				"trim-newlines": "1.0.0"
 			}
 		},
 		"merge-descriptors": {
@@ -7285,7 +7422,7 @@
 			"integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
 			"dev": true,
 			"requires": {
-				"readable-stream": "^2.0.1"
+				"readable-stream": "2.3.5"
 			}
 		},
 		"methods": {
@@ -7300,19 +7437,19 @@
 			"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
 			"dev": true,
 			"requires": {
-				"arr-diff": "^2.0.0",
-				"array-unique": "^0.2.1",
-				"braces": "^1.8.2",
-				"expand-brackets": "^0.1.4",
-				"extglob": "^0.3.1",
-				"filename-regex": "^2.0.0",
-				"is-extglob": "^1.0.0",
-				"is-glob": "^2.0.1",
-				"kind-of": "^3.0.2",
-				"normalize-path": "^2.0.1",
-				"object.omit": "^2.0.0",
-				"parse-glob": "^3.0.4",
-				"regex-cache": "^0.4.2"
+				"arr-diff": "2.0.0",
+				"array-unique": "0.2.1",
+				"braces": "1.8.5",
+				"expand-brackets": "0.1.5",
+				"extglob": "0.3.2",
+				"filename-regex": "2.0.1",
+				"is-extglob": "1.0.0",
+				"is-glob": "2.0.1",
+				"kind-of": "3.2.2",
+				"normalize-path": "2.1.1",
+				"object.omit": "2.0.1",
+				"parse-glob": "3.0.4",
+				"regex-cache": "0.4.4"
 			},
 			"dependencies": {
 				"is-extglob": {
@@ -7327,7 +7464,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "^1.0.0"
+						"is-extglob": "1.0.0"
 					}
 				}
 			}
@@ -7338,8 +7475,8 @@
 			"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
 			"dev": true,
 			"requires": {
-				"bn.js": "^4.0.0",
-				"brorand": "^1.0.1"
+				"bn.js": "4.11.8",
+				"brorand": "1.1.0"
 			}
 		},
 		"mime": {
@@ -7360,7 +7497,7 @@
 			"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
 			"dev": true,
 			"requires": {
-				"mime-db": "~1.33.0"
+				"mime-db": "1.33.0"
 			}
 		},
 		"mimic-fn": {
@@ -7387,7 +7524,7 @@
 			"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 			"dev": true,
 			"requires": {
-				"brace-expansion": "^1.1.7"
+				"brace-expansion": "1.1.11"
 			}
 		},
 		"minimist": {
@@ -7396,14 +7533,44 @@
 			"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 			"dev": true
 		},
+		"mississippi": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
+			"integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
+			"dev": true,
+			"requires": {
+				"concat-stream": "1.6.1",
+				"duplexify": "3.5.4",
+				"end-of-stream": "1.4.1",
+				"flush-write-stream": "1.0.3",
+				"from2": "2.3.0",
+				"parallel-transform": "1.1.0",
+				"pump": "2.0.1",
+				"pumpify": "1.5.1",
+				"stream-each": "1.2.2",
+				"through2": "2.0.3"
+			},
+			"dependencies": {
+				"through2": {
+					"version": "2.0.3",
+					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+					"dev": true,
+					"requires": {
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
+					}
+				}
+			}
+		},
 		"mixin-deep": {
 			"version": "1.3.1",
 			"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
 			"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
 			"dev": true,
 			"requires": {
-				"for-in": "^1.0.2",
-				"is-extendable": "^1.0.1"
+				"for-in": "1.0.2",
+				"is-extendable": "1.0.1"
 			},
 			"dependencies": {
 				"is-extendable": {
@@ -7412,7 +7579,7 @@
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"dev": true,
 					"requires": {
-						"is-plain-object": "^2.0.4"
+						"is-plain-object": "2.0.4"
 					}
 				}
 			}
@@ -7440,6 +7607,31 @@
 			"integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==",
 			"dev": true
 		},
+		"move-concurrently": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+			"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+			"dev": true,
+			"requires": {
+				"aproba": "1.2.0",
+				"copy-concurrently": "1.0.5",
+				"fs-write-stream-atomic": "1.0.10",
+				"mkdirp": "0.5.1",
+				"rimraf": "2.6.2",
+				"run-queue": "1.0.3"
+			},
+			"dependencies": {
+				"rimraf": {
+					"version": "2.6.2",
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+					"dev": true,
+					"requires": {
+						"glob": "7.0.6"
+					}
+				}
+			}
+		},
 		"ms": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -7452,8 +7644,8 @@
 			"integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
 			"dev": true,
 			"requires": {
-				"dns-packet": "^1.3.1",
-				"thunky": "^1.0.2"
+				"dns-packet": "1.3.1",
+				"thunky": "1.0.2"
 			}
 		},
 		"multicast-dns-service-types": {
@@ -7477,7 +7669,7 @@
 					"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "~1.1.9"
+						"readable-stream": "1.1.14"
 					}
 				},
 				"isarray": {
@@ -7492,10 +7684,10 @@
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"dev": true,
 					"requires": {
-						"core-util-is": "~1.0.0",
-						"inherits": "~2.0.1",
+						"core-util-is": "1.0.2",
+						"inherits": "2.0.3",
 						"isarray": "0.0.1",
-						"string_decoder": "~0.10.x"
+						"string_decoder": "0.10.31"
 					}
 				},
 				"string_decoder": {
@@ -7512,6 +7704,12 @@
 			"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
 			"dev": true
 		},
+		"n-readlines": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/n-readlines/-/n-readlines-1.0.0.tgz",
+			"integrity": "sha512-ISDqGcspVu6U3VKqtJZG1uR55SmNNF9uK0EMq1IvNVVZOui6MW6VR0+pIZhqz85ORAGp+4zW+5fJ/SE7bwEibA==",
+			"dev": true
+		},
 		"nan": {
 			"version": "2.9.2",
 			"resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz",
@@ -7524,18 +7722,18 @@
 			"integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
 			"dev": true,
 			"requires": {
-				"arr-diff": "^4.0.0",
-				"array-unique": "^0.3.2",
-				"define-property": "^2.0.2",
-				"extend-shallow": "^3.0.2",
-				"fragment-cache": "^0.2.1",
-				"is-odd": "^2.0.0",
-				"is-windows": "^1.0.2",
-				"kind-of": "^6.0.2",
-				"object.pick": "^1.3.0",
-				"regex-not": "^1.0.0",
-				"snapdragon": "^0.8.1",
-				"to-regex": "^3.0.1"
+				"arr-diff": "4.0.0",
+				"array-unique": "0.3.2",
+				"define-property": "2.0.2",
+				"extend-shallow": "3.0.2",
+				"fragment-cache": "0.2.1",
+				"is-odd": "2.0.0",
+				"is-windows": "1.0.2",
+				"kind-of": "6.0.2",
+				"object.pick": "1.3.0",
+				"regex-not": "1.0.2",
+				"snapdragon": "0.8.1",
+				"to-regex": "3.0.2"
 			},
 			"dependencies": {
 				"arr-diff": {
@@ -7556,8 +7754,8 @@
 					"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
 					"dev": true,
 					"requires": {
-						"assign-symbols": "^1.0.0",
-						"is-extendable": "^1.0.1"
+						"assign-symbols": "1.0.0",
+						"is-extendable": "1.0.1"
 					}
 				},
 				"is-extendable": {
@@ -7566,7 +7764,7 @@
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"dev": true,
 					"requires": {
-						"is-plain-object": "^2.0.4"
+						"is-plain-object": "2.0.4"
 					}
 				},
 				"kind-of": {
@@ -7601,19 +7799,19 @@
 			"integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
 			"dev": 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"
+				"fstream": "1.0.11",
+				"glob": "7.1.2",
+				"graceful-fs": "4.1.11",
+				"minimatch": "3.0.4",
+				"mkdirp": "0.5.1",
+				"nopt": "3.0.6",
+				"npmlog": "4.1.2",
+				"osenv": "0.1.5",
+				"request": "2.83.0",
+				"rimraf": "2.2.8",
+				"semver": "5.3.0",
+				"tar": "2.2.1",
+				"which": "1.0.9"
 			},
 			"dependencies": {
 				"glob": {
@@ -7622,12 +7820,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"graceful-fs": {
@@ -7642,7 +7840,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				},
 				"nopt": {
@@ -7651,7 +7849,7 @@
 					"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
 					"dev": true,
 					"requires": {
-						"abbrev": "1"
+						"abbrev": "1.1.1"
 					}
 				},
 				"semver": {
@@ -7668,28 +7866,28 @@
 			"integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
 			"dev": true,
 			"requires": {
-				"assert": "^1.1.1",
-				"browserify-zlib": "^0.2.0",
-				"buffer": "^4.3.0",
-				"console-browserify": "^1.1.0",
-				"constants-browserify": "^1.0.0",
-				"crypto-browserify": "^3.11.0",
-				"domain-browser": "^1.1.1",
-				"events": "^1.0.0",
-				"https-browserify": "^1.0.0",
-				"os-browserify": "^0.3.0",
+				"assert": "1.4.1",
+				"browserify-zlib": "0.2.0",
+				"buffer": "4.9.1",
+				"console-browserify": "1.1.0",
+				"constants-browserify": "1.0.0",
+				"crypto-browserify": "3.12.0",
+				"domain-browser": "1.2.0",
+				"events": "1.1.1",
+				"https-browserify": "1.0.0",
+				"os-browserify": "0.3.0",
 				"path-browserify": "0.0.0",
-				"process": "^0.11.10",
-				"punycode": "^1.2.4",
-				"querystring-es3": "^0.2.0",
-				"readable-stream": "^2.3.3",
-				"stream-browserify": "^2.0.1",
-				"stream-http": "^2.7.2",
-				"string_decoder": "^1.0.0",
-				"timers-browserify": "^2.0.4",
+				"process": "0.11.10",
+				"punycode": "1.4.1",
+				"querystring-es3": "0.2.1",
+				"readable-stream": "2.3.5",
+				"stream-browserify": "2.0.1",
+				"stream-http": "2.8.0",
+				"string_decoder": "1.0.3",
+				"timers-browserify": "2.0.6",
 				"tty-browserify": "0.0.0",
-				"url": "^0.11.0",
-				"util": "^0.10.3",
+				"url": "0.11.0",
+				"util": "0.10.3",
 				"vm-browserify": "0.0.4"
 			},
 			"dependencies": {
@@ -7699,7 +7897,7 @@
 					"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
 					"dev": true,
 					"requires": {
-						"pako": "~1.0.5"
+						"pako": "1.0.6"
 					}
 				},
 				"pako": {
@@ -7716,25 +7914,25 @@
 			"integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==",
 			"dev": true,
 			"requires": {
-				"async-foreach": "^0.1.3",
-				"chalk": "^1.1.1",
-				"cross-spawn": "^3.0.0",
-				"gaze": "^1.0.0",
-				"get-stdin": "^4.0.1",
-				"glob": "^7.0.3",
-				"in-publish": "^2.0.0",
-				"lodash.assign": "^4.2.0",
-				"lodash.clonedeep": "^4.3.2",
-				"lodash.mergewith": "^4.6.0",
-				"meow": "^3.7.0",
-				"mkdirp": "^0.5.1",
-				"nan": "^2.3.2",
-				"node-gyp": "^3.3.1",
-				"npmlog": "^4.0.0",
-				"request": "~2.79.0",
-				"sass-graph": "^2.2.4",
-				"stdout-stream": "^1.4.0",
-				"true-case-path": "^1.0.2"
+				"async-foreach": "0.1.3",
+				"chalk": "1.1.3",
+				"cross-spawn": "3.0.1",
+				"gaze": "1.1.2",
+				"get-stdin": "4.0.1",
+				"glob": "7.1.2",
+				"in-publish": "2.0.0",
+				"lodash.assign": "4.2.0",
+				"lodash.clonedeep": "4.5.0",
+				"lodash.mergewith": "4.6.1",
+				"meow": "3.7.0",
+				"mkdirp": "0.5.1",
+				"nan": "2.9.2",
+				"node-gyp": "3.6.2",
+				"npmlog": "4.1.2",
+				"request": "2.79.0",
+				"sass-graph": "2.2.4",
+				"stdout-stream": "1.4.0",
+				"true-case-path": "1.0.2"
 			},
 			"dependencies": {
 				"assert-plus": {
@@ -7755,7 +7953,7 @@
 					"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.x.x"
+						"hoek": "2.16.3"
 					}
 				},
 				"caseless": {
@@ -7776,7 +7974,7 @@
 					"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
 					"dev": true,
 					"requires": {
-						"boom": "2.x.x"
+						"boom": "2.10.1"
 					}
 				},
 				"form-data": {
@@ -7785,9 +7983,9 @@
 					"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
 					"dev": true,
 					"requires": {
-						"asynckit": "^0.4.0",
-						"combined-stream": "^1.0.5",
-						"mime-types": "^2.1.12"
+						"asynckit": "0.4.0",
+						"combined-stream": "1.0.6",
+						"mime-types": "2.1.18"
 					}
 				},
 				"glob": {
@@ -7796,12 +7994,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"har-validator": {
@@ -7810,10 +8008,10 @@
 					"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
 					"dev": true,
 					"requires": {
-						"chalk": "^1.1.1",
-						"commander": "^2.9.0",
-						"is-my-json-valid": "^2.12.4",
-						"pinkie-promise": "^2.0.0"
+						"chalk": "1.1.3",
+						"commander": "2.15.0",
+						"is-my-json-valid": "2.17.2",
+						"pinkie-promise": "2.0.1"
 					}
 				},
 				"hawk": {
@@ -7822,10 +8020,10 @@
 					"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
 					"dev": true,
 					"requires": {
-						"boom": "2.x.x",
-						"cryptiles": "2.x.x",
-						"hoek": "2.x.x",
-						"sntp": "1.x.x"
+						"boom": "2.10.1",
+						"cryptiles": "2.0.5",
+						"hoek": "2.16.3",
+						"sntp": "1.0.9"
 					}
 				},
 				"hoek": {
@@ -7840,9 +8038,9 @@
 					"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
 					"dev": true,
 					"requires": {
-						"assert-plus": "^0.2.0",
-						"jsprim": "^1.2.2",
-						"sshpk": "^1.7.0"
+						"assert-plus": "0.2.0",
+						"jsprim": "1.4.1",
+						"sshpk": "1.13.1"
 					}
 				},
 				"minimatch": {
@@ -7851,7 +8049,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				},
 				"qs": {
@@ -7866,26 +8064,26 @@
 					"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
 					"dev": true,
 					"requires": {
-						"aws-sign2": "~0.6.0",
-						"aws4": "^1.2.1",
-						"caseless": "~0.11.0",
-						"combined-stream": "~1.0.5",
-						"extend": "~3.0.0",
-						"forever-agent": "~0.6.1",
-						"form-data": "~2.1.1",
-						"har-validator": "~2.0.6",
-						"hawk": "~3.1.3",
-						"http-signature": "~1.1.0",
-						"is-typedarray": "~1.0.0",
-						"isstream": "~0.1.2",
-						"json-stringify-safe": "~5.0.1",
-						"mime-types": "~2.1.7",
-						"oauth-sign": "~0.8.1",
-						"qs": "~6.3.0",
-						"stringstream": "~0.0.4",
-						"tough-cookie": "~2.3.0",
-						"tunnel-agent": "~0.4.1",
-						"uuid": "^3.0.0"
+						"aws-sign2": "0.6.0",
+						"aws4": "1.6.0",
+						"caseless": "0.11.0",
+						"combined-stream": "1.0.6",
+						"extend": "3.0.1",
+						"forever-agent": "0.6.1",
+						"form-data": "2.1.4",
+						"har-validator": "2.0.6",
+						"hawk": "3.1.3",
+						"http-signature": "1.1.1",
+						"is-typedarray": "1.0.0",
+						"isstream": "0.1.2",
+						"json-stringify-safe": "5.0.1",
+						"mime-types": "2.1.18",
+						"oauth-sign": "0.8.2",
+						"qs": "6.3.2",
+						"stringstream": "0.0.5",
+						"tough-cookie": "2.3.4",
+						"tunnel-agent": "0.4.3",
+						"uuid": "3.2.1"
 					}
 				},
 				"sntp": {
@@ -7894,7 +8092,7 @@
 					"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.x.x"
+						"hoek": "2.16.3"
 					}
 				},
 				"uuid": {
@@ -7917,7 +8115,7 @@
 			"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
 			"dev": true,
 			"requires": {
-				"abbrev": "1"
+				"abbrev": "1.1.1"
 			}
 		},
 		"normalize-package-data": {
@@ -7926,10 +8124,10 @@
 			"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
 			"dev": true,
 			"requires": {
-				"hosted-git-info": "^2.1.4",
-				"is-builtin-module": "^1.0.0",
-				"semver": "2 || 3 || 4 || 5",
-				"validate-npm-package-license": "^3.0.1"
+				"hosted-git-info": "2.6.0",
+				"is-builtin-module": "1.0.0",
+				"semver": "5.5.0",
+				"validate-npm-package-license": "3.0.3"
 			}
 		},
 		"normalize-path": {
@@ -7938,7 +8136,7 @@
 			"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
 			"dev": true,
 			"requires": {
-				"remove-trailing-separator": "^1.0.1"
+				"remove-trailing-separator": "1.1.0"
 			}
 		},
 		"normalize-range": {
@@ -7953,7 +8151,7 @@
 			"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
 			"dev": true,
 			"requires": {
-				"path-key": "^2.0.0"
+				"path-key": "2.0.1"
 			}
 		},
 		"npmlog": {
@@ -7962,10 +8160,10 @@
 			"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
 			"dev": true,
 			"requires": {
-				"are-we-there-yet": "~1.1.2",
-				"console-control-strings": "~1.1.0",
-				"gauge": "~2.7.3",
-				"set-blocking": "~2.0.0"
+				"are-we-there-yet": "1.1.4",
+				"console-control-strings": "1.1.0",
+				"gauge": "2.7.4",
+				"set-blocking": "2.0.0"
 			}
 		},
 		"num2fraction": {
@@ -7998,9 +8196,9 @@
 			"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
 			"dev": true,
 			"requires": {
-				"copy-descriptor": "^0.1.0",
-				"define-property": "^0.2.5",
-				"kind-of": "^3.0.3"
+				"copy-descriptor": "0.1.1",
+				"define-property": "0.2.5",
+				"kind-of": "3.2.2"
 			},
 			"dependencies": {
 				"define-property": {
@@ -8009,7 +8207,7 @@
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^0.1.0"
+						"is-descriptor": "0.1.6"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -8018,7 +8216,7 @@
 					"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					}
 				},
 				"is-data-descriptor": {
@@ -8027,7 +8225,7 @@
 					"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					}
 				},
 				"is-descriptor": {
@@ -8036,9 +8234,9 @@
 					"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 					"dev": true,
 					"requires": {
-						"is-accessor-descriptor": "^0.1.6",
-						"is-data-descriptor": "^0.1.4",
-						"kind-of": "^5.0.0"
+						"is-accessor-descriptor": "0.1.6",
+						"is-data-descriptor": "0.1.4",
+						"kind-of": "5.1.0"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -8069,7 +8267,7 @@
 			"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
 			"dev": true,
 			"requires": {
-				"isobject": "^3.0.0"
+				"isobject": "3.0.1"
 			},
 			"dependencies": {
 				"isobject": {
@@ -8086,10 +8284,10 @@
 			"integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
 			"dev": true,
 			"requires": {
-				"define-properties": "^1.1.2",
-				"function-bind": "^1.1.1",
-				"has-symbols": "^1.0.0",
-				"object-keys": "^1.0.11"
+				"define-properties": "1.1.2",
+				"function-bind": "1.1.1",
+				"has-symbols": "1.0.0",
+				"object-keys": "1.0.11"
 			}
 		},
 		"object.omit": {
@@ -8098,8 +8296,8 @@
 			"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
 			"dev": true,
 			"requires": {
-				"for-own": "^0.1.4",
-				"is-extendable": "^0.1.1"
+				"for-own": "0.1.5",
+				"is-extendable": "0.1.1"
 			}
 		},
 		"object.pick": {
@@ -8108,7 +8306,7 @@
 			"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
 			"dev": true,
 			"requires": {
-				"isobject": "^3.0.1"
+				"isobject": "3.0.1"
 			},
 			"dependencies": {
 				"isobject": {
@@ -8146,7 +8344,7 @@
 			"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 			"dev": true,
 			"requires": {
-				"wrappy": "1"
+				"wrappy": "1.0.2"
 			}
 		},
 		"onetime": {
@@ -8161,7 +8359,7 @@
 			"integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==",
 			"dev": true,
 			"requires": {
-				"is-wsl": "^1.1.0"
+				"is-wsl": "1.1.0"
 			}
 		},
 		"optional": {
@@ -8177,9 +8375,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"bin-build": "^2.0.0",
-				"bin-wrapper": "^3.0.0",
-				"logalot": "^2.0.0"
+				"bin-build": "2.2.0",
+				"bin-wrapper": "3.0.2",
+				"logalot": "2.1.0"
 			}
 		},
 		"ordered-read-streams": {
@@ -8188,8 +8386,8 @@
 			"integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
 			"dev": true,
 			"requires": {
-				"is-stream": "^1.0.1",
-				"readable-stream": "^2.0.1"
+				"is-stream": "1.1.0",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"original": {
@@ -8198,7 +8396,7 @@
 			"integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=",
 			"dev": true,
 			"requires": {
-				"url-parse": "1.0.x"
+				"url-parse": "1.0.5"
 			},
 			"dependencies": {
 				"url-parse": {
@@ -8207,8 +8405,8 @@
 					"integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=",
 					"dev": true,
 					"requires": {
-						"querystringify": "0.0.x",
-						"requires-port": "1.0.x"
+						"querystringify": "0.0.4",
+						"requires-port": "1.0.0"
 					}
 				}
 			}
@@ -8238,7 +8436,7 @@
 			"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
 			"dev": true,
 			"requires": {
-				"lcid": "^1.0.0"
+				"lcid": "1.0.0"
 			}
 		},
 		"os-tmpdir": {
@@ -8253,8 +8451,8 @@
 			"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
 			"dev": true,
 			"requires": {
-				"os-homedir": "^1.0.0",
-				"os-tmpdir": "^1.0.0"
+				"os-homedir": "1.0.2",
+				"os-tmpdir": "1.0.2"
 			}
 		},
 		"outlayer": {
@@ -8262,13 +8460,13 @@
 			"resolved": "https://registry.npmjs.org/outlayer/-/outlayer-1.4.2.tgz",
 			"integrity": "sha1-bT81+QeMLLdyqb7JOLXqL8dSv0M=",
 			"requires": {
-				"desandro-get-style-property": "~1.0.4",
-				"desandro-matches-selector": "~1.0.2",
-				"doc-ready": "1.0.x",
-				"eventie": "~1.0.3",
-				"fizzy-ui-utils": "~1.0.1",
-				"get-size": "~1.2.2",
-				"wolfy87-eventemitter": ">=4.2 <5"
+				"desandro-get-style-property": "1.0.4",
+				"desandro-matches-selector": "1.0.3",
+				"doc-ready": "1.0.4",
+				"eventie": "1.0.6",
+				"fizzy-ui-utils": "1.0.1",
+				"get-size": "1.2.2",
+				"wolfy87-eventemitter": "4.3.0"
 			}
 		},
 		"p-finally": {
@@ -8283,7 +8481,7 @@
 			"integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
 			"dev": true,
 			"requires": {
-				"p-try": "^1.0.0"
+				"p-try": "1.0.0"
 			}
 		},
 		"p-locate": {
@@ -8292,7 +8490,7 @@
 			"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
 			"dev": true,
 			"requires": {
-				"p-limit": "^1.1.0"
+				"p-limit": "1.2.0"
 			}
 		},
 		"p-map": {
@@ -8313,23 +8511,59 @@
 			"integrity": "sha1-0lofmeJQbcsn1nBLg9yooxLk7cw=",
 			"dev": true
 		},
+		"pad-stream": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-1.2.0.tgz",
+			"integrity": "sha1-Yx3Mn3mBC3BZZeid7eps/w/B38k=",
+			"dev": true,
+			"requires": {
+				"meow": "3.7.0",
+				"pumpify": "1.5.1",
+				"repeating": "2.0.1",
+				"split2": "1.1.1",
+				"through2": "2.0.3"
+			},
+			"dependencies": {
+				"through2": {
+					"version": "2.0.3",
+					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+					"dev": true,
+					"requires": {
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
+					}
+				}
+			}
+		},
 		"pako": {
 			"version": "0.2.9",
 			"resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
 			"integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
 			"dev": true
 		},
+		"parallel-transform": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
+			"integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+			"dev": true,
+			"requires": {
+				"cyclist": "0.2.2",
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5"
+			}
+		},
 		"parse-asn1": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
 			"integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
 			"dev": true,
 			"requires": {
-				"asn1.js": "^4.0.0",
-				"browserify-aes": "^1.0.0",
-				"create-hash": "^1.1.0",
-				"evp_bytestokey": "^1.0.0",
-				"pbkdf2": "^3.0.3"
+				"asn1.js": "4.10.1",
+				"browserify-aes": "1.1.1",
+				"create-hash": "1.1.3",
+				"evp_bytestokey": "1.0.3",
+				"pbkdf2": "3.0.14"
 			}
 		},
 		"parse-glob": {
@@ -8338,10 +8572,10 @@
 			"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
 			"dev": true,
 			"requires": {
-				"glob-base": "^0.3.0",
-				"is-dotfile": "^1.0.0",
-				"is-extglob": "^1.0.0",
-				"is-glob": "^2.0.0"
+				"glob-base": "0.3.0",
+				"is-dotfile": "1.0.3",
+				"is-extglob": "1.0.0",
+				"is-glob": "2.0.1"
 			},
 			"dependencies": {
 				"is-extglob": {
@@ -8356,7 +8590,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "^1.0.0"
+						"is-extglob": "1.0.0"
 					}
 				}
 			}
@@ -8367,7 +8601,7 @@
 			"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
 			"dev": true,
 			"requires": {
-				"error-ex": "^1.2.0"
+				"error-ex": "1.3.1"
 			}
 		},
 		"parseurl": {
@@ -8400,7 +8634,7 @@
 			"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
 			"dev": true,
 			"requires": {
-				"pinkie-promise": "^2.0.0"
+				"pinkie-promise": "2.0.1"
 			}
 		},
 		"path-is-absolute": {
@@ -8433,9 +8667,9 @@
 			"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.2",
-				"pify": "^2.0.0",
-				"pinkie-promise": "^2.0.0"
+				"graceful-fs": "4.1.11",
+				"pify": "2.3.0",
+				"pinkie-promise": "2.0.1"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -8452,11 +8686,11 @@
 			"integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==",
 			"dev": true,
 			"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"
+				"create-hash": "1.1.3",
+				"create-hmac": "1.1.6",
+				"ripemd160": "2.0.1",
+				"safe-buffer": "5.1.1",
+				"sha.js": "2.4.10"
 			}
 		},
 		"pend": {
@@ -8477,15 +8711,15 @@
 			"integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
 			"dev": true,
 			"requires": {
-				"es6-promise": "^4.0.3",
-				"extract-zip": "^1.6.5",
-				"fs-extra": "^1.0.0",
-				"hasha": "^2.2.0",
-				"kew": "^0.7.0",
-				"progress": "^1.1.8",
-				"request": "^2.81.0",
-				"request-progress": "^2.0.1",
-				"which": "^1.2.10"
+				"es6-promise": "4.2.4",
+				"extract-zip": "1.6.6",
+				"fs-extra": "1.0.0",
+				"hasha": "2.2.0",
+				"kew": "0.7.0",
+				"progress": "1.1.8",
+				"request": "2.83.0",
+				"request-progress": "2.0.1",
+				"which": "1.3.0"
 			},
 			"dependencies": {
 				"which": {
@@ -8494,7 +8728,7 @@
 					"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
 					"dev": true,
 					"requires": {
-						"isexe": "^2.0.0"
+						"isexe": "2.0.0"
 					}
 				}
 			}
@@ -8517,7 +8751,7 @@
 			"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
 			"dev": true,
 			"requires": {
-				"pinkie": "^2.0.0"
+				"pinkie": "2.0.4"
 			}
 		},
 		"pkg-dir": {
@@ -8526,7 +8760,7 @@
 			"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
 			"dev": true,
 			"requires": {
-				"find-up": "^2.1.0"
+				"find-up": "2.1.0"
 			},
 			"dependencies": {
 				"find-up": {
@@ -8535,7 +8769,7 @@
 					"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
 					"dev": true,
 					"requires": {
-						"locate-path": "^2.0.0"
+						"locate-path": "2.0.0"
 					}
 				}
 			}
@@ -8546,9 +8780,9 @@
 			"integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=",
 			"dev": true,
 			"requires": {
-				"async": "^1.5.2",
-				"debug": "^2.2.0",
-				"mkdirp": "0.5.x"
+				"async": "1.5.2",
+				"debug": "2.6.9",
+				"mkdirp": "0.5.1"
 			},
 			"dependencies": {
 				"async": {
@@ -8571,10 +8805,10 @@
 			"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.1.3",
-				"js-base64": "^2.1.9",
-				"source-map": "^0.5.6",
-				"supports-color": "^3.2.3"
+				"chalk": "1.1.3",
+				"js-base64": "2.4.3",
+				"source-map": "0.5.7",
+				"supports-color": "3.2.3"
 			}
 		},
 		"postcss-value-parser": {
@@ -8601,7 +8835,7 @@
 			"integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
 			"dev": true,
 			"requires": {
-				"number-is-nan": "^1.0.0"
+				"number-is-nan": "1.0.1"
 			}
 		},
 		"process": {
@@ -8622,13 +8856,19 @@
 			"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
 			"dev": true
 		},
+		"promise-inflight": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+			"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+			"dev": true
+		},
 		"proxy-addr": {
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
 			"integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==",
 			"dev": true,
 			"requires": {
-				"forwarded": "~0.1.2",
+				"forwarded": "0.1.2",
 				"ipaddr.js": "1.6.0"
 			}
 		},
@@ -8650,11 +8890,46 @@
 			"integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
 			"dev": true,
 			"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"
+				"bn.js": "4.11.8",
+				"browserify-rsa": "4.0.1",
+				"create-hash": "1.1.3",
+				"parse-asn1": "5.1.0",
+				"randombytes": "2.0.6"
+			}
+		},
+		"pump": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+			"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+			"dev": true,
+			"requires": {
+				"end-of-stream": "1.4.1",
+				"once": "1.4.0"
+			}
+		},
+		"pumpify": {
+			"version": "1.5.1",
+			"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+			"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+			"dev": true,
+			"requires": {
+				"duplexify": "3.6.0",
+				"inherits": "2.0.3",
+				"pump": "2.0.1"
+			},
+			"dependencies": {
+				"duplexify": {
+					"version": "3.6.0",
+					"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+					"integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
+					"dev": true,
+					"requires": {
+						"end-of-stream": "1.4.1",
+						"inherits": "2.0.3",
+						"readable-stream": "2.3.5",
+						"stream-shift": "1.0.0"
+					}
+				}
 			}
 		},
 		"punycode": {
@@ -8700,8 +8975,8 @@
 			"integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
 			"dev": true,
 			"requires": {
-				"is-number": "^3.0.0",
-				"kind-of": "^4.0.0"
+				"is-number": "3.0.0",
+				"kind-of": "4.0.0"
 			},
 			"dependencies": {
 				"is-number": {
@@ -8710,7 +8985,7 @@
 					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -8719,7 +8994,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -8730,7 +9005,7 @@
 					"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
 					"dev": true,
 					"requires": {
-						"is-buffer": "^1.1.5"
+						"is-buffer": "1.1.6"
 					}
 				}
 			}
@@ -8741,7 +9016,7 @@
 			"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
 			"dev": true,
 			"requires": {
-				"safe-buffer": "^5.1.0"
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"randomfill": {
@@ -8750,8 +9025,8 @@
 			"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
 			"dev": true,
 			"requires": {
-				"randombytes": "^2.0.5",
-				"safe-buffer": "^5.1.0"
+				"randombytes": "2.0.6",
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"range-parser": {
@@ -8791,10 +9066,10 @@
 			"integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=",
 			"dev": true,
 			"requires": {
-				"deep-extend": "~0.4.0",
-				"ini": "~1.3.0",
-				"minimist": "^1.2.0",
-				"strip-json-comments": "~2.0.1"
+				"deep-extend": "0.4.2",
+				"ini": "1.3.5",
+				"minimist": "1.2.0",
+				"strip-json-comments": "2.0.1"
 			}
 		},
 		"read-all-stream": {
@@ -8803,8 +9078,8 @@
 			"integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
 			"dev": true,
 			"requires": {
-				"pinkie-promise": "^2.0.0",
-				"readable-stream": "^2.0.0"
+				"pinkie-promise": "2.0.1",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"read-pkg": {
@@ -8813,9 +9088,9 @@
 			"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
 			"dev": true,
 			"requires": {
-				"load-json-file": "^1.0.0",
-				"normalize-package-data": "^2.3.2",
-				"path-type": "^1.0.0"
+				"load-json-file": "1.1.0",
+				"normalize-package-data": "2.4.0",
+				"path-type": "1.1.0"
 			}
 		},
 		"read-pkg-up": {
@@ -8824,8 +9099,8 @@
 			"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
 			"dev": true,
 			"requires": {
-				"find-up": "^1.0.0",
-				"read-pkg": "^1.0.0"
+				"find-up": "1.1.2",
+				"read-pkg": "1.1.0"
 			}
 		},
 		"readable-stream": {
@@ -8834,13 +9109,13 @@
 			"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
 			"dev": true,
 			"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.0.3",
-				"util-deprecate": "~1.0.1"
+				"core-util-is": "1.0.2",
+				"inherits": "2.0.3",
+				"isarray": "1.0.0",
+				"process-nextick-args": "2.0.0",
+				"safe-buffer": "5.1.1",
+				"string_decoder": "1.0.3",
+				"util-deprecate": "1.0.2"
 			}
 		},
 		"readdirp": {
@@ -8849,10 +9124,10 @@
 			"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "^4.1.2",
-				"minimatch": "^3.0.2",
-				"readable-stream": "^2.0.2",
-				"set-immediate-shim": "^1.0.1"
+				"graceful-fs": "4.1.11",
+				"minimatch": "3.0.4",
+				"readable-stream": "2.3.5",
+				"set-immediate-shim": "1.0.1"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -8867,7 +9142,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -8878,8 +9153,8 @@
 			"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
 			"dev": true,
 			"requires": {
-				"indent-string": "^2.1.0",
-				"strip-indent": "^1.0.1"
+				"indent-string": "2.1.0",
+				"strip-indent": "1.0.1"
 			}
 		},
 		"regex-cache": {
@@ -8888,7 +9163,7 @@
 			"integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
 			"dev": true,
 			"requires": {
-				"is-equal-shallow": "^0.1.3"
+				"is-equal-shallow": "0.1.3"
 			}
 		},
 		"regex-not": {
@@ -8897,8 +9172,8 @@
 			"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
 			"dev": true,
 			"requires": {
-				"extend-shallow": "^3.0.2",
-				"safe-regex": "^1.1.0"
+				"extend-shallow": "3.0.2",
+				"safe-regex": "1.1.0"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -8907,8 +9182,8 @@
 					"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
 					"dev": true,
 					"requires": {
-						"assign-symbols": "^1.0.0",
-						"is-extendable": "^1.0.1"
+						"assign-symbols": "1.0.0",
+						"is-extendable": "1.0.1"
 					}
 				},
 				"is-extendable": {
@@ -8917,7 +9192,7 @@
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"dev": true,
 					"requires": {
-						"is-plain-object": "^2.0.4"
+						"is-plain-object": "2.0.4"
 					}
 				}
 			}
@@ -8946,7 +9221,7 @@
 			"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
 			"dev": true,
 			"requires": {
-				"is-finite": "^1.0.0"
+				"is-finite": "1.0.2"
 			}
 		},
 		"replace-ext": {
@@ -8961,28 +9236,28 @@
 			"integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
 			"dev": true,
 			"requires": {
-				"aws-sign2": "~0.7.0",
-				"aws4": "^1.6.0",
-				"caseless": "~0.12.0",
-				"combined-stream": "~1.0.5",
-				"extend": "~3.0.1",
-				"forever-agent": "~0.6.1",
-				"form-data": "~2.3.1",
-				"har-validator": "~5.0.3",
-				"hawk": "~6.0.2",
-				"http-signature": "~1.2.0",
-				"is-typedarray": "~1.0.0",
-				"isstream": "~0.1.2",
-				"json-stringify-safe": "~5.0.1",
-				"mime-types": "~2.1.17",
-				"oauth-sign": "~0.8.2",
-				"performance-now": "^2.1.0",
-				"qs": "~6.5.1",
-				"safe-buffer": "^5.1.1",
-				"stringstream": "~0.0.5",
-				"tough-cookie": "~2.3.3",
-				"tunnel-agent": "^0.6.0",
-				"uuid": "^3.1.0"
+				"aws-sign2": "0.7.0",
+				"aws4": "1.6.0",
+				"caseless": "0.12.0",
+				"combined-stream": "1.0.6",
+				"extend": "3.0.1",
+				"forever-agent": "0.6.1",
+				"form-data": "2.3.2",
+				"har-validator": "5.0.3",
+				"hawk": "6.0.2",
+				"http-signature": "1.2.0",
+				"is-typedarray": "1.0.0",
+				"isstream": "0.1.2",
+				"json-stringify-safe": "5.0.1",
+				"mime-types": "2.1.18",
+				"oauth-sign": "0.8.2",
+				"performance-now": "2.1.0",
+				"qs": "6.5.1",
+				"safe-buffer": "5.1.1",
+				"stringstream": "0.0.5",
+				"tough-cookie": "2.3.4",
+				"tunnel-agent": "0.6.0",
+				"uuid": "3.2.1"
 			},
 			"dependencies": {
 				"tunnel-agent": {
@@ -8991,7 +9266,7 @@
 					"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
 					"dev": true,
 					"requires": {
-						"safe-buffer": "^5.0.1"
+						"safe-buffer": "5.1.1"
 					}
 				},
 				"uuid": {
@@ -9008,7 +9283,7 @@
 			"integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
 			"dev": true,
 			"requires": {
-				"throttleit": "^1.0.0"
+				"throttleit": "1.0.0"
 			}
 		},
 		"require-directory": {
@@ -9035,7 +9310,7 @@
 			"integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
 			"dev": true,
 			"requires": {
-				"underscore": "~1.6.0"
+				"underscore": "1.6.0"
 			},
 			"dependencies": {
 				"underscore": {
@@ -9058,7 +9333,7 @@
 			"integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
 			"dev": true,
 			"requires": {
-				"resolve-from": "^3.0.0"
+				"resolve-from": "3.0.0"
 			}
 		},
 		"resolve-from": {
@@ -9079,8 +9354,8 @@
 			"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
 			"dev": true,
 			"requires": {
-				"onetime": "^2.0.0",
-				"signal-exit": "^3.0.2"
+				"onetime": "2.0.1",
+				"signal-exit": "3.0.2"
 			},
 			"dependencies": {
 				"onetime": {
@@ -9089,7 +9364,7 @@
 					"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
 					"dev": true,
 					"requires": {
-						"mimic-fn": "^1.0.0"
+						"mimic-fn": "1.2.0"
 					}
 				}
 			}
@@ -9106,7 +9381,7 @@
 			"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
 			"dev": true,
 			"requires": {
-				"align-text": "^0.1.1"
+				"align-text": "0.1.4"
 			}
 		},
 		"rimraf": {
@@ -9121,8 +9396,8 @@
 			"integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
 			"dev": true,
 			"requires": {
-				"hash-base": "^2.0.0",
-				"inherits": "^2.0.1"
+				"hash-base": "2.0.2",
+				"inherits": "2.0.3"
 			}
 		},
 		"rtlcss": {
@@ -9131,11 +9406,11 @@
 			"integrity": "sha512-JjQ5DlrmwiItAjlmhoxrJq5ihgZcE0wMFxt7S17bIrt4Lw0WwKKFk+viRhvodB/0falyG/5fiO043ZDh6/aqTw==",
 			"dev": true,
 			"requires": {
-				"chalk": "^2.3.0",
-				"findup": "^0.1.5",
-				"mkdirp": "^0.5.1",
-				"postcss": "^6.0.14",
-				"strip-json-comments": "^2.0.0"
+				"chalk": "2.3.2",
+				"findup": "0.1.5",
+				"mkdirp": "0.5.1",
+				"postcss": "6.0.19",
+				"strip-json-comments": "2.0.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -9144,7 +9419,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "^1.9.0"
+						"color-convert": "1.9.1"
 					}
 				},
 				"chalk": {
@@ -9153,9 +9428,9 @@
 					"integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
+						"ansi-styles": "3.2.1",
+						"escape-string-regexp": "1.0.5",
+						"supports-color": "5.3.0"
 					}
 				},
 				"has-flag": {
@@ -9170,9 +9445,9 @@
 					"integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==",
 					"dev": true,
 					"requires": {
-						"chalk": "^2.3.1",
-						"source-map": "^0.6.1",
-						"supports-color": "^5.2.0"
+						"chalk": "2.3.2",
+						"source-map": "0.6.1",
+						"supports-color": "5.3.0"
 					}
 				},
 				"source-map": {
@@ -9187,7 +9462,7 @@
 					"integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"has-flag": "3.0.0"
 					}
 				}
 			}
@@ -9198,7 +9473,7 @@
 			"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
 			"dev": true,
 			"requires": {
-				"is-promise": "^2.1.0"
+				"is-promise": "2.1.0"
 			}
 		},
 		"run-parallel": {
@@ -9207,6 +9482,15 @@
 			"integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
 			"dev": true
 		},
+		"run-queue": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+			"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+			"dev": true,
+			"requires": {
+				"aproba": "1.2.0"
+			}
+		},
 		"rxjs": {
 			"version": "5.5.10",
 			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.10.tgz",
@@ -9228,7 +9512,7 @@
 			"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
 			"dev": true,
 			"requires": {
-				"ret": "~0.1.10"
+				"ret": "0.1.15"
 			}
 		},
 		"safer-buffer": {
@@ -9243,16 +9527,16 @@
 			"integrity": "sha512-52ThA+Z7h6BnvpSVbURwChl10XZrps5q7ytjTwWcIe9bmJwnVP6cpEVK2NvDOUhGupoqAvNbUz3cpnJDp4+/pg==",
 			"dev": true,
 			"requires": {
-				"chalk": "^2.3.0",
-				"htmlparser2": "^3.9.0",
-				"lodash.clonedeep": "^4.5.0",
-				"lodash.escaperegexp": "^4.1.2",
-				"lodash.isplainobject": "^4.0.6",
-				"lodash.isstring": "^4.0.1",
-				"lodash.mergewith": "^4.6.0",
-				"postcss": "^6.0.14",
-				"srcset": "^1.0.0",
-				"xtend": "^4.0.0"
+				"chalk": "2.3.2",
+				"htmlparser2": "3.9.2",
+				"lodash.clonedeep": "4.5.0",
+				"lodash.escaperegexp": "4.1.2",
+				"lodash.isplainobject": "4.0.6",
+				"lodash.isstring": "4.0.1",
+				"lodash.mergewith": "4.6.1",
+				"postcss": "6.0.19",
+				"srcset": "1.0.0",
+				"xtend": "4.0.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -9261,7 +9545,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "^1.9.0"
+						"color-convert": "1.9.1"
 					}
 				},
 				"chalk": {
@@ -9270,9 +9554,9 @@
 					"integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
+						"ansi-styles": "3.2.1",
+						"escape-string-regexp": "1.0.5",
+						"supports-color": "5.3.0"
 					}
 				},
 				"entities": {
@@ -9293,12 +9577,12 @@
 					"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
 					"dev": true,
 					"requires": {
-						"domelementtype": "^1.3.0",
-						"domhandler": "^2.3.0",
-						"domutils": "^1.5.1",
-						"entities": "^1.1.1",
-						"inherits": "^2.0.1",
-						"readable-stream": "^2.0.2"
+						"domelementtype": "1.3.0",
+						"domhandler": "2.3.0",
+						"domutils": "1.5.1",
+						"entities": "1.1.1",
+						"inherits": "2.0.3",
+						"readable-stream": "2.3.5"
 					}
 				},
 				"postcss": {
@@ -9307,9 +9591,9 @@
 					"integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==",
 					"dev": true,
 					"requires": {
-						"chalk": "^2.3.1",
-						"source-map": "^0.6.1",
-						"supports-color": "^5.2.0"
+						"chalk": "2.3.2",
+						"source-map": "0.6.1",
+						"supports-color": "5.3.0"
 					}
 				},
 				"source-map": {
@@ -9324,7 +9608,7 @@
 					"integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"has-flag": "3.0.0"
 					}
 				}
 			}
@@ -9335,10 +9619,10 @@
 			"integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
 			"dev": true,
 			"requires": {
-				"glob": "^7.0.0",
-				"lodash": "^4.0.0",
-				"scss-tokenizer": "^0.2.3",
-				"yargs": "^7.0.0"
+				"glob": "7.1.2",
+				"lodash": "4.17.5",
+				"scss-tokenizer": "0.2.3",
+				"yargs": "7.1.0"
 			},
 			"dependencies": {
 				"camelcase": {
@@ -9353,9 +9637,9 @@
 					"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
 					"dev": true,
 					"requires": {
-						"string-width": "^1.0.1",
-						"strip-ansi": "^3.0.1",
-						"wrap-ansi": "^2.0.0"
+						"string-width": "1.0.2",
+						"strip-ansi": "3.0.1",
+						"wrap-ansi": "2.1.0"
 					}
 				},
 				"glob": {
@@ -9364,12 +9648,12 @@
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"dev": 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"
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"lodash": {
@@ -9384,7 +9668,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				},
 				"yargs": {
@@ -9393,19 +9677,19 @@
 					"integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
 					"dev": true,
 					"requires": {
-						"camelcase": "^3.0.0",
-						"cliui": "^3.2.0",
-						"decamelize": "^1.1.1",
-						"get-caller-file": "^1.0.1",
-						"os-locale": "^1.4.0",
-						"read-pkg-up": "^1.0.1",
-						"require-directory": "^2.1.1",
-						"require-main-filename": "^1.0.1",
-						"set-blocking": "^2.0.0",
-						"string-width": "^1.0.2",
-						"which-module": "^1.0.0",
-						"y18n": "^3.2.1",
-						"yargs-parser": "^5.0.0"
+						"camelcase": "3.0.0",
+						"cliui": "3.2.0",
+						"decamelize": "1.2.0",
+						"get-caller-file": "1.0.2",
+						"os-locale": "1.4.0",
+						"read-pkg-up": "1.0.1",
+						"require-directory": "2.1.1",
+						"require-main-filename": "1.0.1",
+						"set-blocking": "2.0.0",
+						"string-width": "1.0.2",
+						"which-module": "1.0.0",
+						"y18n": "3.2.1",
+						"yargs-parser": "5.0.0"
 					}
 				}
 			}
@@ -9416,14 +9700,50 @@
 			"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
 			"dev": true
 		},
+		"schema-utils": {
+			"version": "0.4.5",
+			"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz",
+			"integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==",
+			"dev": true,
+			"requires": {
+				"ajv": "6.5.1",
+				"ajv-keywords": "3.1.0"
+			},
+			"dependencies": {
+				"ajv": {
+					"version": "6.5.1",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz",
+					"integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==",
+					"dev": true,
+					"requires": {
+						"fast-deep-equal": "2.0.1",
+						"fast-json-stable-stringify": "2.0.0",
+						"json-schema-traverse": "0.4.1",
+						"uri-js": "4.2.2"
+					}
+				},
+				"fast-deep-equal": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+					"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+					"dev": true
+				},
+				"json-schema-traverse": {
+					"version": "0.4.1",
+					"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+					"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+					"dev": true
+				}
+			}
+		},
 		"scss-tokenizer": {
 			"version": "0.2.3",
 			"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
 			"integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
 			"dev": true,
 			"requires": {
-				"js-base64": "^2.1.8",
-				"source-map": "^0.4.2"
+				"js-base64": "2.4.3",
+				"source-map": "0.4.4"
 			},
 			"dependencies": {
 				"source-map": {
@@ -9432,7 +9752,7 @@
 					"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
 					"dev": true,
 					"requires": {
-						"amdefine": ">=0.0.4"
+						"amdefine": "1.0.1"
 					}
 				}
 			}
@@ -9443,7 +9763,7 @@
 			"integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
 			"dev": true,
 			"requires": {
-				"commander": "~2.8.1"
+				"commander": "2.8.1"
 			}
 		},
 		"select-hose": {
@@ -9481,7 +9801,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"semver": "^5.3.0"
+				"semver": "5.5.0"
 			}
 		},
 		"send": {
@@ -9491,18 +9811,18 @@
 			"dev": true,
 			"requires": {
 				"debug": "2.6.9",
-				"depd": "~1.1.1",
-				"destroy": "~1.0.4",
-				"encodeurl": "~1.0.1",
-				"escape-html": "~1.0.3",
-				"etag": "~1.8.1",
+				"depd": "1.1.2",
+				"destroy": "1.0.4",
+				"encodeurl": "1.0.2",
+				"escape-html": "1.0.3",
+				"etag": "1.8.1",
 				"fresh": "0.5.2",
-				"http-errors": "~1.6.2",
+				"http-errors": "1.6.2",
 				"mime": "1.4.1",
 				"ms": "2.0.0",
-				"on-finished": "~2.3.0",
-				"range-parser": "~1.2.0",
-				"statuses": "~1.3.1"
+				"on-finished": "2.3.0",
+				"range-parser": "1.2.0",
+				"statuses": "1.3.1"
 			},
 			"dependencies": {
 				"http-errors": {
@@ -9514,7 +9834,7 @@
 						"depd": "1.1.1",
 						"inherits": "2.0.3",
 						"setprototypeof": "1.0.3",
-						"statuses": ">= 1.3.1 < 2"
+						"statuses": "1.3.1"
 					},
 					"dependencies": {
 						"depd": {
@@ -9539,19 +9859,25 @@
 				}
 			}
 		},
+		"serialize-javascript": {
+			"version": "1.5.0",
+			"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
+			"integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
+			"dev": true
+		},
 		"serve-index": {
 			"version": "1.9.1",
 			"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
 			"integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
 			"dev": true,
 			"requires": {
-				"accepts": "~1.3.4",
+				"accepts": "1.3.5",
 				"batch": "0.6.1",
 				"debug": "2.6.9",
-				"escape-html": "~1.0.3",
-				"http-errors": "~1.6.2",
-				"mime-types": "~2.1.17",
-				"parseurl": "~1.3.2"
+				"escape-html": "1.0.3",
+				"http-errors": "1.6.2",
+				"mime-types": "2.1.18",
+				"parseurl": "1.3.2"
 			},
 			"dependencies": {
 				"depd": {
@@ -9569,7 +9895,7 @@
 						"depd": "1.1.1",
 						"inherits": "2.0.3",
 						"setprototypeof": "1.0.3",
-						"statuses": ">= 1.3.1 < 2"
+						"statuses": "1.4.0"
 					}
 				},
 				"setprototypeof": {
@@ -9586,9 +9912,9 @@
 			"integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==",
 			"dev": true,
 			"requires": {
-				"encodeurl": "~1.0.1",
-				"escape-html": "~1.0.3",
-				"parseurl": "~1.3.2",
+				"encodeurl": "1.0.2",
+				"escape-html": "1.0.3",
+				"parseurl": "1.3.2",
 				"send": "0.16.1"
 			}
 		},
@@ -9604,7 +9930,7 @@
 			"integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
 			"dev": true,
 			"requires": {
-				"to-object-path": "^0.3.0"
+				"to-object-path": "0.3.0"
 			}
 		},
 		"set-immediate-shim": {
@@ -9619,10 +9945,10 @@
 			"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
 			"dev": true,
 			"requires": {
-				"extend-shallow": "^2.0.1",
-				"is-extendable": "^0.1.1",
-				"is-plain-object": "^2.0.3",
-				"split-string": "^3.0.1"
+				"extend-shallow": "2.0.1",
+				"is-extendable": "0.1.1",
+				"is-plain-object": "2.0.4",
+				"split-string": "3.1.0"
 			}
 		},
 		"setimmediate": {
@@ -9643,8 +9969,8 @@
 			"integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==",
 			"dev": true,
 			"requires": {
-				"inherits": "^2.0.1",
-				"safe-buffer": "^5.0.1"
+				"inherits": "2.0.3",
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"shebang-command": {
@@ -9653,7 +9979,7 @@
 			"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
 			"dev": true,
 			"requires": {
-				"shebang-regex": "^1.0.0"
+				"shebang-regex": "1.0.0"
 			}
 		},
 		"shebang-regex": {
@@ -9674,20 +10000,26 @@
 			"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
 			"dev": true
 		},
+		"slash": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+			"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+			"dev": true
+		},
 		"snapdragon": {
 			"version": "0.8.1",
 			"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
 			"integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=",
 			"dev": true,
 			"requires": {
-				"base": "^0.11.1",
-				"debug": "^2.2.0",
-				"define-property": "^0.2.5",
-				"extend-shallow": "^2.0.1",
-				"map-cache": "^0.2.2",
-				"source-map": "^0.5.6",
-				"source-map-resolve": "^0.5.0",
-				"use": "^2.0.0"
+				"base": "0.11.2",
+				"debug": "2.6.9",
+				"define-property": "0.2.5",
+				"extend-shallow": "2.0.1",
+				"map-cache": "0.2.2",
+				"source-map": "0.5.7",
+				"source-map-resolve": "0.5.1",
+				"use": "2.0.2"
 			},
 			"dependencies": {
 				"define-property": {
@@ -9696,7 +10028,7 @@
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^0.1.0"
+						"is-descriptor": "0.1.6"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -9705,7 +10037,7 @@
 					"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -9714,7 +10046,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -9725,7 +10057,7 @@
 					"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -9734,7 +10066,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -9745,9 +10077,9 @@
 					"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 					"dev": true,
 					"requires": {
-						"is-accessor-descriptor": "^0.1.6",
-						"is-data-descriptor": "^0.1.4",
-						"kind-of": "^5.0.0"
+						"is-accessor-descriptor": "0.1.6",
+						"is-data-descriptor": "0.1.4",
+						"kind-of": "5.1.0"
 					}
 				},
 				"kind-of": {
@@ -9764,9 +10096,9 @@
 			"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
 			"dev": true,
 			"requires": {
-				"define-property": "^1.0.0",
-				"isobject": "^3.0.0",
-				"snapdragon-util": "^3.0.1"
+				"define-property": "1.0.0",
+				"isobject": "3.0.1",
+				"snapdragon-util": "3.0.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -9775,7 +10107,7 @@
 					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^1.0.0"
+						"is-descriptor": "1.0.2"
 					}
 				},
 				"isobject": {
@@ -9792,7 +10124,7 @@
 			"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
 			"dev": true,
 			"requires": {
-				"kind-of": "^3.2.0"
+				"kind-of": "3.2.2"
 			}
 		},
 		"sntp": {
@@ -9801,7 +10133,7 @@
 			"integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
 			"dev": true,
 			"requires": {
-				"hoek": "4.x.x"
+				"hoek": "4.2.1"
 			}
 		},
 		"sockjs": {
@@ -9810,8 +10142,8 @@
 			"integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
 			"dev": true,
 			"requires": {
-				"faye-websocket": "^0.10.0",
-				"uuid": "^3.0.1"
+				"faye-websocket": "0.10.0",
+				"uuid": "3.2.1"
 			},
 			"dependencies": {
 				"uuid": {
@@ -9828,12 +10160,12 @@
 			"integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=",
 			"dev": true,
 			"requires": {
-				"debug": "^2.6.6",
+				"debug": "2.6.9",
 				"eventsource": "0.1.6",
-				"faye-websocket": "~0.11.0",
-				"inherits": "^2.0.1",
-				"json3": "^3.3.2",
-				"url-parse": "^1.1.8"
+				"faye-websocket": "0.11.1",
+				"inherits": "2.0.3",
+				"json3": "3.3.2",
+				"url-parse": "1.2.0"
 			},
 			"dependencies": {
 				"faye-websocket": {
@@ -9842,7 +10174,7 @@
 					"integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
 					"dev": true,
 					"requires": {
-						"websocket-driver": ">=0.5.1"
+						"websocket-driver": "0.7.0"
 					}
 				}
 			}
@@ -9865,11 +10197,11 @@
 			"integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
 			"dev": true,
 			"requires": {
-				"atob": "^2.0.0",
-				"decode-uri-component": "^0.2.0",
-				"resolve-url": "^0.2.1",
-				"source-map-url": "^0.4.0",
-				"urix": "^0.1.0"
+				"atob": "2.0.3",
+				"decode-uri-component": "0.2.0",
+				"resolve-url": "0.2.1",
+				"source-map-url": "0.4.0",
+				"urix": "0.1.0"
 			}
 		},
 		"source-map-url": {
@@ -9890,8 +10222,8 @@
 			"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
 			"dev": true,
 			"requires": {
-				"spdx-expression-parse": "^3.0.0",
-				"spdx-license-ids": "^3.0.0"
+				"spdx-expression-parse": "3.0.0",
+				"spdx-license-ids": "3.0.0"
 			}
 		},
 		"spdx-exceptions": {
@@ -9906,8 +10238,8 @@
 			"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
 			"dev": true,
 			"requires": {
-				"spdx-exceptions": "^2.1.0",
-				"spdx-license-ids": "^3.0.0"
+				"spdx-exceptions": "2.1.0",
+				"spdx-license-ids": "3.0.0"
 			}
 		},
 		"spdx-license-ids": {
@@ -9922,12 +10254,12 @@
 			"integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
 			"dev": true,
 			"requires": {
-				"debug": "^2.6.8",
-				"handle-thing": "^1.2.5",
-				"http-deceiver": "^1.2.7",
-				"safe-buffer": "^5.0.1",
-				"select-hose": "^2.0.0",
-				"spdy-transport": "^2.0.18"
+				"debug": "2.6.9",
+				"handle-thing": "1.2.5",
+				"http-deceiver": "1.2.7",
+				"safe-buffer": "5.1.1",
+				"select-hose": "2.0.0",
+				"spdy-transport": "2.0.20"
 			}
 		},
 		"spdy-transport": {
@@ -9936,13 +10268,13 @@
 			"integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=",
 			"dev": true,
 			"requires": {
-				"debug": "^2.6.8",
-				"detect-node": "^2.0.3",
-				"hpack.js": "^2.1.6",
-				"obuf": "^1.1.1",
-				"readable-stream": "^2.2.9",
-				"safe-buffer": "^5.0.1",
-				"wbuf": "^1.7.2"
+				"debug": "2.6.9",
+				"detect-node": "2.0.3",
+				"hpack.js": "2.1.6",
+				"obuf": "1.1.1",
+				"readable-stream": "2.3.5",
+				"safe-buffer": "5.1.1",
+				"wbuf": "1.7.2"
 			}
 		},
 		"split-string": {
@@ -9951,7 +10283,7 @@
 			"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
 			"dev": true,
 			"requires": {
-				"extend-shallow": "^3.0.0"
+				"extend-shallow": "3.0.2"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -9960,8 +10292,8 @@
 					"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
 					"dev": true,
 					"requires": {
-						"assign-symbols": "^1.0.0",
-						"is-extendable": "^1.0.1"
+						"assign-symbols": "1.0.0",
+						"is-extendable": "1.0.1"
 					}
 				},
 				"is-extendable": {
@@ -9970,7 +10302,28 @@
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"dev": true,
 					"requires": {
-						"is-plain-object": "^2.0.4"
+						"is-plain-object": "2.0.4"
+					}
+				}
+			}
+		},
+		"split2": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/split2/-/split2-1.1.1.tgz",
+			"integrity": "sha1-Fi2bGIZfAqsvKtlYVSLbm1TEgfk=",
+			"dev": true,
+			"requires": {
+				"through2": "2.0.3"
+			},
+			"dependencies": {
+				"through2": {
+					"version": "2.0.3",
+					"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+					"dev": true,
+					"requires": {
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -9988,9 +10341,9 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"chalk": "^1.0.0",
-				"console-stream": "^0.1.1",
-				"lpad-align": "^1.0.1"
+				"chalk": "1.1.3",
+				"console-stream": "0.1.1",
+				"lpad-align": "1.1.2"
 			}
 		},
 		"srcset": {
@@ -9999,8 +10352,8 @@
 			"integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=",
 			"dev": true,
 			"requires": {
-				"array-uniq": "^1.0.2",
-				"number-is-nan": "^1.0.0"
+				"array-uniq": "1.0.3",
+				"number-is-nan": "1.0.1"
 			}
 		},
 		"sshpk": {
@@ -10009,14 +10362,23 @@
 			"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
 			"dev": true,
 			"requires": {
-				"asn1": "~0.2.3",
-				"assert-plus": "^1.0.0",
-				"bcrypt-pbkdf": "^1.0.0",
-				"dashdash": "^1.12.0",
-				"ecc-jsbn": "~0.1.1",
-				"getpass": "^0.1.1",
-				"jsbn": "~0.1.0",
-				"tweetnacl": "~0.14.0"
+				"asn1": "0.2.3",
+				"assert-plus": "1.0.0",
+				"bcrypt-pbkdf": "1.0.1",
+				"dashdash": "1.14.1",
+				"ecc-jsbn": "0.1.1",
+				"getpass": "0.1.7",
+				"jsbn": "0.1.1",
+				"tweetnacl": "0.14.5"
+			}
+		},
+		"ssri": {
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
+			"integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"stack-trace": {
@@ -10037,8 +10399,8 @@
 			"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
 			"dev": true,
 			"requires": {
-				"define-property": "^0.2.5",
-				"object-copy": "^0.1.0"
+				"define-property": "0.2.5",
+				"object-copy": "0.1.0"
 			},
 			"dependencies": {
 				"define-property": {
@@ -10047,7 +10409,7 @@
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^0.1.0"
+						"is-descriptor": "0.1.6"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -10056,7 +10418,7 @@
 					"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -10065,7 +10427,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -10076,7 +10438,7 @@
 					"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -10085,7 +10447,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -10096,9 +10458,9 @@
 					"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 					"dev": true,
 					"requires": {
-						"is-accessor-descriptor": "^0.1.6",
-						"is-data-descriptor": "^0.1.4",
-						"kind-of": "^5.0.0"
+						"is-accessor-descriptor": "0.1.6",
+						"is-data-descriptor": "0.1.4",
+						"kind-of": "5.1.0"
 					}
 				},
 				"kind-of": {
@@ -10121,7 +10483,7 @@
 			"integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
 			"dev": true,
 			"requires": {
-				"readable-stream": "^2.0.1"
+				"readable-stream": "2.3.5"
 			}
 		},
 		"stream-browserify": {
@@ -10130,24 +10492,28 @@
 			"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
 			"dev": true,
 			"requires": {
-				"inherits": "~2.0.1",
-				"readable-stream": "^2.0.2"
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5"
 			}
 		},
-		"stream-buffers": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
-			"integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=",
-			"dev": true
-		},
 		"stream-combiner2": {
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
 			"integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
 			"dev": true,
 			"requires": {
-				"duplexer2": "~0.1.0",
-				"readable-stream": "^2.0.2"
+				"duplexer2": "0.1.4",
+				"readable-stream": "2.3.5"
+			}
+		},
+		"stream-each": {
+			"version": "1.2.2",
+			"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz",
+			"integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==",
+			"dev": true,
+			"requires": {
+				"end-of-stream": "1.4.1",
+				"stream-shift": "1.0.0"
 			}
 		},
 		"stream-http": {
@@ -10156,11 +10522,11 @@
 			"integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==",
 			"dev": true,
 			"requires": {
-				"builtin-status-codes": "^3.0.0",
-				"inherits": "^2.0.1",
-				"readable-stream": "^2.3.3",
-				"to-arraybuffer": "^1.0.0",
-				"xtend": "^4.0.0"
+				"builtin-status-codes": "3.0.0",
+				"inherits": "2.0.3",
+				"readable-stream": "2.3.5",
+				"to-arraybuffer": "1.0.1",
+				"xtend": "4.0.1"
 			}
 		},
 		"stream-shift": {
@@ -10175,9 +10541,9 @@
 			"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
 			"dev": true,
 			"requires": {
-				"code-point-at": "^1.0.0",
-				"is-fullwidth-code-point": "^1.0.0",
-				"strip-ansi": "^3.0.0"
+				"code-point-at": "1.1.0",
+				"is-fullwidth-code-point": "1.0.0",
+				"strip-ansi": "3.0.1"
 			}
 		},
 		"string_decoder": {
@@ -10186,7 +10552,7 @@
 			"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
 			"dev": true,
 			"requires": {
-				"safe-buffer": "~5.1.0"
+				"safe-buffer": "5.1.1"
 			}
 		},
 		"stringstream": {
@@ -10201,7 +10567,7 @@
 			"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
 			"dev": true,
 			"requires": {
-				"ansi-regex": "^2.0.0"
+				"ansi-regex": "2.1.1"
 			}
 		},
 		"strip-bom": {
@@ -10210,7 +10576,7 @@
 			"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
 			"dev": true,
 			"requires": {
-				"is-utf8": "^0.2.0"
+				"is-utf8": "0.2.1"
 			}
 		},
 		"strip-bom-stream": {
@@ -10219,8 +10585,8 @@
 			"integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
 			"dev": true,
 			"requires": {
-				"first-chunk-stream": "^1.0.0",
-				"strip-bom": "^2.0.0"
+				"first-chunk-stream": "1.0.0",
+				"strip-bom": "2.0.0"
 			}
 		},
 		"strip-dirs": {
@@ -10229,12 +10595,12 @@
 			"integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.0.0",
-				"get-stdin": "^4.0.1",
-				"is-absolute": "^0.1.5",
-				"is-natural-number": "^2.0.0",
-				"minimist": "^1.1.0",
-				"sum-up": "^1.0.1"
+				"chalk": "1.1.3",
+				"get-stdin": "4.0.1",
+				"is-absolute": "0.1.7",
+				"is-natural-number": "2.1.1",
+				"minimist": "1.2.0",
+				"sum-up": "1.0.3"
 			}
 		},
 		"strip-eof": {
@@ -10249,7 +10615,7 @@
 			"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
 			"dev": true,
 			"requires": {
-				"get-stdin": "^4.0.1"
+				"get-stdin": "4.0.1"
 			}
 		},
 		"strip-json-comments": {
@@ -10264,7 +10630,7 @@
 			"integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=",
 			"dev": true,
 			"requires": {
-				"escape-string-regexp": "^1.0.2"
+				"escape-string-regexp": "1.0.5"
 			}
 		},
 		"sum-up": {
@@ -10273,7 +10639,7 @@
 			"integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
 			"dev": true,
 			"requires": {
-				"chalk": "^1.0.0"
+				"chalk": "1.1.3"
 			}
 		},
 		"supports-color": {
@@ -10282,7 +10648,7 @@
 			"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
 			"dev": true,
 			"requires": {
-				"has-flag": "^1.0.0"
+				"has-flag": "1.0.0"
 			}
 		},
 		"svgo": {
@@ -10292,13 +10658,13 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"coa": "~1.0.1",
-				"colors": "~1.1.2",
-				"csso": "~2.0.0",
-				"js-yaml": "~3.6.0",
-				"mkdirp": "~0.5.1",
-				"sax": "~1.2.1",
-				"whet.extend": "~0.9.9"
+				"coa": "1.0.4",
+				"colors": "1.1.2",
+				"csso": "2.0.0",
+				"js-yaml": "3.6.1",
+				"mkdirp": "0.5.1",
+				"sax": "1.2.4",
+				"whet.extend": "0.9.9"
 			},
 			"dependencies": {
 				"argparse": {
@@ -10308,7 +10674,7 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"sprintf-js": "~1.0.2"
+						"sprintf-js": "1.0.3"
 					}
 				},
 				"colors": {
@@ -10332,8 +10698,8 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"argparse": "^1.0.7",
-						"esprima": "^2.6.0"
+						"argparse": "1.0.10",
+						"esprima": "2.7.3"
 					}
 				}
 			}
@@ -10362,9 +10728,9 @@
 			"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
 			"dev": true,
 			"requires": {
-				"block-stream": "*",
-				"fstream": "^1.0.2",
-				"inherits": "2"
+				"block-stream": "0.0.9",
+				"fstream": "1.0.11",
+				"inherits": "2.0.3"
 			}
 		},
 		"tar-stream": {
@@ -10373,10 +10739,10 @@
 			"integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
 			"dev": true,
 			"requires": {
-				"bl": "^1.0.0",
-				"end-of-stream": "^1.0.0",
-				"readable-stream": "^2.0.0",
-				"xtend": "^4.0.0"
+				"bl": "1.2.1",
+				"end-of-stream": "1.4.1",
+				"readable-stream": "2.3.5",
+				"xtend": "4.0.1"
 			}
 		},
 		"tempfile": {
@@ -10385,8 +10751,8 @@
 			"integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
 			"dev": true,
 			"requires": {
-				"os-tmpdir": "^1.0.0",
-				"uuid": "^2.0.1"
+				"os-tmpdir": "1.0.2",
+				"uuid": "2.0.3"
 			}
 		},
 		"temporary": {
@@ -10395,7 +10761,7 @@
 			"integrity": "sha1-oYqYHSi6jKNgJ/s8MFOMPst0CsA=",
 			"dev": true,
 			"requires": {
-				"package": ">= 1.0.0 < 1.2.0"
+				"package": "1.0.1"
 			}
 		},
 		"throttleit": {
@@ -10416,8 +10782,8 @@
 			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
 			"dev": true,
 			"requires": {
-				"readable-stream": ">=1.0.33-1 <1.1.0-0",
-				"xtend": ">=4.0.0 <4.1.0-0"
+				"readable-stream": "1.0.34",
+				"xtend": "4.0.1"
 			},
 			"dependencies": {
 				"isarray": {
@@ -10432,10 +10798,10 @@
 					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
 					"dev": true,
 					"requires": {
-						"core-util-is": "~1.0.0",
-						"inherits": "~2.0.1",
+						"core-util-is": "1.0.2",
+						"inherits": "2.0.3",
 						"isarray": "0.0.1",
-						"string_decoder": "~0.10.x"
+						"string_decoder": "0.10.31"
 					}
 				},
 				"string_decoder": {
@@ -10452,8 +10818,8 @@
 			"integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
 			"dev": true,
 			"requires": {
-				"through2": "~2.0.0",
-				"xtend": "~4.0.0"
+				"through2": "2.0.3",
+				"xtend": "4.0.1"
 			},
 			"dependencies": {
 				"through2": {
@@ -10462,8 +10828,8 @@
 					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -10492,7 +10858,7 @@
 			"integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==",
 			"dev": true,
 			"requires": {
-				"setimmediate": "^1.0.4"
+				"setimmediate": "1.0.5"
 			}
 		},
 		"tiny-lr": {
@@ -10501,12 +10867,12 @@
 			"integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
 			"dev": true,
 			"requires": {
-				"body-parser": "~1.14.0",
-				"debug": "~2.2.0",
-				"faye-websocket": "~0.10.0",
-				"livereload-js": "^2.2.0",
-				"parseurl": "~1.3.0",
-				"qs": "~5.1.0"
+				"body-parser": "1.14.2",
+				"debug": "2.2.0",
+				"faye-websocket": "0.10.0",
+				"livereload-js": "2.3.0",
+				"parseurl": "1.3.2",
+				"qs": "5.1.0"
 			},
 			"dependencies": {
 				"debug": {
@@ -10538,7 +10904,7 @@
 			"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
 			"dev": true,
 			"requires": {
-				"os-tmpdir": "~1.0.2"
+				"os-tmpdir": "1.0.2"
 			}
 		},
 		"to-absolute-glob": {
@@ -10547,7 +10913,7 @@
 			"integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
 			"dev": true,
 			"requires": {
-				"extend-shallow": "^2.0.1"
+				"extend-shallow": "2.0.1"
 			}
 		},
 		"to-arraybuffer": {
@@ -10562,7 +10928,7 @@
 			"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
 			"dev": true,
 			"requires": {
-				"kind-of": "^3.0.2"
+				"kind-of": "3.2.2"
 			}
 		},
 		"to-regex": {
@@ -10571,10 +10937,10 @@
 			"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
 			"dev": true,
 			"requires": {
-				"define-property": "^2.0.2",
-				"extend-shallow": "^3.0.2",
-				"regex-not": "^1.0.2",
-				"safe-regex": "^1.1.0"
+				"define-property": "2.0.2",
+				"extend-shallow": "3.0.2",
+				"regex-not": "1.0.2",
+				"safe-regex": "1.1.0"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -10583,8 +10949,8 @@
 					"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
 					"dev": true,
 					"requires": {
-						"assign-symbols": "^1.0.0",
-						"is-extendable": "^1.0.1"
+						"assign-symbols": "1.0.0",
+						"is-extendable": "1.0.1"
 					}
 				},
 				"is-extendable": {
@@ -10593,7 +10959,7 @@
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"dev": true,
 					"requires": {
-						"is-plain-object": "^2.0.4"
+						"is-plain-object": "2.0.4"
 					}
 				}
 			}
@@ -10604,8 +10970,8 @@
 			"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
 			"dev": true,
 			"requires": {
-				"is-number": "^3.0.0",
-				"repeat-string": "^1.6.1"
+				"is-number": "3.0.0",
+				"repeat-string": "1.6.1"
 			},
 			"dependencies": {
 				"is-number": {
@@ -10614,7 +10980,7 @@
 					"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					}
 				}
 			}
@@ -10625,7 +10991,7 @@
 			"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
 			"dev": true,
 			"requires": {
-				"punycode": "^1.4.1"
+				"punycode": "1.4.1"
 			}
 		},
 		"trim-newlines": {
@@ -10640,7 +11006,7 @@
 			"integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
 			"dev": true,
 			"requires": {
-				"escape-string-regexp": "^1.0.2"
+				"escape-string-regexp": "1.0.5"
 			}
 		},
 		"true-case-path": {
@@ -10649,7 +11015,7 @@
 			"integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
 			"dev": true,
 			"requires": {
-				"glob": "^6.0.4"
+				"glob": "6.0.4"
 			},
 			"dependencies": {
 				"glob": {
@@ -10658,11 +11024,11 @@
 					"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
 					"dev": true,
 					"requires": {
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "2 || 3",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
 					}
 				},
 				"minimatch": {
@@ -10671,7 +11037,7 @@
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "1.1.11"
 					}
 				}
 			}
@@ -10707,7 +11073,7 @@
 			"dev": true,
 			"requires": {
 				"media-typer": "0.3.0",
-				"mime-types": "~2.1.18"
+				"mime-types": "2.1.18"
 			}
 		},
 		"typedarray": {
@@ -10717,21 +11083,25 @@
 			"dev": true
 		},
 		"uglify-js": {
-			"version": "2.7.5",
-			"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
-			"integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
+			"version": "3.4.0",
+			"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.0.tgz",
+			"integrity": "sha512-Jcf5naPkX3rVPSQpRn9Vm6Rr572I1gTtR9LnqKgXjmOgfYQ/QS0V2WRStFR53Bdj520M66aCZqt9uzYXgtGrJQ==",
 			"dev": true,
 			"requires": {
-				"async": "~0.2.6",
-				"source-map": "~0.5.1",
-				"uglify-to-browserify": "~1.0.0",
-				"yargs": "~3.10.0"
+				"commander": "2.15.1",
+				"source-map": "0.6.1"
 			},
 			"dependencies": {
-				"async": {
-					"version": "0.2.10",
-					"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
-					"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+				"commander": {
+					"version": "2.15.1",
+					"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+					"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
+					"dev": true
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true
 				}
 			}
@@ -10740,7 +11110,8 @@
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
 			"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
-			"dev": true
+			"dev": true,
+			"optional": true
 		},
 		"uglifyjs-webpack-plugin": {
 			"version": "0.4.6",
@@ -10748,9 +11119,9 @@
 			"integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
 			"dev": true,
 			"requires": {
-				"source-map": "^0.5.6",
-				"uglify-js": "^2.8.29",
-				"webpack-sources": "^1.0.1"
+				"source-map": "0.5.7",
+				"uglify-js": "2.8.29",
+				"webpack-sources": "1.1.0"
 			},
 			"dependencies": {
 				"uglify-js": {
@@ -10759,9 +11130,9 @@
 					"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
 					"dev": true,
 					"requires": {
-						"source-map": "~0.5.1",
-						"uglify-to-browserify": "~1.0.0",
-						"yargs": "~3.10.0"
+						"source-map": "0.5.7",
+						"uglify-to-browserify": "1.0.2",
+						"yargs": "3.10.0"
 					}
 				}
 			}
@@ -10800,10 +11171,10 @@
 			"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
 			"dev": true,
 			"requires": {
-				"arr-union": "^3.1.0",
-				"get-value": "^2.0.6",
-				"is-extendable": "^0.1.1",
-				"set-value": "^0.4.3"
+				"arr-union": "3.1.0",
+				"get-value": "2.0.6",
+				"is-extendable": "0.1.1",
+				"set-value": "0.4.3"
 			},
 			"dependencies": {
 				"set-value": {
@@ -10812,22 +11183,40 @@
 					"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
 					"dev": true,
 					"requires": {
-						"extend-shallow": "^2.0.1",
-						"is-extendable": "^0.1.1",
-						"is-plain-object": "^2.0.1",
-						"to-object-path": "^0.3.0"
+						"extend-shallow": "2.0.1",
+						"is-extendable": "0.1.1",
+						"is-plain-object": "2.0.4",
+						"to-object-path": "0.3.0"
 					}
 				}
 			}
 		},
+		"unique-filename": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz",
+			"integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=",
+			"dev": true,
+			"requires": {
+				"unique-slug": "2.0.0"
+			}
+		},
+		"unique-slug": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz",
+			"integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=",
+			"dev": true,
+			"requires": {
+				"imurmurhash": "0.1.4"
+			}
+		},
 		"unique-stream": {
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
 			"integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
 			"dev": true,
 			"requires": {
-				"json-stable-stringify": "^1.0.0",
-				"through2-filter": "^2.0.0"
+				"json-stable-stringify": "1.0.1",
+				"through2-filter": "2.0.0"
 			}
 		},
 		"unpipe": {
@@ -10842,8 +11231,8 @@
 			"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
 			"dev": true,
 			"requires": {
-				"has-value": "^0.3.1",
-				"isobject": "^3.0.0"
+				"has-value": "0.3.1",
+				"isobject": "3.0.1"
 			},
 			"dependencies": {
 				"has-value": {
@@ -10852,9 +11241,9 @@
 					"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
 					"dev": true,
 					"requires": {
-						"get-value": "^2.0.3",
-						"has-values": "^0.1.4",
-						"isobject": "^2.0.0"
+						"get-value": "2.0.6",
+						"has-values": "0.1.4",
+						"isobject": "2.1.0"
 					},
 					"dependencies": {
 						"isobject": {
@@ -10894,11 +11283,22 @@
 			"integrity": "sha512-d4SJySNBXDaQp+DPrziv3xGS6w3d2Xt69FijJr86zMPBy23JEloMCEOUBBzuN7xCtjLCnmB9tI/z7SBCahHBOw==",
 			"dev": true
 		},
-		"uri-path": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz",
-			"integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=",
-			"dev": true
+		"uri-js": {
+			"version": "4.2.2",
+			"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+			"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+			"dev": true,
+			"requires": {
+				"punycode": "2.1.1"
+			},
+			"dependencies": {
+				"punycode": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+					"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+					"dev": true
+				}
+			}
 		},
 		"urix": {
 			"version": "0.1.0",
@@ -10930,8 +11330,8 @@
 			"integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==",
 			"dev": true,
 			"requires": {
-				"querystringify": "~1.0.0",
-				"requires-port": "~1.0.0"
+				"querystringify": "1.0.0",
+				"requires-port": "1.0.0"
 			},
 			"dependencies": {
 				"querystringify": {
@@ -10948,7 +11348,7 @@
 			"integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
 			"dev": true,
 			"requires": {
-				"prepend-http": "^1.0.1"
+				"prepend-http": "1.0.4"
 			}
 		},
 		"url-regex": {
@@ -10958,7 +11358,7 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"ip-regex": "^1.0.1"
+				"ip-regex": "1.0.3"
 			}
 		},
 		"use": {
@@ -10967,9 +11367,9 @@
 			"integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
 			"dev": true,
 			"requires": {
-				"define-property": "^0.2.5",
-				"isobject": "^3.0.0",
-				"lazy-cache": "^2.0.2"
+				"define-property": "0.2.5",
+				"isobject": "3.0.1",
+				"lazy-cache": "2.0.2"
 			},
 			"dependencies": {
 				"define-property": {
@@ -10978,7 +11378,7 @@
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"dev": true,
 					"requires": {
-						"is-descriptor": "^0.1.0"
+						"is-descriptor": "0.1.6"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -10987,7 +11387,7 @@
 					"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -10996,7 +11396,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -11007,7 +11407,7 @@
 					"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 					"dev": true,
 					"requires": {
-						"kind-of": "^3.0.2"
+						"kind-of": "3.2.2"
 					},
 					"dependencies": {
 						"kind-of": {
@@ -11016,7 +11416,7 @@
 							"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 							"dev": true,
 							"requires": {
-								"is-buffer": "^1.1.5"
+								"is-buffer": "1.1.6"
 							}
 						}
 					}
@@ -11027,9 +11427,9 @@
 					"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 					"dev": true,
 					"requires": {
-						"is-accessor-descriptor": "^0.1.6",
-						"is-data-descriptor": "^0.1.4",
-						"kind-of": "^5.0.0"
+						"is-accessor-descriptor": "0.1.6",
+						"is-data-descriptor": "0.1.4",
+						"kind-of": "5.1.0"
 					}
 				},
 				"isobject": {
@@ -11050,7 +11450,7 @@
 					"integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
 					"dev": true,
 					"requires": {
-						"set-getter": "^0.1.0"
+						"set-getter": "0.1.0"
 					}
 				}
 			}
@@ -11102,8 +11502,8 @@
 			"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
 			"dev": true,
 			"requires": {
-				"spdx-correct": "^3.0.0",
-				"spdx-expression-parse": "^3.0.0"
+				"spdx-correct": "3.0.0",
+				"spdx-expression-parse": "3.0.0"
 			}
 		},
 		"vary": {
@@ -11118,9 +11518,9 @@
 			"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
 			"dev": true,
 			"requires": {
-				"assert-plus": "^1.0.0",
+				"assert-plus": "1.0.0",
 				"core-util-is": "1.0.2",
-				"extsprintf": "^1.2.0"
+				"extsprintf": "1.3.0"
 			}
 		},
 		"vinyl": {
@@ -11129,8 +11529,8 @@
 			"integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
 			"dev": true,
 			"requires": {
-				"clone": "^1.0.0",
-				"clone-stats": "^0.0.1",
+				"clone": "1.0.3",
+				"clone-stats": "0.0.1",
 				"replace-ext": "0.0.1"
 			}
 		},
@@ -11140,8 +11540,8 @@
 			"integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
 			"dev": true,
 			"requires": {
-				"object-assign": "^4.0.1",
-				"readable-stream": "^2.0.0"
+				"object-assign": "4.1.1",
+				"readable-stream": "2.3.5"
 			}
 		},
 		"vinyl-fs": {
@@ -11150,23 +11550,23 @@
 			"integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
 			"dev": true,
 			"requires": {
-				"duplexify": "^3.2.0",
-				"glob-stream": "^5.3.2",
-				"graceful-fs": "^4.0.0",
+				"duplexify": "3.5.4",
+				"glob-stream": "5.3.5",
+				"graceful-fs": "4.1.11",
 				"gulp-sourcemaps": "1.6.0",
-				"is-valid-glob": "^0.3.0",
-				"lazystream": "^1.0.0",
-				"lodash.isequal": "^4.0.0",
-				"merge-stream": "^1.0.0",
-				"mkdirp": "^0.5.0",
-				"object-assign": "^4.0.0",
-				"readable-stream": "^2.0.4",
-				"strip-bom": "^2.0.0",
-				"strip-bom-stream": "^1.0.0",
-				"through2": "^2.0.0",
-				"through2-filter": "^2.0.0",
-				"vali-date": "^1.0.0",
-				"vinyl": "^1.0.0"
+				"is-valid-glob": "0.3.0",
+				"lazystream": "1.0.0",
+				"lodash.isequal": "4.5.0",
+				"merge-stream": "1.0.1",
+				"mkdirp": "0.5.1",
+				"object-assign": "4.1.1",
+				"readable-stream": "2.3.5",
+				"strip-bom": "2.0.0",
+				"strip-bom-stream": "1.0.0",
+				"through2": "2.0.3",
+				"through2-filter": "2.0.0",
+				"vali-date": "1.0.0",
+				"vinyl": "1.2.0"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -11181,8 +11581,8 @@
 					"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "^2.1.5",
-						"xtend": "~4.0.1"
+						"readable-stream": "2.3.5",
+						"xtend": "4.0.1"
 					}
 				}
 			}
@@ -11196,19 +11596,13 @@
 				"indexof": "0.0.1"
 			}
 		},
-		"walkdir": {
-			"version": "0.0.11",
-			"resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
-			"integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
-			"dev": true
-		},
 		"ware": {
 			"version": "1.3.0",
 			"resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
 			"integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
 			"dev": true,
 			"requires": {
-				"wrap-fn": "^0.1.0"
+				"wrap-fn": "0.1.5"
 			}
 		},
 		"watchpack": {
@@ -11217,9 +11611,9 @@
 			"integrity": "sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==",
 			"dev": true,
 			"requires": {
-				"chokidar": "^2.0.2",
-				"graceful-fs": "^4.1.2",
-				"neo-async": "^2.5.0"
+				"chokidar": "2.0.2",
+				"graceful-fs": "4.1.11",
+				"neo-async": "2.5.0"
 			},
 			"dependencies": {
 				"graceful-fs": {
@@ -11236,7 +11630,7 @@
 			"integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=",
 			"dev": true,
 			"requires": {
-				"minimalistic-assert": "^1.0.0"
+				"minimalistic-assert": "1.0.0"
 			}
 		},
 		"webpack": {
@@ -11245,28 +11639,28 @@
 			"integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==",
 			"dev": true,
 			"requires": {
-				"acorn": "^5.0.0",
-				"acorn-dynamic-import": "^2.0.0",
-				"ajv": "^6.1.0",
-				"ajv-keywords": "^3.1.0",
-				"async": "^2.1.2",
-				"enhanced-resolve": "^3.4.0",
-				"escope": "^3.6.0",
-				"interpret": "^1.0.0",
-				"json-loader": "^0.5.4",
-				"json5": "^0.5.1",
-				"loader-runner": "^2.3.0",
-				"loader-utils": "^1.1.0",
-				"memory-fs": "~0.4.1",
-				"mkdirp": "~0.5.0",
-				"node-libs-browser": "^2.0.0",
-				"source-map": "^0.5.3",
-				"supports-color": "^4.2.1",
-				"tapable": "^0.2.7",
-				"uglifyjs-webpack-plugin": "^0.4.6",
-				"watchpack": "^1.4.0",
-				"webpack-sources": "^1.0.1",
-				"yargs": "^8.0.2"
+				"acorn": "5.5.3",
+				"acorn-dynamic-import": "2.0.2",
+				"ajv": "6.2.1",
+				"ajv-keywords": "3.1.0",
+				"async": "2.6.0",
+				"enhanced-resolve": "3.4.1",
+				"escope": "3.6.0",
+				"interpret": "1.1.0",
+				"json-loader": "0.5.7",
+				"json5": "0.5.1",
+				"loader-runner": "2.3.0",
+				"loader-utils": "1.1.0",
+				"memory-fs": "0.4.1",
+				"mkdirp": "0.5.1",
+				"node-libs-browser": "2.1.0",
+				"source-map": "0.5.7",
+				"supports-color": "4.5.0",
+				"tapable": "0.2.8",
+				"uglifyjs-webpack-plugin": "0.4.6",
+				"watchpack": "1.5.0",
+				"webpack-sources": "1.1.0",
+				"yargs": "8.0.2"
 			},
 			"dependencies": {
 				"ajv": {
@@ -11275,9 +11669,9 @@
 					"integrity": "sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=",
 					"dev": true,
 					"requires": {
-						"fast-deep-equal": "^1.0.0",
-						"fast-json-stable-stringify": "^2.0.0",
-						"json-schema-traverse": "^0.3.0"
+						"fast-deep-equal": "1.1.0",
+						"fast-json-stable-stringify": "2.0.0",
+						"json-schema-traverse": "0.3.1"
 					}
 				},
 				"ansi-regex": {
@@ -11292,7 +11686,7 @@
 					"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
 					"dev": true,
 					"requires": {
-						"lodash": "^4.14.0"
+						"lodash": "4.17.5"
 					}
 				},
 				"camelcase": {
@@ -11307,9 +11701,9 @@
 					"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
 					"dev": true,
 					"requires": {
-						"string-width": "^1.0.1",
-						"strip-ansi": "^3.0.1",
-						"wrap-ansi": "^2.0.0"
+						"string-width": "1.0.2",
+						"strip-ansi": "3.0.1",
+						"wrap-ansi": "2.1.0"
 					},
 					"dependencies": {
 						"string-width": {
@@ -11318,9 +11712,9 @@
 							"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
 							"dev": true,
 							"requires": {
-								"code-point-at": "^1.0.0",
-								"is-fullwidth-code-point": "^1.0.0",
-								"strip-ansi": "^3.0.0"
+								"code-point-at": "1.1.0",
+								"is-fullwidth-code-point": "1.0.0",
+								"strip-ansi": "3.0.1"
 							}
 						}
 					}
@@ -11331,7 +11725,7 @@
 					"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
 					"dev": true,
 					"requires": {
-						"locate-path": "^2.0.0"
+						"locate-path": "2.0.0"
 					}
 				},
 				"graceful-fs": {
@@ -11352,10 +11746,10 @@
 					"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
 					"dev": true,
 					"requires": {
-						"graceful-fs": "^4.1.2",
-						"parse-json": "^2.2.0",
-						"pify": "^2.0.0",
-						"strip-bom": "^3.0.0"
+						"graceful-fs": "4.1.11",
+						"parse-json": "2.2.0",
+						"pify": "2.3.0",
+						"strip-bom": "3.0.0"
 					}
 				},
 				"lodash": {
@@ -11370,9 +11764,9 @@
 					"integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
 					"dev": true,
 					"requires": {
-						"execa": "^0.7.0",
-						"lcid": "^1.0.0",
-						"mem": "^1.1.0"
+						"execa": "0.7.0",
+						"lcid": "1.0.0",
+						"mem": "1.1.0"
 					}
 				},
 				"path-type": {
@@ -11381,7 +11775,7 @@
 					"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
 					"dev": true,
 					"requires": {
-						"pify": "^2.0.0"
+						"pify": "2.3.0"
 					}
 				},
 				"read-pkg": {
@@ -11390,9 +11784,9 @@
 					"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
 					"dev": true,
 					"requires": {
-						"load-json-file": "^2.0.0",
-						"normalize-package-data": "^2.3.2",
-						"path-type": "^2.0.0"
+						"load-json-file": "2.0.0",
+						"normalize-package-data": "2.4.0",
+						"path-type": "2.0.0"
 					}
 				},
 				"read-pkg-up": {
@@ -11401,8 +11795,8 @@
 					"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
 					"dev": true,
 					"requires": {
-						"find-up": "^2.0.0",
-						"read-pkg": "^2.0.0"
+						"find-up": "2.1.0",
+						"read-pkg": "2.0.0"
 					}
 				},
 				"string-width": {
@@ -11411,8 +11805,8 @@
 					"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
 					"dev": true,
 					"requires": {
-						"is-fullwidth-code-point": "^2.0.0",
-						"strip-ansi": "^4.0.0"
+						"is-fullwidth-code-point": "2.0.0",
+						"strip-ansi": "4.0.0"
 					},
 					"dependencies": {
 						"is-fullwidth-code-point": {
@@ -11427,7 +11821,7 @@
 							"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 							"dev": true,
 							"requires": {
-								"ansi-regex": "^3.0.0"
+								"ansi-regex": "3.0.0"
 							}
 						}
 					}
@@ -11444,7 +11838,7 @@
 					"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
 					"dev": true,
 					"requires": {
-						"has-flag": "^2.0.0"
+						"has-flag": "2.0.0"
 					}
 				},
 				"which-module": {
@@ -11459,19 +11853,19 @@
 					"integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
 					"dev": true,
 					"requires": {
-						"camelcase": "^4.1.0",
-						"cliui": "^3.2.0",
-						"decamelize": "^1.1.1",
-						"get-caller-file": "^1.0.1",
-						"os-locale": "^2.0.0",
-						"read-pkg-up": "^2.0.0",
-						"require-directory": "^2.1.1",
-						"require-main-filename": "^1.0.1",
-						"set-blocking": "^2.0.0",
-						"string-width": "^2.0.0",
-						"which-module": "^2.0.0",
-						"y18n": "^3.2.1",
-						"yargs-parser": "^7.0.0"
+						"camelcase": "4.1.0",
+						"cliui": "3.2.0",
+						"decamelize": "1.2.0",
+						"get-caller-file": "1.0.2",
+						"os-locale": "2.1.0",
+						"read-pkg-up": "2.0.0",
+						"require-directory": "2.1.1",
+						"require-main-filename": "1.0.1",
+						"set-blocking": "2.0.0",
+						"string-width": "2.1.1",
+						"which-module": "2.0.0",
+						"y18n": "3.2.1",
+						"yargs-parser": "7.0.0"
 					}
 				},
 				"yargs-parser": {
@@ -11480,7 +11874,77 @@
 					"integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
 					"dev": true,
 					"requires": {
-						"camelcase": "^4.1.0"
+						"camelcase": "4.1.0"
+					}
+				}
+			}
+		},
+		"webpack-concat-plugin": {
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/webpack-concat-plugin/-/webpack-concat-plugin-2.4.2.tgz",
+			"integrity": "sha512-WeUupAuh8+9klExJa8KSJe036tmSc4c+st+ijzQckr7QoKl12UrnZF+xOoJ9pycYu7VylV71AUvTVOGGK6PPFg==",
+			"dev": true,
+			"requires": {
+				"concat-with-sourcemaps": "1.1.0",
+				"globby": "7.1.1",
+				"schema-utils": "0.4.5",
+				"uglify-es": "3.3.9"
+			},
+			"dependencies": {
+				"commander": {
+					"version": "2.13.0",
+					"resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+					"integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
+					"dev": true
+				},
+				"glob": {
+					"version": "7.1.2",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+					"dev": true,
+					"requires": {
+						"fs.realpath": "1.0.0",
+						"inflight": "1.0.6",
+						"inherits": "2.0.3",
+						"minimatch": "3.0.4",
+						"once": "1.4.0",
+						"path-is-absolute": "1.0.1"
+					}
+				},
+				"globby": {
+					"version": "7.1.1",
+					"resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+					"integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+					"dev": true,
+					"requires": {
+						"array-union": "1.0.2",
+						"dir-glob": "2.0.0",
+						"glob": "7.1.2",
+						"ignore": "3.3.8",
+						"pify": "3.0.0",
+						"slash": "1.0.0"
+					}
+				},
+				"pify": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+					"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+					"dev": true
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				},
+				"uglify-es": {
+					"version": "3.3.9",
+					"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
+					"integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
+					"dev": true,
+					"requires": {
+						"commander": "2.13.0",
+						"source-map": "0.6.1"
 					}
 				}
 			}
@@ -11491,11 +11955,11 @@
 			"integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
 			"dev": true,
 			"requires": {
-				"memory-fs": "~0.4.1",
-				"mime": "^1.5.0",
-				"path-is-absolute": "^1.0.0",
-				"range-parser": "^1.0.3",
-				"time-stamp": "^2.0.0"
+				"memory-fs": "0.4.1",
+				"mime": "1.6.0",
+				"path-is-absolute": "1.0.1",
+				"range-parser": "1.2.0",
+				"time-stamp": "2.0.0"
 			},
 			"dependencies": {
 				"mime": {
@@ -11519,30 +11983,30 @@
 			"dev": true,
 			"requires": {
 				"ansi-html": "0.0.7",
-				"array-includes": "^3.0.3",
-				"bonjour": "^3.5.0",
-				"chokidar": "^2.0.0",
-				"compression": "^1.5.2",
-				"connect-history-api-fallback": "^1.3.0",
-				"debug": "^3.1.0",
-				"del": "^3.0.0",
-				"express": "^4.16.2",
-				"html-entities": "^1.2.0",
-				"http-proxy-middleware": "~0.17.4",
-				"import-local": "^1.0.0",
+				"array-includes": "3.0.3",
+				"bonjour": "3.5.0",
+				"chokidar": "2.0.2",
+				"compression": "1.7.2",
+				"connect-history-api-fallback": "1.5.0",
+				"debug": "3.1.0",
+				"del": "3.0.0",
+				"express": "4.16.2",
+				"html-entities": "1.2.1",
+				"http-proxy-middleware": "0.17.4",
+				"import-local": "1.0.0",
 				"internal-ip": "1.2.0",
-				"ip": "^1.1.5",
-				"killable": "^1.0.0",
-				"loglevel": "^1.4.1",
-				"opn": "^5.1.0",
-				"portfinder": "^1.0.9",
-				"selfsigned": "^1.9.1",
-				"serve-index": "^1.7.2",
+				"ip": "1.1.5",
+				"killable": "1.0.0",
+				"loglevel": "1.6.1",
+				"opn": "5.2.0",
+				"portfinder": "1.0.13",
+				"selfsigned": "1.10.2",
+				"serve-index": "1.9.1",
 				"sockjs": "0.3.19",
 				"sockjs-client": "1.1.4",
-				"spdy": "^3.4.1",
-				"strip-ansi": "^3.0.0",
-				"supports-color": "^5.1.0",
+				"spdy": "3.4.7",
+				"strip-ansi": "3.0.1",
+				"supports-color": "5.3.0",
 				"webpack-dev-middleware": "1.12.2",
 				"yargs": "6.6.0"
 			},
@@ -11559,9 +12023,9 @@
 					"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
 					"dev": true,
 					"requires": {
-						"string-width": "^1.0.1",
-						"strip-ansi": "^3.0.1",
-						"wrap-ansi": "^2.0.0"
+						"string-width": "1.0.2",
+						"strip-ansi": "3.0.1",
+						"wrap-ansi": "2.1.0"
 					}
 				},
 				"debug": {
@@ -11585,7 +12049,7 @@
 					"integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"has-flag": "3.0.0"
 					}
 				},
 				"yargs": {
@@ -11594,19 +12058,19 @@
 					"integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
 					"dev": true,
 					"requires": {
-						"camelcase": "^3.0.0",
-						"cliui": "^3.2.0",
-						"decamelize": "^1.1.1",
-						"get-caller-file": "^1.0.1",
-						"os-locale": "^1.4.0",
-						"read-pkg-up": "^1.0.1",
-						"require-directory": "^2.1.1",
-						"require-main-filename": "^1.0.1",
-						"set-blocking": "^2.0.0",
-						"string-width": "^1.0.2",
-						"which-module": "^1.0.0",
-						"y18n": "^3.2.1",
-						"yargs-parser": "^4.2.0"
+						"camelcase": "3.0.0",
+						"cliui": "3.2.0",
+						"decamelize": "1.2.0",
+						"get-caller-file": "1.0.2",
+						"os-locale": "1.4.0",
+						"read-pkg-up": "1.0.1",
+						"require-directory": "2.1.1",
+						"require-main-filename": "1.0.1",
+						"set-blocking": "2.0.0",
+						"string-width": "1.0.2",
+						"which-module": "1.0.0",
+						"y18n": "3.2.1",
+						"yargs-parser": "4.2.1"
 					}
 				},
 				"yargs-parser": {
@@ -11615,7 +12079,7 @@
 					"integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
 					"dev": true,
 					"requires": {
-						"camelcase": "^3.0.0"
+						"camelcase": "3.0.0"
 					}
 				}
 			}
@@ -11626,8 +12090,8 @@
 			"integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
 			"dev": true,
 			"requires": {
-				"source-list-map": "^2.0.0",
-				"source-map": "~0.6.1"
+				"source-list-map": "2.0.0",
+				"source-map": "0.6.1"
 			},
 			"dependencies": {
 				"source-map": {
@@ -11644,8 +12108,8 @@
 			"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
 			"dev": true,
 			"requires": {
-				"http-parser-js": ">=0.4.0",
-				"websocket-extensions": ">=0.1.1"
+				"http-parser-js": "0.4.11",
+				"websocket-extensions": "0.1.3"
 			}
 		},
 		"websocket-extensions": {
@@ -11679,7 +12143,7 @@
 			"integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
 			"dev": true,
 			"requires": {
-				"string-width": "^1.0.2"
+				"string-width": "1.0.2"
 			}
 		},
 		"window-size": {
@@ -11705,8 +12169,8 @@
 			"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
 			"dev": true,
 			"requires": {
-				"string-width": "^1.0.1",
-				"strip-ansi": "^3.0.1"
+				"string-width": "1.0.2",
+				"strip-ansi": "3.0.1"
 			}
 		},
 		"wrap-fn": {
@@ -11742,8 +12206,8 @@
 			"integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=",
 			"dev": true,
 			"requires": {
-				"sax": "1.2.x",
-				"xmlbuilder": "8.2.x"
+				"sax": "1.2.4",
+				"xmlbuilder": "8.2.2"
 			}
 		},
 		"xtend": {
@@ -11770,9 +12234,9 @@
 			"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
 			"dev": true,
 			"requires": {
-				"camelcase": "^1.0.2",
-				"cliui": "^2.1.0",
-				"decamelize": "^1.0.0",
+				"camelcase": "1.2.1",
+				"cliui": "2.1.0",
+				"decamelize": "1.2.0",
 				"window-size": "0.1.0"
 			},
 			"dependencies": {
@@ -11790,7 +12254,7 @@
 			"integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
 			"dev": true,
 			"requires": {
-				"camelcase": "^3.0.0"
+				"camelcase": "3.0.0"
 			},
 			"dependencies": {
 				"camelcase": {
@@ -11807,28 +12271,8 @@
 			"integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=",
 			"dev": true,
 			"requires": {
-				"buffer-crc32": "~0.2.3",
-				"fd-slicer": "~1.0.1"
-			}
-		},
-		"zip-stream": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
-			"integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
-			"dev": true,
-			"requires": {
-				"archiver-utils": "^1.3.0",
-				"compress-commons": "^1.2.0",
-				"lodash": "^4.8.0",
-				"readable-stream": "^2.0.0"
-			},
-			"dependencies": {
-				"lodash": {
-					"version": "4.17.5",
-					"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-					"integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
-					"dev": true
-				}
+				"buffer-crc32": "0.2.13",
+				"fd-slicer": "1.0.1"
 			}
 		}
 	}
diff --git package.json package.json
index 96aa92a301..990ac3d09c 100644
--- package.json
+++ package.json
@@ -15,19 +15,18 @@
 	"devDependencies": {
 		"autoprefixer": "^6.5.1",
 		"check-node-version": "3.2.0",
+		"compression-webpack-plugin": "1.1.11",
+		"copy-webpack-plugin": "4.5.1",
 		"grunt": "1.0.2",
 		"grunt-banner": "^0.6.0",
+		"grunt-concurrent": "2.3.1",
 		"grunt-contrib-clean": "~1.0.0",
-		"grunt-contrib-compress": "~1.3.0",
-		"grunt-contrib-concat": "~1.0.0",
 		"grunt-contrib-copy": "~1.0.0",
 		"grunt-contrib-cssmin": "~1.0.2",
 		"grunt-contrib-imagemin": "~1.0.0",
 		"grunt-contrib-jshint": "~1.0.0",
 		"grunt-contrib-qunit": "^1.2.0",
-		"grunt-contrib-uglify": "~2.0.0",
 		"grunt-contrib-watch": "~1.0.0",
-		"grunt-file-append": "0.0.7",
 		"grunt-includes": "1.1.0",
 		"grunt-jsdoc": "^2.1.0",
 		"grunt-jsvalidate": "~0.2.2",
@@ -41,7 +40,10 @@
 		"ink-docstrap": "^1.3.0",
 		"jquery-migrate": "1.4.1",
 		"matchdep": "~1.0.0",
+		"n-readlines": "1.0.0",
+		"uglify-js": "3.4.0",
 		"webpack": "^3.6.0",
+		"webpack-concat-plugin": "2.4.2",
 		"webpack-dev-server": "^2.9.1"
 	},
 	"dependencies": {
diff --git phpcs.xml.dist phpcs.xml.dist
index bd476e3e19..e119e13d08 100644
--- phpcs.xml.dist
+++ phpcs.xml.dist
@@ -4,15 +4,10 @@
 
 	<rule ref="WordPress-Core"/>
 	<rule ref="WordPress.CodeAnalysis.EmptyStatement"/>
+	<rule ref="WordPress.Commenting.DocblockFormat"/>
 
 	<arg name="extensions" value="php"/>
 
-	<!-- Strip the filepaths down to the relevant bit. -->
-	<arg name="basepath" value="./"/>
-
-	<!-- Check up to 20 files simultanously. -->
-	<arg name="parallel" value="20"/>
-
 	<!-- Show sniff codes in all reports -->
 	<arg value="ps"/>
 
@@ -74,12 +69,6 @@
 		<exclude-pattern>/tests/phpunit/tests/db\.php</exclude-pattern>
 	</rule>
 
-	<!-- Whitelist the I18n functions file from issues identified by the I18n sniff
-		(such as calling the low-level translate() function). -->
-	<rule ref="WordPress.WP.I18n">
-		<exclude-pattern>/src/wp-includes/l10n\.php</exclude-pattern>
-	</rule>
-
 	<rule ref="Generic.Functions.FunctionCallArgumentSpacing">
 		<exclude-pattern>/wp-config\.php</exclude-pattern>
 		<exclude-pattern>/wp-config-sample\.php</exclude-pattern>
diff --git src/js/_enqueues/admin/comment.js src/js/_enqueues/admin/comment.js
index 04d6e539f2..1ed7c5542a 100644
--- src/js/_enqueues/admin/comment.js
+++ src/js/_enqueues/admin/comment.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/comment.js
- */
+/* @output wp-admin/js/comment.js */
 
 /* global postboxes, commentL10n */
 
diff --git src/js/_enqueues/admin/common.js src/js/_enqueues/admin/common.js
index 26abce8c95..8b192764c3 100644
--- src/js/_enqueues/admin/common.js
+++ src/js/_enqueues/admin/common.js
@@ -1,9 +1,6 @@
-/**
- * @output wp-admin/js/common.js
- */
+/* @output wp-admin/js/common.js */
 
 /* global setUserSetting, ajaxurl, commonL10n, alert, confirm, pagenow */
-var showNotice, adminMenu, columns, validateForm, screenMeta;
 
 /**
  *  Adds common WordPress functionality to the window.
@@ -23,7 +20,7 @@ var showNotice, adminMenu, columns, validateForm, screenMeta;
  * @since 2.7.0
  * @deprecated 3.3.0
  */
-adminMenu = {
+window.adminMenu = {
 	init : function() {},
 	fold : function() {},
 	restoreMenuState : function() {},
@@ -32,7 +29,7 @@ adminMenu = {
 };
 
 // Show/hide/save table columns.
-columns = {
+window.columns = {
 
 	/**
 	 * Initializes the column toggles in the screen options.
@@ -158,7 +155,7 @@ $document.ready(function(){columns.init();});
  *
  * @returns {boolean} Returns true if all required fields are not an empty string.
  */
-validateForm = function( form ) {
+window.validateForm = function( form ) {
 	return !$( form )
 		.find( '.form-required' )
 		.filter( function() { return $( ':input:visible', this ).val() === ''; } )
@@ -178,7 +175,7 @@ validateForm = function( form ) {
  *
  * @returns {void}
  */
-showNotice = {
+window.showNotice = {
 
 	/**
 	 * Shows a delete confirmation pop-up message.
@@ -219,7 +216,7 @@ showNotice = {
  *
  * @returns {void}
  */
-screenMeta = {
+window.screenMeta = {
 	element: null, // #screen-meta
 	toggles: null, // .screen-meta-toggle
 	page:    null, // #wpcontent
diff --git src/js/_enqueues/admin/custom-background.js src/js/_enqueues/admin/custom-background.js
index a948e780a4..bdca4751bc 100644
--- src/js/_enqueues/admin/custom-background.js
+++ src/js/_enqueues/admin/custom-background.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/custom-background.js
- */
+/* @output wp-admin/js/custom-background.js */
 
 /* global ajaxurl */
 
diff --git src/js/_enqueues/admin/custom-header.js src/js/_enqueues/admin/custom-header.js
index e00c70cd24..771e9d859f 100644
--- src/js/_enqueues/admin/custom-header.js
+++ src/js/_enqueues/admin/custom-header.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/custom-header.js
- */
+/* @output wp-admin/js/custom-header.js */
 
 /* global isRtl */
 
diff --git src/js/_enqueues/admin/edit-comments.js src/js/_enqueues/admin/edit-comments.js
index c928ceb880..b7e7ffdd0a 100644
--- src/js/_enqueues/admin/edit-comments.js
+++ src/js/_enqueues/admin/edit-comments.js
@@ -1,9 +1,6 @@
-/**
- * @output wp-admin/js/edit-comments.js
- */
+/* @output wp-admin/js/edit-comments.js */
 
 /* global adminCommentsL10n, thousandsSeparator, list_args, QTags, ajaxurl, wpAjax */
-var setCommentsList, theList, theExtraList, commentReply;
 
 (function($) {
 var getCount, updateCount, updateCountText, updatePending, updateApproved,
@@ -188,7 +185,7 @@ var getCount, updateCount, updateCountText, updatePending, updateApproved,
 		});
 	};
 
-setCommentsList = function() {
+window.setCommentsList = function() {
 	var totalInput, perPageInput, pageInput, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList, diff,
 		lastConfidentTime = 0;
 
@@ -564,8 +561,8 @@ setCommentsList = function() {
 		});
 	};
 
-	theExtraList = $('#the-extra-comment-list').wpList( { alt: '', delColor: 'none', addColor: 'none' } );
-	theList = $('#the-comment-list').wpList( { alt: '', delBefore: delBefore, dimAfter: dimAfter, delAfter: delAfter, addColor: 'none' } )
+	window.theExtraList = $('#the-extra-comment-list').wpList( { alt: '', delColor: 'none', addColor: 'none' } );
+	window.theList = $('#the-comment-list').wpList( { alt: '', delBefore: delBefore, dimAfter: dimAfter, delAfter: delAfter, addColor: 'none' } )
 		.bind('wpListDelEnd', function(e, s){
 			var wpListsData = $(s.target).attr('data-wp-lists'), id = s.element.replace(/[^0-9]+/g, '');
 
@@ -574,7 +571,7 @@ setCommentsList = function() {
 		});
 };
 
-commentReply = {
+window.commentReply = {
 	cid : '',
 	act : '',
 	originalContent : '',
diff --git src/js/_enqueues/admin/inline-edit-post.js src/js/_enqueues/admin/inline-edit-post.js
index 8bc7d37d7e..2c0c2d71bd 100644
--- src/js/_enqueues/admin/inline-edit-post.js
+++ src/js/_enqueues/admin/inline-edit-post.js
@@ -22,10 +22,9 @@ window.wp = window.wp || {};
  * @property {string} what The prefix before the post id.
  *
  */
-var inlineEditPost;
 ( function( $, wp ) {
 
-	inlineEditPost = {
+	window.inlineEditPost = {
 
 	/**
 	 * Initializes the inline and bulk post editor.
diff --git src/js/_enqueues/admin/inline-edit-tax.js src/js/_enqueues/admin/inline-edit-tax.js
index d589135578..882ac3fa66 100644
--- src/js/_enqueues/admin/inline-edit-tax.js
+++ src/js/_enqueues/admin/inline-edit-tax.js
@@ -17,11 +17,9 @@ window.wp = window.wp || {};
  * @property {string} what The type property with a hash prefixed and a dash
  *                         suffixed.
  */
-var inlineEditTax;
-
 ( function( $, wp ) {
 
-inlineEditTax = {
+window.inlineEditTax = {
 
 	/**
 	 * Initializes the inline taxonomy editor by adding event handlers to be able to
diff --git src/js/_enqueues/admin/link.js src/js/_enqueues/admin/link.js
index 7df0ee74ae..b9616c92d3 100644
--- src/js/_enqueues/admin/link.js
+++ src/js/_enqueues/admin/link.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/link.js
- */
+/* @output wp-admin/js/link.js */
 
 /* global postboxes, deleteUserSetting, setUserSetting, getUserSetting */
 
diff --git src/js/_enqueues/admin/media-upload.js src/js/_enqueues/admin/media-upload.js
index 136b0e4b22..154f1a1490 100644
--- src/js/_enqueues/admin/media-upload.js
+++ src/js/_enqueues/admin/media-upload.js
@@ -14,8 +14,6 @@
 
 /* global tinymce, QTags */
 
-var wpActiveEditor, send_to_editor;
-
 /**
  * Sends the HTML passed in the parameters to TinyMCE.
  *
@@ -28,7 +26,7 @@ var wpActiveEditor, send_to_editor;
  *                         are unavailable. This means that the HTML was not
  *                         sent to the editor.
  */
-send_to_editor = function( html ) {
+window.send_to_editor = function( html ) {
 	var editor,
 		hasTinymce = typeof tinymce !== 'undefined',
 		hasQuicktags = typeof QTags !== 'undefined';
@@ -37,7 +35,7 @@ send_to_editor = function( html ) {
 	if ( ! wpActiveEditor ) {
 		if ( hasTinymce && tinymce.activeEditor ) {
 			editor = tinymce.activeEditor;
-			wpActiveEditor = editor.id;
+			window.wpActiveEditor = editor.id;
 		} else if ( ! hasQuicktags ) {
 			return false;
 		}
diff --git src/js/_enqueues/admin/media.js src/js/_enqueues/admin/media.js
index 68a9b75c48..fde47953a7 100644
--- src/js/_enqueues/admin/media.js
+++ src/js/_enqueues/admin/media.js
@@ -12,10 +12,8 @@
 
 /* global ajaxurl, attachMediaBoxL10n, _wpMediaGridSettings, showNotice */
 
-var findPosts;
-
 ( function( $ ){
-	findPosts = {
+	window.findPosts = {
 		/**
 		 * Opens a dialog to attach media to a post.
 		 *
diff --git src/js/_enqueues/admin/plugin-install.js src/js/_enqueues/admin/plugin-install.js
index 1a2cf17623..230dc6ef76 100644
--- src/js/_enqueues/admin/plugin-install.js
+++ src/js/_enqueues/admin/plugin-install.js
@@ -5,7 +5,7 @@
  */
 
 /* global plugininstallL10n, tb_click, tb_remove */
-var tb_position;
+
 jQuery( document ).ready( function( $ ) {
 
 	var tbWindow,
@@ -18,7 +18,7 @@ jQuery( document ).ready( function( $ ) {
 		$wrap = $ ( '.wrap' ),
 		$body = $( document.body );
 
-	tb_position = function() {
+	window.tb_position = function() {
 		var width = $( window ).width(),
 			H = $( window ).height() - ( ( 792 < width ) ? 60 : 20 ),
 			W = ( 792 < width ) ? 772 : width - 20;
diff --git src/js/_enqueues/admin/post.js src/js/_enqueues/admin/post.js
index 18f69079a7..ae61de24dd 100644
--- src/js/_enqueues/admin/post.js
+++ src/js/_enqueues/admin/post.js
@@ -7,9 +7,8 @@
  /* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting */
  /* global theList:true, theExtraList:true, getUserSetting, setUserSetting, commentReply */
 
-var commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
 // Backwards compatibility: prevent fatal errors.
-makeSlugeditClickable = editPermalink = function(){};
+window.makeSlugeditClickable = window.editPermalink = function(){};
 
 // Make sure the wp object exists.
 window.wp = window.wp || {};
@@ -24,7 +23,7 @@ window.wp = window.wp || {};
 	 *
 	 * @namespace commentsBox
 	 */
-	commentsBox = {
+	window.commentsBox = {
 		// Comment offset to use when fetching new comments.
 		st : 0,
 
@@ -108,7 +107,7 @@ window.wp = window.wp || {};
 	 *
 	 * @global
 	 */
-	WPSetThumbnailHTML = function(html){
+	window.WPSetThumbnailHTML = function(html){
 		$('.inside', '#postimagediv').html(html);
 	};
 
@@ -119,7 +118,7 @@ window.wp = window.wp || {};
 	 *
 	 * @global
 	 */
-	WPSetThumbnailID = function(id){
+	window.WPSetThumbnailID = function(id){
 		var field = $('input[value="_thumbnail_id"]', '#list-table');
 		if ( field.length > 0 ) {
 			$('#meta\\[' + field.attr('id').match(/[0-9]+/) + '\\]\\[value\\]').text(id);
@@ -133,7 +132,7 @@ window.wp = window.wp || {};
 	 *
 	 * @global
 	 */
-	WPRemoveThumbnail = function(nonce){
+	window.WPRemoveThumbnail = function(nonce){
 		$.post(ajaxurl, {
 			action: 'set-post-thumbnail', post_id: $( '#post_ID' ).val(), thumbnail_id: -1, _ajax_nonce: nonce, cookie: encodeURIComponent( document.cookie )
 		},
@@ -941,7 +940,7 @@ jQuery(document).ready( function($) {
 	 *
 	 * @returns void
 	 */
-	function editPermalink() {
+	window.editPermalink = function() {
 		var i, slug_value,
 			$el, revert_e,
 			c = 0,
@@ -1048,7 +1047,7 @@ jQuery(document).ready( function($) {
 	 *
 	 * @returns void
 	 */
-	wptitlehint = function(id) {
+	window.wptitlehint = function(id) {
 		id = id || 'title';
 
 		var title = $('#' + id), titleprompt = $('#' + id + '-prompt-text');
diff --git src/js/_enqueues/admin/postbox.js src/js/_enqueues/admin/postbox.js
index 265da9fd80..914ee75bb9 100644
--- src/js/_enqueues/admin/postbox.js
+++ src/js/_enqueues/admin/postbox.js
@@ -9,22 +9,20 @@
 
 /* global ajaxurl, postBoxL10n */
 
-/**
- * This object contains all function to handle the behaviour of the post boxes. The post boxes are the boxes you see
- * around the content on the edit page.
- *
- * @since 2.7.0
- *
- * @namespace postboxes
- *
- * @type {Object}
- */
-var postboxes;
-
 (function($) {
 	var $document = $( document );
 
-	postboxes = {
+	/**
+	 * This object contains all function to handle the behaviour of the post boxes. The post boxes are the boxes you see
+	 * around the content on the edit page.
+	 *
+	 * @since 2.7.0
+	 *
+	 * @namespace postboxes
+	 *
+	 * @type {Object}
+	 */
+	window.postboxes = {
 
 		/**
 		 * Handles a click on either the postbox heading or the postbox open/close icon.
diff --git src/js/_enqueues/admin/set-post-thumbnail.js src/js/_enqueues/admin/set-post-thumbnail.js
index 9df25db92f..0368bf50f3 100644
--- src/js/_enqueues/admin/set-post-thumbnail.js
+++ src/js/_enqueues/admin/set-post-thumbnail.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/set-post-thumbnail.js
- */
+/* @output wp-admin/js/set-post-thumbnail.js */
 
 /* global setPostThumbnailL10n, ajaxurl, post_id, alert */
 /* exported WPSetAsThumbnail */
diff --git src/js/_enqueues/admin/tags-box.js src/js/_enqueues/admin/tags-box.js
index 49c82fb7f9..629816b543 100644
--- src/js/_enqueues/admin/tags-box.js
+++ src/js/_enqueues/admin/tags-box.js
@@ -1,12 +1,8 @@
-/**
- * @output wp-admin/js/tags-box.js
- */
+/* @output wp-admin/js/tags-box.js */
 
 /* jshint curly: false, eqeqeq: false */
 /* global ajaxurl */
 
-var tagBox, array_unique_noempty;
-
 ( function( $ ) {
 	var tagDelimiter = ( window.tagsSuggestL10n && window.tagsSuggestL10n.tagDelimiter ) || ',';
 
@@ -24,7 +20,7 @@ var tagBox, array_unique_noempty;
 	 *
 	 * @return {Array} A new array containing only the unique items.
 	 */
-	array_unique_noempty = function( array ) {
+	window.array_unique_noempty = function( array ) {
 		var out = [];
 
 		// Trim the values and ensure they are unique.
@@ -49,7 +45,7 @@ var tagBox, array_unique_noempty;
 	 *
 	 * @global
 	 */
-	tagBox = {
+	window.tagBox = {
 		/**
 		 * Cleans up tags by removing redundant characters.
 		 *
diff --git src/js/_enqueues/admin/user-profile.js src/js/_enqueues/admin/user-profile.js
index 7fa3064400..8afa36cadc 100644
--- src/js/_enqueues/admin/user-profile.js
+++ src/js/_enqueues/admin/user-profile.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/user-profile.js
- */
+/* @output wp-admin/js/user-profile.js */
 
 /* global ajaxurl, pwsL10n, userProfileL10n */
 (function($) {
diff --git src/js/_enqueues/admin/widgets.js src/js/_enqueues/admin/widgets.js
index 227890f90a..fcbc7c7cfc 100644
--- src/js/_enqueues/admin/widgets.js
+++ src/js/_enqueues/admin/widgets.js
@@ -1,13 +1,11 @@
-/**
- * @output wp-admin/js/widgets.js
- */
+/* @output wp-admin/js/widgets.js */
 
 /* global ajaxurl, isRtl */
-var wpWidgets;
+
 (function($) {
 	var $document = $( document );
 
-wpWidgets = {
+window.wpWidgets = {
 	/**
 	 * A closed Sidebar that gets a Widget dragged over it.
 	 *
diff --git src/js/_enqueues/lib/admin-bar.js src/js/_enqueues/lib/admin-bar.js
index 629caac645..dafa2c9829 100644
--- src/js/_enqueues/lib/admin-bar.js
+++ src/js/_enqueues/lib/admin-bar.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/admin-bar.js
- */
+/* @output wp-includes/js/admin-bar.js */
 
 /* jshint loopfunc: true */
 // use jQuery and hoverIntent if loaded
diff --git src/js/_enqueues/lib/ajax-response.js src/js/_enqueues/lib/ajax-response.js
index 717c1b3014..7feab3b50c 100644
--- src/js/_enqueues/lib/ajax-response.js
+++ src/js/_enqueues/lib/ajax-response.js
@@ -1,8 +1,6 @@
-/**
- * @output wp-includes/js/wp-ajax-response.js
- */
+/* @output wp-includes/js/wp-ajax-response.js */
 
-var wpAjax = jQuery.extend( {
+window.wpAjax = jQuery.extend( {
 	unserialize: function( s ) {
 		var r = {}, q, pp, i, p;
 		if ( !s ) { return r; }
diff --git src/js/_enqueues/lib/color-picker.js src/js/_enqueues/lib/color-picker.js
index 89e6db04a3..3baeb3da51 100644
--- src/js/_enqueues/lib/color-picker.js
+++ src/js/_enqueues/lib/color-picker.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/color-picker.js
- */
+/* @output wp-admin/js/color-picker.js */
 
 /* global wpColorPickerL10n */
 ( function( $, undef ) {
diff --git src/js/_enqueues/lib/comment-reply.js src/js/_enqueues/lib/comment-reply.js
index fde5f51b96..0c09560f0d 100644
--- src/js/_enqueues/lib/comment-reply.js
+++ src/js/_enqueues/lib/comment-reply.js
@@ -8,8 +8,7 @@
  *
  * @type {Object}
  */
-var addComment;
-addComment = ( function( window ) {
+window.addComment = ( function( window ) {
 	// Avoid scope lookups on commonly used variables.
 	var document = window.document;
 
diff --git src/js/_enqueues/lib/cookies.js src/js/_enqueues/lib/cookies.js
index eda46b78cb..b67ea24d41 100644
--- src/js/_enqueues/lib/cookies.js
+++ src/js/_enqueues/lib/cookies.js
@@ -7,7 +7,7 @@
 /* global userSettings */
 /* exported getUserSetting, setUserSetting, deleteUserSetting */
 
-var wpCookies = {
+window.wpCookies = {
 // The following functions are from Cookie.js class in TinyMCE 3, Moxiecode, used under LGPL.
 
 	each: function( obj, cb, scope ) {
@@ -139,7 +139,7 @@ var wpCookies = {
 };
 
 // Returns the value as string. Second arg or empty string is returned when value is not set.
-function getUserSetting( name, def ) {
+window.getUserSetting = function( name, def ) {
 	var settings = getAllUserSettings();
 
 	if ( settings.hasOwnProperty( name ) ) {
@@ -156,7 +156,7 @@ function getUserSetting( name, def ) {
 // Both name and value must be only ASCII letters, numbers or underscore
 // and the shorter, the better (cookies can store maximum 4KB). Not suitable to store text.
 // The value is converted and stored as string.
-function setUserSetting( name, value, _del ) {
+window.setUserSetting = function( name, value, _del ) {
 	if ( 'object' !== typeof userSettings ) {
 		return false;
 	}
@@ -188,12 +188,12 @@ function setUserSetting( name, value, _del ) {
 	return name;
 }
 
-function deleteUserSetting( name ) {
+window.deleteUserSetting = function( name ) {
 	return setUserSetting( name, '', 1 );
 }
 
 // Returns all settings as js object.
-function getAllUserSettings() {
+window.getAllUserSettings = function() {
 	if ( 'object' !== typeof userSettings ) {
 		return {};
 	}
diff --git src/js/_enqueues/lib/dialog.js src/js/_enqueues/lib/dialog.js
index 327d8768b8..340871d077 100644
--- src/js/_enqueues/lib/dialog.js
+++ src/js/_enqueues/lib/dialog.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wpdialog.js
- */
+/* @output wp-includes/js/wpdialog.js */
 
 /*
  * Wrap the jQuery UI Dialog open function remove focus from tinyMCE.
diff --git src/js/_enqueues/lib/embed-template.js src/js/_enqueues/lib/embed-template.js
index 65b3a1b22f..dc01dfd668 100644
--- src/js/_enqueues/lib/embed-template.js
+++ src/js/_enqueues/lib/embed-template.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-embed-template.js
- */
+/* @output wp-includes/js/wp-embed-template.js */
 (function ( window, document ) {
 	'use strict';
 
diff --git src/js/_enqueues/lib/emoji-loader.js src/js/_enqueues/lib/emoji-loader.js
index e0d13dc35e..5c2ed91a5e 100644
--- src/js/_enqueues/lib/emoji-loader.js
+++ src/js/_enqueues/lib/emoji-loader.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-emoji-loader.js
- */
+/* @output wp-includes/js/wp-emoji-loader.js */
 
 ( function( window, document, settings ) {
 	var src, ready, ii, tests;
diff --git src/js/_enqueues/lib/gallery.js src/js/_enqueues/lib/gallery.js
index c0ba0937c7..b572f9dfb9 100644
--- src/js/_enqueues/lib/gallery.js
+++ src/js/_enqueues/lib/gallery.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/gallery.js
- */
+/* @output wp-admin/js/gallery.js */
 
 /* global unescape, getUserSetting, setUserSetting */
 
@@ -91,9 +89,9 @@ jQuery(document).ready(function($) {
 jQuery(window).unload( function () { tinymce = tinyMCE = wpgallery = null; } ); // Cleanup
 
 /* gallery settings */
-var tinymce = null, tinyMCE, wpgallery;
+window.tinymce = null;
 
-wpgallery = {
+window.wpgallery = {
 	mcemode : false,
 	editor : {},
 	dom : {},
@@ -123,8 +121,8 @@ wpgallery = {
 		}
 
 		// Find window & API
-		tinymce = w.tinymce;
-		tinyMCE = w.tinyMCE;
+		window.tinymce = w.tinymce;
+		window.tinyMCE = w.tinyMCE;
 		t.editor = tinymce.EditorManager.activeEditor;
 
 		t.setup();
diff --git src/js/_enqueues/lib/language-chooser.js src/js/_enqueues/lib/language-chooser.js
index 8eb33b4422..a483519e49 100644
--- src/js/_enqueues/lib/language-chooser.js
+++ src/js/_enqueues/lib/language-chooser.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/language-chooser.js
- */
+/* @output wp-admin/js/language-chooser.js */
 
 jQuery( function($) {
 /*
diff --git src/js/_enqueues/lib/link.js src/js/_enqueues/lib/link.js
index a89bd577e0..a5ad0645cd 100644
--- src/js/_enqueues/lib/link.js
+++ src/js/_enqueues/lib/link.js
@@ -1,8 +1,4 @@
-/**
- * @output wp-includes/js/wplink.js
- */
-
-var wpLink;
+/* @output wp-includes/js/wplink.js */
 
 ( function( $, wpLinkL10n, wp ) {
 	var editor, searchTimer, River, Query, correctedURL, linkNode,
@@ -16,7 +12,7 @@ var wpLink;
 		return linkNode || editor.dom.getParent( editor.selection.getNode(), 'a[href]' );
 	}
 
-	wpLink = {
+	window.wpLink = {
 		timeToTriggerRiver: 150,
 		minRiverAJAXDuration: 200,
 		riverBottomThreshold: 5,
diff --git src/js/_enqueues/lib/list-revisions.js src/js/_enqueues/lib/list-revisions.js
index db0485ef97..d59d8cc8ef 100644
--- src/js/_enqueues/lib/list-revisions.js
+++ src/js/_enqueues/lib/list-revisions.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-list-revisions.js
- */
+/* @output wp-includes/js/wp-list-revisions.js */
 
 (function(w) {
 	var init = function() {
diff --git src/js/_enqueues/lib/lists.js src/js/_enqueues/lib/lists.js
index 59170bb7b4..22034f0eb9 100644
--- src/js/_enqueues/lib/lists.js
+++ src/js/_enqueues/lib/lists.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-lists.js
- */
+/* @output wp-includes/js/wp-lists.js */
 
 /* global ajaxurl, wpAjax */
 
diff --git src/js/_enqueues/lib/nav-menu.js src/js/_enqueues/lib/nav-menu.js
index bccddc8359..b22c45ac08 100644
--- src/js/_enqueues/lib/nav-menu.js
+++ src/js/_enqueues/lib/nav-menu.js
@@ -11,18 +11,16 @@
 
 /* global menus, postboxes, columns, isRtl, navMenuL10n, ajaxurl */
 
-/**
- * Contains all the functions to handle WordPress navigation menus administration.
- *
- * @namespace
- */
-var wpNavMenu;
-
 (function($) {
 
 	var api;
 
-	api = wpNavMenu = {
+	/**
+	 * Contains all the functions to handle WordPress navigation menus administration.
+	 *
+	 * @namespace wpNavMenu
+	 */
+	api = window.wpNavMenu = {
 
 		options : {
 			menuItemDepthPerLevel : 30, // Do not use directly. Use depthToPx and pxToDepth instead.
diff --git src/js/_enqueues/lib/pointer.js src/js/_enqueues/lib/pointer.js
index f841f82308..20732438e8 100644
--- src/js/_enqueues/lib/pointer.js
+++ src/js/_enqueues/lib/pointer.js
@@ -1,16 +1,17 @@
-/**
- * @output wp-includes/js/wp-pointer.js
- */
+/* @output wp-includes/js/wp-pointer.js */
 
 /* global wpPointerL10n */
 
 /**
- * Initializes the wp-pointer widget using jQuery UI Widget Factory.
+ * Pointer jQuery widget.
  */
 (function($){
 	var identifier = 0,
 		zindex = 9999;
 
+	/**
+	 * @class $.widget.wp.pointer
+	 */
 	$.widget('wp.pointer',/** @lends $.widget.wp.pointer.prototype */{
 		options: {
 			pointerClass: 'wp-pointer',
@@ -39,14 +40,6 @@
 			document: document
 		},
 
-		/**
-		 * A class that represents a WordPress pointer.
-		 *
-		 * @since 3.3.0
-		 * @private
-		 *
-		 * @constructs $.widget.wp.pointer
-		 */
 		_create: function() {
 			var positioning,
 				family;
@@ -69,23 +62,6 @@
 				.appendTo( this.options.document.body );
 		},
 
-		/**
-		 * Sets an option on the pointer instance.
-		 *
-		 * There are 4 special values that do something extra:
-		 *
-		 * - `document`     will transfer the pointer to the body of the new document
-		 *                  specified by the value.
-		 * - `pointerClass` will change the class of the pointer element.
-		 * - `position`     will reposition the pointer.
-		 * - `content`      will update the content of the pointer.
-		 *
-		 * @since 3.3.0
-		 * @private
-		 *
-		 * @param {string} key   The key of the option to set.
-		 * @param {*}      value The value to set the option to.
-		 */
 		_setOption: function( key, value ) {
 			var o   = this.options,
 				tip = this.pointer;
@@ -112,45 +88,15 @@
 			}
 		},
 
-		/**
-		 * Removes the pointer element from of the DOM.
-		 *
-		 * Makes sure that the widget and all associated bindings are destroyed.
-		 *
-		 * @since 3.3.0
-		 */
 		destroy: function() {
 			this.pointer.remove();
 			$.Widget.prototype.destroy.call( this );
 		},
 
-		/**
-		 * Returns the pointer element.
-		 *
-		 * @since 3.3.0
-		 *
-		 * @return {Object} Pointer The pointer object.
-		 */
 		widget: function() {
 			return this.pointer;
 		},
 
-		/**
-		 * Updates the content of the pointer.
-		 *
-		 * This function doesn't update the content of the pointer itself. That is done
-		 * by the `_update` method. This method will make sure that the `_update` method
-		 * is called with the right content.
-		 *
-		 * The content in the options can either be a string or a callback. If it is a
-		 * callback the result of this callback is used as the content.
-		 *
-		 * @since 3.3.0
-		 *
-		 * @param {Object} event The event that caused the update.
-		 *
-		 * @return {Promise} Resolves when the update has been executed.
-		 */
 		update: function( event ) {
 			var self = this,
 				o    = this.options,
@@ -181,15 +127,8 @@
 		},
 
 		/**
-		 * Updates the content of the pointer.
-		 *
-		 * Will make sure that the pointer is correctly positioned.
-		 *
-		 * @since 3.3.0
-		 * @private
-		 *
-		 * @param {Object} event   The event that caused the update.
-		 * @param {*}      content The content object. Either a string or a jQuery tree.
+		 * Update is separated into two functions to allow events to defer
+		 * updating the pointer (e.g. fetch content with ajax, etc).
 		 */
 		_update: function( event, content ) {
 			var buttons,
@@ -198,8 +137,7 @@
 			if ( ! content )
 				return;
 
-			// Kill any animations on the pointer.
-			this.pointer.stop();
+			this.pointer.stop(); // Kill any animations on the pointer.
 			this.content.html( content );
 
 			buttons = o.buttons.call( this.element[0], event, this._handoff() );
@@ -210,14 +148,6 @@
 			this.reposition();
 		},
 
-		/**
-		 * Repositions the pointer.
-		 *
-		 * Makes sure the pointer is the correct size for its content and makes sure it
-		 * is positioned to point to the right element.
-		 *
-		 * @since 3.3.0
-		 */
 		reposition: function() {
 			var position;
 
@@ -239,11 +169,6 @@
 			this.repoint();
 		},
 
-		/**
-		 * Sets the arrow of the pointer to the correct side of the pointer element.
-		 *
-		 * @since 3.3.0
-		 */
 		repoint: function() {
 			var o = this.options,
 				edge;
@@ -260,17 +185,6 @@
 			this.pointer.addClass( 'wp-pointer-' + edge );
 		},
 
-		/**
-		 * Calculates the correct position based on a position in the settings.
-		 *
-		 * @since 3.3.0
-		 * @private
-		 *
-		 * @param {string|Object} position Either a side of a pointer or an object
-		 *                                 containing a pointer.
-		 *
-		 * @return {Object} result  An object containing position related data.
-		 */
 		_processPosition: function( position ) {
 			var opposite = {
 					top: 'bottom',
@@ -307,17 +221,6 @@
 			return result;
 		},
 
-		/**
-		 * Opens the pointer.
-		 *
-		 * Only opens the pointer widget in case it is closed and not disabled, and
-		 * calls 'update' before doing so. Calling update makes sure that the pointer
-		 * is correctly sized and positioned.
-		 *
-		 * @since 3.3.0
-		 *
-		 * @param {Object} event The event that triggered the opening of this pointer.
-		 */
 		open: function( event ) {
 			var self = this,
 				o    = this.options;
@@ -330,14 +233,6 @@
 			});
 		},
 
-		/**
-		 * Opens and shows the pointer element.
-		 *
-		 * @since 3.3.0
-		 * @private
-		 *
-		 * @param {Object} event An event object.
-		 */
 		_open: function( event ) {
 			var self = this,
 				o    = this.options;
@@ -356,13 +251,6 @@
 			}));
 		},
 
-		/**
-		 * Closes and hides the pointer element.
-		 *
-		 * @since 3.3.0
-		 *
-		 * @param {Object} event An event object.
-		 */
 		close: function( event ) {
 			if ( !this.active || this.options.disabled )
 				return;
@@ -378,23 +266,11 @@
 			}));
 		},
 
-		/**
-		 * Puts the pointer on top by increasing the z-index.
-		 *
-		 * @since 3.3.0
-		 */
 		sendToTop: function() {
 			if ( this.active )
 				this.pointer.css( 'z-index', zindex++ );
 		},
 
-		/**
-		 * Toggles the element between shown and hidden.
-		 *
-		 * @since 3.3.0
-		 *
-		 * @param {Object} event An event object.
-		 */
 		toggle: function( event ) {
 			if ( this.pointer.is(':hidden') )
 				this.open( event );
@@ -402,17 +278,6 @@
 				this.close( event );
 		},
 
-		/**
-		 * Extends the pointer and the widget element with the supplied parameter, which
-		 * is either an element or a function.
-		 *
-		 * @since 3.3.0
-		 * @private
-		 *
-		 * @param {Object} extend The object to be merged into the original object.
-		 *
-		 * @return {Object} The extended object.
-		 */
 		_handoff: function( extend ) {
 			return $.extend({
 				pointer: this.pointer,
diff --git src/js/_enqueues/lib/quicktags.js src/js/_enqueues/lib/quicktags.js
index 8906af1869..96c4ade5b2 100644
--- src/js/_enqueues/lib/quicktags.js
+++ src/js/_enqueues/lib/quicktags.js
@@ -26,8 +26,7 @@
 
 /* global adminpage, wpActiveEditor, quicktagsL10n, wpLink, prompt */
 
-var QTags, edCanvas,
-	edButtons = [];
+window.edButtons = [];
 
 /* jshint ignore:start */
 
@@ -36,24 +35,24 @@ var QTags, edCanvas,
  *
  * Define all former global functions so plugins that hack quicktags.js directly don't cause fatal errors.
  */
-var edAddTag = function(){},
-edCheckOpenTags = function(){},
-edCloseAllTags = function(){},
-edInsertImage = function(){},
-edInsertLink = function(){},
-edInsertTag = function(){},
-edLink = function(){},
-edQuickLink = function(){},
-edRemoveTag = function(){},
-edShowButton = function(){},
-edShowLinks = function(){},
-edSpell = function(){},
-edToolbar = function(){};
+window.edAddTag = function(){},
+window.edCheckOpenTags = function(){},
+window.edCloseAllTags = function(){},
+window.edInsertImage = function(){},
+window.edInsertLink = function(){},
+window.edInsertTag = function(){},
+window.edLink = function(){},
+window.edQuickLink = function(){},
+window.edRemoveTag = function(){},
+window.edShowButton = function(){},
+window.edShowLinks = function(){},
+window.edSpell = function(){},
+window.edToolbar = function(){};
 
 /**
  * Initialize new instance of the Quicktags editor
  */
-function quicktags(settings) {
+window.quicktags = function(settings) {
 	return new QTags(settings);
 }
 
@@ -63,7 +62,7 @@ function quicktags(settings) {
  * Added for back compatibility
  * @see QTags.insertContent()
  */
-function edInsertContent(bah, txt) {
+window.edInsertContent = function(bah, txt) {
 	return QTags.insertContent(txt);
 }
 
@@ -73,7 +72,7 @@ function edInsertContent(bah, txt) {
  * Added for back compatibility, use QTags.addButton() as it gives more flexibility like type of button, button placement, etc.
  * @see QTags.addButton()
  */
-function edButton(id, display, tagStart, tagEnd, access) {
+window.edButton = function(id, display, tagStart, tagEnd, access) {
 	return QTags.addButton( id, display, tagStart, tagEnd, access, '', -1 );
 }
 
@@ -156,7 +155,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
 	})(),
 	qt;
 
-	qt = QTags = function(settings) {
+	qt = window.QTags = function(settings) {
 		if ( typeof(settings) === 'string' ) {
 			settings = {id: settings};
 		} else if ( typeof(settings) !== 'object' ) {
@@ -180,7 +179,7 @@ function edButton(id, display, tagStart, tagEnd, access) {
 
 		if ( id === 'content' && typeof(adminpage) === 'string' && ( adminpage === 'post-new-php' || adminpage === 'post-php' ) ) {
 			// back compat hack :-(
-			edCanvas = canvas;
+			window.edCanvas = canvas;
 			toolbar_id = 'ed_toolbar';
 		} else {
 			toolbar_id = name + '_toolbar';
diff --git src/js/_enqueues/lib/zxcvbn-async.js src/js/_enqueues/lib/zxcvbn-async.js
index 114cb5a0d6..d3d56893f4 100644
--- src/js/_enqueues/lib/zxcvbn-async.js
+++ src/js/_enqueues/lib/zxcvbn-async.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/zxcvbn-async.js
- */
+/* @output wp-includes/js/zxcvbn-async.js */
 
 /* global _zxcvbnSettings */
 
diff --git src/js/_enqueues/wp/a11y.js src/js/_enqueues/wp/a11y.js
index 503c62142b..7178de3283 100644
--- src/js/_enqueues/wp/a11y.js
+++ src/js/_enqueues/wp/a11y.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-a11y.js
- */
+/* @output wp-includes/js/wp-a11y.js */
 
 /** @namespace wp */
 window.wp = window.wp || {};
diff --git src/js/_enqueues/wp/api.js src/js/_enqueues/wp/api.js
index c62e73ff38..1894a3bd8d 100644
--- src/js/_enqueues/wp/api.js
+++ src/js/_enqueues/wp/api.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-api.js
- */
+/* @output wp-includes/js/wp-api.js */
 
 (function( window, undefined ) {
 
diff --git src/js/_enqueues/wp/autosave.js src/js/_enqueues/wp/autosave.js
index c28e48a780..12a72bda84 100644
--- src/js/_enqueues/wp/autosave.js
+++ src/js/_enqueues/wp/autosave.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/autosave.js
- */
+/* @output wp-includes/js/autosave.js */
 
 /* global tinymce, wpCookies, autosaveL10n, switchEditors */
 // Back-compat
diff --git src/js/_enqueues/wp/backbone.js src/js/_enqueues/wp/backbone.js
index 12ce614569..98ec9d3e4e 100644
--- src/js/_enqueues/wp/backbone.js
+++ src/js/_enqueues/wp/backbone.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-backbone.js
- */
+/* @output wp-includes/js/wp-backbone.js */
 
 /** @namespace wp */
 window.wp = window.wp || {};
diff --git src/js/_enqueues/wp/code-editor.js src/js/_enqueues/wp/code-editor.js
index ea04cea2bc..4b3e5d1b5a 100644
--- src/js/_enqueues/wp/code-editor.js
+++ src/js/_enqueues/wp/code-editor.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/code-editor.js
- */
+/* @output wp-admin/js/code-editor.js */
 
 if ( 'undefined' === typeof window.wp ) {
 	/**
diff --git src/js/_enqueues/wp/custom-header.js src/js/_enqueues/wp/custom-header.js
index 17522af766..9d22589db9 100644
--- src/js/_enqueues/wp/custom-header.js
+++ src/js/_enqueues/wp/custom-header.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-custom-header.js
- */
+/* @output wp-includes/js/wp-custom-header.js */
 
 /* global YT */
 (function( window, settings ) {
diff --git src/js/_enqueues/wp/customize/base.js src/js/_enqueues/wp/customize/base.js
index 39aec0ad0c..269541bb80 100644
--- src/js/_enqueues/wp/customize/base.js
+++ src/js/_enqueues/wp/customize/base.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-base.js
- */
+/* @output wp-includes/js/customize-base.js */
 
 /** @namespace wp */
 window.wp = window.wp || {};
diff --git src/js/_enqueues/wp/customize/controls.js src/js/_enqueues/wp/customize/controls.js
index bfd21c627b..ad2dc982e5 100644
--- src/js/_enqueues/wp/customize/controls.js
+++ src/js/_enqueues/wp/customize/controls.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/customize-controls.js
- */
+/* @output wp-admin/js/customize-controls.js */
 
 /* global _wpCustomizeHeader, _wpCustomizeBackground, _wpMediaViewsL10n, MediaElementPlayer, console, confirm */
 (function( exports, $ ){
diff --git src/js/_enqueues/wp/customize/loader.js src/js/_enqueues/wp/customize/loader.js
index e27f1bc9c5..095e9909a4 100644
--- src/js/_enqueues/wp/customize/loader.js
+++ src/js/_enqueues/wp/customize/loader.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-loader.js
- */
+/* @output wp-includes/js/customize-loader.js */
 
 /* global _wpCustomizeLoaderSettings */
 
diff --git src/js/_enqueues/wp/customize/models.js src/js/_enqueues/wp/customize/models.js
index f11b3d04b8..91746a3cc8 100644
--- src/js/_enqueues/wp/customize/models.js
+++ src/js/_enqueues/wp/customize/models.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-models.js
- */
+/* @output wp-includes/js/customize-models.js */
 
 /* global _wpCustomizeHeader */
 (function( $, wp ) {
diff --git src/js/_enqueues/wp/customize/nav-menus.js src/js/_enqueues/wp/customize/nav-menus.js
index f51f6296d2..2465fcfb58 100644
--- src/js/_enqueues/wp/customize/nav-menus.js
+++ src/js/_enqueues/wp/customize/nav-menus.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/customize-nav-menus.js
- */
+/* @output wp-admin/js/customize-nav-menus.js */
 
 /* global _wpCustomizeNavMenusSettings, wpNavMenu, console */
 ( function( api, wp, $ ) {
diff --git src/js/_enqueues/wp/customize/preview-nav-menus.js src/js/_enqueues/wp/customize/preview-nav-menus.js
index 696d71afbc..bf86315510 100644
--- src/js/_enqueues/wp/customize/preview-nav-menus.js
+++ src/js/_enqueues/wp/customize/preview-nav-menus.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-preview-nav-menus.js
- */
+/* @output wp-includes/js/customize-preview-nav-menus.js */
 
 /* global _wpCustomizePreviewNavMenusExports */
 
diff --git src/js/_enqueues/wp/customize/preview-widgets.js src/js/_enqueues/wp/customize/preview-widgets.js
index f23cc6b212..0cdcc69796 100644
--- src/js/_enqueues/wp/customize/preview-widgets.js
+++ src/js/_enqueues/wp/customize/preview-widgets.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-preview-widgets.js
- */
+/* @output wp-includes/js/customize-preview-widgets.js */
 
 /* global _wpWidgetCustomizerPreviewSettings */
 
diff --git src/js/_enqueues/wp/customize/selective-refresh.js src/js/_enqueues/wp/customize/selective-refresh.js
index 82d0f9e8d6..8a46ef0914 100644
--- src/js/_enqueues/wp/customize/selective-refresh.js
+++ src/js/_enqueues/wp/customize/selective-refresh.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-selective-refresh.js
- */
+/* @output wp-includes/js/customize-selective-refresh.js */
 
 /* global jQuery, JSON, _customizePartialRefreshExports, console */
 
diff --git src/js/_enqueues/wp/customize/views.js src/js/_enqueues/wp/customize/views.js
index a7125e032e..fcfefd33b6 100644
--- src/js/_enqueues/wp/customize/views.js
+++ src/js/_enqueues/wp/customize/views.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/customize-views.js
- */
+/* @output wp-includes/js/customize-views.js */
 
 (function( $, wp, _ ) {
 
diff --git src/js/_enqueues/wp/customize/widgets.js src/js/_enqueues/wp/customize/widgets.js
index 9e4b957a25..3a3acf9f4f 100644
--- src/js/_enqueues/wp/customize/widgets.js
+++ src/js/_enqueues/wp/customize/widgets.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/customize-widgets.js
- */
+/* @output wp-admin/js/customize-widgets.js */
 
 /* global _wpCustomizeWidgetsSettings */
 (function( wp, $ ){
diff --git src/js/_enqueues/wp/dashboard.js src/js/_enqueues/wp/dashboard.js
index 0719c875eb..e4266ba3c7 100644
--- src/js/_enqueues/wp/dashboard.js
+++ src/js/_enqueues/wp/dashboard.js
@@ -1,9 +1,6 @@
-/**
- * @output wp-admin/js/dashboard.js
- */
+/* @output wp-admin/js/dashboard.js */
 
 /* global pagenow, ajaxurl, postboxes, wpActiveEditor:true */
-var ajaxWidgets, ajaxPopulateWidgets, quickPressLoad;
 window.wp = window.wp || {};
 
 /**
@@ -61,7 +58,7 @@ jQuery(document).ready( function($) {
 	 *
 	 * @global
  	 */
-	ajaxWidgets = ['dashboard_primary'];
+	window.ajaxWidgets = ['dashboard_primary'];
 
 	/**
 	 * Triggers widget updates via AJAX.
@@ -74,7 +71,7 @@ jQuery(document).ready( function($) {
 	 *
 	 * @returns {void}
 	 */
-	ajaxPopulateWidgets = function(el) {
+	window.ajaxPopulateWidgets = function(el) {
 		/**
 		 * Fetch the latest representation of the widget via Ajax and show it.
 		 *
@@ -104,21 +101,21 @@ jQuery(document).ready( function($) {
 		if ( el ) {
 			el = el.toString();
 			// If the element is available as AJAX widget, show it.
-			if ( $.inArray(el, ajaxWidgets) !== -1 ) {
+			if ( $.inArray(el, window.ajaxWidgets) !== -1 ) {
 				// Show element without any delay.
 				show(0, el);
 			}
 		} else {
 			// Walk through all ajaxWidgets, loading them after each other.
-			$.each( ajaxWidgets, show );
+			$.each( window.ajaxWidgets, show );
 		}
 	};
 
 	// Initially populate ajax widgets.
-	ajaxPopulateWidgets();
+	window.ajaxPopulateWidgets();
 
 	// Register ajax widgets as postbox toggles.
-	postboxes.add_postbox_toggles(pagenow, { pbshow: ajaxPopulateWidgets } );
+	postboxes.add_postbox_toggles(pagenow, { pbshow: window.ajaxPopulateWidgets } );
 
 	/**
 	 * Control the Quick Press (Quick Draft) widget.
@@ -129,7 +126,7 @@ jQuery(document).ready( function($) {
 	 *
 	 * @returns {void}
 	 */
-	quickPressLoad = function() {
+	window.quickPressLoad = function() {
 		var act = $('#quickpost-action'), t;
 
 		// Enable the submit buttons.
@@ -149,7 +146,7 @@ jQuery(document).ready( function($) {
 				// Replace the form, and prepend the published post.
 				$('#dashboard_quick_press .inside').html( data );
 				$('#quick-press').removeClass('initial-form');
-				quickPressLoad();
+				window.quickPressLoad();
 				highlightLatestPost();
 
 				// Focus the title to allow for quickly drafting another post.
@@ -210,7 +207,7 @@ jQuery(document).ready( function($) {
 
 		autoResizeTextarea();
 	};
-	quickPressLoad();
+	window.quickPressLoad();
 
 	// Enable the dragging functionality of the widgets.
 	$( '.meta-box-sortables' ).sortable( 'option', 'containment', '#wpwrap' );
diff --git src/js/_enqueues/wp/editor/base.js src/js/_enqueues/wp/editor/base.js
index c3ef2238af..20be129b12 100644
--- src/js/_enqueues/wp/editor/base.js
+++ src/js/_enqueues/wp/editor/base.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/editor.js
- */
+/* @output wp-admin/js/editor.js */
 
 window.wp = window.wp || {};
 
diff --git src/js/_enqueues/wp/editor/dfw.js src/js/_enqueues/wp/editor/dfw.js
index 30cc5e9e0c..74a1d57b7a 100644
--- src/js/_enqueues/wp/editor/dfw.js
+++ src/js/_enqueues/wp/editor/dfw.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/editor-expand.js
- */
+/* @output wp-admin/js/editor-expand.js */
 
 ( function( window, $, undefined ) {
 	'use strict';
diff --git src/js/_enqueues/wp/embed.js src/js/_enqueues/wp/embed.js
index 16e7e8bb41..5913a97fc8 100644
--- src/js/_enqueues/wp/embed.js
+++ src/js/_enqueues/wp/embed.js
@@ -2,11 +2,13 @@
  * WordPress inline HTML embed
  *
  * @since 4.4.0
- * @output wp-includes/js/wp-embed.js
  *
  * This file cannot have ampersands in it. This is to ensure
  * it can be embedded in older versions of WordPress.
  * See https://core.trac.wordpress.org/changeset/35708.
+ *
+ * For this reason this file also will not be build by
+ * WebPack and has a custom CopyPlugin configuration to build it.
  */
 (function ( window, document ) {
 	'use strict';
diff --git src/js/_enqueues/wp/emoji.js src/js/_enqueues/wp/emoji.js
index dfb56bbecb..f97634fb32 100644
--- src/js/_enqueues/wp/emoji.js
+++ src/js/_enqueues/wp/emoji.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-emoji.js
- */
+/* @output wp-includes/js/wp-emoji.js */
 
 ( function( window, settings ) {
 	function wpEmoji() {
diff --git src/js/_enqueues/wp/mce-view.js src/js/_enqueues/wp/mce-view.js
index e69c748a10..2dca6ce5f1 100644
--- src/js/_enqueues/wp/mce-view.js
+++ src/js/_enqueues/wp/mce-view.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/mce-view.js
- */
+/* @output wp-includes/js/mce-view.js */
 
 /* global tinymce */
 
diff --git src/js/_enqueues/wp/media/audiovideo.js src/js/_enqueues/wp/media/audiovideo.js
index a75d8a2f29..0dd534d7e8 100644
--- src/js/_enqueues/wp/media/audiovideo.js
+++ src/js/_enqueues/wp/media/audiovideo.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/media-audiovideo.js
- */
+/* @output wp-includes/js/media-audiovideo.js */
 
 var media = wp.media,
 	baseSettings = window._wpmejsSettings || {},
diff --git src/js/_enqueues/wp/media/editor.js src/js/_enqueues/wp/media/editor.js
index e72bd099ac..8c25406310 100644
--- src/js/_enqueues/wp/media/editor.js
+++ src/js/_enqueues/wp/media/editor.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/media-editor.js
- */
+/* @output wp-includes/js/media-editor.js */
 
 /* global getUserSetting, tinymce, QTags */
 
diff --git src/js/_enqueues/wp/media/grid.js src/js/_enqueues/wp/media/grid.js
index 06dacba48e..70d487ff87 100644
--- src/js/_enqueues/wp/media/grid.js
+++ src/js/_enqueues/wp/media/grid.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/media-grid.js
- */
+/* @output wp-includes/js/media-grid.js */
 
 var media = wp.media;
 
diff --git src/js/_enqueues/wp/media/models.js src/js/_enqueues/wp/media/models.js
index 7c6f4e66f1..1a9ca853bd 100644
--- src/js/_enqueues/wp/media/models.js
+++ src/js/_enqueues/wp/media/models.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/media-models.js
- */
+/* @output wp-includes/js/media-models.js */
 
 var $ = jQuery,
 	Attachment, Attachments, l10n, media;
diff --git src/js/_enqueues/wp/media/views.js src/js/_enqueues/wp/media/views.js
index 01b8d00c42..82ed5d0845 100644
--- src/js/_enqueues/wp/media/views.js
+++ src/js/_enqueues/wp/media/views.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/media-views.js
- */
+/* @output wp-includes/js/media-views.js */
 
 var media = wp.media,
 	$ = jQuery,
diff --git src/js/_enqueues/wp/password-strength-meter.js src/js/_enqueues/wp/password-strength-meter.js
index 14ef40798e..4ea5fbdbaf 100644
--- src/js/_enqueues/wp/password-strength-meter.js
+++ src/js/_enqueues/wp/password-strength-meter.js
@@ -1,11 +1,8 @@
-/**
- * @output wp-admin/js/password-strength-meter.js
- */
+/* @output wp-admin/js/password-strength-meter.js */
 
 /* global zxcvbn */
 window.wp = window.wp || {};
 
-var passwordStrength;
 (function($){
 
 	/**
@@ -118,5 +115,5 @@ var passwordStrength;
 	 *
 	 * @type {wp.passwordStrength.meter}
 	 */
-	passwordStrength = wp.passwordStrength.meter;
+	window.passwordStrength = wp.passwordStrength.meter;
 })(jQuery);
diff --git src/js/_enqueues/wp/sanitize.js src/js/_enqueues/wp/sanitize.js
index 76b587ba74..3326f24e6d 100644
--- src/js/_enqueues/wp/sanitize.js
+++ src/js/_enqueues/wp/sanitize.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-sanitize.js
- */
+/* @output wp-includes/js/wp-sanitize.js */
 
 ( function () {
 
diff --git src/js/_enqueues/wp/theme-plugin-editor.js src/js/_enqueues/wp/theme-plugin-editor.js
index 78a824f12e..276dcbc28e 100644
--- src/js/_enqueues/wp/theme-plugin-editor.js
+++ src/js/_enqueues/wp/theme-plugin-editor.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/theme-plugin-editor.js
- */
+/* @output wp-admin/js/theme-plugin-editor.js */
 
 /* eslint no-magic-numbers: ["error", { "ignore": [-1, 0, 1] }] */
 
diff --git src/js/_enqueues/wp/theme.js src/js/_enqueues/wp/theme.js
index 9eefeb4caa..11837f4ddd 100644
--- src/js/_enqueues/wp/theme.js
+++ src/js/_enqueues/wp/theme.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/theme.js
- */
+/* @output wp-admin/js/theme.js */
 
 /* global _wpThemeSettings, confirm */
 window.wp = window.wp || {};
@@ -2041,9 +2039,8 @@ $( document ).ready(function() {
 })( jQuery );
 
 // Align theme browser thickbox
-var tb_position;
 jQuery(document).ready( function($) {
-	tb_position = function() {
+	window.tb_position = function() {
 		var tbWindow = $('#TB_window'),
 			width = $(window).width(),
 			H = $(window).height(),
diff --git src/js/_enqueues/wp/util.js src/js/_enqueues/wp/util.js
index 9befe512a1..f36a0a63a5 100644
--- src/js/_enqueues/wp/util.js
+++ src/js/_enqueues/wp/util.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-includes/js/wp-util.js
- */
+/* @output wp-includes/js/wp-util.js */
 
 /* global _wpUtilSettings */
 
diff --git src/js/_enqueues/wp/widgets/custom-html.js src/js/_enqueues/wp/widgets/custom-html.js
index a5bc550b07..bcda38b8d0 100644
--- src/js/_enqueues/wp/widgets/custom-html.js
+++ src/js/_enqueues/wp/widgets/custom-html.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/custom-html-widgets.js
- */
+/* @output wp-admin/js/widgets/custom-html-widgets.js */
 
 /* global wp */
 /* eslint consistent-this: [ "error", "control" ] */
diff --git src/js/_enqueues/wp/widgets/media-audio.js src/js/_enqueues/wp/widgets/media-audio.js
index e050c30aa3..e33d3c145b 100644
--- src/js/_enqueues/wp/widgets/media-audio.js
+++ src/js/_enqueues/wp/widgets/media-audio.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/media-audio-widget.js
- */
+/* @output wp-admin/js/widgets/media-audio-widget.js */
 
 /* eslint consistent-this: [ "error", "control" ] */
 (function( component ) {
diff --git src/js/_enqueues/wp/widgets/media-gallery.js src/js/_enqueues/wp/widgets/media-gallery.js
index 45671e7e8c..2bfc97284b 100644
--- src/js/_enqueues/wp/widgets/media-gallery.js
+++ src/js/_enqueues/wp/widgets/media-gallery.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/media-gallery-widget.js
- */
+/* @output wp-admin/js/widgets/media-gallery-widget.js */
 
 /* eslint consistent-this: [ "error", "control" ] */
 (function( component ) {
diff --git src/js/_enqueues/wp/widgets/media-image.js src/js/_enqueues/wp/widgets/media-image.js
index 3ea4f9be74..4555d1e2c2 100644
--- src/js/_enqueues/wp/widgets/media-image.js
+++ src/js/_enqueues/wp/widgets/media-image.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/media-image-widget.js
- */
+/* @output wp-admin/js/widgets/media-image-widget.js */
 
 /* eslint consistent-this: [ "error", "control" ] */
 (function( component, $ ) {
diff --git src/js/_enqueues/wp/widgets/media-video.js src/js/_enqueues/wp/widgets/media-video.js
index b716cce437..4a415b76bf 100644
--- src/js/_enqueues/wp/widgets/media-video.js
+++ src/js/_enqueues/wp/widgets/media-video.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/media-video-widget.js
- */
+/* @output wp-admin/js/widgets/media-video-widget.js */
 
 /* eslint consistent-this: [ "error", "control" ] */
 (function( component ) {
diff --git src/js/_enqueues/wp/widgets/media.js src/js/_enqueues/wp/widgets/media.js
index 31d093b42d..6bc770d0b0 100644
--- src/js/_enqueues/wp/widgets/media.js
+++ src/js/_enqueues/wp/widgets/media.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/media-widgets.js
- */
+/* @output wp-admin/js/widgets/media-widgets.js */
 
 /* eslint consistent-this: [ "error", "control" ] */
 
diff --git src/js/_enqueues/wp/widgets/text.js src/js/_enqueues/wp/widgets/text.js
index 184e7242e6..731e9fdc82 100644
--- src/js/_enqueues/wp/widgets/text.js
+++ src/js/_enqueues/wp/widgets/text.js
@@ -1,6 +1,4 @@
-/**
- * @output wp-admin/js/widgets/text-widgets.js
- */
+/* @output wp-admin/js/widgets/text-widgets.js */
 
 /* global tinymce, switchEditors */
 /* eslint consistent-this: [ "error", "control" ] */
diff --git tools/webpack/compressTinymcePlugin.js tools/webpack/compressTinymcePlugin.js
new file mode 100644
index 0000000000..d3b7c4bc64
--- /dev/null
+++ tools/webpack/compressTinymcePlugin.js
@@ -0,0 +1,5 @@
+var CompressionPlugin = require("compression-webpack-plugin");
+
+module.exports = new CompressionPlugin({
+	include: './build/wp-includes/js/tinymce/wp-tinymce.js'
+});
diff --git tools/webpack/concatEmojiPlugin.js tools/webpack/concatEmojiPlugin.js
new file mode 100644
index 0000000000..15a02cf574
--- /dev/null
+++ tools/webpack/concatEmojiPlugin.js
@@ -0,0 +1,10 @@
+var ConcatPlugin = require('webpack-concat-plugin');
+
+module.exports = new ConcatPlugin({
+	filesToConcat: [
+		'./node_modules/twemoji/2/twemoji.js',
+		'./src/js/_enqueues/wp/emoji.js'
+	],
+	outputPath: './build/wp-includes/js/',
+	fileName: 'wp-emoji-release.min.js'
+});
diff --git tools/webpack/concatTinymcePlugin.js tools/webpack/concatTinymcePlugin.js
new file mode 100644
index 0000000000..4d00d72dd0
--- /dev/null
+++ tools/webpack/concatTinymcePlugin.js
@@ -0,0 +1,11 @@
+var ConcatPlugin = require('webpack-concat-plugin');
+
+module.exports = new ConcatPlugin({
+	filesToConcat: [
+		'./src/js/_enqueues/vendor/tinymce/tinymce.min.js',
+		'./src/js/_enqueues/vendor/tinymce/themes/modern/theme.min.js',
+		'./src/js/_enqueues/vendor/tinymce/plugins/**/plugin.min.js'
+	],
+	outputPath: './build/wp-includes/js/tinymce/',
+	fileName: 'wp-tinymce.js'
+});
diff --git tools/webpack/copyEmbedPlugin.js tools/webpack/copyEmbedPlugin.js
new file mode 100644
index 0000000000..b60a86d54f
--- /dev/null
+++ tools/webpack/copyEmbedPlugin.js
@@ -0,0 +1,15 @@
+var CopyPlugin = require('copy-webpack-plugin');
+
+var getMinifier = require( './getMinifier' );
+
+module.exports = new CopyPlugin([
+	{
+		from: './src/js/_enqueues/wp/embed.js',
+		to: './build/wp-includes/js/wp-embed.js'
+	},
+	{
+		from: './src/js/_enqueues/wp/embed.js',
+		to: './build/wp-includes/js/wp-embed.min.js',
+		transform: getMinifier( { compress: { conditionals: false } } )
+	}
+]);
diff --git tools/webpack/copyPackagesPlugin.js tools/webpack/copyPackagesPlugin.js
new file mode 100644
index 0000000000..6acf5840db
--- /dev/null
+++ tools/webpack/copyPackagesPlugin.js
@@ -0,0 +1,37 @@
+var CopyPlugin = require('copy-webpack-plugin');
+
+var getMinifier = require( './getMinifier' );
+
+module.exports = new CopyPlugin([
+	{ to: './build/wp-includes/js/backbone.js',                  from: './node_modules/backbone/backbone.js' },
+	{ to: './build/wp-includes/js/backbone.min.js',              from: './node_modules/backbone/backbone-min.js' },
+	{ to: './build/wp-includes/js/hoverIntent.js',               from: './node_modules/jquery-hoverintent/jquery.hoverIntent.js' },
+	{
+		to: './build/wp-includes/js/hoverIntent.min.js',
+		from: './node_modules/jquery-hoverintent/jquery.hoverIntent.js',
+		transform: getMinifier()
+	},
+	{ to: './build/wp-includes/js/imagesloaded.min.js',          from: './node_modules/imagesloaded/imagesloaded.pkgd.min.js' },
+	{ to: './build/wp-includes/js/jquery/jquery-migrate.js',     from: './node_modules/jquery-migrate/dist/jquery-migrate.js' },
+	{ to: './build/wp-includes/js/jquery/jquery-migrate.min.js', from: './node_modules/jquery-migrate/dist/jquery-migrate.min.js' },
+	{ to: './build/wp-includes/js/jquery/jquery.form.js',        from: './node_modules/jquery-form/src/jquery.form.js' },
+	{ to: './build/wp-includes/js/jquery/jquery.form.min.js',    from: './node_modules/jquery-form/dist/jquery.form.min.js' },
+	{ to: './build/wp-includes/js/masonry.min.js',               from: './node_modules/masonry-layout/dist/masonry.pkgd.min.js' },
+	{ to: './build/wp-includes/js/underscore.min.js',            from: './node_modules/underscore/underscore-min.js' },
+	{ to: './build/wp-includes/js/twemoji.js',                   from: './node_modules/twemoji/2/twemoji.js' },
+	{ to: './build/wp-includes/js/twemoji.min.js',               from: './node_modules/twemoji/2/twemoji.min.js' },
+	{
+		to: './build/wp-includes/js/jquery/jquery.js',
+		from: './node_modules/jquery/dist/jquery.min.js',
+		transform: function ( contents ) {
+			return contents.toString() + '\njQuery.noConflict();';
+		}
+	},
+	{
+		from: '*.js',
+		context: './node_modules/jquery-ui/ui/',
+		to: './build/wp-includes/js/jquery/ui/[name].min.js',
+		toType: 'template',
+		transform: getMinifier( { output: { comments: /^!/ } } )
+	}
+]);
diff --git tools/webpack/copyVendorPlugin.js tools/webpack/copyVendorPlugin.js
new file mode 100644
index 0000000000..a3f7d30cd1
--- /dev/null
+++ tools/webpack/copyVendorPlugin.js
@@ -0,0 +1,79 @@
+var CopyPlugin = require('copy-webpack-plugin');
+
+var getMinifier = require( './getMinifier' );
+
+module.exports = new CopyPlugin([
+	{
+		from: '**/*',
+		context: './src/js/_enqueues/vendor/',
+		ignore: [
+			'farbtastic.js',
+			'iris.min.js',
+			'deprecated/**',
+			'README.md',
+			// Ignore unminified version of vendor lib we don't ship.
+			'jquery/jquery.masonry.js',
+			'tinymce/tinymce.js'
+		],
+		to: './build/wp-includes/js/'
+	},
+	{
+		from: '{farbtastic,iris.min}.js',
+		context: './src/js/_enqueues/vendor/',
+		to: './build/wp-admin/js/'
+	},
+	{
+		from: 'suggest*',
+		context: './src/js/_enqueues/vendor/deprecated',
+		to: 'build/wp-includes/js/jquery/'
+	},
+	{
+		from: './src/js/_enqueues/vendor/imgareaselect/jquery.imgareaselect.js',
+		to: './build/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js',
+		transform: getMinifier()
+	},
+	{
+		from: './src/js/_enqueues/vendor/colorpicker.js',
+		to: './build/wp-includes/js/colorpicker.min.js',
+		transform: getMinifier()
+	},
+	{
+		from: './src/js/_enqueues/vendor/json2.js',
+		to: './build/wp-includes/js/json2.min.js',
+		transform: getMinifier()
+	},
+	{
+		from: './src/js/_enqueues/vendor/mediaelement/mediaelement-migrate.js',
+		to: './build/wp-includes/js/mediaelement/mediaelement-migrate.min.js',
+		transform: getMinifier()
+	},
+	{
+		from: './src/js/_enqueues/vendor/mediaelement/wp-mediaelement.js',
+		to: './build/wp-includes/js/mediaelement/wp-mediaelement.min.js',
+		transform: getMinifier()
+	},
+	{
+		from: './src/js/_enqueues/vendor/mediaelement/wp-playlist.js',
+		to: './build/wp-includes/js/mediaelement/wp-playlist.min.js',
+		transform: getMinifier()
+	},
+	{
+		from: '*.js',
+		context: './src/js/_enqueues/vendor/plupload/',
+		to: './build/wp-includes/js/plupload/[name].min.js',
+		toType: 'template',
+		transform: getMinifier()
+	},
+	{
+		from: '{wordpress,wp*}/plugin.js',
+		context: './src/js/_enqueues/vendor/tinymce/plugins/',
+		to: './build/wp-includes/js/tinymce/plugins/[path]plugin.min.js',
+		toType: 'template',
+		transform: getMinifier()
+	},
+	{
+		from: './src/js/_enqueues/vendor/tw-sack.js',
+		to: './build/wp-includes/js/tw-sack.min.js',
+		transform: getMinifier()
+	}
+]);
diff --git tools/webpack/generateEntries.js tools/webpack/generateEntries.js
new file mode 100644
index 0000000000..d32700cf4f
--- /dev/null
+++ tools/webpack/generateEntries.js
@@ -0,0 +1,73 @@
+var LineReader  = require( 'n-readlines' ),
+	glob        = require( 'glob' ),
+	outputRegex = /@output ([^\s]+)/;
+
+function getFileOutput( file ) {
+	var line, inComment, lineReader = new LineReader( file );
+
+	while ( line = lineReader.next() ) {
+		line = line.toString().trim();
+
+		// Empty line or opening/closing of comment block.
+		if ( line === '/*' || line === '/**' ) {
+			inComment = true;
+			continue;
+		}
+		if ( line === '*/' ) {
+			inComment = false;
+			continue;
+		}
+		if ( line.length === 0 ) {
+			continue;
+		}
+
+		// Single-line comment or line in comment block.
+		if ( line.startsWith( '/*' ) || ( inComment && line.startsWith( '*' ) ) ) {
+			var output = outputRegex.exec( line );
+
+			if ( output ) {
+				lineReader.close();
+				return output[ 1 ];
+			}
+
+			continue;
+		}
+
+		lineReader.close();
+		return false;
+	}
+
+	lineReader.close();
+	return false;
+}
+
+module.exports =  function( options ) {
+	var entries = {};
+
+	var files = glob.sync( options.pattern, options.globOptions );
+
+	for ( var i = 0; i < files.length; i++ ) {
+		var output, minifiedOutput, file = files[ i ];
+
+		output = getFileOutput( file );
+
+		if ( output ) {
+			output = options.prefix + output;
+			if ( ! entries[ output ] ) {
+				entries[output] = [];
+			}
+			entries[ output ].push( file );
+
+			if ( options.minify ) {
+				minifiedOutput = output.replace( '.js', '.min.js' );
+
+				if ( ! entries[ minifiedOutput ] ) {
+					entries[minifiedOutput] = [];
+				}
+				entries[ minifiedOutput ].push( file );
+			}
+		}
+	}
+
+	return entries;
+};
diff --git tools/webpack/getMinifier.js tools/webpack/getMinifier.js
new file mode 100644
index 0000000000..60e81d9eed
--- /dev/null
+++ tools/webpack/getMinifier.js
@@ -0,0 +1,19 @@
+var UglifyJS = require( 'uglify-js' );
+
+module.exports = function ( options ) {
+	options = options || {};
+	options.output = Object.assign( {}, options.output, {
+		ascii_only: true,
+		ie8: true
+	} );
+
+	return function ( contents ) {
+		var minified = UglifyJS.minify( contents.toString(), options );
+
+		if ( minified.error ) {
+			console.error( minified.error );
+		}
+
+		return minified.code.toString();
+	};
+};
diff --git tools/webpack/minifyAssetsPlugin.js tools/webpack/minifyAssetsPlugin.js
new file mode 100644
index 0000000000..f42d7cde59
--- /dev/null
+++ tools/webpack/minifyAssetsPlugin.js
@@ -0,0 +1,10 @@
+var webpack = require( 'webpack' );
+
+module.exports = new webpack.optimize.UglifyJsPlugin({
+	include: /\.min\.js$/,
+	minimize: true,
+	uglifyOptions: {
+		ascii_only: true,
+		ie8: true
+	}
+});
diff --git webpack.config.dev.js webpack.config.dev.js
index cf6fa9ea88..6f14fdd34f 100644
--- webpack.config.dev.js
+++ webpack.config.dev.js
@@ -1,32 +1,31 @@
-var path        	= require( 'path' ),
-	webpack       	= require( 'webpack' ),
-	admin_files   	= {},
-	include_files 	= {};
-
-include_files = {
-	'build/wp-includes/js/media-audiovideo.js': ['./src/js/_enqueues/wp/media/audiovideo.js'],
-	'build/wp-includes/js/media-audiovideo.min.js': ['./src/js/_enqueues/wp/media/audiovideo.js'],
-	'build/wp-includes/js/media-grid.js': ['./src/js/_enqueues/wp/media/grid.js'],
-	'build/wp-includes/js/media-grid.min.js': ['./src/js/_enqueues/wp/media/grid.js'],
-	'build/wp-includes/js/media-models.js': ['./src/js/_enqueues/wp/media/models.js'],
-	'build/wp-includes/js/media-models.min.js': ['./src/js/_enqueues/wp/media/models.js'],
-	'build/wp-includes/js/media-views.js': ['./src/js/_enqueues/wp/media/views.js'],
-	'build/wp-includes/js/media-views.min.js': ['./src/js/_enqueues/wp/media/views.js'],
-};
+var generateEntries = require( './tools/webpack/generateEntries' );
+var minifyAssetsPlugin = require( './tools/webpack/minifyAssetsPlugin' );
+var copyEmbedPlugin = require( './tools/webpack/copyEmbedPlugin' );
+var copyPackagesPlugin = require( './tools/webpack/copyPackagesPlugin' );
+var copyVendorPlugin = require( './tools/webpack/copyVendorPlugin' );
+var concatTinymcePlugin = require( './tools/webpack/concatTinymcePlugin' );
+var concatEmojiPlugin = require( './tools/webpack/concatEmojiPlugin' );
+var compressTinymcePlugin = require( './tools/webpack/compressTinymcePlugin' );
 
 module.exports = [
 	{
 		cache: true,
 		watch: false,
-		entry: Object.assign( admin_files, include_files ),
-		output: {
-			filename: '[name]',
-		},
+		entry: generateEntries({
+			pattern: './src/js/_enqueues/**/*.js',
+			globOptions: { ignore: './src/js/_enqueues/vendor/**/*.js' },
+			prefix: './build/',
+			minify: true
+		}),
+		output: { filename: '[name]' },
 		plugins: [
-			new webpack.optimize.UglifyJsPlugin({
-				include: /\.min\.js$/,
-				minimize: true
-			})
+			minifyAssetsPlugin,
+			copyEmbedPlugin,
+			copyPackagesPlugin,
+			copyVendorPlugin,
+			concatTinymcePlugin,
+			concatEmojiPlugin,
+			compressTinymcePlugin
 		]
 	}
 ];
diff --git webpack.config.prod.js webpack.config.prod.js
index e6ba61f27e..726a18eef5 100644
--- webpack.config.prod.js
+++ webpack.config.prod.js
@@ -1,33 +1,33 @@
-var path        	= require( 'path' ),
-	webpack       	= require( 'webpack' ),
-	admin_files   	= {},
-	include_files 	= {};
-
-include_files = {
-	'build/wp-includes/js/media-audiovideo.js': ['./src/js/_enqueues/wp/media/audiovideo.js'],
-	'build/wp-includes/js/media-audiovideo.min.js': ['./src/js/_enqueues/wp/media/audiovideo.js'],
-	'build/wp-includes/js/media-grid.js': ['./src/js/_enqueues/wp/media/grid.js'],
-	'build/wp-includes/js/media-grid.min.js': ['./src/js/_enqueues/wp/media/grid.js'],
-	'build/wp-includes/js/media-models.js': ['./src/js/_enqueues/wp/media/models.js'],
-	'build/wp-includes/js/media-models.min.js': ['./src/js/_enqueues/wp/media/models.js'],
-	'build/wp-includes/js/media-views.js': ['./src/js/_enqueues/wp/media/views.js'],
-	'build/wp-includes/js/media-views.min.js': ['./src/js/_enqueues/wp/media/views.js'],
-};
+var webpack = require( 'webpack' );
+var generateEntries = require( './tools/webpack/generateEntries' );
+var minifyAssetsPlugin = require( './tools/webpack/minifyAssetsPlugin' );
+var copyEmbedPlugin = require( './tools/webpack/copyEmbedPlugin' );
+var copyPackagesPlugin = require( './tools/webpack/copyPackagesPlugin' );
+var copyVendorPlugin = require( './tools/webpack/copyVendorPlugin' );
+var concatTinymcePlugin = require( './tools/webpack/concatTinymcePlugin' );
+var concatEmojiPlugin = require( './tools/webpack/concatEmojiPlugin' );
+var compressTinymcePlugin = require( './tools/webpack/compressTinymcePlugin' );
 
 module.exports = [
 	{
 		cache: true,
 		watch: false,
-		entry: Object.assign( admin_files, include_files ),
-		output: {
-			filename: '[name]',
-		},
+		entry: generateEntries({
+			pattern: './src/js/_enqueues/**/*.js',
+			globOptions: { ignore: './src/js/_enqueues/vendor/**/*.js' },
+			prefix: './build/',
+			minify: true
+		}),
+		output: { filename: '[name]' },
 		plugins: [
 			new webpack.optimize.ModuleConcatenationPlugin(),
-			new webpack.optimize.UglifyJsPlugin({
-				include: /\.min\.js$/,
-				minimize: true
-			})
+			minifyAssetsPlugin,
+			copyEmbedPlugin,
+			copyPackagesPlugin,
+			copyVendorPlugin,
+			concatTinymcePlugin,
+			concatEmojiPlugin,
+			compressTinymcePlugin
 		]
 	}
 ];
diff --git webpack.config.watch.js webpack.config.watch.js
new file mode 100644
index 0000000000..d0f358f0f5
--- /dev/null
+++ webpack.config.watch.js
@@ -0,0 +1,15 @@
+var generateEntries = require( './tools/webpack/generateEntries' );
+
+module.exports = [
+	{
+		cache: true,
+		watch: true,
+		entry: generateEntries({
+			pattern: './src/js/_enqueues/**/*.js',
+			globOptions: { ignore: './src/js/_enqueues/vendor/**/*.js' },
+			prefix: './build/',
+			minify: true /* Only generated minified file names */
+		}),
+		output: { filename: '[name]' }
+	}
+];
