From 3d3d3072c8191781cd2cf1ae1a13e3c54583ecf6 Mon Sep 17 00:00:00 2001
From: xenofem <xenofem@xeno.science>
Date: Fri, 29 May 2020 00:19:41 -0400
Subject: [PATCH 1/2] basic progress bar animation

---
 loading/index.html | 67 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 loading/index.html

diff --git a/loading/index.html b/loading/index.html
new file mode 100644
index 0000000..bab8106
--- /dev/null
+++ b/loading/index.html
@@ -0,0 +1,67 @@
+<html>
+  <head>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <style>
+      @font-face {
+          font-family: 'Raleway';
+          src: url('../fonts/Raleway-Regular.otf');
+      }
+      body {
+          background-color: black;
+          color: red;
+          font-family: 'Raleway';
+          text-align: center;
+          width: 100%;
+          margin: 0px;
+          position: absolute;
+          top: 50%;
+          transform: translateY(-50%);
+      }
+
+      #progressbar {
+          width: 90%;
+          border: 1px solid red;
+          padding: 3px;
+          margin: auto;
+      }
+
+      #filled {
+          width: 0%;
+          height: 20px;
+          background-color: red;
+      }
+
+      #percentage {
+          font-size: 25px;
+          font-weight: bold;
+          width: 100%;
+      }
+
+      @media only screen and (min-width: 600px) {
+          #progressbar {
+              width: 540px;
+          }
+      }
+    </style>
+  </head>
+  <body>
+    <div id="progressbar">
+      <div id="filled"></div>
+    </div>
+    <div id="percentage">
+      0%
+    </div>
+    <script type="text/javascript">
+      var progress = 0;
+      function makeProgress() {
+          if (progress >= 100) {
+              return;
+          }
+          progress += 0.1;
+          document.getElementById("filled").style.width = progress + "%";
+          document.getElementById("percentage").innerText = Math.floor(progress) + "%";
+      }
+      setInterval(makeProgress, 50);
+    </script>
+  </body>
+</html>

From cc53246d76f2c1286a0a8fbda2e8f976c1b61b8c Mon Sep 17 00:00:00 2001
From: xenofem <xenofem@xeno.science>
Date: Fri, 29 May 2020 00:56:49 -0400
Subject: [PATCH 2/2] Add spinny and status messages

---
 loading/index.html | 83 ++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 80 insertions(+), 3 deletions(-)

diff --git a/loading/index.html b/loading/index.html
index bab8106..3bced40 100644
--- a/loading/index.html
+++ b/loading/index.html
@@ -31,7 +31,7 @@
           background-color: red;
       }
 
-      #percentage {
+      #status {
           font-size: 25px;
           font-weight: bold;
           width: 100%;
@@ -42,16 +42,84 @@
               width: 540px;
           }
       }
+
+      #logo {
+          height: 70px;
+          width: 70px;
+          margin: 10px;
+      }
+      .spin {
+          animation: spin 2s linear infinite;
+      }
+      @keyframes spin {
+          0% {
+              transform: rotate(0deg);
+          }
+          100% {
+              transform: rotate(360deg);
+          }
+      }
+
     </style>
   </head>
   <body>
+      <svg class="spin" id="logo" version='1.1' viewBox='0 -525 525 525' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
+	<g id='page1'>
+	  <g transform='matrix(1 0 0 1 -43 133)'>
+	    <path d='M467.5 -395.5C467.5 -484.969 394.969 -557.5 305.5 -557.5S143.5 -484.969 143.5 -395.5S216.031 -233.5 305.5 -233.5S467.5 -306.031 467.5 -395.5Z' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M557.5 -395.5C557.5 -534.676 444.676 -647.5 305.5 -647.5S53.5 -534.676 53.5 -395.5C53.5 -256.324 166.324 -143.5 305.5 -143.5S557.5 -256.324 557.5 -395.5Z' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M305.5 -323.5L425.102 -530.652' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M465.602 -554.039C465.602 -568.953 453.516 -581.039 438.602 -581.039C423.691 -581.039 411.602 -568.953 411.602 -554.039C411.602 -539.129 423.691 -527.039 438.602 -527.039C453.516 -527.039 465.602 -539.129 465.602 -554.039Z' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M367.856 -431.5H128.652' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M88.148 -454.883C75.234 -447.426 70.812 -430.914 78.266 -418C85.723 -405.086 102.234 -400.66 115.148 -408.117C128.062 -415.574 132.488 -432.086 125.031 -445C117.578 -457.914 101.062 -462.34 88.148 -454.883Z' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M243.144 -431.5L362.746 -224.348' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	    <path d='M362.75 -177.578C375.664 -170.121 392.176 -174.547 399.633 -187.461C407.086 -200.375 402.664 -216.887 389.75 -224.344S360.32 -227.375 352.867 -214.461C345.41 -201.547 349.836 -185.035 362.75 -177.578Z' fill='none' stroke='#ff0000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='20.075'/>
+	  </g>
+	</g>
+      </svg>
     <div id="progressbar">
       <div id="filled"></div>
     </div>
-    <div id="percentage">
+    <div id="status">
       0%
     </div>
     <script type="text/javascript">
+      var boringStatuses = [
+          "Initializing database...",
+          "Preloading assets...",
+          "Optimizing queries...",
+          "Validating bytecode...",
+          "Checking for updates...",
+          "Configuring services...",
+          "Calibrating network latency...",
+          "Defragmenting storage...",
+          "Generating keys...",
+          "Verifying application signature...",
+          "Compiling libraries...",
+          "Establishing connection...",
+          "Unpacking archives...",
+      ]
+      var lewdStatuses = [
+          "Good girl...",
+          "Overriding higher brain functions...",
+          "Deactivating self-awareness...",
+          "Conditioning absolute obedience...",
+          "Looping mantras...",
+          "Optimizing brainwashing sequence...",
+          "Capturing focus...",
+          "Cute horny plaything...",
+          "Obedience is pleasure...",
+          "Relaxing...",
+          "Breathing...",
+          "Taking control...",
+          "Loading subliminals...",
+          "Implanting commands..."
+      ]
+
+      function randomChoice(a) {
+          return a[Math.floor(Math.random()*a.length)];
+      }
+
       var progress = 0;
       function makeProgress() {
           if (progress >= 100) {
@@ -59,9 +127,18 @@
           }
           progress += 0.1;
           document.getElementById("filled").style.width = progress + "%";
-          document.getElementById("percentage").innerText = Math.floor(progress) + "%";
+      }
+      function updateStatus() {
+          var newStatus;
+          if (progress >= 100) {
+              newStatus = "SLEEP";
+          } else {
+              newStatus = randomChoice(Math.random()*100 < progress ? lewdStatuses : boringStatuses);
+          }
+          document.getElementById("status").innerText = newStatus;
       }
       setInterval(makeProgress, 50);
+      setInterval(updateStatus, 1500);
     </script>
   </body>
 </html>