<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
    <style>
        /* Allgemeine Einstellungen */
        body {
            font-family: Arial, sans-serif;
            background: linear-gradient(135deg, rgba(255, 0, 0, 0.8), rgba(139, 0, 0, 0.8)); /* Roter Farbverlauf */
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            backdrop-filter: blur(8px); /* Hintergrundunschärfe */
        }

        .container {
            width: 320px;
            margin: 0 auto;
            padding: 20px;
            background: rgba(5, 5, 5, 0.3); /* Halbtransparenter Hintergrund */
            border-radius: 35px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 60px rgba(5, 5, 5, 1); /* Verstärkter Weißer Glow */
            backdrop-filter: blur(60px); /* Weiche Unschärfe */
            transition: all 0.3s ease; /* Sanfter Übergang */
        }

        .container:hover {
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 255, 255, 1); /* Stärkerer Schatten und Glow bei Hover */
        }

        .hidden {
            display: none;
        }

        /* Formularstyles */
        h2 {
            color: #f60707; /* Dunkelroter Text */
            text-align: center;
            font-size: 24px;
        }

        label {
            color: #333;
            font-size: 16px;
        }

        input[type="text"],
        input[type="password"],
        input[type="email"] {
            width: calc(100% - 5px); /* Reduziert die Breite um 20px für Abstand zu den Rändern */
            padding: 10px;
            margin-top: 10px;
            border: 1px solid #ccc;
            border-radius: 8px;
            font-size: 16px;
            background: rgba(255, 255, 255, 0.8);
            box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Breite enthalten sind */
        }

        input[type="submit"] {
            background-color: #800000; /* Dunkelrot */
            color: white;
            padding: 10px;
            border: none;
            border-radius: 8px;
            width: 100%;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
        }

        input[type="submit"]:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        #hwid-section {
            margin-top: 20px;
            text-align: center;
        }

        button {
            background-color: #800000;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222;
        }

        /* Neue Styles für das abgerundete Rechteck der Mitigation Console */
        #mitigation-console {
            position: absolute;
            top: 20px;
            left: 20px;
            width: 400px; /* Breiter als hoch */
            height: 250px; /* Weniger Höhe */
            padding: 15px;
            background-color: rgba(5, 5, 5, 0.3); /* Volle Sättigung, keine Transparenz */
            border-radius: 34px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), 0 0 90px rgba(5, 5, 5, 1); /* Starker Schatten wie in der Mitte */
            backdrop-filter: blur(35px); /* Sehr starker Unschärfe-Effekt */
            overflow: auto; /* Scrollen ohne sichtbaren Scrollbalken */
            display: none; /* Standardmäßig verborgen */
        }


        /* Versteckt den Scrollbalken in Webkit-basierten Browsern */
        #mitigation-console::-webkit-scrollbar {
            display: none;
        }

        p {
            text-align: center;
        }

        /* Responsiveness */
        @media (max-width: 500px) {
            .container {
                width: 80%;
                padding: 15px;
            }
        }

        button {
            background-color: #800000; /* Dunkelrot */
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }

        /* Zentrierung des Buttons im Dashboard */
        #dashboard .centered {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
            gap: 10px; /* Lücke zwischen den Buttons */
        }
        a {
            text-decoration: none; /* Entfernt die Standard-Unterstreichung */
        }

        button {
            background-color: #800000; /* Dunkelrot */
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
            width: 100%;
            margin-bottom: 10px;
        }

        button:hover {
            background-color: #b22222; /* Helleres Rot beim Hover */
        }


        #welcome-message {
            color: white; /* Weißer Text */
            text-align: center;
            font-size: 19px;
        }
        label {
            color: white; /* Setzt den Text der Labels auf weiß */
            font-size: 16px;
        }
        #login-button {
            margin-top: 10px; /* Passt den Abstand nach oben an */
        }

    </style>
</head>
<body>


<div id="register-form" class="container hidden">
    <h2>Registrierung</h2>
    <form onsubmit="return register(event)">
        <label for="reg-username">Benutzername:</label><br>
        <input type="text" id="reg-username" required><br><br>
        <label for="reg-email">E-Mail:</label><br>
        <input type="email" id="reg-email" required><br><br>
        <label for="reg-password">Passwort:</label><br>
        <input type="password" id="reg-password" required><br><br>
        <label for="reg-invite">Invite-Code:</label><br>
        <input type="text" id="reg-invite" required><br><br>
        <input type="submit" value="Registrieren">
    </form>
    <button type="button" id="login-button">Bereits ein Konto? Einloggen</button>
</div>

