diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..40b878db5b1c97fc77049537a71bb2e249abe5dc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
index f707e9cc6ade627b5dd6b7821cc530db2a6ed7fc..77e0ccac8f0f3f87d9683f5507999f3c74b4ff9b 100644
--- a/node_modules/.package-lock.json
+++ b/node_modules/.package-lock.json
@@ -15,6 +15,22 @@
         "node": ">=6.0.0"
       }
     },
+    "node_modules/@esbuild/darwin-x64": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+      "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/@esbuild/linux-x64": {
       "version": "0.20.2",
       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
@@ -93,6 +109,19 @@
         "csstype": "^3.1.0"
       }
     },
+    "node_modules/@rollup/rollup-darwin-x64": {
+      "version": "4.17.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz",
+      "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
     "node_modules/@rollup/rollup-linux-x64-gnu": {
       "version": "4.17.2",
       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz",
@@ -375,6 +404,20 @@
       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
       "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
     },
+    "node_modules/fsevents": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
     "node_modules/he": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json
index 1196c08bc73348d1e9b79d8c49c43d1264e5b276..59a05b6d1430b37a814e1b206e64ff4f27fb3d7f 100644
--- a/node_modules/.vite/deps/_metadata.json
+++ b/node_modules/.vite/deps/_metadata.json
@@ -1,19 +1,19 @@
 {
-  "hash": "b222b801",
-  "configHash": "b8c3b7ad",
+  "hash": "73db24cd",
+  "configHash": "f2578dad",
   "lockfileHash": "5238c63e",
-  "browserHash": "bca46f06",
+  "browserHash": "33d3d47c",
   "optimized": {
     "lottie-web-vue": {
       "src": "../../lottie-web-vue/dist/lottie-web-vue.js",
       "file": "lottie-web-vue.js",
-      "fileHash": "2896e26b",
+      "fileHash": "d3bf8cec",
       "needsInterop": false
     },
     "vue": {
       "src": "../../vue/dist/vue.runtime.esm-bundler.js",
       "file": "vue.js",
-      "fileHash": "6fa837b5",
+      "fileHash": "f281c34a",
       "needsInterop": false
     }
   },
diff --git a/node_modules/@esbuild/darwin-x64/README.md b/node_modules/@esbuild/darwin-x64/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a2fd0cbee76ef213310347f4911edf75d8e334a8
--- /dev/null
+++ b/node_modules/@esbuild/darwin-x64/README.md
@@ -0,0 +1,3 @@
+# esbuild
+
+This is the macOS 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
diff --git a/node_modules/@esbuild/darwin-x64/bin/esbuild b/node_modules/@esbuild/darwin-x64/bin/esbuild
new file mode 100755
index 0000000000000000000000000000000000000000..c49f72f050626d937bb7d8ca59fb817ebeade27f
Binary files /dev/null and b/node_modules/@esbuild/darwin-x64/bin/esbuild differ
diff --git a/node_modules/@esbuild/darwin-x64/package.json b/node_modules/@esbuild/darwin-x64/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..63a2fa90a71466c8b72d6b8fe8e5e24d14c5693d
--- /dev/null
+++ b/node_modules/@esbuild/darwin-x64/package.json
@@ -0,0 +1,20 @@
+{
+  "name": "@esbuild/darwin-x64",
+  "version": "0.20.2",
+  "description": "The macOS 64-bit binary for esbuild, a JavaScript bundler.",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/evanw/esbuild.git"
+  },
+  "license": "MIT",
+  "preferUnplugged": true,
+  "engines": {
+    "node": ">=12"
+  },
+  "os": [
+    "darwin"
+  ],
+  "cpu": [
+    "x64"
+  ]
+}
diff --git a/node_modules/@rollup/rollup-darwin-x64/README.md b/node_modules/@rollup/rollup-darwin-x64/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..156d37a87782d116124b3ba05b3114169ec4f806
--- /dev/null
+++ b/node_modules/@rollup/rollup-darwin-x64/README.md
@@ -0,0 +1,3 @@
+# `@rollup/rollup-darwin-x64`
+
+This is the **x86_64-apple-darwin** binary for `rollup`
diff --git a/node_modules/@rollup/rollup-darwin-x64/package.json b/node_modules/@rollup/rollup-darwin-x64/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..91d2bf4aef696f29edbc538e6b076f367d1137e3
--- /dev/null
+++ b/node_modules/@rollup/rollup-darwin-x64/package.json
@@ -0,0 +1,19 @@
+{
+  "name": "@rollup/rollup-darwin-x64",
+  "version": "4.17.2",
+  "os": [
+    "darwin"
+  ],
+  "cpu": [
+    "x64"
+  ],
+  "files": [
+    "rollup.darwin-x64.node"
+  ],
+  "description": "Native bindings for Rollup",
+  "author": "Lukas Taegert-Atkinson",
+  "homepage": "https://rollupjs.org/",
+  "license": "MIT",
+  "repository": "rollup/rollup",
+  "main": "./rollup.darwin-x64.node"
+}
\ No newline at end of file
diff --git a/node_modules/@rollup/rollup-darwin-x64/rollup.darwin-x64.node b/node_modules/@rollup/rollup-darwin-x64/rollup.darwin-x64.node
new file mode 100644
index 0000000000000000000000000000000000000000..81a5bb3e8550f677497dcb9224760aaeb1f9c36d
Binary files /dev/null and b/node_modules/@rollup/rollup-darwin-x64/rollup.darwin-x64.node differ
diff --git a/node_modules/fsevents/LICENSE b/node_modules/fsevents/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..5d70441c371fa1e78dc774719f0b5b1d1a183bea
--- /dev/null
+++ b/node_modules/fsevents/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+-----------
+
+Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
+
+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/fsevents/README.md b/node_modules/fsevents/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..50373a0350b158e9b0a6abea408e9d4b9fa0a54f
--- /dev/null
+++ b/node_modules/fsevents/README.md
@@ -0,0 +1,89 @@
+# fsevents
+
+Native access to MacOS FSEvents in [Node.js](https://nodejs.org/)
+
+The FSEvents API in MacOS allows applications to register for notifications of
+changes to a given directory tree. It is a very fast and lightweight alternative
+to kqueue.
+
+This is a low-level library. For a cross-platform file watching module that
+uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar).
+
+## Usage
+
+```sh
+npm install fsevents
+```
+
+Supports only **Node.js v8.16 and higher**.
+
+```js
+const fsevents = require('fsevents');
+
+// To start observation
+const stop = fsevents.watch(__dirname, (path, flags, id) => {
+  const info = fsevents.getInfo(path, flags);
+});
+
+// To end observation
+stop();
+```
+
+> **Important note:** The API behaviour is slightly different from typical JS APIs. The `stop` function **must** be
+> retrieved and stored somewhere, even if you don't plan to stop the watcher. If you forget it, the garbage collector
+> will eventually kick in, the watcher will be unregistered, and your callbacks won't be called anymore.
+
+The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a
+a change in the file system. It takes three arguments:
+
+###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise<undefined>`
+
+ * `path: string` - the item in the filesystem that have been changed
+ * `flags: number` - a numeric value describing what the change was
+ * `id: string` - an unique-id identifying this specific event
+
+ Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.
+
+###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo`
+
+The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure
+that is easier to digest to determine what the change was.
+
+The `FsEventsInfo` has the following shape:
+
+```js
+/**
+ * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
+ * @typedef {'file'|'directory'|'symlink'} FsEventsType
+ */
+{
+  "event": "created", // {FsEventsEvent}
+  "path": "file.txt",
+  "type": "file",    // {FsEventsType}
+  "changes": {
+    "inode": true,   // Had iNode Meta-Information changed
+    "finder": false, // Had Finder Meta-Data changed
+    "access": false, // Had access permissions changed
+    "xattrs": false  // Had xAttributes changed
+  },
+  "flags": 0x100000000
+}
+```
+
+## Changelog
+
+- v2.3 supports Apple Silicon ARM CPUs
+- v2 supports node 8.16+ and reduces package size massively
+- v1.2.8 supports node 6+
+- v1.2.7 supports node 4+
+
+## Troubleshooting
+
+- I'm getting `EBADPLATFORM` `Unsupported platform for fsevents` error.
+- It's fine, nothing is broken. fsevents is macos-only. Other platforms are skipped. If you want to hide this warning, report a bug to NPM bugtracker asking them to hide ebadplatform warnings by default.
+
+## License
+
+The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.
+
+Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents)
diff --git a/node_modules/fsevents/fsevents.d.ts b/node_modules/fsevents/fsevents.d.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2723c048a80df296ecc13eff5d96549f572a7383
--- /dev/null
+++ b/node_modules/fsevents/fsevents.d.ts
@@ -0,0 +1,46 @@
+declare type Event = "created" | "cloned" | "modified" | "deleted" | "moved" | "root-changed" | "unknown";
+declare type Type = "file" | "directory" | "symlink";
+declare type FileChanges = {
+  inode: boolean;
+  finder: boolean;
+  access: boolean;
+  xattrs: boolean;
+};
+declare type Info = {
+  event: Event;
+  path: string;
+  type: Type;
+  changes: FileChanges;
+  flags: number;
+};
+declare type WatchHandler = (path: string, flags: number, id: string) => void;
+export declare function watch(path: string, handler: WatchHandler): () => Promise<void>;
+export declare function watch(path: string, since: number, handler: WatchHandler): () => Promise<void>;
+export declare function getInfo(path: string, flags: number): Info;
+export declare const constants: {
+  None: 0x00000000;
+  MustScanSubDirs: 0x00000001;
+  UserDropped: 0x00000002;
+  KernelDropped: 0x00000004;
+  EventIdsWrapped: 0x00000008;
+  HistoryDone: 0x00000010;
+  RootChanged: 0x00000020;
+  Mount: 0x00000040;
+  Unmount: 0x00000080;
+  ItemCreated: 0x00000100;
+  ItemRemoved: 0x00000200;
+  ItemInodeMetaMod: 0x00000400;
+  ItemRenamed: 0x00000800;
+  ItemModified: 0x00001000;
+  ItemFinderInfoMod: 0x00002000;
+  ItemChangeOwner: 0x00004000;
+  ItemXattrMod: 0x00008000;
+  ItemIsFile: 0x00010000;
+  ItemIsDir: 0x00020000;
+  ItemIsSymlink: 0x00040000;
+  ItemIsHardlink: 0x00100000;
+  ItemIsLastHardlink: 0x00200000;
+  OwnEvent: 0x00080000;
+  ItemCloned: 0x00400000;
+};
+export {};
diff --git a/node_modules/fsevents/fsevents.js b/node_modules/fsevents/fsevents.js
new file mode 100644
index 0000000000000000000000000000000000000000..198da98e7693d57f0f786b01327e6fcb9d06cd2b
--- /dev/null
+++ b/node_modules/fsevents/fsevents.js
@@ -0,0 +1,83 @@
+/*
+ ** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
+ ** Licensed under MIT License.
+ */
+
+/* jshint node:true */
+"use strict";
+
+if (process.platform !== "darwin") {
+  throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`);
+}
+
+const Native = require("./fsevents.node");
+const events = Native.constants;
+
+function watch(path, since, handler) {
+  if (typeof path !== "string") {
+    throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`);
+  }
+  if ("function" === typeof since && "undefined" === typeof handler) {
+    handler = since;
+    since = Native.flags.SinceNow;
+  }
+  if (typeof since !== "number") {
+    throw new TypeError(`fsevents argument 2 must be a number and not a ${typeof since}`);
+  }
+  if (typeof handler !== "function") {
+    throw new TypeError(`fsevents argument 3 must be a function and not a ${typeof handler}`);
+  }
+
+  let instance = Native.start(Native.global, path, since, handler);
+  if (!instance) throw new Error(`could not watch: ${path}`);
+  return () => {
+    const result = instance ? Promise.resolve(instance).then(Native.stop) : Promise.resolve(undefined);
+    instance = undefined;
+    return result;
+  };
+}
+
+function getInfo(path, flags) {
+  return {
+    path,
+    flags,
+    event: getEventType(flags),
+    type: getFileType(flags),
+    changes: getFileChanges(flags),
+  };
+}
+
+function getFileType(flags) {
+  if (events.ItemIsFile & flags) return "file";
+  if (events.ItemIsDir & flags) return "directory";
+  if (events.MustScanSubDirs & flags) return "directory"; 
+  if (events.ItemIsSymlink & flags) return "symlink";
+}
+function anyIsTrue(obj) {
+  for (let key in obj) {
+    if (obj[key]) return true;
+  }
+  return false;
+}
+function getEventType(flags) {
+  if (events.ItemRemoved & flags) return "deleted";
+  if (events.ItemRenamed & flags) return "moved";
+  if (events.ItemCreated & flags) return "created";
+  if (events.ItemModified & flags) return "modified";
+  if (events.RootChanged & flags) return "root-changed";
+  if (events.ItemCloned & flags) return "cloned";
+  if (anyIsTrue(flags)) return "modified";
+  return "unknown";
+}
+function getFileChanges(flags) {
+  return {
+    inode: !!(events.ItemInodeMetaMod & flags),
+    finder: !!(events.ItemFinderInfoMod & flags),
+    access: !!(events.ItemChangeOwner & flags),
+    xattrs: !!(events.ItemXattrMod & flags),
+  };
+}
+
+exports.watch = watch;
+exports.getInfo = getInfo;
+exports.constants = events;
diff --git a/node_modules/fsevents/fsevents.node b/node_modules/fsevents/fsevents.node
new file mode 100755
index 0000000000000000000000000000000000000000..1cc3345ead403e72439746aee6b40645893c322b
Binary files /dev/null and b/node_modules/fsevents/fsevents.node differ
diff --git a/node_modules/fsevents/package.json b/node_modules/fsevents/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d0ee15e6431959c5c6806b2f6dec0ac53eccb05
--- /dev/null
+++ b/node_modules/fsevents/package.json
@@ -0,0 +1,62 @@
+{
+  "name": "fsevents",
+  "version": "2.3.3",
+  "description": "Native Access to MacOS FSEvents",
+  "main": "fsevents.js",
+  "types": "fsevents.d.ts",
+  "os": [
+    "darwin"
+  ],
+  "files": [
+    "fsevents.d.ts",
+    "fsevents.js",
+    "fsevents.node"
+  ],
+  "engines": {
+    "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+  },
+  "scripts": {
+    "clean": "node-gyp clean && rm -f fsevents.node",
+    "build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean",
+    "test": "/bin/bash ./test.sh 2>/dev/null",
+    "prepublishOnly": "npm run build"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/fsevents/fsevents.git"
+  },
+  "keywords": [
+    "fsevents",
+    "mac"
+  ],
+  "contributors": [
+    {
+      "name": "Philipp Dunkel",
+      "email": "pip@pipobscure.com"
+    },
+    {
+      "name": "Ben Noordhuis",
+      "email": "info@bnoordhuis.nl"
+    },
+    {
+      "name": "Elan Shankar",
+      "email": "elan.shanker@gmail.com"
+    },
+    {
+      "name": "Miroslav Bajtoš",
+      "email": "mbajtoss@gmail.com"
+    },
+    {
+      "name": "Paul Miller",
+      "url": "https://paulmillr.com"
+    }
+  ],
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/fsevents/fsevents/issues"
+  },
+  "homepage": "https://github.com/fsevents/fsevents",
+  "devDependencies": {
+    "node-gyp": "^9.4.0"
+  }
+}
diff --git a/src/App.vue b/src/App.vue
index 5c35fce71abcdb9e298fd1ee444dc620c0273aae..4277db1735613c7a4fbf516c81af17f3244ef17a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -12,6 +12,7 @@ const funktionZeileZwei = ref("");
 
 <template>
   <div class="appGrid">
