Puma Mass Renamer + RNG Namer

Manual rename, random rename, prefix/suffix text, remove filter, dark mode, persistent settings, sticky panel, auto-open

目前為 2025-09-11 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Puma Mass Renamer + RNG Namer
// @namespace    http://tampermonkey.net/
// @version      2.6
// @description  Manual rename, random rename, prefix/suffix text, remove filter, dark mode, persistent settings, sticky panel, auto-open
// @match        https://pocketpumapets.com/pride.php*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    const STORAGE_KEY = "pumaRenamerSettings";

    function loadSettings() {
        return JSON.parse(localStorage.getItem(STORAGE_KEY) || "{}");
    }
    function saveSettings() {
        localStorage.setItem(STORAGE_KEY, JSON.stringify(settings));
    }

    let settings = loadSettings();

    // --- Manual rename ---
    function renamePuma(customName) {
        document.querySelectorAll("input.puma_multiselect_rename").forEach(el => {
            el.value = customName;
        });
    }

    const manualButton = document.createElement("button");
    manualButton.textContent = "Rename Puma";
    Object.assign(manualButton.style, {
        position: "fixed", top: "10px", right: "10px", zIndex: 10000,
        padding: "8px 12px", backgroundColor: "#ff9800", color: "#fff",
        border: "none", borderRadius: "5px", cursor: "pointer",
        boxShadow: "0 2px 6px rgba(0,0,0,0.2)", marginBottom: "4px"
    });
    manualButton.addEventListener("click", () => {
        const customName = prompt("Enter the new Puma name:");
        if (customName) renamePuma(customName);
    });
    document.body.appendChild(manualButton);

    // --- Randomize button ---
    const randomButton = document.createElement("button");
    randomButton.textContent = "Randomize Pumas";
    Object.assign(randomButton.style, {
        position: "fixed", top: "50px", right: "10px", zIndex: 10000,
        padding: "8px 12px", backgroundColor: "#4caf50", color: "#fff",
        border: "none", borderRadius: "5px", cursor: "pointer",
        boxShadow: "0 2px 6px rgba(0,0,0,0.2)"
    });
    document.body.appendChild(randomButton);

    // --- Control panel ---
    const container = document.createElement("div");
    Object.assign(container.style, {
        position: "fixed", zIndex: 10000,
        backgroundColor: "#fff", padding: "8px", border: "1px solid #ccc",
        borderRadius: "5px", boxShadow: "0 2px 6px rgba(0,0,0,0.2)",
        fontFamily: "sans-serif", maxWidth: "250px"
    });

    const header = document.createElement("div");
    header.textContent = "Random Puma Renamer";
    Object.assign(header.style, {
        backgroundColor: "#4caf50", color: "#fff", padding: "4px",
        cursor: "move", borderRadius: "3px", marginBottom: "6px"
    });
    container.appendChild(header);

    // --- Load last panel position ---
    if (settings.panelPosition) {
        container.style.left = settings.panelPosition.left;
        container.style.top = settings.panelPosition.top;
    } else {
        container.style.top = "100px";
        container.style.right = "10px";
    }

    // --- Drag panel ---
    let offsetX, offsetY, isDragging = false;
    header.addEventListener("mousedown", e => {
        isDragging = true;
        offsetX = e.clientX - container.offsetLeft;
        offsetY = e.clientY - container.offsetTop;
    });
    document.addEventListener("mousemove", e => {
        if (!isDragging) return;
        container.style.left = (e.clientX - offsetX) + "px";
        container.style.top = (e.clientY - offsetY) + "px";
    });
    document.addEventListener("mouseup", () => {
        if (isDragging) {
            settings.panelPosition = {
                left: container.style.left,
                top: container.style.top
            };
            saveSettings();
        }
        isDragging = false;
    });

    // --- UI elements ---
    const wordCountInput = document.createElement("input");
    wordCountInput.type = "number"; wordCountInput.min = 1; wordCountInput.max = 10;
    wordCountInput.value = settings.wordCount || 2;
    wordCountInput.style.width = "40px"; wordCountInput.style.marginRight = "4px";
    const wordCountLabel = document.createElement("span"); wordCountLabel.textContent = "Max words per name: ";

    const randomCheck = document.createElement("input");
    randomCheck.type = "checkbox"; randomCheck.checked = settings.randomCheck || false;
    const randomLabel = document.createElement("span"); randomLabel.textContent = "Random word count";

    const filterInput = document.createElement("input");
    filterInput.type = "text"; filterInput.placeholder = "Filter text";
    filterInput.value = settings.filterInput || " x ";
    filterInput.style.width = "120px"; filterInput.style.marginRight = "4px";

    const filterCheck = document.createElement("input");
    filterCheck.type = "checkbox"; filterCheck.checked = settings.filterCheck || false;
    const filterLabel = document.createElement("span"); filterLabel.textContent = "Use filter";

    const addWordInput = document.createElement("input");
    addWordInput.type = "text"; addWordInput.placeholder = "Add words (word:type|type,...)";
    addWordInput.style.width = "200px"; addWordInput.style.marginRight = "4px";
    const addWordButton = document.createElement("button"); addWordButton.textContent = "Add Words";

    const typeContainer = document.createElement("div");
    typeContainer.textContent = "Include types:";

    const selectAllBtn = document.createElement("button"); selectAllBtn.textContent = "Select All";
    const deselectAllBtn = document.createElement("button"); deselectAllBtn.textContent = "Deselect All";
    typeContainer.appendChild(selectAllBtn); typeContainer.appendChild(deselectAllBtn);

    const randomizeButton = document.createElement("button");
    randomizeButton.textContent = "Generate Names"; randomizeButton.style.marginTop = "4px";

    // --- Prefix text feature ---
    const prefixInput = document.createElement("input");
    prefixInput.type = "text";
    prefixInput.placeholder = "Prefix text…";
    prefixInput.value = settings.prefixText || "";
    prefixInput.style.width = "150px";
    prefixInput.style.marginRight = "4px";
    const prefixBtn = document.createElement("button");
    prefixBtn.textContent = "Add Prefix";

    prefixBtn.addEventListener("click", () => {
        const txt = prefixInput.value;
        if (!txt) return;
        document.querySelectorAll("input.puma_multiselect_rename").forEach(el => {
            el.value = txt + el.value;
        });
        settings.prefixText = txt;
        saveSettings();
    });

    // --- Suffix text feature ---
    const appendInput = document.createElement("input");
    appendInput.type = "text";
    appendInput.placeholder = "Suffix text…";
    appendInput.value = settings.appendText || "";
    appendInput.style.width = "150px";
    appendInput.style.marginRight = "4px";
    const appendBtn = document.createElement("button");
    appendBtn.textContent = "Add Suffix";

    appendBtn.addEventListener("click", () => {
        const txt = appendInput.value;
        if (!txt) return;
        document.querySelectorAll("input.puma_multiselect_rename").forEach(el => {
            el.value = el.value + txt;
        });
        settings.appendText = txt;
        saveSettings();
    });

    // --- Remove filter feature ---
    const removeFilterInput = document.createElement("input");
    removeFilterInput.type = "text";
    removeFilterInput.placeholder = "Filter to remove…";
    removeFilterInput.value = settings.removeFilterText || "";
    removeFilterInput.style.width = "150px";
    removeFilterInput.style.marginRight = "4px";

    const removeFilterBtn = document.createElement("button");
    removeFilterBtn.textContent = "Remove Filter";

    removeFilterBtn.addEventListener("click", () => {
        const filterText = removeFilterInput.value;
        if (!filterText) return;

        document.querySelectorAll("input.puma_multiselect_rename").forEach(el => {
            const index = el.value.indexOf(filterText);
            if (index !== -1) {
                el.value = el.value.substring(0, index);
            }
        });

        settings.removeFilterText = filterText;
        saveSettings();
    });

    // --- Dark Mode ---
    const darkModeCheck = document.createElement("input");
    darkModeCheck.type = "checkbox";
    darkModeCheck.checked = settings.darkMode || false;
    const darkModeLabel = document.createElement("span");
    darkModeLabel.textContent = "Dark Mode";

    function applyDarkMode(isDark) {
        if (isDark) {
            container.style.backgroundColor = "#111";
            container.style.color = "#fff";
            Array.from(container.querySelectorAll("input[type='text'], input[type='number']")).forEach(input => {
                input.style.backgroundColor = "#fff";
                input.style.color = "#000";
            });
        } else {
            container.style.backgroundColor = "#fff";
            container.style.color = "#000";
            Array.from(container.querySelectorAll("input[type='text'], input[type='number']")).forEach(input => {
                input.style.backgroundColor = "#fff";
                input.style.color = "#000";
            });
        }
    }

    darkModeCheck.addEventListener("change", () => {
        settings.darkMode = darkModeCheck.checked;
        applyDarkMode(settings.darkMode);
        saveSettings();
    });

    // --- Build UI ---
    container.appendChild(darkModeCheck); container.appendChild(darkModeLabel); container.appendChild(document.createElement("br"));
    container.appendChild(wordCountLabel); container.appendChild(wordCountInput); container.appendChild(document.createElement("br"));
    container.appendChild(randomCheck); container.appendChild(randomLabel); container.appendChild(document.createElement("br"));
    container.appendChild(filterCheck); container.appendChild(filterLabel); container.appendChild(filterInput); container.appendChild(document.createElement("br"));
    container.appendChild(addWordInput); container.appendChild(addWordButton);
    container.appendChild(typeContainer);
    container.appendChild(randomizeButton);
    container.appendChild(document.createElement("hr"));
    container.appendChild(prefixInput); container.appendChild(prefixBtn); container.appendChild(document.createElement("br"));
    container.appendChild(appendInput); container.appendChild(appendBtn); container.appendChild(document.createElement("br"));
    container.appendChild(removeFilterInput); container.appendChild(removeFilterBtn);

    document.body.appendChild(container);

    // --- Persistence for inputs ---
    [wordCountInput, randomCheck, filterInput, filterCheck, appendInput, prefixInput, removeFilterInput, darkModeCheck].forEach(el => {
        el.addEventListener("input", () => {
            settings.wordCount = parseInt(wordCountInput.value) || 2;
            settings.randomCheck = randomCheck.checked;
            settings.filterInput = filterInput.value;
            settings.filterCheck = filterCheck.checked;
            settings.appendText = appendInput.value;
            settings.prefixText = prefixInput.value;
            settings.removeFilterText = removeFilterInput.value;
            settings.darkMode = darkModeCheck.checked;
            saveSettings();
        });
    });

    // --- RNG logic ---
    let words = [

        { word: "Arcane", type: ["fantasy"] },         { word: "Enchanted", type: ["fantasy"] },         { word: "Eldritch", type: ["fantasy"] },         { word: "Fae", type: ["fantasy"] },         { word: "Runestone", type: ["fantasy"] },         { word: "Sorcery", type: ["fantasy"] },         { word: "Spellbound", type: ["fantasy"] },         { word: "Valkyrie", type: ["fantasy"] },         { word: "Thalassian", type: ["fantasy"] },         { word: "Astral", type: ["fantasy"] },         { word: "Gloomshade", type: ["fantasy"] },         { word: "Wyvern", type: ["fantasy"] },         { word: "Feywild", type: ["fantasy"] },         { word: "Mythril", type: ["fantasy"] },         { word: "Netherrealm", type: ["fantasy"] },         { word: "Celestial", type: ["fantasy"] },         { word: "Draegon", type: ["fantasy"] },         { word: "Twilight", type: ["fantasy"] },         { word: "Sylvan", type: ["fantasy"] },         { word: "Eclipsed", type: ["fantasy"] },         { word: "Amethyst", type: ["fantasy"] },         { word: "Chimera", type: ["fantasy"] },         { word: "Enigma", type: ["fantasy"] },         { word: "Aether", type: ["fantasy"] },         { word: "Seraphim", type: ["fantasy"] },         { word: "Basilisk", type: ["fantasy"] },         { word: "Manticore", type: ["fantasy"] },         { word: "Vortex", type: ["fantasy"] },         { word: "Runeweaver", type: ["fantasy"] },         { word: "Faun", type: ["fantasy"] },         { word: "Cursed", type: ["fantasy"] },         { word: "Obsidian", type: ["fantasy"] },         { word: "Leviathan", type: ["fantasy"] },         { word: "Nightshade", type: ["fantasy"] },         { word: "Empyrean", type: ["fantasy"] },         { word: "Arcanist", type: ["fantasy"] },         { word: "Grimoire", type: ["fantasy"] },         { word: "Moonstone", type: ["fantasy"] },         { word: "Wyrm", type: ["fantasy"] },         { word: "Lich", type: ["fantasy"] },         { word: "Void", type: ["fantasy"] },         { word: "Golem", type: ["fantasy"] },         { word: "Bloodmoon", type: ["fantasy"] },         { word: "Phoenix", type: ["fantasy"] },         { word: "Shade", type: ["fantasy"] },         { word: "Direwolf", type: ["fantasy"] },         { word: "Spire", type: ["fantasy"] },         { word: "Celestia", type: ["fantasy"] },         { word: "Mysteria", type: ["fantasy"] },         { word: "Druidic", type: ["fantasy"] },         { word: "Summoner", type: ["fantasy"] },         { word: "Ember", type: ["fantasy"] },         { word: "Illusion", type: ["fantasy"] },         { word: "Frostbite", type: ["fantasy"] },         { word: "Dragonkin", type: ["fantasy"] },         { word: "Elvish", type: ["fantasy"] },         { word: "Arcana", type: ["fantasy"] },         { word: "Spellforge", type: ["fantasy"] },         { word: "Silverwood", type: ["fantasy"] },         { word: "Crystalheart", type: ["fantasy"] },         { word: "Stormbringer", type: ["fantasy"] },         { word: "Wraith", type: ["fantasy"] },         { word: "Grendel", type: ["fantasy"] },         { word: "Aegis", type: ["fantasy"] },         { word: "Berserker", type: ["fantasy"] },         { word: "Runeheart", type: ["fantasy"] },         { word: "Emberstone", type: ["fantasy"] },         { word: "Enchanter", type: ["fantasy"] },         { word: "Frostveil", type: ["fantasy"] },         { word: "Wyldwood", type: ["fantasy"] },         { word: "Onyx", type: ["fantasy"] },         { word: "Shadowmancer", type: ["fantasy"] },         { word: "Scaldstone", type: ["fantasy"] },         { word: "Faeblight", type: ["fantasy"] },         { word: "Grimdark", type: ["fantasy"] },         { word: "Sunflare", type: ["fantasy"] },         { word: "Dreamweaver", type: ["fantasy"] },         { word: "Phantom", type: ["fantasy"] },         { word: "Titanscale", type: ["fantasy"] },         { word: "Seer", type: ["fantasy"] },         { word: "Bloodstone", type: ["fantasy"] },         { word: "Eonblade", type: ["fantasy"] },         { word: "Nightfall", type: ["fantasy"] },         { word: "Frostwhisper", type: ["fantasy"] },         { word: "Wyverntide", type: ["fantasy"] },         { word: "Ashenborn", type: ["fantasy"] },         { word: "Stormcaller", type: ["fantasy"] },         { word: "Sunfire", type: ["fantasy"] },         { word: "Ironwood", type: ["fantasy"] },         { word: "Veilwalker", type: ["fantasy"] },         { word: "Omen", type: ["fantasy"] },         { word: "Grimhold", type: ["fantasy"] },         { word: "Specter", type: ["fantasy"] },         { word: "Riftwalk", type: ["fantasy"] },         { word: "Moonlit", type: ["fantasy"] },         { word: "Verdant", type: ["fantasy"] },         { word: "Forgefire", type: ["fantasy"] },         { word: "Obscura", type: ["fantasy"] },         { word: "Dawnbringer", type: ["fantasy"] },         { word: "Prisma", type: ["rainbow"] },         { word: "Chromatic", type: ["rainbow"] },         { word: "Spectrum", type: ["rainbow"] },         { word: "Hue", type: ["rainbow"] },         { word: "Arc", type: ["rainbow"] },         { word: "Tint", type: ["rainbow"] },         { word: "Shade", type: ["rainbow"] },         { word: "Glow", type: ["rainbow"] },         { word: "Radiance", type: ["rainbow"] },         { word: "Luster", type: ["rainbow"] },         { word: "Aurora", type: ["rainbow"] },         { word: "Iridescence", type: ["rainbow"] },         { word: "Vivid", type: ["rainbow"] },         { word: "Opalescence", type: ["rainbow"] },         { word: "Refraction", type: ["rainbow"] },         { word: "Diffraction", type: ["rainbow"] },         { word: "Refract", type: ["rainbow"] },         { word: "Glimmer", type: ["rainbow"] },         { word: "Shimmer", type: ["rainbow"] },         { word: "Dazzle", type: ["rainbow"] },         { word: "Flicker", type: ["rainbow"] },         { word: "Glint", type: ["rainbow"] },         { word: "Sparkle", type: ["rainbow"] },         { word: "Twinkle", type: ["rainbow"] },         { word: "Radiant", type: ["rainbow"] },         { word: "Flash", type: ["rainbow"] },         { word: "Glowstone", type: ["rainbow"] },         { word: "Prism", type: ["rainbow"] },         { word: "Luminance", type: ["rainbow"] },         { word: "Illuminance", type: ["rainbow"] },         { word: "Halo", type: ["rainbow"] },         { word: "Ember", type: ["rainbow"] },         { word: "Sunflare", type: ["rainbow"] },         { word: "Starburst", type: ["rainbow"] },         { word: "Sunbeam", type: ["rainbow"] },         { word: "Nebula", type: ["rainbow"] },         { word: "Celestial", type: ["rainbow"] },         { word: "Phosphorescence", type: ["rainbow"] },         { word: "Luminosity", type: ["rainbow"] },         { word: "Fluorescence", type: ["rainbow"] },         { word: "Crystal", type: ["rainbow"] },         { word: "Reflection", type: ["rainbow"] },         { word: "Glistening", type: ["rainbow"] },         { word: "Glowworm", type: ["rainbow"] },         { word: "Incandescence", type: ["rainbow"] },         { word: "Opal", type: ["rainbow"] },         { word: "Mirage", type: ["rainbow"] },         { word: "Clarity", type: ["rainbow"] },         { word: "Echo", type: ["rainbow"] },         { word: "Haloes", type: ["rainbow"] },         { word: "Lightwave", type: ["rainbow"] },         { word: "Coruscation", type: ["rainbow"] },         { word: "Aura", type: ["rainbow"] },         { word: "Shining", type: ["rainbow"] },         { word: "Stardust", type: ["rainbow"] },         { word: "Tracer", type: ["rainbow"] },         { word: "Cascade", type: ["rainbow"] },         { word: "Fulgor", type: ["rainbow"] },         { word: "Prismatics", type: ["rainbow"] },         { word: "Chromosphere", type: ["rainbow"] },         { word: "Chromatism", type: ["rainbow"] },         { word: "Gleam", type: ["rainbow"] },         { word: "Illumine", type: ["rainbow"] },         { word: "Fluorite", type: ["rainbow"] },         { word: "Polarization", type: ["rainbow"] },         { word: "Dapple", type: ["rainbow"] },         { word: "Flashpoint", type: ["rainbow"] },         { word: "Diffusion", type: ["rainbow"] },         { word: "Transparency", type: ["rainbow"] },         { word: "Lightness", type: ["rainbow"] },         { word: "Crystalize", type: ["rainbow"] },         { word: "Lightstream", type: ["rainbow"] },         { word: "Reflective", type: ["rainbow"] },         { word: "Ray", type: ["rainbow"] },         { word: "Diffuse", type: ["rainbow"] },         { word: "Gleaming", type: ["rainbow"] },         { word: "Glist", type: ["rainbow"] },         { word: "Scintillation", type: ["rainbow"] },         { word: "Glowforge", type: ["rainbow"] },         { word: "Haloed", type: ["rainbow"] },         { word: "Whiteout", type: ["rainbow"] },         { word: "Gemstone", type: ["rainbow"] },         { word: "Shard", type: ["rainbow"] },         { word: "Emberlight", type: ["rainbow"] },         { word: "Prismify", type: ["rainbow"] },         { word: "Lightcast", type: ["rainbow"] },         { word: "Moonstone", type: ["rainbow"] },         { word: "Glowing", type: ["rainbow"] },         { word: "Flamestone", type: ["rainbow"] },         { word: "Sunlit", type: ["rainbow"] },         { word: "Lightspill", type: ["rainbow"] },         { word: "Neon", type: ["rainbow"] },         { word: "Radiograph", type: ["rainbow"] },         { word: "Ghostlight", type: ["rainbow"] },         { word: "Twilight", type: ["rainbow"] },         { word: "Polychrome", type: ["rainbow"] },         { word: "Caustic", type: ["rainbow"] },         { word: "Spectrumite", type: ["rainbow"] },         { word: "Scintilla", type: ["rainbow"] },         { word: "Vibrance", type: ["rainbow"] },         { word: "Sparkling", type: ["rainbow"] },         { word: "Glintstone", type: ["rainbow"] },         { word: "Glister", type: ["rainbow"] },         { word: "Solstice", type: ["rainbow"] },         { word: "Eventide", type: ["rainbow"] },         { word: "Ghostflare", type: ["rainbow"] },         { word: "Vortex", type: ["rainbow"] },         { word: "Skylight", type: ["rainbow"] },         { word: "Phantasm", type: ["rainbow"] },         { word: "Lusterite", type: ["rainbow"] },         { word: "Refractance", type: ["rainbow"] },         { word: "Dazzleflare", type: ["rainbow"] },         { word: "Haloium", type: ["rainbow"] },         { word: "Chroma", type: ["rainbow"] },         { word: "Prismate", type: ["rainbow"] },         { word: "Lightfall", type: ["rainbow"] },         { word: "Crystallized", type: ["rainbow"] },         { word: "Illuminary", type: ["rainbow"] },         { word: "Glintsheen", type: ["rainbow"] },         { word: "Spectrogram", type: ["rainbow"] },         { word: "Glittering", type: ["rainbow"] },         { word: "Darklight", type: ["rainbow"] },         { word: "Candescence", type: ["rainbow"] },         { word: "Polychromic", type: ["rainbow"] },         { word: "Moondust", type: ["rainbow"] },         { word: "Luminist", type: ["rainbow"] },         { word: "Darkshine", type: ["rainbow"] },         { word: "Starblaze", type: ["rainbow"] },         { word: "Moonflare", type: ["rainbow"] },         { word: "Candlelight", type: ["rainbow"] },         { word: "Darkfire", type: ["rainbow"] },         { word: "Flameburst", type: ["rainbow"] },         { word: "Lustrum", type: ["rainbow"] },         { word: "Celestia", type: ["rainbow"] },         { word: "Glimstream", type: ["rainbow"] },         { word: "Flickerlight", type: ["rainbow"] },         { word: "Vibraflux", type: ["rainbow"] },         { word: "Shardlight", type: ["rainbow"] },         { word: "Prismancy", type: ["rainbow"] },         { word: "Glistvault", type: ["rainbow"] },         { word: "Luxolite", type: ["rainbow"] },         { word: "Polarize", type: ["rainbow"] },         { word: "Dreamglow", type: ["rainbow"] },         { word: "Daydream", type: ["rainbow"] },         { word: "Fulgurite", type: ["rainbow"] },         { word: "Starlume", type: ["rainbow"] },         { word: "Skydrift", type: ["rainbow"] },         { word: "Fireshine", type: ["rainbow"] },         { word: "Starflare", type: ["rainbow"] },         { word: "Flarespray", type: ["rainbow"] },         { word: "Lumenology", type: ["rainbow"] },         { word: "Refractionist", type: ["rainbow"] },         { word: "Opalite", type: ["rainbow"] },         { word: "Luxura", type: ["rainbow"] },         { word: "Dayglow", type: ["rainbow"] },         { word: "Dyeshine", type: ["rainbow"] },         { word: "Glintspace", type: ["rainbow"] },         { word: "Sparkflare", type: ["rainbow"] },         { word: "Twiluster", type: ["rainbow"] },         { word: "Scintille", type: ["rainbow"] },         { word: "Chromist", type: ["rainbow"] },         { word: "Nightradiance", type: ["rainbow"] },         { word: "Solarflare", type: ["rainbow"] },         { word: "Haze", type: ["rainbow"] },         { word: "Glimmerstone", type: ["rainbow"] },         { word: "Luxflare", type: ["rainbow"] },         { word: "Spectralite", type: ["rainbow"] },         { word: "Beamlight", type: ["rainbow"] },         { word: "Softshine", type: ["rainbow"] },         { word: "Shimmerwave", type: ["rainbow"] },         { word: "Prismatic", type: ["rainbow"] },         { word: "Chromaform", type: ["rainbow"] },         { word: "Solglow", type: ["rainbow"] },         { word: "Dazzlesphere", type: ["rainbow"] },         { word: "Glimmertide", type: ["rainbow"] },         { word: "Lightflux", type: ["rainbow"] },         { word: "Radiate", type: ["rainbow"] },         { word: "Skylance", type: ["rainbow"] },         { word: "Shinepath", type: ["rainbow"] },         { word: "Chromorph", type: ["rainbow"] },         { word: "Lustrite", type: ["rainbow"] },         { word: "Glowspire", type: ["rainbow"] },         { word: "Prismshield", type: ["rainbow"] },         { word: "Spectrumflare", type: ["rainbow"] },         { word: "Incandescent", type: ["rainbow"] },         { word: "Starshade", type: ["rainbow"] },         { word: "Glower", type: ["rainbow"] },         { word: "Ghostshine", type: ["rainbow"] },         { word: "Chromelume", type: ["rainbow"] },         { word: "Radiotide", type: ["rainbow"] },         { word: "Dawnflare", type: ["rainbow"] },         { word: "Burnglow", type: ["rainbow"] },         { word: "Chromashine", type: ["rainbow"] },         { word: "Lightwoven", type: ["rainbow"] },         { word: "Glistwin", type: ["rainbow"] },         { word: "Sparkdusk", type: ["rainbow"] },         { word: "Glowcore", type: ["rainbow"] },         { word: "Spectraflare", type: ["rainbow"] },         { word: "Embercore", type: ["rainbow"] },         { word: "Glimmershade", type: ["rainbow"] },         { word: "Lightburn", type: ["rainbow"] },         { word: "Lightflame", type: ["rainbow"] },         { word: "Radioburst", type: ["rainbow"] },         { word: "Dayglo", type: ["rainbow"] },         { word: "Emberdust", type: ["rainbow"] },         { word: "Glowarc", type: ["rainbow"] },         { word: "Dune", type: ["rainbow"] },         { word: "Lightcrush", type: ["rainbow"] },         { word: "Flaresun", type: ["rainbow"] },         { word: "Shimmerdance", type: ["rainbow"] },         { word: "Refractum", type: ["rainbow"] },         { word: "Starveil", type: ["rainbow"] },         { word: "Lunarite", type: ["rainbow"] },         { word: "Sunsphere", type: ["rainbow"] },         { word: "Twilightshine", type: ["rainbow"] },         { word: "Glareflare", type: ["rainbow"] },         { word: "Starbloom", type: ["rainbow"] },         { word: "Glowspectrum", type: ["rainbow"] },         { word: "Moonvein", type: ["rainbow"] },         { word: "Radiocascade", type: ["rainbow"] },         { word: "Phasmaglow", type: ["rainbow"] },         { word: "Nightflare", type: ["rainbow"] },         { word: "Spanglow", type: ["rainbow"] },         { word: "Brightfall", type: ["rainbow"] },         { word: "Emberlume", type: ["rainbow"] },         { word: "Fireblaze", type: ["rainbow"] },         { word: "Lightflare", type: ["rainbow"] },         { word: "Neonflare", type: ["rainbow"] },         { word: "Prismglow", type: ["rainbow"] },         { word: "Lunarflare", type: ["rainbow"] },         { word: "Gemglow", type: ["rainbow"] },         { word: "Lustra", type: ["rainbow"] },         { word: "Glimmershine", type: ["rainbow"] },         { word: "Polychromate", type: ["rainbow"] },         { word: "Dreamstone", type: ["rainbow"] },         { word: "Luminex", type: ["rainbow"] },         { word: "Twilume", type: ["rainbow"] },         { word: "Duskstone", type: ["rainbow"] },         { word: "Dawnshard", type: ["rainbow"] },         { word: "Glimmerfall", type: ["rainbow"] },         { word: "Lumisphere", type: ["rainbow"] },         { word: "Starglow", type: ["rainbow"] },         { word: "Hyperlume", type: ["rainbow"] },         { word: "Dreamflare", type: ["rainbow"] },         { word: "Lightrise", type: ["rainbow"] },         { word: "Glowlume", type: ["rainbow"] },         { word: "Colorfire", type: ["rainbow"] },         { word: "Glowslice", type: ["rainbow"] },         { word: "Aurorae", type: ["rainbow"] },         { word: "Dreamglimmer", type: ["rainbow"] },         { word: "Nightglow", type: ["rainbow"] },         { word: "Flarestone", type: ["rainbow"] },         { word: "Emberfall", type: ["rainbow"] },         { word: "Luridglow", type: ["rainbow"] },         { word: "Flashflare", type: ["rainbow"] },         { word: "Scintillex", type: ["rainbow"] },         { word: "Embershade", type: ["rainbow"] },         { word: "Glowmist", type: ["rainbow"] },         { word: "Crystallume", type: ["rainbow"] },         { word: "Flameshine", type: ["rainbow"] },         { word: "Lightblaze", type: ["rainbow"] },         { word: "Prismfall", type: ["rainbow"] },         { word: "Starshard", type: ["rainbow"] },         { word: "Radiantfall", type: ["rainbow"] },         { word: "Dreamgleam", type: ["rainbow"] },         { word: "Glimmerlight", type: ["rainbow"] },         { word: "Emberglow", type: ["rainbow"] },         { word: "Nightlume", type: ["rainbow"] },         { word: "Chromarise", type: ["rainbow"] },         { word: "Lightburst", type: ["rainbow"] },         { word: "Glareglint", type: ["rainbow"] },         { word: "Amberlume", type: ["rainbow"] },         { word: "Moonlight", type: ["rainbow"] },         { word: "Radiotint", type: ["rainbow"] },         { word: "Solglint", type: ["rainbow"] },         { word: "Shinemist", type: ["rainbow"] },         { word: "Glowdawn", type: ["rainbow"] },         { word: "Beamflare", type: ["rainbow"] },         { word: "Chromisphere", type: ["rainbow"] },         { word: "Spectraflash", type: ["rainbow"] },         { word: "Polarlume", type: ["rainbow"] },         { word: "Glintsun", type: ["rainbow"] },         { word: "Rayflare", type: ["rainbow"] },         { word: "Glowripple", type: ["rainbow"] },         { word: "Haloform", type: ["rainbow"] },         { word: "Twilightflare", type: ["rainbow"] },         { word: "Chromatide", type: ["rainbow"] },         { word: "Glimmerpath", type: ["rainbow"] },         { word: "Rayshade", type: ["rainbow"] },         { word: "Chromashadow", type: ["rainbow"] },         { word: "Shimmerspark", type: ["rainbow"] },         { word: "Glowrealm", type: ["rainbow"] },         { word: "Polaroid", type: ["rainbow"] },         { word: "Lustrasphere", type: ["rainbow"] },         { word: "Flashlight", type: ["rainbow"] },         { word: "Prismalux", type: ["rainbow"] },         { word: "Dewspark", type: ["rainbow"] },         { word: "Embershine", type: ["rainbow"] },         { word: "Shimmergaze", type: ["rainbow"] },         { word: "Twilightbeam", type: ["rainbow"] },         { word: "Starry", type: ["rainbow"] },         { word: "Spectraglow", type: ["rainbow"] },         { word: "Radiantbeam", type: ["rainbow"] },         { word: "Mistflare", type: ["rainbow"] },         { word: "Flashlume", type: ["rainbow"] },         { word: "Prismcrystal", type: ["rainbow"] },         { word: "Spectrasun", type: ["rainbow"] },         { word: "Lucent", type: ["rainbow"] },         { word: "Flarestar", type: ["rainbow"] },         { word: "Flareform", type: ["rainbow"] },         { word: "Sparkcaster", type: ["rainbow"] },         { word: "Rayshine", type: ["rainbow"] },         { word: "Chromaglow", type: ["rainbow"] },         { word: "Starslume", type: ["rainbow"] },         { word: "Dayblaze", type: ["rainbow"] },         { word: "Raydrop", type: ["rainbow"] },         { word: "Chromalight", type: ["rainbow"] },         { word: "Luminspace", type: ["rainbow"] },         { word: "Lightform", type: ["rainbow"] },         { word: "Emberpath", type: ["rainbow"] },         { word: "Chromastar", type: ["rainbow"] },         { word: "Spectradream", type: ["rainbow"] },         { word: "Skydream", type: ["rainbow"] },         { word: "Twilucent", type: ["rainbow"] },         { word: "Starwave", type: ["rainbow"] },         { word: "Lumesphere", type: ["rainbow"] },         { word: "Celestialray", type: ["rainbow"] },         { word: "Glimmerdust", type: ["rainbow"] },         { word: "Dreamcast", type: ["rainbow"] },         { word: "Daylightfall", type: ["rainbow"] },         { word: "Polychromium", type: ["rainbow"] },         { word: "Sunsetflare", type: ["rainbow"] },         { word: "Radiancewave", type: ["rainbow"] },         { word: "Glowfiend", type: ["rainbow"] },         { word: "Colorfade", type: ["rainbow"] },         { word: "Shimmerlight", type: ["rainbow"] },         { word: "Radiantedge", type: ["rainbow"] },         { word: "Chromalume", type: ["rainbow"] },         { word: "Reflectshade", type: ["rainbow"] },         { word: "Amberbeam", type: ["rainbow"] },         { word: "Emberflare", type: ["rainbow"] },         { word: "Dreamlight", type: ["rainbow"] },         { word: "Glowpulse", type: ["rainbow"] },         { word: "Radiantwave", type: ["rainbow"] },         { word: "Eclipseflare", type: ["rainbow"] },         { word: "Twilightblaze", type: ["rainbow"] },         { word: "Lusterglow", type: ["rainbow"] },         { word: "Flamepath", type: ["rainbow"] },         { word: "Spectralflare", type: ["rainbow"] },         { word: "Twilightcore", type: ["rainbow"] },         { word: "Emberglimmer", type: ["rainbow"] },         { word: "Chromahalo", type: ["rainbow"] },         { word: "Chromasurge", type: ["rainbow"] },         { word: "Lightglint", type: ["rainbow"] },         { word: "Lusterflare", type: ["rainbow"] },         { word: "Luminary", type: ["rainbow"] },         { word: "Twilightsun", type: ["rainbow"] },         { word: "Glimmerdream", type: ["rainbow"] },         { word: "Beamdawn", type: ["rainbow"] },         { word: "Luminouswave", type: ["rainbow"] },         { word: "Chromadawn", type: ["rainbow"] },         { word: "Starflash", type: ["rainbow"] },         { word: "Emberburst", type: ["rainbow"] },         { word: "Dreampulse", type: ["rainbow"] },         { word: "Rayfall", type: ["rainbow"] },         { word: "Glimmerchase", type: ["rainbow"] },         { word: "Radiantcloud", type: ["rainbow"] },         { word: "Skyglimmer", type: ["rainbow"] },         { word: "Luminstar", type: ["rainbow"] },         { word: "Rayshimmer", type: ["rainbow"] },         { word: "Starbright", type: ["rainbow"] },         { word: "Dreamcrystal", type: ["rainbow"] },         { word: "Chromelight", type: ["rainbow"] },         { word: "Prismwave", type: ["rainbow"] },         { word: "Dayglint", type: ["rainbow"] },         { word: "Starcloud", type: ["rainbow"] },         { word: "Chromadream", type: ["rainbow"] },         { word: "Duskflare", type: ["rainbow"] },         { word: "Moonlume", type: ["rainbow"] },         { word: "Spectrafall", type: ["rainbow"] },         { word: "Chromaflare", type: ["rainbow"] },         { word: "Twilum", type: ["rainbow"] },         { word: "Glowsurge", type: ["rainbow"] },         { word: "Flamehue", type: ["rainbow"] },         { word: "Skyflare", type: ["rainbow"] },         { word: "Solarshine", type: ["rainbow"] },         { word: "Lumeclash", type: ["rainbow"] },         { word: "Glimmerstar", type: ["rainbow"] },         { word: "Daylight", type: ["rainbow"] },         { word: "Glowfall", type: ["rainbow"] },         { word: "Aberration", type: ["space"] },         { word: "Accretion", type: ["space"] },         { word: "Aerospace", type: ["space"] },         { word: "Astral", type: ["space"] },         { word: "Astronomy", type: ["space"] },         { word: "Astrophysics", type: ["space"] },         { word: "Astrology", type: ["space"] },         { word: "Atmosphere", type: ["space"] },         { word: "Aurora", type: ["space"] },         { word: "Borealis", type: ["space"] },         { word: "Australis", type: ["space"] },         { word: "Axis", type: ["space"] },         { word: "Barycenter", type: ["space"] },         { word: "Baryon", type: ["space"] },         { word: "Blackhole", type: ["space"] },         { word: "Blue", type: ["space"] },         { word: "Giant", type: ["space"] },         { word: "Brown", type: ["space"] },         { word: "Dwarf", type: ["space"] },         { word: "Caldera", type: ["space"] },         { word: "Celestial", type: ["space"] },         { word: "Body", type: ["space"] },         { word: "Circumpolar", type: ["space"] },         { word: "Coma", type: ["space"] },         { word: "Comet", type: ["space"] },         { word: "Tail", type: ["space"] },         { word: "Constellation", type: ["space"] },         { word: "Corona", type: ["space"] },         { word: "Cosmic", type: ["space"] },         { word: "Dust", type: ["space"] },         { word: "Ray", type: ["space"] },         { word: "Cosmos", type: ["space"] },         { word: "Crater", type: ["space"] },         { word: "Crescent", type: ["space"] },         { word: "Dark", type: ["space"] },         { word: "Energy", type: ["space"] },         { word: "Matter", type: ["space"] },         { word: "Density", type: ["space"] },         { word: "Direction", type: ["space"] },         { word: "Distance", type: ["space"] },         { word: "Planet", type: ["space"] },         { word: "Eccentricity", type: ["space"] },         { word: "Eclipse", type: ["space"] },         { word: "Electromagnetism", type: ["space"] },         { word: "Emission", type: ["space"] },         { word: "Equinox", type: ["space"] },         { word: "Exoplanet", type: ["space"] },         { word: "Exosphere", type: ["space"] },         { word: "Fusion", type: ["space"] },         { word: "Galaxy", type: ["space"] },         { word: "Galactic", type: ["space"] },         { word: "Gas", type: ["space"] },         { word: "Gravity", type: ["space"] },         { word: "Heliocentric", type: ["space"] },         { word: "Heliosphere", type: ["space"] },         { word: "Helium", type: ["space"] },         { word: "Hydrogen", type: ["space"] },         { word: "Ion", type: ["space"] },         { word: "Ionosphere", type: ["space"] },         { word: "Interstellar", type: ["space"] },         { word: "Medium", type: ["space"] },         { word: "Nebula", type: ["space"] },         { word: "Intergalactic", type: ["space"] },         { word: "Irradiance", type: ["space"] },         { word: "Jet", type: ["space"] },         { word: "Lagging", type: ["space"] },         { word: "Lightyear", type: ["space"] },         { word: "Luminosity", type: ["space"] },         { word: "Lunar", type: ["space"] },         { word: "Magnetic", type: ["space"] },         { word: "Field", type: ["space"] },         { word: "Magnetosphere", type: ["space"] },         { word: "Main", type: ["space"] },         { word: "Sequence", type: ["space"] },         { word: "Mass", type: ["space"] },         { word: "Meteor", type: ["space"] },         { word: "Meteorite", type: ["space"] },         { word: "Meteoroid", type: ["space"] },         { word: "Micro", type: ["space"] },         { word: "Microwave", type: ["space"] },         { word: "Milky", type: ["space"] },         { word: "Way", type: ["space"] },         { word: "Moon", type: ["space"] },         { word: "Moonlight", type: ["space"] },         { word: "Moonphase", type: ["space"] },         { word: "Nebular", type: ["space"] },         { word: "Neutrino", type: ["space"] },         { word: "Neutron", type: ["space"] },         { word: "Star", type: ["space"] },         { word: "Nova", type: ["space"] },         { word: "Light", type: ["space"] },         { word: "Nucleus", type: ["space"] },         { word: "Nuclear", type: ["space"] },         { word: "Occultation", type: ["space"] },         { word: "Oort", type: ["space"] },         { word: "Cloud", type: ["space"] },         { word: "Orbit", type: ["space"] },         { word: "Orbital", type: ["space"] },         { word: "Particle", type: ["space"] },         { word: "Accelerator", type: ["space"] },         { word: "Phase", type: ["space"] },         { word: "Photosphere", type: ["space"] },         { word: "Planetary", type: ["space"] },         { word: "Plasma", type: ["space"] },         { word: "Wave", type: ["space"] },         { word: "Pole", type: ["space"] },         { word: "Protoplanet", type: ["space"] },         { word: "Pulsar", type: ["space"] },         { word: "Quasar", type: ["space"] },         { word: "Radiation", type: ["space"] },         { word: "Radiant", type: ["space"] },         { word: "Redshift", type: ["space"] },         { word: "Refraction", type: ["space"] },         { word: "Relativity", type: ["space"] },         { word: "Revolution", type: ["space"] },         { word: "Rotation", type: ["space"] },         { word: "Satellite", type: ["space"] },         { word: "Scintillation", type: ["space"] },         { word: "Spectrum", type: ["space"] },         { word: "Solar", type: ["space"] },         { word: "System", type: ["space"] },         { word: "Wind", type: ["space"] },         { word: "Spacetime", type: ["space"] },         { word: "Spiral", type: ["space"] },         { word: "Arm", type: ["space"] },         { word: "Stability", type: ["space"] },         { word: "Cluster", type: ["space"] },         { word: "Shine", type: ["space"] },         { word: "Stellar", type: ["space"] },         { word: "Nursery", type: ["space"] },         { word: "Winds", type: ["space"] },         { word: "Stellation", type: ["space"] },         { word: "Supernova", type: ["space"] },         { word: "Supermassive", type: ["space"] },         { word: "Super", type: ["space"] },         { word: "Tidal", type: ["space"] },         { word: "Force", type: ["space"] },         { word: "Lock", type: ["space"] },         { word: "Torque", type: ["space"] },         { word: "Trajectory", type: ["space"] },         { word: "Transit", type: ["space"] },         { word: "Turbulence", type: ["space"] },         { word: "Vacuum", type: ["space"] },         { word: "Velocity", type: ["space"] },         { word: "Visible", type: ["space"] },         { word: "Void", type: ["space"] },         { word: "Warp", type: ["space"] },         { word: "Wormhole", type: ["space"] },         { word: "X-ray", type: ["space"] },         { word: "Young", type: ["space"] },         { word: "Zodiac", type: ["space"] },         { word: "Acceleration", type: ["space"] },         { word: "Atmospheric", type: ["space"] },         { word: "Astronautics", type: ["space"] },         { word: "Astrogeology", type: ["space"] },         { word: "Astronomical", type: ["space"] },         { word: "Auroralight", type: ["space"] },         { word: "Blackbody", type: ["space"] },         { word: "Boundary", type: ["space"] },         { word: "Candidate", type: ["space"] },         { word: "Sphere", type: ["space"] },         { word: "Centrifugal", type: ["space"] },         { word: "Centripetal", type: ["space"] },         { word: "Chromosphere", type: ["space"] },         { word: "Collapse", type: ["space"] },         { word: "Conjunction", type: ["space"] },         { word: "Convection", type: ["space"] },         { word: "Web", type: ["space"] },         { word: "Cycle", type: ["space"] },         { word: "Distant", type: ["space"] },         { word: "Doppler", type: ["space"] },         { word: "Dynamics", type: ["space"] },         { word: "Ejecta", type: ["space"] },         { word: "Element", type: ["space"] },         { word: "Line", type: ["space"] },         { word: "Ephemeris", type: ["space"] },         { word: "Equator", type: ["space"] },         { word: "Evolution", type: ["space"] },         { word: "Exhaust", type: ["space"] },         { word: "Expansion", type: ["space"] },         { word: "Extrasolar", type: ["space"] },         { word: "Flare", type: ["space"] },         { word: "Flux", type: ["space"] },         { word: "Formation", type: ["space"] },         { word: "Reaction", type: ["space"] },         { word: "Globular", type: ["space"] },         { word: "Gravitational", type: ["space"] },         { word: "Lens", type: ["space"] },         { word: "Heliolatitude", type: ["space"] },         { word: "Heliolongitude", type: ["space"] },         { word: "Heliomagnetic", type: ["space"] },         { word: "Heliopause", type: ["space"] },         { word: "Heliophysics", type: ["space"] },         { word: "Horizon", type: ["space"] },         { word: "Hydrostatic", type: ["space"] },         { word: "Illumination", type: ["space"] },         { word: "Impact", type: ["space"] },         { word: "Inclination", type: ["space"] },         { word: "Infrared", type: ["space"] },         { word: "Interaction", type: ["space"] },         { word: "Interferometry", type: ["space"] },         { word: "Space", type: ["space"] },         { word: "Jetstream", type: ["space"] },         { word: "Jupiter", type: ["space"] },         { word: "Like", type: ["space"] },         { word: "Kinetic", type: ["space"] },         { word: "Lagrangian", type: ["space"] },         { word: "Late", type: ["space"] },         { word: "Heavy", type: ["space"] },         { word: "Bombardment", type: ["space"] },         { word: "Intensity", type: ["space"] },         { word: "Luminescence", type: ["space"] },         { word: "Maria", type: ["space"] },         { word: "Night", type: ["space"] },         { word: "Surface", type: ["space"] },         { word: "Branch", type: ["space"] },         { word: "Loss", type: ["space"] },         { word: "Shower", type: ["space"] },         { word: "Migration", type: ["space"] },         { word: "Multi", type: ["space"] },         { word: "Disc", type: ["space"] },         { word: "Structure", type: ["space"] },         { word: "Neutral", type: ["space"] },         { word: "Atom", type: ["space"] },         { word: "New", type: ["space"] },         { word: "Nodal", type: ["space"] },         { word: "Event", type: ["space"] },         { word: "Period", type: ["space"] },         { word: "Radius", type: ["space"] },         { word: "Oscillation", type: ["space"] },         { word: "Mode", type: ["space"] },         { word: "Outflow", type: ["space"] },         { word: "Beam", type: ["space"] },         { word: "Trap", type: ["space"] },         { word: "Path", type: ["space"] },         { word: "Length", type: ["space"] },         { word: "Angle", type: ["space"] },         { word: "Photon", type: ["space"] },         { word: "Photometry", type: ["space"] },         { word: "Measurement", type: ["space"] },         { word: "Flow", type: ["space"] },         { word: "Polar", type: ["space"] },         { word: "Region", type: ["space"] },         { word: "Precession", type: ["space"] },         { word: "Rate", type: ["space"] },         { word: "Pressure", type: ["space"] },         { word: "Gradient", type: ["space"] },         { word: "Protoplanetary", type: ["space"] },         { word: "Disk", type: ["space"] },         { word: "Pulse", type: ["space"] },         { word: "Radial", type: ["space"] },         { word: "Radiance", type: ["space"] },         { word: "Radiative", type: ["space"] },         { word: "Refracted", type: ["space"] },         { word: "Regolith", type: ["space"] },         { word: "Layer", type: ["space"] },         { word: "Relativistic", type: ["space"] },         { word: "Effect", type: ["space"] },         { word: "Pattern", type: ["space"] },         { word: "Seismic", type: ["space"] },         { word: "Spectral", type: ["space"] },         { word: "Band", type: ["space"] },         { word: "Analysis", type: ["space"] },         { word: "Spin", type: ["space"] },         { word: "Burst", type: ["space"] },         { word: "Core", type: ["space"] },         { word: "Metallicity", type: ["space"] },         { word: "Explosion", type: ["space"] },         { word: "Shock", type: ["space"] },         { word: "Universal", type: ["space"] },         { word: "Constant", type: ["space"] },         { word: "Variable", type: ["space"] },         { word: "Dispersion", type: ["space"] },         { word: "Virial", type: ["space"] },         { word: "Volumetric", type: ["space"] }, 					       { word: "Amethyst", type: ["purple"] },         { word: "Aubergine", type: ["purple"] },         { word: "Byzantium", type: ["purple"] },         { word: "Cadmium", type: ["purple"] },         { word: "Caput", type: ["purple"] },         { word: "Eggplant", type: ["purple"] },         { word: "Grape", type: ["purple"] },         { word: "Heliotrope", type: ["purple"] },         { word: "Imperial", type: ["purple"] },         { word: "Indigo", type: ["purple"] },         { word: "Iris", type: ["purple"] },         { word: "Lavender", type: ["purple"] },         { word: "Lilac", type: ["purple"] },         { word: "Liseran", type: ["purple"] },         { word: "Magenta", type: ["purple"] },         { word: "Mulberry", type: ["purple"] },         { word: "Orchid", type: ["purple"] },         { word: "Pansy", type: ["purple"] },         { word: "Thistle", type: ["purple"] },         { word: "Tyrian", type: ["purple"] },         { word: "Ultra", type: ["purple"] },         { word: "Vivid", type: ["purple"] },         { word: "Wisteria", type: ["purple"] },         { word: "Shadow", type: ["purple"] },         { word: "Mauve", type: ["purple"] },         { word: "Plum", type: ["purple"] },         { word: "Violet", type: ["purple"] },         { word: "Heather", type: ["purple"] },         { word: "Mystic", type: ["purple"] },         { word: "Bloom", type: ["purple"] },         { word: "Dusk", type: ["purple"] },         { word: "Frost", type: ["purple"] },         { word: "Ice", type: ["purple"] },         { word: "Dust", type: ["purple"] },         { word: "Glimmer", type: ["purple"] },         { word: "Shine", type: ["purple"] },         { word: "Twilight", type: ["purple"] },         { word: "Whisper", type: ["purple"] },         { word: "Petal", type: ["purple"] },         { word: "Fog", type: ["purple"] },         { word: "Glaze", type: ["purple"] },         { word: "Dream", type: ["purple"] },         { word: "Moon", type: ["purple"] },         { word: "Night", type: ["purple"] },         { word: "Glow", type: ["purple"] },         { word: "Smoke", type: ["purple"] },         { word: "Heart", type: ["purple"] },         { word: "Sage", type: ["purple"] },         { word: "Opal", type: ["purple"] },         { word: "Haze", type: ["purple"] },         { word: "Berry", type: ["purple"] },         { word: "Orchidaceous", type: ["purple"] },         { word: "Fuchsia", type: ["purple"] },         { word: "Lavendula", type: ["purple"] },         { word: "Periwinkle", type: ["purple"] },         { word: "Lilaceous", type: ["purple"] },         { word: "Hyacinth", type: ["purple"] },         { word: "Plumeria", type: ["purple"] },         { word: "Lila", type: ["purple"] },         { word: "Viola", type: ["purple"] },         { word: "Magentae", type: ["purple"] },         { word: "Amaranth", type: ["purple"] },         { word: "Damson", type: ["purple"] },         { word: "Heliotric", type: ["purple"] },         { word: "Auberginia", type: ["purple"] },         { word: "Mulberrye", type: ["purple"] },         { word: "Cineraria", type: ["purple"] },         { word: "Campanula", type: ["purple"] },         { word: "Violetta", type: ["purple"] },         { word: "Malva", type: ["purple"] },         { word: "Clematis", type: ["purple"] },         { word: "Lavanda", type: ["purple"] },         { word: "Petunia", type: ["purple"] },         { word: "Orchidia", type: ["purple"] },         { word: "Wistaria", type: ["purple"] },         { word: "Hyacinthe", type: ["purple"] },         { word: "Verbena", type: ["purple"] },         { word: "Cyclamen", type: ["purple"] },         { word: "Salvia", type: ["purple"] },         { word: "Melanzane", type: ["purple"] },         { word: "Lavendine", type: ["purple"] },         { word: "Lavanite", type: ["purple"] },         { word: "Irisine", type: ["purple"] },         { word: "Morado", type: ["purple"] },         { word: "Aubergineous", type: ["purple"] },         { word: "Violae", type: ["purple"] },         { word: "Violette", type: ["purple"] },         { word: "Magentaish", type: ["purple"] },         { word: "Amaranthine", type: ["purple"] },         { word: "Prune", type: ["purple"] },         { word: "Lilacine", type: ["purple"] },         { word: "Damascene", type: ["purple"] },         { word: "Thystle", type: ["purple"] },         { word: "Cactusberry", type: ["purple"] },         { word: "Lilacette", type: ["purple"] },         { word: "Mauvine", type: ["purple"] },         { word: "Purpurea", type: ["purple"] },         { word: "Plumbago", type: ["purple"] },         { word: "Fuchsiac", type: ["purple"] },         { word: "Heliotopic", type: ["purple"] },         { word: "Mulberryish", type: ["purple"] },         { word: "Orchidian", type: ["purple"] },         { word: "Viole", type: ["purple"] },         { word: "Lavish", type: ["purple"] },         { word: "Purpureus", type: ["purple"] },         { word: "Blush", type: ["pink"] },         { word: "Bubblegum", type: ["pink"] },         { word: "Carnation", type: ["pink"] },         { word: "Cerise", type: ["pink"] },         { word: "Cherry", type: ["pink"] },         { word: "Coral", type: ["pink"] },         { word: "Fuchsia", type: ["pink"] },         { word: "Flamingo", type: ["pink"] },         { word: "Hibiscus", type: ["pink"] },         { word: "Hotpink", type: ["pink"] },         { word: "Magenta", type: ["pink"] },         { word: "Peony", type: ["pink"] },         { word: "Pink", type: ["pink"] },         { word: "Rose", type: ["pink"] },         { word: "Roseate", type: ["pink"] },         { word: "Salmon", type: ["pink"] },         { word: "Strawberry", type: ["pink"] },         { word: "Watermelon", type: ["pink"] },         { word: "Amaranth", type: ["pink"] },         { word: "Azalea", type: ["pink"] },         { word: "Begonia", type: ["pink"] },         { word: "Camellia", type: ["pink"] },         { word: "Carnelian", type: ["pink"] },         { word: "Cherrish", type: ["pink"] },         { word: "Cotton", type: ["pink"] },         { word: "Dahlia", type: ["pink"] },         { word: "Flaming", type: ["pink"] },         { word: "Geranium", type: ["pink"] },         { word: "Hibiscous", type: ["pink"] },         { word: "Heliotrope", type: ["pink"] },         { word: "Heliotric", type: ["pink"] },         { word: "Hotpinkish", type: ["pink"] },         { word: "Magentish", type: ["pink"] },         { word: "Orchid", type: ["pink"] },         { word: "Peon", type: ["pink"] },         { word: "Pinkish", type: ["pink"] },         { word: "Rosewood", type: ["pink"] },         { word: "Rosette", type: ["pink"] },         { word: "Ruddy", type: ["pink"] },         { word: "Rosebud", type: ["pink"] },         { word: "Waterrose", type: ["pink"] },         { word: "Bubble", type: ["pink"] },         { word: "Blushful", type: ["pink"] },         { word: "Petal", type: ["pink"] },         { word: "Coraline", type: ["pink"] },         { word: "Fuchsiac", type: ["pink"] },         { word: "Magentae", type: ["pink"] },         { word: "Azalean", type: ["pink"] },         { word: "Begonian", type: ["pink"] },         { word: "Camellian", type: ["pink"] },         { word: "Dahliane", type: ["pink"] },         { word: "Geraniume", type: ["pink"] },         { word: "Heliopic", type: ["pink"] },         { word: "Orchidaceous", type: ["pink"] },         { word: "Peonial", type: ["pink"] },         { word: "Pinkette", type: ["pink"] },         { word: "Rosalia", type: ["pink"] },         { word: "Roseum", type: ["pink"] },         { word: "Rosaliae", type: ["pink"] },         { word: "Rosaline", type: ["pink"] },         { word: "Ruddyish", type: ["pink"] },         { word: "Rosarian", type: ["pink"] },         { word: "Watermelonish", type: ["pink"] },         { word: "Strawberrian", type: ["pink"] },         { word: "Cerisean", type: ["pink"] },         { word: "Cherrise", type: ["pink"] },         { word: "Blushine", type: ["pink"] },         { word: "Blushish", type: ["pink"] },         { word: "Bubbleish", type: ["pink"] },         { word: "Carnal", type: ["pink"] },         { word: "Carnelianish", type: ["pink"] },         { word: "Coralish", type: ["pink"] },         { word: "Cherryish", type: ["pink"] },         { word: "Camelian", type: ["pink"] },         { word: "Azaleous", type: ["pink"] },         { word: "Fuchsiine", type: ["pink"] },         { word: "Peonish", type: ["pink"] },         { word: "Petaline", type: ["pink"] },         { word: "Rosaceous", type: ["pink"] },         { word: "Roseish", type: ["pink"] },         { word: "Ruddyrose", type: ["pink"] },         { word: "Rosehip", type: ["pink"] },         { word: "Roseleaf", type: ["pink"] },         { word: "Rosewine", type: ["pink"] },         { word: "Rosetteful", type: ["pink"] },         { word: "Coralette", type: ["pink"] },         { word: "Magentaish", type: ["pink"] },         { word: "Magentella", type: ["pink"] },         { word: "Carnationish", type: ["pink"] },         { word: "Blushberry", type: ["pink"] },         { word: "Blushrose", type: ["pink"] },         { word: "Pinkberry", type: ["pink"] },         { word: "Pinklet", type: ["pink"] },         { word: "Pinkalicious", type: ["pink"] },         { word: "Pinkishness", type: ["pink"] },         { word: "Rosebudish", type: ["pink"] },         { word: "Rosapetal", type: ["pink"] },         { word: "Roseglow", type: ["pink"] },         { word: "Pinkglow", type: ["pink"] },         { word: "Waterpetal", type: ["pink"] },         { word: "Strawberryish", type: ["pink"] },         { word: "Bubbleblush", type: ["pink"] },         { word: "Azure", type: ["blue"] },         { word: "Cobalt", type: ["blue"] },         { word: "Cerulean", type: ["blue"] },         { word: "Sapphire", type: ["blue"] },         { word: "Indigo", type: ["blue"] },         { word: "Navy", type: ["blue"] },         { word: "Sky", type: ["blue"] },         { word: "Teal", type: ["blue"] },         { word: "Turquoise", type: ["blue"] },         { word: "Ultramarine", type: ["blue"] },         { word: "Babyblue", type: ["blue"] },         { word: "Periwinkle", type: ["blue"] },         { word: "Prussian", type: ["blue"] },         { word: "Steel", type: ["blue"] },         { word: "Midnight", type: ["blue"] },         { word: "Cornflower", type: ["blue"] },         { word: "Capri", type: ["blue"] },         { word: "Ice", type: ["blue"] },         { word: "Bluebell", type: ["blue"] },         { word: "Robin", type: ["blue"] },         { word: "Delft", type: ["blue"] },         { word: "Cyan", type: ["blue"] },         { word: "Electric", type: ["blue"] },         { word: "Blueberry", type: ["blue"] },         { word: "Denim", type: ["blue"] },         { word: "Ocean", type: ["blue"] },         { word: "Lagoon", type: ["blue"] },         { word: "Pacific", type: ["blue"] },         { word: "Royal", type: ["blue"] },         { word: "Powder", type: ["blue"] },         { word: "Airforce", type: ["blue"] },         { word: "Peacock", type: ["blue"] },         { word: "Slate", type: ["blue"] },         { word: "Tiffany", type: ["blue"] },         { word: "Yale", type: ["blue"] },         { word: "Celeste", type: ["blue"] },         { word: "Bluejay", type: ["blue"] },         { word: "Maya", type: ["blue"] },         { word: "Bluebonnet", type: ["blue"] },         { word: "Zaffre", type: ["blue"] },         { word: "Beryl", type: ["blue"] },         { word: "Lapis", type: ["blue"] },         { word: "Heliotrope", type: ["blue"] },         { word: "Azurette", type: ["blue"] },         { word: "Ultramarina", type: ["blue"] },         { word: "Cobaltic", type: ["blue"] },         { word: "Cyanine", type: ["blue"] },         { word: "Cerulea", type: ["blue"] },         { word: "Prussianic", type: ["blue"] },         { word: "Indigoid", type: ["blue"] },         { word: "Skyish", type: ["blue"] },         { word: "Navyish", type: ["blue"] },         { word: "Turquoisee", type: ["blue"] },         { word: "Aquamarine", type: ["blue"] },         { word: "Bluestone", type: ["blue"] },         { word: "Bluish", type: ["blue"] },         { word: "Blueish", type: ["blue"] },         { word: "Electricblue", type: ["blue"] },         { word: "Bluebellish", type: ["blue"] },         { word: "Cornflowerish", type: ["blue"] },         { word: "Delftish", type: ["blue"] },         { word: "Robinish", type: ["blue"] },         { word: "Caprine", type: ["blue"] },         { word: "Airblue", type: ["blue"] },         { word: "Bluejayish", type: ["blue"] },         { word: "Peacockish", type: ["blue"] },         { word: "Steelblue", type: ["blue"] },         { word: "Midnightblue", type: ["blue"] },         { word: "Sapphireish", type: ["blue"] },         { word: "Lapisblue", type: ["blue"] },         { word: "Oceanic", type: ["blue"] },         { word: "Pacifica", type: ["blue"] },         { word: "Lagoonic", type: ["blue"] },         { word: "Celestea", type: ["blue"] },         { word: "Tiffanyblue", type: ["blue"] },         { word: "Royalish", type: ["blue"] },         { word: "Zaffreish", type: ["blue"] },         { word: "Berylic", type: ["blue"] },         { word: "Mayaish", type: ["blue"] },         { word: "Bluebonnetish", type: ["blue"] },         { word: "Azurean", type: ["blue"] },         { word: "Cobalticblue", type: ["blue"] },         { word: "Ceruleanblue", type: ["blue"] },         { word: "Indigocean", type: ["blue"] },         { word: "Navyblue", type: ["blue"] },         { word: "Skyblue", type: ["blue"] },         { word: "Powderblue", type: ["blue"] },         { word: "Tealish", type: ["blue"] },         { word: "Cyanic", type: ["blue"] },         { word: "Heliotropic", type: ["blue"] },         { word: "Ultramarineblue", type: ["blue"] },         { word: "Capriish", type: ["blue"] },         { word: "Delftblue", type: ["blue"] },         { word: "Robinblue", type: ["blue"] },         { word: "Blueberryish", type: ["blue"] },         { word: "Blueglow", type: ["blue"] },         { word: "Midnightglow", type: ["blue"] },         { word: "Oceanblue", type: ["blue"] },         { word: "Sapphireblue", type: ["blue"] },         { word: "Steelish", type: ["blue"] },         { word: "Bluehaze", type: ["blue"] },         { word: "Skyhaze", type: ["blue"] },         { word: "Lapisish", type: ["blue"] },         { word: "Azureglow", type: ["blue"] },         { word: "Tealglow", type: ["blue"] },         { word: "Emerald", type: ["green"] },         { word: "Jade", type: ["green"] },         { word: "Olive", type: ["green"] },         { word: "Mint", type: ["green"] },         { word: "Lime", type: ["green"] },         { word: "Forest", type: ["green"] },         { word: "Moss", type: ["green"] },         { word: "Sage", type: ["green"] },         { word: "Chartreuse", type: ["green"] },         { word: "Shamrock", type: ["green"] },         { word: "Fern", type: ["green"] },         { word: "Avocado", type: ["green"] },         { word: "Pistachio", type: ["green"] },         { word: "Seafoam", type: ["green"] },         { word: "Kelly", type: ["green"] },         { word: "Viridian", type: ["green"] },         { word: "Tea", type: ["green"] },         { word: "Celadon", type: ["green"] },         { word: "Spinach", type: ["green"] },         { word: "Pea", type: ["green"] },         { word: "Laurel", type: ["green"] },         { word: "Beryl", type: ["green"] },         { word: "Asparagus", type: ["green"] },         { word: "Bamboo", type: ["green"] },         { word: "Hunter", type: ["green"] },         { word: "Willow", type: ["green"] },         { word: "Pine", type: ["green"] },         { word: "Grass", type: ["green"] },         { word: "Meadow", type: ["green"] },         { word: "Spring", type: ["green"] },         { word: "Clover", type: ["green"] },         { word: "Lichen", type: ["green"] },         { word: "Olivewood", type: ["green"] },         { word: "Malachite", type: ["green"] },         { word: "Peridot", type: ["green"] },         { word: "Juniper", type: ["green"] },         { word: "Basil", type: ["green"] },         { word: "Bay", type: ["green"] },         { word: "Myrtle", type: ["green"] },         { word: "Aloe", type: ["green"] },         { word: "Aloeverda", type: ["green"] },         { word: "Shamrocky", type: ["green"] },         { word: "Sagebrush", type: ["green"] },         { word: "Fernish", type: ["green"] },         { word: "Limeade", type: ["green"] },         { word: "Limegreen", type: ["green"] },         { word: "Minty", type: ["green"] },         { word: "Pistachioish", type: ["green"] },         { word: "Avocadoish", type: ["green"] },         { word: "Hunterish", type: ["green"] },         { word: "Mossy", type: ["green"] },         { word: "Foresty", type: ["green"] },         { word: "Springy", type: ["green"] },         { word: "Meadowy", type: ["green"] },         { word: "Grassland", type: ["green"] },         { word: "Cloverish", type: ["green"] },         { word: "Lichenic", type: ["green"] },         { word: "Oliveish", type: ["green"] },         { word: "Emeraldine", type: ["green"] },         { word: "Viridianic", type: ["green"] },         { word: "Kellyish", type: ["green"] },         { word: "Peridotic", type: ["green"] },         { word: "Bambooish", type: ["green"] },         { word: "Juniperish", type: ["green"] },         { word: "Basilic", type: ["green"] },         { word: "Bayish", type: ["green"] },         { word: "Myrtlean", type: ["green"] },         { word: "Piney", type: ["green"] },         { word: "Spinachy", type: ["green"] },         { word: "Teaish", type: ["green"] },         { word: "Celadonic", type: ["green"] },         { word: "Malachitic", type: ["green"] },         { word: "Asparagusic", type: ["green"] },         { word: "Willowish", type: ["green"] },         { word: "Aloeish", type: ["green"] },         { word: "Fernleaf", type: ["green"] },         { word: "Leafy", type: ["green"] },         { word: "Greenish", type: ["green"] },         { word: "Springleaf", type: ["green"] },         { word: "Forestleaf", type: ["green"] },         { word: "Meadowleaf", type: ["green"] },         { word: "Cloverleaf", type: ["green"] },         { word: "Mossleaf", type: ["green"] },         { word: "Laurelish", type: ["green"] },         { word: "Pistache", type: ["green"] },         { word: "Basilicgreen", type: ["green"] },         { word: "Olivewooden", type: ["green"] },         { word: "Junipery", type: ["green"] },         { word: "Shamrockyish", type: ["green"] },         { word: "Limeleaf", type: ["green"] },         { word: "Mintleaf", type: ["green"] },         { word: "Grassish", type: ["green"] },         { word: "Verdant", type: ["green"] },         { word: "Viridescent", type: ["green"] },         { word: "Chlorophyll", type: ["green"] },         { word: "Leafgreen", type: ["green"] },         { word: "Herbaceous", type: ["green"] },         { word: "Palegreen", type: ["green"] },         { word: "Darkgreen", type: ["green"] },         { word: "Brightgreen", type: ["green"] },         { word: "Softgreen", type: ["green"] },         { word: "Freshgreen", type: ["green"] },         { word: "Vibrantgreen", type: ["green"] },         { word: "Coolgreen", type: ["green"] },         { word: "Deepgreen", type: ["green"] },         { word: "Alizarin", type: ["red"] },         { word: "Amaranth", type: ["red"] },         { word: "Burgundy", type: ["red"] },         { word: "Carmine", type: ["red"] },         { word: "Cerise", type: ["red"] },         { word: "Cherry", type: ["red"] },         { word: "Claret", type: ["red"] },         { word: "Coral", type: ["red"] },         { word: "Crimson", type: ["red"] },         { word: "Falu", type: ["red"] },         { word: "Garnet", type: ["red"] },         { word: "Geranium", type: ["red"] },         { word: "Indian", type: ["red"] },         { word: "Madder", type: ["red"] },         { word: "Mahogany", type: ["red"] },         { word: "Marsala", type: ["red"] },         { word: "Poppy", type: ["red"] },         { word: "Rose", type: ["red"] },         { word: "Ruby", type: ["red"] },         { word: "Rust", type: ["red"] },         { word: "Salmon", type: ["red"] },         { word: "Sangria", type: ["red"] },         { word: "Scarlet", type: ["red"] },         { word: "Vermilion", type: ["red"] },         { word: "Wine", type: ["red"] },         { word: "Amber", type: ["orange"] },         { word: "Apricot", type: ["orange"] },         { word: "Bronze", type: ["orange"] },         { word: "Carrot", type: ["orange"] },         { word: "Coral", type: ["orange"] },         { word: "Flame", type: ["orange"] },         { word: "Ginger", type: ["orange"] },         { word: "Marigold", type: ["orange"] },         { word: "Ochre", type: ["orange"] },         { word: "Peach", type: ["orange"] },         { word: "Persimmon", type: ["orange"] },         { word: "Pumpkin", type: ["orange"] },         { word: "Rust", type: ["orange"] },         { word: "Saffron", type: ["orange"] },         { word: "Tangerine", type: ["orange"] },         { word: "Terra-cotta", type: ["orange"] },         { word: "Topaz", type: ["orange"] },         { word: "Vermilion", type: ["orange"] },         { word: "Copper", type: ["orange"] },         { word: "Papaya", type: ["orange"] },         { word: "Clay", type: ["orange"] },         { word: "Melon", type: ["orange"] },         { word: "Sunset", type: ["orange"] },         { word: "Honey", type: ["orange"] },         { word: "Butterscotch", type: ["orange"] },         { word: "Amber", type: ["yellow"] },         { word: "Aureolin", type: ["yellow"] },         { word: "Banana", type: ["yellow"] },         { word: "Blond", type: ["yellow"] },         { word: "Butter", type: ["yellow"] },         { word: "Canary", type: ["yellow"] },         { word: "Citrine", type: ["yellow"] },         { word: "Gold", type: ["yellow"] },         { word: "Goldenrod", type: ["yellow"] },         { word: "Honey", type: ["yellow"] },         { word: "Lemon", type: ["yellow"] },         { word: "Lightgold", type: ["yellow"] },         { word: "Mellow", type: ["yellow"] },         { word: "Mustard", type: ["yellow"] },         { word: "Ochre", type: ["yellow"] },         { word: "Saffron", type: ["yellow"] },         { word: "Sunflower", type: ["yellow"] },         { word: "Topaz", type: ["yellow"] },         { word: "Flax", type: ["yellow"] },         { word: "Cream", type: ["yellow"] },         { word: "Buff", type: ["yellow"] },         { word: "Yellow", type: ["yellow"] },         { word: "Dandelion", type: ["yellow"] },         { word: "Corn", type: ["yellow"] },         { word: "Primrose", type: ["yellow"] },         { word: "Beige", type: ["brown"] },         { word: "Brown", type: ["brown"] },         { word: "Tan", type: ["brown"] },         { word: "Taupe", type: ["brown"] },         { word: "Chocolate", type: ["brown"] },         { word: "Coffee", type: ["brown"] },         { word: "Walnut", type: ["brown"] },         { word: "Umber", type: ["brown"] },         { word: "Mahogany", type: ["brown"] },         { word: "Chestnut", type: ["brown"] },         { word: "Mocha", type: ["brown"] },         { word: "Caramel", type: ["brown"] },         { word: "Cinnamon", type: ["brown"] },         { word: "Sand", type: ["brown"] },         { word: "Fawn", type: ["brown"] },         { word: "Hickory", type: ["brown"] },         { word: "Maple", type: ["brown"] },         { word: "Copper", type: ["brown"] },         { word: "Bronze", type: ["brown"] },         { word: "Sepia", type: ["brown"] },         { word: "Ash", type: ["grey"] },         { word: "Slate", type: ["grey"] },         { word: "Charcoal", type: ["grey"] },         { word: "Silver", type: ["grey"] },         { word: "Lead", type: ["grey"] },         { word: "Smoke", type: ["grey"] },         { word: "Pewter", type: ["grey"] },         { word: "Graphite", type: ["grey"] },         { word: "Flint", type: ["grey"] },         { word: "Stone", type: ["grey"] },         { word: "Dove", type: ["grey"] },         { word: "Iron", type: ["grey"] },         { word: "Platinum", type: ["grey"] },         { word: "Mist", type: ["grey"] },         { word: "Cloud", type: ["grey"] },         { word: "Granite", type: ["grey"] },         { word: "Earl", type: ["grey"] },         { word: "Battleship", type: ["grey"] },         { word: "Fossil", type: ["grey"] },         { word: "Nickel", type: ["grey"] },         { word: "Black", type: ["black"] },         { word: "Jet", type: ["black"] },         { word: "Onyx", type: ["black"] },         { word: "Obsidian", type: ["black"] },         { word: "Coal", type: ["black"] },         { word: "Raven", type: ["black"] },         { word: "Sable", type: ["black"] },         { word: "Pitch", type: ["black"] },         { word: "Char", type: ["black"] },         { word: "Ebony", type: ["black"] },         { word: "White", type: ["white"] },         { word: "Ivory", type: ["white"] },         { word: "Cream", type: ["white"] },         { word: "Pearl", type: ["white"] },         { word: "Alabaster", type: ["white"] },         { word: "Snow", type: ["white"] },         { word: "Linen", type: ["white"] },         { word: "Bone", type: ["white"] },         { word: "Chalk", type: ["white"] },         { word: "Frost", type: ["white"] },         { word: "Allosaurus", type: ["dinosaur"] },         { word: "Ankylosaurus", type: ["dinosaur"] },         { word: "Apatosaurus", type: ["dinosaur"] },         { word: "Argentinosaurus", type: ["dinosaur"] },         { word: "Archaeopteryx", type: ["dinosaur"] },         { word: "Brachiosaurus", type: ["dinosaur"] },         { word: "Brontosaurus", type: ["dinosaur"] },         { word: "Ceratosaurus", type: ["dinosaur"] },         { word: "Coelophysis", type: ["dinosaur"] },         { word: "Compsognathus", type: ["dinosaur"] },         { word: "Corythosaurus", type: ["dinosaur"] },         { word: "Daspletosaurus", type: ["dinosaur"] },         { word: "Deinonychus", type: ["dinosaur"] },         { word: "Dilophosaurus", type: ["dinosaur"] },         { word: "Diplodocus", type: ["dinosaur"] },         { word: "Dromaeosaurus", type: ["dinosaur"] },         { word: "Edmontosaurus", type: ["dinosaur"] },         { word: "Euoplocephalus", type: ["dinosaur"] },         { word: "Giganotosaurus", type: ["dinosaur"] },         { word: "Gallimimus", type: ["dinosaur"] },         { word: "Iguanodon", type: ["dinosaur"] },         { word: "Kentrosaurus", type: ["dinosaur"] },         { word: "Lambeosaurus", type: ["dinosaur"] },         { word: "Maiasaura", type: ["dinosaur"] },         { word: "Megalosaurus", type: ["dinosaur"] },         { word: "Microraptor", type: ["dinosaur"] },         { word: "Monolophosaurus", type: ["dinosaur"] },         { word: "Oviraptor", type: ["dinosaur"] },         { word: "Pachycephalosaurus", type: ["dinosaur"] },         { word: "Parasaurolophus", type: ["dinosaur"] },         { word: "Plateosaurus", type: ["dinosaur"] },         { word: "Protoceratops", type: ["dinosaur"] },         { word: "Pteranodon", type: ["dinosaur"] },         { word: "Quetzalcoatlus", type: ["dinosaur"] },         { word: "Spinosaurus", type: ["dinosaur"] },         { word: "Stegosaurus", type: ["dinosaur"] },         { word: "Styracosaurus", type: ["dinosaur"] },         { word: "Suchomimus", type: ["dinosaur"] },         { word: "Therizinosaurus", type: ["dinosaur"] },         { word: "Torosaurus", type: ["dinosaur"] },         { word: "Triceratops", type: ["dinosaur"] },         { word: "Troodon", type: ["dinosaur"] },         { word: "Tyrannosaurus", type: ["dinosaur"] },         { word: "Velociraptor", type: ["dinosaur"] },         { word: "Xenoceratops", type: ["dinosaur"] },         { word: "Zuniceratops", type: ["dinosaur"] },         { word: "Fossil", type: ["dinosaur"] },         { word: "Skeleton", type: ["dinosaur"] },         { word: "Claw", type: ["dinosaur"] },         { word: "Talon", type: ["dinosaur"] },         { word: "Skull", type: ["dinosaur"] },         { word: "Tooth", type: ["dinosaur"] },         { word: "Bone", type: ["dinosaur"] },         { word: "Vertebra", type: ["dinosaur"] },         { word: "Rib", type: ["dinosaur"] },         { word: "Femur", type: ["dinosaur"] },         { word: "Tibia", type: ["dinosaur"] },         { word: "Fibula", type: ["dinosaur"] },         { word: "Humerus", type: ["dinosaur"] },         { word: "Jaw", type: ["dinosaur"] },         { word: "Crest", type: ["dinosaur"] },         { word: "Horn", type: ["dinosaur"] },         { word: "Spine", type: ["dinosaur"] },         { word: "Tail", type: ["dinosaur"] },         { word: "Arm", type: ["dinosaur"] },         { word: "Leg", type: ["dinosaur"] },         { word: "Foot", type: ["dinosaur"] },         { word: "Hand", type: ["dinosaur"] },         { word: "Digit", type: ["dinosaur"] },         { word: "Clutch", type: ["dinosaur"] },         { word: "Egg", type: ["dinosaur"] },         { word: "Nest", type: ["dinosaur"] },         { word: "Hatchling", type: ["dinosaur"] },         { word: "Juvenile", type: ["dinosaur"] },         { word: "Adult", type: ["dinosaur"] },         { word: "Predator", type: ["dinosaur"] },         { word: "Carnivore", type: ["dinosaur"] },         { word: "Herbivore", type: ["dinosaur"] },         { word: "Omnivore", type: ["dinosaur"] },         { word: "Apex", type: ["dinosaur"] },         { word: "ApexPredator", type: ["dinosaur"] },         { word: "Gizzard", type: ["dinosaur"] },         { word: "Gastrolith", type: ["dinosaur"] },         { word: "Fossilized", type: ["dinosaur"] },         { word: "Track", type: ["dinosaur"] },         { word: "Footprint", type: ["dinosaur"] },         { word: "Trace", type: ["dinosaur"] },         { word: "Coprolite", type: ["dinosaur"] },         { word: "Amber", type: ["dinosaur"] },         { word: "Paleontology", type: ["dinosaur"] },         { word: "Excavation", type: ["dinosaur"] },         { word: "Quarry", type: ["dinosaur"] },         { word: "Dig", type: ["dinosaur"] },         { word: "Museum", type: ["dinosaur"] },         { word: "Exhibit", type: ["dinosaur"] },         { word: "Skeletonized", type: ["dinosaur"] },         { word: "Jurassic", type: ["dinosaur"] },         { word: "Cretaceous", type: ["dinosaur"] },         { word: "Triassic", type: ["dinosaur"] },         { word: "Mesozoic", type: ["dinosaur"] },         { word: "Paleozoic", type: ["dinosaur"] },         { word: "Fossiliferous", type: ["dinosaur"] },         { word: "Sediment", type: ["dinosaur"] },         { word: "Rock", type: ["dinosaur"] },         { word: "Strata", type: ["dinosaur"] },         { word: "FossilizedBone", type: ["dinosaur"] },         { word: "mite", type: ["dinosaur"] },         { word: "Extinct", type: ["dinosaur"] },         { word: "Prehistoric", type: ["dinosaur"] },         { word: "Ancient", type: ["dinosaur"] },         { word: "Reptile", type: ["dinosaur"] },         { word: "Archosaur", type: ["dinosaur"] },         { word: "Theropod", type: ["dinosaur"] },         { word: "Sauropod", type: ["dinosaur"] },         { word: "Ornithopod", type: ["dinosaur"] },         { word: "Ceratopsian", type: ["dinosaur"] },         { word: "Ankylosaurid", type: ["dinosaur"] },         { word: "Stegosaurid", type: ["dinosaur"] },         { word: "Plesiosaur", type: ["dinosaur"] },         { word: "Mosasaur", type: ["dinosaur"] },         { word: "Ichthyosaur", type: ["dinosaur"] },         { word: "Dimetrodon", type: ["dinosaur"] },         { word: "Sauropteryx", type: ["dinosaur"] },         { word: "Paleobotany", type: ["dinosaur"] },         { word: "Paleoecology", type: ["dinosaur"] },         { word: "Stratigraphy", type: ["dinosaur"] },         { word: "Sedimentary", type: ["dinosaur"] },         { word: "Excavator", type: ["dinosaur"] },         { word: "Paleontologist", type: ["dinosaur"] },         { word: "FossilHunter", type: ["dinosaur"] },         { word: "land", type: ["dinosaur"] },         { word: "Eggshell", type: ["dinosaur"] },         { word: "HatchlingTrack", type: ["dinosaur"] },         { word: "ClawMark", type: ["dinosaur"] },         { word: "Bone Bed", type: ["dinosaur"] },         { word: "ToothMark", type: ["dinosaur"] },         { word: "Skull Crest", type: ["dinosaur"] },         { word: "TailClub", type: ["dinosaur"] },         { word: "Spike", type: ["dinosaur"] },         { word: "Plate", type: ["dinosaur"] },         { word: "Armor", type: ["dinosaur"] },         { word: "Jaw Bone", type: ["dinosaur"] },         { word: "Tooth Socket", type: ["dinosaur"] },         { word: "Fossil Layer", type: ["dinosaur"] },         { word: "Quarry Site", type: ["dinosaur"] },         { word: "Paleosol", type: ["dinosaur"] },         { word: "Trackway", type: ["dinosaur"] },         { word: "Footprint Site", type: ["dinosaur"] },         { word: "Amber Fossil", type: ["dinosaur"] },         { word: "Gastrolith Stone", type: ["dinosaur"] },         { word: "Petrified", type: ["dinosaur"] },         { word: "FossilTrail", type: ["dinosaur"] },         { word: "FossilSite", type: ["dinosaur"] },         { word: "Juvenile Track", type: ["dinosaur"] },         { word: "NestSite", type: ["dinosaur"] },         { word: "Plate Armor", type: ["dinosaur"] },         { word: "Tyrannosaur", type: ["dinosaur"] },         { word: "Allosaur", type: ["dinosaur"] },         { word: "Ceratops", type: ["dinosaur"] },         { word: "Pachycephalosaur", type: ["dinosaur"] },         { word: "Spinosaur", type: ["dinosaur"] },         { word: "Dromaeosaur", type: ["dinosaur"] },         { word: "Troodontid", type: ["dinosaur"] },         { word: "Therizinosaur", type: ["dinosaur"] },         { word: "Ornithomimid", type: ["dinosaur"] },         { word: "Sauropodomorph", type: ["dinosaur"] },         { word: "Abelisaur", type: ["dinosaur"] },         { word: "Alvarezsaur", type: ["dinosaur"] },         { word: "Carcharodontosaur", type: ["dinosaur"] },         { word: "Deinocheirus", type: ["dinosaur"] },         { word: "Herrerasaur", type: ["dinosaur"] },         { word: "Megalosaur", type: ["dinosaur"] },         { word: "Plateosaur", type: ["dinosaur"] },         { word: "Rugops", type: ["dinosaur"] },         { word: "Shunosaur", type: ["dinosaur"] },         { word: "Titanosaur", type: ["dinosaur"] },         { word: "Torvosaur", type: ["dinosaur"] },         { word: "Baryonyx", type: ["dinosaur"] },         { word: "Mononykus", type: ["dinosaur"] },         { word: "Falcarius", type: ["dinosaur"] },         { word: "Iguanacolossus", type: ["dinosaur"] },         { word: "Eotrachodon", type: ["dinosaur"] },         { word: "Nodosaur", type: ["dinosaur"] },         { word: "Europasaurus", type: ["dinosaur"] },         { word: "Hypsilophodon", type: ["dinosaur"] },         { word: "Leaellynasaura", type: ["dinosaur"] },         { word: "Microceratus", type: ["dinosaur"] },         { word: "Orodromeus", type: ["dinosaur"] },         { word: "Ouranosaurus", type: ["dinosaur"] },         { word: "Rhabdodon", type: ["dinosaur"] },         { word: "Scelidosaurus", type: ["dinosaur"] },         { word: "Stegouros", type: ["dinosaur"] },         { word: "Tarchia", type: ["dinosaur"] },         { word: "Tsintaosaurus", type: ["dinosaur"] },         { word: "Ankylosaur", type: ["dinosaur"] },         { word: "Pachyrhinosaurus", type: ["dinosaur"] },         { word: "Centrosaurus", type: ["dinosaur"] },         { word: "Chasmosaurus", type: ["dinosaur"] },         { word: "Leptoceratops", type: ["dinosaur"] },         { word: "Psittacosaurus", type: ["dinosaur"] },         { word: "Saurolophus", type: ["dinosaur"] },         { word: "Hypacrosaurus", type: ["dinosaur"] },         { word: "Shantungosaurus", type: ["dinosaur"] },         { word: "Gryposaurus", type: ["dinosaur"] },         { word: "Kritosaurus", type: ["dinosaur"] },         { word: "Brachylophosaurus", type: ["dinosaur"] },         { word: "Velafrons", type: ["dinosaur"] },         { word: "Fagesia", type: ["dinosaur"] },         { word: "Alamosaurus", type: ["dinosaur"] },         { word: "Barosaurus", type: ["dinosaur"] },         { word: "Camarasaurus", type: ["dinosaur"] },         { word: "Chubutisaurus", type: ["dinosaur"] },         { word: "Dreadnoughtus", type: ["dinosaur"] },         { word: "Futalognkosaurus", type: ["dinosaur"] },         { word: "Giraffatitan", type: ["dinosaur"] },         { word: "Jobaria", type: ["dinosaur"] },         { word: "Mamenchisaurus", type: ["dinosaur"] },         { word: "Patagosaurus", type: ["dinosaur"] },         { word: "Sauroposeidon", type: ["dinosaur"] },         { word: "Shunosaurus", type: ["dinosaur"] },         { word: "Suuwassea", type: ["dinosaur"] },         { word: "Tastavinsaurus", type: ["dinosaur"] },         { word: "Turiasaurus", type: ["dinosaur"] },         { word: "Ultrasaurus", type: ["dinosaur"] },         { word: "Vulcanodon", type: ["dinosaur"] },         { word: "Amargasaurus", type: ["dinosaur"] },         { word: "Nigersaurus", type: ["dinosaur"] },         { word: "Rebbachisaurus", type: ["dinosaur"] },         { word: "Supersaurus", type: ["dinosaur"] },         { word: "Ankylosauria", type: ["dinosaur"] },         { word: "Stegosauria", type: ["dinosaur"] },         { word: "Ceratopsia", type: ["dinosaur"] },         { word: "Sauropoda", type: ["dinosaur"] },         { word: "Theropoda", type: ["dinosaur"] },         { word: "Ornithopoda", type: ["dinosaur"] },         { word: "Pachycephalosauria", type: ["dinosaur"] },         { word: "Dromaeosauridae", type: ["dinosaur"] },         { word: "Tyrannosauridae", type: ["dinosaur"] },         { word: "Spinosauridae", type: ["dinosaur"] },         { word: "Ornithischia", type: ["dinosaur"] },         { word: "Saurischia", type: ["dinosaur"] },         { word: "sauria", type: ["dinosaur"] },         { word: "Fossilia", type: ["dinosaur"] },         { word: "Paleontologia", type: ["dinosaur"] },         { word: "Mesozoica", type: ["dinosaur"] },         { word: "Pangea", type: ["dinosaur"] },         { word: "Gondwana", type: ["dinosaur"] },         { word: "Laurasia", type: ["dinosaur"] },         { word: "Fossilization", type: ["dinosaur"] },         { word: "Teeth", type: ["dinosaur"] },         { word: "Limb", type: ["dinosaur"] },         { word: "Phalanx", type: ["dinosaur"] },         { word: "Swamp", type: ["dinosaur"] },         { word: "Forest", type: ["dinosaur"] },         { word: "River", type: ["dinosaur"] },         { word: "Mountain", type: ["dinosaur"] },         { word: "Plains", type: ["dinosaur"] },         { word: "Valley", type: ["dinosaur"] },         { word: "Desert", type: ["dinosaur"] },         { word: "Cave", type: ["dinosaur"] },         { word: "Cliff", type: ["dinosaur"] },         { word: "Volcano", type: ["dinosaur"] },         { word: "FossilBed", type: ["dinosaur"] },         { word: "Display", type: ["dinosaur"] },         { word: "TraceFossil", type: ["dinosaur"] },         { word: "BodyFossil", type: ["dinosaur"] },         { word: "ArmorPlate", type: ["dinosaur"] },         { word: "Jawbone", type: ["dinosaur"] }, 		


];
    const typeCheckboxes = {};

    function refreshTypeCheckboxes(){
        const allTypes = [...new Set(words.flatMap(w=>Array.isArray(w.type)?w.type:[w.type]))];
        allTypes.forEach(t=>{
            if(typeCheckboxes[t]) return;
            const wrapper = document.createElement("div");
            const cb = document.createElement("input"); cb.type="checkbox"; cb.value=t; cb.id=`type-${t}`;
            cb.checked = settings.typeStates ? settings.typeStates[t] !== false : true;
            cb.addEventListener("change", ()=>{
                settings.typeStates = settings.typeStates || {};
                settings.typeStates[t] = cb.checked;
                saveSettings();
            });
            const label = document.createElement("label"); label.textContent=t; label.htmlFor=cb.id;
            wrapper.appendChild(cb); wrapper.appendChild(label);
            typeContainer.appendChild(wrapper);
            typeCheckboxes[t]=cb;
        });
    }

    selectAllBtn.addEventListener("click",()=>{
        Object.entries(typeCheckboxes).forEach(([t,cb])=>{
            cb.checked=true;
            settings.typeStates = settings.typeStates || {};
            settings.typeStates[t] = true;
        });
        saveSettings();
    });
    deselectAllBtn.addEventListener("click",()=>{
        Object.entries(typeCheckboxes).forEach(([t,cb])=>{
            cb.checked=false;
            settings.typeStates = settings.typeStates || {};
            settings.typeStates[t] = false;
        });
        saveSettings();
    });

    function getWordsBySelectedTypes(){
        const selectedTypes=Object.keys(typeCheckboxes).filter(t=>typeCheckboxes[t].checked);
        return words.filter(w=>(Array.isArray(w.type)?w.type:[w.type]).some(t=>selectedTypes.includes(t)));
    }

    function getRandomName(existingNames){
        const availableWords=getWordsBySelectedTypes();
        if(availableWords.length===0) return "No words!";
        const maxWords=Math.max(parseInt(wordCountInput.value),1);
        const wordCount=randomCheck.checked?Math.floor(Math.random()*maxWords)+1:maxWords;
        let name,attempts=0;
        do{
            const selectedWords=[];
            for(let i=0;i<wordCount;i++) selectedWords.push(availableWords[Math.floor(Math.random()*availableWords.length)].word);
            name=selectedWords.join(" ");
            attempts++;
            if(attempts>50) break;
        }while(existingNames.has(name));
        return name;
    }

    function fillUniqueNames(){
        const inputs=document.querySelectorAll("input.puma_multiselect_rename");
        const usedNames=new Set();
        const filterText=filterInput.value.trim();
        inputs.forEach(el=>{
            if(filterCheck.checked && filterText && !el.value.includes(filterText)) return;
            const newName=getRandomName(usedNames);
            el.value=newName;
            usedNames.add(newName);
        });
    }

    randomizeButton.addEventListener("click",fillUniqueNames);
    randomButton.addEventListener("click",()=>{ 
        container.style.display = container.style.display === "none" ? "block" : "none"; 
        refreshTypeCheckboxes(); 
    });

    // --- Auto-open panel ---
    container.style.display = "block";
    applyDarkMode(settings.darkMode);

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址