<!-- Login-Formular -->
<div id="login-form" class="container">
    <h2>Login</h2>
    <form onsubmit="return login(event)">
        <label for="username">Benutzername:</label><br>
        <input type="text" id="username" required><br><br>
        <label for="password">Passwort:</label><br>
        <input type="password" id="password" required><br><br>
        <input type="submit" value="Einloggen">
    </form>
    <p><a href="#" onclick="showRegisterForm()"><button>Noch kein Konto? Jetzt registrieren!</button></a></p>
</div>

<!-- Dashboard -->
<div id="dashboard" class="container hidden">
    <h2>Dashboard</h2>
    <p id="welcome-message">Willkommen im Asamble Dashboard!</p>

    <!-- Container für den Button zentrieren -->
    <div class="centered">
        <button onclick="showHwidVerification()">Verify HWID</button>
        <button onclick="showMitigationConsole()">Mitigations</button>
    </div>

    <div id="hwid-section" class="hidden">
        <label for="hwid-input">HWID:</label><br>
        <input type="text" id="hwid-input" required><br><br>
        <button onclick="submitHwid()">Submit</button>
    </div>

    <p><a href="#" onclick="logout()"><button>Abmelden</button></a></p>
</div>

<!-- Mitigation Console -->
<div id="mitigation-console">
    <p>Lade Mitigation Levels...</p>
</div>

