diff --git a/node_modules/trim-newlines/index.js b/node_modules/trim-newlines/index.js
new file mode 100644
index 0000000..da31efd
--- /dev/null
+++ b/node_modules/trim-newlines/index.js
@@ -0,0 +1,13 @@
+'use strict';
+
+var fn = module.exports = function (x) {
+	return fn.end(fn.start(x));
+};
+
+fn.start = function (x) {
+	return x.replace(/^[\r\n]+/, '');
+};
+
+fn.end = function (x) {
+	return x.replace(/[\r\n]+$/, '');
+};
diff --git a/node_modules/trim-newlines/license b/node_modules/trim-newlines/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/trim-newlines/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/trim-newlines/package.json b/node_modules/trim-newlines/package.json
new file mode 100644
index 0000000..a9a1f1e
--- /dev/null
+++ b/node_modules/trim-newlines/package.json
@@ -0,0 +1,74 @@
+{
+  "_from": "trim-newlines@^1.0.0",
+  "_id": "trim-newlines@1.0.0",
+  "_inBundle": false,
+  "_integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+  "_location": "/trim-newlines",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "trim-newlines@^1.0.0",
+    "name": "trim-newlines",
+    "escapedName": "trim-newlines",
+    "rawSpec": "^1.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^1.0.0"
+  },
+  "_requiredBy": [
+    "/meow"
+  ],
+  "_resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+  "_shasum": "5887966bb582a4503a41eb524f7d35011815a613",
+  "_spec": "trim-newlines@^1.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\meow",
+  "author": {
+    "name": "Sindre Sorhus",
+    "email": "sindresorhus@gmail.com",
+    "url": "sindresorhus.com"
+  },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/trim-newlines/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Trim newlines from the start and/or end of a string",
+  "devDependencies": {
+    "ava": "*",
+    "xo": "*"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/trim-newlines#readme",
+  "keywords": [
+    "trim",
+    "newline",
+    "newlines",
+    "linebreak",
+    "lf",
+    "crlf",
+    "left",
+    "right",
+    "start",
+    "end",
+    "string",
+    "str",
+    "remove",
+    "delete",
+    "strip"
+  ],
+  "license": "MIT",
+  "name": "trim-newlines",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sindresorhus/trim-newlines.git"
+  },
+  "scripts": {
+    "test": "xo && ava"
+  },
+  "version": "1.0.0"
+}
diff --git a/node_modules/trim-newlines/readme.md b/node_modules/trim-newlines/readme.md
new file mode 100644
index 0000000..fedb3ca
--- /dev/null
+++ b/node_modules/trim-newlines/readme.md
@@ -0,0 +1,46 @@
+# trim-newlines [![Build Status](https://travis-ci.org/sindresorhus/trim-newlines.svg?branch=master)](https://travis-ci.org/sindresorhus/trim-newlines)
+
+> Trim [newlines](https://en.wikipedia.org/wiki/Newline) from the start and/or end of a string
+
+
+## Install
+
+```
+$ npm install --save trim-newlines
+```
+
+
+## Usage
+
+```js
+var trimNewlines = require('trim-newlines');
+
+trimNewlines('\nunicorn\r\n');
+//=> 'unicorn'
+```
+
+
+## API
+
+### trimNewlines(input)
+
+Trim from the start and end of a string.
+
+### trimNewlines.start(input)
+
+Trim from the start of a string.
+
+### trimNewlines.end(input)
+
+Trim from the end of a string.
+
+
+## Related
+
+- [trim-left](https://github.com/sindresorhus/trim-left) - Similar to `String#trim()` but removes only whitespace on the left
+- [trim-right](https://github.com/sindresorhus/trim-right) - Similar to `String#trim()` but removes only whitespace on the right.
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
