#!/usr/bin/env python3
import base64

def xor_decrypt(text, key):
    """XOR decrypt text with key"""
    result = []
    key_len = len(key)
    key_pos = 0
    
    for i, char in enumerate(text):
        key_pos = (key_pos % key_len)
        result.append(chr(ord(char) ^ ord(key[key_pos])))
        key_pos += 1
    
    return ''.join(result)

# The encrypted payload from the document
payload = """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"""

# XOR decrypt with key
decrypted = xor_decrypt(payload, "ph15h1n9")

# Base64 decode
try:
    flag = base64.b64decode(decrypted)
    print("Flag found:")
    print(flag.decode('utf-8', errors='ignore'))
except Exception as e:
    print(f"Error decoding: {e}")
    print(f"Decrypted (first 500 chars): {decrypted[:500]}")
