diff --git a/README b/README
deleted file mode 100644
index a42a490..0000000
--- a/README
+++ /dev/null
@@ -1,26 +0,0 @@
-# crowmagnumb.net
-
-# build index
-
-```
-npx pug index.pug
-```
-
-```
-5 2 1 63.6 85.4 95.5 99.7 100.0 100.0
-4 2 1 42.3 70.8 88.7 97.4 100.0
-3 2 1 24.7 48.6 77.8 91.3
-2 2 1 6.2 30.5 55.5
-1 2 1 0.0 12.5
-5 3 2 18.5 37.6 58.6 77.0 89.3 94.1
-5 3 1 37.6 58.7 76.9 89.3 94.1 97.1
-5 3 0 58.6 77.0 89.3 94.1 97.1 98.6
-4 3 1 21.9 43.6 63.0 81.7 90.7
-3 3 1 12.3 25.7 49.7 67.1
-2 3 1 3.1 15.3 30.6
-1 3 1 0.0 6.3
-1 1 1 0.0 25.0
-2 1 1 12.5 58.3 87.5
-3 1 1 47.9 81.3 97.9 100.0
-4 1 1 74.0 94.8 100.0 100.0 100.0
-```
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9b51db5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,90 @@
+# crowmagnumb.net
+
+## CalDAV/CardDAV
+
+Using `radicale.org`. Followed setup in `https://radicale.org/v3.html` but had to use `--break-system-packages` to get this to work.
+
+```sh
+python3 -m pip install --upgrade https://github.com/Kozea/Radicale/archive/master.tar.gz --break-system-packages
+sudo mkdir -p /etc/radicale
+sudo apt-get install apache2-utils
+sudo htpasswd -c /etc/radicale/users crowmagnumb
+sudo nano /etc/radicale/config
+```
+```conf
+[auth]
+type = htpasswd
+htpasswd_filename = /etc/radicale/users
+htpasswd_encryption = autodetect
+[server]
+hosts = 0.0.0.0:5232, [::]:5232
+```
+
+```sh
+sudo useradd --system --user-group --home-dir / --shell /sbin/nologin radicale
+sudo nano /etc/systemd/system/radicale.service
+```
+
+```conf
+[Unit]
+Description=A simple CalDAV (calendar) and CardDAV (contact) server
+After=network.target
+Requires=network.target
+
+[Service]
+ExecStart=/usr/bin/env python3 -m radicale
+Restart=on-failure
+User=radicale
+# Deny other users access to the calendar data
+UMask=0027
+# Optional security settings
+PrivateTmp=true
+ProtectSystem=strict
+ProtectHome=true
+PrivateDevices=true
+ProtectKernelTunables=true
+ProtectKernelModules=true
+ProtectControlGroups=true
+NoNewPrivileges=true
+ReadWritePaths=/var/lib/radicale/collections
+
+[Install]
+WantedBy=multi-user.target
+```
+
+```sh
+# collections are by default stored in `/var/lib/radicale/collections`
+sudo mkdir -p /var/lib/radicale/collections
+sudo chown -R radicale:radicale /var/lib/radicale/collections
+sudo chmod -R o= /var/lib/radicale/collections
+sudo systemctl enable radicale
+sudo systemctl start radicale
+sudo systemctl status radicale
+sudo journalctl --unit radicale.service
+```
+
+### Apache
+
+```sh
+sudo nano /etc/apache2/sites-available/radicale.conf
+```
+
+```conf
+RewriteEngine On
+RewriteRule ^/radicale$ /radicale/ [R,L]
+
+
+ ProxyPass http://localhost:5232/ retry=0
+ ProxyPassReverse http://localhost:5232/
+ RequestHeader set X-Script-Name /radicale
+ RequestHeader set X-Forwarded-Port "%{SERVER_PORT}s"
+ RequestHeader unset X-Forwarded-Proto
+
+ RequestHeader set X-Forwarded-Proto "https"
+
+
+```
+
+```sh
+sudo systemctl reload apache2
+```
\ No newline at end of file
diff --git a/fifa/seasonsim/package-lock.json b/fifa/seasonsim/package-lock.json
index 5033d01..fcdb387 100644
--- a/fifa/seasonsim/package-lock.json
+++ b/fifa/seasonsim/package-lock.json
@@ -1,79 +1,117 @@
{
"name": "seasonsim",
"version": "1.0.0",
- "lockfileVersion": 1,
+ "lockfileVersion": 3,
"requires": true,
- "dependencies": {
- "@types/node": {
+ "packages": {
+ "": {
+ "name": "seasonsim",
+ "version": "1.0.0",
+ "license": "ISC",
+ "devDependencies": {
+ "@types/node": "^14.11.2",
+ "ts-node": "^9.0.0",
+ "typescript": "^4.0.3"
+ }
+ },
+ "node_modules/@types/node": {
"version": "14.11.2",
"resolved": "http://localhost:4873/@types%2fnode/-/node-14.11.2.tgz",
"integrity": "sha512-jiE3QIxJ8JLNcb1Ps6rDbysDhN4xa8DJJvuC9prr6w+1tIh+QAbYyNF3tyiZNLDBIuBCf4KEcV2UvQm/V60xfA==",
"dev": true
},
- "arg": {
+ "node_modules/arg": {
"version": "4.1.3",
"resolved": "http://localhost:4873/arg/-/arg-4.1.3.tgz",
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
"dev": true
},
- "buffer-from": {
+ "node_modules/buffer-from": {
"version": "1.1.1",
"resolved": "http://localhost:4873/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "diff": {
+ "node_modules/diff": {
"version": "4.0.2",
"resolved": "http://localhost:4873/diff/-/diff-4.0.2.tgz",
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
},
- "make-error": {
+ "node_modules/make-error": {
"version": "1.3.6",
"resolved": "http://localhost:4873/make-error/-/make-error-1.3.6.tgz",
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
"dev": true
},
- "source-map": {
+ "node_modules/source-map": {
"version": "0.6.1",
"resolved": "http://localhost:4873/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "source-map-support": {
+ "node_modules/source-map-support": {
"version": "0.5.19",
"resolved": "http://localhost:4873/source-map-support/-/source-map-support-0.5.19.tgz",
"integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
"dev": true,
- "requires": {
+ "dependencies": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
}
},
- "ts-node": {
+ "node_modules/ts-node": {
"version": "9.0.0",
"resolved": "http://localhost:4873/ts-node/-/ts-node-9.0.0.tgz",
"integrity": "sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==",
"dev": true,
- "requires": {
+ "dependencies": {
"arg": "^4.1.0",
"diff": "^4.0.1",
"make-error": "^1.1.1",
"source-map-support": "^0.5.17",
"yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.7"
}
},
- "typescript": {
+ "node_modules/typescript": {
"version": "4.0.3",
"resolved": "http://localhost:4873/typescript/-/typescript-4.0.3.tgz",
"integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==",
- "dev": true
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
},
- "yn": {
+ "node_modules/yn": {
"version": "3.1.1",
"resolved": "http://localhost:4873/yn/-/yn-3.1.1.tgz",
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
}
}
}
diff --git a/index.html b/index.html
index a674910..b710074 100644
--- a/index.html
+++ b/index.html
@@ -40,4 +40,4 @@
}
fieldset legend {
color: var(--primary-color);
-}