+<<<<<<< HEAD
     <Form
       v-model:vorname="vorname"
       v-model:nachname="nachname"
@@ -25,6 +26,24 @@ const funktionZeileZwei = ref("");
       :funktionZeileEins="funktionZeileEins"
       :funktionZeileZwei="funktionZeileZwei"
     ></Lottie>
+=======
+    <div class="form">
+      <Form
+        v-model:vorname="vorname"
+        v-model:nachname="nachname"
+        v-model:funktionZeileEins="funktionZeileEins"
+        v-model:funktionZeileZwei="funktionZeileZwei"
+      ></Form>
+    </div>
+    <div class="form">
+      <Lottie
+        :vorname="vorname"
+        :nachname="nachname"
+        :funktionZeileEins="funktionZeileEins"
+        :funktionZeileZwei="funktionZeileZwei"
+      ></Lottie>
+    </div>
+>>>>>>> 07ac18fff76a5269c98f1e5248ef6dcbe1525bcc
   </div>
 </template>
 
@@ -48,6 +67,13 @@ const funktionZeileZwei = ref("");
   gap: 50px;
 }
 
+<<<<<<< HEAD
 .form {
 }
+=======
+/* .form {
+  width: 50%;
+  max-width: 500px; 
+} */
+>>>>>>> 07ac18fff76a5269c98f1e5248ef6dcbe1525bcc
 </style>
