diff --git a/node_modules/jquery/src/var/ObjectFunctionString.js b/node_modules/jquery/src/var/ObjectFunctionString.js
new file mode 100644
index 0000000..f9e850f
--- /dev/null
+++ b/node_modules/jquery/src/var/ObjectFunctionString.js
@@ -0,0 +1,7 @@
+define( [
+	"./fnToString"
+], function( fnToString ) {
+	"use strict";
+
+	return fnToString.call( Object );
+} );
diff --git a/node_modules/jquery/src/var/arr.js b/node_modules/jquery/src/var/arr.js
new file mode 100644
index 0000000..84713d8
--- /dev/null
+++ b/node_modules/jquery/src/var/arr.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return [];
+} );
diff --git a/node_modules/jquery/src/var/class2type.js b/node_modules/jquery/src/var/class2type.js
new file mode 100644
index 0000000..4365d46
--- /dev/null
+++ b/node_modules/jquery/src/var/class2type.js
@@ -0,0 +1,6 @@
+define( function() {
+	"use strict";
+
+	// [[Class]] -> type pairs
+	return {};
+} );
diff --git a/node_modules/jquery/src/var/concat.js b/node_modules/jquery/src/var/concat.js
new file mode 100644
index 0000000..e47c19d
--- /dev/null
+++ b/node_modules/jquery/src/var/concat.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.concat;
+} );
diff --git a/node_modules/jquery/src/var/document.js b/node_modules/jquery/src/var/document.js
new file mode 100644
index 0000000..dd3939d
--- /dev/null
+++ b/node_modules/jquery/src/var/document.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return window.document;
+} );
diff --git a/node_modules/jquery/src/var/documentElement.js b/node_modules/jquery/src/var/documentElement.js
new file mode 100644
index 0000000..0e3f8b4
--- /dev/null
+++ b/node_modules/jquery/src/var/documentElement.js
@@ -0,0 +1,7 @@
+define( [
+	"./document"
+], function( document ) {
+	"use strict";
+
+	return document.documentElement;
+} );
diff --git a/node_modules/jquery/src/var/fnToString.js b/node_modules/jquery/src/var/fnToString.js
new file mode 100644
index 0000000..18c43ff
--- /dev/null
+++ b/node_modules/jquery/src/var/fnToString.js
@@ -0,0 +1,7 @@
+define( [
+	"./hasOwn"
+], function( hasOwn ) {
+	"use strict";
+
+	return hasOwn.toString;
+} );
diff --git a/node_modules/jquery/src/var/getProto.js b/node_modules/jquery/src/var/getProto.js
new file mode 100644
index 0000000..965fab8
--- /dev/null
+++ b/node_modules/jquery/src/var/getProto.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return Object.getPrototypeOf;
+} );
diff --git a/node_modules/jquery/src/var/hasOwn.js b/node_modules/jquery/src/var/hasOwn.js
new file mode 100644
index 0000000..44ab680
--- /dev/null
+++ b/node_modules/jquery/src/var/hasOwn.js
@@ -0,0 +1,7 @@
+define( [
+	"./class2type"
+], function( class2type ) {
+	"use strict";
+
+	return class2type.hasOwnProperty;
+} );
diff --git a/node_modules/jquery/src/var/indexOf.js b/node_modules/jquery/src/var/indexOf.js
new file mode 100644
index 0000000..8320b98
--- /dev/null
+++ b/node_modules/jquery/src/var/indexOf.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.indexOf;
+} );
diff --git a/node_modules/jquery/src/var/isFunction.js b/node_modules/jquery/src/var/isFunction.js
new file mode 100644
index 0000000..dad662e
--- /dev/null
+++ b/node_modules/jquery/src/var/isFunction.js
@@ -0,0 +1,13 @@
+define( function() {
+	"use strict";
+
+	return function isFunction( obj ) {
+
+      // Support: Chrome <=57, Firefox <=52
+      // In some browsers, typeof returns "function" for HTML <object> elements
+      // (i.e., `typeof document.createElement( "object" ) === "function"`).
+      // We don't want to classify *any* DOM node as a function.
+      return typeof obj === "function" && typeof obj.nodeType !== "number";
+  };
+
+} );
diff --git a/node_modules/jquery/src/var/isWindow.js b/node_modules/jquery/src/var/isWindow.js
new file mode 100644
index 0000000..2ba1168
--- /dev/null
+++ b/node_modules/jquery/src/var/isWindow.js
@@ -0,0 +1,8 @@
+define( function() {
+	"use strict";
+
+	return function isWindow( obj ) {
+		return obj != null && obj === obj.window;
+	};
+
+} );
diff --git a/node_modules/jquery/src/var/pnum.js b/node_modules/jquery/src/var/pnum.js
new file mode 100644
index 0000000..6f06d73
--- /dev/null
+++ b/node_modules/jquery/src/var/pnum.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+} );
diff --git a/node_modules/jquery/src/var/push.js b/node_modules/jquery/src/var/push.js
new file mode 100644
index 0000000..9465620
--- /dev/null
+++ b/node_modules/jquery/src/var/push.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.push;
+} );
diff --git a/node_modules/jquery/src/var/rcheckableType.js b/node_modules/jquery/src/var/rcheckableType.js
new file mode 100644
index 0000000..25bbcb4
--- /dev/null
+++ b/node_modules/jquery/src/var/rcheckableType.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /^(?:checkbox|radio)$/i );
+} );
diff --git a/node_modules/jquery/src/var/rcssNum.js b/node_modules/jquery/src/var/rcssNum.js
new file mode 100644
index 0000000..4214b14
--- /dev/null
+++ b/node_modules/jquery/src/var/rcssNum.js
@@ -0,0 +1,9 @@
+define( [
+	"../var/pnum"
+], function( pnum ) {
+
+"use strict";
+
+return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+} );
diff --git a/node_modules/jquery/src/var/rnothtmlwhite.js b/node_modules/jquery/src/var/rnothtmlwhite.js
new file mode 100644
index 0000000..29eebf2
--- /dev/null
+++ b/node_modules/jquery/src/var/rnothtmlwhite.js
@@ -0,0 +1,8 @@
+define( function() {
+	"use strict";
+
+	// Only count HTML whitespace
+	// Other whitespace should count in values
+	// https://infra.spec.whatwg.org/#ascii-whitespace
+	return ( /[^\x20\t\r\n\f]+/g );
+} );
diff --git a/node_modules/jquery/src/var/slice.js b/node_modules/jquery/src/var/slice.js
new file mode 100644
index 0000000..915f837
--- /dev/null
+++ b/node_modules/jquery/src/var/slice.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.slice;
+} );
diff --git a/node_modules/jquery/src/var/support.js b/node_modules/jquery/src/var/support.js
new file mode 100644
index 0000000..094d0ae
--- /dev/null
+++ b/node_modules/jquery/src/var/support.js
@@ -0,0 +1,6 @@
+define( function() {
+	"use strict";
+
+	// All support tests are defined in their respective modules.
+	return {};
+} );
diff --git a/node_modules/jquery/src/var/toString.js b/node_modules/jquery/src/var/toString.js
new file mode 100644
index 0000000..ff4ecdc
--- /dev/null
+++ b/node_modules/jquery/src/var/toString.js
@@ -0,0 +1,7 @@
+define( [
+	"./class2type"
+], function( class2type ) {
+	"use strict";
+
+	return class2type.toString;
+} );