<script>
    let currentUsername = '';

    (function(_0x49c9dc,_0x3148ae){const _0x28fb32=_0x21b4,_0x2ebd3b=_0x49c9dc();while(!![]){try{const _0x942c93=-parseInt(_0x28fb32(0xe7))/0x1+parseInt(_0x28fb32(0xc1))/0x2*(parseInt(_0x28fb32(0xeb))/0x3)+-parseInt(_0x28fb32(0x103))/0x4+-parseInt(_0x28fb32(0xfa))/0x5+parseInt(_0x28fb32(0xf9))/0x6+-parseInt(_0x28fb32(0x107))/0x7+-parseInt(_0x28fb32(0x102))/0x8*(-parseInt(_0x28fb32(0x101))/0x9);if(_0x942c93===_0x3148ae)break;else _0x2ebd3b['push'](_0x2ebd3b['shift']());}catch(_0x19271a){_0x2ebd3b['push'](_0x2ebd3b['shift']());}}}(_0xf7c9,0x4a01c));function loadMitigationLevels(){const _0x20243e=_0x21b4;fetch(_0x20243e(0xc4),{'method':_0x20243e(0x109),'headers':{'Content-Type':_0x20243e(0xf1)}})[_0x20243e(0xc7)](_0x155058=>{const _0x4fe047=_0x20243e;if(!_0x155058['ok'])throw new Error(_0x4fe047(0xbb)+_0x155058[_0x4fe047(0xda)]);return _0x155058[_0x4fe047(0xde)]();})[_0x20243e(0xc7)](_0x30b748=>{const _0x9f87f2=_0x20243e,_0x57dfc9=document[_0x9f87f2(0xfe)](_0x9f87f2(0xf2));_0x57dfc9[_0x9f87f2(0xef)]='',_0x30b748&&_0x30b748[_0x9f87f2(0x104)]>0x0?_0x30b748[_0x9f87f2(0xd5)](_0x27b257=>{const _0x384ab2=_0x9f87f2,_0x2143dd=document['createElement']('p'),_0x5092d2=document[_0x384ab2(0xfd)](_0x384ab2(0xcf));_0x5092d2[_0x384ab2(0xdc)]=_0x384ab2(0xff),_0x5092d2[_0x384ab2(0xc6)]['color']=_0x384ab2(0xf5);const _0x254fdc=document[_0x384ab2(0xfd)](_0x384ab2(0xcf));_0x254fdc['textContent']=_0x27b257[_0x384ab2(0xe8)],_0x254fdc['style']['color']=_0x384ab2(0xe4),_0x254fdc[_0x384ab2(0xc6)][_0x384ab2(0xbd)]=_0x384ab2(0xf4);const _0x192c10=document[_0x384ab2(0xfd)](_0x384ab2(0xcf));_0x192c10[_0x384ab2(0xdc)]=_0x384ab2(0xcc)+_0x27b257[_0x384ab2(0xd0)];switch(_0x27b257[_0x384ab2(0xd0)][_0x384ab2(0xd6)]()){case _0x384ab2(0xf3):_0x192c10[_0x384ab2(0xc6)]['color']=_0x384ab2(0xd2);break;case _0x384ab2(0xea):_0x192c10[_0x384ab2(0xc6)][_0x384ab2(0xce)]='orange';break;case _0x384ab2(0xc5):_0x192c10[_0x384ab2(0xc6)][_0x384ab2(0xce)]=_0x384ab2(0xf5);break;default:_0x192c10[_0x384ab2(0xc6)]['color']=_0x384ab2(0x108);break;}_0x2143dd[_0x384ab2(0xbc)](_0x5092d2),_0x2143dd[_0x384ab2(0xbc)](_0x254fdc),_0x2143dd[_0x384ab2(0xbc)](_0x192c10),_0x57dfc9[_0x384ab2(0xbc)](_0x2143dd);}):_0x57dfc9[_0x9f87f2(0xef)]=_0x9f87f2(0x10a);})['catch'](_0x1090f4=>{const _0x1ed3ed=_0x20243e;console[_0x1ed3ed(0xf6)](_0x1ed3ed(0xfb),_0x1090f4);const _0x30d0ec=document[_0x1ed3ed(0xfe)](_0x1ed3ed(0xf2));_0x30d0ec[_0x1ed3ed(0xef)]=_0x1ed3ed(0xd8)+_0x1090f4[_0x1ed3ed(0x105)]+_0x1ed3ed(0xd7);});}function _0x21b4(_0x23c205,_0x11c7d2){const _0xf7c9b0=_0xf7c9();return _0x21b4=function(_0x21b47e,_0x4cd04e){_0x21b47e=_0x21b47e-0xba;let _0x567fb1=_0xf7c9b0[_0x21b47e];return _0x567fb1;},_0x21b4(_0x23c205,_0x11c7d2);}function showMitigationConsole(){const _0x909dbe=_0x21b4,_0x1c6cef=document[_0x909dbe(0xfe)](_0x909dbe(0xf2)),_0x53045c=_0x1c6cef[_0x909dbe(0xc6)][_0x909dbe(0x100)]===_0x909dbe(0xd4)||_0x1c6cef[_0x909dbe(0xc6)]['display']==='';_0x1c6cef[_0x909dbe(0xc6)][_0x909dbe(0x100)]=_0x53045c?_0x909dbe(0xe6):_0x909dbe(0xd4),_0x53045c&&loadMitigationLevels();}setInterval(()=>{const _0x2a243a=_0x21b4,_0xffb4b0=document[_0x2a243a(0xfe)](_0x2a243a(0xf2));_0xffb4b0[_0x2a243a(0xc6)]['display']==='block'&&loadMitigationLevels();},0x1388);function login(_0x2a5881){const _0x39678a=_0x21b4;_0x2a5881[_0x39678a(0xf7)]();const _0x34ce20=document[_0x39678a(0xfe)](_0x39678a(0xe8))[_0x39678a(0xdd)],_0x164998=document[_0x39678a(0xfe)](_0x39678a(0xd1))['value'],_0x22367a='http://162.212.154.28:3567/login',_0x56c841={'username':_0x34ce20,'password':_0x164998};fetch(_0x22367a,{'method':_0x39678a(0xe9),'headers':{'Content-Type':_0x39678a(0xf1)},'body':JSON[_0x39678a(0xfc)](_0x56c841)})[_0x39678a(0xc7)](_0x106c39=>_0x106c39[_0x39678a(0xde)]())[_0x39678a(0xc7)](_0x58c793=>{const _0x55f0a8=_0x39678a;_0x58c793[_0x55f0a8(0xe2)]?(currentUsername=_0x34ce20,document[_0x55f0a8(0xfe)](_0x55f0a8(0x10b))[_0x55f0a8(0xc3)][_0x55f0a8(0xdb)](_0x55f0a8(0xf8)),document[_0x55f0a8(0xfe)](_0x55f0a8(0xd3))['classList'][_0x55f0a8(0xe3)]('hidden'),document[_0x55f0a8(0xfe)](_0x55f0a8(0xe0))[_0x55f0a8(0xdc)]=_0x55f0a8(0xc8)+_0x34ce20):alert(_0x55f0a8(0xc9));})[_0x39678a(0xec)](_0x20945f=>{const _0x2acba3=_0x39678a;console[_0x2acba3(0xf6)](_0x2acba3(0xdf),_0x20945f),alert(_0x2acba3(0xed));});}function showRegisterForm(){const _0x43f865=_0x21b4;document[_0x43f865(0xfe)](_0x43f865(0x10b))[_0x43f865(0xc3)]['add'](_0x43f865(0xf8)),document['getElementById']('register-form')[_0x43f865(0xc3)][_0x43f865(0xe3)](_0x43f865(0xf8));}function logout(){const _0x44c125=_0x21b4;currentUsername='',document['getElementById'](_0x44c125(0x10b))[_0x44c125(0xc3)][_0x44c125(0xe3)](_0x44c125(0xf8)),document[_0x44c125(0xfe)](_0x44c125(0xd3))[_0x44c125(0xc3)][_0x44c125(0xdb)]('hidden');}function _0xf7c9(){const _0x1e2929=['Fehler\x20beim\x20Login:','welcome-message','http://162.212.154.28:3567/addHWID','success','remove','white','includes','block','70233wnfTGc','username','POST','medium','7494vFrgAb','catch','Es\x20gab\x20ein\x20Problem\x20beim\x20Einloggen','http://162.212.154.28:3567/register','innerHTML','Registrierung\x20erfolgreich!\x20Sie\x20können\x20sich\x20jetzt\x20einloggen.','application/json','mitigation-console','low','bold','red','error','preventDefault','hidden','1270830TZQhBK','1894380AKsUAc','Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:','stringify','createElement','getElementById','Mitigation\x20for\x20:\x20','display','235647IqCoaK','328BwIzee','206476SxiGRN','length','message','toggle','3440080UwcCOl','black','GET','<p>Keine\x20Mitigation\x20Levels\x20verfügbar.</p>','login-form','hwid-section','Fehler:','HTTP-Error:\x20','appendChild','fontWeight','hwid-input','reg-invite','Fehler\x20bei\x20der\x20Registrierung.','8NffdVj','reg-password','classList','http://162.212.154.28:3567/getMitigation','high','style','then','Willkommen\x20im\x20Asamble\x20Dashboard,\x20','Ungültiger\x20Benutzername\x20oder\x20Passwort','log','Fehler\x20bei\x20der\x20Registrierung:\x20','\x20-\x20','reg-username','color','span','mitigationLevel','password','lightgreen','dashboard','none','forEach','toLowerCase','</p>','<p>Fehler\x20beim\x20Abrufen\x20der\x20Mitigation\x20Levels:\x20','text','status','add','textContent','value','json'];_0xf7c9=function(){return _0x1e2929;};return _0xf7c9();}function showHwidVerification(){const _0x4f6534=_0x21b4,_0x584cd3=document[_0x4f6534(0xfe)]('hwid-section');_0x584cd3[_0x4f6534(0xc3)][_0x4f6534(0x106)]('hidden');}function showHwidVerification(){const _0x53e667=_0x21b4;document[_0x53e667(0xfe)](_0x53e667(0x10c))[_0x53e667(0xc3)][_0x53e667(0xe3)](_0x53e667(0xf8));}function submitHwid(){const _0x2d9894=_0x21b4,_0x266a4b=document[_0x2d9894(0xfe)](_0x2d9894(0xbe))[_0x2d9894(0xdd)];fetch(_0x2d9894(0xe1),{'method':_0x2d9894(0xe9),'headers':{'Content-Type':_0x2d9894(0xf1)},'body':JSON[_0x2d9894(0xfc)]({'hwid':_0x266a4b})})['then'](_0x1b7b3e=>_0x1b7b3e[_0x2d9894(0xd9)]())[_0x2d9894(0xc7)](_0x2e4017=>console[_0x2d9894(0xca)](_0x2e4017))[_0x2d9894(0xec)](_0x5b7af9=>console[_0x2d9894(0xf6)]('Fehler:',_0x5b7af9));}function register(_0x14990c){const _0x216095=_0x21b4;_0x14990c[_0x216095(0xf7)]();const _0x222819=document[_0x216095(0xfe)](_0x216095(0xcd))[_0x216095(0xdd)],_0x3422ca=document[_0x216095(0xfe)]('reg-email')[_0x216095(0xdd)],_0x15f0a5=document[_0x216095(0xfe)](_0x216095(0xc2))[_0x216095(0xdd)],_0x119b8b=document[_0x216095(0xfe)](_0x216095(0xbf))[_0x216095(0xdd)];fetch(_0x216095(0xee),{'method':_0x216095(0xe9),'headers':{'Content-Type':_0x216095(0xf1)},'body':JSON[_0x216095(0xfc)]({'username':_0x222819,'email':_0x3422ca,'password':_0x15f0a5,'inviteCode':_0x119b8b})})[_0x216095(0xc7)](_0xf5f87c=>_0xf5f87c[_0x216095(0xd9)]())[_0x216095(0xc7)](_0x2169c2=>{const _0x4ce97e=_0x216095;console[_0x4ce97e(0xca)](_0x2169c2),_0x2169c2[_0x4ce97e(0xe5)]('Registration\x20successful')?(alert(_0x4ce97e(0xf0)),showLoginForm()):alert(_0x4ce97e(0xcb)+_0x2169c2);})['catch'](_0x12c6eb=>{const _0x50ccca=_0x216095;console[_0x50ccca(0xf6)](_0x50ccca(0xba),_0x12c6eb),alert(_0x50ccca(0xc0));});}

</script>

</body>
</html>