diff --git a/src/components/Form.vue b/src/components/Form.vue
index aa17db88277db314eefdc80f5dbe5481abf19f0a..e3935fa90164c557a5b18d2e0e56d3b1b2ea4ea8 100644
--- a/src/components/Form.vue
+++ b/src/components/Form.vue
@@ -1,5 +1,5 @@
 <script setup lang="ts">
-import { ref } from "vue";
+//import { ref } from "vue";
 
 const vorname = defineModel('vorname');
 const nachname = defineModel('nachname');
diff --git a/src/components/Lottie.vue b/src/components/Lottie.vue
index a09fddb10a885c41871d6c8912d694f768212269..9701057e13177eebd84e1b55b7a9a12e011c39c2 100644
--- a/src/components/Lottie.vue
+++ b/src/components/Lottie.vue
@@ -29,7 +29,7 @@ const lottie = ref(0);
 watch(
   () => props.vorname,
   () => {
-    AnimationDataJSON.layers[1].t.d.k[0].s.t = props.vorname;
+    AnimationDataJSON.layers[1].t.d.k[0].s.t = props.vorname.toUpperCase();
     lottie.value++;
   }
 );
@@ -37,7 +37,7 @@ watch(
 watch(
   () => props.nachname,
   () => {
-    AnimationDataJSON.layers[3].t.d.k[0].s.t = props.nachname;
+    AnimationDataJSON.layers[3].t.d.k[0].s.t = props.nachname.toUpperCase();
     lottie.value++;
   }
 );