diff --git a/node_modules/temp-dir/index.js b/node_modules/temp-dir/index.js
new file mode 100644
index 0000000..bb45bba
--- /dev/null
+++ b/node_modules/temp-dir/index.js
@@ -0,0 +1,13 @@
+'use strict';
+const fs = require('fs');
+const os = require('os');
+
+const ID = '__RESOLVED_TMP_DIR__';
+
+if (!global[ID]) {
+	Object.defineProperty(global, ID, {
+		value: fs.realpathSync(os.tmpdir())
+	});
+}
+
+module.exports = global[ID];
diff --git a/node_modules/temp-dir/license b/node_modules/temp-dir/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/temp-dir/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/temp-dir/package.json b/node_modules/temp-dir/package.json
new file mode 100644
index 0000000..673bd76
--- /dev/null
+++ b/node_modules/temp-dir/package.json
@@ -0,0 +1,70 @@
+{
+  "_from": "temp-dir@^1.0.0",
+  "_id": "temp-dir@1.0.0",
+  "_inBundle": false,
+  "_integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+  "_location": "/temp-dir",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "temp-dir@^1.0.0",
+    "name": "temp-dir",
+    "escapedName": "temp-dir",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/tempfile"
+  ],
+  "_resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+  "_shasum": "0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d",
+  "_spec": "temp-dir@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\tempfile",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/temp-dir/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Get the real path of the system temp directory",
+  "devDependencies": {
+    "ava": "*",
+    "proxyquire": "^1.7.11",
+    "xo": "*"
+  },
+  "engines": {
+    "node": ">=4"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/temp-dir#readme",
+  "keywords": [
+    "temp",
+    "tmp",
+    "dir",
+    "tmpdir",
+    "os",
+    "system",
+    "real",
+    "path",
+    "realpath",
+    "resolved"
+  ],
+  "license": "MIT",
+  "name": "temp-dir",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/temp-dir.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "1.0.0"
+}
diff --git a/node_modules/temp-dir/readme.md b/node_modules/temp-dir/readme.md
new file mode 100644
index 0000000..d7ed2c3
--- /dev/null
+++ b/node_modules/temp-dir/readme.md
@@ -0,0 +1,30 @@
+# temp-dir [![Build Status](https://travis-ci.org/sindresorhus/temp-dir.svg?branch=master)](https://travis-ci.org/sindresorhus/temp-dir)
+
+> Get the real path of the system temp directory
+
+[The `os.tmpdir()` built-in doesn't return the real path.](https://github.com/nodejs/node/issues/11422) That can cause problems when the returned path is a symlink, which is the case on macOS. Use this module to get the resolved path.
+
+
+## Install
+
+```
+$ npm install --save temp-dir
+```
+
+
+## Usage
+
+```js
+const tempDir = require('temp-dir');
+
+console.log(tempDir);
+//=> '/private/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T'
+
+console.log(require('os').tmpdir());
+//=> '/var/folders/3x/jf5977fn79jbglr7rk0tq4d00000gn/T' // <= Symlink
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
