[
  {
    "path": ".dockerignore",
    "content": "**/.classpath\n**/.dockerignore\n**/.env\n**/.git\n**/.gitignore\n**/.project\n**/.settings\n**/.toolstarget\n**/.vs\n**/.vscode\n**/.next\n**/.cache\n**/*.*proj.user\n**/*.dbmdl\n**/*.jfm\n**/charts\n**/docker-compose*\n**/compose*\n**/Dockerfile*\n**/node_modules\n**/npm-debug.log\n**/obj\n**/secrets.dev.yaml\n**/values.dev.yaml\n**/build\n**/dist\nLICENSE\nREADME.md\n"
  },
  {
    "path": ".github/codeowners",
    "content": "license.md @igorkowalczyk\n"
  },
  {
    "path": ".github/renovate.json",
    "content": "{\n \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n \"extends\": [\"github>igorkowalczyk/shared-configs//packages/renovate-config/index.json\"],\n \"packageRules\": [\n  {\n   \"matchFiles\": [\"/packages/dashboard/**\"],\n   \"labels\": [\"dependencies\", \"dashboard\"]\n  },\n  {\n   \"matchFiles\": [\"/packages/bot/**\"],\n   \"labels\": [\"dependencies\"]\n  },\n  {\n   \"matchPaths\": [\"+(package.json)\"],\n   \"labels\": [\"dependencies\"]\n  }\n ]\n}\n"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "content": "name: \"CodeQL Checks\"\n\non: [push, pull_request]\n\njobs:\n analyze:\n  name: Analyze\n  runs-on: ubuntu-latest\n  permissions:\n   actions: read\n   contents: read\n   security-events: write\n  strategy:\n   fail-fast: false\n   matrix:\n    language: [\"javascript-typescript\"]\n  steps:\n   - name: 🧱 Checkout repository\n     uses: actions/checkout@v6\n   - name: 🚀 Initialize CodeQL\n     uses: github/codeql-action/init@v4\n     with:\n      languages: ${{ matrix.language }}\n   - name: 🚀 Perform CodeQL Analysis\n     uses: github/codeql-action/analyze@v4\n     with:\n      category: \"/language:${{matrix.language}}\"\n"
  },
  {
    "path": ".github/workflows/format-check.yml",
    "content": "name: Prettier check\n\non: [push, pull_request]\n\njobs:\n check:\n  timeout-minutes: 15\n  name: Format check\n  runs-on: ubuntu-latest\n  env:\n   TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}\n   TURBO_TEAM: ${{ vars.TURBO_TEAM }}\n  strategy:\n   fail-fast: false\n   matrix:\n    node: [\"lts/*\"]\n  steps:\n   - name: 🧱 Checkout repository\n     uses: actions/checkout@v6\n   - name: 🔩 Setup PNPM\n     uses: pnpm/action-setup@v4\n     with:\n      standalone: true\n   - name: 🔩 Setup Node ${{ matrix.node }}\n     uses: actions/setup-node@v6\n     with:\n      node-version: ${{ matrix.node }}\n      cache: \"pnpm\"\n   - name: 🚀 Install dependencies\n     run: pnpm install\n   - name: 🚀 Check formatting\n     run: \"pnpm run format:check\"\n"
  },
  {
    "path": ".github/workflows/lint.yml",
    "content": "name: Lint\n\non: [push, pull_request]\n\njobs:\n lint:\n  timeout-minutes: 15\n  name: ESLint\n  runs-on: ubuntu-latest\n  env:\n   TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}\n   TURBO_TEAM: ${{ vars.TURBO_TEAM }}\n  strategy:\n   fail-fast: false\n   matrix:\n    node: [\"lts/*\"]\n  steps:\n   - name: 🧱 Checkout repository\n     uses: actions/checkout@v6\n   - name: 🔩 Setup PNPM\n     uses: pnpm/action-setup@v4\n     with:\n      standalone: true\n   - name: 🔩 Setup Node ${{ matrix.node }}\n     uses: actions/setup-node@v6\n     with:\n      node-version: ${{ matrix.node }}\n      cache: \"pnpm\"\n   - name: 🚀 Install dependencies\n     run: pnpm install\n   - name: 🚀 Run ESLint\n     run: pnpm lint\n"
  },
  {
    "path": ".gitignore",
    "content": "# .gitignore\n\n# Logs\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Coverage directory used by tools like istanbul\ncoverage\n*.lcov\n\n# Dependency directories and files\nnode_modules/\njspm_packages/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n*.zip\n\n# dotenv environment variables file\n.env*\n!.env.example\n\n# Stores VSCode versions used for testing VSCode extensions\n.vscode-test\n.vscode\n\n# Next.js build output\n.next\n\n# Certificates\n*.key\n*.cert\n\n# Turborepo & Vercel\n.turbo\n.vercel\n\n# Prisma\npackages/database/prisma/client"
  },
  {
    "path": ".npmrc",
    "content": "public-hoist-pattern[]=*prisma*"
  },
  {
    "path": ".prettierignore",
    "content": "package.json\npnpm-lock.yaml\n\n*/*/package.json\n*/*/pnpm-lock.yaml"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "![Header](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/4df57b45-2900-40e0-bf34-707170fb83bc)\n\n<p align=\"center\">\n <a href=\"https://majoexe.com/server\"><img src=\"https://img.shields.io/discord/695282860399001640?color=%234552ef&logo=discord&label=Discord&style=flat&logoColor=fff\" alt=\"Discord\" /></a>\n <a href=\"https://www.npmjs.com/package/discord.js\"><img src=\"https://img.shields.io/badge/Discord.js-v14-%234552ef?style=flat&logo=npm&logoColor=fff\" alt=\"Discord.js\" /></a>\n <a href=\"https://majoexe.com/\"><img src=\"https://img.shields.io/github/actions/workflow/status/igorkowalczyk/majo.exe/codeql-analysis.yml?branch=master&style=flat&label=CodeQL&logo=github&color=%234552ef\" alt=\"CodeQL Checks\" /></a>\n <a href=\"https://majoexe.com\"><img src=\"https://img.shields.io/github/license/igorkowalczyk/majo.exe?style=flat&;logo=github&label=License&color=%234552ef\" alt=\"GitHub License\" /></a>\n</p>\n\n<!-- prettier-ignore -->\n> [!NOTE]\n> If you are reading this, **you are probably interested in contributing to Majo.exe**. **We appreciate your interest** in improving the project and welcome your contributions. To ensure a smooth and productive collaboration, **please review the following guidelines.**\n\n<!-- prettier-ignore-end -->\n\n## 🆕 Submitting Contributions\n\nWe know that contributing to a project can be intimidating, especially if you are new to the community. However, we want to assure you that **contributing to Majo.exe is easy and fun**.\n\nWe have created a welcoming community that encourages collaboration and supports new contributors. **We are excited to have you on board!** 🙌\n\n### 1. Choose existing issues or create your own 📝\n\nStart by **reviewing the existing issues** to identify areas where your contributions **can make a significant impact**.\n\nIf you **have new features, enhancements, or bug fixes in mind**, you can create a **new issue** to propose your contributions. **Please provide comprehensive details to clearly explain your ideas.** This will help the project maintainers and fellow contributors to understand your suggestions and provide valuable feedback.\n\n### 2. Fork the repository 🍴\n\nTo initiate your contribution, **fork the primary repository by clicking the \"Fork\" button.** This creates a copy of the repository in your personal GitHub account. You will use this copy to make and propose changes to the project.\n\n![Forking igorkowalczyk/majo.exe repository on Github](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/dfaedc7f-5a59-4332-b19b-5305d1c78935)\n\nAfter forking the repository, **clone your forked repository to your local development environment** using the following command:\n\n```bash\ngit clone https://github.com/your-username/majo.exe.git\ncd majo.exe\n```\n\nThis creates a local copy of your forked repository on your computer in directory `majo.exe`.\n\n> [!NOTE]\n> Replace `your-username` with your GitHub username\n\n### 3. Set up the upstream remote ☝️\n\nTo keep your forked repository in sync with the primary repository, **set up the upstream remote** using the following command:\n\n```bash\ngit remote add upstream https://github.com/IgorKowalczyk/majo.exe\ngit remote -v\n```\n\n### 4. Create a new branch 🔗\n\nBefore you can start working on your contribution, **create a new branch dedicated to your specific task**:\n\n```bash\ngit checkout -b my-contribution\n```\n\n> [!NOTE]\n> Replace `my-contribution` with a descriptive name that clearly identifies the purpose of your branch. Please use lowercase letters and hyphens instead of spaces.\n\n### 5. Make Changes 🔥\n\nNow you can start working on your contribution! Implement your awesome ideas, fix bugs, or add new features. **Be creative and have fun!** Ensure your contributions are well-structured, documented, and aligned with the project's objectives.\n\n**Quick Tip:** To keep your forked repository in sync with the primary repository, **pull the latest changes** from the primary repository before making your contributions:\n\n```bash\ngit pull upstream main\n```\n\n> [!IMPORTANT]\n> Remember to test your changes before submitting them! **You can read the [README.md](https://github.com/igorkowalczyk/majo.exe/blob/master/README.md) file for instructions on how to set up the project locally.**\n\n<!-- prettier-ignore -->\n> [!NOTE]\n> - **Please ensure your code is well-formatted and linted** before submitting your changes.\n> - To **format your code**, use the following command: `pnpm run format`\n> - To **lint your code**, use the following command: `pnpm run lint:fix`\n> - To **build the project**, use the following command: `pnpm run build`\n\n<!-- prettier-ignore-end -->\n\n### 6. Commit Your Changes 📝\n\nCommit your awesome contributions with informative commit messages that clearly explain the purpose of your changes:\n\n```bash\ngit commit -m \"Add a descriptive message here\"\n```\n\n> [!WARNING]\n> Please ensure your commit messages are descriptive and informative. This will help the project maintainers and fellow contributors to better understand your changes.\n>\n> **Please do not use vague commit messages like `Update README.md` or `Fix bugs`.** Instead, use messages like `Update README.md with instructions on how to set up the project locally` or `Fix bugs related to incorrect variable names`.\n\n### 7. Push Your Changes 🚀\n\nPush your commits to your forked repository on GitHub:\n\n```bash\ngit push origin my-contribution\n```\n\n> [!NOTE]\n> Replace `my-contribution` with the name of your branch.\n\n### 8. Create a Pull Request 📩\n\n**Visit your forked repository on GitHub and click the \"Compare & pull request\"** button to create a pull request from your branch to the primary repository.\n\n**Please provide comprehensive details to clearly explain your changes.** This will help the project maintainers and fellow contributors to understand your contributions and provide valuable feedback.\n\n<!-- prettier-ignore -->\n> [!NOTE]\n> **Please ensure your pull request is well-formatted and linted** before submitting it. This will help the project maintainers and fellow contributors to work with your code more efficiently, and it will increase the likelihood of your pull request being accepted.\n\n<!-- prettier-ignore-end -->\n\n### 9. Await review 👀\n\nWait for the project maintainers to review your pull request. **Be prepared to address any suggested changes or refinements.**\nReviewers may ask you to make changes to your pull request before it can be accepted. **Please be patient and respond to any questions or requests in a timely manner.**\n\nWe know that waiting for your pull request to be accepted can be stressful. **Please be assured that we will do our best to review your pull request as soon as possible.** We appreciate your patience and understanding ❤️‍🔥\n\n---\n\n## 📖 Additional Resources\n\n### Join the Community 🤝\n\nWant to contribute to Majo.exe but don't know where to start? **Join our community!** We have created a welcoming community that encourages collaboration and supports new contributors. **We are excited to have you on board!** 🙌\n\n[We created a Discord server for the Majo.exe community.](https://majoexe.com/discord) **Join the server to connect with fellow contributors and get support from the project maintainers.** We look forward to collaborating with you! 🚀👾🙌\n\n[![Join the Discord server](https://invidget.switchblade.xyz/sgt4QEyDxK)](https://majoexe.com/discord)\n\n### Share Your Feedback 📣\n\nWe want to hear from you! **Your feedback is vital for the project's development and success.** If you have any questions, suggestions, or concerns, please feel free to contact the project maintainers. We are always happy to help! 🙌\n\nYou can contact the project maintainers by [joining the Discord server](https://majoexe.com/discord) or [opening an issue](https://github.com/igorkowalczyk/majo.exe/issues/new/choose) on GitHub.\n\n[![Create a new issue on GitHub](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/15422f9b-c7cc-48ef-a047-6a81c0e6c6e9)](https://github.com/igorkowalczyk/majo.exe/issues/new/choose)\n\n### Spread the Word 📢\n\n**Help us spread the word about Majo.exe!** We would love to see more people join our community and contribute to the project. **Please share the project with your friends and colleagues.** We appreciate your support! 🙌\n\n**Thank you for your valuable contributions, and we look forward to collaborating with you on the Majo.exe project! 🚀👾🙌**\n"
  },
  {
    "path": "README.md",
    "content": "![Header](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/8fd53e0b-1902-460c-9d6c-7d42ea84f8bb)\n\n<p align=\"center\">\n <a href=\"https://majoexe.com/server\"><img src=\"https://img.shields.io/discord/695282860399001640?color=%234552ef&logo=discord&label=Discord&style=flat&logoColor=fff\" alt=\"Discord\" /></a>\n <a href=\"https://www.npmjs.com/package/discord.js\"><img src=\"https://img.shields.io/badge/Discord.js-v14-%234552ef?style=flat&logo=npm&logoColor=fff\" alt=\"Discord.js\" /></a>\n <a href=\"https://majoexe.com/\"><img src=\"https://img.shields.io/github/actions/workflow/status/igorkowalczyk/majo.exe/codeql-analysis.yml?branch=master&style=flat&label=CodeQL&logo=github&color=%234552ef\" alt=\"CodeQL Checks\" /></a>\n <a href=\"https://majoexe.com\"><img src=\"https://img.shields.io/github/license/igorkowalczyk/majo.exe?style=flat&;logo=github&label=License&color=%234552ef\" alt=\"GitHub License\" /></a>\n</p>\n\n## ✨ Features\n\n- ⚙️ **Fully Customizable:** Tailor Majo.exe to your preferences with comprehensive customization options.\n- 🌆 **Built-in Dashboard:** Manage your Majo.exe settings effortlessly through our intuitive dashboard.\n- 📝 **Easy Configuration:** Streamlined configuration process that makes setting up a breeze.\n- 💯 **150+ Commands:** Access over 150 versatile commands to enrich your server's experience.\n- 📚 **Easy Hosting:** Effortlessly host Majo.exe on your servers and keep it online 24/7.\n\n## 🔗 Invite\n\nGo to [this link](https://discord.com/oauth2/authorize/?permissions=4294967287&scope=bot%20applications.commands&client_id=949342410150924319) and add the bot (this requires `MANAGE_GUILD` permission) to your server.\n\n[Or to make it easier, visit our website](https://majoexe.com/)\n\n## 🖥️ Hosting\n\nWe are hosting Majo.exe on our own servers. Majo.exe will be online 24/7. [Invite Majo here!](https://majoexe.com/api/invite)  \nHowever, if you want to host Majo.exe yourself, you can do it. [Check out our tutorials](#-tutorials) to learn how to do it.\n\n<!-- prettier-ignore-start -->\n> [!IMPORTANT]\n> **This project is not for beginners.** If you are not familiar with Node.js, Prisma, Discord.js or any other technology used in this project, you should not host Majo.exe yourself!\n<!-- prettier-ignore-end -->\n\n### 📝 Tutorials\n\n- **[🤖 Bot setup tutorial](/apps/bot/README.md)**\n- **[🔩 Dashboard setup tutorial](/apps/dashboard/README.md)**\n- **[📝 Database setup tutorial](/packages/database/README.md)**\n\n## ⚙️ System Requirements\n\nEnsure your setup meets these prerequisites before setting up Majo.exe:\n\n- `PostgreSQL 14x` or higher\n- `Node.js 18x` or higher\n- `(Any)` Linux x64¹\n- `~512MB` of RAM (minimum)\n- `~3GB` of hard drive space (minimum)\n\n<!-- prettier-ignore-start -->\n> [!NOTE]\n> 1. Debian based distros are recommended, bot can also run on Windows and MacOS but it's not recommended.\n<!-- prettier-ignore-end -->\n\n## 🔒 `.env` files\n\n| Variable                    | Description                                              | Required (Bot) | Required (Dashboard) |\n| --------------------------- | -------------------------------------------------------- | -------------- | -------------------- |\n| `TOKEN`                     | Discord bot token                                        | `✅ Yes`       | `✅ Yes`             |\n| `CLIENT_ID`                 | Discord client ID                                        | `✅ Yes`       | `✅ Yes`             |\n| `CLIENT_SECRET`             | Discord client secret                                    | `❌ No`        | `✅ Yes`             |\n| `DATABASE_URL`              | Main database connection string                          | `✅ Yes`       | `✅ Yes`             |\n| `DATABASE_URL_UNPOOLED`     | Non-pooling database connection string                   | `❌ No`        | `❌ No`              |\n| `REDIS_URL`                 | Redis Cache connection string                            | `✅ Yes`       | `✅ Yes`             |\n| `SECRET`                    | Secret string (minimum 32 characters)                    | `❌ No`        | `✅ Yes`             |\n| `NEXTAUTH_URL`              | NextAuth.js URL (e.g., http://localhost:3000)            | `❌ No`        | `✅ Yes`             |\n| `NEXT_PUBLIC_URL`           | Next.js public URL (e.g., http://localhost:3000)         | `❌ No`¹       | `✅ Yes`             |\n| `HOTJAR_ID`                 | [Hotjar](https://hotjar.com) ID                          | `❌ No`        | `❌ No`              |\n| `DISCORD_SUPPORT_SERVER_ID` | Discord support server ID                                | `❌ No`        | `❌ No`²             |\n| `TOPGG_API_KEY`             | [top.gg](https://top.gg) API key                         | `❌ No`        | `❌ No`³             |\n| `DISCORD_BOT_LIST_API_KEY`  | [discordbotlist.com](https://discordbotlist.com) API key | `❌ No`        | `❌ No`⁴             |\n\n<!-- prettier-ignore-start -->\n> [!NOTE]\n> 1. `NEXT_PUBLIC_URL` is required only if you want to also host the dashboard.\n> 2. `DISCORD_SUPPORT_SERVER_ID` is required only if you want to automatically add users to your own Discord server when they log in to the dashboard. Please note that the bot needs `Manage Server` permission in the server!\\\n> 3. `TOPGG_API_KEY` is required only if you want to automatically post server count to [top.gg](https://top.gg).\n> 4. `DISCORD_BOT_LIST_API_KEY` is required only if you want to automatically post server count, stats and more to [discordbotlist.com](https://discordbotlist.com).\n\n<!-- prettier-ignore-end -->\n\n## 📝 Contributors\n\n- [**@binary-blazer**](https://github.com/binary-blazer) - Hosting support\n- [**@TsukiyoDevs**](https://github.com/TsukiyoDevs) - Bug fixes, New features, Testing\n- [**@r-kjha**](https://github.com/r-kjha) - Emoji config support, Bug fixes, New features, Testing\n- [**@Joao-Victor-Liporini**](https://github.com/Joao-Victor-Liporini) - Bug fixes, Command handler improvements, Testing, New features\n- [**@evandev**](https://github.com/xefew) - Bug fixes, Testing\n- [**iWeedy\\_**](https://github.com/i-weedy) - Testing\n- [**@krzesl0**](https://github.com/krzesl0) - New Features, Bug fixes, Testing\n- [**@\\_index1337**](https://github.com/index1337) - Readme tutorials\n- [**@Wafelowski**](https://github.com/HeavyWolfPL) - Translation improvements\n- [**@Sakshyam6966**](https://github.com/Sakshyam6966) - New Features, Bug fixes, Testing\n\n<!-- ## 💝 Sponsors\n\n**These wonderful people and services have helped develop Majo.exe, without them this project would not exist. Thanks goes to these wonderful people!**\n\n|                                                                      | Sponsor                                                             | Description                                                                                                             |\n| -------------------------------------------------------------------- | ------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |\n| ![TrestHost Logo](https://majoexe.com/assets/sponsors/tresthost.png) | [**TrestHost**](https://dash.tresthost.me/register?ref=majonez.exe) | **TrestHost is a good and powerful hosting provider** providing servers from the **USA and Germany**. Try us out today! | -->\n\n## ⁉️ Issues\n\nIf you have any issues with the page please create [new issue here](https://github.com/igorkowalczyk/majo.exe/issues). When creating new issue please provide as much information as possible. If you can, please provide logs from console.\n\nWe will review your pull request as soon as possible. We might suggest some changes or improvements.\n\n## 📥 Pull Requests\n\nWhen submitting a pull request:\n\n- Clone the repository (`git clone https://github.com/igorkowalczyk/majo.exe`)\n- Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`).\n- Open a [pull request](https://github.com/igorkowalczyk/majo.exe/pulls) on [GitHub](https://github.com) and describe the feature or fix.\n\n## 📋 License\n\nThis project is licensed under the MIT. See the [LICENSE](https://github.com/igorkowalczyk/majo.exe/blob/master/license.md) file for details\n\n<details>\n <summary>The cake is a lie 🍰</summary>\n\n<a href=\"https://igorkowalczyk.dev\"><img src=\"https://views.igorkowalczyk.vercel.app/api/badge/majo.exe?style=flat-square&color=333333&label=Repo+views\" alt=\"Github repository views\"></a>\n\n</details>\n"
  },
  {
    "path": "apps/bot/.env.example",
    "content": "# Bot\nTOKEN=\nCLIENT_ID=\nCLIENT_SECRET=\nDISCORD_SUPPORT_SERVER_ID=\n\n# Top.gg (Optional)\nTOPGG_API_KEY=\n\n# discordbotlist.com (Optional)\nDISCORD_BOT_LIST_API_KEY="
  },
  {
    "path": "apps/bot/.prettierignore",
    "content": "package.json"
  },
  {
    "path": "apps/bot/Dockerfile",
    "content": "ARG APP_PKG_NAME=@majoexe/bot\n\nFROM node:24-alpine\n\nRUN apk add curl\n\nWORKDIR /app\n\nENV NODE_ENV=production\nENV TURBO_TELEMETRY_DISABLED=1\n\nRUN corepack enable \nRUN corepack prepare pnpm@latest --activate\n\nRUN curl -sfS https://dotenvx.sh/install.sh | sh\n\nCOPY . .\n\nRUN pnpm install --recursive --prod\n\nCMD [\"dotenvx\", \"run\", \"--\", \"pnpm\", \"run\", \"deploy\", \"--filter\", \"!@majoexe/dashboard\"]"
  },
  {
    "path": "apps/bot/README.md",
    "content": "![Header - Bot](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/9a34b389-e710-435e-9514-1f4c5f733d74)\n\n<p align=\"center\">\n <a href=\"https://majoexe.com/server\"><img src=\"https://img.shields.io/discord/695282860399001640?color=%234552ef&logo=discord&label=Discord&style=flat&logoColor=fff\" alt=\"Discord\" /></a>\n <a href=\"https://www.npmjs.com/package/discord.js\"><img src=\"https://img.shields.io/badge/Discord.js-v14-%234552ef?style=flat&logo=npm&logoColor=fff\" alt=\"Discord.js\" /></a>\n <a href=\"https://majoexe.com/\"><img src=\"https://img.shields.io/github/actions/workflow/status/igorkowalczyk/majo.exe/codeql-analysis.yml?branch=master&style=flat&label=CodeQL&logo=github&color=%234552ef\" alt=\"CodeQL Checks\" /></a>\n <a href=\"https://majoexe.com\"><img src=\"https://img.shields.io/github/license/igorkowalczyk/majo.exe?style=flat&;logo=github&label=License&color=%234552ef\" alt=\"GitHub License\" /></a>\n</p>\n\n## 🤖 Self-Hosting\n\n1. Clone [this repository](https://github.com/igorkowalczyk/majo.exe) `git clone https://github.com/IgorKowalczyk/majo.exe.git`\n2. Go to `/packages/database/` directory and follow [Database Setup](/packages/database/README.md) tutorial.\n3. Grab a Discord Bot token and client secret on [Discord's developer portal](https://discord.com/developers/applications) [Tutorial](#-discord-credentials).\n4. Create new file or edit existing `.env` file in `/apps/bot/` directory.\n5. In `.env` file set this values:\n   - `TOKEN` - Discord bot token [[Tutorial](#-discord-token)]\n   - `SECRET` - Random string (min. length = 32 chars)\n   - `CLIENT_SECRET` - Discord bot secret [[Tutorial](#-discord-secret)]\n   - `DISCORD_SUPPORT_SERVER_ID` - Your Discord support server ID\n   - `TOPGG_API_KEY` - Your Top.gg API key (optional)\n   - `DISCORD_BOT_LIST_API_KEY` - Your discordbotlist.com API key (optional)\n6. Run `pnpm i` to install all dependencies\n7. Go to `/packages/config/` directory and change values in `/configs/bot.js` to your values.\n8. Go back to main directory and run `pnpm run dev --filter=\"@majoexe/bot\"` or `pnpm run deploy --filter=\"@majoexe/bot\"` to start bot\n9. That's it! You can now invite your bot to your server and use it!\n\n## 🔒 Example `.env` file\n\n```\n# Bot\nTOKEN=\nCLIENT_ID=\nCLIENT_SECRET=\nDISCORD_SUPPORT_SERVER_ID=\n\n# Top.gg (Optional)\nTOPGG_API_KEY=\n\n# discordbotlist.com (Optional)\nDISCORD_BOT_LIST_API_KEY=\n```\n\n> [!WARNING]\n> Make sure to not share your `.env` file with anyone, it contains sensitive information like your bot token and secrets.\n\n---\n\n## ⚙️ System Requirements\n\nEnsure your setup meets these prerequisites before setting up Majo.exe:\n\n- `PostgreSQL 14x` or higher\n- `Node.js 18x` or higher\n- `(Any)` Linux x64¹\n- `~512MB` of RAM (minimum)\n- `~3GB` of hard drive space (minimum)\n\n> [!NOTE]\n> 1: Debian based distros are recommended, Dashboard can also run on Windows and MacOS but it's not recommended.\n\n## 🔓 Tokens tutorials\n\n### 🔏 Discord Token\n\n1. Go to <a href=\"https://discordapp.com/developers/applications)\">Discord Developer Portal</a>\n2. At the top right of the screen, click \"New application\" and assign it a name. Next in the left part of the screen on the navigation bar, find \"Bot\" then click it and find button named \"Add Bot\"\n3. After confirming the bot creation, click the \"Copy token\" button\n4. Paste your token in `.env` file - `TOKEN=BOT_TOKEN`\n\n> Tutorial written by: <a href=\"https://github.com/index1337\">\\_index1337</a>\n\n### 🔓 Discord Bot Secret\n\n1. Go to <a href=\"https://discordapp.com/developers/applications)\">Discord Developer Portal</a>\n2. In the left part of the screen on the bar, find \"OAuth2\" then click it\n3. Find section named \"Client Secret\", under the bot secret click \"Copy\" button\n4. Paste client secret to `.env` - `CLIENT_SECRET=CLIENT_SECRET`\n\n> Tutorial written by: <a href=\"https://github.com/index1337\">\\_index1337</a>\n\n## 📝 Contributors\n\n- [**@binary-blazer**](https://github.com/binary-blazer) - Hosting support\n- [**@TsukiyoDevs**](https://github.com/TsukiyoDevs) - Bug fixes, New features, Testing\n- [**@r-kjha**](https://github.com/r-kjha) - Emoji config support, Bug fixes, New features, Testing\n- [**@Joao-Victor-Liporini**](https://github.com/Joao-Victor-Liporini) - Bug fixes, Command handler improvements, Testing, New features\n- [**@evandev**](https://github.com/xefew) - Bug fixes, Testing\n- [**iWeedy\\_**](https://github.com/i-weedy) - Testing\n- [**@krzesl0**](https://github.com/krzesl0) - New Features, Bug fixes, Testing\n- [**@\\_index1337**](https://github.com/index1337) - Readme tutorials\n- [**@Wafelowski**](https://github.com/HeavyWolfPL) - Translation improvements\n- [**@Sakshyam6966**](https://github.com/Sakshyam6966) - New Features, Bug fixes, Testing\n\n<!-- ## 💝 Sponsors\n\n**These wonderful people and services have helped develop Majo.exe, without them this project would not exist. Thanks goes to these wonderful people!**\n\n|                                                                      | Sponsor                                                             | Description                                                                                                             |\n| -------------------------------------------------------------------- | ------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |\n| ![TrestHost Logo](https://majoexe.com/assets/sponsors/tresthost.png) | [**TrestHost**](https://dash.tresthost.me/register?ref=majonez.exe) | **TrestHost is a good and powerful hosting provider** providing servers from the **USA and Germany**. Try us out today! | -->\n\n## ⁉️ Issues\n\nIf you have any issues with the bot please create [new issue here](https://github.com/igorkowalczyk/majo.exe/issues).\nWhen creating new issue please provide as much information as possible. If you can, please provide logs from console.\n\n## 📥 Pull Requests\n\nWhen submitting a pull request:\n\n- Clone the repo.\n- Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`).\n- Open a [pull request](https://github.com/igorkowalczyk/majo.exe/pulls) on [GitHub](https://github.com) and describe the feature or fix.\n\nWe will review your pull request as soon as possible. We might suggest some changes or improvements.\n\n## 📋 License\n\nThis project is licensed under the MIT. See the [LICENSE](https://github.com/igorkowalczyk/majo.exe/blob/master/license.md) file for details\n"
  },
  {
    "path": "apps/bot/commands/Fun/8ball.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"8ball\",\n  description: \"🎱 Ask the 8ball a question\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/8ball <question>\",\n  options: [\n    {\n      name: \"question\",\n      description: \"Question to ask 8ball\",\n      required: true,\n      type: ApplicationCommandOptionType.String,\n      max_length: 100,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const args = interaction.options.getString(\"question\");\n      if (!args) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid question.\");\n\n      const images = [\n        [\"Yes.\", \"https://c.tenor.com/TFhmPga4xEwAAAAC/magic8ball-yes.gif\"],\n        [\"It is certain\", \"https://c.tenor.com/eyI116E3kWYAAAAC/yoda-8ball.gif\"],\n        [\"Without a doubt\", \"https://c.tenor.com/-0tatbxLQVQAAAAC/yoda-8ball.gif\"],\n        [\"Yes definelty\", \"https://c.tenor.com/fc7fywg2oQQAAAAC/yoda-8ball.gif\"],\n        [\"You may rely on it\", \"https://c.tenor.com/8J1uZFp8xMUAAAAC/yoda-8ball.gif\"],\n        [\"As I see it, yes\", \"https://c.tenor.com/EIAYng3CUf0AAAAC/yoda-8ball.gif\"],\n        [\"Most likely\", \"https://c.tenor.com/EIAYng3CUf0AAAAC/yoda-8ball.gif\"],\n        [\"Outlook not so good\", \"https://c.tenor.com/Ji3GcuKvu1cAAAAC/magic8ball-simpsons.gif\"],\n        [\"Signs point to yes\", \"https://c.tenor.com/mrN4WoxyRE8AAAAC/shaking8ball-stranger-things4.gif\"],\n        [\"followUp hazy, try again\", \"https://c.tenor.com/BokmYoZhr1AAAAAC/yoda-8ball.gif\"],\n        [\"Ask again later\", \"https://c.tenor.com/Voqiq18wUFIAAAAC/yoda-8ball.gif\"],\n        [\"Better not tell you now...\", \"https://c.tenor.com/Voqiq18wUFIAAAAC/yoda-8ball.gif\"],\n        [\"Cannot predict now\", \"https://c.tenor.com/fs_hXVg58LkAAAAC/yoda-8ball.gif\"],\n        [\"Concentrate and ask again\", \"https://c.tenor.com/Voqiq18wUFIAAAAC/yoda-8ball.gif\"],\n        [\"Don't count on it\", \"https://c.tenor.com/cw2aa9cnQ6QAAAAC/magic-eight.gif\"],\n        [\"My followUp is no\", \"https://c.tenor.com/rJ1ioW_FkhUAAAAC/yoda-8ball.gif\"],\n      ];\n\n      const parsed = images.map((x) => [x[0], x[1]]);\n      const random = Math.floor(Math.random() * parsed.length);\n\n      if (!parsed[random] || !parsed[random][0] || !parsed[random][1]) return client.errorMessages.createSlashError(interaction, \"❌ No answer available.\");\n\n      const embed = new EmbedBuilder()\n        .setDescription(`>>> **Q:** ${args} \\n**A:** ${parsed[random][0] || \"No answer available\"}`)\n        .setImage(parsed[random][1])\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/advice.ts",
    "content": "import advices from \"@majoexe/util/content/advices.json\";\nimport { ApplicationCommandType, ApplicationIntegrationType, EmbedBuilder, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"advice\",\n  description: \"🤌 Get a random helpful advice\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/advice\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const parsed = advices[Math.floor(Math.random() * advices.length)];\n      if (!parsed) return client.errorMessages.createSlashError(interaction, \"❌ Failed to fetch advice. Please try again later.\");\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🤌 My advice is:\")\n        .setDescription(`>>> **${parsed.advice}**`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/anime.ts",
    "content": "import {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  EmbedBuilder,\n  codeBlock,\n  ActionRowBuilder,\n  ButtonBuilder,\n  ButtonStyle,\n  ApplicationIntegrationType,\n  InteractionContextType,\n  MessageFlags,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"anime\",\n  description: \"💮 Search for information about Anime by given name\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/anime <anime name>\",\n  autocomplete: async (client, interaction) => {\n    const focusedOption = interaction.options.getFocused(true);\n\n    if (focusedOption.name === \"query\") {\n      const query = focusedOption.value;\n      const request = await fetch(`https://kitsu.app/api/edge/anime?filter[text]=${query}&page%5Boffset%5D=0&page%5Blimit%5D=5`, {\n        method: \"GET\",\n        headers: {\n          \"Content-Type\": \"application/vnd.api+json\",\n          Accept: \"application/vnd.api+json\",\n        },\n      });\n\n      if (!request || !request.ok) {\n        return;\n      }\n      const json = await request.json();\n      if (!json || !json.data || json.data.length < 1) {\n        return;\n      }\n\n      /* eslint-disable typescript/no-explicit-any */\n      const results = json.data.map((result: any) => {\n        const data = result.attributes;\n        return {\n          name: data.canonicalTitle,\n          value: data.canonicalTitle,\n        };\n      });\n\n      await interaction.respond(results);\n    }\n  },\n  options: [\n    {\n      name: \"query\",\n      description: \"Anime name\",\n      required: true,\n      autocomplete: true,\n      type: ApplicationCommandOptionType.String,\n      max_length: 256,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const query = interaction.options.getString(\"query\");\n\n      if (!query) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid anime name.\");\n\n      const request = await fetch(`https://kitsu.app/api/edge/anime?filter[text]=${query}&page%5Boffset%5D=0&page%5Blimit%5D=1`, {\n        method: \"GET\",\n        headers: {\n          \"Content-Type\": \"application/vnd.api+json\",\n          Accept: \"application/vnd.api+json\",\n        },\n      });\n\n      if (!request || !request.ok) {\n        return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n      }\n      const json = await request.json();\n      if (!json || !json.data || json.data.length < 1) {\n        return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n      }\n      const data = json.data[0].attributes;\n\n      if (!data) {\n        const embed = new EmbedBuilder()\n          .setColor(\"#EF4444\")\n          .setTimestamp()\n          .setTitle(\"❌ Error\")\n          .setDescription(\"> No results found.\")\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n        return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n      }\n\n      if (data.synopsis.length > 1024) {\n        data.synopsis = data.synopsis.slice(0, 1021) + \"...\";\n      }\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(data.canonicalTitle || query.slice(0, 20))\n        .setURL(`https://kitsu.io/anime/${data.slug}`)\n        .setDescription(data.synopsis ? (data.synopsis.length > 1024 ? data.synopsis.slice(0, 1021) + \"...\" : data.synopsis) : \"No description!\")\n        .addFields([\n          {\n            name: `${client.config.emojis.flag_gb} English Title`,\n            value: codeBlock(data.titles?.en || \"None!\"),\n            inline: false,\n          },\n          {\n            name: `${client.config.emojis.flag_jp} Japanese Title`,\n            value: codeBlock(data.titles?.ja_jp || \"None!\"),\n            inline: false,\n          },\n          {\n            name: `${client.config.emojis.book} Type`,\n            value: codeBlock(data.showType || \"N/A!\"),\n            inline: true,\n          },\n          {\n            name: `${client.config.emojis.star} Score`,\n            value: codeBlock(`${data.averageRating || \"N/A!\"} (${data.favoritesCount} favorites)`),\n            inline: true,\n          },\n          {\n            name: `${client.config.emojis.counting} Episodes`,\n            value: codeBlock(`${data.episodeCount || \"N/A!\"} episodes (${data.episodeLength || \"N/A!\"} minutes each)`),\n            inline: false,\n          },\n          {\n            name: `${client.config.emojis.star2} Rating`,\n            value: codeBlock(`${data.ageRating || \"N/A!\"} ${\"- \" + data.ageRatingGuide || \"\"}`),\n            inline: false,\n          },\n          {\n            name: `${client.config.emojis.calendar_spillar} Aired`,\n            value: codeBlock(`${data.startDate || \"N/A!\"} - ${data.endDate || \"N/A!\"}`),\n            inline: false,\n          },\n          {\n            name: `${client.config.emojis.barchart} Popularity`,\n            value: codeBlock(`#${data.popularityRank || \"N/A!\"} (Most Popular Anime)\\n#${data.ratingRank || \"N/A!\"} (Highest Rated Anime)`),\n            inline: false,\n          },\n        ])\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (data.posterImage?.original) {\n        embed.setThumbnail(data.posterImage.original);\n      }\n\n      const actionRow = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents([\n          new ButtonBuilder() // prettier\n            .setStyle(ButtonStyle.Link)\n            .setLabel(\"View on Kitsu\")\n            .setURL(`https://kitsu.io/anime/${data.slug}`),\n        ]);\n\n      return interaction.followUp({ embeds: [embed], components: [actionRow] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/cat.ts",
    "content": "import { ActionRowBuilder, ApplicationCommandType, ApplicationIntegrationType, ButtonBuilder, ButtonStyle, EmbedBuilder, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"cat\",\n  description: \"🐱 Get a random cat image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/cat\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const data = await fetch(\"https://api.thecatapi.com/v1/images/search\");\n      const json = await data.json();\n\n      if (!json || !json[0]) {\n        return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n      }\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🐱 Meow!\")\n        .setImage(json[0].url)\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      const actionRow = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setStyle(ButtonStyle.Link)\n            .setLabel(\"View image\")\n            .setURL(json[0].url)\n        );\n      return interaction.followUp({ embeds: [embed], components: [actionRow] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/comic.ts",
    "content": "import { load } from \"cheerio\";\nimport {\n  ApplicationCommandType,\n  EmbedBuilder,\n  ActionRowBuilder,\n  ButtonBuilder,\n  ApplicationCommandOptionType,\n  ButtonStyle,\n  ApplicationIntegrationType,\n  InteractionContextType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"comic\",\n  description: \"📚 Get a comic from xkcd, phd or garfield\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/comic <comic>\",\n  options: [\n    {\n      name: \"xkcd\",\n      description: \"💬 Check out the latest xkcd comic\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          type: ApplicationCommandOptionType.Integer,\n          name: \"issue\",\n          description: \"Issue number to see the comic.\",\n          min_value: 1,\n        },\n      ],\n    },\n    {\n      name: \"phd\",\n      description: \"💬 Check out the latest phd comic\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          type: ApplicationCommandOptionType.Integer,\n          name: \"issue\",\n          description: \"Issue number to see the comic.\",\n          min_value: 1,\n        },\n      ],\n    },\n    {\n      name: \"garfield\",\n      description: \"💬 Check out the latest garfield comic\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const command = interaction.options.getSubcommand();\n\n      if (command === \"xkcd\") {\n        const issue = interaction.options.getInteger(\"issue\");\n        const data = await fetch(`https://xkcd.com${issue ? `/${issue}` : \"\"}/info.0.json`);\n        const json = await data.json();\n\n        if (!json) {\n          return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n        }\n\n        const embed = new EmbedBuilder()\n          .setTitle(`📚 xkcd ${json.num} - ${json.title}`)\n          .setDescription(json.alt)\n          .setImage(json.img)\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n          });\n\n        const actionRow = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents([\n            new ButtonBuilder() // prettier\n              .setStyle(ButtonStyle.Link)\n              .setLabel(\"View on xkcd\")\n              .setURL(`https://xkcd.com/${json.num}`),\n          ]);\n\n        return interaction.followUp({ embeds: [embed], components: [actionRow] });\n      }\n\n      if (command === \"phd\") {\n        const issue = interaction.options.getInteger(\"issue\");\n        const data = await fetch(`https://phdcomics.com${issue ? \"/comics/archive.php?comicid=\" + issue : \"\"}`);\n        const text = await data.text();\n\n        if (!text) {\n          return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n        }\n\n        const $ = load(text);\n\n        const images: string[] = [];\n\n        $(\"img[name='comic2']\").each((_, element) => {\n          const imageUrl = $(element).attr(\"src\");\n          if (imageUrl) images.push(imageUrl);\n        });\n\n        if (!images[0]) {\n          return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n        }\n\n        const embed = new EmbedBuilder()\n          .setTitle(`📚 PHD Comics ${issue ? `#${issue}` : \"\"}`)\n          .setImage(images[0])\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n          });\n\n        const actionRow = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents([\n            new ButtonBuilder() // prettier\n              .setStyle(ButtonStyle.Link)\n              .setLabel(\"View on PHD Comics\")\n              .setURL(`https://phdcomics.com${issue ? \"/comics/archive.php?comicid=\" + issue : \"\"}`),\n          ]);\n\n        return interaction.followUp({ embeds: [embed], components: [actionRow] });\n      }\n\n      if (command === \"garfield\") {\n        const date = new Date();\n        const year = date.getUTCFullYear();\n        const month = date.getUTCMonth() + 1;\n        const day = date.getUTCDate();\n\n        const request = await fetch(`https://www.gocomics.com/garfield/${year}/${month}/${day}`);\n        const text = await request.text();\n\n        if (!text) {\n          return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n        }\n\n        const $ = load(text);\n        const image = $(\".item-comic-image img\").attr(\"src\");\n\n        if (!image) {\n          return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n        }\n\n        const embed = new EmbedBuilder()\n          .setTitle(`📚 Garfield by Jim Davis (${year}/${month}/${day})`)\n          .setImage(image)\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n          });\n\n        const actionRow = new ActionRowBuilder<ButtonBuilder>() //\n          .addComponents([\n            new ButtonBuilder() // prettier\n              .setStyle(ButtonStyle.Link)\n              .setLabel(\"View on GoComics\")\n              .setURL(`https://www.gocomics.com/garfield/${year}/${month}/${day}`),\n          ]);\n\n        return interaction.followUp({ embeds: [embed], components: [actionRow] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/dice.ts",
    "content": "import { ApplicationCommandType, ApplicationIntegrationType, EmbedBuilder, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"dice\",\n  description: \"🎲 Roll a dice\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/dice\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const dice = Math.floor(Math.random() * 6) + 1;\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🎲 Dice\")\n        .setDescription(`>>> **You rolled a ${dice}!**`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/flip.ts",
    "content": "import { flipText } from \"@majoexe/util/functions/util\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"flip\",\n  description: \"🔁 Flip text (upside down) or 🪙 Flip coin (heads or tails)\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/flip <coin | text>\",\n  options: [\n    {\n      name: \"coin\",\n      description: \"🪙 Flip coin (heads or tails)\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/flip coin\",\n    },\n    {\n      name: \"text\",\n      description: \"🔁 Flip text (upside down)\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/flip text\",\n      options: [\n        {\n          name: \"text\",\n          description: \"Text to flip\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n          max_length: 100,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (interaction.options.getSubcommand() == \"coin\") {\n        const coin = Math.floor(Math.random() * 2) + 1;\n        const embed = new EmbedBuilder()\n          .setTitle(\"🪙 Coin Flip\")\n          .setDescription(`>>> **You flipped a ${coin == 1 ? \"heads\" : \"tails\"}!**`)\n          .setTimestamp()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n          });\n        return interaction.followUp({ embeds: [embed] });\n      } else if (interaction.options.getSubcommand() == \"text\") {\n        const text = interaction.options.getString(\"text\");\n        if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to flip.\");\n\n        const embed = new EmbedBuilder()\n          .setTitle(\"🔁 Flipped Text\")\n          .setDescription(`>>> **${flipText(text)}**`)\n          .setTimestamp()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n          });\n        return interaction.followUp({ embeds: [embed] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/iq.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"iq\",\n  description: \"🧠 Get a random IQ score\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/iq (user)\",\n  options: [\n    {\n      name: \"user\",\n      description: \"User to get IQ score\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      const iq = Math.floor(Math.random() * 200) + 1;\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🧠 IQ\")\n        .setDescription(`>>> **${user} has an IQ of ${iq}!**`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setThumbnail(user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/joke.ts",
    "content": "import { ApplicationCommandType, ApplicationIntegrationType, EmbedBuilder, InteractionContextType } from \"discord.js\";\nimport fetch from \"node-fetch\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ninterface Joke {\n  type: string;\n  setup: string;\n  punchline: string;\n  id: number;\n}\n\nexport default {\n  name: \"joke\",\n  description: \"😂 Get a random joke\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/joke\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const joke = await fetch(\"https://official-joke-api.appspot.com/random_joke\");\n      if (!joke.ok) return client.errorMessages.createSlashError(interaction, \"❌ No jokes found! Please try again later.\");\n\n      const json = (await joke.json()) as Joke;\n\n      if (!json || !json.setup || !json.punchline) {\n        return client.errorMessages.createSlashError(interaction, \"❌ No jokes found! Please try again later.\");\n      }\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"😂 Joke\")\n        .setDescription(`>>> **${json.setup}**\\n\\n${json.punchline}`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/letmegpt.ts",
    "content": "import {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  EmbedBuilder,\n  ButtonBuilder,\n  ButtonStyle,\n  ActionRowBuilder,\n  ApplicationIntegrationType,\n  InteractionContextType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"letmegpt\",\n  description: \"🔍 Let me GPT that for you\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/lmgtfy <query>\",\n  options: [\n    {\n      name: \"query\",\n      description: \"Search query\",\n      required: true,\n      type: ApplicationCommandOptionType.String,\n      max_length: 256,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const query = interaction.options.getString(\"query\");\n      if (!query) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid search query.\");\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🔍 Let me GPT that for you\")\n        .setDescription(`>>> https://letmegpt.com/search?q=${encodeURIComponent(query)}`)\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      const row = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setLabel(\"Search\")\n            .setEmoji(\"🔍\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(`https://letmegpt.com/search?q=${encodeURIComponent(query)}`)\n        );\n\n      return interaction.followUp({ embeds: [embed], components: [row] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/lmgtfy.ts",
    "content": "import {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  EmbedBuilder,\n  ButtonBuilder,\n  ButtonStyle,\n  ActionRowBuilder,\n  ApplicationIntegrationType,\n  InteractionContextType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"lmgtfy\",\n  description: \"🔍 Let me google that for you\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/lmgtfy <query>\",\n  options: [\n    {\n      name: \"query\",\n      description: \"Search query\",\n      required: true,\n      type: ApplicationCommandOptionType.String,\n      max_length: 256,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const query = interaction.options.getString(\"query\");\n      if (!query) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid search query.\");\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🔍 Let me google that for you\")\n        .setDescription(`>>> https://letmegooglethat.com/?q=${encodeURIComponent(query)}`)\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      const row = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setLabel(\"Search\")\n            .setEmoji(\"🔍\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(`https://letmegooglethat.com/?q=${encodeURIComponent(query)}`)\n        );\n\n      return interaction.followUp({ embeds: [embed], components: [row] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/meme.ts",
    "content": "import { ActionRowBuilder, ApplicationCommandType, ApplicationIntegrationType, ButtonBuilder, ButtonStyle, EmbedBuilder, InteractionContextType } from \"discord.js\";\nimport fetch from \"node-fetch\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ninterface RedditPost {\n  title: string;\n  url: string;\n  permalink: string;\n}\n\ninterface RedditChildren {\n  data: RedditPost;\n}\n\ninterface RedditData {\n  children: RedditChildren[];\n}\n\ninterface RedditResponse {\n  kind: string;\n  data: RedditData;\n}\n\nexport default {\n  name: \"meme\",\n  description: \"😂 Get a random meme\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/meme\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const meme = await fetch(\"https://reddit.com/r/dankmemes/random/.json\");\n      if (!meme.ok) return client.errorMessages.createSlashError(interaction, \"❌ No memes found! Please try again later.\");\n\n      const json = (await meme.json()) as RedditResponse[];\n\n      if (\n        !json ||\n        !json[0] ||\n        !json[0].data ||\n        !json[0].data.children ||\n        !json[0].data.children[0] ||\n        !json[0].data.children[0].data ||\n        !json[0].data.children[0].data.title ||\n        !json[0].data.children[0].data.url\n      ) {\n        return client.errorMessages.createSlashError(interaction, \"❌ No results found.\");\n      }\n\n      const embed = new EmbedBuilder()\n        .setTitle(json[0].data.children[0].data.title)\n        .setImage(json[0].data.children[0].data.url)\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      const actionRow = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setStyle(ButtonStyle.Link)\n            .setLabel(\"View on Reddit\")\n            .setURL(`https://reddit.com${json[0].data.children[0].data.permalink}`)\n        );\n\n      return interaction.followUp({ embeds: [embed], components: [actionRow] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/rate.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, type ColorResolvable, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"rate\",\n  description: \"📈 Rate something\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/rate (thing)\",\n  options: [\n    {\n      name: \"thing\",\n      description: \"Thing to rate\",\n      type: ApplicationCommandOptionType.String,\n      max_length: 256,\n      required: true,\n    },\n  ],\n  run: async (client, interaction) => {\n    try {\n      const thing = interaction.options.getString(\"thing\");\n      const rate = Math.floor(Math.random() * 100) + 1;\n\n      let color;\n      if (rate <= 100 && rate >= 90) {\n        color = \"#57F287\";\n      } else if (rate >= 50 && rate <= 89) {\n        color = \"#FFFF00\";\n      } else if (rate >= 0 && rate <= 49) {\n        color = \"#ED4245\";\n      }\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"📈 Rating\")\n        .setDescription(`>>> **I rate ${thing} a ${rate}/100!**`)\n        .setTimestamp()\n        .setColor(color as ColorResolvable)\n        .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/ship.ts",
    "content": "import { percentageBar } from \"@majoexe/util/functions/util\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"ship\",\n  description: \"❤️ Ship users together\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/ship <user1> <user2>\",\n  options: [\n    {\n      name: \"first\",\n      description: \"The first user to ship\",\n      type: ApplicationCommandOptionType.User,\n      required: true,\n    },\n    {\n      name: \"second\",\n      description: \"The second user to ship\",\n      type: ApplicationCommandOptionType.User,\n      required: true,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const first = interaction.options.getUser(\"first\");\n      const second = interaction.options.getUser(\"second\");\n\n      if (!first || !second) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You need to specify two users to ship\");\n      }\n\n      if (first.id === second.id) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You can't ship the same user with themselves\");\n      }\n\n      const ship = Math.floor(Math.random() * 100) + 1;\n\n      const embed = new EmbedBuilder()\n        .setTitle(`❤️ Shipping ${first.globalName || first.username} and ${second.globalName || second.username}`)\n        .setDescription(` **${ship > 50 ? \"🔥 They are born for each other!\" : \"❄️ This isn't a match\"}**\\n\\n${percentageBar(100, ship, 20)}`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (ship > 50) {\n        embed.setThumbnail(\"https://cdn.discordapp.com/emojis/797365365595439104.gif?v=1\");\n      } else {\n        embed.setThumbnail(\"https://cdn.discordapp.com/emojis/853644938867769454.gif?v=1\");\n      }\n\n      interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Fun/why.ts",
    "content": "import why from \"@majoexe/util/content/why.json\";\nimport { ApplicationCommandType, ApplicationIntegrationType, EmbedBuilder, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"why\",\n  description: \"🤔 Get a random why question\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/why\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const parsed = why[Math.floor(Math.random() * why.length)];\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🤔 Why?\")\n        .setDescription(`> **${parsed}**\\n\\n*Some questions can be outdated or not make sense!\\n Don't take them seriously!*`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setThumbnail(interaction.user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/about.ts",
    "content": "import { ActionRowBuilder, ApplicationCommandType, ButtonStyle, ButtonBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"about\",\n  description: \"🏷️ Learn more about Majo.exe\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  usage: \"/about\",\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n\n      const embed = new EmbedBuilder() // Prettier\n        .setTitle(`🤖 About ${client.user.username}`)\n        .setDescription(\n          `Majo.exe is a Discord bot made for **Memes, Image editing, Giveaways, Moderation, Anime and even more!** 🎉\n     \n     It is made by the awesome [Majo.exe Team & Contributors](https://github.com/IgorKowalczyk/majo.exe#-contributors) and is **completly open source and free**.\n     \n     **You can find the source code [on Github](https://github.com/igorkowalczyk/majo.exe).** If you want to help us with our journey and you know how to code, you can contribute to the project by forking the repository and making a pull request. **We really appreciate it!** ❤️‍🔥\n\n     ${client.config.url ? `**If you want to invite Majo.exe to your server, you can do so by clicking [here](${client.config.url})**` : \"\"}\n     `\n        )\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp();\n\n      if (client.config.url) {\n        const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents(\n            new ButtonBuilder() // prettier\n              .setLabel(\"Dashboard\")\n              .setStyle(ButtonStyle.Link)\n              .setURL(client.config.url),\n            new ButtonBuilder() // prettier\n              .setLabel(\"Invite\")\n              .setStyle(ButtonStyle.Link)\n              .setURL(`${client.config.url}/invite`)\n          );\n\n        return interaction.followUp({ embeds: [embed], components: [action] });\n      } else {\n        return interaction.followUp({ embeds: [embed] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/contact.ts",
    "content": "import { ApplicationCommandType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"contact\",\n  description: \"📝 Contact the Majo.exe team\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/contact\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.config.url) {\n        const embed = new EmbedBuilder()\n          .setTitle(\"😢 We are sorry!\")\n          .setDescription(\n            \"Apologies for the inconvenience, but our dashboard and contact page are currently experiencing technical difficulties. We kindly ask you to try again later.\"\n          )\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"📝 Contact\");\n        return interaction.followUp({ embeds: [embed] });\n      }\n\n      const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setLabel(\"Contact\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(`${client.config.url}/contact`),\n          new ButtonBuilder() // prettier\n            .setLabel(\"Commands\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(`${client.config.url}/commands`),\n          new ButtonBuilder() // prettier\n            .setLabel(\"Support\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(`${client.config.url}/support`)\n        );\n\n      const embed = new EmbedBuilder()\n        .setDescription(\n          `Click the button below or [click here](${client.config.url}/contact) to contact the Majo.exe team.\\n\\n>>> **Useful links:**\\n- [View all Majo.exe commands](${client.config.url}/commands)\\n- [Majo.exe support server](${client.config.url}/support)`\n        )\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"📝 Contact\");\n\n      return interaction.followUp({ embeds: [embed], components: [action] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/dashboard.ts",
    "content": "import { ApplicationCommandType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"dashboard\",\n  description: \"💻 Visit our dashboard\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/dashboard\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.config.url) {\n        const embed = new EmbedBuilder()\n          .setDescription(\"Our dashboard is not working at the moment, please try again later!\")\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"💻 Dashboard\");\n        return interaction.followUp({ embeds: [embed] });\n      }\n\n      const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setLabel(\"Dashboard\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(client.config.url)\n        );\n\n      const embed = new EmbedBuilder()\n        .setDescription(\n          `Click the button below or [click here](${client.config.url}) to visit our dashboard.\\n\\n>>> **Useful links:**\\n- [View all Majo.exe commands](${client.config.url}/commands)\\n- [Majo.exe support server](${client.config.url}/support)`\n        )\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"💻 Dashboard\");\n\n      return interaction.followUp({ embeds: [embed], components: [action] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/donate.ts",
    "content": "import { ApplicationCommandType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ninterface DonateLink {\n  icon: string;\n  name: string;\n  url: string;\n}\n\nexport default {\n  name: \"donate\",\n  description: \"🪙 Help us develop Majo.exe by donating\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/donate\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.config.donate.enabled || !client.config.donate.links) {\n        const embed = new EmbedBuilder()\n          .setDescription(\"Currently, we do not accept any donation methods! Try again later\")\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"🪙 Donate to Majo.exe\");\n        return interaction.followUp({ embeds: [embed] });\n      }\n\n      const embed = new EmbedBuilder()\n        .setDescription(\n          \"> **You can donate to Majo.exe by using the following methods:**\\n\" +\n            client.config.donate.links.map((link: DonateLink) => `- [${link.icon} ${link.name}](${link.url})`).join(\"\\n\")\n        )\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"🪙 Donate to Majo.exe\");\n\n      const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          client.config.donate.links.map((link: DonateLink) => {\n            return new ButtonBuilder().setLabel(link.name).setStyle(ButtonStyle.Link).setURL(link.url).setEmoji(link.icon);\n          })\n        );\n\n      return interaction.followUp({ embeds: [embed], components: [action] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/help.ts",
    "content": "import { formatDuration } from \"@majoexe/util/functions/util\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  EmbedBuilder,\n  codeBlock,\n  ActionRowBuilder,\n  ButtonBuilder,\n  ButtonStyle,\n  StringSelectMenuBuilder,\n  ComponentType,\n  ApplicationIntegrationType,\n  InteractionContextType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ninterface Category {\n  name: string;\n  emoji: string;\n}\n\nexport default {\n  name: \"help\",\n  description: \"❔ Display a list of all available commands\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/help [command]\",\n  options: [\n    {\n      name: \"query\",\n      description: \"The full name of command or category\",\n      autocomplete: true,\n      type: ApplicationCommandOptionType.String,\n      max_length: 256,\n      required: false,\n    },\n  ],\n  autocomplete: async (client, interaction) => {\n    const focusedOption = interaction.options.getFocused(true);\n    if (focusedOption.name === \"query\") {\n      const commands = focusedOption.value // prettier\n        ? Array.from(client.slashCommands.filter((cmd) => cmd.name.toLowerCase().includes(focusedOption.value.toLowerCase())).values())\n        : Array.from(client.slashCommands.values());\n\n      await interaction.respond(\n        // prettier\n        commands.slice(0, 25).map((choice) => ({\n          name: `/${choice.name} - ${choice.description}`,\n          value: choice.name,\n        }))\n      );\n    }\n  },\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n\n      const globalActionRow: ActionRowBuilder<ButtonBuilder | StringSelectMenuBuilder>[] = [];\n      const inviteLink = `https://discord.com/oauth2/authorize/?permissions=${client.config.permissions}&scope=${client.config.scopes}&client_id=${client.user.id}`;\n\n      if (client.config.url) {\n        const buttonRow = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents(\n            new ButtonBuilder() // prettier\n              .setStyle(ButtonStyle.Link)\n              .setLabel(\"Dashboard\")\n              .setURL(client.config.url),\n            new ButtonBuilder() // prettier\n              .setStyle(ButtonStyle.Link)\n              .setLabel(\"Invite\")\n              .setURL(inviteLink),\n            new ButtonBuilder() // prettier\n              .setStyle(ButtonStyle.Link)\n              .setLabel(\"All Commands\")\n              .setURL(`${client.config.url}/commands`)\n          );\n        globalActionRow.push(buttonRow);\n      }\n\n      const query = interaction.options.getString(\"query\") || \"\";\n      const isCategory = client.slashCommands.map((cmd) => cmd.category?.toLowerCase()).includes(query?.toLowerCase());\n\n      // #region Command\n      if (query && !isCategory) {\n        // If the query is a command, display the command's help menu.\n        const command = client.slashCommands.get(query.toLowerCase());\n\n        if (!command) {\n          return client.errorMessages.createSlashError(interaction, `❌ The command \\`${query}\\` does not exist. Please check your spelling and try again.`);\n        }\n\n        const embed = new EmbedBuilder()\n          .setTitle(`❔ Help for /${command.name}`)\n          .addFields([\n            {\n              name: \"Name\",\n              value: codeBlock(command.name),\n              inline: true,\n            },\n            {\n              name: \"Usage\",\n              value: codeBlock(command.usage),\n              inline: true,\n            },\n            {\n              name: \"Description\",\n              value: codeBlock(command.description),\n            },\n            {\n              name: \"Cooldown\",\n              value: codeBlock(formatDuration(command.cooldown || 0)),\n              inline: true,\n            },\n            {\n              name: \"Category\",\n              value: codeBlock(command.category || \"General\"),\n              inline: true,\n            },\n          ])\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed], components: globalActionRow });\n        // #endregion\n        // #region Category\n      } else if (query && isCategory) {\n        // If the query is a category, display all commands in that category.\n        const commands = client.slashCommands.filter((cmd) => cmd.category?.toLowerCase() === query.toLowerCase());\n        const embed = new EmbedBuilder()\n          .setTitle(`${client.config.emojis.categories.find((cat: Category) => cat.name === query.toLowerCase()).emoji} Available \\`${query}\\` commands \\`(${commands.size})\\``)\n          .setDescription(`> ${commands.map((cmd) => `\\`/${cmd.name}\\``).join(\", \")}`)\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n        return interaction.followUp({ embeds: [embed], components: globalActionRow });\n        // #endregion\n        // #region Main menu\n      } else {\n        // If there is no query, display the main help menu.\n        const categories = [...new Set(client.slashCommands.map((cmd) => cmd.category))];\n\n        const embed = new EmbedBuilder()\n          .setTitle(\"❔ Help\")\n          .setDescription(`> Use the menu, or use [\\`/help [category]\\`](${inviteLink}) to view commands based on their category!`)\n          .addFields(\n            categories\n              .map((category) => ({\n                name: `${client.config.emojis.categories.find((cat: Category) => cat.name === category?.toLowerCase()).emoji} ${category}`,\n                value: codeBlock(`/help ${category?.toLowerCase()}`),\n                inline: `/help ${category?.toLowerCase()}`.length < 15,\n              }))\n              .sort((a, b) => (a.inline === b.inline ? a.name.length - b.name.length : a.inline ? -1 : 1))\n          )\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setThumbnail(client.user.displayAvatarURL({ size: 256 }))\n          .setAuthor({\n            name: `${client.user.username} Help`,\n            iconURL: client.user.displayAvatarURL({ size: 256 }),\n          })\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        const selectRow = new ActionRowBuilder<StringSelectMenuBuilder>() // prettier\n          .addComponents(\n            new StringSelectMenuBuilder() // prettier\n              .setCustomId(\"help_select\")\n              .setPlaceholder(\"Select a category\")\n              .addOptions(\n                categories.map((category) => ({\n                  label: `${client.config.emojis.categories.find((cat: Category) => cat.name === category?.toLowerCase()).emoji} ${category}`,\n                  description: `View all ${client.slashCommands.filter((cmd) => cmd.category?.toLowerCase() === category?.toLowerCase()).size} commands`,\n                  value: category?.toLowerCase() ?? \"\",\n                }))\n              )\n          );\n        const actionRow = [selectRow, ...globalActionRow];\n\n        const response = await interaction.followUp({ embeds: [embed], components: actionRow });\n\n        const collector = response.createMessageComponentCollector({\n          componentType: ComponentType.StringSelect,\n          filter: (i) => i.user.id === interaction.user.id,\n          time: 3 * 60 * 1000, // 30 seconds\n        });\n\n        collector.on(\"collect\", async (i) => {\n          /* eslint-disable-next-line prefer-destructuring */\n          const category = i.values[0];\n          const commands = client.slashCommands.filter((cmd) => cmd.category?.toLowerCase() === (category ?? \"\").toLowerCase());\n          const embed = new EmbedBuilder()\n            .setTitle(\n              `${client.config.emojis.categories.find((cat: Category) => cat.name === (category ?? \"\").toLowerCase()).emoji} Available \\`${category ?? \"\"}\\` commands \\`(${commands.size})\\``\n            )\n            .setDescription(`> ${commands.map((cmd) => `\\`/${cmd.name}\\``).join(\", \")}`)\n            .setColor(guildSettings?.embedColor || client.config.defaultColor)\n            .setTimestamp()\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({\n                size: 256,\n              }),\n            });\n          try {\n            await i.update({ embeds: [embed], components: actionRow });\n          } catch (_err) {\n            return;\n          }\n        });\n\n        collector.on(\"end\", async () => {\n          try {\n            await interaction.editReply({ embeds: [embed], components: globalActionRow });\n          } catch (_err) {\n            return;\n          }\n        });\n\n        return;\n      }\n      // #endregion\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/invite.ts",
    "content": "import { ApplicationCommandType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"invite\",\n  description: \"🎉 Invite Majo.exe to your server!\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/invite\",\n\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n\n      const inviteLink = `https://discord.com/oauth2/authorize/?permissions=${client.config.permissions}&scope=${client.config.scopes}&client_id=${client.user.id}`;\n      const inviteLinkRoot = `https://discord.com/oauth2/authorize/?permissions=8&scope=${client.config.scopes}&client_id=${client.user.id}`;\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(`🎉 Invite ${client.user.username} to your server!`)\n        .setDescription(\n          `> **[Click this link to invite me!](${inviteLink})** **__[Recomended!]__**\\n\\n *Or [click this link to invite me as administrator](${inviteLinkRoot}) [Not recomended!]*`\n        )\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n      const row = new ActionRowBuilder<ButtonBuilder>() // Prettier\n        .addComponents(\n          new ButtonBuilder() // Prettier\n            .setURL(inviteLink)\n            .setLabel(\"Invite me!\")\n            .setStyle(ButtonStyle.Link)\n        );\n      return interaction.followUp({ embeds: [embed], components: [row] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/opensource.ts",
    "content": "import { ApplicationCommandType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, time, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport fetch from \"node-fetch\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ninterface GithubResponse {\n  sha: string;\n  html_url: string;\n  commit: {\n    committer: {\n      date: string;\n    };\n  };\n}\n\nexport default {\n  name: \"opensource\",\n  description: \"📚 Check out Majo.exe source code\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  usage: \"/opensource\",\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n\n      const request = await fetch(\"https://api.github.com/repos/igorkowalczyk/majo.exe/commits?per_page=1\");\n      if (!request.ok) return client.errorMessages.createSlashError(interaction, \"❌ No results found. Please try again later.\");\n      const response = (await request.json()) as GithubResponse[];\n      if (!response[0]) return client.errorMessages.createSlashError(interaction, \"❌ No results found. Please try again later.\");\n\n      const lastTimestamp = Math.floor(new Date(response[0].commit.committer.date).getTime() / 1000);\n\n      const embed = new EmbedBuilder() // Prettier\n        .setTitle(`🐙 ${client.user.username} Github Repository`)\n        .setDescription(\"**This project is open source: [@igorkowalczyk/majo.exe](https://github.com/igorkowalczyk/majo.exe)**\")\n        .addFields([\n          {\n            name: `📚 Latest commit ${time(lastTimestamp)} (${time(lastTimestamp, \"R\")})`,\n            value: `🖇️ SHA: [\\`${response[0].sha}\\`](${response[0].html_url})`,\n          },\n        ])\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp();\n\n      const row = new ActionRowBuilder<ButtonBuilder>()\n        .addComponents(\n          new ButtonBuilder() // Prettier\n            .setURL(\"https://github.com/igorkowalczyk/majo.exe\")\n            .setLabel(\"Source code\")\n            .setStyle(ButtonStyle.Link)\n        )\n        .addComponents(\n          new ButtonBuilder() // Prettier\n            .setURL(response[0].html_url)\n            .setLabel(\"Latest commit\")\n            .setStyle(ButtonStyle.Link)\n        );\n      return interaction.followUp({ embeds: [embed], components: [row] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/permissions.ts",
    "content": "import { ApplicationCommandType, ApplicationIntegrationType, EmbedBuilder, InteractionContextType, PermissionsBitField, codeBlock } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nfunction convertCamelCaseToWords(text: string) {\n  return text.replace(/([A-Z])/g, \" $1\").replace(/^./, (str) => {\n    return str.toUpperCase().trim();\n  });\n}\n\nexport default {\n  name: \"permissions\",\n  description: \"🎛️ Check Majo.exe's permissions in your server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  usage: \"/permissions\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!guildSettings) return client.errorMessages.createSlashError(interaction, \"❌ Guild settings not found. Please try again later.\");\n\n      const clientMember = interaction.guild.members.cache.get(client.user.id);\n      if (!clientMember) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not in the server.\");\n      const requiredPermissions = new PermissionsBitField(client.config.permissions);\n\n      const permissionsText = requiredPermissions.toArray().map((permission) => {\n        const hasPermission = clientMember.permissions.has(permission);\n        const permissionName = convertCamelCaseToWords(permission.replace(/_/g, \" \"));\n\n        return `${hasPermission ? \"✅\" : \"❌\"} ${permissionName}`;\n      });\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(`🎛️ Permissions in ${interaction.guild.name}`)\n        .setDescription(`> To work properly, ${client.user} needs **all** of the following permissions:\\n${codeBlock(permissionsText.join(\"\\n\"))}`)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/ping.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { ApplicationCommandType, EmbedBuilder, codeBlock, Status, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"ping\",\n  description: \"🏓 Check the Majo.exe ping\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  usage: \"/ping\",\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const dbTime = performance.now();\n      await prismaClient.user.findUnique({ where: { id: \"1\" } });\n      const dbTiming = performance.now() - dbTime;\n\n      const waitEmbed = new EmbedBuilder() // prettier\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setDescription(\"🏓 Pong!...\");\n      const message = await interaction.followUp({ embeds: [waitEmbed] });\n\n      const pingMessage = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"🏓 Pong!\")\n        .addFields([\n          {\n            name: \"Host Latency\",\n            value: codeBlock(\"yaml\", client.ws.ping > 0 ? `${Math.floor(client.ws.ping)}ms` : \"Calculating...\"),\n            inline: true,\n          },\n          {\n            name: \"Client Latency\",\n            value: codeBlock(\"yaml\", `${Math.floor(message.createdTimestamp - interaction.createdTimestamp)}ms`),\n            inline: true,\n          },\n          {\n            name: \"Database Latency\",\n            value: codeBlock(\"yaml\", `${Math.floor(dbTiming)}ms`),\n            inline: true,\n          },\n        ])\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (interaction.guild) {\n        const thisServerShard = client.ws.shards.get(interaction.guild.shardId);\n        if (!thisServerShard) return interaction.editReply({ embeds: [pingMessage] });\n\n        pingMessage.addFields([\n          {\n            name: \"Websocket\",\n            value: codeBlock(\"yaml\", `${Status[thisServerShard.status]}`),\n            inline: true,\n          },\n          {\n            name: \"Shard\",\n            value: codeBlock(\"yaml\", `${thisServerShard.id}/${client.ws.shards.size} (${thisServerShard.ping > 0 ? `${Math.floor(thisServerShard.ping)}ms` : \"Calculating...\"})`),\n            inline: true,\n          },\n        ]);\n      }\n\n      await interaction.editReply({ embeds: [pingMessage] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/servers.ts",
    "content": "import { formatNumber } from \"@majoexe/util/functions/util\";\nimport { ApplicationCommandType, EmbedBuilder, ButtonBuilder, ActionRowBuilder, ButtonStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"servers\",\n  description: \"🧭 Display the number of servers the Majo.exe is in\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/servers\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n\n      const allGuilds = client.guilds.cache;\n      const allChannels = client.channels.cache;\n      const allUsers = client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0);\n\n      const inviteLink = `https://discord.com/oauth2/authorize/?permissions=${client.config.permissions}&scope=${client.config.scopes}&client_id=${client.user.id}`;\n      const embed = new EmbedBuilder() // Prettier\n        .setTitle(`🧭 ${client.user.username} is in ${allGuilds.size} servers!`)\n        .setDescription(\n          `**...thats a lot of servers!** To be exact, <@${client.user.id}> is serving commands to \\`${formatNumber(allUsers) || \"0\"}\\` users in \\`${formatNumber(allChannels.size)}\\` channels across \\`${formatNumber(allGuilds.size)}\\` servers!\\n\\n**If you want to invite Majo.exe to your server, you can do so by clicking [here](${inviteLink}).**`\n        )\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setThumbnail(client.user.displayAvatarURL({ size: 256 }));\n\n      const inviteButton = new ButtonBuilder() // prettier\n        .setLabel(\"Invite\")\n        .setStyle(ButtonStyle.Link)\n        .setURL(inviteLink);\n\n      if (client.config.url) {\n        const contactButton = new ButtonBuilder() // prettier\n          .setLabel(\"Dashboard\")\n          .setStyle(ButtonStyle.Link)\n          .setURL(client.config.url);\n\n        const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents(\n            // prettier\n            inviteButton,\n            contactButton\n          );\n        return interaction.followUp({ embeds: [embed], components: [action] });\n      }\n\n      const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          // prettier\n          inviteButton\n        );\n\n      return interaction.followUp({ embeds: [embed], components: [action] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/suggestion.ts",
    "content": "import { ApplicationCommandType, ActionRowBuilder, ModalBuilder, TextInputBuilder, TextInputStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"suggestion\",\n  description: \"📝 Send a suggestion to the Majo.exe team\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 10000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  defer: false,\n  usage: \"/suggestion\",\n  run: async (client, interaction) => {\n    try {\n      const modal = new ModalBuilder() // prettier\n        .setCustomId(\"suggestion\")\n        .setTitle(\"📝 Suggestion\");\n\n      const action = new ActionRowBuilder<TextInputBuilder>() // prettier\n        .addComponents(\n          // prettier\n          new TextInputBuilder() // prettier\n            .setCustomId(\"suggestion\")\n            .setPlaceholder(\"Enter your suggestion here...\")\n            .setMinLength(5)\n            .setMaxLength(500)\n            .setRequired(true)\n            .setStyle(TextInputStyle.Paragraph)\n            .setLabel(\"Suggestion\")\n        );\n\n      modal.addComponents(action);\n      await interaction.showModal(modal);\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/General/uptime.ts",
    "content": "import { EmbedBuilder, time, ButtonBuilder, ActionRowBuilder, ApplicationCommandType, ButtonStyle, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"uptime\",\n  description: \"⌛ View Majo.exe bot uptime and past status\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/uptime\",\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ Bot is not ready yet. Please try again later.\");\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"📈 Majo.exe uptime\")\n        .setDescription(\n          `**🚀 Date launched**: ${client.readyAt ? time(client.readyAt) : \"Unknown\"}\n    **⏱️ Started:** ${client.readyAt ? time(client.readyAt, \"R\") : \"Unknown\"}\n     \n     **✨ Did you know?** From the time Majo.exe was launched it served \\`${client.commandsRan}\\` commands!\n     `\n        )\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (client.config.url) {\n        const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents(\n            new ButtonBuilder() // prettier\n              .setLabel(\"Status page\")\n              .setStyle(ButtonStyle.Link)\n              .setURL(`${client.config.url}/status`)\n          );\n        return interaction.followUp({ embeds: [embed], components: [action] });\n      } else {\n        return interaction.followUp({ embeds: [embed] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Giveaway/giveaway.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, ChannelType, PermissionFlagsBits, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport { EndGiveaway } from \"@/util/giveaway/endGiveaway\";\nimport { FindGiveaways } from \"@/util/giveaway/findGiveaways\";\nimport { PauseGiveaway } from \"@/util/giveaway/pauseGiveaway\";\nimport { RerollGiveaway } from \"@/util/giveaway/rerollGiveaway\";\nimport { ResumeGiveaway } from \"@/util/giveaway/resumeGiveaway\";\nimport { StartDropGiveaway, StartGiveaway } from \"@/util/giveaway/startGiveaway\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"giveaway\",\n  description: \"🎉 Manage giveaway's\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  defer: false,\n  usage: \"/giveaway <command>\",\n  options: [\n    {\n      name: \"start\",\n      description: \"🎉 Start giveaway\",\n      type: ApplicationCommandOptionType.Subcommand,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/giveaway start <time> <winners> <channel> <prize>\",\n      options: [\n        {\n          name: \"time\",\n          description: \"Time to end giveaway <d/h/m>\",\n          type: ApplicationCommandOptionType.String,\n          min_length: 2,\n          max_length: 15,\n          required: true,\n        },\n        {\n          name: \"winners\",\n          description: \"Winner count\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 100,\n          required: true,\n        },\n        {\n          name: \"channel\",\n          description: \"Channel on which you want to create the giveaway\",\n          type: ApplicationCommandOptionType.Channel,\n          channel_types: [ChannelType.GuildText],\n          required: true,\n        },\n        {\n          name: \"prize\",\n          description: \"Prize of the giveaway\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n          max_length: 100,\n        },\n      ],\n    },\n    {\n      name: \"drop\",\n      description: \"🎉 Create a drop giveaway\",\n      type: ApplicationCommandOptionType.Subcommand,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/drop-giveaway <winners> <channel> <prize>\",\n      options: [\n        {\n          name: \"winners\",\n          description: \"Winner count\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 100,\n          required: true,\n        },\n        {\n          name: \"channel\",\n          description: \"Channel on which you want to create the giveaway\",\n          type: ApplicationCommandOptionType.Channel,\n          channel_types: [ChannelType.GuildText],\n          required: true,\n        },\n        {\n          name: \"prize\",\n          description: \"Prize of the giveaway\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n          max_length: 100,\n        },\n      ],\n    },\n    {\n      name: \"end\",\n      description: \"🎉 End a giveaway\",\n      type: ApplicationCommandOptionType.Subcommand,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/giveaway end <giveaway id>\",\n      options: [\n        {\n          name: \"query\",\n          description: \"Giveaway ID (Message ID)\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n          max_length: 100,\n        },\n      ],\n    },\n    {\n      name: \"pause\",\n      description: \"🎉 Pause a giveaway\",\n      type: ApplicationCommandOptionType.Subcommand,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/giveaway pause <giveaway id>\",\n      options: [\n        {\n          name: \"query\",\n          description: \"Giveaway ID (Message ID)\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n          max_length: 100,\n        },\n      ],\n    },\n    {\n      name: \"resume\",\n      description: \"🎉 Resume a giveaway\",\n      type: ApplicationCommandOptionType.Subcommand,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/giveaway resume <giveaway id>\",\n      options: [\n        {\n          name: \"query\",\n          description: \"Giveaway ID (Message ID)\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n          max_length: 100,\n        },\n      ],\n    },\n    {\n      name: \"list\",\n      description: \"🎉 Get list of all giveaways\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/giveaway list\",\n      options: [\n        {\n          name: \"all\",\n          description: \"🎉 Get list of all giveaways\",\n          type: ApplicationCommandOptionType.Subcommand,\n          //usage: \"/giveaway list all\",\n        },\n        {\n          name: \"running\",\n          description: \"🎉 Get list of all running giveaways\",\n          type: ApplicationCommandOptionType.Subcommand,\n          //usage: \"/giveaway list running\",\n        },\n        {\n          name: \"ended\",\n          description: \"🎉 Get list of all ended giveaways\",\n          type: ApplicationCommandOptionType.Subcommand,\n          //usage: \"/giveaway list ended\",\n        },\n      ],\n    },\n    {\n      name: \"reroll\",\n      description: \"🎉 Reroll a giveaway\",\n      type: ApplicationCommandOptionType.Subcommand,\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n      usage: \"/giveaway reroll <giveaway id>\",\n      options: [\n        {\n          name: \"query\",\n          description: \"Giveaway ID (Message ID)\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n          max_length: 100,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const type = interaction.options.getSubcommand();\n\n      if (type === \"start\") {\n        await StartGiveaway(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n      } else if (type === \"drop\") {\n        await StartDropGiveaway(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n      } else if (type === \"end\") {\n        await EndGiveaway(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n      } else if (type === \"pause\") {\n        await PauseGiveaway(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n      } else if (type === \"resume\") {\n        await ResumeGiveaway(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n      } else if (type === \"reroll\") {\n        await RerollGiveaway(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n      } else if (type === \"all\" || type === \"running\" || type === \"ended\") {\n        await FindGiveaways(client, interaction, guildSettings?.embedColor || client.config.defaultColor, type);\n      }\n    } catch (err: unknown) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/achievement.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"achievement\",\n  description: \"🏆 Generate a achievement image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/achievement <text>\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to put in achievement\",\n      type: ApplicationCommandOptionType.String,\n      required: false,\n      max_length: 50,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\") || \"How Did We Get Here?\";\n      const background = await loadImage(\"./util/images/files/achievement.png\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      context.translate(120, 60);\n      context.font = \"24px Arial\";\n      context.fillStyle = \"#c2c2c2\";\n      context.fillText(text, 10, 22, 330);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"achievement.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🏆 Achievement\")\n        .setImage(\"attachment://achievement.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/ai.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, codeBlock, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"ai\",\n  description: \"🖼️ Generate image with AI\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 6000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/ai [text]\",\n  options: [\n    {\n      name: \"prompt\",\n      description: \"Prompt to generate image, please be descriptive and provide as much detail as possible.\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 255,\n    },\n  ],\n\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const prompt = interaction.options.getString(\"prompt\");\n      if (!prompt) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid prompt to generate image.\");\n\n      if (!process.env.AI_DOMAIN || process.env.AI_DOMAIN === \"\" || !process.env.AI_TOKEN)\n        return client.errorMessages.createSlashError(interaction, \"❌ This feature is disabled right now, please try again later!\");\n\n      const loading = new EmbedBuilder() //\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTitle(`${client.config.emojis.loading} Generating image with AI...`)\n        .setTimestamp()\n        .setDescription(\"> Please wait while I generate an image with AI based on the prompt you provided. This may take a few seconds...\")\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      await interaction.followUp({ embeds: [loading] });\n\n      const request = await fetch(`${process.env.AI_DOMAIN}v1/image?prompt=${encodeURIComponent(prompt)}&token=${process.env.AI_TOKEN}`);\n\n      if (!request) return client.errorMessages.createSlashError(interaction, \"❌ Failed to generate image, please try again.\");\n\n      if (!request.ok) {\n        try {\n          const error = await request.json();\n          return client.errorMessages.createSlashError(interaction, `❌ Failed to generate image: \\`${error.message}\\``);\n        } catch (_err) {\n          return client.errorMessages.createSlashError(interaction, \"❌ Failed to generate image, please try again.\");\n        }\n      }\n\n      const image = await request.arrayBuffer();\n\n      if (!image) return client.errorMessages.createSlashError(interaction, \"❌ Failed to generate image, please try again.\");\n\n      const attachment = new AttachmentBuilder(Buffer.from(image), {\n        name: \"generated-image.png\",\n      });\n\n      const embed = new EmbedBuilder() // prettier\n        .setTitle(\"🖼️ Generated Image\")\n        .setDescription(codeBlock(\"md\", prompt))\n        .setImage(\"attachment://generated-image.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      return await interaction.editReply({ embeds: [embed], files: [attachment] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/bangladesh.ts",
    "content": "import { shortenText } from \"@majoexe/util/functions/util\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"bangladesh\",\n  description: \"🇧🇩 I live in Bangladesh I live in Bangladesh\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/type-c [user]\",\n  options: [\n    {\n      name: \"user\",\n      description: \"User to put in Bandladesh\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n\n      if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n        return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n      }\n\n      const image = user.displayAvatarURL({\n        size: 2048,\n        extension: \"png\",\n        forceStatic: true,\n      });\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n\n      const background = await loadImage(\"./util/images/files/bangladesh.png\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n\n      const firstText = shortenText(user.globalName || user.username, 20) + \" • 1 month ago\";\n\n      context.drawImage(background, 0, 0);\n      context.save();\n      context.beginPath();\n      context.arc(39 + 66, 802 + 66, 66, 0, Math.PI * 2, true);\n      context.closePath();\n      context.clip();\n      context.drawImage(targetImage, 39, 802, 132, 132);\n      context.restore();\n      context.font = \"45px roboto-regular\";\n\n      context.fillStyle = \"#494949\";\n      context.fillText(firstText, 205, 850);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"bangladesh.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🇧🇩 Bangladesh\")\n        .setImage(\"attachment://bangladesh.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/change-my-mind.ts",
    "content": "import { getLines } from \"@majoexe/util/images\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"change-my-mind\",\n  description: \"🤔 Change my mind\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/change-my-mind [text]\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to put on the sign\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 120,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to put on the sign.\");\n\n      const background = await loadImage(\"./util/images/files/change-my-mind.png\");\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      // Inspired by https://github.com/jgoralcz/image-microservice/blob/dev/src/workers/canvas/ChangeMyMind.js\n\n      const x = text.length;\n      let fontSize = 70;\n      const maxX = 780;\n      const startX = 260;\n      const startY = 580;\n\n      context.translate(startX + 25, startY);\n\n      context.rotate((1 * Math.PI) / 180);\n\n      if (x <= 30) {\n        fontSize = 50;\n      } else if (x <= 70) {\n        fontSize = 40;\n      } else if (x <= 85) {\n        fontSize = 32;\n      } else if (x < 100) {\n        fontSize = 26;\n      } else if (x <= 120) {\n        fontSize = 21;\n      }\n\n      context.font = `${fontSize}px 'Quicksand'`;\n      context.fillStyle = \"#000000\";\n\n      const lines = getLines(context, text, maxX - startX);\n\n      for (let i = 0; i < lines.length; i++) {\n        context.fillText(lines[i] as string, 10, i * fontSize + 10);\n      }\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"change-my-mind.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🤔 Change my mind\")\n        .setImage(\"attachment://change-my-mind.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/dog-say.ts",
    "content": "import { getLines } from \"@majoexe/util/images\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"dog-say\",\n  description: \"🐶 Make a dog say something, oh...\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/dog-say [text]\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to say\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 55,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text for the dog to say.\");\n\n      const background = await loadImage(\"./util/images/files/dog.png\");\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      const fontSize = 32;\n\n      context.font = `${fontSize}px 'Arial'`;\n      context.fillStyle = \"#000000\";\n\n      context.translate(350, 50);\n      const lines = getLines(context, text, 275);\n\n      for (let i = 0; i < lines.length; i++) {\n        if (lines[i]) {\n          context.fillText(lines[i] as string, 0, i * fontSize);\n        }\n      }\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"dog-say.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🐶 Dog Say\")\n        .setImage(\"attachment://dog-say.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/fbi.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"fbi\",\n  description: \"🚨 Why FBI is here?\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/fbi [text]\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to put in the image\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 120,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to put on the image.\");\n\n      const background = await loadImage(\"./util/images/files/why-fbi-here.png\");\n      const overlay = await loadImage(\"./util/images/files/why-fbi-here-overlay.png\");\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      context.font = \"30px Arial\";\n      context.fillText(text, 40, 290);\n\n      context.drawImage(overlay, 627, 0, overlay.width, overlay.height);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"why-fbi-here.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🚨 Why is the FBI here?\")\n        .setImage(\"attachment://why-fbi-here.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/flag.ts",
    "content": "import { readFileSync } from \"fs\";\nimport { loadImage, createCanvas, ImageData } from \"@napi-rs/canvas\";\nimport decodeGif from \"decode-gif\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\n// @ts-expect-error - No type definitions\nimport GIFEncoder from \"gif-encoder-2\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"flag\",\n  description: \"🏳️ Put a country flag on image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/flag <country> [attachment/user]\",\n  options: [\n    {\n      name: \"japan\",\n      description: \"🇯🇵 Put a Japanese flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put Japanese flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put Japanese flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"usa\",\n      description: \"🇺🇸 Put a USA flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put USA flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put USA flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"russia\",\n      description: \"🇷🇺 Put a Russian flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put Russian flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put Rusian flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"germany\",\n      description: \"🇩🇪 Put a German flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put German flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put German flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"poland\",\n      description: \"🇵🇱 Put a Polish flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put Polish flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put Polish flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"uk\",\n      description: \"🇬🇧 Put a UK flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put UK flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put UK flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"ukraine\",\n      description: \"🇺🇦 Put a Ukrainian flag on image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to put Ukrainian flag\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User to put Ukrainian flag\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const countryFlags: { [key: string]: string } = {\n        japan: \"🇯🇵\",\n        usa: \"🇺🇸\",\n        russia: \"🇷🇺\",\n        germany: \"🇩🇪\",\n        ukraine: \"🇺🇦\",\n        uk: \"🇬🇧\",\n        poland: \"🇵🇱\",\n      };\n      const subcommand = interaction.options.getSubcommand();\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      let image;\n\n      if (attachment) {\n        if (attachment.contentType !== \"image/png\" && attachment.contentType !== \"image/jpg\" && attachment.contentType !== \"image/jpeg\") {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        image = attachment.proxyURL;\n      } else {\n        if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n        }\n        image = user.displayAvatarURL({\n          size: 2048,\n          extension: \"png\",\n          forceStatic: true,\n        });\n      }\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = readFileSync(`./util/images/files/${subcommand}.gif`);\n      const backgroundData = new Uint8Array(background);\n\n      if (!backgroundData || backgroundData.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The background data is undefined.\");\n      /* @ts-expect-error - Invalid types */\n      const height = backgroundData[6] + backgroundData[7] * 256;\n      /* @ts-expect-error - Invalid types */\n      const width = backgroundData[8] + backgroundData[9] * 256;\n\n      const gif = new GIFEncoder(width, height, \"neuquant\", true);\n      gif.start();\n      gif.setQuality(1);\n      gif.setDelay(40);\n      gif.setDispose(2);\n      gif.setRepeat(0);\n\n      const canvas = createCanvas(width, height);\n      const context = canvas.getContext(\"2d\");\n\n      const { frames } = decodeGif(backgroundData);\n\n      for (let i = 0; i < frames.length; i++) {\n        context.globalAlpha = 1;\n        const frame = frames[i];\n        if (frame) {\n          const imageData = new ImageData(frame.data, width, height);\n          // @ts-expect-error - Invalid types in napi-rs/canvas\n          context.putImageData(imageData, 0, 0);\n        }\n        context.globalAlpha = 0.5;\n        context.drawImage(targetImage, 0, 0, width, height);\n        gif.addFrame(context);\n      }\n\n      gif.finish();\n\n      const file = new AttachmentBuilder(gif.out.getData(), {\n        name: \"flag.gif\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(`${countryFlags[subcommand]} ${subcommand.charAt(0).toUpperCase() + subcommand.slice(1)}`)\n        .setImage(\"attachment://flag.gif\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (attachment && attachment && attachment.width && attachment.height && (attachment.width > 512 || attachment.height > 512)) {\n        embed.setDescription(\"⚠️ Your attachment was resized to 510x510px because it was too big.\");\n      }\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/galaxy-note.ts",
    "content": "import { shortenText } from \"@majoexe/util/functions/util\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"galaxy-note\",\n  description: \"📱 Say Hi to the new Galaxy Note\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/type-c [user]\",\n  options: [\n    {\n      name: \"user\",\n      description: \"User to put as user's profile picture\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n\n      if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n        return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n      }\n\n      const image = user.displayAvatarURL({\n        size: 2048,\n        extension: \"png\",\n        forceStatic: true,\n      });\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/galaxy-note.png\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n\n      const firstText = shortenText(user.globalName || user.username, 20) + \" • 24 minutes ago\";\n\n      context.drawImage(background, 0, 0);\n      context.save();\n      context.beginPath();\n      context.arc(28 + 35, 433 + 35, 35, 0, Math.PI * 2, true);\n      context.closePath();\n      context.clip();\n      context.drawImage(targetImage, 28, 433, 70, 70);\n      context.restore();\n\n      context.font = \"32px roboto-regular\";\n      context.fillStyle = \"#494949\";\n      context.fillText(firstText, 127, 462);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"galaxy-note.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"📱 Galaxy Note\")\n        .setImage(\"attachment://galaxy-note.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/image.ts",
    "content": "/* eslint-disable complexity */\nimport { createCanvas, loadImage } from \"@napi-rs/canvas\";\nimport { isColor } from \"coloras\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\n\nconst canvasSize = 510;\n\nexport default {\n  name: \"image\",\n  description: \"🖼️ Edit image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/image <command> [attachment/user]\",\n  options: [\n    {\n      name: \"invert\",\n      description: \"🖼️ Invert image colors\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to invert\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to invert\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"grayscale\",\n      description: \"🖼️ Add grayscale to image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to grayscale\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to grayscale\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"sepia\",\n      description: \"🖼️ Add sepia effect to image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to sepia\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to sepia\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"blur\",\n      description: \"🖼️ Blur the whole image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to blur\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to blur\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"radius\",\n          description: \"Blur radius\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 100,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"sharpen\",\n      description: \"🖼️ Sharpen the whole image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to sharpen\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to sharpen\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"radius\",\n          description: \"Sharpen radius\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 100,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"flip\",\n      description: \"🖼️ Flip the image (x-axis)\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to flip\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to flip\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"flop\",\n      description: \"🖼️ Flop the image (y-axis)\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to flip\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to flip\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"rotate\",\n      description: \"🖼️ Rotate the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to flip\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to flip\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"angle\",\n          description: \"Rotate angle\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 360,\n          required: false,\n        },\n        {\n          name: \"background\",\n          description: \"Background color\",\n          type: ApplicationCommandOptionType.String,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"round\",\n      description: \"🖼️ Round the image corners\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to round\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to round\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"radius\",\n          description: \"Corner radius\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 360,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"pixelate\",\n      description: \"🖼️ Pixelate the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to pixelate\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to pixelate\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"size\",\n          description: \"Pixel size\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 50,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"posterize\",\n      description: \"🖼️ Posterize the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to posterize\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to posterize\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"levels\",\n          description: \"Number of posterization levels\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 2,\n          max_value: 50,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"threshold\",\n      description: \"🖼️ Apply threshold effect to the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to threshold\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to threshold\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"level\",\n          description: \"Threshold level (0-255)\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 0,\n          max_value: 255,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"vignette\",\n      description: \"🖼️ Apply vignette effect to the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to vignette\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to vignette\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"size\",\n          description: \"Vignette size (0-100)\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 0,\n          max_value: 100,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"wavy\",\n      description: \"🖼️ Apply wavy effect to the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to wavy\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to wavy\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"amplitude\",\n          description: \"Wave amplitude\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 50,\n          required: false,\n        },\n        {\n          name: \"frequency\",\n          description: \"Wave frequency\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 50,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"zoom\",\n      description: \"🖼️ Zoom into the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to zoom\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to zoom\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n        {\n          name: \"factor\",\n          description: \"Zoom factor (1-10)\",\n          type: ApplicationCommandOptionType.Integer,\n          min_value: 1,\n          max_value: 10,\n          required: false,\n        },\n      ],\n    },\n    {\n      name: \"emboss\",\n      description: \"🖼️ Apply emboss effect to the image\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"attachment\",\n          description: \"Attachment to emboss\",\n          type: ApplicationCommandOptionType.Attachment,\n          required: false,\n        },\n        {\n          name: \"user\",\n          description: \"User avatar to emboss\",\n          type: ApplicationCommandOptionType.User,\n          required: false,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const subcommand = interaction.options.getSubcommand();\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      let imageUrl;\n\n      if (attachment) {\n        if (![\"image/png\", \"image/jpg\", \"image/jpeg\"].includes(attachment.contentType)) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        imageUrl = attachment.proxyURL;\n      } else {\n        imageUrl = user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true });\n      }\n\n      const image = await loadImage(imageUrl);\n      const canvas = createCanvas(canvasSize, canvasSize);\n      const ctx = canvas.getContext(\"2d\");\n\n      ctx.drawImage(image, 0, 0, canvasSize, canvasSize);\n\n      if (subcommand === \"invert\") {\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        for (let i = 0; i < imageData.data.length; i += 4) {\n          imageData.data[i] = 255 - imageData.data[i]; // Red\n          imageData.data[i + 1] = 255 - imageData.data[i + 1]; // Green\n          imageData.data[i + 2] = 255 - imageData.data[i + 2]; // Blue\n        }\n        ctx.putImageData(imageData, 0, 0);\n      } else if (subcommand === \"grayscale\") {\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        for (let i = 0; i < imageData.data.length; i += 4) {\n          const avg = (imageData.data[i] + imageData.data[i + 1] + imageData.data[i + 2]) / 3;\n          imageData.data[i] = avg; // Red\n          imageData.data[i + 1] = avg; // Green\n          imageData.data[i + 2] = avg; // Blue\n        }\n        ctx.putImageData(imageData, 0, 0);\n      } else if (subcommand === \"sepia\") {\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        for (let i = 0; i < imageData.data.length; i += 4) {\n          const red = imageData.data[i];\n          const green = imageData.data[i + 1];\n          const blue = imageData.data[i + 2];\n          imageData.data[i] = red * 0.393 + green * 0.769 + blue * 0.189; // Red\n          imageData.data[i + 1] = red * 0.349 + green * 0.686 + blue * 0.168; // Green\n          imageData.data[i + 2] = red * 0.272 + green * 0.534 + blue * 0.131; // Blue\n        }\n        ctx.putImageData(imageData, 0, 0);\n      } else if (subcommand === \"sharpen\") {\n        const centerWeight = interaction.options.getInteger(\"radius\") || 5;\n\n        const weights = [0, -1, 0, -1, centerWeight, -1, 0, -1, 0];\n\n        const side = Math.round(Math.sqrt(weights.length));\n        const halfSide = Math.floor(side / 2);\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        const src = imageData.data;\n        const sw = imageData.width;\n        const sh = imageData.height;\n        const w = sw;\n        const h = sh;\n        const output = ctx.createImageData(w, h);\n        const dst = output.data;\n\n        for (let y = 0; y < h; y++) {\n          for (let x = 0; x < w; x++) {\n            const sy = y;\n            const sx = x;\n            let r = 0,\n              g = 0,\n              b = 0;\n            for (let cy = 0; cy < side; cy++) {\n              for (let cx = 0; cx < side; cx++) {\n                const scy = sy + cy - halfSide;\n                const scx = sx + cx - halfSide;\n                if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n                  const srcOffset = (scy * sw + scx) * 4;\n                  const wt = weights[cy * side + cx];\n                  r += src[srcOffset] * wt;\n                  g += src[srcOffset + 1] * wt;\n                  b += src[srcOffset + 2] * wt;\n                }\n              }\n            }\n            const dstOffset = (y * w + x) * 4;\n            dst[dstOffset] = Math.min(Math.max(r, 0), 255);\n            dst[dstOffset + 1] = Math.min(Math.max(g, 0), 255);\n            dst[dstOffset + 2] = Math.min(Math.max(b, 0), 255);\n            dst[dstOffset + 3] = src[(y * sw + x) * 4 + 3];\n          }\n        }\n\n        ctx.putImageData(output, 0, 0);\n      } else if (subcommand === \"flip\") {\n        ctx.scale(-1, 1);\n        ctx.drawImage(image, -canvasSize, 0, canvasSize, canvasSize);\n      } else if (subcommand === \"flop\") {\n        ctx.scale(1, -1);\n        ctx.drawImage(image, 0, -canvasSize, canvasSize, canvasSize);\n      } else if (subcommand === \"rotate\") {\n        const angle = (interaction.options.getInteger(\"angle\") || 90) * (Math.PI / 180);\n        const background = interaction.options.getString(\"background\") || \"#000000\";\n        if (!isColor(background)) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The background color must be a valid hex color code.\");\n        }\n        ctx.fillStyle = background;\n        ctx.fillRect(0, 0, canvasSize, canvasSize);\n        ctx.translate(canvasSize / 2, canvasSize / 2);\n        ctx.rotate(angle);\n        ctx.drawImage(image, -canvasSize / 2, -canvasSize / 2, canvasSize, canvasSize);\n      } else if (subcommand === \"round\") {\n        let radius = interaction.options.getInteger(\"radius\") || 360;\n\n        radius = Math.min(radius, canvasSize / 2);\n\n        ctx.globalCompositeOperation = \"destination-in\";\n        ctx.beginPath();\n\n        if (radius === canvasSize / 2) {\n          ctx.arc(canvasSize / 2, canvasSize / 2, radius, 0, Math.PI * 2);\n        } else {\n          ctx.moveTo(radius, 0);\n          ctx.lineTo(canvasSize - radius, 0);\n          ctx.quadraticCurveTo(canvasSize, 0, canvasSize, radius);\n          ctx.lineTo(canvasSize, canvasSize - radius);\n          ctx.quadraticCurveTo(canvasSize, canvasSize, canvasSize - radius, canvasSize);\n          ctx.lineTo(radius, canvasSize);\n          ctx.quadraticCurveTo(0, canvasSize, 0, canvasSize - radius);\n          ctx.lineTo(0, radius);\n          ctx.quadraticCurveTo(0, 0, radius, 0);\n        }\n\n        ctx.closePath();\n        ctx.fill();\n        ctx.globalCompositeOperation = \"source-over\";\n      } else if (subcommand === \"pixelate\") {\n        const size = interaction.options.getInteger(\"size\") || 10;\n        for (let y = 0; y < canvasSize; y += size) {\n          for (let x = 0; x < canvasSize; x += size) {\n            const pixel = ctx.getImageData(x, y, size, size);\n            let r = 0,\n              g = 0,\n              b = 0;\n            for (let py = 0; py < pixel.height; py++) {\n              for (let px = 0; px < pixel.width; px++) {\n                const index = (py * pixel.width + px) * 4;\n                r += pixel.data[index];\n                g += pixel.data[index + 1];\n                b += pixel.data[index + 2];\n              }\n            }\n            const totalPixels = pixel.width * pixel.height;\n            r = Math.floor(r / totalPixels);\n            g = Math.floor(g / totalPixels);\n            b = Math.floor(b / totalPixels);\n            ctx.fillStyle = `rgb(${r},${g},${b})`;\n            ctx.fillRect(x, y, size, size);\n          }\n        }\n      } else if (subcommand === \"posterize\") {\n        const levels = interaction.options.getInteger(\"levels\") || 5;\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        const step = Math.floor(255 / (levels - 1));\n        for (let i = 0; i < imageData.data.length; i += 4) {\n          imageData.data[i] = Math.floor(imageData.data[i] / step) * step; // Red\n          imageData.data[i + 1] = Math.floor(imageData.data[i + 1] / step) * step; // Green\n          imageData.data[i + 2] = Math.floor(imageData.data[i + 2] / step) * step; // Blue\n        }\n        ctx.putImageData(imageData, 0, 0);\n      } else if (subcommand === \"threshold\") {\n        const level = interaction.options.getInteger(\"level\") || 128;\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        for (let i = 0; i < imageData.data.length; i += 4) {\n          const avg = (imageData.data[i] + imageData.data[i + 1] + imageData.data[i + 2]) / 3;\n          const value = avg >= level ? 255 : 0;\n          imageData.data[i] = value; // Red\n          imageData.data[i + 1] = value; // Green\n          imageData.data[i + 2] = value; // Blue\n        }\n        ctx.putImageData(imageData, 0, 0);\n      } else if (subcommand === \"vignette\") {\n        const size = interaction.options.getInteger(\"size\") || 50;\n        const gradient = ctx.createRadialGradient(canvasSize / 2, canvasSize / 2, canvasSize / 2 - (canvasSize / 2) * (size / 100), canvasSize / 2, canvasSize / 2, canvasSize / 2);\n        gradient.addColorStop(0, \"rgba(0,0,0,0)\");\n        gradient.addColorStop(1, \"rgba(0,0,0,0.5)\");\n        ctx.fillStyle = gradient;\n        ctx.fillRect(0, 0, canvasSize, canvasSize);\n      } else if (subcommand === \"wavy\") {\n        const amplitude = interaction.options.getInteger(\"amplitude\") || 10;\n        const frequency = interaction.options.getInteger(\"frequency\") || 10;\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        const tempCanvas = createCanvas(canvasSize, canvasSize);\n        const tempCtx = tempCanvas.getContext(\"2d\");\n        tempCtx.putImageData(imageData, 0, 0);\n        for (let y = 0; y < canvasSize; y++) {\n          const offset = Math.floor(amplitude * Math.sin((2 * Math.PI * frequency * y) / canvasSize));\n          ctx.drawImage(tempCanvas, 0, y, canvasSize, 1, offset, y, canvasSize, 1);\n        }\n      } else if (subcommand === \"zoom\") {\n        const factor = interaction.options.getInteger(\"factor\") || 2;\n        const zoomSize = canvasSize / factor;\n        const sx = (canvasSize - zoomSize) / 2;\n        const sy = (canvasSize - zoomSize) / 2;\n        ctx.clearRect(0, 0, canvasSize, canvasSize);\n        ctx.drawImage(image, sx, sy, zoomSize, zoomSize, 0, 0, canvasSize, canvasSize);\n      } else if (subcommand === \"emboss\") {\n        const weights = [-2, -1, 0, -1, 1, 1, 0, 1, 2];\n        const side = Math.round(Math.sqrt(weights.length));\n        const halfSide = Math.floor(side / 2);\n        const imageData = ctx.getImageData(0, 0, canvasSize, canvasSize);\n        const src = imageData.data;\n        const sw = imageData.width;\n        const sh = imageData.height;\n        const w = sw;\n        const h = sh;\n        const output = ctx.createImageData(w, h);\n        const dst = output.data;\n\n        for (let y = 0; y < h; y++) {\n          for (let x = 0; x < w; x++) {\n            const sy = y;\n            const sx = x;\n            let r = 0,\n              g = 0,\n              b = 0;\n            for (let cy = 0; cy < side; cy++) {\n              for (let cx = 0; cx < side; cx++) {\n                const scy = sy + cy - halfSide;\n                const scx = sx + cx - halfSide;\n                if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {\n                  const srcOffset = (scy * sw + scx) * 4;\n                  const wt = weights[cy * side + cx];\n                  r += src[srcOffset] * wt;\n                  g += src[srcOffset + 1] * wt;\n                  b += src[srcOffset + 2] * wt;\n                }\n              }\n            }\n            const dstOffset = (y * w + x) * 4;\n            dst[dstOffset] = Math.min(Math.max(r + 128, 0), 255);\n            dst[dstOffset + 1] = Math.min(Math.max(g + 128, 0), 255);\n            dst[dstOffset + 2] = Math.min(Math.max(b + 128, 0), 255);\n            dst[dstOffset + 3] = src[(y * sw + x) * 4 + 3];\n          }\n        }\n\n        ctx.putImageData(output, 0, 0);\n      }\n\n      const buffer = canvas.toBuffer(\"image/png\");\n      const attachmentBuilder = new AttachmentBuilder(buffer, { name: \"image.png\" });\n      const embed = new EmbedBuilder()\n        .setTitle(`🖼️ Image with ${subcommand} effect`)\n        .setImage(\"attachment://image.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [attachmentBuilder] });\n    } catch (err) {\n      console.error(err);\n      return client.errorMessages.internalError(interaction, err);\n    }\n  },\n};\n"
  },
  {
    "path": "apps/bot/commands/Image/iq-graph.ts",
    "content": "import { getLines } from \"@majoexe/util/images\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"iq-graph\",\n  description: \"🧠 Generate IQ graph\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/iq-graph <text-1> <text-2> <text-3>\",\n  options: [\n    {\n      name: \"text-1\",\n      description: \"Text to put as first person\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 100,\n    },\n    {\n      name: \"text-2\",\n      description: \"Text to put as second person\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 100,\n    },\n    {\n      name: \"text-3\",\n      description: \"Text to put as third person\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 100,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text1 = interaction.options.getString(\"text-1\") || \"You\";\n      const text2 = interaction.options.getString(\"text-2\") || \"Me\";\n      const text3 = interaction.options.getString(\"text-3\") || \"Them\";\n      const background = await loadImage(\"./util/images/files/iq-graph.jpg\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      const calculateFontSize = (text: string) => {\n        const { length } = text;\n        if (length <= 10) return 32;\n        if (length <= 20) return 26;\n        if (length <= 30) return 20;\n        return 16;\n      };\n\n      const fontSize1 = calculateFontSize(text1);\n      const fontSize2 = calculateFontSize(text2);\n      const fontSize3 = calculateFontSize(text3);\n\n      context.font = `${fontSize1}px Arial`;\n      context.fillStyle = \"#000\";\n      const lines1 = getLines(context, text1, 220);\n      lines1.forEach((line, i) => {\n        const textWidth = context.measureText(line).width;\n        const x = (220 - textWidth) / 2 + 17;\n        const y = 238 + (50 - fontSize1 * lines1.length) / 2 + i * fontSize1;\n        context.fillText(line, x, y);\n      });\n\n      context.font = `${fontSize2}px Arial`;\n      const lines2 = getLines(context, text2, 250);\n      lines2.forEach((line, i) => {\n        const textWidth = context.measureText(line).width;\n        const x = (250 - textWidth) / 2 + 223;\n        const y = 15 + (50 - fontSize2 * lines2.length) / 2 + i * fontSize2;\n        context.fillText(line, x, y);\n      });\n\n      context.font = `${fontSize3}px Arial`;\n      const lines3 = getLines(context, text3, 200);\n      lines3.forEach((line, i) => {\n        const textWidth = context.measureText(line).width;\n        const x = (200 - textWidth) / 2 + 457;\n        const y = 189 + (50 - fontSize3 * lines3.length) / 2 + i * fontSize3;\n        context.fillText(line, x, y);\n      });\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"iq-graph.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🧠 IQ Graph\")\n        .setImage(\"attachment://iq-graph.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/jail.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"jail\",\n  description: \"🔐 Put someone in jail\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/jail [user/attachment]\",\n  options: [\n    {\n      name: \"attachment\",\n      description: \"Attachment to jail\",\n      type: ApplicationCommandOptionType.Attachment,\n      required: false,\n    },\n    {\n      name: \"user\",\n      description: \"User to put in jail\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      let image;\n\n      if (attachment) {\n        if (attachment.contentType !== \"image/png\" && attachment.contentType !== \"image/jpg\" && attachment.contentType !== \"image/jpeg\") {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        image = attachment.proxyURL;\n      } else {\n        if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n        }\n        image = user.displayAvatarURL({\n          size: 2048,\n          extension: \"png\",\n          forceStatic: true,\n        });\n      }\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/jail.png\");\n\n      const canvas = createCanvas(350, 350);\n      const context = canvas.getContext(\"2d\");\n\n      context.drawImage(targetImage, 0, 0, canvas.width, canvas.height);\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"jail.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🔐 Jail\")\n        .setImage(\"attachment://jail.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (attachment && attachment.width && attachment.height && (attachment.width > 350 || attachment.height > 350)) {\n        embed.setDescription(\"> ⚠️ Your attachment was resized to 350x350px because it was too big!\");\n      }\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/note.ts",
    "content": "import { getLines } from \"@majoexe/util/images\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"note\",\n  description: \"📝 Create a note\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/note <text>\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to put in the note\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 256,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text for the note.\");\n      if (text.length > 256) return client.errorMessages.createSlashError(interaction, \"❌ The text must be less than 256 characters.\");\n\n      const background = await loadImage(\"./util/images/files/note.png\");\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      const x = text.length;\n      const fontSize = Math.floor(0.0003 * (x * x) - 0.19 * x + 35.37) || 35;\n      context.font = `${fontSize}px Arial`;\n      context.fillStyle = \"#000000\";\n      context.translate(425, 445);\n      context.rotate(0.53);\n      const lines = getLines(context, text, 160);\n\n      lines.forEach((line, i) => {\n        context.fillText(line, 0, i * fontSize);\n      });\n\n      const attachment = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"note.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"📝 Note\")\n        .setImage(\"attachment://note.png\")\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [attachment] });\n    } catch (err) {\n      console.log(err);\n      return client.errorMessages.createSlashError(interaction, \"❌ An error occurred while executing this command.\");\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/ph-comment.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"ph-comment\",\n  description: \"🔞 Generate a PH comment image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/ph-comment <comment> [attachment/user] [username] \",\n  options: [\n    {\n      name: \"comment\",\n      description: \"Comment of the user\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 256,\n    },\n    {\n      name: \"attachment\",\n      description: \"Attachment to put as user's profile picture\",\n      type: ApplicationCommandOptionType.Attachment,\n      required: false,\n    },\n    {\n      name: \"user\",\n      description: \"User to put as user's profile picture\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n    {\n      name: \"username\",\n      description: \"Username of the user\",\n      type: ApplicationCommandOptionType.String,\n      required: false,\n      max_length: 32,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      const username = interaction.options.getString(\"username\") || user.username;\n      const comment = interaction.options.getString(\"comment\");\n      if (!comment) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid comment for the user.\");\n\n      let image;\n\n      if (attachment) {\n        if (attachment.contentType !== \"image/png\" && attachment.contentType !== \"image/jpg\" && attachment.contentType !== \"image/jpeg\") {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        image = attachment.proxyURL;\n      } else {\n        if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n        }\n        image = user.displayAvatarURL({\n          size: 128,\n          extension: \"png\",\n          forceStatic: true,\n        });\n      }\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/ph-comment.png\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      context.save();\n      context.beginPath();\n      context.arc(25 + 25, 130 + 25, 25, 0, Math.PI * 2, true);\n      context.closePath();\n      context.clip();\n      context.drawImage(targetImage, 25, 130, 50, 50);\n      context.restore();\n\n      context.font = \"bold 16px Arial\";\n      context.fillStyle = \"#F28705\";\n\n      const usernameWidth = context.measureText(username).width;\n\n      context.fillText(username, 85, 160);\n\n      context.font = \"16px Arial\";\n      context.fillStyle = \"#969696\";\n      context.fillText(\"26 minutes ago\", 85 + usernameWidth + 10, 160);\n\n      context.font = \"20px Arial\";\n      context.fillStyle = \"#c6c6c6\";\n      context.fillText(comment, 25, 215);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"ph-comment.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🔞 PH Comment\")\n        .setImage(\"attachment://ph-comment.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/sonic-says.ts",
    "content": "import { getLines } from \"@majoexe/util/images\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"sonic-says\",\n  description: \"🦔 Sonic says\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/sonic-says <text>\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to put on the sign\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 120,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to put on the sign.\");\n\n      const background = await loadImage(\"./util/images/files/sonic-says.png\");\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      const fontSize = 42;\n\n      context.font = `bold ${fontSize}px 'Quicksand'`;\n      context.fillStyle = \"#ffffff\";\n\n      const lines = getLines(context, text, 500);\n      lines.forEach((line, i) => {\n        context.fillText(line, 260, 200 + i * fontSize);\n      });\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"sonic-says.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"🦔 Sonic Says\")\n        .setImage(\"attachment://sonic-says.png\")\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      return client.errorMessages.createSlashError(interaction, \"❌ An error occurred while executing this command.\");\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/trash.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"trash\",\n  description: \"🗑️ Put someone or something in the trash\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/trash [user/attachment]\",\n  options: [\n    {\n      name: \"attachment\",\n      description: \"Attachment to trash\",\n      type: ApplicationCommandOptionType.Attachment,\n      required: false,\n    },\n    {\n      name: \"user\",\n      description: \"User to put in trash\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      let image;\n\n      if (attachment) {\n        if (attachment.contentType !== \"image/png\" && attachment.contentType !== \"image/jpg\" && attachment.contentType !== \"image/jpeg\") {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        image = attachment.proxyURL;\n      } else {\n        if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n        }\n        image = user.displayAvatarURL({\n          size: 2048,\n          extension: \"png\",\n          forceStatic: true,\n        });\n      }\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/trash.png\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n\n      context.drawImage(background, 0, 0);\n      context.drawImage(targetImage, 309, 0, 309, 309);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"trash.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🗑️ Trash\")\n        .setImage(\"attachment://trash.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (attachment && attachment.width && attachment.height && (attachment.width > 309 || attachment.height > 309)) {\n        embed.setDescription(\"> ⚠️ Your attachment was resized to 309x309 pixels because it was too big!\");\n      }\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/trigger.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\n// @ts-expect-error - No type definitions\nimport GIFEncoder from \"gif-encoder-2\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"trigger\",\n  description: \"😠 Generate a triggered gif from an image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/trigger [user/attachment]\",\n  options: [\n    {\n      name: \"attachment\",\n      description: \"Attachment to trigger\",\n      type: ApplicationCommandOptionType.Attachment,\n      required: false,\n    },\n    {\n      name: \"user\",\n      description: \"User to trigger\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      let image;\n\n      if (attachment) {\n        if (attachment.contentType !== \"image/png\" && attachment.contentType !== \"image/jpg\" && attachment.contentType !== \"image/jpeg\") {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        image = attachment.proxyURL;\n      } else {\n        if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n        }\n        image = user.displayAvatarURL({\n          size: 2048,\n          extension: \"png\",\n          forceStatic: true,\n        });\n      }\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/triggered.png\");\n\n      const gif = new GIFEncoder(256, 310, \"neuquant\", true);\n\n      gif.start();\n      gif.setRepeat(0);\n      gif.setDelay(15);\n\n      const canvas = createCanvas(256, 310);\n      const context = canvas.getContext(\"2d\");\n\n      const BR = 30;\n      const LR = 20;\n\n      for (let index = 0; index < 9; index++) {\n        context.clearRect(0, 0, 256, 310);\n\n        const targetImageOffsetX = Math.floor(Math.random() * BR) - BR;\n        const targetImageOffsetY = Math.floor(Math.random() * BR) - BR;\n        context.drawImage(targetImage, targetImageOffsetX, targetImageOffsetY, 256 + BR, 310 - 54 + BR);\n\n        context.fillStyle = \"#FF000033\";\n        context.fillRect(0, 0, 256, 310);\n\n        const backgroundOffsetX = Math.floor(Math.random() * LR) - LR;\n        const backgroundOffsetY = 310 - 54 + Math.floor(Math.random() * LR) - LR;\n        context.drawImage(background, backgroundOffsetX, backgroundOffsetY, 256 + LR, 54 + LR);\n\n        gif.addFrame(context);\n      }\n\n      gif.finish();\n\n      const file = new AttachmentBuilder(gif.out.getData(), {\n        name: \"triggered.gif\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"😠 Triggered\")\n        .setImage(\"attachment://triggered.gif\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      if (attachment && attachment.width && attachment.height && (attachment.width > 256 || attachment.height > 310)) {\n        embed.setDescription(\"> ⚠️ Your attachment was resized to 256x310 pixels because it was too big!\");\n      }\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/type-c.ts",
    "content": "import { shortenText } from \"@majoexe/util/functions/util\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"type-c\",\n  description: \"⚡ Type C for fast charging\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/type-c [user]\",\n  options: [\n    {\n      name: \"user\",\n      description: \"User to put in the image\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n\n      if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n        return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n      }\n\n      const image = user.displayAvatarURL({\n        size: 2048,\n        extension: \"png\",\n        forceStatic: true,\n      });\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/type-c.jpg\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n\n      const firstText = shortenText(user.globalName || user.username, 20);\n\n      context.drawImage(background, 0, 0);\n      context.save();\n      context.beginPath();\n      context.arc(27 + 72, 1113 + 72, 72, 0, Math.PI * 2, true);\n      context.closePath();\n      context.clip();\n      context.drawImage(targetImage, 28, 1114, 145, 145);\n      context.restore();\n      context.font = \"42px helvetica-neue-regular\";\n      const firstTextWidth = context.measureText(firstText).width;\n\n      context.font = \"36px helvetica-neue-regular\";\n      const secondText = `@${user.username} ∙ 5m ago`;\n      const secondTextWidth = context.measureText(secondText).width;\n\n      const totalWidth = firstTextWidth + secondTextWidth + 20;\n\n      const maxWidth = 700;\n      if (totalWidth > maxWidth) {\n        const scale = maxWidth / totalWidth;\n\n        context.font = `${Math.floor(42 * scale)}px helvetica-neue-regular`;\n        context.fillStyle = \"#fcffff\";\n        context.fillText(firstText, 195, 1150);\n\n        context.font = `${Math.floor(36 * scale)}px helvetica-neue-regular`;\n        context.fillStyle = \"#63717e\";\n        context.fillText(secondText, 195 + firstTextWidth * scale + 20, 1150);\n      } else {\n        context.font = \"42px helvetica-neue-regular\";\n        context.fillStyle = \"#fcffff\";\n        context.fillText(firstText, 195, 1150);\n\n        context.font = \"36px helvetica-neue-regular\";\n        context.fillStyle = \"#63717e\";\n        context.fillText(secondText, 195 + firstTextWidth + 20, 1150);\n      }\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"type-c.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"⚡ Enabled Fast Charging!\")\n        .setImage(\"attachment://type-c.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Image/yt-comment.ts",
    "content": "import { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, AttachmentBuilder, EmbedBuilder, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"yt-comment\",\n  description: \"🎥 Generate a Youtube comment image\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/yt-comment <comment> [attachment/user] [username] \",\n  options: [\n    {\n      name: \"comment\",\n      description: \"Comment of the user\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      max_length: 256,\n    },\n    {\n      name: \"attachment\",\n      description: \"Attachment to put as user's profile picture\",\n      type: ApplicationCommandOptionType.Attachment,\n      required: false,\n    },\n    {\n      name: \"user\",\n      description: \"User to put as user's profile picture\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n    {\n      name: \"username\",\n      description: \"Username of the user\",\n      type: ApplicationCommandOptionType.String,\n      required: false,\n      max_length: 32,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const attachment = interaction.options.getAttachment(\"attachment\");\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n      const username = interaction.options.getString(\"username\") || user.username;\n      const comment = interaction.options.getString(\"comment\");\n      if (!comment) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid comment for the user.\");\n\n      let image;\n\n      if (attachment) {\n        if (attachment.contentType !== \"image/png\" && attachment.contentType !== \"image/jpg\" && attachment.contentType !== \"image/jpeg\") {\n          return client.errorMessages.createSlashError(interaction, \"❌ The attachment must be a png, jpg, or jpeg file.\");\n        }\n        image = attachment.proxyURL;\n      } else {\n        if (!user.displayAvatarURL({ size: 2048, extension: \"png\", forceStatic: true })) {\n          return client.errorMessages.createSlashError(interaction, \"❌ The user must have an avatar.\");\n        }\n        image = user.displayAvatarURL({\n          size: 128,\n          extension: \"png\",\n          forceStatic: true,\n        });\n      }\n\n      const [toFetch] = image.split(\"?\");\n      if (!toFetch || toFetch.length < 1) return client.errorMessages.createSlashError(interaction, \"❌ The image URL is invalid.\");\n      const targetImage = await loadImage(toFetch);\n      const background = await loadImage(\"./util/images/files/yt-comment.png\");\n\n      const canvas = createCanvas(background.width, background.height);\n      const context = canvas.getContext(\"2d\");\n\n      context.drawImage(background, 0, 0, canvas.width, canvas.height);\n\n      context.imageSmoothingEnabled = true;\n\n      context.translate(0, 10);\n      context.save();\n      context.beginPath();\n      context.arc(61, 35, 25, 0, Math.PI * 2, true);\n      context.closePath();\n      context.clip();\n\n      context.drawImage(targetImage, 36, 35 - 25, 50, 50);\n\n      context.restore();\n\n      context.translate(105, 10);\n\n      context.font = \"semibold 19px roboto-regular\";\n      context.fillStyle = \"#f1f1f1\";\n\n      const usernameWidth = context.measureText(`@${username}`).width;\n\n      context.fillText(`@${username}`, 0, 15);\n\n      context.font = \"18px roboto-regular\";\n      context.fillStyle = \"#aaaaaa\";\n      context.fillText(\"26 minutes ago\", usernameWidth + 10, 15);\n\n      context.font = \"20px roboto-regular\";\n      context.fillStyle = \"#f1f1f1\";\n      context.fillText(comment, 0, 50);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"yt-comment.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🎥 Youtube Comment\")\n        .setImage(\"attachment://yt-comment.png\")\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Levels/leaderboard.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { fetchXPSettings } from \"@majoexe/util/database\";\nimport {\n  ApplicationCommandType,\n  EmbedBuilder,\n  ButtonBuilder,\n  ActionRowBuilder,\n  ButtonStyle,\n  PermissionsBitField,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"leaderboard\",\n  description: \"📈 Check 10 top users with most XP points\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  usage: \"/leaderboard\",\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!guildSettings) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server settings. Please try again.\");\n\n      const xpSettings = await fetchXPSettings(interaction.guild.id);\n      if (!xpSettings || !xpSettings.enableXP) {\n        return client.errorMessages.createSlashError(interaction, \"❌ XP is disabled in this server.\");\n      }\n\n      const xp = await prismaClient.guildXp.findMany({\n        where: {\n          guildId: interaction.guild.id,\n        },\n        orderBy: {\n          xp: \"desc\",\n        },\n        take: 10,\n        include: {\n          user: {\n            select: {\n              discordId: true,\n            },\n          },\n        },\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(`📈 XP Leaderboard (${xp.length} users)`)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setDescription(\n          `${\n            xp.length === 0 || !xp\n              ? \"❌ 0 users found\"\n              : xp\n                  .map((user, index) => {\n                    const place = index + 1;\n                    const emoji = place === 1 ? \"🥇\" : place === 2 ? \"🥈\" : place === 3 ? \"🥉\" : ` ${place} `;\n                    return `**[${emoji}]** <@${user.userId}> - \\`${user.xp}xp\\``;\n                  })\n                  .join(\"\\n\")\n          }`\n        );\n\n      const components: ButtonBuilder[] = [];\n\n      if (client.config.url) {\n        const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n        if (userPermissions.has(PermissionsBitField.Flags.Administrator) || userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n          components.push(\n            new ButtonBuilder() // Prettier\n              .setLabel(\"View Leaderboard\")\n              .setStyle(ButtonStyle.Link)\n              .setURL(`${client.config.url}/dashboard/${interaction.guild.id}/leaderboard`)\n          );\n        } else if (guildSettings.publicPage) {\n          components.push(\n            new ButtonBuilder() // Prettier\n              .setLabel(\"View Leaderboard\")\n              .setStyle(ButtonStyle.Link)\n              .setURL(`${client.config.url}/server/${guildSettings.vanity || interaction.guild.id}/`)\n          );\n        }\n      }\n\n      const row = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(components);\n\n      return interaction.followUp({ embeds: [embed], components: [row || null] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Levels/rank.ts",
    "content": "import { checkXP, fetchXPSettings } from \"@majoexe/util/database\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  AttachmentBuilder,\n  EmbedBuilder,\n  ButtonBuilder,\n  ActionRowBuilder,\n  ButtonStyle,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport { createXPCard } from \"@/util/images/createXPCard\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"rank\",\n  description: \"📈 Check your current level and XP\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  usage: \"/rank [user]\",\n  options: [\n    {\n      name: \"user\",\n      description: \"The user you want to check the level and XP of\",\n      type: ApplicationCommandOptionType.User,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n      const xpSettings = await fetchXPSettings(interaction.guild.id);\n      if (!xpSettings || !xpSettings.enableXP) {\n        return client.errorMessages.createSlashError(interaction, \"❌ Leveling is disabled in this server.\");\n      }\n      const user = interaction.options.getUser(\"user\") || interaction.user;\n\n      if (user.bot) return client.errorMessages.createSlashError(interaction, \"❌ You can't check the level and XP of a bot. Note: Bots don't gain XP.\");\n\n      const xp = await checkXP(user.id, interaction.guild.id);\n      const level = Math.floor(0.1 * Math.sqrt(xp || 0));\n      const xpNeeded = Math.ceil(Math.pow((level + 1) / 0.1, 2));\n\n      const [avatarURL] = user\n        .displayAvatarURL({\n          size: 128,\n          forceStatic: true,\n          extension: \"png\",\n        })\n        .split(\"?\");\n\n      user.avatar = avatarURL || null;\n\n      const rank = await createXPCard(user, { xp, level, xpNeeded }, guildSettings?.embedColor || client.config.defaultColor);\n\n      const attachment = new AttachmentBuilder(rank, {\n        name: \"rank.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(`📈 ${user.globalName || user.username} level`)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        })\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setImage(\"attachment://rank.png\")\n        .setTimestamp();\n\n      if (client.config.url) {\n        const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n          .addComponents(\n            new ButtonBuilder() // Prettier\n              .setLabel(\"View Leaderboard\")\n              .setStyle(ButtonStyle.Link)\n              .setURL(`${client.config.url}/dashboard/${interaction.guild.id}/leaderboard`)\n          );\n\n        return interaction.followUp({ embeds: [embed], components: [action], files: [attachment] });\n      } else {\n        return interaction.followUp({ embeds: [embed], files: [attachment] });\n      }\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Levels/reset-xp.ts",
    "content": "import { resetXP, fetchXPSettings } from \"@majoexe/util/database\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionFlagsBits,\n  EmbedBuilder,\n  InteractionContextType,\n  ApplicationIntegrationType,\n  MessageFlags,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"reset-xp\",\n  description: \"📈 Reset a user's XP\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  usage: \"/reset <user>\",\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.Administrator],\n  options: [\n    {\n      name: \"user\",\n      description: \"The user you want to reset the XP of\",\n      type: ApplicationCommandOptionType.User,\n      required: true,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!guildSettings) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server settings. Please try again.\");\n\n      const xpSettings = await fetchXPSettings(interaction.guild.id);\n      if (!xpSettings || !xpSettings.enableXP) {\n        return client.errorMessages.createSlashError(interaction, \"❌ XP is disabled in this server.\");\n      }\n\n      const user = interaction.options.getUser(\"user\");\n\n      if (!user) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid user.\");\n      if (user.bot) return client.errorMessages.createSlashError(interaction, \"❌ You can't reset the XP of a bot.\\nNote: Bots don't gain XP.\");\n\n      await resetXP(user.id, interaction.guild.id);\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"✅ Success\")\n        .setDescription(`> Successfully reset the XP of ${user}`)\n        .setThumbnail(user.displayAvatarURL({ size: 256 }))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n      return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Levels/xp-settings.ts",
    "content": "import { setXPLevelUpMessageSettings, setXPSettings, fetchXPSettings } from \"@majoexe/util/database\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionsBitField,\n  PermissionFlagsBits,\n  EmbedBuilder,\n  time,\n  InteractionContextType,\n  ApplicationIntegrationType,\n  MessageFlags,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"xp-settings\",\n  description: \"📈 Change the XP settings of current server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 3000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.Administrator],\n  usage: \"/xp-settings <subcommand>\",\n  options: [\n    {\n      name: \"change\",\n      description: \"📈 Change the XP settings of current server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/xp-settings change <action> <type>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.Administrator],\n      options: [\n        {\n          name: \"type\",\n          description: \"The type of XP settings you want to enable\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n          choices: [\n            {\n              name: \"Leveling messages\",\n              value: \"leveling\",\n            },\n            {\n              name: \"Gaining XP\",\n              value: \"gaining\",\n            },\n          ],\n        },\n        {\n          name: \"action\",\n          description: \"The action you want to perform\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n          choices: [\n            {\n              name: \"Enable\",\n              value: \"enable\",\n            },\n            {\n              name: \"Disable\",\n              value: \"disable\",\n            },\n          ],\n        },\n      ],\n    },\n    {\n      name: \"view\",\n      description: \"📈 View the XP settings of current server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/xp-settings view\",\n      //defaultMemberPermissions: [PermissionFlagsBits.Administrator],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!guildSettings) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server settings. Please try again.\");\n\n      const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n      if (!userPermissions.has(PermissionsBitField.Flags.Administrator)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to enable leveling messages, you need `Administrator` permission\");\n      }\n\n      const subcommand = interaction.options.getSubcommand();\n\n      if (subcommand === \"change\") {\n        const action = interaction.options.getString(\"action\");\n        const type = interaction.options.getString(\"type\");\n\n        if (type === \"leveling\") {\n          if (action === \"enable\") {\n            const settings = await fetchXPSettings(interaction.guild.id);\n\n            if (!settings || !settings.enableXP) {\n              return client.errorMessages.createSlashError(interaction, \"❌ XP is disabled in this server, you can't enable leveling messages if XP is disabled\");\n            }\n\n            await setXPLevelUpMessageSettings(interaction.guild.id, true);\n\n            const embed = new EmbedBuilder()\n              .setColor(guildSettings.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setTitle(\"✅ Success\")\n              .setDescription(\"> Successfully **`enabled`** leveling messages, now bot **will send** a message when a user levels up\")\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n            return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n          } else if (action === \"disable\") {\n            const settings = await fetchXPSettings(interaction.guild.id);\n\n            if (!settings || !settings.enableXP) {\n              return client.errorMessages.createSlashError(interaction, \"❌ XP is disabled in this server, you can't disable leveling messages if XP is disabled\");\n            }\n            await setXPLevelUpMessageSettings(interaction.guild.id, false);\n\n            const embed = new EmbedBuilder()\n              .setColor(guildSettings.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setTitle(\"✅ Success\")\n              .setDescription(\"> Successfully **`disabled`** leveling messages, now bot **will not send** a message when a user levels up\")\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n            return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n          }\n        } else if (type === \"gaining\") {\n          if (action === \"enable\") {\n            await setXPSettings(interaction.guild.id, true);\n\n            const embed = new EmbedBuilder()\n              .setColor(guildSettings.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setTitle(\"✅ Success\")\n              .setDescription(\"> Successfully **`enabled`** gaining XP, now users **will gain XP** when they send a message\")\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n            return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n          } else if (action === \"disable\") {\n            await setXPSettings(interaction.guild.id, false);\n\n            const embed = new EmbedBuilder()\n              .setColor(guildSettings.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setTitle(\"✅ Success\")\n              .setDescription(\"> Successfully **`disabled`** gaining XP, now users **will not gain XP** when they send a message\")\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n            return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n          }\n        }\n      } else if (subcommand === \"view\") {\n        const settings = await fetchXPSettings(interaction.guild.id);\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"📈 XP Settings\")\n          .setDescription(\n            `> ${settings.enableXPLevelUpMessage ? client.config.emojis.success : client.config.emojis.error} **Leveling messages:** \\`${settings.enableXPLevelUpMessage ? \"Enabled\" : \"Disabled\"}\\` (Last updated: ${settings.enableXPLevelUpMessageLastChanged ? time(settings.enableXPLevelUpMessageLastChanged, \"R\") : \"Never\"})\\n> ${settings.enableXP ? client.config.emojis.success : client.config.emojis.error} **Gaining XP:** \\`${settings.enableXP ? \"Enabled\" : \"Disabled\"}\\` (Last updated: ${settings.enableXPLastChanged ? time(settings.enableXPLastChanged, \"R\") : \"Never\"})`\n          )\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n        return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n      } else {\n        return client.errorMessages.createSlashError(interaction, \"❌ Invalid subcommand, please use `/xp-settings <subcommand>`\");\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/automod.ts",
    "content": "import {\n  ApplicationCommandType,\n  ChannelType,\n  ApplicationCommandOptionType,\n  PermissionsBitField,\n  PermissionFlagsBits,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport {\n  autoModSettings,\n  disableAntiBadWords,\n  enableAntiBadWords,\n  disableAntiInvite,\n  enableAntiInvite,\n  disableAntiLink,\n  enableAntiLink,\n  disableAntiMention,\n  enableAntiMention,\n  disableAntiSpam,\n  enableAntiSpam,\n} from \"@/util/moderation/automod/index\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"automod\",\n  description: \"🤖 Configure Automoderation for your server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 4000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  usage: \"/automod <subcommand>\",\n  options: [\n    {\n      name: \"settings\",\n      description: \"🤖 Show the current automod settings\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n    {\n      name: \"anti-invite\",\n      description: \"🔗 Enable/Disable the anti-invite system\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      options: [\n        {\n          name: \"enable\",\n          description: \"🔗 Enable the anti-invite system\",\n          type: ApplicationCommandOptionType.Subcommand,\n          options: [\n            {\n              name: \"exempt-roles\",\n              description: \"Exempt roles from the anti-invite system\",\n              type: ApplicationCommandOptionType.Role,\n              required: false,\n            },\n            {\n              name: \"exempt-channels\",\n              description: \"Exempt channels from the anti-invite system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText, ChannelType.GuildCategory],\n              required: false,\n            },\n            {\n              name: \"timeout\",\n              description: \"The timeout for the anti-invite system\",\n              type: ApplicationCommandOptionType.Integer,\n              required: false,\n              maxValue: 120,\n              minValue: 5,\n            },\n            {\n              name: \"log-channel\",\n              description: \"The log channel for the anti-invite system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText],\n              required: false,\n            },\n          ],\n        },\n        {\n          name: \"disable\",\n          description: \"🔗 Disable the anti-invite system\",\n          type: ApplicationCommandOptionType.Subcommand,\n        },\n      ],\n    },\n    {\n      name: \"anti-link\",\n      description: \"🔗 Enable/Disable the anti-link system\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      options: [\n        {\n          name: \"enable\",\n          description: \"🔗 Enable the anti-link system\",\n          type: ApplicationCommandOptionType.Subcommand,\n          options: [\n            {\n              name: \"exempt-roles\",\n              description: \"Exempt roles from the anti-link system\",\n              type: ApplicationCommandOptionType.Role,\n              required: false,\n            },\n            {\n              name: \"exempt-channels\",\n              description: \"Exempt channels from the anti-link system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText, ChannelType.GuildCategory],\n              required: false,\n            },\n            {\n              name: \"timeout\",\n              description: \"The timeout for the anti-link system\",\n              type: ApplicationCommandOptionType.Integer,\n              required: false,\n              maxValue: 120,\n              minValue: 5,\n            },\n            {\n              name: \"log-channel\",\n              description: \"The log channel for the anti-link system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText],\n              required: false,\n            },\n          ],\n        },\n        {\n          name: \"disable\",\n          description: \"🔗 Disable the anti-link system\",\n          type: ApplicationCommandOptionType.Subcommand,\n        },\n      ],\n    },\n    {\n      name: \"anti-mention\",\n      description: \"💭 Enable/Disable the anti-mention system\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      options: [\n        {\n          name: \"enable\",\n          description: \"💭 Enable the anti-mention system\",\n          type: ApplicationCommandOptionType.Subcommand,\n          options: [\n            {\n              name: \"limit\",\n              description: \"The limit for the anti-mention system\",\n              type: ApplicationCommandOptionType.Integer,\n              required: false,\n              minValue: 1,\n              maxValue: 50,\n            },\n            {\n              name: \"exempt-roles\",\n              description: \"Exempt roles from the anti-mention system\",\n              type: ApplicationCommandOptionType.Role,\n              required: false,\n            },\n            {\n              name: \"exempt-channels\",\n              description: \"Exempt channels from the anti-mention system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText, ChannelType.GuildCategory],\n              required: false,\n            },\n            {\n              name: \"timeout\",\n              description: \"The timeout for the anti-mention system\",\n              type: ApplicationCommandOptionType.Integer,\n              required: false,\n              maxValue: 120,\n              minValue: 5,\n            },\n            {\n              name: \"log-channel\",\n              description: \"The log channel for the anti-mention system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText],\n              required: false,\n            },\n          ],\n        },\n        {\n          name: \"disable\",\n          description: \"💭 Disable the anti-mention system\",\n          type: ApplicationCommandOptionType.Subcommand,\n        },\n      ],\n    },\n    {\n      name: \"anti-spam\",\n      description: \"📨 Enable/Disable the anti-spam system\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      options: [\n        {\n          name: \"enable\",\n          description: \"📨 Enable the anti-spam system\",\n          type: ApplicationCommandOptionType.Subcommand,\n          options: [\n            {\n              name: \"exempt-roles\",\n              description: \"Exempt roles from the anti-spam system\",\n              type: ApplicationCommandOptionType.Role,\n              required: false,\n            },\n            {\n              name: \"exempt-channels\",\n              description: \"Exempt channels from the anti-spam system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText, ChannelType.GuildCategory],\n              required: false,\n            },\n            {\n              name: \"log-channel\",\n              description: \"The log channel for the anti-spam system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText],\n              required: false,\n            },\n          ],\n        },\n        {\n          name: \"disable\",\n          description: \"📨 Disable the anti-spam system\",\n          type: ApplicationCommandOptionType.Subcommand,\n        },\n      ],\n    },\n    {\n      name: \"anti-bad-words\",\n      description: \"🤬 Enable/Disable the anti-bad-words system\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      options: [\n        {\n          name: \"enable\",\n          description: \"🤬 Enable the anti-bad-words system\",\n          type: ApplicationCommandOptionType.Subcommand,\n          options: [\n            {\n              name: \"exempt-roles\",\n              description: \"Exempt roles from the anti-bad-words system\",\n              type: ApplicationCommandOptionType.Role,\n              required: false,\n            },\n            {\n              name: \"exempt-channels\",\n              description: \"Exempt channels from the anti-bad-words system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText, ChannelType.GuildCategory],\n              required: false,\n            },\n            {\n              name: \"log-channel\",\n              description: \"The log channel for the anti-bad-words system\",\n              type: ApplicationCommandOptionType.Channel,\n              channelTypes: [ChannelType.GuildText],\n              required: false,\n            },\n            {\n              name: \"profanity\",\n              description: \"Enable/Disable the profanity filter\",\n              type: ApplicationCommandOptionType.Boolean,\n              required: false,\n            },\n            {\n              name: \"sexual-content\",\n              description: \"Enable/Disable the sexual content filter\",\n              type: ApplicationCommandOptionType.Boolean,\n              required: false,\n            },\n            {\n              name: \"slurs\",\n              description: \"Enable/Disable the slurs filter\",\n              type: ApplicationCommandOptionType.Boolean,\n              required: false,\n            },\n          ],\n        },\n        {\n          name: \"disable\",\n          description: \"🤬 Disable the anti-bad-words system\",\n          type: ApplicationCommandOptionType.Subcommand,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!guildSettings) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server settings. Please try again later.\");\n\n      const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n      if (!memberPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to use this command. You need `Manage Server` permission\");\n      }\n\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuild)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to change Automoderation settings. Please give me `Manage Server` permission\");\n      }\n\n      const command = interaction.options.getSubcommandGroup();\n      const subcommand = interaction.options.getSubcommand();\n\n      if (subcommand === \"settings\") {\n        await autoModSettings(client, interaction, guildSettings);\n      } else if (command === \"anti-invite\") {\n        if (subcommand === \"enable\") {\n          await enableAntiInvite(client, interaction, guildSettings);\n        } else {\n          await disableAntiInvite(client, interaction, guildSettings);\n        }\n      } else if (command === \"anti-link\") {\n        if (subcommand === \"enable\") {\n          await enableAntiLink(client, interaction, guildSettings);\n        } else {\n          await disableAntiLink(client, interaction, guildSettings);\n        }\n      } else if (command === \"anti-mention\") {\n        if (subcommand === \"enable\") {\n          await enableAntiMention(client, interaction, guildSettings);\n        } else {\n          await disableAntiMention(client, interaction, guildSettings);\n        }\n      } else if (command === \"anti-spam\") {\n        if (subcommand === \"enable\") {\n          await enableAntiSpam(client, interaction, guildSettings);\n        } else {\n          await disableAntiSpam(client, interaction, guildSettings);\n        }\n      } else if (command === \"anti-bad-words\") {\n        if (subcommand === \"enable\") {\n          await enableAntiBadWords(client, interaction, guildSettings);\n        } else {\n          await disableAntiBadWords(client, interaction, guildSettings);\n        }\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/emoji.ts",
    "content": "/* eslint-disable complexity */\n\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  EmbedBuilder,\n  PermissionsBitField,\n  codeBlock,\n  PermissionFlagsBits,\n  type GuildEmoji,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport isURL from \"validator/lib/isURL\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"emoji\",\n  description: \"🎨 Manage emojis on this server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  usage: \"/emoji create <emoji name> <emoji url> | /emoji delete <emoji> | /emoji info <emoji> | /emoji steal <new emoji name> <emoji> | /emoji list\",\n  options: [\n    {\n      name: \"create\",\n      description: \"🎨 Create an emoji on this server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/emoji create <emoji name> <emoji url>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuildExpressions],\n      options: [\n        {\n          name: \"emoji_name\",\n          description: \"The name of the emoji\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n        },\n        {\n          name: \"emoji\",\n          description: \"The URL, ID or custom emoji to create\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n        },\n      ],\n    },\n    {\n      name: \"delete\",\n      description: \"🎨 Delete an emoji from this server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/emoji delete <emoji>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageGuildExpressions],\n      options: [\n        {\n          name: \"emoji\",\n          description: \"The name or id of the emoji\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n        },\n      ],\n    },\n    {\n      name: \"info\",\n      description: \"🎨 Get info about an emoji\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/emoji info <emoji>\",\n      options: [\n        {\n          name: \"emoji\",\n          description: \"The name or id of the emoji\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n        },\n      ],\n    },\n    {\n      name: \"list\",\n      description: \"🎨 List all emojis on this server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/emoji list\",\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n    if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n    if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n    const subcommand = interaction.options.getSubcommand();\n    const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    // #region Create\n    if (subcommand === \"create\") {\n      try {\n        if (!memberPermissions.has(PermissionsBitField.Flags.ManageGuildExpressions))\n          return client.errorMessages.createSlashError(interaction, \"❌ You need the `MANAGE_EMOJIS_AND_STICKERS` permission to create emojis!\");\n        if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuildExpressions))\n          return client.errorMessages.createSlashError(interaction, \"❌ I need `MANAGE_EMOJIS_AND_STICKERS` permission to manage emojis!\");\n\n        const emojiName = interaction.options.getString(\"emoji_name\");\n        const emojiURL = interaction.options.getString(\"emoji\");\n\n        if (!emojiName || !emojiURL) return client.errorMessages.createSlashError(interaction, \"❌ Please provide an emoji name and an emoji URL!\");\n\n        if (interaction.guild.emojis.cache.find((semoji) => semoji && semoji.name && semoji.name.toLowerCase() === emojiName.toLowerCase() && semoji.name !== null))\n          return client.errorMessages.createSlashError(interaction, \"❌ An emoji with that name already exists!\");\n\n        if (emojiName.length > 32) return client.errorMessages.createSlashError(interaction, \"❌ Emoji name must be less than 32 characters!\");\n\n        if (emojiName.length < 2) return client.errorMessages.createSlashError(interaction, \"❌ Emoji name must be more than 2 characters!\");\n\n        let emojiToCreate;\n\n        if (isURL(emojiURL)) {\n          emojiToCreate = emojiURL;\n        } else if ((emojiURL.startsWith(\"<:\") || emojiURL.startsWith(\"<a:\")) && emojiURL.endsWith(\">\")) {\n          const animated = emojiURL.startsWith(\"<a:\");\n          const emojiId = emojiURL.split(\":\")[2]?.replaceAll(\">\", \"\") || \"\";\n          emojiToCreate = `https://cdn.discordapp.com/emojis/${emojiId}.${animated ? \"gif\" : \"png\"}`;\n        } else if (!isNaN(Number(emojiURL))) {\n          emojiToCreate = `https://cdn.discordapp.com/emojis/${emojiURL}.png`;\n        } else {\n          return client.errorMessages.createSlashError(interaction, \"❌ Invalid emoji URL/ID!\");\n        }\n\n        try {\n          const emoji = await interaction.guild.emojis.create({\n            attachment: emojiToCreate,\n            name: emojiName,\n          });\n\n          const embed = new EmbedBuilder()\n            .setColor(guildSettings?.embedColor || client.config.defaultColor)\n            .setTimestamp()\n            .setTitle(`${client.config.emojis.success} Emoji successfully created!`)\n            .setFields([\n              {\n                name: `${client.config.emojis.edit} Emoji name`,\n                value: codeBlock(emoji.name || \"None\"),\n                inline: true,\n              },\n              {\n                name: `${client.config.emojis.screw_that} Emoji ID`,\n                value: codeBlock(emoji.id),\n                inline: true,\n              },\n              {\n                name: `${client.config.emojis.link} Emoji URL`,\n                value: `> <${emoji.imageURL({ size: 256 })}>`,\n              },\n            ])\n            .setThumbnail(emoji.imageURL({ size: 256 }))\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({\n                size: 256,\n              }),\n            });\n\n          return interaction.followUp({ embeds: [embed] });\n        } catch (_err) {\n          return client.errorMessages.createSlashError(\n            interaction,\n            \"❌ Cannot create emoji! It may be because of the following reasons:\\n\\n>>> - You have reached the maximum number of emojis on this server\\n- The emoji URL is invalid\\n- The emoji name is invalid\\n- The emoji is too large\"\n          );\n        }\n      } catch (err) {\n        client.errorMessages.internalError(interaction, err);\n      }\n      // #endregion\n      // #region Delete\n    } else if (subcommand === \"delete\") {\n      try {\n        if (!memberPermissions.has(PermissionsBitField.Flags.ManageGuildExpressions))\n          return client.errorMessages.createSlashError(interaction, \"❌ You need the `MANAGE_EMOJIS_AND_STICKERS` permission to create emojis!\");\n        if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuildExpressions))\n          return client.errorMessages.createSlashError(interaction, \"❌ I need `MANAGE_EMOJIS_AND_STICKERS` permission to manage emojis!\");\n\n        const emoji = interaction.options.getString(\"emoji\");\n\n        if (!emoji) return client.errorMessages.createSlashError(interaction, \"❌ Please provide an emoji name or ID!\");\n\n        let emojiToDelete;\n\n        if (!isNaN(Number(emoji))) {\n          emojiToDelete = await interaction.guild.emojis.fetch(emoji);\n        } else {\n          emojiToDelete = interaction.guild.emojis.cache.find(\n            (semoji) =>\n              semoji &&\n              semoji.name &&\n              (semoji.name === emoji || semoji.name.toLowerCase() === emoji.toLowerCase() || semoji.name.split(\":\")[0] === emoji || semoji.name.split(\":\")[1] === emoji)\n          );\n        }\n\n        if (!emojiToDelete) return client.errorMessages.createSlashError(interaction, \"❌ It seems like that emoji doesn't exist!\");\n\n        if (emojiToDelete.managed) return client.errorMessages.createSlashError(interaction, \"❌ You cannot delete an emoji that is managed by an external service!\");\n\n        try {\n          await emojiToDelete.delete();\n        } catch (_err) {\n          return client.errorMessages.createSlashError(\n            interaction,\n            \"❌ Cannot delete emoji! It may be because of the following reasons:\\n\\n>>> - The emoji is not from this server\\n- The emoji is not found\\n - This is just a bug\"\n          );\n        }\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(`${client.config.emojis.success} Emoji successfully deleted!`)\n          .setFields([\n            {\n              name: `${client.config.emojis.edit} Emoji name`,\n              value: codeBlock(emojiToDelete.name || \"None\"),\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.screw_that} Emoji ID`,\n              value: codeBlock(emojiToDelete.id),\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.link} Emoji URL`,\n              value: `> <${emojiToDelete.imageURL({ size: 256 })}>`,\n            },\n          ])\n          .setThumbnail(emojiToDelete.imageURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      } catch (err) {\n        client.errorMessages.internalError(interaction, err);\n      }\n      // #endregion\n      // #region Info\n    } else if (subcommand === \"info\") {\n      try {\n        const emoji = interaction.options.getString(\"emoji\");\n        if (!emoji) return client.errorMessages.createSlashError(interaction, \"❌ Please provide an emoji name or ID!\");\n        let emojiToGet: GuildEmoji | undefined;\n\n        if (!isNaN(Number(emoji))) {\n          emojiToGet = await interaction.guild.emojis.fetch(emoji);\n        } else {\n          emojiToGet = interaction.guild.emojis.cache.find(\n            (semoji) =>\n              semoji &&\n              semoji.name &&\n              (semoji.name === emoji || semoji.name.toLowerCase() === emoji.toLowerCase() || semoji.name.split(\":\")[0] === emoji || semoji.name.split(\":\")[1] === emoji)\n          );\n        }\n\n        if (!emojiToGet) return client.errorMessages.createSlashError(interaction, \"❌ It seems like that emoji doesn't exist!\");\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(`${emoji} Emoji info`)\n          .setFields([\n            {\n              name: `${client.config.emojis.edit} Emoji name`,\n              value: codeBlock(emojiToGet.name || \"None\"),\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.screw_that} Emoji ID`,\n              value: codeBlock(emojiToGet.id || \"None\"),\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.question} Animated`,\n              value: codeBlock(emojiToGet.animated ? \"Yes\" : \"No\"),\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.member} Added by`,\n              value: `> ${emojiToGet.fetchAuthor()}`,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.stopwatch} Added at`,\n              value: `> <t:${Math.floor(emojiToGet.createdTimestamp / 1000)}:R>`,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.link} Emoji URL`,\n              value: `> ${emojiToGet.imageURL({ size: 256 })}`,\n            },\n          ])\n          .setThumbnail(emojiToGet.imageURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      } catch (err) {\n        client.errorMessages.internalError(interaction, err);\n      }\n      // #endregion\n      // #region List\n    } else if (subcommand === \"list\") {\n      try {\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTitle(`${client.config.emojis.success} Emojis on this server`)\n          .setFields([\n            {\n              name: \"Total Emojis\",\n              value: codeBlock(interaction.guild.emojis.cache.size.toString() || \"0\"),\n              inline: true,\n            },\n            {\n              name: \"Animated Emojis\",\n              value: codeBlock(interaction.guild.emojis.cache.filter((emoji) => emoji.animated).size.toString() || \"0\"),\n              inline: true,\n            },\n            {\n              name: \"Static Emojis\",\n              value: codeBlock(interaction.guild.emojis.cache.filter((emoji) => !emoji.animated).size.toString() || \"0\"),\n              inline: true,\n            },\n          ])\n          .setDescription(\n            `> ${\n              interaction.guild.emojis.cache.map((emoji) => emoji).join(\" \").length > 2048\n                ? interaction.guild.emojis.cache\n                    .map((emoji) => emoji)\n                    .join(\" \")\n                    .slice(0, 2048) + \"...\"\n                : interaction.guild.emojis.cache.map((emoji) => emoji).join(\" \")\n            }`\n          )\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      } catch (err) {\n        client.errorMessages.internalError(interaction, err);\n      }\n    }\n    // #endregion\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/leave.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  ChannelType,\n  PermissionsBitField,\n  EmbedBuilder,\n  PermissionFlagsBits,\n  codeBlock,\n  TextChannel,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"leave\",\n  description: \"👋 Setup leave messages for your server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 2000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  usage: \"/leave <subcommand>\",\n  options: [\n    {\n      name: \"enable\",\n      description: \"👋 Enable leave messages\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"channel\",\n          description: \"The channel to set as the leave channel\",\n          type: ApplicationCommandOptionType.Channel,\n          channel_types: [ChannelType.GuildText],\n          required: true,\n        },\n        {\n          name: \"title\",\n          description: \"Title of the leave message. Use {user} to mention the user and {guild} to mention the guild\",\n          type: ApplicationCommandOptionType.String,\n          required: false,\n          max_length: 250,\n        },\n        {\n          name: \"description\",\n          description: \"Description of the leave message. Use {user} to mention the user and {guild} to mention the guild\",\n          type: ApplicationCommandOptionType.String,\n          required: false,\n          max_length: 2040,\n        },\n      ],\n    },\n    {\n      name: \"disable\",\n      description: \"👋 Disable leave messages\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n    {\n      name: \"check\",\n      description: \"👋 Check if leave messages are enabled\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n      const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n      if (!memberPermissions.has(PermissionsBitField.Flags.ManageGuild))\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to use this command. You need `Manage Server` permission\");\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuild))\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to change settings. Please give me `Manage Server` permission\");\n\n      const command = interaction.options.getSubcommand();\n\n      if (command === \"enable\") {\n        const channel = interaction.options.getChannel(\"channel\") as TextChannel;\n\n        if (!channel) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a channel to set as the leave channel!\");\n        if (!channel.isTextBased()) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a text channel to set as the leave channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to send messages in that channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.EmbedLinks))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to embed links in that channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.AttachFiles))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to attach files in that channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to view that channel!\");\n\n        const title = interaction.options.getString(\"title\") || \"👋 Goodbye {user}!\";\n        const description = interaction.options.getString(\"description\") || \"> We're sorry to see you go!\";\n\n        await prismaClient.guildLeaveMessage.upsert({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          update: {\n            channelId: channel.id,\n            title: shortenText(title, 250),\n            description: shortenText(description, 2040),\n            enabled: true,\n          },\n          create: {\n            guildId: interaction.guild.id,\n            channelId: channel.id,\n            title: shortenText(title, 250),\n            description: shortenText(description, 2040),\n            enabled: true,\n          },\n        });\n\n        const embed = new EmbedBuilder() // prettier\n          .setTitle(\"✅ Success!\")\n          .setDescription(`> **Leave messages have been enabled in ${channel.toString()}**`)\n          .setFields([\n            {\n              name: \"Embed title\",\n              value: codeBlock(title),\n              inline: false,\n            },\n            {\n              name: \"Embed description\",\n              value: codeBlock(description),\n              inline: false,\n            },\n          ])\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"disable\") {\n        await prismaClient.guildLeaveMessage.update({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          data: {\n            enabled: false,\n          },\n        });\n\n        const embed = new EmbedBuilder() // prettier\n          .setTitle(\"✅ Success!\")\n          .setDescription(\"> **Leave messages have been disabled!** You can enable them again by using `/leave enable`\")\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"check\") {\n        const guild = await prismaClient.guild.findUnique({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          include: {\n            guildLeaveMessage: true,\n          },\n        });\n\n        if (!guild?.guildLeaveMessage || !guild.guildLeaveMessage.enabled) {\n          const embed = new EmbedBuilder() // prettier\n            .setTitle(\"👋 Leave messages are disabled\")\n            .setDescription(\"> Leave messages are disabled! You can enable them by using `/leave enable`\")\n            .setColor(guildSettings?.embedColor || client.config.defaultColor)\n            .setTimestamp()\n            .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({\n                size: 256,\n              }),\n            });\n\n          await interaction.followUp({ embeds: [embed] });\n        } else {\n          const channel = interaction.guild.channels.cache.get(guild.guildLeaveMessage.channelId);\n\n          if (!channel) {\n            await prismaClient.guildLeaveMessage.delete({\n              where: {\n                guildId: interaction.guild.id,\n              },\n            });\n\n            const embed = new EmbedBuilder() // prettier\n              .setTitle(\"👋 Leave messages are disabled\")\n              .setDescription(\n                \"> **Leave messages have been disabled automatically** because the channel was deleted or I don't have permission to view it!\\n> You can enable them again by using `/leave enable`\"\n              )\n              .setColor(guildSettings?.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n\n            await interaction.followUp({ embeds: [embed] });\n          } else {\n            const embed = new EmbedBuilder() // prettier\n              .setTitle(\"👋 Leave messages are enabled\")\n              .setDescription(`>>> **Leave messages are enabled in ${channel.toString()}!**\\nWhen a member leaves, I will send a message in that channel.`)\n              .setFields([\n                {\n                  name: \"Embed title\",\n                  value: codeBlock(guild.guildLeaveMessage.title),\n                  inline: false,\n                },\n                {\n                  name: \"Embed description\",\n                  value: codeBlock(guild.guildLeaveMessage.description),\n                  inline: false,\n                },\n              ])\n              .setColor(guildSettings?.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n\n            await interaction.followUp({ embeds: [embed] });\n          }\n        }\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/logs.ts",
    "content": "import { fetchLogs, countLogs } from \"@majoexe/util/database\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionFlagsBits,\n  EmbedBuilder,\n  PermissionsBitField,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"logs\",\n  description: \"📝 View the Majo.exe logs for this server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  usage: \"/logs [page]\",\n  options: [\n    {\n      name: \"page\",\n      description: \"The page number to view\",\n      type: ApplicationCommandOptionType.Integer,\n      min_value: 1,\n      max_value: 5000,\n      required: false,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n      const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n      if (!memberPermissions.has(PermissionsBitField.Flags.ManageGuild))\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to use this command. You need `Manage Server` permission\");\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuild))\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to change settings. Please give me `Manage Server` permission\");\n\n      const count = interaction.options.getInteger(\"page\") || 1;\n      const logs = await fetchLogs(interaction.guildId, count);\n\n      if (!logs || logs.length < 1) {\n        return client.errorMessages.createSlashError(interaction, \"❌ There are no logs found for this query or server\");\n      }\n\n      const logsArray = logs.slice(0, 20).map((log) => {\n        const emoji = client.config.emojis.logs.find((l: { type: string; emoji: string }) => l.type === log.type)?.emoji || \"❔\";\n        return `**${emoji} <@${log.authorId}>**: ${log.content}`;\n      });\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(`📝 Logs (${count}/${Math.ceil((await countLogs(interaction.guildId)) / 20)})`)\n        .setDescription(logsArray.join(\"\\n\"))\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/member.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, PermissionFlagsBits, InteractionContextType, ApplicationIntegrationType } from \"discord.js\";\nimport { banMember } from \"@/util/moderation/ban\";\nimport { changememberNickname } from \"@/util/moderation/changeMemberNickname\";\nimport { getUserAvatar, getUserBanner } from \"@/util/moderation/getMemberImages\";\nimport { getMemberInfo } from \"@/util/moderation/getMemberInfo\";\nimport { kickMember } from \"@/util/moderation/kick\";\nimport { unBanMember } from \"@/util/moderation/unban\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"member\",\n  description: \"👋 Modify user on this server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild],\n  defaultMemberPermissions: [\n    PermissionFlagsBits.ManageGuild,\n    PermissionFlagsBits.ManageRoles,\n    PermissionFlagsBits.ManageNicknames,\n    PermissionFlagsBits.KickMembers,\n    PermissionFlagsBits.BanMembers,\n  ],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  usage: \"/member <subcommand>\",\n  options: [\n    {\n      name: \"ban\",\n      description: \"🔐 Ban user from this server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/member ban <reason>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.BanMembers],\n      options: [\n        {\n          name: \"user\",\n          description: \"The user who should be banned\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"reason\",\n          description: \"Reason for banning the user\",\n          required: false,\n          type: ApplicationCommandOptionType.String,\n          max_length: 512,\n        },\n      ],\n    },\n    {\n      name: \"unban\",\n      description: \"🔓 Unban user from this server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/member unban <reason>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.BanMembers],\n      options: [\n        {\n          name: \"user_id\",\n          description: \"The user who should be unbanned\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n        },\n        {\n          name: \"reason\",\n          description: \"Reason for unbanning the user\",\n          required: false,\n          type: ApplicationCommandOptionType.String,\n          max_length: 512,\n        },\n      ],\n    },\n    {\n      name: \"kick\",\n      description: \"🔐 Kick user from this server\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/member kick <reason>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.KickMembers],\n      options: [\n        {\n          name: \"user\",\n          description: \"The user who should be kicked\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"reason\",\n          description: \"Reason for kicking the user\",\n          required: false,\n          type: ApplicationCommandOptionType.String,\n        },\n      ],\n    },\n    {\n      name: \"info\",\n      description: \"📝 Check information about user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/member info <user>\",\n      options: [\n        {\n          name: \"user\",\n          description: \"The user who should be checked\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n      ],\n    },\n    {\n      name: \"avatar\",\n      description: \"🧩 Get user avatar\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/member avatar <user> [guild_avatar]\",\n      options: [\n        {\n          name: \"user\",\n          description: \"The user which avatar should be shown\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"guild_avatar\",\n          description: \"Show guild avatar instead of user avatar\",\n          required: false,\n          type: ApplicationCommandOptionType.Boolean,\n        },\n      ],\n    },\n    {\n      name: \"banner\",\n      description: \"🧩 Get user banner\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/member banner <user> [guild_banner]\",\n      options: [\n        {\n          name: \"user\",\n          description: \"The user which banner should be shown\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"guild_banner\",\n          description: \"Show guild banner instead of user banner\",\n          required: false,\n          type: ApplicationCommandOptionType.Boolean,\n        },\n      ],\n    },\n    {\n      name: \"nickname\",\n      description: \"🏷️ Set/remove nickname for user\",\n      type: ApplicationCommandOptionType.SubcommandGroup,\n      usage: \"/member nickname set <user> <nickname> | /member nickname remove <user>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageNicknames],\n      options: [\n        {\n          name: \"set\",\n          description: \"🏷️ Set nickname for user\",\n          type: ApplicationCommandOptionType.Subcommand,\n          options: [\n            {\n              name: \"user\",\n              description: \"The user which nickname should be set\",\n              required: true,\n              type: ApplicationCommandOptionType.User,\n            },\n            {\n              name: \"nickname\",\n              description: \"The nickname which should be set\",\n              required: true,\n              type: ApplicationCommandOptionType.String,\n              max_length: 32,\n            },\n          ],\n        },\n        {\n          name: \"remove\",\n          description: \"🏷️ Remove nickname for user\",\n          type: ApplicationCommandOptionType.Subcommand,\n          //defaultMemberPermissions: [PermissionFlagsBits.ManageNicknames],\n          options: [\n            {\n              name: \"user\",\n              description: \"The user which nickname should be removed\",\n              required: true,\n              type: ApplicationCommandOptionType.User,\n            },\n          ],\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    const command = interaction.options.getSubcommandGroup();\n    const subcommand = interaction.options.getSubcommand();\n\n    if (subcommand === \"ban\") {\n      await banMember(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n    } else if (subcommand === \"unban\") {\n      await unBanMember(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n    } else if (subcommand === \"kick\") {\n      await kickMember(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n    } else if (subcommand === \"info\") {\n      await getMemberInfo(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n    } else if (subcommand === \"avatar\") {\n      await getUserAvatar(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n    } else if (subcommand === \"banner\") {\n      await getUserBanner(client, interaction, guildSettings?.embedColor || client.config.defaultColor);\n    } else if (command === \"nickname\") {\n      const subcommand = interaction.options.getSubcommand() as \"set\" | \"remove\";\n      await changememberNickname(client, interaction, guildSettings?.embedColor || client.config.defaultColor, subcommand);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/role.ts",
    "content": "import {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionsBitField,\n  EmbedBuilder,\n  Role,\n  GuildMember,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"role\",\n  description: \"🧩 Add/Remove role from user\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 2000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  usage: \"/role add <role> <user> | /role remove <role> <user> | /role info <role>\",\n  options: [\n    {\n      name: \"add\",\n      description: \"🧩 Add role to user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/role add <role> <user>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageRoles],\n      options: [\n        {\n          name: \"role\",\n          description: \"Role to add\",\n          required: true,\n          type: ApplicationCommandOptionType.Role,\n        },\n        {\n          name: \"user\",\n          description: \"The user who should get the role\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"reason\",\n          description: \"Reason for adding the role\",\n          required: false,\n          max_length: 256,\n          type: ApplicationCommandOptionType.String,\n        },\n      ],\n    },\n    {\n      name: \"remove\",\n      description: \"🧩 Remove role from user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/role remove <role> <user>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.ManageRoles],\n      options: [\n        {\n          name: \"role\",\n          description: \"Role to remove\",\n          required: true,\n          type: ApplicationCommandOptionType.Role,\n        },\n        {\n          name: \"user\",\n          description: \"The user who should lose the role\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"reason\",\n          description: \"Reason for adding the role\",\n          required: false,\n          max_length: 256,\n          type: ApplicationCommandOptionType.String,\n        },\n      ],\n    },\n    {\n      name: \"info\",\n      description: \"🧩 Check information about role\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/role info <role>\",\n      options: [\n        {\n          name: \"role\",\n          description: \"Role to get info for\",\n          required: true,\n          type: ApplicationCommandOptionType.Role,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n      const subCommand = interaction.options.getSubcommand();\n\n      const interactionMember = interaction.member as GuildMember;\n      const userPermissions = interactionMember.permissions as PermissionsBitField;\n\n      // #region Add\n      if (subCommand === \"add\") {\n        const role = interaction.options.getRole(\"role\") as Role;\n        const user = interaction.options.getMember(\"user\") as GuildMember;\n        const reason = interaction.options.getString(\"reason\") || \"No reason provided\";\n\n        if (!role) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a role to add!\");\n\n        if (role.managed) return client.errorMessages.createSlashError(interaction, \"❌ You can't add a managed role!\");\n\n        if (!user) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to add the role to!\");\n\n        if (!userPermissions.has(PermissionsBitField.Flags.ManageRoles)) return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to manage roles\");\n        if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageRoles))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to manage roles\");\n\n        if (interactionMember.roles.highest.comparePositionTo(role) <= 0)\n          return client.errorMessages.createSlashError(interaction, \"❌ You can't add a role which is higher than your highest role!\");\n\n        if (interaction.guild.members.me.roles.highest.comparePositionTo(role) <= 0)\n          return client.errorMessages.createSlashError(interaction, \"❌ I can't add a role which is higher than my highest role!\");\n\n        await user.roles.add(role, reason);\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"🧩 Role added\")\n          .setDescription(`> **${user}** has been given the role **${role}**\\n> **Reason:** ${reason}`)\n          .setThumbnail(user.displayAvatarURL())\n          .setFooter({\n            text: `Role added by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL(),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n        // #endregion\n        // #region Remove\n      } else if (subCommand === \"remove\") {\n        const role = interaction.options.getRole(\"role\") as Role;\n        const user = interaction.options.getMember(\"user\") as GuildMember;\n        const reason = interaction.options.getString(\"reason\") || \"No reason provided\";\n\n        if (!role) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a role to remove!\");\n        }\n\n        if (!role) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a role to add!\");\n        }\n\n        if (role.managed) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You can't remove a managed role!\");\n        }\n\n        if (!user) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to add the role to!\");\n        }\n\n        if (!userPermissions.has(PermissionsBitField.Flags.ManageRoles)) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to manage roles\");\n        }\n\n        if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageRoles)) {\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to manage roles\");\n        }\n\n        if (interactionMember.roles.highest.comparePositionTo(role) <= 0) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You can't remove a role which is higher than your highest role!\");\n        }\n\n        if (interaction.guild.members.me.roles.highest.comparePositionTo(role) <= 0) {\n          return client.errorMessages.createSlashError(interaction, \"❌ I can't remove a role which is higher than my highest role!\");\n        }\n\n        if (interactionMember.roles.highest.comparePositionTo(user.roles.highest) <= 0) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You can't remove a role from a user which is higher than your highest role!\");\n        }\n\n        if (interaction.guild.members.me.roles.highest.comparePositionTo(user.roles.highest) <= 0) {\n          return client.errorMessages.createSlashError(interaction, \"❌ I can't remove a role from a user which is higher than my highest role!\");\n        }\n\n        await user.roles.remove(role, reason);\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"🧩 Role removed\")\n          .setThumbnail(user.displayAvatarURL())\n          .setDescription(`> **${user}** has been removed from the role **${role}**\\n> **Reason:** ${reason}`)\n          .setFooter({\n            text: `Role removed by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL(),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n        // #endregion\n        // #region Info\n      } else if (subCommand === \"info\") {\n        const role = interaction.options.getRole(\"role\") as Role;\n\n        if (!role) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a role to check info!\");\n        }\n\n        const embed = new EmbedBuilder()\n          .setAuthor({\n            name: role.name,\n            iconURL:\n              interaction.guild.iconURL({\n                size: 256,\n              }) || \"\",\n          })\n          .setColor(role.color || guildSettings?.embedColor || client.config.defaultColor)\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n\n          .addFields([\n            {\n              name: `${client.config.emojis.role} Role ID`,\n              value: `\\`${role.id}\\``,\n              inline: false,\n            },\n            {\n              name: `${client.config.emojis.color} Color`,\n              value: `\\`${role.hexColor}\\``,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.stage_channel} Mention`,\n              value: `<@&${role.id}>`,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.stopwatch} Date created`,\n              value: `<t:${Math.floor(role.createdTimestamp / 1000)}:F> (<t:${Math.floor(role.createdTimestamp / 1000)}:R>)`,\n              inline: false,\n            },\n            {\n              name: `${client.config.emojis.member} Members `,\n              value: `\\`${role.members.size}\\` members with this role`,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.arrows_clockwise} Position `,\n              value: `\\`${role.position}/${interaction.guild.roles.cache.size}\\` (from top)`,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.lock} Managed`,\n              value: `\\`${role.managed ? \"Yes\" : \"No\"}\\` ${role.managed && role.tags && role.tags.botId ? `(by <@${role.tags.botId}>)` : \"\"}`,\n              inline: false,\n            },\n            {\n              name: `${client.config.emojis.owner_crown} Hoisted`,\n              value: `\\`${role.hoist ? \"Yes\" : \"No\"}\\``,\n              inline: true,\n            },\n            {\n              name: `${client.config.emojis.mention} Mentionable`,\n              value: `\\`${role.mentionable ? \"Yes\" : \"No\"}\\``,\n              inline: true,\n            },\n          ]);\n\n        return interaction.followUp({ embeds: [embed] });\n      }\n      // #endregion\n    } catch (_err) {\n      return client.errorMessages.createSlashError(interaction, \"❌ An error occurred while executing this command\");\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/slowmode.ts",
    "content": "import {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionsBitField,\n  EmbedBuilder,\n  PermissionFlagsBits,\n  ChannelType,\n  GuildMember,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport ms from \"ms\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"slowmode\",\n  description: \"🕐 Set the slowmode for a channel\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 2000,\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  contexts: [InteractionContextType.Guild],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageChannels],\n  usage: \"/slowmode <time>\",\n  options: [\n    {\n      name: \"time\",\n      description: \"The time to set the slowmode to\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      if (!interaction.channel) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get channel data. Please try again.\");\n      if (interaction.channel.type !== ChannelType.GuildText) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a text channel\");\n\n      if (!interaction.channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ManageChannels)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to manage channels\");\n      }\n      if (!interaction.channel.permissionsFor(interaction.member as GuildMember).has(PermissionsBitField.Flags.ManageChannels)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to manage channels\");\n      }\n\n      const time = interaction.options.getString(\"time\");\n      if (!time) return client.errorMessages.createSlashError(interaction, \"❌ Invalid time provided\");\n\n      const timeInMs = ms(time);\n\n      if (!timeInMs) {\n        return client.errorMessages.createSlashError(interaction, \"❌ Invalid time provided\");\n      }\n\n      if (!interaction.channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ManageChannels)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to manage channels\");\n      }\n\n      if (!interaction.channel.permissionsFor(interaction.member as GuildMember).has(PermissionsBitField.Flags.ManageChannels)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to manage channels\");\n      }\n\n      if (interaction.channel.rateLimitPerUser === timeInMs / 1000) {\n        return client.errorMessages.createSlashError(interaction, \"❌ Slowmode is already set to that time\");\n      }\n\n      const before = interaction.channel.rateLimitPerUser;\n      await interaction.channel.setRateLimitPerUser(timeInMs / 1000);\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(\"🕐 Slowmode\")\n        .setDescription(`Slowmode has been changed from \\`${ms(before * 1000)}\\` to \\`${time}\\``)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/statistics.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { GuildJoin, GuildLeave, GuildMessage } from \"@majoexe/database/types\";\nimport { fillMissingDates } from \"@majoexe/util/functions/util\";\nimport { createCanvas, loadImage } from \"@napi-rs/canvas\";\nimport * as Plot from \"@observablehq/plot\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionFlagsBits,\n  AttachmentBuilder,\n  EmbedBuilder,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport jsdom from \"jsdom\";\nimport type { SlashCommand } from \"@/util/types/Command\";\nconst { JSDOM } = jsdom;\n\nasync function generateChart(data: GuildJoin[] | GuildLeave[] | GuildMessage[], name: string, color: string) {\n  const chartData = fillMissingDates(data, name);\n  const { document } = new JSDOM(\"\").window;\n  const width = 934;\n  const height = 500;\n\n  const chart = Plot.plot({\n    document,\n    marginBottom: 60,\n    marginTop: 120,\n    width,\n    marks: [\n      Plot.gridY({\n        stroke: \"white\",\n        strokeOpacity: 0.2,\n      }),\n      Plot.axisY({\n        color,\n        fontWeight: \"bold\",\n        fontFamily: \"Quicksand\",\n        fontSize: 18,\n        label: name.charAt(0).toUpperCase() + name.slice(1),\n        tickFormat: (number) => (number % 1 === 0 ? number : \"\"),\n      }),\n      Plot.axisX({\n        color,\n        fontWeight: \"bold\",\n        fontSize: 18,\n        fontFamily: \"Quicksand\",\n      }),\n      Plot.lineX(chartData, {\n        x: \"date\",\n        y: name,\n        strokeWidth: 2,\n        curve: \"monotone-x\",\n        stroke: color,\n      }),\n    ],\n  });\n\n  document.body.appendChild(chart);\n\n  const canvas = createCanvas(width, height);\n  const context = canvas.getContext(\"2d\");\n  const buffer = Buffer.from(document.body.innerHTML);\n  const image = await loadImage(buffer);\n  context.drawImage(image, 0, 0, width, height);\n  const buffer2 = canvas.toBuffer(\"image/png\");\n\n  const attachment = new AttachmentBuilder(buffer2, {\n    name: \"chart.png\",\n  });\n\n  return attachment;\n}\n\nexport default {\n  name: \"statistics\",\n  description: \"📊 Show statistics about your server\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 6000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.Administrator, PermissionFlagsBits.ManageGuild],\n  usage: \"/statistics <subcommand>\",\n  options: [\n    {\n      name: \"invite\",\n      description: \"Check the amount of members that joined the server in the last 30 days\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n    {\n      name: \"leave\",\n      description: \"Check the amount of members that left the server in the last 30 days\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n    {\n      name: \"messages\",\n      description: \"Check the amount of messages sent in the server in the last 30 days\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n\n      const command = interaction.options.getSubcommand();\n\n      if (command === \"invite\") {\n        const rawData = await prismaClient.guildJoin.findMany({\n          where: {\n            guildId: interaction.guild.id,\n            date: {\n              gte: new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000),\n            },\n          },\n          select: {\n            id: true,\n            guildId: true,\n            date: true,\n            joins: true,\n          },\n        });\n\n        const attachment = await generateChart(rawData, \"joins\", guildSettings?.embedColor || client.config.defaultColor);\n\n        const embed = new EmbedBuilder()\n          .setTitle(\"📊 Join statistics\")\n          .setDescription(\"Amount of members that joined the server in the last 30 days\")\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n          .setImage(\"attachment://chart.png\");\n\n        return interaction.followUp({ embeds: [embed], files: [attachment] });\n      } else if (command === \"leave\") {\n        const rawData = await prismaClient.guildLeave.findMany({\n          where: {\n            guildId: interaction.guild.id,\n            date: {\n              gte: new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000),\n            },\n          },\n          select: {\n            id: true,\n            guildId: true,\n            date: true,\n            leaves: true,\n          },\n        });\n\n        const attachment = await generateChart(rawData, \"leaves\", guildSettings?.embedColor || client.config.defaultColor);\n\n        const embed = new EmbedBuilder()\n          .setTitle(\"📊 Leave statistics\")\n          .setDescription(\"Amount of members that left the server in the last 30 days\")\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n          .setImage(\"attachment://chart.png\");\n\n        return interaction.followUp({ embeds: [embed], files: [attachment] });\n      } else if (command === \"messages\") {\n        const rawData = await prismaClient.guildMessage.findMany({\n          where: {\n            guildId: interaction.guild.id,\n            date: {\n              gte: new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000),\n            },\n          },\n          select: {\n            id: true,\n            guildId: true,\n            date: true,\n            messages: true,\n          },\n        });\n\n        const attachment = await generateChart(rawData, \"messages\", guildSettings?.embedColor || client.config.defaultColor);\n\n        const embed = new EmbedBuilder()\n          .setTitle(\"📊 Messages statistics\")\n          .setDescription(\"Amount of messages sent in the server in the last 30 days\")\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          })\n          .setImage(\"attachment://chart.png\");\n\n        return interaction.followUp({ embeds: [embed], files: [attachment] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/warn.ts",
    "content": "import { clearWarns, listWarns, warnUser, removeWarn } from \"@majoexe/util/database\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  PermissionsBitField,\n  EmbedBuilder,\n  codeBlock,\n  PermissionFlagsBits,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"warn\",\n  description: \"⚠️ Add/remove/modify warnings for a user\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 2000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  usage: \"/warn <subcommand>\",\n  options: [\n    {\n      name: \"add\",\n      description: \"⚠️ Add a warning to a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"user\",\n          description: \"The user to warn\",\n          type: ApplicationCommandOptionType.User,\n          required: true,\n        },\n        {\n          name: \"reason\",\n          description: \"The reason for the warning\",\n          type: ApplicationCommandOptionType.String,\n          required: true,\n        },\n      ],\n    },\n    {\n      name: \"remove\",\n      description: \"⚠️ Remove a warning from a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"user\",\n          description: \"The user to remove the warning from\",\n          type: ApplicationCommandOptionType.User,\n          required: true,\n        },\n        {\n          name: \"id\",\n          description: \"The ID of the warning to remove\",\n          type: ApplicationCommandOptionType.Integer,\n          required: true,\n        },\n      ],\n    },\n    {\n      name: \"list\",\n      description: \"⚠️ List the warnings of a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"user\",\n          description: \"The user to list the warnings of\",\n          type: ApplicationCommandOptionType.User,\n          required: true,\n        },\n      ],\n    },\n    {\n      name: \"clear\",\n      description: \"⚠️ Clear the warnings of a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"user\",\n          description: \"The user to clear the warnings of\",\n          type: ApplicationCommandOptionType.User,\n          required: true,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n      const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n      if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to use this command. You need `Manage Server` permission\");\n      }\n\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuild)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to change Automoderation settings. Please give me `Manage Server` permission\");\n      }\n\n      const command = interaction.options.getSubcommand();\n\n      if (command === \"add\") {\n        const user = interaction.options.getUser(\"user\");\n        const reason = interaction.options.getString(\"reason\");\n\n        if (!user) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to warn!\");\n        }\n\n        if (!reason) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a reason for the warning!\");\n        }\n\n        const addedWarning = await warnUser(interaction.guild.id, user, reason, interaction.member.user.id);\n        const warnNumber = addedWarning.warnId;\n\n        const embed = new EmbedBuilder()\n          .setTitle(`**✅ Successfully warned ${user.globalName || user.username}** / \\`#${warnNumber}\\``)\n          .setDescription(`**Reason:**\\n${codeBlock(reason)}\\n**Note:** You can remove this warning with \\`/warn remove ${user.id} ${warnNumber}\\``)\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"remove\") {\n        const user = interaction.options.getUser(\"user\");\n        const id = interaction.options.getInteger(\"id\");\n\n        if (!user) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to remove the warning from!\");\n        }\n\n        if (!id) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide the ID of the warning to remove!\");\n        }\n\n        const removedWarning = await removeWarn(interaction.guild.id, user.id, id);\n\n        if (!removedWarning) {\n          return client.errorMessages.createSlashError(interaction, \"❌ I couldn't find a warning with that ID!\");\n        }\n\n        const embed = new EmbedBuilder()\n          .setTitle(\"✅ Successfully removed warning\")\n          .setDescription(`Removed warning \\`#${removedWarning.warnId}\\` from ${user}`)\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"list\") {\n        const user = interaction.options.getUser(\"user\");\n\n        if (!user) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to list the warnings of!\");\n        }\n\n        const warnings = await listWarns(interaction.guild.id, user.id);\n\n        if (!warnings || warnings.length === 0) {\n          return client.errorMessages.createSlashError(interaction, \"❌ I couldn't find any warnings for that user!\");\n        }\n\n        const embed = new EmbedBuilder()\n          .setTitle(`🤖 Warnings for ${user.globalName || user.username} (${warnings.length})`)\n          .setDescription(\n            warnings\n              .map((warning) => `- \\`#${warning.warnId}\\` - ${warning.message} (by <@${warning.createdById}> / <t:${Math.floor(warning.createdAt.getTime() / 1000)}:R>)`)\n              .join(\"\\n\")\n          )\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"clear\") {\n        const user = interaction.options.getUser(\"user\");\n\n        if (!user) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to clear the warnings of!\");\n        }\n\n        const count = await clearWarns(user.id, interaction.guild.id);\n\n        const embed = new EmbedBuilder()\n          .setTitle(`✅ Successfully cleared all warnings from ${user.globalName || user.username}`)\n          .setDescription(`> \\`${count || 0}\\` warnings have been cleared from ${user}`)\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Moderation/welcome.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  ChannelType,\n  PermissionsBitField,\n  EmbedBuilder,\n  PermissionFlagsBits,\n  codeBlock,\n  TextChannel,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"welcome\",\n  description: \"👋 Welcome new members\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 2000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  defaultMemberPermissions: [PermissionFlagsBits.ManageGuild],\n  usage: \"/welcome <subcommand>\",\n  options: [\n    {\n      name: \"enable\",\n      description: \"👋 Enable welcome messages\",\n      type: ApplicationCommandOptionType.Subcommand,\n      options: [\n        {\n          name: \"channel\",\n          description: \"The channel to set as the welcome channel\",\n          type: ApplicationCommandOptionType.Channel,\n          channel_types: [ChannelType.GuildText],\n          required: true,\n        },\n        {\n          name: \"title\",\n          description: \"Title of the welcome message. Use {user} to mention the user and {guild} to mention the guild\",\n          type: ApplicationCommandOptionType.String,\n          required: false,\n          max_length: 250,\n        },\n        {\n          name: \"description\",\n          description: \"Description of the welcome message. Use {user} to mention the user and {guild} to mention the guild\",\n          type: ApplicationCommandOptionType.String,\n          required: false,\n          max_length: 2040,\n        },\n      ],\n    },\n    {\n      name: \"disable\",\n      description: \"👋 Disable welcome messages\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n    {\n      name: \"check\",\n      description: \"👋 Check if welcome messages are enabled\",\n      type: ApplicationCommandOptionType.Subcommand,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n\n      const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n      if (!memberPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to use this command. You need `Manage Server` permission\");\n      }\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.ManageGuild)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to change Automoderation settings. Please give me `Manage Server` permission\");\n      }\n\n      const command = interaction.options.getSubcommand();\n\n      if (command === \"enable\") {\n        const channel = interaction.options.getChannel(\"channel\") as TextChannel;\n\n        if (!channel) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a channel to set as the welcome channel!\");\n        if (channel.type !== ChannelType.GuildText) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a text channel\");\n        if (!channel.isTextBased()) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a text channel to set as the welcome channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to send messages in that channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.EmbedLinks))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to embed links in that channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.AttachFiles))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to attach files in that channel!\");\n        if (!channel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel))\n          return client.errorMessages.createSlashError(interaction, \"❌ I don't have permission to view that channel!\");\n\n        const title = interaction.options.getString(\"title\") || \"🎉 Welcome to the server {user}!\";\n        const description = interaction.options.getString(\"description\") || \"> Welcome to **{guild}** We hope you enjoy your stay here!\";\n\n        await prismaClient.guildWelcomeMessage.upsert({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          update: {\n            channelId: channel.id,\n            title: shortenText(title, 250),\n            description: shortenText(description, 2040),\n            enabled: true,\n          },\n          create: {\n            guildId: interaction.guild.id,\n            channelId: channel.id,\n            title: shortenText(title, 250),\n            description: shortenText(description, 2040),\n            enabled: true,\n          },\n        });\n\n        const embed = new EmbedBuilder() // prettier\n          .setTitle(\"✅ Success!\")\n          .setDescription(`> **Welcome messages have been enabled in ${channel.toString()}**`)\n          .setFields([\n            {\n              name: \"Embed title\",\n              value: codeBlock(title),\n              inline: false,\n            },\n            {\n              name: \"Embed description\",\n              value: codeBlock(description),\n              inline: false,\n            },\n          ])\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"disable\") {\n        await prismaClient.guildWelcomeMessage.update({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          data: {\n            enabled: false,\n          },\n        });\n\n        const embed = new EmbedBuilder() // prettier\n          .setTitle(\"✅ Success!\")\n          .setDescription(\"> **Welcome messages have been disabled**. You can enable them again by using `/welcome enable`\")\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        await interaction.followUp({ embeds: [embed] });\n      } else if (command === \"check\") {\n        const guild = await prismaClient.guild.findUnique({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          include: {\n            guildWelcomeMessage: true,\n          },\n        });\n\n        if (!guild?.guildWelcomeMessage || !guild.guildWelcomeMessage.enabled) {\n          const embed = new EmbedBuilder() // prettier\n            .setTitle(\"👋 Welcome messages are disabled\")\n            .setDescription(\"> Welcome messages are disabled, you can enable them by using `/welcome enable`\")\n            .setColor(guildSettings?.embedColor || client.config.defaultColor)\n            .setTimestamp()\n            .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({\n                size: 256,\n              }),\n            });\n\n          await interaction.followUp({ embeds: [embed] });\n        } else {\n          const channel = interaction.guild.channels.cache.get(guild.guildWelcomeMessage.channelId);\n\n          if (!channel) {\n            await prismaClient.guildWelcomeMessage.delete({\n              where: {\n                guildId: interaction.guild.id,\n              },\n            });\n\n            const embed = new EmbedBuilder() // prettier\n              .setTitle(\"👋 Welcome messages are disabled\")\n              .setDescription(\n                \">>> **Welcome messages have been disabled automatically** because the channel was deleted or I don't have permission to view it!\\nYou can enable them again by using `/welcome enable`\"\n              )\n              .setColor(guildSettings?.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n\n            await interaction.followUp({ embeds: [embed] });\n          } else {\n            const embed = new EmbedBuilder() // prettier\n              .setTitle(\"👋 Welcome messages are enabled\")\n              .setDescription(`>>> **Welcome messages are enabled in ${channel.toString()}!**\\n When a new member joins I will send a welcome message in that channel!`)\n              .setFields([\n                {\n                  name: \"Embed title\",\n                  value: codeBlock(guild.guildWelcomeMessage.title),\n                  inline: false,\n                },\n                {\n                  name: \"Embed description\",\n                  value: codeBlock(guild.guildWelcomeMessage.description),\n                  inline: false,\n                },\n              ])\n              .setColor(guildSettings?.embedColor || client.config.defaultColor)\n              .setTimestamp()\n              .setThumbnail(interaction.guild.iconURL({ size: 256 }))\n              .setFooter({\n                text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n                iconURL: interaction.user.displayAvatarURL({\n                  size: 256,\n                }),\n              });\n\n            await interaction.followUp({ embeds: [embed] });\n          }\n        }\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Reputation/rep.ts",
    "content": "import { cacheGet, cacheSet, cacheTTL } from \"@majoexe/database/redis\";\nimport { checkReputation, giveReputation, takeReputation, setReputation } from \"@majoexe/util/database\";\nimport { formatDuration } from \"@majoexe/util/functions/util\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  EmbedBuilder,\n  PermissionFlagsBits,\n  PermissionsBitField,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"rep\",\n  description: \"👍 Get the reputation of a user\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall],\n  usage: \"/rep <command>\",\n  options: [\n    {\n      name: \"get\",\n      description: \"👍 The user you want to get the reputation of\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/rep get <user>\",\n      options: [\n        {\n          name: \"user\",\n          description: \"The user you want to get the reputation of\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n      ],\n    },\n    {\n      name: \"give\",\n      description: \"➕ Give reputation to a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/rep give <user>\",\n      options: [\n        {\n          name: \"user\",\n          description: \"The user you want to give reputation to\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n      ],\n    },\n    {\n      name: \"take\",\n      description: \"➖ Take reputation from a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/rep take <user>\",\n      options: [\n        {\n          name: \"user\",\n          description: \"The user you want to take reputation from\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n      ],\n    },\n    {\n      name: \"set\",\n      description: \"👍 Set the reputation of a user\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/rep set <user> <amount>\",\n      //defaultMemberPermissions: [PermissionFlagsBits.Administrator],\n      options: [\n        {\n          name: \"user\",\n          description: \"The user you want to set the reputation of\",\n          required: true,\n          type: ApplicationCommandOptionType.User,\n        },\n        {\n          name: \"amount\",\n          description: \"The amount of reputation you want to set\",\n          required: true,\n          type: ApplicationCommandOptionType.Integer,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const type = interaction.options.getSubcommand();\n      if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n      if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n      if (!interaction.guildId) return client.errorMessages.createSlashError(interaction, \"❌ Unable to get server data. Please try again.\");\n      const user = interaction.options.getUser(\"user\");\n      if (!user) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid user.\");\n\n      const key = `user:${interaction.member.user.id}:reputation:${user.id}`;\n\n      if (type === \"get\") {\n        const rep = await checkReputation(user.id, interaction.guild.id);\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"👍 Reputation\")\n          .setDescription(`> ${user} has \\`${rep}\\` reputation points`)\n          .setThumbnail(user.displayAvatarURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      } else if (type === \"give\") {\n        if (user.id === interaction.member.user.id) return client.errorMessages.createSlashError(interaction, \"❌ You can't give reputation to yourself\");\n        if (user.bot) return client.errorMessages.createSlashError(interaction, \"❌ You can't give reputation to a bot\");\n\n        const time = await cacheGet(key);\n\n        if (time) {\n          const timeLeft = await cacheTTL(key);\n          return client.errorMessages.createSlashError(interaction, `❌ You can't give reputation to ${user} for another \\`${formatDuration(timeLeft * 1000)}\\``);\n        }\n\n        const rep = await giveReputation(user, interaction.guild.id);\n\n        await cacheSet(key, { userId: interaction.member.user.id, for: user.id, timeSet: Date.now() }, 24 * 60 * 60); // 24 hours\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"👍 Reputation\")\n          .setDescription(`> Successfully gave ${user} \\`1\\` reputation point. They now have *\\`${rep}\\`* reputation points`)\n          .setThumbnail(user.displayAvatarURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      } else if (type === \"take\") {\n        if (user.id === interaction.member.user.id) return client.errorMessages.createSlashError(interaction, \"❌ You can't take reputation from yourself\");\n        if (user.bot) return client.errorMessages.createSlashError(interaction, \"❌ You can't take reputation from a bot\");\n\n        const time = await cacheGet(key);\n\n        if (time) {\n          const timeLeft = await cacheTTL(key);\n          return client.errorMessages.createSlashError(interaction, `❌ You can't take reputation from ${user} for another \\`${formatDuration(timeLeft * 1000)}\\``);\n        }\n\n        const rep = await takeReputation(user, interaction.guild.id);\n\n        await cacheSet(key, { userId: interaction.member.user.id, for: user.id, timeSet: Date.now() }, 24 * 60 * 60); // 24 hours\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"👍 Reputation\")\n          .setDescription(`> Successfully took \\`1\\` reputation point from ${user}. They now have \\`${rep}\\` reputation points`)\n          .setThumbnail(user.displayAvatarURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      } else if (type === \"set\") {\n        const user = interaction.options.getUser(\"user\");\n        const amount = interaction.options.getInteger(\"amount\");\n\n        if (!user) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid user.\");\n        if (!amount) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid amount.\");\n\n        const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n        if (!userPermissions.has(PermissionFlagsBits.Administrator)) {\n          return client.errorMessages.createSlashError(interaction, \"❌ You don't have `Administrator` permissions to use this command\");\n        }\n\n        if (amount < 0) return client.errorMessages.createSlashError(interaction, \"❌ You can't set a user's reputation to a negative number\");\n\n        // 32-bit integer limit\n        if (amount >= 2147483647) return client.errorMessages.createSlashError(interaction, \"❌ You can't set a user's reputation to a number that is too large\");\n\n        if (user.bot) return client.errorMessages.createSlashError(interaction, \"❌ You can't set a bot's reputation\");\n\n        const rep = await setReputation(user, interaction.guild.id, amount);\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"👍 Reputation\")\n          .setDescription(`> Successfully set ${user} reputation to \\`${rep}\\` points`)\n          .setThumbnail(user.displayAvatarURL({ size: 256 }))\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ embeds: [embed] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Utility/ascii.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, AttachmentBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport figlet from \"figlet\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"ascii\",\n  description: \"✍️ Convert text to ASCII\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/ascii <text>\",\n  autocomplete: async (client, interaction) => {\n    const focusedOption = interaction.options.getFocused(true);\n    if (focusedOption.name === \"font\") {\n      const fonts = figlet.fontsSync();\n      const search = focusedOption.value.toLowerCase();\n      const filtered = fonts.filter((font) => font.toLowerCase().includes(search));\n      await interaction.respond(\n        filtered.slice(0, 25).map((font) => ({\n          name: font,\n          value: font,\n        }))\n      );\n    }\n  },\n  options: [\n    {\n      name: \"text\",\n      description: \"The text to convert\",\n      required: true,\n      type: ApplicationCommandOptionType.String,\n      maxLength: 500,\n    },\n    {\n      name: \"font\",\n      description: \"The font to use\",\n      required: false,\n      autocomplete: true,\n      type: ApplicationCommandOptionType.String,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      const font = interaction.options.getString(\"font\") || \"Standard\";\n\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to convert.\");\n\n      const fonts = figlet.fontsSync() as string[];\n\n      if (!fonts.includes(font)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid font to convert.\");\n      }\n\n      const textData = figlet.textSync(text, {\n        font: font as figlet.Fonts,\n      });\n\n      if (!textData) return client.errorMessages.createSlashError(interaction, \"❌ Failed to generate ASCII code, please try again.\");\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setTitle(`${client.config.emojis.success} Your ASCII code has been successfully generated!`)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      const attached = new AttachmentBuilder(Buffer.from(textData), {\n        name: \"ascii-code.txt\",\n      });\n\n      return interaction.followUp({ embeds: [embed], files: [attached] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Utility/base64.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, InteractionContextType, ApplicationIntegrationType, MessageFlags } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"base64\",\n  description: \"🔒 Encode or decode base64\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/base64 <encode/decode> <text>\",\n  options: [\n    {\n      name: \"encode\",\n      description: \"🗃️ Encode text to Base64 format\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/base64 encode <text>\",\n      options: [\n        {\n          name: \"text\",\n          description: \"The text to encode\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n          max_length: 500,\n        },\n      ],\n    },\n    {\n      name: \"decode\",\n      description: \"🗃️ Decode Base64 text\",\n      type: ApplicationCommandOptionType.Subcommand,\n      usage: \"/base64 decode <text>\",\n      options: [\n        {\n          name: \"text\",\n          description: \"The text to decode\",\n          required: true,\n          type: ApplicationCommandOptionType.String,\n          max_length: 500,\n        },\n      ],\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const type = interaction.options.getSubcommand();\n\n      if (type === \"encode\") {\n        const text = interaction.options.getString(\"text\");\n        if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to encode.\");\n\n        const encoded = Buffer.from(text).toString(\"base64\");\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"🗃️ Encode Base64\")\n          .setDescription(`> \\`${encoded}\\``)\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n      } else if (type === \"decode\") {\n        const text = interaction.options.getString(\"text\");\n        if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to decode.\");\n        const decoded = Buffer.from(text, \"base64\").toString(\"utf-8\");\n\n        const embed = new EmbedBuilder()\n          .setColor(guildSettings?.embedColor || client.config.defaultColor)\n          .setTimestamp()\n          .setTitle(\"🗃️ Decode Base64\")\n          .setDescription(`> \\`${decoded}\\``)\n          .setFooter({\n            text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n            iconURL: interaction.user.displayAvatarURL({\n              size: 256,\n            }),\n          });\n\n        return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n      }\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Utility/color.ts",
    "content": "import { invertColor } from \"@majoexe/util/images\";\nimport { createCanvas } from \"@napi-rs/canvas\";\nimport { Color, isColor } from \"coloras\";\nimport {\n  ApplicationCommandType,\n  ApplicationCommandOptionType,\n  AttachmentBuilder,\n  EmbedBuilder,\n  type ColorResolvable,\n  InteractionContextType,\n  ApplicationIntegrationType,\n} from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"color\",\n  description: \"🎨 Display color info\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/color [color]\",\n  options: [\n    {\n      name: \"color\",\n      description: \"The color to get info about\",\n      required: false,\n      type: ApplicationCommandOptionType.String,\n      max_length: 7,\n    },\n  ],\n  run: async (client, interaction) => {\n    try {\n      let color = interaction.options.getString(\"color\") || \"\";\n\n      let random = false;\n      if (!color) random = true;\n\n      if (!random && color && !color.startsWith(\"#\")) color = `#${color}`;\n\n      if (!random && !isColor(color).color) {\n        return client.errorMessages.createSlashError(interaction, \"❌ The color you provided is invalid. The color must be in hex format. Example: `#FF0000`\");\n      }\n\n      const value = random ? \"\" : color;\n      const colorInfo = new Color(value);\n      const hex = colorInfo.toHex();\n\n      const canvas = createCanvas(1024, 1024);\n      const context = canvas.getContext(\"2d\");\n      context.beginPath();\n      context.fillStyle = hex;\n      context.fillRect(0, 0, canvas.width, canvas.height);\n      context.closePath();\n\n      const ic = invertColor(hex);\n      context.font = \"bold 132px Quicksand\";\n      context.fillStyle = ic;\n      context.fillText(hex.toUpperCase(), canvas.width / 2 - context.measureText(hex.toUpperCase()).width / 2, canvas.height / 2 + 50);\n\n      const file = new AttachmentBuilder(canvas.toBuffer(\"image/png\"), {\n        name: \"color.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(random ? `${client.config.emojis.color} Random Color` : `${client.config.emojis.color} Color: ${hex}`)\n\n        .addFields([\n          {\n            name: \"HEX\",\n            value: `> \\`${hex}\\``,\n            inline: true,\n          },\n          {\n            name: \"RGB\",\n            value: `> \\`${colorInfo.toRgb()}\\``,\n            inline: true,\n          },\n          {\n            name: \"HSL\",\n            value: `> \\`${colorInfo.toHsl()}\\``,\n            inline: true,\n          },\n          {\n            name: \"HSV\",\n            value: `> \\`${colorInfo.toHsv()}\\``,\n            inline: true,\n          },\n          {\n            name: \"CMYK\",\n            value: `> \\`${colorInfo.toCmyk()}\\``,\n            inline: true,\n          },\n        ])\n        .setImage(\"attachment://color.png\")\n        .setColor(colorInfo.toHex() as ColorResolvable)\n        .setTimestamp()\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ embeds: [embed], files: [file] });\n    } catch (err) {\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Utility/minecraft.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport fetch from \"node-fetch\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ninterface MinecraftServer {\n  ip: string;\n  port: number;\n  debug: boolean;\n  error: boolean;\n  description: string;\n  latency: number;\n  version: {\n    name: string;\n    protocol: number;\n  };\n  motd: {\n    raw: string[];\n    clean: string[];\n  };\n  players: {\n    online: number;\n    max: number;\n    list: string[];\n  };\n  online: boolean;\n}\n\nexport default {\n  name: \"minecraft\",\n  description: \"🌳 Display minecraft server info\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/minecraft <server ip> [bedrock]\",\n  options: [\n    {\n      name: \"server_ip\",\n      description: \"The IP of the server to get info about\",\n      required: true,\n      type: ApplicationCommandOptionType.String,\n    },\n    {\n      name: \"bedrock\",\n      description: \"Display bedrock info\",\n      required: false,\n      type: ApplicationCommandOptionType.Boolean,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const serverIp = interaction.options.getString(\"server_ip\");\n      if (!serverIp) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid server IP.\");\n\n      const bedrock = interaction.options.getBoolean(\"bedrock\") || false;\n\n      // Sanitize and format server IP\n      const sanitizedIp = serverIp.includes(\":\") ? serverIp : `${serverIp}:25565`;\n\n      const apiUrl = bedrock ? `https://api.mcsrvstat.us/bedrock/2/${serverIp}` : `https://api.mcsrvstat.us/2/${sanitizedIp}`;\n\n      const request = await fetch(apiUrl);\n\n      if (!request.ok) {\n        console.error(`API Request Failed: ${apiUrl}`);\n        return client.errorMessages.createSlashError(interaction, \"❌ We couldn't get the server info, please try again later\");\n      }\n\n      const json = (await request.json()) as MinecraftServer;\n\n      if (json.error || (!json.ip && !json.online)) {\n        console.error(`API Response Error for ${serverIp}:`, json);\n        return client.errorMessages.createSlashError(interaction, \"❌ We couldn't get the server info, please ensure the IP/domain is correct\");\n      }\n\n      const embed = new EmbedBuilder()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setAuthor({\n          name: `${serverIp} (${bedrock ? \"Bedrock\" : \"Java\"})`,\n          iconURL: `https://api.mcsrvstat.us/icon/${serverIp.replace(\":\", \"/\")}`,\n        })\n        .setThumbnail(`https://api.mcsrvstat.us/icon/${serverIp.replace(\":\", \"/\")}`)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      const fields = [];\n\n      if (json.online) {\n        fields.push({\n          name: `${client.config.emojis.status_online} Status`,\n          value: \"> \\`Online\\`\",\n          inline: true,\n        });\n      } else {\n        fields.push({\n          name: `${client.config.emojis.status_dnd} Status`,\n          value: \"> \\`Offline\\`\",\n          inline: true,\n        });\n      }\n\n      if (json.players && json.players.max && json.players.online) {\n        fields.push({\n          name: `${client.config.emojis.member} Players`,\n          value: `> \\`${json.players.online}/${json.players.max}\\``,\n          inline: true,\n        });\n      }\n\n      if (json.latency) {\n        fields.push({\n          name: `${client.config.emojis.status_online} Latency`,\n          value: `> \\`${json.latency}ms\\``,\n          inline: true,\n        });\n      }\n\n      if (json.version && json.version.name) {\n        fields.push({\n          name: `${client.config.emojis.stage_channel} Version`,\n          value: `> \\`${json.version.name}\\``,\n          inline: true,\n        });\n      }\n\n      if (json.motd && json.motd.raw[0]) {\n        embed.setDescription(\">>> \" + json.motd.raw[0].replace(/§[0-9A-FK-OR]/gi, \"\").replaceAll(\"`\", \"\"));\n      }\n\n      if (fields.length < 1) {\n        fields.push({\n          name: \"No Info\",\n          value: \"> Unable to fetch details\",\n          inline: true,\n        });\n      } else {\n        embed.addFields(fields);\n      }\n\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      console.error(\"Error fetching server info:\", err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Utility/qrcode.ts",
    "content": "import { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, AttachmentBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport QRCode from \"qrcode\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default {\n  name: \"qrcode\",\n  description: \"📱 Generate a QR code\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/qrcode <text>\",\n  options: [\n    {\n      name: \"text\",\n      description: \"Text to generate QR code\",\n      required: true,\n      type: ApplicationCommandOptionType.String,\n      max_length: 512,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to generate a QR code.\");\n\n      const qrCode = await QRCode.toDataURL(text);\n\n      const [, qrCodeData] = qrCode.split(\",\");\n      if (!qrCodeData) return client.errorMessages.createSlashError(interaction, \"❌ Failed to generate QR code, please try again.\");\n      const attachment = new AttachmentBuilder(Buffer.from(qrCodeData, \"base64\"), {\n        name: \"qrcode.png\",\n      });\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"📱 QR Code\")\n        .setDescription(`>>> **QR Code for \\`${text}\\`**`)\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setImage(\"attachment://qrcode.png\")\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n      return interaction.followUp({ embeds: [embed], files: [attachment] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/commands/Utility/translate.ts",
    "content": "import translate from \"@iamtraction/google-translate\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport { ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder, ApplicationIntegrationType, InteractionContextType } from \"discord.js\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\ntype Translator = typeof translate & {\n  languages: {\n    [key: string]: string | ((language: string) => boolean | string);\n    isSupported: (language: string) => boolean;\n    getISOCode: (language: string) => string;\n  };\n};\nconst translator = translate as Translator;\n\nexport default {\n  name: \"translate\",\n  description: \"🈯 Translate text\",\n  type: ApplicationCommandType.ChatInput,\n  cooldown: 5000,\n  contexts: [InteractionContextType.Guild, InteractionContextType.BotDM, InteractionContextType.PrivateChannel],\n  integrationTypes: [ApplicationIntegrationType.GuildInstall, ApplicationIntegrationType.UserInstall],\n  usage: \"/translate <text> [to] [from]\",\n  autocomplete: async (client, interaction) => {\n    const focusedOption = interaction.options.getFocused(true);\n\n    if (focusedOption.name === \"to\" || focusedOption.name === \"from\") {\n      let languages = Object.entries(translator.languages).filter(([, value]) => typeof value === \"string\");\n\n      if (focusedOption.value) {\n        const search = focusedOption.value.toLowerCase();\n        languages = languages.filter(([, value]) => typeof value === \"string\" && value.toLowerCase().includes(search));\n      }\n\n      await interaction.respond(\n        languages.slice(0, 25).map(([key, value]) => ({\n          name: typeof value === \"string\" ? value : \"Unknown\",\n          value: key,\n        }))\n      );\n    }\n  },\n  options: [\n    {\n      name: \"text\",\n      description: \"The text you want to translate\",\n      type: ApplicationCommandOptionType.String,\n      required: true,\n      maxLength: 512,\n    },\n    {\n      name: \"to\",\n      description: \"The language you want to translate to\",\n      autocomplete: true,\n      type: ApplicationCommandOptionType.String,\n      maxLength: 60,\n    },\n    {\n      name: \"from\",\n      description: \"The language you want to translate from\",\n      autocomplete: true,\n      type: ApplicationCommandOptionType.String,\n      maxLength: 60,\n    },\n  ],\n  run: async (client, interaction, guildSettings) => {\n    try {\n      const text = interaction.options.getString(\"text\");\n      const to = interaction.options.getString(\"to\") || \"en\";\n      const from = interaction.options.getString(\"from\") || \"auto\";\n\n      if (!text) return client.errorMessages.createSlashError(interaction, \"❌ Please provide a valid text to translate.\");\n\n      if (!translator.languages.isSupported(to)) return client.errorMessages.createSlashError(interaction, \"❌ The language you want to translate to is not supported.\");\n      if (!translator.languages.isSupported(from)) return client.errorMessages.createSlashError(interaction, \"❌ The language you want to translate from is not supported.\");\n\n      const response = await translator(text, { from, to });\n      if (!response.text) return client.errorMessages.createSlashError(interaction, \"❌ We couldn't translate the text, please try again later\");\n\n      const translatedFrom = translator.languages[response.from.language.iso];\n      const translatedTo = translator.languages[to];\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"🈯 Translated Text\")\n        .setFields([\n          {\n            name: \"Translated to\",\n            value: `${translatedTo || \"English\"}`,\n            inline: true,\n          },\n          {\n            name: \"Translated from\",\n            value: `${translatedFrom || \"Auto\"}`,\n            inline: true,\n          },\n          {\n            name: \"Translation\",\n            value: shortenText(response.text, 1090),\n          },\n        ])\n        .setTimestamp()\n        .setColor(guildSettings?.embedColor || client.config.defaultColor)\n        .setFooter({\n          text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n        });\n\n      return interaction.followUp({ embeds: [embed] });\n    } catch (err) {\n      console.log(err);\n      client.errorMessages.internalError(interaction, err);\n    }\n  },\n} satisfies SlashCommand;\n"
  },
  {
    "path": "apps/bot/events/client/GuildCreate.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Logger } from \"@majoexe/util/functions/util\";\nimport type { Guild } from \"discord.js\";\n\nexport async function GuildCreate({ guild }: { guild: Guild }): Promise<void> {\n  try {\n    await prismaClient.guild.upsert({\n      where: {\n        guildId: guild.id,\n      },\n      update: {},\n      create: {\n        guildId: guild.id,\n      },\n    });\n  } catch (error: unknown) {\n    Logger(\"error\", \"Failed to create guild:\", error);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/client/GuildDelete.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Logger } from \"@majoexe/util/functions/util\";\nimport type { Guild } from \"discord.js\";\n\nexport async function GuildDelete({ guild }: { guild: Guild }): Promise<void> {\n  try {\n    const guildExists = await prismaClient.guild.findFirst({\n      where: {\n        guildId: guild.id,\n      },\n    });\n\n    if (guildExists) {\n      await prismaClient.guild.delete({\n        where: {\n          guildId: guild.id,\n        },\n      });\n    }\n  } catch (error: unknown) {\n    Logger(\"error\", \"Failed to create guild:\", error);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/client/clientReady.ts",
    "content": "import topggSDK from \"@top-gg/sdk\";\nimport { PresenceUpdateStatus, ActivityType, RESTPutAPIApplicationCommandsJSONBody } from \"discord.js\";\nimport { postBotCommands, postBotStats } from \"discordbotlist\";\nimport type { Majobot } from \"@/index\";\n\nexport async function clientReady(client: Majobot) {\n  if (!client.user) return client.debugger(\"error\", \"Client user is not available!\");\n  if (!client.application) return client.debugger(\"error\", \"Client application is not available!\");\n\n  const registerTime = performance.now();\n  client.debugger(\"info\", \"Registering slash commands...\");\n\n  client.application.commands\n    .set(client.slashCommands.map((command) => command))\n    .catch((error: Error) => {\n      client.debugger(\"error\", error);\n    })\n    .then((commands) => {\n      if (commands) {\n        const percentage = Math.round((commands.size / client.slashCommands.size) * 100);\n        client.debugger(\n          \"ready\",\n          `Successfully registered ${commands.size + client.additionalSlashCommands} (${percentage}%) slash commands (with ${client.additionalSlashCommands} subcommands) in ${client.performance(registerTime)}`\n        );\n      } else {\n        client.debugger(\"error\", \"Failed to register commands.\");\n      }\n    });\n\n  client.debugger(\"ready\", `Logged in as ${client.user.tag}, ID: ${client.user.id}`);\n\n  if (process.env.TOPGG_API_KEY) {\n    const topgg = new topggSDK.Api(process.env.TOPGG_API_KEY);\n\n    setInterval(async () => {\n      client.debugger(\"info\", \"Posting stats to top.gg\");\n      await topgg.postStats({\n        serverCount: client.guilds.cache.size,\n        shardCount: client.ws.shards.size,\n        shardId: client.ws.shards.first()?.id,\n      });\n    }, 300000); // 5 minutes\n  }\n\n  setInterval(async () => {\n    if (process.env.DISCORD_BOT_LIST_API_KEY && client.user) {\n      client.debugger(\"info\", \"Posting stats to discordbotlist.com\");\n      await postBotStats(process.env.DISCORD_BOT_LIST_API_KEY, client.user.id, {\n        guilds: client.guilds.cache.size,\n        users: client.users.cache.size,\n      });\n\n      await postBotCommands(\n        process.env.DISCORD_BOT_LIST_API_KEY,\n        client.user.id,\n        client.slashCommands.map((command) => command) as unknown as RESTPutAPIApplicationCommandsJSONBody\n      );\n    }\n  }, 300000); // 5 minutes\n\n  setInterval(async () => {\n    if (!client.user) return;\n    client.user.setActivity(client.config.presence.activity.type === ActivityType.Custom ? client.config.presence.activity.state : client.config.presence.activity.name, {\n      type: client.config.presence.activity.type,\n    });\n    client.user.setStatus(client.config.presence.status ?? PresenceUpdateStatus.Online);\n  }, 60000); // 1 minute\n}\n"
  },
  {
    "path": "apps/bot/events/guild/channelCreate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { NonThreadGuildBasedChannel, EmbedBuilder, time, ChannelType, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function channelCreate(client: Majobot, channel: NonThreadGuildBasedChannel) {\n  try {\n    if (!channel.guild) return;\n    const settings = await getGuildLogSettings(channel.guild.id, GuildLogType.ChannelCreate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = channel.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: `${channel.toString()} (${inlineCode(channel.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(channel.id),\n      },\n      {\n        name: \"Type\",\n        value: inlineCode(ChannelType[channel.type]),\n      },\n      {\n        name: \"Created At\",\n        value: time(channel.createdAt),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📢 Channel Created\")\n      .setFields(fields)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Channel created\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/channelDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { NonThreadGuildBasedChannel, EmbedBuilder, time, DMChannel, ChannelType, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function channelDelete(client: Majobot, channel: DMChannel | NonThreadGuildBasedChannel) {\n  try {\n    if (channel.type === ChannelType.DM) return;\n    if (!channel.guild) return;\n    const settings = await getGuildLogSettings(channel.guild.id, GuildLogType.ChannelDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = channel.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: `${channel.toString()} (${inlineCode(channel.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(channel.id),\n      },\n      {\n        name: \"Type\",\n        value: inlineCode(ChannelType[channel.type]),\n      },\n      {\n        name: \"Created At\",\n        value: time(channel.createdAt),\n      },\n      {\n        name: \"Deleted at\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📢 Channel Deleted\")\n      .setFields(fields)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Channel created\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/channelPinsUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { NonThreadGuildBasedChannel, EmbedBuilder, time, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function channelPinsUpdate(client: Majobot, channel: NonThreadGuildBasedChannel, timeUpdated: Date) {\n  try {\n    if (!channel.guild) return;\n    const settings = await getGuildLogSettings(channel.guild.id, GuildLogType.ChannelPinsUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = channel.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: `${channel.toString()} (${inlineCode(channel.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(channel.id),\n      },\n      {\n        name: \"Updated At\",\n        value: time(timeUpdated),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📌 Channel Pins Updated\")\n      .setFields(fields)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Pins updated\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/channelUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { NonThreadGuildBasedChannel, DMChannel, EmbedBuilder, time, ChannelType, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function channelUpdate(client: Majobot, oldChannel: DMChannel | NonThreadGuildBasedChannel, newChannel: DMChannel | NonThreadGuildBasedChannel) {\n  try {\n    if (newChannel.type === ChannelType.DM) return;\n    if (oldChannel.type === ChannelType.DM) return;\n\n    if (!oldChannel.guild || !newChannel.guild) return;\n    const settings = await getGuildLogSettings(newChannel.guild.id, GuildLogType.ChannelUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = newChannel.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: `${newChannel.toString()} (${inlineCode(newChannel.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(newChannel.id),\n      },\n      {\n        name: \"Type\",\n        value: inlineCode(ChannelType[newChannel.type]),\n      },\n      {\n        name: \"Updated At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    if (oldChannel.name !== newChannel.name) {\n      fields.push({\n        name: \"Old Name\",\n        value: inlineCode(oldChannel.name),\n      });\n      fields.push({\n        name: \"New Name\",\n        value: inlineCode(newChannel.name),\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"✏️ Channel Updated\")\n      .setFields(fields)\n      .setColor(\"#F59E0B\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Channel updated\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/emojiCreate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { GuildEmoji, EmbedBuilder, inlineCode, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function emojiCreate(client: Majobot, emoji: GuildEmoji) {\n  try {\n    if (!emoji.guild) return;\n    const settings = await getGuildLogSettings(emoji.guild.id, GuildLogType.GuildEmojiCreate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = emoji.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Emoji\",\n        value: `${emoji.toString()} (${inlineCode(emoji.name || \"N/A\")})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(emoji.id),\n      },\n      {\n        name: \"Created At\",\n        value: time(emoji.createdAt),\n      },\n      {\n        name: \"Created By\",\n        value: `${emoji.author?.toString() || \"N/A\"} (${inlineCode(emoji.author?.id || \"N/A\")})`,\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"🆕 Emoji Created\")\n      .setFields(fields)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Emoji created\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/emojiDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { GuildEmoji, EmbedBuilder, inlineCode, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function emojiDelete(client: Majobot, emoji: GuildEmoji) {\n  try {\n    if (!emoji.guild) return;\n    const settings = await getGuildLogSettings(emoji.guild.id, GuildLogType.GuildEmojiDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = emoji.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Emoji\",\n        value: `${emoji.toString()} (${inlineCode(emoji.name || \"None\")})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(emoji.id),\n      },\n      {\n        name: \"Deleted At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"❌ Emoji Deleted\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Emoji deleted\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/emojiUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { GuildEmoji, EmbedBuilder, inlineCode, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function emojiUpdate(client: Majobot, oldEmoji: GuildEmoji, newEmoji: GuildEmoji) {\n  try {\n    if (!newEmoji.guild) return;\n    const settings = await getGuildLogSettings(newEmoji.guild.id, GuildLogType.GuildEmojiUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = newEmoji.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Emoji\",\n        value: `${newEmoji.toString()} (${inlineCode(newEmoji.name || \"None\")})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(newEmoji.id),\n      },\n      {\n        name: \"Updated At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    if (oldEmoji.name !== newEmoji.name) {\n      fields.push({\n        name: \"Old Name\",\n        value: inlineCode(oldEmoji.name || \"None\"),\n      });\n      fields.push({\n        name: \"New Name\",\n        value: inlineCode(newEmoji.name || \"None\"),\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"✏️ Emoji Updated\")\n      .setFields(fields)\n      .setColor(\"#F59E0B\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Emoji updated\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/guildBanAdd.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { GuildBan, EmbedBuilder, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function guildBanAdd(client: Majobot, ban: GuildBan) {\n  try {\n    if (!ban.guild) return;\n    const settings = await getGuildLogSettings(ban.guild.id, GuildLogType.GuildBanAdd);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = ban.guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"User\",\n        value: `${ban.user.globalName || ban.user.username || \"Unknown\"} (${inlineCode(ban.user.id)})`,\n      },\n      {\n        name: \"Reason\",\n        value: inlineCode(ban.reason || \"No reason provided\"),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"🔨 User Banned\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: `Banned by ${ban.user.globalName || ban.user.username || \"Unknown\"}`,\n        iconURL: ban.user.displayAvatarURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/guildBanRemove.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { GuildBan, EmbedBuilder, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function guildBanRemove(client: Majobot, ban: GuildBan) {\n  try {\n    if (!ban.guild) return;\n    const settings = await getGuildLogSettings(ban.guild.id, GuildLogType.GuildBanRemove);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = ban.guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"User\",\n        value: `${ban.user.globalName || ban.user.username || \"Unknown\"} (${inlineCode(ban.user.id)})`,\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"🔓 User Unbanned\")\n      .setFields(fields)\n      .setColor(\"#10B981\")\n      .setTimestamp()\n      .setFooter({\n        text: `Unbanned by ${ban.user.globalName || ban.user.username || \"Unknown\"}`,\n        iconURL: ban.user.displayAvatarURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/guildMemberAdd.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport { EmbedBuilder, AttachmentBuilder, PermissionsBitField, type GuildMember } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport { createUserGuildCard } from \"@/util/images/createUserGuildCard\";\n\nexport async function guildMemberAdd(client: Majobot, member: GuildMember): Promise<void> {\n  if (!member || !member.user || !member.guild || !member.guild.available) return;\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: member.guild.id,\n    },\n    update: {},\n    create: {\n      guildId: member.guild.id,\n    },\n    include: {\n      guildWelcomeMessage: true,\n    },\n  });\n\n  if (guild.guildWelcomeMessage && guild.guildWelcomeMessage.enabled) {\n    try {\n      const welcomeChannel = member.guild.channels.cache.get(guild.guildWelcomeMessage.channelId);\n\n      if (!welcomeChannel) return;\n      if (!welcomeChannel.isTextBased()) return;\n\n      if (!member.guild.members.me) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.SendMessages)) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.EmbedLinks)) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.AttachFiles)) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.ViewChannel)) return;\n\n      if (!welcomeChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) return;\n      if (!welcomeChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.EmbedLinks)) return;\n      if (!welcomeChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.AttachFiles)) return;\n      if (!welcomeChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) return;\n\n      member.user.avatar = member.displayAvatarURL({\n        size: 128,\n      });\n\n      const welcomeImage = await createUserGuildCard(member.user, member.guild);\n\n      const attachment = new AttachmentBuilder(welcomeImage, {\n        name: \"welcome.png\",\n      });\n\n      const userName = member.user.globalName || member.user.username;\n      const guildName = member.guild.name;\n\n      const embedTitle = guild.guildWelcomeMessage.title.replaceAll(/{user}/g, userName).replaceAll(/{guild}/g, guildName);\n      const embedDescription = guild.guildWelcomeMessage.description.replaceAll(/{user}/g, userName).replaceAll(/{guild}/g, guildName);\n\n      const embed = new EmbedBuilder() // prettier\n        .setTitle(shortenText(embedTitle, 250))\n        .setDescription(shortenText(embedDescription, 2040))\n        .setColor(guild.guildWelcomeMessage.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setImage(\"attachment://welcome.png\");\n\n      welcomeChannel.send({ embeds: [embed], files: [attachment] });\n    } catch (error: unknown) {\n      client.debugger(\"error\", error);\n    }\n  }\n\n  const joins = await prismaClient.guildJoin.findFirst({\n    where: {\n      guildId: member.guild.id,\n      date: {\n        gte: new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()),\n      },\n    },\n  });\n\n  if (!joins) {\n    await prismaClient.guildJoin.create({\n      data: {\n        guild: {\n          connectOrCreate: {\n            where: { guildId: member.guild.id },\n            create: { guildId: member.guild.id },\n          },\n        },\n        date: new Date(),\n        joins: 1,\n      },\n    });\n  } else {\n    await prismaClient.guildJoin.update({\n      where: {\n        id: joins.id,\n      },\n      data: {\n        joins: {\n          increment: 1,\n        },\n      },\n    });\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/guildMemberRemove.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport { EmbedBuilder, AttachmentBuilder, PermissionsBitField, GuildMember } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport { createUserGuildCard } from \"@/util/images/createUserGuildCard\";\n\nexport async function guildMemberRemove(client: Majobot, member: GuildMember): Promise<void> {\n  if (!member || !member.user || !member.guild || !member.guild.available) return;\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: member.guild.id,\n    },\n    update: {},\n    create: {\n      guildId: member.guild.id,\n    },\n    include: {\n      guildLeaveMessage: true,\n    },\n  });\n\n  if (guild.guildLeaveMessage && guild.guildLeaveMessage.enabled) {\n    try {\n      const leaveChannel = member.guild.channels.cache.get(guild.guildLeaveMessage.channelId);\n\n      if (!leaveChannel) return;\n      if (!leaveChannel.isTextBased()) return;\n\n      if (!member.guild.members.me) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.SendMessages)) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.EmbedLinks)) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.AttachFiles)) return;\n      if (!member.guild.members.me.permissions.has(PermissionsBitField.Flags.ViewChannel)) return;\n\n      if (!leaveChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) return;\n      if (!leaveChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.EmbedLinks)) return;\n      if (!leaveChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.AttachFiles)) return;\n      if (!leaveChannel.permissionsFor(member.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) return;\n\n      member.user.avatar = member.displayAvatarURL({\n        size: 128,\n      });\n\n      const leaveImage = await createUserGuildCard(member.user, member.guild);\n\n      const attachment = new AttachmentBuilder(leaveImage, {\n        name: \"leave.png\",\n      });\n\n      const userName = member.user.globalName || member.user.username;\n      const guildName = member.guild.name;\n\n      const embedTitle = guild.guildLeaveMessage.title.replaceAll(/{user}/g, userName).replaceAll(/{guild}/g, guildName);\n      const embedDescription = guild.guildLeaveMessage.description.replaceAll(/{user}/g, userName).replaceAll(/{guild}/g, guildName);\n\n      const embed = new EmbedBuilder() // prettier\n        .setTitle(shortenText(embedTitle, 250))\n        .setDescription(shortenText(embedDescription, 2040))\n        .setColor(guild.guildLeaveMessage.embedColor || client.config.defaultColor)\n        .setTimestamp()\n        .setImage(\"attachment://leave.png\");\n\n      leaveChannel.send({ embeds: [embed], files: [attachment] });\n    } catch (error: unknown) {\n      client.debugger(\"error\", error);\n    }\n  }\n\n  const leaves = await prismaClient.guildLeave.findFirst({\n    where: {\n      guildId: member.guild.id,\n      date: {\n        gte: new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()),\n      },\n    },\n  });\n\n  if (!leaves) {\n    await prismaClient.guildLeave.create({\n      data: {\n        guild: {\n          connectOrCreate: {\n            where: { guildId: member.guild.id },\n            create: { guildId: member.guild.id },\n          },\n        },\n        date: new Date(),\n        leaves: 1,\n      },\n    });\n  } else {\n    await prismaClient.guildLeave.update({\n      where: {\n        id: leaves.id,\n      },\n      data: {\n        leaves: {\n          increment: 1,\n        },\n      },\n    });\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/guildUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Guild, EmbedBuilder, inlineCode, time, codeBlock } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function guildUpdate(client: Majobot, oldGuild: Guild, newGuild: Guild) {\n  try {\n    const settings = await getGuildLogSettings(newGuild.id, GuildLogType.GuildUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const logChannel = await newGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    console.log(oldGuild, newGuild);\n\n    const fields = [\n      {\n        name: \"Guild\",\n        value: `${newGuild.name} (${inlineCode(newGuild.id)})`,\n      },\n      {\n        name: \"Updated At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    if (oldGuild.nsfwLevel !== newGuild.nsfwLevel) {\n      fields.push({\n        name: \"Old NSFW Level\",\n        value: inlineCode(oldGuild.nsfwLevel.toString() || \"None\"),\n      });\n      fields.push({\n        name: \"New NSFW Level\",\n        value: inlineCode(newGuild.nsfwLevel.toString() || \"None\"),\n      });\n    }\n\n    if (oldGuild.splashURL() !== newGuild.splashURL()) {\n      fields.push({\n        name: \"Old Splash\",\n        value: oldGuild.splashURL() ? `[Link](${oldGuild.splashURL()})` : \"None\",\n      });\n      fields.push({\n        name: \"New Splash\",\n        value: newGuild.splashURL() ? `[Link](${newGuild.splashURL()})` : \"None\",\n      });\n    }\n\n    if (oldGuild.bannerURL() !== newGuild.bannerURL()) {\n      fields.push({\n        name: \"Old Banner\",\n        value: oldGuild.bannerURL() ? `[Link](${oldGuild.bannerURL()})` : \"None\",\n      });\n      fields.push({\n        name: \"New Banner\",\n        value: newGuild.bannerURL() ? `[Link](${newGuild.bannerURL()})` : \"None\",\n      });\n    }\n\n    if (oldGuild.description !== newGuild.description) {\n      fields.push({\n        name: \"Old Description\",\n        value: codeBlock(oldGuild.description || \"None\"),\n      });\n      fields.push({\n        name: \"New Description\",\n        value: codeBlock(newGuild.description || \"None\"),\n      });\n    }\n\n    if (oldGuild.rulesChannelId !== newGuild.rulesChannelId) {\n      fields.push({\n        name: \"Old Rules Channel\",\n        value: inlineCode(oldGuild.rulesChannelId || \"None\"),\n      });\n      fields.push({\n        name: \"New Rules Channel\",\n        value: inlineCode(newGuild.rulesChannelId || \"None\"),\n      });\n    }\n\n    if (oldGuild.publicUpdatesChannelId !== newGuild.publicUpdatesChannelId) {\n      fields.push({\n        name: \"Old Public Updates Channel\",\n        value: inlineCode(oldGuild.publicUpdatesChannelId || \"None\"),\n      });\n      fields.push({\n        name: \"New Public Updates Channel\",\n        value: inlineCode(newGuild.publicUpdatesChannelId || \"None\"),\n      });\n    }\n\n    if (oldGuild.safetyAlertsChannelId !== newGuild.safetyAlertsChannelId) {\n      fields.push({\n        name: \"Old Safety Alerts Channel\",\n        value: inlineCode(oldGuild.safetyAlertsChannelId || \"None\"),\n      });\n      fields.push({\n        name: \"New Safety Alerts Channel\",\n        value: inlineCode(newGuild.safetyAlertsChannelId || \"None\"),\n      });\n    }\n\n    if (oldGuild.name !== newGuild.name) {\n      fields.push({\n        name: \"Old Name\",\n        value: inlineCode(oldGuild.name),\n      });\n      fields.push({\n        name: \"New Name\",\n        value: inlineCode(newGuild.name),\n      });\n    }\n\n    if (oldGuild.icon !== newGuild.icon) {\n      fields.push({\n        name: \"Old Icon\",\n        value: oldGuild.iconURL() ? `[Link](${oldGuild.iconURL()})` : \"None\",\n      });\n      fields.push({\n        name: \"New Icon\",\n        value: newGuild.iconURL() ? `[Link](${newGuild.iconURL()})` : \"None\",\n      });\n    }\n\n    if (fields.length === 2) {\n      fields.push({\n        name: \"We couldn't find any changes\",\n        value: \"Due to the limitations of the Discord, we couldn't find any changes in the guild, check the audit logs for more information.\",\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"✏️ Guild Updated\")\n      .setFields(fields)\n      .setColor(\"#F59E0B\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Guild updated\",\n        iconURL: newGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/interactionCreate.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { cacheGet, cacheSet, cacheTTL } from \"@majoexe/database/redis\";\nimport { createUser } from \"@majoexe/util/database\";\nimport { formatDuration } from \"@majoexe/util/functions/util\";\nimport { ChannelType, EmbedBuilder, GuildMember, InteractionType, Message, MessageFlags, PermissionsBitField, type Interaction } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function interactionCreate(client: Majobot, interaction: Interaction): Promise<Message | void> {\n  try {\n    client.commandsRan++;\n\n    //#region Slash commands\n    if (interaction.isChatInputCommand()) {\n      const command = client.slashCommands.get(interaction.commandName);\n      if (!command) return;\n\n      if (client.config.displayCommandUsage) client.debugger(\"info\", `Command used: ${interaction.commandName} by ${interaction.user.username} (${interaction.user.id})`);\n\n      const shouldDefer = command.defer ?? true;\n      if (shouldDefer) await interaction.deferReply();\n\n      const { cooldown } = command;\n      const key = `user:${interaction.user.id}:timeout:${interaction.commandName}`;\n      const time = await cacheGet(key);\n\n      if (cooldown) {\n        if (time) {\n          const timeLeft = await cacheTTL(key);\n          const embed = new EmbedBuilder()\n            .setTitle(\"‼️ Slow down!\")\n            .setDescription(`You are on cooldown! Please wait \\`${formatDuration(timeLeft * 1000)}\\` before using this command again!`)\n            .setColor(\"#EF4444\")\n            .setTimestamp()\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n            });\n          return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n        } else {\n          await cacheSet(key, { userId: interaction.user.id, time: Date.now(), command: interaction.commandName }, cooldown / 1000);\n        }\n      }\n\n      if (interaction.guild) {\n        const guildSettings = await prismaClient.guild.upsert({\n          where: {\n            guildId: interaction.guild.id,\n          },\n          update: {},\n          create: {\n            guildId: interaction.guild.id,\n          },\n          select: {\n            embedColor: true,\n            publicPage: true,\n            vanity: true,\n            enableXPLevelUpMessage: true,\n            enableXPLevelUpMessageLastChanged: true,\n            enableXPLastChanged: true,\n\n            guildDisabledCommands: true,\n            guildDisabledCategories: true,\n          },\n        });\n\n        if (!interaction.channel || !interaction.channel.isTextBased() || !interaction.member) return;\n        if (interaction.channel.type !== ChannelType.GuildText) return;\n\n        const permissions = interaction.channel.permissionsFor(interaction.member as GuildMember);\n\n        const canManageGuild = permissions.has(PermissionsBitField.Flags.ManageGuild);\n        const canManageCategories = permissions.has(PermissionsBitField.Flags.Administrator);\n\n        const commandDisabled = guildSettings.guildDisabledCommands.some((cmd: { commandName: string }) => cmd.commandName === interaction.commandName);\n        const categoryDisabled = guildSettings.guildDisabledCategories.some((cat: { categoryName: string }) => cat.categoryName === command.category);\n\n        if (commandDisabled) {\n          const embed = new EmbedBuilder()\n            .setTitle(\"‼️ Command disabled\")\n            .setDescription(\n              `The command \\`${interaction.commandName}\\` is disabled in this server!${canManageGuild || canManageCategories ? \"\\n\\n**Note:** You can enable it again in the dashboard!\" : \"\"}`\n            )\n            .setColor(\"#EF4444\")\n            .setTimestamp()\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n            });\n\n          return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n        }\n\n        if (categoryDisabled) {\n          const embed = new EmbedBuilder()\n            .setTitle(\"‼️ Command category disabled\")\n            .setDescription(\n              `The category \\`${command.category}\\` is disabled in this server!${canManageGuild || canManageCategories ? \"\\n\\n**Note:** You can enable it again in the dashboard!\" : \"\"}`\n            )\n            .setColor(\"#EF4444\")\n            .setTimestamp()\n            .setFooter({\n              text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n              iconURL: interaction.user.displayAvatarURL({ size: 256 }),\n            });\n\n          return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n        }\n\n        await createUser(interaction.member.user);\n\n        await command.run(client, interaction, guildSettings);\n      } else {\n        await createUser(interaction.user);\n\n        await command.run(client, interaction);\n      }\n\n      // #endregion\n      // #region Modals\n    } else if (interaction.isModalSubmit()) {\n      const modal = client.modals.get(interaction.customId);\n      if (!modal) return;\n\n      if (!interaction.guild) return;\n\n      if (interaction.type !== InteractionType.ModalSubmit) return;\n      if (!interaction.member) await interaction.guild.members.fetch(interaction.user.id);\n      if (!interaction.member) return;\n\n      if (client.config.displayModalUsage) client.debugger(\"info\", `Modal used: ${interaction.customId} by ${interaction.user.username} (${interaction.user.id})`);\n\n      await prismaClient.guild.upsert({\n        where: {\n          guildId: interaction.guild.id,\n        },\n        update: {},\n        create: {\n          guildId: interaction.guild.id,\n        },\n      });\n\n      await createUser(interaction.member.user);\n\n      await modal.run(client, interaction);\n\n      // #endregion\n      // #region Autocomplete\n    } else if (interaction.isAutocomplete()) {\n      const command = client.slashCommands.get(interaction.commandName);\n      if (!command) return;\n      if (command.autocomplete && typeof command.autocomplete === \"function\") await command.autocomplete(client, interaction);\n    }\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/inviteCreate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Invite, Guild, EmbedBuilder, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function inviteCreate(client: Majobot, invite: Invite) {\n  try {\n    if (!invite.guild) return;\n    const settings = await getGuildLogSettings(invite.guild.id, GuildLogType.InviteCreate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = invite.guild as Guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Invite\",\n        value: `[${invite.code}](${invite.url})`,\n      },\n      {\n        name: \"Uses\",\n        value: invite.uses?.toString() || \"Unlimited\",\n      },\n      {\n        name: \"Expires\",\n        value: invite.expiresAt ? time(invite.expiresAt) : \"Never\",\n      },\n    ];\n\n    if (invite.channel) {\n      fields.push({\n        name: \"Channel\",\n        value: invite.channel.toString(),\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📨 Invite Created\")\n      .setFields(fields)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: `Created by ${invite.inviter?.globalName || invite.inviter?.username || \"Unknown\"}`,\n        iconURL: invite.inviter?.displayAvatarURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/inviteDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Invite, Guild, EmbedBuilder, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function inviteDelete(client: Majobot, invite: Invite) {\n  try {\n    if (!invite.guild) return;\n    const settings = await getGuildLogSettings(invite.guild.id, GuildLogType.InviteDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = invite.guild as Guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Invite\",\n        value: `[${invite.code}](${invite.url})`,\n      },\n      {\n        name: \"Uses\",\n        value: invite.uses?.toString() || \"Unlimited\",\n      },\n      {\n        name: \"Expires\",\n        value: invite.expiresAt ? time(invite.expiresAt) : \"Never\",\n      },\n    ];\n\n    if (invite.channel) {\n      fields.push({\n        name: \"Channel\",\n        value: invite.channel.toString(),\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📨 Invite Deleted\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: `Deleted by ${invite.inviter?.globalName || invite.inviter?.username || \"Unknown\"}`,\n        iconURL: invite.inviter?.displayAvatarURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/messageBulkDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Collection, Message, EmbedBuilder, inlineCode } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function messageBulkDelete(client: Majobot, messages: Collection<string, Message>): Promise<void> {\n  try {\n    if (messages.size === 0) return;\n    const firstMessage = messages.first();\n    if (!firstMessage?.guild) return;\n    const settings = await getGuildLogSettings(firstMessage.guild.id, GuildLogType.MessageBulkDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = firstMessage.guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: firstMessage.channel.toString(),\n      },\n      {\n        name: \"Messages Deleted\",\n        value: inlineCode(messages.size.toString()),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"🗑️ Bulk Message Deleted\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: `Bulk delete by ${firstMessage.author.globalName || firstMessage.author.username || \"Unknown\"}`,\n        iconURL: firstMessage.guild.iconURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/messageCreate.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { cacheGet, cacheSet } from \"@majoexe/database/redis\";\nimport { fetchXPSettings } from \"@majoexe/util/database\";\nimport { EmbedBuilder, AttachmentBuilder, PermissionsBitField, ButtonBuilder, ChannelType, ActionRowBuilder, ButtonStyle, Message } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport { createXPCard } from \"@/util/images/createXPCard\";\n\nexport async function messageCreate(client: Majobot, message: Message): Promise<Message | void> {\n  if (!message.guild || !message.guild.available) return;\n  if (message.author.bot) return;\n  if (!client.user) return;\n\n  if (message.mentions.users.has(client.user.id) && (!message.reference || !message.reference.messageId)) {\n    const embed = new EmbedBuilder()\n      .setTitle(\"👋 Hello!\")\n      .setDescription(\n        `Hello ${message.author}! I'm ${client.user.username}, a multi-purpose Discord bot created for **Memes, Image editing, Giveaways, Moderation, Anime and even more!** 🎉\n\n   **You can find the list of all my commands by typing \\`/help\\`** ${client.config.url ? `or by visiting [my dashboard](${client.config.url}/commands)` : \"\"}.\n\n   ${client.config.url ? `**If you want to invite me to your server, you can do so by clicking [here](${client.config.url})**` : \"\"}`\n      )\n      .setColor(client.config.defaultColor)\n      .setTimestamp()\n      .setFooter({\n        text: `Requested by ${message.author.globalName || message.author.username}`,\n        iconURL: message.author.displayAvatarURL({ size: 256 }),\n      });\n\n    if (client.config.url) {\n      const action = new ActionRowBuilder<ButtonBuilder>() // prettier\n        .addComponents(\n          new ButtonBuilder() // prettier\n            .setLabel(\"Dashboard\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(client.config.url),\n          new ButtonBuilder() // prettier\n            .setLabel(\"Invite\")\n            .setStyle(ButtonStyle.Link)\n            .setURL(`${client.config.url}/invite`)\n        );\n\n      return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false }, components: [action] });\n    } else {\n      return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });\n    }\n  }\n\n  // Only count messages in guild text channels\n  if (![ChannelType.GuildText, ChannelType.GuildForum, ChannelType.PublicThread, ChannelType.PrivateThread].includes(message.channel.type)) return;\n\n  const date = new Date();\n\n  const messages = await prismaClient.guildMessage.findFirst({\n    where: {\n      guildId: message.guild.id,\n      date: {\n        gte: new Date(date.getFullYear(), date.getMonth(), date.getDate()),\n      },\n    },\n  });\n\n  if (!messages) {\n    await prismaClient.guildMessage.create({\n      data: {\n        guild: {\n          connectOrCreate: {\n            where: { guildId: message.guild.id },\n            create: { guildId: message.guild.id },\n          },\n        },\n        date: new Date(),\n        messages: 1,\n      },\n    });\n  } else {\n    await prismaClient.guildMessage.update({\n      where: {\n        id: messages.id,\n      },\n      data: {\n        messages: {\n          increment: 1,\n        },\n      },\n    });\n  }\n\n  const settings = await fetchXPSettings(message.guild.id);\n\n  if (!settings || !settings.enableXP) return;\n\n  const key = `user:${message.author.id}:xp:${message.guild.id}`;\n  const timeout = await cacheGet(key);\n\n  if (timeout) return;\n  const random = Math.floor(Math.random() * 60) + 1;\n\n  const xp = await prismaClient.guildXp.findFirst({\n    where: {\n      guildId: message.guild.id,\n      userId: message.author.id,\n    },\n  });\n\n  await cacheSet(key, { time: Date.now() }, 60); // 1 minute\n\n  if (!xp) {\n    await prismaClient.guildXp.create({\n      data: {\n        guild: {\n          connectOrCreate: {\n            where: { guildId: message.guild.id },\n            create: { guildId: message.guild.id },\n          },\n        },\n        user: {\n          connectOrCreate: {\n            where: {\n              discordId: message.author.id,\n            },\n            create: {\n              discordId: message.author.id,\n              name: message.author.username,\n              global_name: message.author.username,\n              avatar: message.author.avatar || null,\n              discriminator: message.author.discriminator,\n            },\n          },\n        },\n        xp: random,\n      },\n    });\n    return;\n  }\n\n  await prismaClient.guildXp.updateMany({\n    where: {\n      guildId: message.guild.id,\n      userId: message.author.id,\n    },\n    data: {\n      xp: {\n        increment: random,\n      },\n    },\n  });\n\n  if (!settings.enableXPLevelUpMessage) return;\n\n  const level = Math.floor(0.1 * Math.sqrt(xp.xp));\n  const xpAfter = xp.xp + random;\n  const nextLevel = Math.floor(0.1 * Math.sqrt(xpAfter));\n\n  if (level < nextLevel) {\n    if (!message.channel) return;\n    if (message.channel.type !== ChannelType.GuildText) return;\n\n    const member = message.guild.members.me;\n    if (!member) return;\n\n    const permissions = message.channel.permissionsFor(member);\n    if (\n      !permissions.has(PermissionsBitField.Flags.SendMessages) ||\n      !permissions.has(PermissionsBitField.Flags.EmbedLinks) ||\n      !permissions.has(PermissionsBitField.Flags.AttachFiles)\n    ) {\n      return;\n    }\n\n    message.author.avatar = message.author.displayAvatarURL({ size: 128 });\n    const rank = await createXPCard(message.author, { xp: xpAfter, level: nextLevel, xpNeeded: Math.ceil(Math.pow((nextLevel + 1) / 0.1, 2)) }, \"#10B981\");\n\n    const attachment = new AttachmentBuilder(rank, {\n      name: \"rank.png\",\n    });\n\n    const embed = new EmbedBuilder() // prettier\n      .setTitle(\"🎉 Level up!\")\n      .setDescription(`Congratulations ${message.author}! You have leveled up to level **${nextLevel}**!`)\n      .setColor(\"#10B981\")\n      .setTimestamp()\n      .setImage(\"attachment://rank.png\");\n\n    await message.channel.send({ embeds: [embed], files: [attachment] });\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/messageDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Message, EmbedBuilder, time, escapeCodeBlock, codeBlock } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function messageDelete(client: Majobot, message: Message): Promise<void> {\n  try {\n    if (!message.guild) return;\n    const settings = await getGuildLogSettings(message.guild.id, GuildLogType.MessageDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = message.guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: message.channel.toString(),\n      },\n      {\n        name: \"Author\",\n        value: message.author.toString(),\n      },\n      {\n        name: \"Date deleted\",\n        value: time(new Date()),\n      },\n      {\n        name: \"Content\",\n        value: codeBlock(escapeCodeBlock(message.content) || \"No content\"),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"🗑️ Message Deleted\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: `Deleted by ${message.author?.globalName || message.author?.username || \"Unknown\"}`,\n        iconURL: message.author?.displayAvatarURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/messageUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Message, EmbedBuilder, escapeCodeBlock, time, codeBlock } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function messageUpdate(client: Majobot, oldMessage: Message, newMessage: Message) {\n  try {\n    if (!oldMessage.guild || !newMessage.guild) return;\n    if (oldMessage.embeds.length || newMessage.embeds.length) return;\n    const settings = await getGuildLogSettings(newMessage.guild.id, GuildLogType.MessageUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = newMessage.guild;\n    const channel = await discordGuild.channels.fetch(settings.channelId);\n    if (!channel || !channel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Channel\",\n        value: oldMessage.channel.toString(),\n      },\n      {\n        name: \"Author\",\n        value: oldMessage.author.toString(),\n      },\n      {\n        name: \"Date edited\",\n        value: time(newMessage.editedAt || new Date()),\n      },\n      {\n        name: \"Old content\",\n        value: codeBlock(escapeCodeBlock(oldMessage.content) || \"No content\"),\n      },\n      {\n        name: \"New content\",\n        value: codeBlock(escapeCodeBlock(newMessage.content) || \"No content\"),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"✏️ Message Updated\")\n      .setFields(fields)\n      .setColor(\"#F59E0B\")\n      .setTimestamp()\n      .setFooter({\n        text: `Updated by ${oldMessage.author.globalName || oldMessage.author.username || \"Unknown\"}`,\n        iconURL: oldMessage.author.displayAvatarURL({ size: 256 }) || undefined,\n      });\n\n    channel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/roleCreate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Role, EmbedBuilder, inlineCode, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function roleCreate(client: Majobot, role: Role) {\n  try {\n    if (!role.guild) return;\n    const settings = await getGuildLogSettings(role.guild.id, GuildLogType.GuildRoleCreate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = role.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Role\",\n        value: `${role.toString()} (${inlineCode(role.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(role.id),\n      },\n      {\n        name: \"Created At\",\n        value: time(role.createdAt),\n      },\n      {\n        name: \"Color\",\n        value: inlineCode(role.hexColor),\n      },\n      {\n        name: \"Mentionable\",\n        value: inlineCode(role.mentionable ? \"Yes\" : \"No\"),\n      },\n      {\n        name: \"Displayed Separately\",\n        value: inlineCode(role.hoist ? \"Yes\" : \"No\"),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"➕ Role Created\")\n      .setFields(fields)\n      .setColor(\"#10B981\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Role created\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/roleDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Role, EmbedBuilder, inlineCode, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function roleDelete(client: Majobot, role: Role) {\n  try {\n    if (!role.guild) return;\n    const settings = await getGuildLogSettings(role.guild.id, GuildLogType.GuildRoleDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = role.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Role\",\n        value: `${role.toString()} (${inlineCode(role.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(role.id),\n      },\n      {\n        name: \"Deleted At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n      {\n        name: \"Color\",\n        value: inlineCode(role.hexColor),\n      },\n      {\n        name: \"Mentionable\",\n        value: inlineCode(role.mentionable ? \"Yes\" : \"No\"),\n      },\n      {\n        name: \"Displayed Separately\",\n        value: inlineCode(role.hoist ? \"Yes\" : \"No\"),\n      },\n    ];\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"❌ Role Deleted\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Role deleted\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/roleUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Role, EmbedBuilder, inlineCode, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function roleUpdate(client: Majobot, oldRole: Role, newRole: Role) {\n  try {\n    if (!newRole.guild) return;\n    const settings = await getGuildLogSettings(newRole.guild.id, GuildLogType.GuildRoleUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = newRole.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Role\",\n        value: `${newRole.toString()} (${inlineCode(newRole.name)})`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(newRole.id),\n      },\n      {\n        name: \"Updated At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    if (oldRole.name !== newRole.name) {\n      fields.push({\n        name: \"Old Name\",\n        value: inlineCode(oldRole.name),\n      });\n      fields.push({\n        name: \"New Name\",\n        value: inlineCode(newRole.name),\n      });\n    }\n\n    if (oldRole.hexColor !== newRole.hexColor) {\n      fields.push({\n        name: \"Old Color\",\n        value: inlineCode(oldRole.hexColor),\n      });\n      fields.push({\n        name: \"New Color\",\n        value: inlineCode(newRole.hexColor),\n      });\n    }\n\n    if (oldRole.mentionable !== newRole.mentionable) {\n      fields.push({\n        name: \"Mentionable\",\n        value: inlineCode(newRole.mentionable ? \"Yes\" : \"No\"),\n      });\n    }\n\n    if (oldRole.hoist !== newRole.hoist) {\n      fields.push({\n        name: \"Displayed Separately\",\n        value: inlineCode(newRole.hoist ? \"Yes\" : \"No\"),\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"✏️ Role Updated\")\n      .setFields(fields)\n      .setColor(\"#F59E0B\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Role updated\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/stickerCreate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Sticker, EmbedBuilder, time, inlineCode, codeBlock, StickerFormatType } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function stickerCreate(client: Majobot, sticker: Sticker) {\n  try {\n    if (!sticker.guild) return;\n    const settings = await getGuildLogSettings(sticker.guild.id, GuildLogType.GuildStickerCreate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = sticker.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Sticker Name\",\n        value: `${inlineCode(sticker.name)}`,\n      },\n      {\n        name: \"Description\",\n        value: codeBlock(sticker.description || \"None\"),\n      },\n      {\n        name: \"Emoji\",\n        value: sticker.tags?.toString() || \"None\",\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(sticker.id),\n      },\n      {\n        name: \"Format\",\n        value: inlineCode(StickerFormatType[sticker.format] || \"Unknown\"),\n      },\n      {\n        name: \"Created At\",\n        value: time(sticker.createdAt),\n      },\n    ];\n\n    if (sticker.user) {\n      fields.push({\n        name: \"Creator\",\n        value: `${sticker.user.toString()} (${inlineCode(sticker.user.id)})`,\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📢 Sticker Created\")\n      .setFields(fields)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Sticker created\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/stickerDelete.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Sticker, EmbedBuilder, inlineCode, StickerFormatType, codeBlock, time } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function stickerDelete(client: Majobot, sticker: Sticker) {\n  try {\n    if (!sticker.guild) return;\n    const settings = await getGuildLogSettings(sticker.guild.id, GuildLogType.GuildStickerDelete);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = sticker.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Sticker Name\",\n        value: `${inlineCode(sticker.name)}`,\n      },\n      {\n        name: \"Description\",\n        value: codeBlock(sticker.description || \"None\"),\n      },\n      {\n        name: \"Emoji\",\n        value: sticker.tags?.toString() || \"None\",\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(sticker.id),\n      },\n      {\n        name: \"Format\",\n        value: inlineCode(StickerFormatType[sticker.format] || \"Unknown\"),\n      },\n      {\n        name: \"Deleted At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    if (sticker.user) {\n      fields.push({\n        name: \"Creator\",\n        value: `${sticker.user.toString()} (${inlineCode(sticker.user.id)})`,\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📢 Sticker Deleted\")\n      .setFields(fields)\n      .setColor(\"#EF4444\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Sticker deleted\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/events/guild/stickerUpdate.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { getGuildLogSettings } from \"@majoexe/util/database\";\nimport { Sticker, EmbedBuilder, time, inlineCode, codeBlock, StickerFormatType } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function stickerUpdate(client: Majobot, oldSticker: Sticker, newSticker: Sticker) {\n  try {\n    if (!newSticker.guild) return;\n    const settings = await getGuildLogSettings(newSticker.guild.id, GuildLogType.GuildStickerUpdate);\n    if (!settings?.enabled || !settings.channelId) return;\n    const discordGuild = newSticker.guild;\n    const logChannel = await discordGuild.channels.fetch(settings.channelId);\n    if (!logChannel || !logChannel.isTextBased()) return;\n\n    const fields = [\n      {\n        name: \"Sticker Name\",\n        value: `${inlineCode(newSticker.name)}`,\n      },\n      {\n        name: \"ID\",\n        value: inlineCode(newSticker.id),\n      },\n      {\n        name: \"Updated At\",\n        value: time(Math.round(Date.now() / 1000)),\n      },\n    ];\n\n    if (oldSticker.name !== newSticker.name) {\n      fields.push({\n        name: \"Old Name\",\n        value: inlineCode(oldSticker.name),\n      });\n      fields.push({\n        name: \"New Name\",\n        value: inlineCode(newSticker.name),\n      });\n    }\n\n    if (oldSticker.description !== newSticker.description) {\n      fields.push({\n        name: \"Old Description\",\n        value: codeBlock(oldSticker.description || \"None\"),\n      });\n      fields.push({\n        name: \"New Description\",\n        value: codeBlock(newSticker.description || \"None\"),\n      });\n    }\n\n    if (oldSticker.format !== newSticker.format) {\n      fields.push({\n        name: \"Old Format\",\n        value: inlineCode(StickerFormatType[oldSticker.format] || \"Unknown\"),\n      });\n      fields.push({\n        name: \"New Format\",\n        value: inlineCode(StickerFormatType[newSticker.format] || \"Unknown\"),\n      });\n    }\n\n    if (oldSticker.tags !== newSticker.tags) {\n      fields.push({\n        name: \"Old Emoji\",\n        value: oldSticker.tags?.toString() || \"None\",\n      });\n      fields.push({\n        name: \"New Emoji\",\n        value: newSticker.tags?.toString() || \"None\",\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📢 Sticker Updated\")\n      .setFields(fields)\n      .setColor(\"#F59E0B\")\n      .setTimestamp()\n      .setFooter({\n        text: \"Sticker updated\",\n        iconURL: discordGuild.iconURL({ size: 256 }) || undefined,\n      });\n\n    logChannel.send({ embeds: [embed] });\n  } catch (err: unknown) {\n    client.debugger(\"error\", err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/index.ts",
    "content": "import { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { globalConfig, botConfig, debuggerConfig, dashboardConfig, globalPermissions } from \"@majoexe/config\";\nimport { createErrorEmbed } from \"@majoexe/util/embeds\";\nimport { Logger, chalk } from \"@majoexe/util/functions/util\";\nimport type { GiveawaysManager } from \"discord-giveaways\";\nimport { Client, type CommandInteraction, GatewayIntentBits, Collection, MessageFlags } from \"discord.js\";\nimport giveaway from \"@/util/giveaway/core\";\nimport loadCommands from \"@/util/loaders/loadCommands\";\nimport loadEmojis from \"@/util/loaders/loadEmojis\";\nimport loadEvents from \"@/util/loaders/loadEvents\";\nimport loadFonts from \"@/util/loaders/loadFonts\";\nimport loadModals, { type Modal } from \"@/util/loaders/loadModals\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nconst cwd = dirname(fileURLToPath(import.meta.url));\nLogger(\"info\", `Current working directory: ${cwd}`);\nprocess.chdir(cwd);\n\nLogger(\"info\", \"Starting Majo.exe Bot...\");\nLogger(\"info\", `Running version v${process.env.npm_package_version} on Node.js ${process.version} on ${process.platform} ${process.arch}`);\nLogger(\"info\", \"Check out the source code at https://github.com/igorkowalczyk/majo.exe! Don't forget to star the repository, it helps a lot!\");\n\nclass Majobot extends Client {\n  // eslint-disable-next-line typescript/no-explicit-any\n  public config: Record<string, any> = {};\n  public modals: Collection<string, Modal> = new Collection();\n  public slashCommands: Collection<string, SlashCommand> = new Collection();\n  public additionalSlashCommands: number = 0;\n  public commandsRan: number = 0;\n  public giveawaysManager: GiveawaysManager = {} as GiveawaysManager;\n  public errorMessages: {\n    internalError: (interaction: CommandInteraction, error: unknown) => Promise<void>;\n    createSlashError: (interaction: CommandInteraction, description: string, title?: string) => void;\n  } = {\n    internalError: async (interaction: CommandInteraction, error: unknown): Promise<void> => {\n      Logger(\"error\", error?.toString() ?? \"Unknown error occurred\");\n      const embed = createErrorEmbed(\"An error occurred while executing this command. Please try again later.\", \"Unknown error occurred\");\n      await interaction.followUp({ embeds: [embed], flags: [MessageFlags.Ephemeral] });\n    },\n    createSlashError: (interaction: CommandInteraction, description: string, title?: string): void => {\n      const embed = createErrorEmbed(description, title);\n      embed.setFooter({\n        text: `Requested by ${interaction.user.globalName ?? interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL(),\n      });\n      interaction.followUp({ embeds: [embed], flags: [MessageFlags.Ephemeral] });\n    },\n  };\n  public debugger: (type: \"info\" | \"event\" | \"error\" | \"warn\" | \"ready\" | \"cron\", message: string | unknown) => void = (type, message) => {\n    Logger(type, message);\n  };\n  public performance: (time: number) => string = (time: number): string => {\n    const run = Math.floor(performance.now() - time);\n    return run > 500 ? chalk.underline.red(`${run}ms`) : chalk.underline(`${run}ms`);\n  };\n}\n\nconst client = new Majobot({\n  intents: [\n    GatewayIntentBits.Guilds,\n    GatewayIntentBits.GuildMembers,\n    GatewayIntentBits.GuildModeration,\n    GatewayIntentBits.GuildExpressions,\n    GatewayIntentBits.GuildIntegrations,\n    GatewayIntentBits.GuildWebhooks,\n    GatewayIntentBits.GuildInvites,\n    GatewayIntentBits.GuildVoiceStates,\n    // GatewayIntentBits.GuildPresences,\n    GatewayIntentBits.GuildMessages,\n    GatewayIntentBits.GuildMessageReactions,\n    // GatewayIntentBits.GuildMessageTyping,\n    // GatewayIntentBits.DirectMessages,\n    // GatewayIntentBits.DirectMessageReactions,\n    // GatewayIntentBits.DirectMessageTyping,\n    // GatewayIntentBits.MessageContent,\n    GatewayIntentBits.GuildScheduledEvents,\n    GatewayIntentBits.AutoModerationConfiguration,\n    GatewayIntentBits.AutoModerationExecution,\n    // GatewayIntentBits.GuildMessagePolls,\n    // GatewayIntentBits.DirectMessagePolls\n  ],\n});\n\nclient.config = {\n  ...botConfig,\n  ...globalPermissions,\n  ...globalConfig,\n  ...debuggerConfig,\n  ...dashboardConfig,\n};\n\nawait loadCommands(client);\nawait loadModals(client);\nawait loadFonts(client);\nawait loadEvents(client);\nawait loadEmojis(client);\n\nclient.giveawaysManager = giveaway(client) as unknown as GiveawaysManager;\n\nLogger(\"info\", \"Logging in...\");\n\nclient.on(\"debug\", (invite) => {\n  if (client.config.displayDebugMessages) Logger(\"info\", invite);\n});\n\nprocess.on(\"unhandledRejection\", (reason) => {\n  Logger(\"error\", `Unhandled rejection: ${reason}`);\n});\n\nprocess.on(\"uncaughtException\", (error) => {\n  Logger(\"error\", `Uncaught exception: ${error}`);\n});\n\nprocess.on(\"warning\", (warning) => {\n  Logger(\"warn\", `Warning: ${warning}`);\n});\n\nawait client.login(process.env.TOKEN);\n\nexport default client;\nexport type { Majobot };\n"
  },
  {
    "path": "apps/bot/modals/suggestion.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { cacheGet, cacheSet, cacheTTL } from \"@majoexe/database/redis\";\nimport { formatDuration } from \"@majoexe/util/functions/util\";\nimport { EmbedBuilder, MessageFlags, type ModalMessageModalSubmitInteraction } from \"discord.js\";\nimport type { Majobot } from \"..\";\n\nexport default {\n  id: \"suggestion\",\n  run: async (client: Majobot, interaction: ModalMessageModalSubmitInteraction) => {\n    if (!interaction.guild) return;\n\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    const suggestion = interaction.fields.getTextInputValue(\"suggestion\");\n    if (suggestion.length < 5 || suggestion.length > 500) {\n      const embed = new EmbedBuilder()\n        .setTitle(\"‼️ Your suggestion must be between 5 and 500 characters!\")\n        .setDescription(\"Please make sure your suggestion is between 5 and 500 characters!\")\n        .setColor(\"#EF4444\")\n        .setTimestamp()\n        .setFooter({\n          text: `Suggested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n    }\n\n    const key = `user:${interaction.user.id}:suggestion`;\n    const timeout = await cacheGet(key);\n\n    if (timeout) {\n      const timeLeft = await cacheTTL(key);\n\n      const embed = new EmbedBuilder()\n        .setTitle(\"‼️ You are on cooldown!\")\n        .setDescription(`You are on cooldown for \\`${formatDuration(timeLeft * 1000)}\\`! Please wait before suggesting again!`)\n        .setColor(\"#EF4444\")\n        .setTimestamp()\n        .setFooter({\n          text: `Suggested by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n    }\n\n    await cacheSet(key, { userId: interaction.user.id, time: Date.now() }, 60); // 1 minute\n\n    const embed = new EmbedBuilder()\n      .setTitle(\"📝 Thank you for your suggestion!\")\n      .setDescription(`**Suggestion**: ${suggestion}`)\n      .setColor(\"#3B82F6\")\n      .setTimestamp()\n      .setFooter({\n        text: `Suggested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    await prismaClient.suggestions.create({\n      data: {\n        message: suggestion,\n        userId: interaction.user.id,\n        guildId: interaction.guild.id,\n      },\n    });\n\n    return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n  },\n};\n"
  },
  {
    "path": "apps/bot/package.json",
    "content": "{\n  \"name\": \"@majoexe/bot\",\n  \"version\": \"6.0.0\",\n  \"description\": \"Majo.exe have almost everything - Fun, Memes, Images, Giveaway Moderation, Anime and even more!. Majo.exe serve over 150 commands!\",\n  \"exports\": null,\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"dotenvx run -f .env -f ../../packages/database/.env --overload -- tsx watch index.ts\",\n    \"deploy\": \"dotenvx run -f .env -f ../../packages/database/.env --overload -- tsx index.ts\",\n    \"format\": \"prettier . --write --cache --ignore-unknown\",\n    \"format:check\": \"prettier . --check --cache\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"@discordjs/rest\": \"^2.6.0\",\n    \"@iamtraction/google-translate\": \"^2.0.1\",\n    \"@majoexe/config\": \"workspace:*\",\n    \"@majoexe/database\": \"workspace:*\",\n    \"@majoexe/typescript-config\": \"workspace:*\",\n    \"@majoexe/util\": \"workspace:*\",\n    \"@napi-rs/canvas\": \"^0.1.86\",\n    \"@observablehq/plot\": \"^0.6.17\",\n    \"@top-gg/sdk\": \"^3.1.6\",\n    \"chalk\": \"^5.6.2\",\n    \"cheerio\": \"^1.1.2\",\n    \"coloras\": \"^2.0.2\",\n    \"decode-gif\": \"^1.0.1\",\n    \"discord-giveaways\": \"^6.0.1\",\n    \"discord.js\": \"^14.25.1\",\n    \"discordbotlist\": \"^1.1.1\",\n    \"figlet\": \"^1.9.4\",\n    \"gif-encoder-2\": \"^1.0.5\",\n    \"jsdom\": \"^27.4.0\",\n    \"ms\": \"^2.1.3\",\n    \"node-fetch\": \"^3.3.2\",\n    \"qrcode\": \"^1.5.4\",\n    \"validator\": \"^13.15.26\"\n  },\n  \"devDependencies\": {\n    \"@types/figlet\": \"^1.7.0\",\n    \"@types/jsdom\": \"^27.0.0\",\n    \"@types/ms\": \"^2.1.0\",\n    \"@types/qrcode\": \"^1.5.6\",\n    \"@types/validator\": \"^13.15.10\",\n    \"node-addon-api\": \"^8.5.0\",\n    \"node-gyp\": \"^12.1.0\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://gihub.com/igorkowalczyk/majo.exe\",\n    \"directory\": \"apps/bot\"\n  },\n  \"keywords\": [\n    \"node\",\n    \"nodejs\",\n    \"discord\",\n    \"discordjs\",\n    \"discordbot\",\n    \"majoexe\"\n  ],\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/igorkowalczyk/majo.exe/issues\"\n  },\n  \"homepage\": \"https://github.com/igorkowalczyk/majo.exe#readme\",\n  \"packageManager\": \"pnpm@10.26.2\"\n}"
  },
  {
    "path": "apps/bot/tsconfig.json",
    "content": "{\n  \"extends\": \"@majoexe/typescript-config/base\",\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./*\"]\n    }\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/core.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport type { Prisma } from \"@majoexe/database/types\";\nimport { Giveaway, GiveawaysManager, type GiveawayData } from \"discord-giveaways\";\nimport type { ColorResolvable, Snowflake } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport default function giveaway(client: Majobot) {\n  const Giveaways = class extends GiveawaysManager {\n    async getAllGiveaways() {\n      const giveaways = await prismaClient.giveaways.findMany();\n      return giveaways as unknown as Giveaway[];\n    }\n\n    async saveGiveaway(messageId: Snowflake, giveawayData: GiveawayData) {\n      console.log(giveawayData);\n      await prismaClient.giveaways.create({\n        data: {\n          messageId,\n          data: giveawayData as unknown as Prisma.JsonObject,\n          guild: {\n            connectOrCreate: {\n              where: { guildId: giveawayData.guildId },\n              create: { guildId: giveawayData.guildId },\n            },\n          },\n        },\n      });\n\n      return true;\n    }\n\n    async editGiveaway(messageId: Snowflake, giveawayData: GiveawayData) {\n      await prismaClient.giveaways.update({\n        where: { messageId },\n        data: {\n          data: giveawayData as unknown as Prisma.JsonObject,\n        },\n      });\n\n      return true;\n    }\n\n    async deleteGiveaway(messageId: Snowflake) {\n      await prismaClient.giveaways.delete({\n        where: { messageId },\n      });\n\n      return true;\n    }\n  };\n\n  const manager = new Giveaways(client, {\n    forceUpdateEvery: 10000,\n    default: {\n      botsCanWin: false,\n      embedColorEnd: globalConfig.defaultColor as ColorResolvable,\n      embedColor: globalConfig.defaultColor as ColorResolvable,\n      // exemptPermissions: [\"MANAGE_MESSAGES\", \"ADMINISTRATOR\"],\n      reaction: client.config.emojis.giveaway,\n    },\n  });\n\n  return manager;\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/endGiveaway.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport type { Giveaway } from \"discord-giveaways\";\nimport { type ChatInputCommandInteraction, EmbedBuilder, type Message, PermissionsBitField, type ColorResolvable, MessageFlags } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function EndGiveaway(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to find giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const query = interaction.options.getString(\"query\");\n    if (!query) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a giveaway message ID!\");\n\n    const giveaway = client.giveawaysManager.giveaways.find((g: Giveaway) => g.messageId == query && g.guildId == interaction.guildId);\n\n    if (!giveaway) return client.errorMessages.createSlashError(interaction, `❌ No giveaway found for \\`${query}\\`!`);\n    if (giveaway.ended) return client.errorMessages.createSlashError(interaction, `❌ Giveaway \\`${query}\\` has already ended!`);\n\n    try {\n      await client.giveawaysManager.end(giveaway.messageId);\n    } catch (_err: unknown) {\n      return client.errorMessages.createSlashError(interaction, \"❌ Something went wrong while ending the giveaway!\");\n    }\n\n    await createLog(interaction.guild.id, interaction.user.id, {\n      content: `Ended giveaway \\`${giveaway.prize.replace(`${client.config.emojis.giveaway} Giveaway: `, \"\").replace(`${client.config.emojis.giveaway} Drop: `, \"\")}\\``,\n      type: GuildLogType.GiveawayEnded,\n    });\n\n    const embed = new EmbedBuilder()\n      .setDescription(`${client.config.emojis.sparkles} | Success! Giveaway \\`${query}\\` ended!`)\n      .setColor(color)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    return interaction.followUp({ embeds: [embed], flags: [MessageFlags.Ephemeral] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/findGiveaways.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GiveawayData } from \"discord-giveaways\";\nimport { type ChatInputCommandInteraction, EmbedBuilder, type Message, PermissionsBitField, type ColorResolvable, MessageFlags } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function FindGiveaways(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable, type: \"all\" | \"ended\" | \"running\"): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to find giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const giveaways = await prismaClient.giveaways.findMany({\n      where: {\n        guildId: interaction.guild.id,\n      },\n    });\n\n    const list = giveaways\n      .filter((giveaway) => {\n        if (!giveaway.data) return false;\n\n        const giveawayData = giveaway.data as unknown as GiveawayData;\n\n        if (type === \"ended\") {\n          return giveawayData.ended;\n        } else if (type === \"running\") {\n          return !giveawayData.ended;\n        }\n        return true;\n      })\n      .map((g) => {\n        const giveawayData = g.data as unknown as GiveawayData;\n\n        const prize = giveawayData.prize\n          ? giveawayData.prize.replace(`${client.config.emojis.giveaway} Giveaway: `, \"\").replace(`${client.config.emojis.giveaway} Drop: `, \"\")\n          : \"No prize\";\n        const winnerCount = giveawayData.winnerCount || 1;\n        const endDate = giveawayData.ended ? \"\" : `, Ends <t:${Math.floor(giveawayData.endAt / 1000)}:R>` || \"No end date\";\n        const url = `https://discord.com/channels/${g.guildId}/${giveawayData.channelId}/${g.messageId}`;\n        return `**${prize}**: Winners: \\`${winnerCount}\\`${endDate}, ${url}`;\n      });\n\n    if (!list) return client.errorMessages.createSlashError(interaction, \"❌ No giveaways found!\");\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setTitle(`🎉 Giveaways (${list.length})`)\n      .setDescription(\n        `>>> ${\n          list.length > 0 // prettier\n            ? list.join(\"\\n\")\n            : \"No giveaways found for this type!\"\n        }`\n      )\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n    return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/pauseGiveaway.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport type { Giveaway } from \"discord-giveaways\";\nimport { type ChatInputCommandInteraction, EmbedBuilder, type Message, PermissionsBitField, type ColorResolvable, MessageFlags } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function PauseGiveaway(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to pause giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const query = interaction.options.getString(\"query\");\n    if (!query) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a giveaway message ID!\");\n\n    const giveaway = client.giveawaysManager.giveaways.find((g: Giveaway) => g.messageId == query && g.guildId == interaction.guildId);\n\n    if (!giveaway) return client.errorMessages.createSlashError(interaction, `❌ No giveaway found for \\`${query}\\`!`);\n\n    if (giveaway.ended) return client.errorMessages.createSlashError(interaction, `❌ Giveaway \\`${query}\\` has already paused!`);\n\n    try {\n      await client.giveawaysManager.pause(giveaway.messageId);\n    } catch (_err) {\n      return client.errorMessages.createSlashError(interaction, \"❌ Something went wrong while pausing the giveaway!\");\n    }\n\n    await createLog(interaction.guild.id, interaction.user.id, {\n      content: `Paused giveaway \\`${giveaway.prize.replace(`${client.config.emojis.giveaway} Giveaway: `, \"\").replace(`${client.config.emojis.giveaway} Drop: `, \"\")}\\``,\n      type: GuildLogType.GiveawayPaused,\n    });\n\n    const embed = new EmbedBuilder()\n      .setDescription(`${client.config.emojis.sparkles} | Success! Giveaway \\`${query}\\` paused!`)\n      .setColor(color)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n    return interaction.followUp({ embeds: [embed], flags: [MessageFlags.Ephemeral] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/rerollGiveaway.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport type { Giveaway } from \"discord-giveaways\";\nimport { type ChatInputCommandInteraction, EmbedBuilder, PermissionsBitField, type ColorResolvable, type Message, MessageFlags } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function RerollGiveaway(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to reroll giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const query = interaction.options.getString(\"query\");\n    if (!query) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a giveaway message ID!\");\n\n    const giveaway = client.giveawaysManager.giveaways.find((g: Giveaway) => g.messageId == query && g.guildId == interaction.guildId);\n\n    if (!giveaway) return client.errorMessages.createSlashError(interaction, `❌ No giveaway found for \\`${query}\\`!`);\n\n    if (!giveaway.ended) return client.errorMessages.createSlashError(interaction, `❌ Giveaway \\`${query}\\` is still running!`);\n\n    try {\n      await client.giveawaysManager.reroll(giveaway.messageId);\n    } catch (_err) {\n      return client.errorMessages.createSlashError(interaction, \"❌ Something went wrong while rerolling the giveaway!\");\n    }\n\n    await createLog(interaction.guild.id, interaction.user.id, {\n      content: `Rerolled giveaway \\`${giveaway.prize.replace(`${client.config.emojis.giveaway} Giveaway: `, \"\").replace(`${client.config.emojis.giveaway} Drop: `, \"\")}\\``,\n      type: GuildLogType.GiveawayEdit,\n    });\n\n    const embed = new EmbedBuilder()\n      .setDescription(`${client.config.emojis.sparkles} | Success! Giveaway \\`${query}\\` rerolled!`)\n      .setColor(color)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n    return interaction.followUp({ embeds: [embed], flags: [MessageFlags.Ephemeral] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/resumeGiveaway.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport type { Giveaway } from \"discord-giveaways\";\nimport { type ChatInputCommandInteraction, EmbedBuilder, type Message, PermissionsBitField, type ColorResolvable, MessageFlags } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function ResumeGiveaway(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to resume giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const query = interaction.options.getString(\"query\");\n    if (!query) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a giveaway message ID!\");\n\n    const giveaway = client.giveawaysManager.giveaways.find((g: Giveaway) => g.messageId == query && g.guildId == interaction.guildId);\n\n    if (!giveaway) return client.errorMessages.createSlashError(interaction, `❌ No giveaway found for \\`${query}\\`!`);\n\n    if (giveaway.ended) return client.errorMessages.createSlashError(interaction, `❌ Giveaway \\`${query}\\` has already ended!`);\n\n    try {\n      await client.giveawaysManager.unpause(giveaway.messageId);\n    } catch (_err) {\n      return client.errorMessages.createSlashError(interaction, \"❌ Something went wrong while resuming the giveaway!\");\n    }\n\n    await createLog(interaction.guild.id, interaction.user.id, {\n      content: `Resumed giveaway \\`${giveaway.prize.replace(`${client.config.emojis.giveaway} Giveaway: `, \"\").replace(`${client.config.emojis.giveaway} Drop: `, \"\")}\\``,\n      type: GuildLogType.GiveawayPaused,\n    });\n\n    const embed = new EmbedBuilder()\n      .setDescription(`${client.config.emojis.sparkles} | Success! Giveaway \\`${query}\\` resumed!`)\n      .setColor(color)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n    return interaction.followUp({ embeds: [embed], flags: [MessageFlags.Ephemeral] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/giveaway/startGiveaway.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { type ChatInputCommandInteraction, EmbedBuilder, type Message, PermissionsBitField, User, type ColorResolvable, ChannelType, MessageFlags } from \"discord.js\";\nimport ms from \"ms\";\nimport type { Majobot } from \"@/index\";\n\nexport async function StartGiveaway(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n    if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ The bot is not available!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to create giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const channel = interaction.options.getChannel(\"channel\", true, [ChannelType.GuildText]);\n    if (!channel) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a channel!\");\n\n    const time = interaction.options.getString(\"time\");\n    if (!time) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a time!\");\n\n    const winners = interaction.options.getInteger(\"winners\", true);\n    if (!winners) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a number of winners!\");\n\n    const prize = interaction.options.getString(\"prize\");\n    if (!prize) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a prize!\");\n\n    try {\n      await client.giveawaysManager.start(channel, {\n        duration: ms(time),\n        extraData: {\n          guildId: interaction.guild.id,\n          channelId: channel.id,\n        },\n        winnerCount: winners,\n        prize: `${client.config.emojis.giveaway} Giveaway: ${prize}`,\n        hostedBy: interaction.member.user as User,\n        thumbnail: client.user.displayAvatarURL(),\n        embedColor: color,\n        embedColorEnd: color,\n        messages: {\n          giveaway: \"\",\n          giveawayEnded: \"\",\n          inviteToParticipate: `> **React with ${client.config.emojis.giveaway} to participate!**`,\n          winMessage: {\n            replyToGiveaway: true,\n            embed: new EmbedBuilder() // Prettier\n              .setColor(color)\n              .setTimestamp()\n              .setDescription(`>>> **Congratulations {winners}!**\\n**You won: \\`${prize}\\`**\\n\\n[${client.config.emojis.link} Link to giveaway]({this.messageURL})`),\n          },\n          embedFooter: { text: `{this.winnerCount} winner${winners > 1 ? \"s\" : \"\"}`, iconURL: client.user.displayAvatarURL() },\n          noWinner: `> **${client.config.emojis.error} Giveaway cancelled, no valid participations!**\\n`,\n          drawing: `\\n• ${client.config.emojis.stopwatch} Drawing winner {timestamp}`,\n          hostedBy: `• ${client.config.emojis.member} Hosted by ${interaction.member.user}`,\n          winners: `Winner${winners > 1 ? \"s\" : \"\"}: `,\n          endedAt: \"Ended at\",\n        },\n      });\n    } catch (_err) {\n      return client.errorMessages.createSlashError(interaction, \"❌ Something went wrong while creating the giveaway!\");\n    }\n\n    const success = new EmbedBuilder() // prettier\n      .setColor(color)\n      .setTitle(`${client.config.emojis.success} Success!`)\n      .setDescription(\"> :tada: Giveaway created in \" + `${channel}` + \"!\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setTimestamp();\n\n    await interaction.followUp({ embeds: [success] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n\nexport async function StartDropGiveaway(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable): Promise<Message | void> {\n  try {\n    await interaction.deferReply({ flags: [MessageFlags.Ephemeral] });\n    if (!interaction.guild || !interaction.guild.available) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server!\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used by a member!\");\n    if (!client.user) return client.errorMessages.createSlashError(interaction, \"❌ The bot is not available!\");\n\n    const userPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!userPermissions.has(PermissionsBitField.Flags.ManageGuild)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You do not have permission to create giveaways! You need `MANAGE_GUILD` permission.\");\n    }\n\n    const channel = interaction.options.getChannel(\"channel\", true, [ChannelType.GuildText]);\n    if (!channel) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a channel!\");\n\n    const winners = interaction.options.getInteger(\"winners\", true);\n    if (!winners) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a number of winners!\");\n\n    const prize = interaction.options.getString(\"prize\");\n    if (!prize) return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a prize!\");\n\n    try {\n      await client.giveawaysManager.start(channel, {\n        isDrop: true,\n        extraData: {\n          guildId: interaction.guild.id,\n          channelId: channel.id,\n        },\n        winnerCount: winners,\n        prize: `${client.config.emojis.giveaway} Drop: ${prize}`,\n        hostedBy: interaction.member.user as User,\n        thumbnail: client.user.displayAvatarURL(),\n        embedColor: color,\n        embedColorEnd: color,\n        messages: {\n          giveaway: \"\",\n          giveawayEnded: \"\",\n          winMessage: {\n            replyToGiveaway: true,\n            embed: new EmbedBuilder() // Prettier\n              .setColor(color)\n              .setTimestamp()\n              .setDescription(`>>> **Congratulations {winners}!**\\n**You won: \\`${prize}\\`**\\n\\n[${client.config.emojis.link} Link to giveaway]({this.messageURL})`)\n              .setAuthor({ name: client.user.username, iconURL: client.user.displayAvatarURL() })\n              .setFooter({ text: client.user.username, iconURL: client.user.displayAvatarURL() }),\n          },\n          dropMessage: `> **Be the first to react with ${client.config.emojis.giveaway}!**`,\n          embedFooter: { text: \"{this.winnerCount} winner(s)\", iconURL: client.user.displayAvatarURL() },\n          noWinner: `> **${client.config.emojis.error} Giveaway cancelled, no valid participations!**\\n`,\n          hostedBy: `• ${client.config.emojis.member} Hosted by ${interaction.member.user}`,\n          drawing: `\\n• ${client.config.emojis.stopwatch} Drawing winner {timestamp}`,\n          winners: \"> Winner(s): \",\n        },\n      });\n    } catch (_err) {\n      return client.errorMessages.createSlashError(interaction, \"❌ Something went wrong while creating the giveaway!\");\n    }\n\n    await createLog(interaction.guild.id, interaction.user.id, {\n      content: `Started a drop giveaway in ${channel} with ${winners} winner(s) and prize: ${prize}`,\n      type: GuildLogType.GiveawayCreate,\n    });\n\n    const success = new EmbedBuilder() // Prettier\n      .setColor(color)\n      .setTitle(`${client.config.emojis.success} Success!`)\n      .setDescription(\"> :tada: Drop giveaway created in \" + `${channel}` + \"!\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n    await interaction.followUp({ embeds: [success] });\n  } catch (err: unknown) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/images/createUserGuildCard.ts",
    "content": "import { shortenText } from \"@majoexe/util/functions/util\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport type { Guild, User } from \"discord.js\";\n\nexport async function createUserGuildCard(user: User, guild: Guild): Promise<Buffer> {\n  const avatar = await loadImage(user.avatar || user.defaultAvatarURL);\n  const canvas = createCanvas(934, 282);\n  const context = canvas.getContext(\"2d\");\n\n  context.globalAlpha = 1;\n\n  const name = shortenText(user.globalName || user.username, 20);\n\n  // Draw guild name\n  context.font = \"normal 30px Quicksand\";\n  context.fillStyle = \"rgba(255, 255, 255, 0.4)\";\n  context.fillText(`${guild.name}`, 272, 100);\n\n  // Draw username\n  context.font = \"bold 75px Quicksand\";\n  context.fillStyle = \"#ffffff\";\n  context.fillText(name, 272, 164);\n\n  // Draw member count\n  context.font = \"normal 30px Quicksand\";\n  context.fillStyle = \"rgba(255, 255, 255, 0.4)\";\n  context.fillText(`Member #${guild.memberCount}`, 272, 204);\n\n  // Draw avatar\n  context.beginPath();\n  context.arc(135, 145, 100, 0, Math.PI * 2, true);\n  context.closePath();\n  context.clip();\n  context.drawImage(avatar, 35, 45, 200, 200);\n\n  return canvas.toBuffer(\"image/png\");\n}\n"
  },
  {
    "path": "apps/bot/util/images/createXPCard.ts",
    "content": "import { formatNumber, shortenText } from \"@majoexe/util/functions/util\";\nimport { loadImage, createCanvas } from \"@napi-rs/canvas\";\nimport type { User } from \"discord.js\";\n\nexport function calculateProgress(currentXp: number, requiredXp: number): number {\n  if (requiredXp <= 0) return 1;\n  if (currentXp > requiredXp) return 597;\n\n  const mx = 0;\n  if (currentXp < mx) return 0;\n\n  const nx = currentXp - mx;\n  const nr = requiredXp - mx;\n  return Math.floor((nx * 615) / nr);\n}\n\nexport async function createXPCard(user: User, xp: { xp: number; xpNeeded: number; level: number }, color: string): Promise<Buffer> {\n  const avatar = await loadImage(user.avatar || user.defaultAvatarURL);\n  const canvas = createCanvas(934, 282);\n  const context = canvas.getContext(\"2d\");\n\n  context.globalAlpha = 1;\n\n  const name = shortenText(user.globalName || user.username, 20);\n\n  context.font = \"bold 36px Quicksand\";\n  context.fillStyle = \"#ffffff\";\n  context.textAlign = \"start\";\n  context.fillText(name, 272, 125);\n\n  context.font = \"30px Quicksand\";\n  context.fillStyle = \"rgba(255, 255, 255, 0.4)\";\n  context.fillText(`@${user.globalName || user.username}`, 272, 164);\n\n  const levelText = `Level: ${formatNumber(xp.level)}`;\n  context.font = \"bold 36px Quicksand\";\n  context.fillStyle = \"#FFFFFF\";\n  context.fillText(levelText, canvas.width - context.measureText(levelText).width - 43, 82);\n\n  const xpText = `XP: ${formatNumber(xp.xp)}`;\n  context.font = \"30px Quicksand\";\n  context.fillText(\"/ \" + formatNumber(xp.xpNeeded), context.measureText(xpText).width + 685, 164);\n  context.fillText(xpText, 670, 164);\n\n  const progress = calculateProgress(xp.xp, xp.xpNeeded);\n\n  // Draw progress bar\n  context.beginPath();\n  context.fillStyle = \"#484b4E\";\n  context.arc(257 + 18.5, 147.5 + 18.5 + 36.25, 18.5, 1.5 * Math.PI, 0.5 * Math.PI, true);\n  context.fill();\n  context.fillRect(257 + 18.5, 147.5 + 36.25, 615 - 18.5, 37.5);\n  context.arc(257 + 615, 147.5 + 18.5 + 36.25, 18.75, 1.5 * Math.PI, 0.5 * Math.PI, false);\n  context.fill();\n\n  // Draw progress bar\n  context.beginPath();\n  context.fillStyle = color;\n  context.arc(257 + 18.5, 147.5 + 18.5 + 36.25, 18.5, 1.5 * Math.PI, 0.5 * Math.PI, true);\n  context.fill();\n  context.fillRect(257 + 18.5, 147.5 + 36.25, progress, 37.5);\n  context.arc(257 + 18.5 + progress, 147.5 + 18.5 + 36.25, 18.75, 1.5 * Math.PI, 0.5 * Math.PI, false);\n  context.fill();\n\n  // Draw avatar\n  context.beginPath();\n  context.arc(135, 145, 100, 0, Math.PI * 2, true);\n  context.closePath();\n  context.clip();\n  context.drawImage(avatar, 35, 45, 200, 200);\n\n  return canvas.toBuffer(\"image/png\");\n}\n"
  },
  {
    "path": "apps/bot/util/loaders/loadCommands.ts",
    "content": "import { readDir } from \"@majoexe/util/functions/files/readDir.js\";\nimport { type ApplicationCommandOption, ApplicationCommandOptionType } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { SlashCommand } from \"@/util/types/Command\";\n\nexport default async function loadCommands(client: Majobot): Promise<void> {\n  try {\n    const commandLoadTime = performance.now();\n    const slashCommands = readDir(`${process.cwd()}/commands/`, true, [\"js\", \"ts\"]);\n\n    for (const value of slashCommands) {\n      try {\n        const file = await import(value);\n        const { default: slashCommand } = file as { default: SlashCommand };\n\n        if (!slashCommand) {\n          client.debugger(\"error\", `Slash command ${value} doesn't have a default export!`);\n          continue;\n        }\n\n        const { name, description, type, options } = slashCommand;\n        if (!name || !description || !type) {\n          client.debugger(\"error\", `Slash command ${value} is missing required properties!`);\n          continue;\n        }\n\n        const category = value.split(\"/\")[value.split(\"/\").length - 2] as string;\n\n        const commandData = {\n          ...slashCommand,\n          category,\n          options: options || [],\n        };\n\n        client.slashCommands.set(name, commandData);\n\n        if (options) {\n          options.forEach((option: ApplicationCommandOption) => {\n            if (option.type === ApplicationCommandOptionType.Subcommand || option.type === ApplicationCommandOptionType.SubcommandGroup) {\n              if (client.config.displayCommandList) client.debugger(\"info\", `Loaded slash subcommand ${option.name} from ${value.replace(process.cwd(), \"\")}`);\n\n              client.additionalSlashCommands++;\n            }\n          });\n        }\n\n        if (client.config.displayCommandList) client.debugger(\"info\", `Loaded slash command ${name} from ${value.replace(process.cwd(), \"\")}`);\n      } catch (error: unknown) {\n        client.debugger(\"error\", `Error loading slash command ${value}: ${error}`);\n      }\n    }\n\n    client.debugger(\"event\", `Loaded ${client.slashCommands.size + client.additionalSlashCommands} slash commands from /commands in ${client.performance(commandLoadTime)}`);\n  } catch (error: unknown) {\n    client.debugger(\"error\", `Error loading slash commands: ${error}`);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/loaders/loadEmojis.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { Logger } from \"@majoexe/util/functions/util\";\nimport type { APIUser, DiscordAPIError, PartialEmoji } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nconst emojiDownloadList = {\n  success: \"https://cdn.discordapp.com/emojis/963333541112987668.png\",\n  error: \"https://cdn.discordapp.com/emojis/963333541226217472.png\",\n  giveaway: \"https://cdn.discordapp.com/emojis/963333542442590268.gif\",\n  discord_logo: \"https://cdn.discordapp.com/emojis/963333540630646804.png\",\n  member: \" https://cdn.discordapp.com/emojis/963333541305925692.png\",\n  channel: \"https://cdn.discordapp.com/emojis/963333540244758578.png\",\n  role: \"https://cdn.discordapp.com/emojis/963333541142339605.png\",\n  stage_channel: \"https://cdn.discordapp.com/emojis/963333542199324692.png\",\n  rules_channel: \"https://cdn.discordapp.com/emojis/963333541561790474.png\",\n  boosts_animated: \"https://cdn.discordapp.com/emojis/963333480899567646.gif\",\n  discord_badges: \"https://cdn.discordapp.com/emojis/963333479129550889.gif\",\n  status_online: \"https://cdn.discordapp.com/emojis/963333541888929842.png\",\n  status_idle: \"https://cdn.discordapp.com/emojis/963333541846986782.png\",\n  status_dnd: \"https://cdn.discordapp.com/emojis/844882506587176960.png\",\n  status_offline: \"https://cdn.discordapp.com/emojis/963333542383869952.png\",\n  cpu_icon: \"https://cdn.discordapp.com/emojis/963333540374781972.png\",\n  drive_icon: \"https://cdn.discordapp.com/emojis/963333540844564540.png\",\n  ram_icon: \"https://cdn.discordapp.com/emojis/963333541616304128.png\",\n  discord_partner: \"https://cdn.discordapp.com/emojis/963333540739694602.png\",\n  owner_crown: \"https://cdn.discordapp.com/emojis/856161806199947285.png\",\n  emoji_bar_1: \"https://cdn.discordapp.com/emojis/963333479184076810.png\",\n  emoji_bar_2: \"https://cdn.discordapp.com/emojis/963333479322517534.png\",\n  bot_badge_part_1: \"https://cdn.discordapp.com/emojis/963333478982754375.png\",\n  bot_badge_part_2: \"https://cdn.discordapp.com/emojis/963333479301545984.png\",\n  pikachu: \"https://cdn.discordapp.com/emojis/963333541507264512.png\",\n  loading: \"https://cdn.discordapp.com/emojis/963333542065090630.gif\",\n  hypesquad: \"https://cdn.discordapp.com/emojis/963333540962009168.png\",\n  hypesquad_balance: \"https://cdn.discordapp.com/emojis/963333540546752544.png\",\n  hypesquad_bravery: \"https://cdn.discordapp.com/emojis/963333540840353882.png\",\n  hypesquad_brilliance: \"https://cdn.discordapp.com/emojis/963333541104586802.png\",\n  verified_bot_developer: \"https://cdn.discordapp.com/emojis/963333540429303828.png\",\n  early_supporter: \"https://cdn.discordapp.com/emojis/963333540844552252.png\",\n  bug_hunter_1: \"https://cdn.discordapp.com/emojis/963333479452508190.png\",\n  bug_hunter_2: \"https://cdn.discordapp.com/emojis/963333479578357830.png\",\n  discord_employee: \"https://cdn.discordapp.com/emojis/963333540756455444.png\",\n  slash_commands: \"https://cdn.discordapp.com/emojis/963333541565968384.png\",\n  mention: \"https://cdn.discordapp.com/emojis/963333541259792384.png\",\n  settings: \"https://cdn.discordapp.com/emojis/963333541716963348.png\",\n};\n\nexport async function uploadEmoji(clientId: string, client: Majobot, { name, image }: { name: string; image: Buffer }): Promise<void> {\n  try {\n    const emojiUploadTime = performance.now();\n\n    const emojiUpload = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/applications/${clientId}/emojis`, {\n      method: \"POST\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        name,\n        image: `data:image/png;base64,${image.toString(\"base64\")}`,\n      }),\n    });\n\n    if (!emojiUpload.ok) {\n      try {\n        const error = (await emojiUpload.json()) as DiscordAPIError;\n        throw new Error(`Failed to upload emoji: ${error} (${emojiUpload.statusText})`);\n      } catch (_err) {\n        throw new Error(`Failed to upload emoji: ${emojiUpload.statusText}`);\n      }\n    }\n\n    const emoji = (await emojiUpload.json()) as PartialEmoji;\n\n    if (!emoji) {\n      throw new Error(\"Failed to upload emoji: No emoji returned from Discord API\");\n    }\n\n    Logger(\"event\", `Uploaded ${emoji.name} emoji in ${client.performance(performance.now() - emojiUploadTime)}`);\n\n    if (emoji.animated) {\n      client.config.emojis[emoji.name] = `<a:${emoji.name}:${emoji.id}>`;\n    } else {\n      client.config.emojis[emoji.name] = `<:${emoji.name}:${emoji.id}>`;\n    }\n  } catch (error) {\n    Logger(\"error\", `Error uploading emoji: ${error}`);\n  }\n}\n\nexport default async function loadEmojis(client: Majobot): Promise<void> {\n  try {\n    const emojiLoadTime = performance.now();\n\n    const userFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/users/@me`, {\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n\n    if (!userFetch.ok) {\n      throw new Error(`Failed to fetch user: ${userFetch.statusText}`);\n    }\n\n    const user = (await userFetch.json()) as APIUser;\n\n    const emojiListFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/applications/${user.id}/emojis`, {\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n\n    if (!emojiListFetch.ok) {\n      throw new Error(`Failed to fetch emojis: ${emojiListFetch.statusText}`);\n    }\n\n    const emojis = (await emojiListFetch.json()) as { items: PartialEmoji[] };\n\n    if (!emojis || !emojis.items) {\n      throw new Error(\"Failed to fetch emojis: No emojis returned from Discord API\");\n    }\n\n    Logger(\"event\", `Fetched ${emojis.items.length} emojis in ${client.performance(performance.now() - emojiLoadTime)}`);\n\n    for (const emoji of emojis.items) {\n      if (emoji.animated) {\n        client.config.emojis[emoji.name] = `<a:${emoji.name}:${emoji.id}>`;\n      } else {\n        client.config.emojis[emoji.name] = `<:${emoji.name}:${emoji.id}>`;\n      }\n    }\n\n    for (const [name, url] of Object.entries(emojiDownloadList)) {\n      const emoji = emojis.items.find((emoji) => emoji.name === name);\n\n      if (!emoji) {\n        Logger(\"warn\", `Emoji ${name} not found in fetched emojis!`);\n\n        const emojiFile = (await fetch(url)) as Response;\n\n        if (!emojiFile.ok) {\n          throw new Error(`Failed to fetch emoji: ${emojiFile.statusText}`);\n        }\n\n        const buffer: Uint8Array[] = [];\n        for await (const chunk of emojiFile.body as unknown as AsyncIterable<Uint8Array>) {\n          buffer.push(chunk);\n        }\n\n        await uploadEmoji(user.id, client, { name, image: Buffer.concat(buffer) });\n        continue;\n      }\n    }\n  } catch (error: unknown) {\n    Logger(\"error\", `Error loading emojis: ${error}`);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/loaders/loadEvents.ts",
    "content": "import { basename } from \"node:path\";\nimport { readDir } from \"@majoexe/util/functions/files/readDir.js\";\nimport type { ClientEvents } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport default async function loadEvents(client: Majobot): Promise<void> {\n  try {\n    const loadTime = performance.now();\n\n    const events = readDir(`${process.cwd()}/events/`, true, [\".js\", \".ts\"]);\n\n    for (const file of events) {\n      await import(file).then((e) => {\n        const eventName = basename(file).split(\".\")[0] as keyof ClientEvents;\n\n        if (client.config.displayEventList) client.debugger(\"info\", `Loaded event ${eventName} from ${file.replace(process.cwd(), \"\")}`);\n\n        client.on(eventName, e[eventName].bind(null, client));\n      });\n    }\n\n    client.debugger(\"event\", `Loaded ${events.length} events from /events in ${client.performance(loadTime)}`);\n  } catch (error) {\n    client.debugger(\"error\", `Error loading events: ${error}`);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/loaders/loadFonts.ts",
    "content": "import { readDir } from \"@majoexe/util/functions/files/readDir.js\";\nimport { GlobalFonts } from \"@napi-rs/canvas\";\nimport type { Majobot } from \"@/index\";\n\nexport default async function loadFonts(client: Majobot): Promise<void> {\n  try {\n    const loadTime = performance.now();\n    const fonts = await readDir(`${process.cwd()}/util/images/fonts/`, true, [\".ttf\"]);\n\n    for (const font of fonts) {\n      const fontName = font.split(\"/\").pop();\n\n      if (fontName) {\n        GlobalFonts.registerFromPath(font, fontName.replace(\".ttf\", \"\"));\n      } else {\n        console.error(\"Invalid font path:\", font);\n      }\n    }\n    client.debugger(\"event\", `Loaded ${fonts.length} fonts in ${client.performance(loadTime)}`);\n  } catch (error) {\n    client.debugger(\"error\", `Error loading fonts: ${error}`);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/loaders/loadModals.ts",
    "content": "import { readDir } from \"@majoexe/util/functions/files/readDir.js\";\nimport type { ModalSubmitInteraction } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport interface Modal {\n  id: string;\n  run: (client: Majobot, interaction: ModalSubmitInteraction) => Promise<void>;\n}\n\nexport default async function loadModals(client: Majobot): Promise<void> {\n  try {\n    const loadTime = performance.now();\n    const modals = readDir(`${process.cwd()}/modals/`, true, [\".js\", \".ts\"]);\n    for (const value of modals) {\n      try {\n        const file = await import(value);\n        const { default: modal } = file as { default: Modal };\n\n        if (!modal) {\n          client.debugger(\"error\", `Modal ${value} doesn't have a default export!`);\n          continue;\n        }\n\n        const { id, run } = modal;\n\n        if (!id || !run) {\n          client.debugger(\"error\", `Modal ${value} is missing required properties!`);\n          continue;\n        }\n\n        client.modals.set(id, modal);\n\n        if (client.config.displayModalList) {\n          client.debugger(\"info\", `Loaded modal ${id} from ${value.replace(process.cwd(), \"\")}`);\n        }\n      } catch (error: unknown) {\n        client.debugger(\"error\", `Error loading modal ${value}: ${error}`);\n      }\n    }\n    client.debugger(\"event\", `Loaded ${client.modals.size} modals from /modals in ${client.performance(loadTime)}`);\n  } catch (error: unknown) {\n    client.debugger(\"error\", `Error loading modals: ${error}`);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiBadWords/disable.ts",
    "content": "import { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { ChatInputCommandInteraction, EmbedBuilder } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function disableAntiBadWords(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-bad-words\");\n\n  if (!createdRule) {\n    return client.errorMessages.createSlashError(interaction, \"❌ The anti-bad-words system is already `disabled`\");\n  }\n\n  await interaction.guild.autoModerationRules.edit(createdRule.id, {\n    enabled: false,\n  });\n\n  const embed = new EmbedBuilder()\n    .setColor(guildSettings?.embedColor || client.config.defaultColor)\n    .setTimestamp()\n    .setTitle(\"⛔ Successfully `disabled` the anti-bad-words system\")\n    .setDescription(\"The anti-bad-words system has been `disabled`. Generic spam will no longer be blocked.\")\n    .setFooter({\n      text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n      iconURL: interaction.user.displayAvatarURL({\n        size: 256,\n      }),\n    })\n    .setThumbnail(\n      interaction.guild.iconURL({\n        size: 256,\n      })\n    );\n\n  return interaction.followUp({ embeds: [embed] });\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiBadWords/enable.ts",
    "content": "import { createDatabaseAutoModRule, syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport {\n  ChannelType,\n  AutoModerationRuleEventType,\n  AutoModerationRuleKeywordPresetType,\n  AutoModerationActionType,\n  AutoModerationRuleTriggerType,\n  EmbedBuilder,\n  PermissionsBitField,\n  codeBlock,\n  ChatInputCommandInteraction,\n  TextChannel,\n  GuildMember,\n  type AutoModerationRuleCreateOptions,\n} from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function enableAntiBadWords(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't find myself in this server.\");\n  if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-bad-words\");\n\n  const exemptRoles = interaction.options.getRole(\"exempt-roles\");\n  const exemptChannels = interaction.options.getChannel(\"exempt-channels\");\n  const logChannel = interaction.options.getChannel(\"log-channel\") as TextChannel;\n  const profanity = interaction.options.getBoolean(\"profanity\") ?? true;\n  const sexualContent = interaction.options.getBoolean(\"sexual-content\") ?? true;\n  const slurs = interaction.options.getBoolean(\"slurs\") ?? true;\n\n  if (!profanity && !sexualContent && !slurs) return client.errorMessages.createSlashError(interaction, \"❌ You need to enable at least one filter!\");\n\n  const existingRules = await interaction.guild.autoModerationRules.fetch({ cache: false });\n  const conflictingRule = existingRules.filter((rule) => rule.triggerType === AutoModerationRuleTriggerType.KeywordPreset).first();\n  if (conflictingRule) await conflictingRule.delete(\"New anti-bad-words rule created\");\n\n  if (createdRule) {\n    if (createdRule.enabled) return client.errorMessages.createSlashError(interaction, \"❌ The anti-bad-words system is already `enabled`\");\n\n    await interaction.guild.autoModerationRules.edit(createdRule.id, {\n      enabled: true,\n    });\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-bad-words system again\")\n      .setDescription(\"The anti-bad-words system has been `enabled`. Common bad words will now be blocked.\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  } else {\n    const ruleToCreate = {\n      name: \"Anti bad words [Majo.exe]\",\n      creatorId: client.user?.id,\n      enabled: true,\n      eventType: AutoModerationRuleEventType.MessageSend,\n      triggerType: AutoModerationRuleTriggerType.KeywordPreset,\n      exemptChannels: exemptChannels ? [exemptChannels.id] : [],\n      exemptRoles: exemptRoles ? [exemptRoles.id] : [],\n      triggerMetadata: {\n        presets: [\n          // prettier\n          profanity ? AutoModerationRuleKeywordPresetType.Profanity : undefined,\n          sexualContent ? AutoModerationRuleKeywordPresetType.SexualContent : undefined,\n          slurs ? AutoModerationRuleKeywordPresetType.Slurs : undefined,\n        ].filter(Boolean),\n      },\n      actions: [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            channel: interaction.channel,\n            customMessage: \"Message blocked due to containing a bad word. Rule added by Majo.exe\",\n          },\n        },\n      ],\n      reason: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n    } as AutoModerationRuleCreateOptions;\n\n    if (logChannel) {\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      const user = interaction.member as GuildMember;\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.SendAlertMessage,\n        metadata: {\n          channel: logChannel,\n          customMessage: \"Message blocked due to containing a bad word. Rule added by Majo.exe\",\n        },\n      });\n    }\n\n    const rule = await interaction.guild.autoModerationRules.create(ruleToCreate);\n\n    await createDatabaseAutoModRule(interaction.guild.id, rule.id, \"anti-bad-words\");\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-bad-words system\")\n      .setDescription(\"The anti-bad-words system has been `enabled`. Common bad words will now be blocked.\")\n      .setFields([\n        {\n          name: \"🔒 Rule name\",\n          value: \"`Anti bad words`\",\n          inline: true,\n        },\n        {\n          name: \"📨 Rule event\",\n          value: \"`Message send`\",\n          inline: true,\n        },\n        {\n          name: `📛 Rule action${logChannel ? \"s\" : \"\"}`,\n          value: `\\`Block message\\`${logChannel ? `, Send alert message in <#${logChannel.id}>` : \"\"}`,\n          inline: true,\n        },\n        {\n          name: \"📝 Rule log channel\",\n          value: logChannel ? `<#${logChannel.id}>` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔑 Rule trigger\",\n          value: codeBlock(\"Common bad words\"),\n          inline: false,\n        },\n        {\n          name: \"🔗 Rule exempt channels\",\n          value: exemptChannels\n            ? exemptChannels.type === ChannelType.GuildCategory\n              ? `All channels in the category \\`${exemptChannels.name}\\``\n              : `<#${exemptChannels.id}>`\n            : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔗 Rule exempt roles\",\n          value: exemptRoles ? `<@&${exemptRoles.id}>` : \"`None`\",\n          inline: true,\n        },\n      ])\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiInvite/disable.ts",
    "content": "import { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { ChatInputCommandInteraction, EmbedBuilder } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function disableAntiInvite(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-invite\");\n\n  if (!createdRule) {\n    return client.errorMessages.createSlashError(interaction, \"❌ The anti-invite system is already `disabled`\");\n  }\n\n  await interaction.guild.autoModerationRules.edit(createdRule.id, {\n    enabled: false,\n  });\n\n  const embed = new EmbedBuilder()\n    .setColor(guildSettings?.embedColor || client.config.defaultColor)\n    .setTimestamp()\n    .setTitle(\"⛔ Successfully `disabled` the anti-invite system\")\n    .setDescription(\"The anti-invite system has been `disabled`. All Discord invites will no longer be blocked.\")\n    .setFooter({\n      text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n      iconURL: interaction.user.displayAvatarURL({\n        size: 256,\n      }),\n    })\n    .setThumbnail(\n      interaction.guild.iconURL({\n        size: 256,\n      })\n    );\n\n  return interaction.followUp({ embeds: [embed] });\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiInvite/enable.ts",
    "content": "import { createDatabaseAutoModRule, syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport {\n  ChannelType,\n  AutoModerationRuleEventType,\n  AutoModerationActionType,\n  AutoModerationRuleTriggerType,\n  EmbedBuilder,\n  PermissionsBitField,\n  codeBlock,\n  ChatInputCommandInteraction,\n  type AutoModerationRuleCreateOptions,\n  TextChannel,\n  GuildMember,\n} from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function enableAntiInvite(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't find myself in this server.\");\n  if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-invite\");\n\n  const exemptRoles = interaction.options.getRole(\"exempt-roles\");\n  const exemptChannels = interaction.options.getChannel(\"exempt-channels\");\n  const timeout = interaction.options.getInteger(\"timeout\");\n  const logChannel = interaction.options.getChannel(\"log-channel\") as TextChannel;\n\n  const existingRules = await interaction.guild.autoModerationRules.fetch({ cache: false });\n  const conflictingRules = existingRules.filter((rule) => rule.triggerType === AutoModerationRuleTriggerType.Keyword);\n  if (conflictingRules.size === 6) {\n    return client.errorMessages.createSlashError(\n      interaction,\n      \"❌ You can only have 6 keyword rules enabled at once. Please disable one of the existing keyword rules before enabling this one.\"\n    );\n  }\n\n  if (createdRule) {\n    if (createdRule.enabled) return client.errorMessages.createSlashError(interaction, \"❌ The anti-invite system is already `enabled`\");\n\n    await interaction.guild.autoModerationRules.edit(createdRule.id, {\n      enabled: true,\n    });\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-invite system again\")\n      .setDescription(\"The anti-invite system has been `enabled`. All Discord invites will now be blocked.\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  } else {\n    const ruleToCreate = {\n      name: \"Disallow invites [Majo.exe]\",\n      creatorId: client.user?.id,\n      enabled: true,\n      eventType: AutoModerationRuleEventType.MessageSend,\n      triggerType: AutoModerationRuleTriggerType.Keyword,\n      exemptChannels: exemptChannels ? [exemptChannels.id] : [],\n      exemptRoles: exemptRoles ? [exemptRoles.id] : [],\n      triggerMetadata: {\n        regexPatterns: [\"(?:https?://)?(?:www.|ptb.|canary.)?(?:discord(?:app)?.(?:(?:com|gg)/(?:invite|servers)/[a-z0-9-_]+)|discord.gg/[a-z0-9-_]+)\"],\n      },\n      actions: [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            channel: interaction.channel,\n            customMessage: \"Message blocked due to containing an invite link. Rule added by Majo.exe\",\n          },\n        },\n      ],\n      reason: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n    } as AutoModerationRuleCreateOptions;\n\n    if (timeout) {\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.Timeout,\n        metadata: {\n          durationSeconds: timeout,\n        },\n      });\n    }\n\n    if (logChannel) {\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      const user = interaction.member as GuildMember;\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.SendAlertMessage,\n        metadata: {\n          channel: logChannel,\n          customMessage: \"Message blocked due to containing an invite link. Rule added by Majo.exe\",\n        },\n      });\n    }\n\n    const rule = await interaction.guild.autoModerationRules.create(ruleToCreate);\n\n    await createDatabaseAutoModRule(interaction.guild.id, rule.id, \"anti-invite\");\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-invite system\")\n      .setDescription(\"The anti-invite system has been `enabled`. All Discord invites will now be blocked.\")\n      .setFields([\n        {\n          name: \"🔒 Rule name\",\n          value: \"`Disallow invites`\",\n          inline: true,\n        },\n        {\n          name: \"📨 Rule event\",\n          value: \"`Message send`\",\n          inline: true,\n        },\n        {\n          name: `📛 Rule action${timeout || logChannel ? \"s\" : \"\"}`,\n          value: `\\`Block message\\`${timeout ? `, Timeout for \\`${timeout}\\` seconds` : \"\"}${logChannel ? `, Send alert message in <#${logChannel.id}>` : \"\"}`,\n          inline: true,\n        },\n        {\n          name: \"⏱️ Rule timeout\",\n          value: timeout ? `\\`${timeout} seconds\\`` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"📝 Rule log channel\",\n          value: logChannel ? `<#${logChannel.id}>` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔑 Rule trigger\",\n          value: codeBlock(\"All Discord invite links\"),\n          inline: false,\n        },\n        {\n          name: \"🔗 Rule exempt channels\",\n          value: exemptChannels\n            ? exemptChannels.type === ChannelType.GuildCategory\n              ? `All channels in the category \\`${exemptChannels.name}\\``\n              : `<#${exemptChannels.id}>`\n            : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔗 Rule exempt roles\",\n          value: exemptRoles ? `<@&${exemptRoles.id}>` : \"`None`\",\n          inline: true,\n        },\n      ])\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiLinks/disable.ts",
    "content": "import { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { ChatInputCommandInteraction, EmbedBuilder } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function disableAntiLink(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-link\");\n\n  if (!createdRule) {\n    return client.errorMessages.createSlashError(interaction, \"❌ The anti-link system is already `disabled`\");\n  }\n\n  await interaction.guild.autoModerationRules.edit(createdRule.id, {\n    enabled: false,\n  });\n\n  const embed = new EmbedBuilder()\n    .setColor(guildSettings?.embedColor || client.config.defaultColor)\n    .setTimestamp()\n    .setTitle(\"⛔ Successfully `disabled` the anti-link system\")\n    .setDescription(\"The anti-link system has been `disabled`. All links will no longer be blocked.\")\n    .setFooter({\n      text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n      iconURL: interaction.user.displayAvatarURL({\n        size: 256,\n      }),\n    })\n    .setThumbnail(\n      interaction.guild.iconURL({\n        size: 256,\n      })\n    );\n\n  return interaction.followUp({ embeds: [embed] });\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiLinks/enable.ts",
    "content": "import { createDatabaseAutoModRule, syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport {\n  ChannelType,\n  AutoModerationRuleEventType,\n  AutoModerationActionType,\n  AutoModerationRuleTriggerType,\n  EmbedBuilder,\n  PermissionsBitField,\n  codeBlock,\n  ChatInputCommandInteraction,\n  type AutoModerationRuleCreateOptions,\n  TextChannel,\n  GuildMember,\n} from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function enableAntiLink(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't find myself in this server.\");\n  if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-link\");\n\n  const exemptRoles = interaction.options.getRole(\"exempt-roles\");\n  const exemptChannels = interaction.options.getChannel(\"exempt-channels\");\n  const timeout = interaction.options.getInteger(\"timeout\");\n  const logChannel = interaction.options.getChannel(\"log-channel\") as TextChannel;\n\n  const existingRules = await interaction.guild.autoModerationRules.fetch({ cache: false });\n  const conflictingRules = existingRules.filter((rule) => rule.triggerType === AutoModerationRuleTriggerType.Keyword);\n  if (conflictingRules.size === 6) {\n    return client.errorMessages.createSlashError(\n      interaction,\n      \"❌ You can only have 6 keyword rules enabled at once. Please disable one of the existing keyword rules before enabling this one.\"\n    );\n  }\n\n  if (createdRule) {\n    if (createdRule.enabled) return client.errorMessages.createSlashError(interaction, \"❌ The anti-link system is already `enabled`\");\n\n    await interaction.guild.autoModerationRules.edit(createdRule.id, {\n      enabled: true,\n    });\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-link system again\")\n      .setDescription(\"The anti-link system has been `enabled`. All links will now be blocked.\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  } else {\n    const ruleToCreate = {\n      name: \"Disallow links [Majo.exe]\",\n      creatorId: client.user?.id,\n      enabled: true,\n      eventType: AutoModerationRuleEventType.MessageSend,\n      triggerType: AutoModerationRuleTriggerType.Keyword,\n      exemptChannels: exemptChannels ? [exemptChannels.id] : [],\n      exemptRoles: exemptRoles ? [exemptRoles.id] : [],\n      triggerMetadata: {\n        regexPatterns: [\"(https?://)?([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?\"],\n      },\n      actions: [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            channel: interaction.channel,\n            customMessage: \"Message blocked due to containing an link. Rule added by Majo.exe\",\n          },\n        },\n      ],\n      reason: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n    } as AutoModerationRuleCreateOptions;\n\n    if (timeout) {\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.Timeout,\n        metadata: {\n          durationSeconds: timeout,\n        },\n      });\n    }\n\n    if (logChannel) {\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      const user = interaction.member as GuildMember;\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.SendAlertMessage,\n        metadata: {\n          channel: logChannel,\n          customMessage: \"Message blocked due to containing an link. Rule added by Majo.exe\",\n        },\n      });\n    }\n\n    const rule = await interaction.guild.autoModerationRules.create(ruleToCreate);\n\n    await createDatabaseAutoModRule(interaction.guild.id, rule.id, \"anti-link\");\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-link system\")\n      .setDescription(\"The anti-link system has been `enabled`. All links will now be blocked.\")\n      .setFields([\n        {\n          name: \"🔒 Rule name\",\n          value: \"`Disallow links`\",\n          inline: true,\n        },\n        {\n          name: \"📨 Rule event\",\n          value: \"`Message send`\",\n          inline: true,\n        },\n        {\n          name: `📛 Rule action${timeout || logChannel ? \"s\" : \"\"}`,\n          value: `\\`Block message\\`${timeout ? `, Timeout for \\`${timeout}\\` seconds` : \"\"}${logChannel ? `, Send alert message in <#${logChannel.id}>` : \"\"}`,\n          inline: true,\n        },\n        {\n          name: \"⏱️ Rule timeout\",\n          value: timeout ? `\\`${timeout} seconds\\`` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"📝 Rule log channel\",\n          value: logChannel ? `<#${logChannel.id}>` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔑 Rule trigger\",\n          value: codeBlock(\"All links\"),\n          inline: false,\n        },\n        {\n          name: \"🔗 Rule exempt channels\",\n          value: exemptChannels\n            ? exemptChannels.type === ChannelType.GuildCategory\n              ? `All channels in the category \\`${exemptChannels.name}\\``\n              : `<#${exemptChannels.id}>`\n            : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔗 Rule exempt roles\",\n          value: exemptRoles ? `<@&${exemptRoles.id}>` : \"`None`\",\n          inline: true,\n        },\n      ])\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiMention/disable.ts",
    "content": "import { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { ChatInputCommandInteraction, EmbedBuilder } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function disableAntiMention(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-mention\");\n\n  if (!createdRule) {\n    return client.errorMessages.createSlashError(interaction, \"❌ The anti-mention system is already `disabled`\");\n  }\n\n  await interaction.guild.autoModerationRules.edit(createdRule.id, {\n    enabled: false,\n  });\n\n  const embed = new EmbedBuilder()\n    .setColor(guildSettings?.embedColor || client.config.defaultColor)\n    .setTimestamp()\n    .setTitle(\"⛔ Successfully `disabled` the anti-mention system\")\n    .setDescription(\"The anti-mention system has been `disabled`. Mention spam will no longer be blocked.\")\n    .setFooter({\n      text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n      iconURL: interaction.user.displayAvatarURL({\n        size: 256,\n      }),\n    })\n    .setThumbnail(\n      interaction.guild.iconURL({\n        size: 256,\n      })\n    );\n\n  return interaction.followUp({ embeds: [embed] });\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiMention/enable.ts",
    "content": "import { createDatabaseAutoModRule, syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport {\n  ChannelType,\n  AutoModerationRuleEventType,\n  AutoModerationActionType,\n  AutoModerationRuleTriggerType,\n  EmbedBuilder,\n  PermissionsBitField,\n  codeBlock,\n  ChatInputCommandInteraction,\n  type AutoModerationRuleCreateOptions,\n  TextChannel,\n  GuildMember,\n} from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function enableAntiMention(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't find myself in this server.\");\n  if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-mention\");\n\n  const limit = interaction.options.getInteger(\"limit\") || 5;\n  const exemptRoles = interaction.options.getRole(\"exempt-roles\");\n  const exemptChannels = interaction.options.getChannel(\"exempt-channels\");\n  const timeout = interaction.options.getInteger(\"timeout\");\n  const logChannel = interaction.options.getChannel(\"log-channel\") as TextChannel;\n\n  const existingRules = await interaction.guild.autoModerationRules.fetch({ cache: false });\n  const conflictingRule = existingRules.filter((rule) => rule.triggerType === AutoModerationRuleTriggerType.MentionSpam).first();\n  if (conflictingRule) await conflictingRule.delete(\"New anti-mention rule created\");\n\n  if (createdRule) {\n    if (createdRule.enabled) return client.errorMessages.createSlashError(interaction, \"❌ The anti-mention system is already `enabled`\");\n\n    await interaction.guild.autoModerationRules.edit(createdRule.id, {\n      enabled: true,\n    });\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-mention system again\")\n      .setDescription(\"The anti-mention system has been `enabled`. Mention spam will now be blocked.\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  } else {\n    const ruleToCreate = {\n      name: \"Disallow mention spam [Majo.exe]\",\n      creatorId: client.user?.id,\n      enabled: true,\n      eventType: AutoModerationRuleEventType.MessageSend,\n      triggerType: AutoModerationRuleTriggerType.MentionSpam,\n      exemptChannels: exemptChannels ? [exemptChannels.id] : [],\n      exemptRoles: exemptRoles ? [exemptRoles.id] : [],\n      triggerMetadata: {\n        mentionTotalLimit: limit,\n        mentionRaidProtectionEnabled: true,\n      },\n      actions: [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            channel: interaction.channel,\n            customMessage: \"Message blocked due to containing too many mentions. Rule added by Majo.exe\",\n          },\n        },\n      ],\n      reason: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n    } as AutoModerationRuleCreateOptions;\n\n    if (timeout) {\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.Timeout,\n        metadata: {\n          durationSeconds: timeout,\n        },\n      });\n    }\n\n    if (logChannel) {\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      const user = interaction.member as GuildMember;\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.SendAlertMessage,\n        metadata: {\n          channel: logChannel,\n          customMessage: \"Message blocked due to containing too many mentions. Rule added by Majo.exe\",\n        },\n      });\n    }\n\n    const rule = await interaction.guild.autoModerationRules.create(ruleToCreate);\n\n    await createDatabaseAutoModRule(interaction.guild.id, rule.id, \"anti-mention\");\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-mention system\")\n      .setDescription(`The anti-mention system has been \\`enabled\\`. Mention spam over the limit (${limit}) will now be blocked.`)\n      .setFields([\n        {\n          name: \"🔒 Rule name\",\n          value: `\\`Mention spam over the limit (${limit})\\``,\n          inline: true,\n        },\n        {\n          name: \"📨 Rule event\",\n          value: \"`Message send`\",\n          inline: true,\n        },\n        {\n          name: `📛 Rule action${timeout || logChannel ? \"s\" : \"\"}`,\n          value: `\\`Block message\\`${timeout ? `, Timeout for \\`${timeout}\\` seconds` : \"\"}${logChannel ? `, Send alert message in <#${logChannel.id}>` : \"\"}`,\n          inline: true,\n        },\n        {\n          name: \"⏱️ Rule timeout\",\n          value: timeout ? `\\`${timeout} seconds\\`` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"📝 Rule log channel\",\n          value: logChannel ? `<#${logChannel.id}>` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔑 Rule trigger\",\n          value: codeBlock(`All mentions over the limit (${limit})`),\n          inline: false,\n        },\n        {\n          name: \"🔗 Rule exempt channels\",\n          value: exemptChannels\n            ? exemptChannels.type === ChannelType.GuildCategory\n              ? `All channels in the category \\`${exemptChannels.name}\\``\n              : `<#${exemptChannels.id}>`\n            : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔗 Rule exempt roles\",\n          value: exemptRoles ? `<@&${exemptRoles.id}>` : \"`None`\",\n          inline: true,\n        },\n      ])\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiSpam/disable.ts",
    "content": "import { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { ChatInputCommandInteraction, EmbedBuilder } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function disableAntiSpam(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-spam\");\n\n  if (!createdRule) {\n    return client.errorMessages.createSlashError(interaction, \"❌ The anti-spam system is already `disabled`\");\n  }\n\n  await interaction.guild.autoModerationRules.edit(createdRule.id, {\n    enabled: false,\n  });\n\n  const embed = new EmbedBuilder()\n    .setColor(guildSettings?.embedColor || client.config.defaultColor)\n    .setTimestamp()\n    .setTitle(\"⛔ Successfully `disabled` the anti-spam system\")\n    .setDescription(\"The anti-spam system has been `disabled`. Generic spam will no longer be blocked.\")\n    .setFooter({\n      text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n      iconURL: interaction.user.displayAvatarURL({\n        size: 256,\n      }),\n    })\n    .setThumbnail(\n      interaction.guild.iconURL({\n        size: 256,\n      })\n    );\n\n  return interaction.followUp({ embeds: [embed] });\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/antiSpam/enable.ts",
    "content": "import { createDatabaseAutoModRule, syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport {\n  ChannelType,\n  AutoModerationRuleEventType,\n  AutoModerationActionType,\n  AutoModerationRuleTriggerType,\n  EmbedBuilder,\n  PermissionsBitField,\n  codeBlock,\n  ChatInputCommandInteraction,\n  type AutoModerationRuleCreateOptions,\n  TextChannel,\n  GuildMember,\n} from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function enableAntiSpam(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n  if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't find myself in this server.\");\n  if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ You must be in a server to use this command.\");\n  const createdRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-spam\");\n\n  const exemptRoles = interaction.options.getRole(\"exempt-roles\");\n  const exemptChannels = interaction.options.getChannel(\"exempt-channels\");\n  const logChannel = interaction.options.getChannel(\"log-channel\") as TextChannel;\n\n  const existingRules = await interaction.guild.autoModerationRules.fetch({ cache: false });\n  const conflictingRule = existingRules.filter((rule) => rule.triggerType === AutoModerationRuleTriggerType.Spam).first();\n  if (conflictingRule) await conflictingRule.delete(\"New anti-spam rule created\");\n\n  if (createdRule) {\n    if (createdRule.enabled) return client.errorMessages.createSlashError(interaction, \"❌ The anti-spam system is already `enabled`\");\n\n    await interaction.guild.autoModerationRules.edit(createdRule.id, {\n      enabled: true,\n    });\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-spam system again\")\n      .setDescription(\"The anti-spam system has been `enabled`. Generic spam will now be blocked.\")\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  } else {\n    const ruleToCreate = {\n      name: \"Anti-spam [Majo.exe]\",\n      creatorId: client.user?.id,\n      enabled: true,\n      eventType: AutoModerationRuleEventType.MessageSend,\n      triggerType: AutoModerationRuleTriggerType.Spam,\n      exemptChannels: exemptChannels ? [exemptChannels.id] : [],\n      exemptRoles: exemptRoles ? [exemptRoles.id] : [],\n      actions: [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            channel: interaction.channel,\n            customMessage: \"Message blocked due to detected spam. Rule added by Majo.exe\",\n          },\n        },\n      ],\n      reason: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n    } as AutoModerationRuleCreateOptions;\n\n    if (logChannel) {\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(interaction.guild.members.me).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ I don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      const user = interaction.member as GuildMember;\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.ViewChannel)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to view <#${logChannel.id}> channel`);\n      }\n\n      if (!logChannel.permissionsFor(user).has(PermissionsBitField.Flags.SendMessages)) {\n        return client.errorMessages.createSlashError(interaction, `❌ You don't have permission to send messages in <#${logChannel.id}> channel`);\n      }\n\n      ruleToCreate.actions = ruleToCreate.actions.concat({\n        type: AutoModerationActionType.SendAlertMessage,\n        metadata: {\n          channel: logChannel,\n          customMessage: \"Message blocked due to detected spam. Rule added by Majo.exe\",\n        },\n      });\n    }\n\n    const rule = await interaction.guild.autoModerationRules.create(ruleToCreate);\n\n    await createDatabaseAutoModRule(interaction.guild.id, rule.id, \"anti-spam\");\n\n    const embed = new EmbedBuilder()\n      .setColor(guildSettings?.embedColor || client.config.defaultColor)\n      .setTimestamp()\n      .setTitle(\"✅ Successfully `enabled` the anti-spam system\")\n      .setDescription(\"The anti-spam system has been `enabled`. Generic spam will now be blocked.\")\n      .setFields([\n        {\n          name: \"🔒 Rule name\",\n          value: \"`Anti-spam`\",\n          inline: true,\n        },\n        {\n          name: \"📨 Rule event\",\n          value: \"`Message send`\",\n          inline: true,\n        },\n        {\n          name: `📛 Rule action${logChannel ? \"s\" : \"\"}`,\n          value: `\\`Block message\\`${logChannel ? `, Send alert message in <#${logChannel.id}>` : \"\"}`,\n          inline: true,\n        },\n        {\n          name: \"📝 Rule log channel\",\n          value: logChannel ? `<#${logChannel.id}>` : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔑 Rule trigger\",\n          value: codeBlock(\"Generic spam\"),\n          inline: false,\n        },\n        {\n          name: \"🔗 Rule exempt channels\",\n          value: exemptChannels\n            ? exemptChannels.type === ChannelType.GuildCategory\n              ? `All channels in the category \\`${exemptChannels.name}\\``\n              : `<#${exemptChannels.id}>`\n            : \"`None`\",\n          inline: true,\n        },\n        {\n          name: \"🔗 Rule exempt roles\",\n          value: exemptRoles ? `<@&${exemptRoles.id}>` : \"`None`\",\n          inline: true,\n        },\n      ])\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      })\n      .setThumbnail(\n        interaction.guild.iconURL({\n          size: 256,\n        })\n      );\n\n    return interaction.followUp({ embeds: [embed] });\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/index.ts",
    "content": "// AntiBadWords\nexport * from \"./antiBadWords/disable\";\nexport * from \"./antiBadWords/enable\";\n\n// AntiInvite\nexport * from \"./antiInvite/disable\";\nexport * from \"./antiInvite/enable\";\n\n// AntiLinks\nexport * from \"./antiLinks/disable\";\nexport * from \"./antiLinks/enable\";\n\n// AntiMention\nexport * from \"./antiMention/disable\";\nexport * from \"./antiMention/enable\";\n\n// AntiSpam\nexport * from \"./antiSpam/disable\";\nexport * from \"./antiSpam/enable\";\n\n// Settings\nexport * from \"./settings/index\";\n"
  },
  {
    "path": "apps/bot/util/moderation/automod/settings/index.ts",
    "content": "import { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { ChatInputCommandInteraction, EmbedBuilder, codeBlock } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\nimport type { GuildSettings } from \"@/util/types/Command\";\n\nexport async function autoModSettings(client: Majobot, interaction: ChatInputCommandInteraction, guildSettings: GuildSettings) {\n  if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n\n  const antiInviteRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-invite\");\n  const antiLinkRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-link\");\n  const antiMentionRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-mention\");\n  const antiSpamRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-spam\");\n  const antiBadWordsRule = await syncDatabaseAutoModRule(interaction.guild.id, \"anti-bad-words\");\n\n  const embed = new EmbedBuilder()\n    .setColor(guildSettings?.embedColor || client.config.defaultColor)\n    .setTimestamp()\n    .setTitle(\"🤖 Automoderation settings\")\n    .setDescription(\"> You can `enable`/`disable` automoderation systems using `/automod <subcommand>`\")\n    .setFields([\n      {\n        name: \"🔗 Anti-invite system\",\n        value: codeBlock(antiInviteRule?.enabled ? \"✅ Enabled\" : \"❌ Disabled\"),\n        inline: false,\n      },\n      {\n        name: \"🔗 Anti-link system\",\n        value: codeBlock(antiLinkRule?.enabled ? \"✅ Enabled\" : \"❌ Disabled\"),\n        inline: false,\n      },\n      {\n        name: \"💭 Anti-mention system\",\n        value: codeBlock(antiMentionRule?.enabled ? \"✅ Enabled\" : \"❌ Disabled\"),\n        inline: false,\n      },\n      {\n        name: \"📨 Anti-spam system\",\n        value: codeBlock(antiSpamRule?.enabled ? \"✅ Enabled\" : \"❌ Disabled\"),\n        inline: false,\n      },\n      {\n        name: \"🤬 Anti-bad-words system\",\n        value: codeBlock(antiBadWordsRule?.enabled ? \"✅ Enabled\" : \"❌ Disabled\"),\n        inline: false,\n      },\n    ])\n    .setThumbnail(\n      interaction.guild.iconURL({\n        size: 256,\n      })\n    )\n    .setFooter({\n      text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n      iconURL: interaction.user.displayAvatarURL({\n        size: 256,\n      }),\n    });\n\n  return interaction.followUp({ embeds: [embed] });\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/ban.ts",
    "content": "import { ChatInputCommandInteraction, EmbedBuilder, GuildMember, GuildMemberRoleManager, PermissionsBitField, type ColorResolvable } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function banMember(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable) {\n  try {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n    if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't execute this command in this server.\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ I can't find you in this server.\");\n    const user = interaction.options.getMember(\"user\") as GuildMember;\n    const reason = interaction.options.getString(\"reason\") || \"No reason provided\";\n\n    if (!user) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to ban\");\n    }\n\n    const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!memberPermissions.has(PermissionsBitField.Flags.BanMembers)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You don't have permission to ban members\");\n    }\n\n    if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.BanMembers)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ I need `BAN_MEMBERS` permission to ban members\");\n    }\n\n    if (user.id === interaction.member.user.id) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You can't ban yourself, try banning someone else\");\n    }\n\n    if (user.id === client.user?.id) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You can't ban me, try banning someone else\");\n    }\n\n    const memberRoles = interaction.member.roles as GuildMemberRoleManager;\n\n    if (user.roles.highest.comparePositionTo(memberRoles.highest) >= 0) {\n      return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than you, try banning someone else\");\n    }\n\n    if (user.roles.highest.comparePositionTo(interaction.guild.members.me.roles.highest) >= 0) {\n      return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than me, try banning someone else\");\n    }\n\n    await interaction.guild.members.ban(user, { reason });\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setTitle(\"🔨 Member banned\")\n      .setDescription(`> **${user}** has been banned from the server\\n> **Reason:** ${reason}`)\n      .setFooter({\n        text: `Banned by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    interaction.followUp({ embeds: [embed] });\n  } catch (err) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/changeMemberNickname.ts",
    "content": "import { ChatInputCommandInteraction, EmbedBuilder, GuildMember, GuildMemberRoleManager, PermissionsBitField, type ColorResolvable } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function changememberNickname(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable, type: \"set\" | \"remove\" = \"set\") {\n  try {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n    if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't execute this command in this server.\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ I can't find you in this server.\");\n\n    if (type === \"set\") {\n      const user = interaction.options.getMember(\"user\") as GuildMember;\n      const nickname = interaction.options.getString(\"nickname\");\n\n      if (!user) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to kick\");\n      }\n\n      if (!nickname || nickname.length > 32) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a nickname to set\");\n      }\n\n      const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n      const memberRoles = interaction.member.roles as GuildMemberRoleManager;\n\n      if (!memberPermissions.has(PermissionsBitField.Flags.ManageNicknames)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You need `MANAGE_NICKNAMES` permission to set nicknames\");\n      }\n\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.KickMembers)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I need `MANAGE_NICKNAMES` permission to set nicknames\");\n      }\n\n      if (user.roles.highest.comparePositionTo(memberRoles.highest) >= 0) {\n        return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than you\");\n      }\n\n      if (user.roles.highest.comparePositionTo(interaction.guild.members.me.roles.highest) >= 0) {\n        return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than me\");\n      }\n\n      const memberToEdit = interaction.guild.members.cache.get(user.id);\n\n      if (!memberToEdit) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I can't find this user in the server\");\n      }\n\n      await memberToEdit.edit({ nick: nickname });\n\n      const embed = new EmbedBuilder()\n        .setColor(color)\n        .setTimestamp()\n        .setTitle(\"🏷️ Nickname set\")\n        .setDescription(`> **${user}** nickname has been set to **${nickname}**`)\n        .setFooter({\n          text: `Changed by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      interaction.followUp({ embeds: [embed] });\n    } else if (type === \"remove\") {\n      const user = interaction.options.getMember(\"user\") as GuildMember;\n\n      if (!user || !user.id) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to kick\");\n      }\n\n      const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n      const memberRoles = interaction.member.roles as GuildMemberRoleManager;\n\n      if (!memberPermissions.has(PermissionsBitField.Flags.ManageNicknames)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ You need `MANAGE_NICKNAMES` permission to set nicknames\");\n      }\n\n      if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.KickMembers)) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I need `MANAGE_NICKNAMES` permission to set nicknames\");\n      }\n\n      if (user.roles.highest.comparePositionTo(memberRoles.highest) >= 0) {\n        return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than you\");\n      }\n\n      if (user.roles.highest.comparePositionTo(interaction.guild.members.me.roles.highest) >= 0) {\n        return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than me\");\n      }\n\n      const memberToEdit = interaction.guild.members.cache.get(user.id);\n\n      if (!memberToEdit) {\n        return client.errorMessages.createSlashError(interaction, \"❌ I can't find this user in the server\");\n      }\n\n      await memberToEdit.edit({ nick: null });\n\n      const embed = new EmbedBuilder()\n        .setColor(color)\n        .setTimestamp()\n        .setTitle(\"🏷️ Nickname removed\")\n        .setDescription(`> **${user}** nickname has been removed`)\n        .setFooter({\n          text: `Changed by ${interaction.user.globalName || interaction.user.username}`,\n          iconURL: interaction.user.displayAvatarURL({\n            size: 256,\n          }),\n        });\n\n      interaction.followUp({ embeds: [embed] });\n    }\n  } catch (err) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/getMemberImages.ts",
    "content": "import { EmbedBuilder, ActionRowBuilder, ButtonStyle, ButtonBuilder, ChatInputCommandInteraction, type ColorResolvable, GuildMember, MessageFlags } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function getUserAvatar(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable) {\n  try {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n\n    const user = interaction.options.getMember(\"user\") as GuildMember;\n    const serverAvatar = interaction.options.getBoolean(\"guild_avatar\") || false;\n\n    if (!user || !user.id) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to check avatar\");\n    }\n\n    let avatar;\n    if (serverAvatar) {\n      const response = await fetch(`https://discord.com/api/guilds/${interaction.guild.id}/members/${user.id}`, {\n        headers: {\n          Authorization: `Bot ${client.token}`,\n        },\n      });\n      const data = await response.json();\n      if (data.avatar) {\n        const ext = data.avatar.startsWith(\"a_\") ? \".gif?size=4096\" : \".png?size=4096\";\n        avatar = `https://cdn.discordapp.com/guilds/${interaction.guild.id}/users/${user.id}/avatars/${data.avatar}${ext}`;\n      } else {\n        avatar = user.user.displayAvatarURL({\n          size: 4096,\n        });\n      }\n    } else {\n      avatar = user.user.displayAvatarURL({\n        size: 4096,\n      });\n    }\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setTitle(`${user.user.globalName || user.user.username}${serverAvatar ? \" server\" : \"\"} avatar`)\n      .setImage(avatar)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    const row = new ActionRowBuilder<ButtonBuilder>().addComponents(\n      new ButtonBuilder() // prettier\n        .setLabel(\"Avatar\")\n        .setStyle(ButtonStyle.Link)\n        .setURL(avatar)\n    );\n\n    return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed], components: [row] });\n  } catch (err) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n\nexport async function getUserBanner(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable) {\n  try {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n    const user = interaction.options.getMember(\"user\") as GuildMember;\n    const serverBanner = interaction.options.getBoolean(\"guild_banner\") || false;\n\n    if (!user || !user.id) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to check banner\");\n    }\n\n    let banner;\n    if (serverBanner) {\n      const response = await fetch(`https://discord.com/api/guilds/${interaction.guild.id}/members/${user.id}`, {\n        headers: {\n          Authorization: `Bot ${client.token}`,\n        },\n      });\n      const data = await response.json();\n      if (data.banner) {\n        const ext = data.banner.startsWith(\"a_\") ? \".gif?size=4096\" : \".png?size=4096\";\n        banner = `https://cdn.discordapp.com/banners/${user.id}/${data.banner}${ext}`;\n      } else {\n        banner = null;\n      }\n    } else {\n      const response = await fetch(`https://discord.com/api/users/${user.id}`, {\n        headers: {\n          Authorization: `Bot ${client.token}`,\n        },\n      });\n      const data = await response.json();\n      if (data.banner) {\n        const ext = data.banner.startsWith(\"a_\") ? \".gif?size=4096\" : \".png?size=4096\";\n        banner = `https://cdn.discordapp.com/banners/${user.id}/${data.banner}${ext}`;\n      } else {\n        banner = null;\n      }\n    }\n\n    if (!banner) {\n      return client.errorMessages.createSlashError(interaction, \"❌ This user doesn't have a banner\");\n    }\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setTitle(`${user.user.globalName || user.user.username}${serverBanner ? \" server\" : \"\"} banner`)\n      .setImage(banner)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    const row = new ActionRowBuilder<ButtonBuilder>().addComponents(\n      new ButtonBuilder() // prettier\n        .setLabel(\"Banner\")\n        .setStyle(ButtonStyle.Link)\n        .setURL(banner)\n    );\n\n    return interaction.followUp({ flags: [MessageFlags.Ephemeral], embeds: [embed], components: [row] });\n  } catch (err) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/getMemberInfo.ts",
    "content": "import { ChatInputCommandInteraction, EmbedBuilder, GuildMember, type ColorResolvable } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport function getMemberInfo(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable) {\n  try {\n    const user = interaction.options.getMember(\"user\") as GuildMember;\n\n    if (!user || !user.user) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to check info\");\n    }\n\n    const flags = {\n      \"\": \"None!\",\n      Staff: client.config.emojis.discord_employee,\n      Partner: client.config.emojis.discord_partner,\n      BugHunterLevel1: client.config.emojis.bug_hunter_1,\n      BugHunterLevel2: client.config.emojis.bug_hunter_2,\n      HypesquadEvents: client.config.emojis.hypesquad,\n      HypeSquadOnlineHouse1: client.config.emojis.hypesquad_brilliance,\n      HypeSquadOnlineHouse2: client.config.emojis.hypesquad_bravery,\n      HypeSquadOnlineHouse3: client.config.emojis.hypesquad_balance,\n      PremiumEarlySupporter: client.config.emojis.early_supporter,\n      TeamPseudoUser: \"Team User\",\n      VerifiedBot: `${client.config.emojis.bot_badge_part_1}${client.config.emojis.bot_badge_part_2}`,\n      VerifiedDeveloper: client.config.emojis.verified_bot_developer,\n    };\n\n    type UserFlags = keyof typeof flags;\n\n    const userFlags = [];\n    user.user.flags?.toArray().map((flag) => {\n      return flags[flag as UserFlags] ? userFlags.push(flags[flag as UserFlags]) : null;\n    });\n\n    if (userFlags.length === 0) {\n      userFlags.push(\"None!\");\n    }\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setThumbnail(user.user.displayAvatarURL({ size: 256 }))\n      .setTitle(`${user.user.globalName || user.user.username} ${user.user.bot ? client.config.emojis.bot_badge_part_1 + client.config.emojis.bot_badge_part_2 : \"\"}`)\n      .setFooter({\n        text: `Requested by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    const fields = [\n      {\n        name: `${client.config.emojis.role} ID`,\n        value: `> \\`${user.user.id}\\``,\n        inline: true,\n      },\n      {\n        name: `${client.config.emojis.role} Username`,\n        value: `> \\`${user.user.username} ${user.user.globalName ? `(@${user.user.globalName})` : \"\"}\\``,\n        inline: true,\n      },\n      {\n        name: `${client.config.emojis.stopwatch} Joined server at`,\n        value: user.joinedTimestamp ? `><t:${parseInt((user.joinedTimestamp / 1000).toString())}> (<t:${parseInt((user.joinedTimestamp / 1000).toString())}:R>)` : \"Unknown\",\n        inline: false,\n      },\n      {\n        name: `${client.config.emojis.stopwatch} Account created at`,\n        value: `> <t:${parseInt((user.user.createdAt.getTime() / 1000).toString())}> (<t:${parseInt((user.user.createdAt.getTime() / 1000).toString())}:R>)`,\n        inline: false,\n      },\n      {\n        name: `${client.config.emojis.role} Highest role`,\n        value: `> ${user.roles.highest || \"None\"}`,\n        inline: true,\n      },\n      {\n        name: `${client.config.emojis.discord_badges} Badges`,\n        value: `> ${userFlags || \"None\"}`,\n        inline: true,\n      },\n    ];\n\n    if (user.nickname) {\n      fields.push({\n        name: `${client.config.emojis.nickname} Nickname`,\n        value: `> ${user.nickname}`,\n        inline: false,\n      });\n    }\n\n    embed.addFields(fields);\n\n    return interaction.followUp({ embeds: [embed] });\n  } catch (err) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/kick.ts",
    "content": "import { ChatInputCommandInteraction, EmbedBuilder, GuildMember, GuildMemberRoleManager, PermissionsBitField, type ColorResolvable } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function kickMember(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable) {\n  try {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n    if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't execute this command in this server.\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ I can't find you in this server.\");\n\n    const user = interaction.options.getMember(\"user\") as GuildMember;\n    const reason = interaction.options.getString(\"reason\") || \"No reason provided\";\n\n    if (!user) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to kick\");\n    }\n\n    const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!memberPermissions.has(PermissionsBitField.Flags.KickMembers)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need `KICK_MEMBERS` permission to kick members\");\n    }\n\n    if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.KickMembers)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ I need `KICK_MEMBERS` permission to kick members\");\n    }\n\n    if (user.id === interaction.member.user.id) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You can't kick yourself\");\n    }\n\n    if (user.id === client.user?.id) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You can't kick me\");\n    }\n\n    const userRoles = interaction.member.roles as GuildMemberRoleManager;\n\n    if (user.roles.highest.comparePositionTo(userRoles.highest) >= 0) {\n      return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than you\");\n    }\n\n    if (user.roles.highest.comparePositionTo(interaction.guild.members.me.roles.highest) >= 0) {\n      return client.errorMessages.createSlashError(interaction, \"❌ This user has higher or equal roles than me\");\n    }\n\n    await interaction.guild.members.kick(user, reason);\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setTitle(\"🔨 Member kicked\")\n      .setDescription(`> **${user}** has been kicked from the server\\n> **Reason:** ${reason}`)\n      .setFooter({\n        text: `Kicked by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    interaction.followUp({ embeds: [embed] });\n  } catch (err) {\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/moderation/unban.ts",
    "content": "import { ChatInputCommandInteraction, EmbedBuilder, PermissionsBitField, type ColorResolvable } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport async function unBanMember(client: Majobot, interaction: ChatInputCommandInteraction, color: ColorResolvable) {\n  try {\n    if (!interaction.guild) return client.errorMessages.createSlashError(interaction, \"❌ This command can only be used in a server.\");\n    if (!interaction.guild.members.me) return client.errorMessages.createSlashError(interaction, \"❌ I can't execute this command in this server.\");\n    if (!interaction.member) return client.errorMessages.createSlashError(interaction, \"❌ I can't find you in this server.\");\n    const user = interaction.options.getString(\"user_id\");\n    const reason = interaction.options.getString(\"reason\") || \"No reason provided\";\n\n    if (!user) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need to provide a user to unban\");\n    }\n\n    const memberPermissions = interaction.memberPermissions || new PermissionsBitField();\n\n    if (!memberPermissions.has(PermissionsBitField.Flags.BanMembers)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ You need `BAN_MEMBERS` permission to unban members\");\n    }\n\n    if (!interaction.guild.members.me.permissions.has(PermissionsBitField.Flags.BanMembers)) {\n      return client.errorMessages.createSlashError(interaction, \"❌ I need `BAN_MEMBERS` permission to unban members\");\n    }\n\n    await interaction.guild.members.unban(user, reason);\n\n    const embed = new EmbedBuilder()\n      .setColor(color)\n      .setTimestamp()\n      .setTitle(\"🔨 Member unbanned\")\n      .setDescription(`> **${user}** has been unbanned from the server\\n> **Reason:** ${reason}`)\n      .setFooter({\n        text: `Unbanned by ${interaction.user.globalName || interaction.user.username}`,\n        iconURL: interaction.user.displayAvatarURL({\n          size: 256,\n        }),\n      });\n\n    return interaction.followUp({ embeds: [embed] });\n  } catch (err) {\n    console.log(err);\n    client.errorMessages.internalError(interaction, err);\n  }\n}\n"
  },
  {
    "path": "apps/bot/util/types/Command.ts",
    "content": "import type { Guild, GuildDisabledCategories, GuildDisabledCommands } from \"@majoexe/database/types\";\nimport { type ChatInputApplicationCommandData, ChatInputCommandInteraction, AutocompleteInteraction, Message, type ApplicationCommandOptionData } from \"discord.js\";\nimport type { Majobot } from \"@/index\";\n\nexport interface GuildSettings extends Pick<Guild, \"embedColor\" | \"publicPage\" | \"vanity\"> {\n  guildDisabledCommands: GuildDisabledCommands[];\n  guildDisabledCategories: GuildDisabledCategories[];\n}\n\n// Create a new type that includes the usage property\ntype ExtendedApplicationCommandOptionData = ApplicationCommandOptionData & { usage?: string };\n\nexport interface SlashCommand extends ChatInputApplicationCommandData {\n  category?: string;\n  cooldown?: number;\n  defer?: boolean;\n  usage: string;\n  options?: readonly ExtendedApplicationCommandOptionData[];\n  run: (client: Majobot, interaction: ChatInputCommandInteraction, guildSettings?: GuildSettings) => Promise<Message | void>;\n  autocomplete?: (client: Majobot, interaction: AutocompleteInteraction) => Promise<void>;\n}\n"
  },
  {
    "path": "apps/dashboard/.env.example",
    "content": "# Dashboard\nSECRET=\nNEXTAUTH_URL=\nNEXT_PUBLIC_URL=\n\n# Hotjar ID (Optional)\nHOTJAR_ID="
  },
  {
    "path": "apps/dashboard/.gitignore",
    "content": "node_modules"
  },
  {
    "path": "apps/dashboard/.prettierignore",
    "content": "package.json\n.next"
  },
  {
    "path": "apps/dashboard/README.md",
    "content": "![Header - Dashboard](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/4056d368-0400-415a-b647-4d97bd8009c1)\n\n<p align=\"center\">\n <a href=\"https://majoexe.com/server\"><img src=\"https://img.shields.io/discord/695282860399001640?color=%234552ef&logo=discord&label=Discord&style=flat&logoColor=fff\" alt=\"Discord\" /></a>\n <a href=\"https://www.npmjs.com/package/discord.js\"><img src=\"https://img.shields.io/badge/Discord.js-v14-%234552ef?style=flat&logo=npm&logoColor=fff\" alt=\"Discord.js\" /></a>\n <a href=\"https://majoexe.com/\"><img src=\"https://img.shields.io/github/actions/workflow/status/igorkowalczyk/majo.exe/codeql-analysis.yml?branch=master&style=flat&label=CodeQL&logo=github&color=%234552ef\" alt=\"CodeQL Checks\" /></a>\n <a href=\"https://majoexe.com\"><img src=\"https://img.shields.io/github/license/igorkowalczyk/majo.exe?style=flat&;logo=github&label=License&color=%234552ef\" alt=\"GitHub License\" /></a>\n</p>\n\n## 🤖 Self-Hosting\n\n1. Clone [this repository](https://github.com/igorkowalczyk/majo.exe) `git clone https://github.com/iigorkowalczyk/majo.exe.git`\n2. Go to `/packages/database/` directory and follow [Database Setup](/packages/database/README.md) tutorial\n3. Grab a Discord Bot token and client secret on [Discord's developer portal](https://discord.com/developers/applications) [Tutorial](#-discord-credentials)\n4. Add redirect URL to Discord's developer portal (https://your-website.com/api/auth/callback/discord)\n5. Create new file or edit existing `.env` file in root directory of the project\n6. In `.env` file set this values:\n   - `TOKEN` - Discord bot token [[Tutorial](/apps/bot/README.md#-discord-token)]\n   - `SECRET` - Random string (min. length = 32 chars)\n   - `CLIENT_SECRET` - Discord bot secret [[Tutorial](/apps/bot/README.md#-discord-secret)]\n   - `NEXTAUTH_URL` - Your website URL (with protocol)\n   - `NEXT_PUBLIC_URL` - Your website URL (with protocol)\n   - `HOTJAR_ID` - Your Hotjar ID (optional)\n   - Database URLs [[Tutorial](/packages/database/README.md)]\n     - `DATABASE_URL` - Main database URL\n     - `DATABASE_URL_UNPOOLED` - Direct database URL (optional)\n     - `REDIS_URL` - Redis database URL\n7. Run `pnpm i` to install all dependencies\n8. Go to `/packages/config/` directory and change values in `/configs/dashboard.js` to your values\n9. Go back to main directory and run `pnpm run dev --filter=\"@majoexe/dashboard\"` or `pnpm run deploy --filter=\"@majoexe/dashboard\"` to start dashboard\n10. That's it! You can now visit your dashboard for the first time!\n\n## ▲ Vercel Deploy\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FIgorKowalczyk%2Fmajo.exe&env=TOKEN,SECRET,CLIENT_ID,CLIENT_SECRET,NEXTAUTH_URL,DATABASE_URL,DATABASE_URL_UNPOOLED,NEXT_PUBLIC_URL&envDescription=Tokens%20needed%20for%20Dashboard&envLink=https%3A%2F%2Fgithub.com%2Figorkowalczyk%2Fmajo.exe&project-name=majo-exe&repository-name=majo-exe&demo-title=Majo.exe%20-%20Dashboard&demo-description=Majo.exe%20Dashboard%20-%20Next.js%20application%20for%20managing%20Majo.exe%20Discord%20bot.&demo-url=https%3A%2F%2Fmajoexe.com&demo-image=https%3A%2F%2Fgithub.com%2FIgorKowalczyk%2Fmajo.exe%2Fassets%2F49127376%2F02d4d63d-2cea-44f2-88b6-7e645dc272ea)\n\n1. Click `Deploy with Vercel` button above and follow instructions\n2. Go to `/packages/database/` directory and follow [Database Setup](/packages/database/README.md) tutorial\n3. Grab a Discord Bot token and client secret on [Discord's developer portal](https://discord.com/developers/applications) [Tutorial](/apps/dashboard/README.md#-discord-credentials)\n4. Add redirect URL to Discord's developer portal (https://your-project.vercel.app/api/auth/callback/discord)\n5. In your forked repository go to /packages/config/ directory and change values in /configs/dashboard.js to your values\n6. Import this repository to Vercel (click button above)\n7. Set environment variables from your root `.env` file in Vercel dashboard\n8. Set Root Directory in Vercel dashboard to `/apps/dashboard/` (Also include files from outside the root directory)\n9. Click `Deploy` button\n10. That's it! You can now visit your dashboard for the first time!\n\n> [!NOTE]\n> Your Deploy URL for Vercel will be `https://project-name.vercel.app/`, but you can add your own domain in Vercel dashboard. Don't forget to add it to Discord's developer portal.\n\n## 🔒 Example `.env` file\n\n```\nTOKEN=DISCORD_BOT_TOKEN\nSECRET=SECRET_STRING\nCLIENT_SECRET=DISCORD_BOT_SECRET\nNEXTAUTH_URL=YOUR_WEBSITE_URL\nNEXT_PUBLIC_URL=YOUR_WEBSITE_URL\n\n# ... Database credentials\n```\n\n> [!WARNING]\n> This file should be in **root directory** of the project. This file is **super secret**, better to not share it!\n\n---\n\n## ⚙️ System Requirements\n\nEnsure your setup meets these prerequisites before setting up Majo.exe:\n\n- `PostgreSQL 14x` or higher\n- `Node.js 18x` or higher\n- `(Any)` Linux x64¹\n- `~512MB` of RAM (minimum)\n- `~3GB` of hard drive space (minimum)\n\n<!-- prettier-ignore-start -->\n> [!NOTE]\n> 1. Debian based distros are recommended, Dashboard can also run on Windows and MacOS but it's not recommended.\n<!-- prettier-ignore-end -->\n\n## 📝 Contributors\n\n- [**@binary-blazer**](https://github.com/binary-blazer) - Hosting support\n- [**@TsukiyoDevs**](https://github.com/TsukiyoDevs) - Bug fixes, New features, Testing\n- [**@r-kjha**](https://github.com/r-kjha) - Emoji config support, Bug fixes, New features, Testing\n- [**@Joao-Victor-Liporini**](https://github.com/Joao-Victor-Liporini) - Bug fixes, Command handler improvements, Testing, New features\n- [**@evandev**](https://github.com/xefew) - Bug fixes, Testing\n- [**iWeedy\\_**](https://github.com/i-weedy) - Testing\n- [**@krzesl0**](https://github.com/krzesl0) - New Features, Bug fixes, Testing\n- [**@\\_index1337**](https://github.com/index1337) - Readme tutorials\n- [**@Wafelowski**](https://github.com/HeavyWolfPL) - Translation improvements\n- [**@Sakshyam6966**](https://github.com/Sakshyam6966) - New Features, Bug fixes, Testing\n\n<!-- ## 💝 Sponsors\n\n**These wonderful people and services have helped develop Majo.exe, without them this project would not exist. Thanks goes to these wonderful people!**\n\n|                                                                      | Sponsor                                                             | Description                                                                                                             |\n| -------------------------------------------------------------------- | ------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |\n| ![TrestHost Logo](https://majoexe.com/assets/sponsors/tresthost.png) | [**TrestHost**](https://dash.tresthost.me/register?ref=majonez.exe) | **TrestHost is a good and powerful hosting provider** providing servers from the **USA and Germany**. Try us out today! | -->\n\n## ⁉️ Issues\n\nIf you have any issues with the bot please create [new issue here](https://github.com/igorkowalczyk/majo.exe/issues).\nWhen creating new issue please provide as much information as possible. If you can, please provide logs from console.\n\n## 📥 Pull Requests\n\nWhen submitting a pull request:\n\n- Clone the repo.\n- Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`).\n- Open a [pull request](https://github.com/igorkowalczyk/majo.exe/pulls) on [GitHub](https://github.com) and describe the feature or fix.\n\nWe will review your pull request as soon as possible. We might suggest some changes or improvements.\n\n## 📋 License\n\nThis project is licensed under the MIT. See the [LICENSE](https://github.com/igorkowalczyk/majo.exe/blob/master/license.md) file for details\n"
  },
  {
    "path": "apps/dashboard/app/_components/AddReaction.tsx",
    "content": "\"use client\";\n\nimport { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport Image from \"@/components/ui/Image\";\nimport { cn } from \"@/lib/utils\";\n\nexport function AddReaction({ reaction, countL = 2 }: { reaction: string; countL?: number }) {\n  const [clicked, setClicked] = useState<boolean>(true);\n  const [count, setCount] = useState<number>(countL);\n\n  const setIt = () => {\n    toast(!clicked ? \"Joined the giveaway!\" : \"Left the giveaway!\", {\n      icon: <Image src={reaction} alt=\"Reaction emoji\" quality={95} width={16} height={16} className=\"size-4 shrink-0\" />,\n    });\n    setClicked(!clicked);\n    setCount(clicked ? count - 1 : count + 1);\n  };\n\n  return (\n    <div\n      className={cn(\n        {\n          \"border-neutral-700\": !clicked,\n          \"border-accent-primary bg-accent-primary/20\": clicked,\n        },\n        \"ml-2 mt-2 flex w-fit cursor-pointer select-none flex-row items-center gap-2 rounded-md border px-2 py-1 text-sm duration-100 [font-feature-settings:'tnum']\"\n      )}\n      onClick={() => setIt()}\n    >\n      <Image src={reaction} alt=\"Reaction emoji\" quality={100} width={16} height={16} className=\"size-4 shrink-0\" />\n      <span className=\"font-bold\">{count}</span>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/_components/BotReplacement.tsx",
    "content": "\"use client\";\n\nimport { globalConfig } from \"@majoexe/config\";\nimport { BotIcon, UserIcon } from \"lucide-react\";\nimport avatar from \"public/assets/avatar.png\";\nimport React, { useRef } from \"react\";\nimport { AnimatedBeam } from \"@/components/ui/effects/AnimatedBeam\";\nimport Image from \"@/components/ui/Image\";\nimport { cn } from \"@/lib/utils\";\n\nconst Circle = ({ className, children, ...props }: React.ComponentProps<\"div\">) => {\n  return (\n    <div className={cn(\"z-10 flex size-14 items-center justify-center rounded-full border-2 border-neutral-800 bg-background-secondary\", className)} {...props}>\n      {children}\n    </div>\n  );\n};\n\nexport function BotReplacement({ className }: { className?: string }) {\n  const containerRef = useRef<HTMLDivElement>(null);\n  const div1Ref = useRef<HTMLDivElement>(null);\n  const div2Ref = useRef<HTMLDivElement>(null);\n  const div3Ref = useRef<HTMLDivElement>(null);\n\n  const div5Ref = useRef<HTMLDivElement>(null);\n  const div6Ref = useRef<HTMLDivElement>(null);\n  const div7Ref = useRef<HTMLDivElement>(null);\n\n  return (\n    <div className={cn(\"relative flex items-center justify-center overflow-hidden\", className)} ref={containerRef}>\n      <div className=\"flex size-full max-w-lg flex-row items-stretch justify-between gap-10\">\n        <div className=\"flex flex-col justify-center gap-2\">\n          <Circle ref={div1Ref}>\n            <BotIcon />\n          </Circle>\n          <Circle ref={div2Ref}>\n            <BotIcon />\n          </Circle>\n          <Circle ref={div3Ref}>\n            <BotIcon />\n          </Circle>\n          <Circle ref={div5Ref}>\n            <BotIcon />\n          </Circle>\n        </div>\n        <div className=\"flex flex-col justify-center\">\n          <Circle ref={div6Ref} className=\"size-18\">\n            <Image src={avatar.src} alt=\"Majo.exe avatar\" quality={50} width={64} height={64} className=\"size-18 shrink-0 rounded-full\" />\n          </Circle>\n        </div>\n        <div className=\"flex flex-col justify-center\">\n          <Circle ref={div7Ref}>\n            <UserIcon />\n          </Circle>\n        </div>\n      </div>\n\n      <AnimatedBeam containerRef={containerRef} fromRef={div1Ref} toRef={div6Ref} gradientStartColor={globalConfig.defaultColor} gradientStopColor={globalConfig.defaultColor} />\n      <AnimatedBeam containerRef={containerRef} fromRef={div2Ref} toRef={div6Ref} gradientStartColor={globalConfig.defaultColor} gradientStopColor={globalConfig.defaultColor} />\n      <AnimatedBeam containerRef={containerRef} fromRef={div3Ref} toRef={div6Ref} gradientStartColor={globalConfig.defaultColor} gradientStopColor={globalConfig.defaultColor} />\n      <AnimatedBeam containerRef={containerRef} fromRef={div5Ref} toRef={div6Ref} gradientStartColor={globalConfig.defaultColor} gradientStopColor={globalConfig.defaultColor} />\n      <AnimatedBeam containerRef={containerRef} fromRef={div6Ref} toRef={div7Ref} gradientStartColor={globalConfig.defaultColor} gradientStopColor={globalConfig.defaultColor} />\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/_components/ExampleChart.tsx",
    "content": "\"use client\";\n\nimport { pseudoRandom } from \"@majoexe/util/functions/util\";\nimport React from \"react\";\nimport { Suspense } from \"react\";\nimport { Area, AreaChart } from \"recharts\";\nimport { ChartContainer } from \"@/components/ui/Chart\";\n\nexport const ExampleChart = () => {\n  const data = Array.from({ length: 30 }, (_, i) => ({\n    date: new Date(Date.now() - i * 86400000).toISOString().split(\"T\")[0],\n    Joins: Math.floor(pseudoRandom(i / 1.33)),\n  }));\n\n  return (\n    <Suspense fallback={<div className=\"h-56 w-full rounded-xl border border-neutral-800 bg-background-secondary\" />}>\n      <ChartContainer config={{ Joins: { label: \"Joins\", color: \"hsl(var(--chart-blue))\" } }} className=\"aspect-auto h-80 w-full absolute inset-x-0 bottom-0 scale-105\">\n        <AreaChart accessibilityLayer data={data}>\n          <defs>\n            <linearGradient id=\"fill-joins\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n              <stop offset=\"5%\" stopColor=\"hsl(var(--chart-blue))\" stopOpacity={0.4} />\n              <stop offset=\"95%\" stopColor=\"hsl(var(--chart-blue))\" stopOpacity={0.1} />\n            </linearGradient>\n          </defs>\n\n          <Area\n            strokeLinejoin=\"round\"\n            strokeLinecap=\"round\"\n            key=\"Joins\"\n            dataKey=\"Joins\"\n            type=\"monotoneX\"\n            fill=\"url(#fill-joins)\"\n            stroke=\"hsl(var(--chart-blue))\"\n            strokeWidth={2}\n            stackId=\"stack-joins\"\n          />\n        </AreaChart>\n      </ChartContainer>\n    </Suspense>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/_components/LevelUp.tsx",
    "content": "\"use client\";\n\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport Image from \"@/components/ui/Image\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface LevelUpProps extends React.ComponentProps<\"div\"> {\n  avatar: string;\n  username: string;\n}\n\nexport const LevelUp = ({ avatar, username, className, ...props }: LevelUpProps) => {\n  const [level, setLevel] = useState<number>(2);\n  const [xp, setXp] = useState<number>(46);\n\n  const setIt = () => {\n    toast(\"You leveled up!\", {\n      icon: <span className=\"text-lg\">🔥</span>,\n    });\n    setLevel(Math.floor(Math.random() * 9 + 1));\n    setXp(Math.floor(Math.random() * 80) + 5);\n  };\n\n  return (\n    <div className={cn(\"mt-6 flex flex-row items-center gap-1\", className)} {...props}>\n      <Image src={avatar} alt=\"User avatar\" quality={50} width={40} height={64} className=\"size-10 shrink-0 self-baseline rounded-full\" />\n      <span className=\"ml-2\">\n        <span className=\"font-bold\">{username}</span> leveled up to <span className=\"font-bold text-accent-primary [font-feature-settings:'tnum']\">level {level}</span>{\" \"}\n        <span onClick={setIt} className=\"cursor-pointer select-none\">\n          🔥\n        </span>\n        <span className=\"relative mt-3 block h-2 w-full rounded-full bg-[#2b2d31]\">\n          <span className=\"absolute inset-0 h-2 rounded-full bg-accent-primary duration-500\" style={{ width: `${xp}%` }} />\n        </span>\n      </span>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/_components/Notifications.tsx",
    "content": "import Image from \"next/image\";\nimport avatar01 from \"public/assets/avatars/01.webp\";\nimport avatar02 from \"public/assets/avatars/02.webp\";\nimport avatar03 from \"public/assets/avatars/03.webp\";\nimport avatar04 from \"public/assets/avatars/04.webp\";\nimport avatar05 from \"public/assets/avatars/05.webp\";\nimport avatar06 from \"public/assets/avatars/06.webp\";\nimport avatar07 from \"public/assets/avatars/07.webp\";\nimport { AnimatedList } from \"@/components/ui/effects/AnimatedList\";\n\nexport const Notifications = ({ ...props }: Omit<React.ComponentProps<typeof AnimatedList>, \"children\">) => {\n  let notifications = [\n    {\n      author: \"Kilo\",\n      avatar: avatar02,\n      content: (\n        <span>\n          enabled <span className=\"font-bold text-accent-primary\">AutoMod</span>\n        </span>\n      ),\n    },\n    {\n      author: \"ElmzL3gend\",\n      avatar: avatar07,\n      content: (\n        <span>\n          banned <span className=\"font-bold text-accent-primary\">𝕮𝖍𝖎𝖕𝖘𝖆𝖓𝖉𝕼𝖚𝖊𝖘𝖔</span>\n        </span>\n      ),\n    },\n    {\n      author: \"m3me_mint3r\",\n      avatar: avatar04,\n      content: (\n        <span>\n          warned <span className=\"font-bold text-accent-primary\">D1gitPunkz</span>\n        </span>\n      ),\n    },\n    {\n      author: \"Leani\" /* ;-; good old times */,\n      avatar: avatar06,\n      content: (\n        <span>\n          disabled <span className=\"font-bold text-accent-primary\">/help</span> command\n        </span>\n      ),\n    },\n    {\n      author: \"nIEwIAdOmO\",\n      avatar: avatar05,\n      content: (\n        <span>\n          set vanity to <span className=\"font-bold text-accent-primary\">/majo</span>\n        </span>\n      ),\n    },\n    {\n      author: \"SANGOKU\",\n      avatar: avatar03,\n      content: (\n        <span>\n          enabled category <span className=\"font-bold text-accent-primary\">Moderation</span>\n        </span>\n      ),\n    },\n    {\n      author: \"Jonas\",\n      avatar: avatar01,\n      content: (\n        <span>\n          set embed color to <span className=\"font-bold text-accent-primary\">#FF0000</span>\n        </span>\n      ),\n    },\n  ];\n\n  notifications = Array.from({ length: 10 }, () => notifications).flat();\n\n  return (\n    <AnimatedList {...props}>\n      {notifications.map((item, index) => (\n        <figure\n          key={`notification-${item.content}-${item.author}-${index}`}\n          className=\"relative mx-auto min-h-fit w-full max-w-[400px] transform-gpu overflow-hidden transition-all duration-200 ease-in-out\"\n        >\n          <div className=\"mt-1 flex flex-row items-center gap-1\">\n            <Image src={item.avatar} alt={`${item.author} avatar`} quality={95} width={20} height={20} className=\"size-5 self-baseline rounded-full\" />\n            <span className=\"ml-2 text-sm\">\n              <span className=\"font-bold\">{item.author}</span> {item.content}\n            </span>\n          </div>\n        </figure>\n      ))}\n    </AnimatedList>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/api/auth/[...nextauth]/route.ts",
    "content": "import authOptions from \"lib/authOptions\";\nimport NextAuth from \"next-auth\";\n\nconst handler = NextAuth(authOptions);\nexport { handler as GET, handler as POST };\n"
  },
  {
    "path": "apps/dashboard/app/api/cron/cleanup/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Logger } from \"@majoexe/util/functions/util\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport async function GET(request: NextRequest) {\n  try {\n    const authHeader = request.headers.get(\"authorization\");\n\n    if (authHeader !== `Bearer ${process.env.CRON_SECRET}`) {\n      return NextResponse.json(\n        { success: false },\n        {\n          status: 401,\n        }\n      );\n    }\n\n    const deleteOlderThan = new Date(Date.now() - 31536000000); // 1 year\n    Logger(\"cron\", `Deleting data older than ${deleteOlderThan}`);\n\n    const deletedGuildJoins = await prismaClient.guildJoin.deleteMany({\n      where: {\n        date: {\n          lt: deleteOlderThan,\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedGuildJoins.count} guild joins older than 1 year!`);\n\n    const deletedGuildLeaves = await prismaClient.guildLeave.deleteMany({\n      where: {\n        date: {\n          lt: deleteOlderThan,\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedGuildLeaves.count} guild leaves older than 1 year!`);\n\n    const deletedGuildMessageStats = await prismaClient.guildMessage.deleteMany({\n      where: {\n        date: {\n          lt: deleteOlderThan,\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedGuildMessageStats.count} guild message stats older than 1 year!`);\n\n    const deletedSessions = await prismaClient.session.deleteMany({\n      where: {\n        expires: {\n          lt: new Date(),\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedSessions.count} expired sessions!`);\n\n    const deletedVerificationTokens = await prismaClient.verificationToken.deleteMany({\n      where: {\n        expires: {\n          lt: new Date(),\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedVerificationTokens.count} expired verification tokens!`);\n\n    const deletedSuggestions = await prismaClient.suggestions.deleteMany({\n      where: {\n        createdAt: {\n          lt: deleteOlderThan,\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedSuggestions.count} suggestions older than 1 year!`);\n\n    // Accounts are deleted when the user is deleted\n    const deletedAccounts = await prismaClient.user.deleteMany({\n      where: {\n        lastLogin: {\n          lt: deleteOlderThan,\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedAccounts.count} accounts older than 1 year!`);\n\n    // Delete ENDED giveaways older than 1 year\n    const deletedGiveaways = await prismaClient.giveaways.deleteMany({\n      where: {\n        createdAt: {\n          lt: deleteOlderThan,\n        },\n      },\n    });\n    Logger(\"cron\", `Deleted ${deletedGiveaways.count} giveaways older than 1 year!`);\n\n    return NextResponse.json(\n      { success: true },\n      {\n        status: 200,\n      }\n    );\n  } catch (error) {\n    console.error(error);\n    return NextResponse.json(\n      { success: false },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/invite/[invite]/route.ts",
    "content": "import { globalPermissions } from \"@majoexe/config/permissions\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport async function GET(request: NextRequest, props: { params: Promise<{ invite: string }> }) {\n  const params = await props.params;\n  const { invite } = params;\n  if (!invite) return NextResponse.redirect(new URL(\"/dashboard\", request.url));\n  return NextResponse.redirect(\n    `https://discord.com/api/oauth2/authorize?client_id=${env.CLIENT_ID}&permissions=${globalPermissions.permissions}&scope=guilds%20identify%20${globalPermissions.scopes}&guild_id=${invite}&redirect_uri=${encodeURIComponent(env.NEXTAUTH_URL + \"/dashboard\")}&response_type=code`\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/invite/route.ts",
    "content": "import { globalPermissions } from \"@majoexe/config/permissions\";\nimport { NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport function GET() {\n  return NextResponse.redirect(\n    `https://discord.com/api/oauth2/authorize?client_id=${env.CLIENT_ID}&permissions=${globalPermissions.permissions}&scope=guilds%20identify%20${globalPermissions.scopes}&redirect_uri=${encodeURIComponent(env.NEXTAUTH_URL + \"/dashboard\")}&response_type=code`\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/logs/[serverId]/route.ts",
    "content": "import { fetchLogs } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function GET(request: NextRequest, props: { params: Promise<{ serverId: string }> }) {\n  const params = await props.params;\n  try {\n    const { serverId } = params;\n    const { searchParams } = new URL(request.url);\n    const page = Number.parseInt(searchParams.get(\"page\") || \"1\", 10);\n    const start = Date.now();\n\n    if (!serverId) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const session = await getSession();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(serverId);\n\n    if (!server || (\"error\" in server && server.error)) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!(\"bot\" in server) || !server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const logs = await fetchLogs(serverId, page);\n    const newLogs = logs.map((log) => {\n      return {\n        ...log,\n        createdAt: new Date(log.createdAt).toISOString(),\n      };\n    });\n\n    /* eslint-disable func-names */\n    (BigInt.prototype as any).toJSON = function () {\n      return this.toString();\n    };\n\n    return NextResponse.json(newLogs, {\n      status: 200,\n      headers: {\n        ...(process.env.NODE_ENV !== \"production\" && {\n          \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n        }),\n      },\n    });\n  } catch (err) {\n    console.log(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/automod/anti-invite/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { AutoModerationRuleCreationData, createDiscordAutoModRule, validateAutoModIgnores, validateAutoModRuleActions } from \"@majoexe/util/functions/automod\";\nimport { getGuild, getGuildChannels, getGuildFromMemberGuilds, getGuildRoles } from \"@majoexe/util/functions/guild\";\nimport { AutoModerationActionType, AutoModerationRuleTriggerType, AutoModerationRuleEventType, ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const data: AutoModerationRuleCreationData | undefined = await request.json();\n\n    if (!data) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!data.actions || data.actions.length === 0) {\n      data.actions = [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            custom_message: \"Message blocked due to containing an invite link. Rule added by Majo.exe\",\n          },\n        },\n      ];\n    }\n\n    if (\n      // prettier\n      !data ||\n      !data.id ||\n      typeof data.id !== \"string\" ||\n      typeof data.enabled !== \"boolean\" ||\n      !data.exemptRoles ||\n      !data.exemptChannels ||\n      !data.actions ||\n      !Array.isArray(data.actions) ||\n      !Array.isArray(data.exemptRoles) ||\n      !Array.isArray(data.exemptChannels) ||\n      !data.exemptRoles.every((r) => typeof r === \"string\") ||\n      !data.exemptChannels.every((c) => typeof c === \"string\") ||\n      !data.actions.every(\n        (a) => a.type === AutoModerationActionType.BlockMessage || a.type === AutoModerationActionType.SendAlertMessage || a.type === AutoModerationActionType.Timeout\n      )\n    ) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(data.id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.upsert({\n      where: {\n        guildId: server.id,\n      },\n      update: {},\n      create: {\n        guildId: server.id,\n      },\n      include: {\n        autoMod: {\n          where: {\n            guildId: server.id,\n          },\n        },\n      },\n    });\n\n    const guildRoles = (await getGuildRoles(server.id)) || [];\n    const guildChannels = (await getGuildChannels(server.id, [ChannelType.GuildText])) || [];\n\n    const validatedIgnores = await validateAutoModIgnores(guildChannels, guildRoles, data.exemptRoles, data.exemptChannels);\n\n    if (validatedIgnores.error || validatedIgnores.code !== 200) {\n      return NextResponse.json(\n        {\n          error: validatedIgnores.error,\n          code: validatedIgnores.code,\n        },\n        {\n          status: validatedIgnores.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const validatedActions = await validateAutoModRuleActions(data.actions, guildChannels, \"Message blocked due to containing an invite link. Rule added by Majo.exe\");\n\n    if (\"error\" in validatedActions) {\n      return NextResponse.json(\n        {\n          error: validatedActions.error,\n          code: validatedActions.code,\n        },\n        {\n          status: validatedActions.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!validatedActions || validatedActions.length === 0) {\n      return NextResponse.json(\n        {\n          error: \"You must have at least one action enabled\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const createdRule = await createDiscordAutoModRule(server.id, \"anti-invite\", {\n      enabled: data.enabled,\n      name: \"Disallow invites [Majo.exe]\",\n      creator_id: env.CLIENT_ID || \"\",\n      actions: validatedActions,\n      event_type: AutoModerationRuleEventType.MessageSend,\n      trigger_type: AutoModerationRuleTriggerType.Keyword,\n      exempt_roles: data.exemptRoles,\n      exempt_channels: data.exemptChannels,\n      trigger_metadata: {\n        regex_patterns: [\"(?:https?://)?(?:www.|ptb.|canary.)?(?:discord(?:app)?.(?:(?:com|gg)/(?:invite|servers)/[a-z0-9-_]+)|discord.gg/[a-z0-9-_]+)\"],\n      },\n    });\n\n    if (createdRule.error) {\n      return NextResponse.json(\n        {\n          error: createdRule.error,\n          code: createdRule.code,\n        },\n        {\n          status: createdRule.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    } else {\n      await createLog(server.id, session.id, {\n        content: `${data.enabled ? \"Enabled\" : \"Disabled\"} the anti-invite system`,\n        type: GuildLogType.AutoModerationRuleCreate,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Successfully updated the anti-invite system\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n  } catch (err) {\n    console.log(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/automod/anti-link/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { AutoModerationRuleCreationData, createDiscordAutoModRule, validateAutoModIgnores, validateAutoModRuleActions } from \"@majoexe/util/functions/automod\";\nimport { getGuild, getGuildChannels, getGuildFromMemberGuilds, getGuildRoles } from \"@majoexe/util/functions/guild\";\nimport { AutoModerationActionType, AutoModerationRuleTriggerType, AutoModerationRuleEventType, ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const cloned = await request.clone();\n    const data: AutoModerationRuleCreationData | undefined = await cloned.json();\n\n    if (!data) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!data.actions || data.actions.length === 0) {\n      data.actions = [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            custom_message: \"Message blocked due to containing an link. Rule added by Majo.exe\",\n          },\n        },\n      ];\n    }\n\n    if (\n      // prettier\n      !data ||\n      !data.id ||\n      typeof data.id !== \"string\" ||\n      typeof data.enabled !== \"boolean\" ||\n      !data.exemptRoles ||\n      !data.exemptChannels ||\n      !data.actions ||\n      !Array.isArray(data.actions) ||\n      !Array.isArray(data.exemptRoles) ||\n      !Array.isArray(data.exemptChannels) ||\n      !data.exemptRoles.every((r) => typeof r === \"string\") ||\n      !data.exemptChannels.every((c) => typeof c === \"string\") ||\n      !data.actions.every(\n        (a) => a.type === AutoModerationActionType.BlockMessage || a.type === AutoModerationActionType.SendAlertMessage || a.type === AutoModerationActionType.Timeout\n      )\n    ) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(data.id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.upsert({\n      where: {\n        guildId: server.id,\n      },\n      update: {},\n      create: {\n        guildId: server.id,\n      },\n      include: {\n        autoMod: {\n          where: {\n            guildId: server.id,\n          },\n        },\n      },\n    });\n\n    const guildRoles = (await getGuildRoles(server.id)) || [];\n    const guildChannels = (await getGuildChannels(server.id, [ChannelType.GuildText])) || [];\n\n    const validatedIgnores = await validateAutoModIgnores(guildChannels, guildRoles, data.exemptRoles, data.exemptChannels);\n\n    if (validatedIgnores.error || validatedIgnores.code !== 200) {\n      return NextResponse.json(\n        {\n          error: validatedIgnores.error,\n          code: validatedIgnores.code,\n        },\n        {\n          status: validatedIgnores.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const validatedActions = await validateAutoModRuleActions(data.actions, guildChannels, \"Message blocked due to containing an link. Rule added by Majo.exe\");\n\n    if (\"error\" in validatedActions) {\n      return NextResponse.json(\n        {\n          error: validatedActions.error,\n          code: validatedActions.code,\n        },\n        {\n          status: validatedActions.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!validatedActions || validatedActions.length === 0) {\n      return NextResponse.json(\n        {\n          error: \"You must have at least one action enabled\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const createdRule = await createDiscordAutoModRule(server.id, \"anti-link\", {\n      enabled: data.enabled,\n      name: \"Disallow links [Majo.exe]\",\n      creator_id: env.CLIENT_ID || \"\",\n      actions: validatedActions,\n      event_type: AutoModerationRuleEventType.MessageSend,\n      trigger_type: AutoModerationRuleTriggerType.Keyword,\n      exempt_roles: data.exemptRoles,\n      exempt_channels: data.exemptChannels,\n      trigger_metadata: {\n        regex_patterns: [\"(https?://)?([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?\"],\n      },\n    });\n\n    if (createdRule.error) {\n      return NextResponse.json(\n        {\n          error: createdRule.error,\n          code: createdRule.code,\n        },\n        {\n          status: createdRule.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    } else {\n      await createLog(server.id, session.id, {\n        content: `${data.enabled ? \"Enabled\" : \"Disabled\"} anti-link system`,\n        type: GuildLogType.AutoModerationRuleCreate,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Successfully updated the anti-link system\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n  } catch (err) {\n    console.log(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/automod/anti-mention/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { AutoModerationRuleCreationData, createDiscordAutoModRule, validateAutoModIgnores, validateAutoModRuleActions } from \"@majoexe/util/functions/automod\";\nimport { getGuild, getGuildChannels, getGuildFromMemberGuilds, getGuildRoles } from \"@majoexe/util/functions/guild\";\nimport { AutoModerationActionType, AutoModerationRuleTriggerType, AutoModerationRuleEventType, ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const cloned = await request.clone();\n    const data: AutoModerationRuleCreationData | undefined = await cloned.json();\n\n    if (!data) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!data.actions || data.actions.length === 0) {\n      data.actions = [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            custom_message: \"Message blocked due to containing too many mentions. Rule added by Majo.exe\",\n          },\n        },\n      ];\n    }\n\n    if (\n      // prettier\n      !data ||\n      !data.id ||\n      typeof data.id !== \"string\" ||\n      typeof data.enabled !== \"boolean\" ||\n      !data.exemptRoles ||\n      !data.exemptChannels ||\n      !data.actions ||\n      !Array.isArray(data.actions) ||\n      !Array.isArray(data.exemptRoles) ||\n      !Array.isArray(data.exemptChannels) ||\n      !data.exemptRoles.every((r) => typeof r === \"string\") ||\n      !data.exemptChannels.every((c) => typeof c === \"string\") ||\n      !data.actions.every(\n        (a) => a.type === AutoModerationActionType.BlockMessage || a.type === AutoModerationActionType.SendAlertMessage || a.type === AutoModerationActionType.Timeout\n      ) ||\n      !data.limit ||\n      typeof data.limit !== \"number\"\n    ) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(data.id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.upsert({\n      where: {\n        guildId: server.id,\n      },\n      update: {},\n      create: {\n        guildId: server.id,\n      },\n      include: {\n        autoMod: {\n          where: {\n            guildId: server.id,\n          },\n        },\n      },\n    });\n\n    const guildRoles = (await getGuildRoles(server.id)) || [];\n    const guildChannels = (await getGuildChannels(server.id, [ChannelType.GuildText])) || [];\n\n    const validatedIgnores = await validateAutoModIgnores(guildChannels, guildRoles, data.exemptRoles, data.exemptChannels);\n\n    if (validatedIgnores.error || validatedIgnores.code !== 200) {\n      return NextResponse.json(\n        {\n          error: validatedIgnores.error,\n          code: validatedIgnores.code,\n        },\n        {\n          status: validatedIgnores.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const validatedActions = await validateAutoModRuleActions(data.actions, guildChannels, \"Message blocked due to containing too many mentions. Rule added by Majo.exe\");\n\n    if (\"error\" in validatedActions) {\n      return NextResponse.json(\n        {\n          error: validatedActions.error,\n          code: validatedActions.code,\n        },\n        {\n          status: validatedActions.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!validatedActions || validatedActions.length === 0) {\n      return NextResponse.json(\n        {\n          error: \"You must have at least one action enabled\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const createdRule = await createDiscordAutoModRule(server.id, \"anti-spam\", {\n      enabled: data.enabled,\n      name: \"Disallow mention spam [Majo.exe]\",\n      creator_id: env.CLIENT_ID || \"\",\n      actions: validatedActions,\n      event_type: AutoModerationRuleEventType.MessageSend,\n      trigger_type: AutoModerationRuleTriggerType.MentionSpam,\n      exempt_roles: data.exemptRoles,\n      exempt_channels: data.exemptChannels,\n      trigger_metadata: {\n        mention_total_limit: data.limit,\n        mention_raid_protection_enabled: true,\n      },\n    });\n\n    if (createdRule.error) {\n      return NextResponse.json(\n        {\n          error: createdRule.error,\n          code: createdRule.code,\n        },\n        {\n          status: createdRule.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    } else {\n      await createLog(server.id, session.id, {\n        content: `${data.enabled ? \"Enabled\" : \"Disabled\"} anti-mention system`,\n        type: GuildLogType.AutoModerationRuleCreate,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Successfully updated the anti-mention auto-moderation rule\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n  } catch (err) {\n    console.log(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/automod/anti-spam/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { AutoModerationRuleCreationData, createDiscordAutoModRule, validateAutoModIgnores, validateAutoModRuleActions } from \"@majoexe/util/functions/automod\";\nimport { getGuild, getGuildChannels, getGuildFromMemberGuilds, getGuildRoles } from \"@majoexe/util/functions/guild\";\nimport { AutoModerationActionType, AutoModerationRuleTriggerType, AutoModerationRuleEventType, ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const data: AutoModerationRuleCreationData | undefined = await request.json();\n\n    if (!data) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!data.actions || data.actions.length === 0) {\n      data.actions = [\n        {\n          type: AutoModerationActionType.BlockMessage,\n          metadata: {\n            custom_message: \"Message blocked due to detected spam. Rule added by Majo.exe\",\n          },\n        },\n      ];\n    }\n\n    if (\n      // prettier\n      !data ||\n      !data.id ||\n      typeof data.id !== \"string\" ||\n      typeof data.enabled !== \"boolean\" ||\n      !data.exemptRoles ||\n      !data.exemptChannels ||\n      !data.actions ||\n      !Array.isArray(data.actions) ||\n      !Array.isArray(data.exemptRoles) ||\n      !Array.isArray(data.exemptChannels) ||\n      !data.exemptRoles.every((r) => typeof r === \"string\") ||\n      !data.exemptChannels.every((c) => typeof c === \"string\") ||\n      !data.actions.every((a) => a.type === AutoModerationActionType.BlockMessage || a.type === AutoModerationActionType.SendAlertMessage)\n    ) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(data.id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.upsert({\n      where: {\n        guildId: server.id,\n      },\n      update: {},\n      create: {\n        guildId: server.id,\n      },\n      include: {\n        autoMod: {\n          where: {\n            guildId: server.id,\n          },\n        },\n      },\n    });\n\n    const guildRoles = (await getGuildRoles(server.id)) || [];\n    const guildChannels = (await getGuildChannels(server.id, [ChannelType.GuildText])) || [];\n\n    const validatedIgnores = await validateAutoModIgnores(guildChannels, guildRoles, data.exemptRoles, data.exemptChannels);\n\n    if (validatedIgnores.error || validatedIgnores.code !== 200) {\n      return NextResponse.json(\n        {\n          error: validatedIgnores.error,\n          code: validatedIgnores.code,\n        },\n        {\n          status: validatedIgnores.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const validatedActions = await validateAutoModRuleActions(data.actions, guildChannels, \"Message blocked due to detected spam. Rule added by Majo.exe\");\n\n    if (\"error\" in validatedActions) {\n      return NextResponse.json(\n        {\n          error: validatedActions.error,\n          code: validatedActions.code,\n        },\n        {\n          status: validatedActions.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!validatedActions || validatedActions.length === 0) {\n      return NextResponse.json(\n        {\n          error: \"You must have at least one action enabled\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const createdRule = await createDiscordAutoModRule(server.id, \"anti-spam\", {\n      enabled: data.enabled,\n      name: \"Anti-spam [Majo.exe]\",\n      actions: validatedActions,\n      event_type: AutoModerationRuleEventType.MessageSend,\n      trigger_type: AutoModerationRuleTriggerType.Spam,\n      exempt_roles: data.exemptRoles,\n      exempt_channels: data.exemptChannels,\n      trigger_metadata: {},\n      creator_id: env.CLIENT_ID || \"\",\n    });\n\n    if (createdRule.error) {\n      return NextResponse.json(\n        {\n          error: createdRule.error,\n          code: createdRule.code,\n        },\n        {\n          status: createdRule.code,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    } else {\n      await createLog(server.id, session.id, {\n        content: `${data.enabled ? \"Enabled\" : \"Disabled\"} the anti-spam system`,\n        type: GuildLogType.AutoModerationRuleCreate,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Successfully updated the anti-spam system\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n  } catch (err) {\n    console.log(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/categories/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const cloned = request.clone();\n    const { id, name, enabled } = await cloned.json();\n\n    if (!id || !name || Boolean(enabled) === undefined) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (typeof enabled !== \"boolean\" || typeof name !== \"string\" || typeof id !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (name.length > 20) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const existingCategory = await prismaClient.commandCategories.findFirst({\n      where: {\n        name,\n      },\n    });\n\n    if (!existingCategory) {\n      return NextResponse.json(\n        {\n          error: \"Category not found\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const alreadyDisabled = await prismaClient.guildDisabledCategories.findFirst({\n      where: {\n        guildId: server.id,\n        categoryName: existingCategory.name,\n      },\n    });\n\n    if (!alreadyDisabled) {\n      if (enabled) {\n        return NextResponse.json(\n          {\n            message: \"Category is already enabled, no action taken\",\n            code: 200,\n          },\n          {\n            status: 200,\n            headers: {\n              ...(process.env.NODE_ENV !== \"production\" && {\n                \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n              }),\n            },\n          }\n        );\n      } else {\n        await prismaClient.guildDisabledCategories.create({\n          data: {\n            guildId: server.id,\n            categoryName: existingCategory.name,\n          },\n        });\n\n        await createLog(server.id, session.id, {\n          content: `Disabled category ${existingCategory.name}`,\n          data: {\n            category: existingCategory.name,\n          },\n          type: GuildLogType.CommandCategoryDisable,\n        });\n\n        return NextResponse.json(\n          {\n            message: \"Category disabled\",\n            code: 200,\n          },\n          {\n            status: 200,\n            headers: {\n              ...(process.env.NODE_ENV !== \"production\" && {\n                \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n              }),\n            },\n          }\n        );\n      }\n    } else if (enabled) {\n      await prismaClient.guildDisabledCategories.delete({\n        where: {\n          id: alreadyDisabled.id,\n        },\n      });\n\n      await createLog(server.id, session.id, {\n        content: `Enabled category ${existingCategory.name}`,\n        data: {\n          category: existingCategory.name,\n        },\n        type: GuildLogType.CommandCategoryEnable,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Category enabled\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    } else {\n      return NextResponse.json(\n        {\n          message: \"Category is already disabled, no action taken\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/change-reputation/route.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog, setReputation } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getDiscordUser } from \"@majoexe/util/functions/user\";\nimport { isNumeric } from \"@majoexe/util/functions/util\";\nimport { getSession } from \"lib/session\";\nimport { revalidatePath } from \"next/cache\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const cloned = request.clone();\n    const { userId, guildId, reputation = 0 } = await cloned.json();\n\n    if (!guildId || typeof guildId !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing guildId or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!userId || typeof userId !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing userId or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!reputation) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing reputation or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!isNumeric(reputation)) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - reputation is not a number\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (reputation > 2147483647 || reputation < -2147483647) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - reputation is too large or too small\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(guildId);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const user = await getDiscordUser(userId);\n\n    if (!user) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this user\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const action = await setReputation(user, guildId, reputation);\n\n    if (typeof action === \"object\") {\n      return NextResponse.json(\n        {\n          error: \"Unable to set reputation\",\n          code: 500,\n        },\n        {\n          status: 500,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    revalidatePath(`/dashboard/${guildId}/user/${userId}`);\n\n    await createLog(server.id, session.id, {\n      content: `Set reputation of ${user.username} (${user.id}) to ${reputation}`,\n      type: GuildLogType.ReputationUpdate,\n    });\n\n    return NextResponse.json(\n      {\n        message: \"Successfully set reputation\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (error) {\n    console.error(\"Failed to set reputation:\", error);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/commands/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const cloned = request.clone();\n    const { id, name, enabled } = await cloned.json();\n\n    if (!id || !name || Boolean(enabled) === undefined) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (typeof enabled !== \"boolean\" || typeof name !== \"string\" || typeof id !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (name.length > 20) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const existingCommand = await prismaClient.commands.findFirst({\n      where: {\n        name,\n      },\n    });\n\n    if (!existingCommand) {\n      return NextResponse.json(\n        {\n          error: \"Command not found\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const disabledCategory = await prismaClient.guildDisabledCategories.findFirst({\n      where: {\n        guildId: server.id,\n        categoryName: existingCommand.categoryName,\n      },\n    });\n\n    if (disabledCategory) {\n      return NextResponse.json(\n        {\n          error: \"Category is disabled\",\n          code: 403,\n        },\n        {\n          status: 403,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const alreadyDisabled = await prismaClient.guildDisabledCommands.findFirst({\n      where: {\n        guildId: server.id,\n        commandName: existingCommand.name,\n      },\n    });\n\n    if (!alreadyDisabled) {\n      if (enabled) {\n        return NextResponse.json(\n          {\n            message: \"Command is already enabled, no action taken\",\n            code: 200,\n          },\n          {\n            status: 200,\n            headers: {\n              ...(process.env.NODE_ENV !== \"production\" && {\n                \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n              }),\n            },\n          }\n        );\n      } else {\n        await prismaClient.guildDisabledCommands.create({\n          data: {\n            guildId: server.id,\n            commandName: existingCommand.name,\n          },\n        });\n\n        await createLog(server.id, session.id, {\n          content: `Disabled command ${existingCommand.name}`,\n          type: GuildLogType.CommandDisable,\n        });\n\n        return NextResponse.json(\n          {\n            message: \"Command disabled\",\n            code: 200,\n          },\n          {\n            status: 200,\n            headers: {\n              ...(process.env.NODE_ENV !== \"production\" && {\n                \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n              }),\n            },\n          }\n        );\n      }\n    } else if (enabled) {\n      await prismaClient.guildDisabledCommands.delete({\n        where: {\n          id: alreadyDisabled.id,\n        },\n      });\n\n      await createLog(server.id, session.id, {\n        content: `Enabled command ${existingCommand.name}`,\n        type: GuildLogType.CommandEnable,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Command enabled\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    } else {\n      return NextResponse.json(\n        {\n          message: \"Command is already disabled, no action taken\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/delete-data/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id } = await request.clone().json();\n\n    if (!id || typeof id !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing id or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverExists = await prismaClient.guild.findUnique({\n      where: {\n        guildId: server.id,\n      },\n    });\n\n    if (!serverExists) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.delete({\n      where: {\n        guildId: server.id,\n      },\n    });\n\n    return NextResponse.json(\n      {\n        code: 200,\n        message: \"Successfully deleted server data\",\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (error) {\n    console.error(error);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/download/[id]/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function GET(request: NextRequest, props: { params: Promise<{ id: string }> }) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n    const { id } = await props.params;\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!id || typeof id !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const guild = await prismaClient.guild.findFirst({\n      where: {\n        guildId: server.id,\n      },\n\n      select: {\n        guildId: true,\n        enableXP: true,\n        enableXPLastChanged: true,\n        enableXPLevelUpMessage: true,\n        enableXPLevelUpMessageLastChanged: true,\n        embedColor: true,\n        lastUpdated: true,\n        publicPage: true,\n        vanity: true,\n        guildLogs: {\n          select: {\n            authorId: true,\n            content: true,\n            type: true,\n            createdAt: true,\n          },\n        },\n        guildXp: {\n          select: {\n            userId: true,\n            xp: true,\n            createdAt: true,\n          },\n        },\n        guildJoin: {\n          select: {\n            date: true,\n            joins: true,\n          },\n        },\n        guildLeave: {\n          select: {\n            date: true,\n            leaves: true,\n          },\n        },\n        reputation: {\n          select: {\n            userId: true,\n            reputation: true,\n            createdAt: true,\n          },\n        },\n        giveaway: {\n          select: {\n            messageId: true,\n            data: true,\n            createdAt: true,\n          },\n        },\n        guildMessage: {\n          select: {\n            date: true,\n            messages: true,\n          },\n        },\n        guildDisabledCommands: {\n          select: {\n            commandName: true,\n            createdAt: true,\n          },\n        },\n        guildDisabledCategories: {\n          select: {\n            categoryName: true,\n            createdAt: true,\n          },\n        },\n        autoMod: {\n          select: {\n            ruleId: true,\n            ruleType: true,\n            createdAt: true,\n          },\n        },\n        guildWarns: {\n          select: {\n            warnId: true,\n            userId: true,\n            createdById: true,\n            message: true,\n            createdAt: true,\n          },\n        },\n      },\n    });\n\n    if (!guild) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    /* eslint-disable func-names */\n    (BigInt.prototype as any).toJSON = function () {\n      return this.toString();\n    };\n\n    return new Response(JSON.stringify(guild), {\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"Content-Disposition\": `attachment; filename=\"server-${server.id}.json\"`,\n        ...(process.env.NODE_ENV !== \"production\" && {\n          \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n        }),\n      },\n    });\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/embed-color/route.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\n// #region POST\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id, color } = await request.clone().json();\n\n    if (!id || !color) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!/^#[0-9A-F]{6}$/i.test(color)) {\n      return NextResponse.json(\n        {\n          error: \"Invalid color\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const current = await prismaClient.guild.findUnique({\n      where: {\n        guildId: id,\n      },\n    });\n\n    if (!current) {\n      await prismaClient.guild.create({\n        data: {\n          guildId: id,\n          embedColor: color,\n        },\n      });\n\n      await createLog(server.id, session.id, {\n        content: `Changed global embed color to ${color}`,\n        type: GuildLogType.EmbedColorUpdate,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Embed color updated\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.update({\n      where: {\n        guildId: id,\n      },\n      data: {\n        embedColor: color,\n      },\n    });\n\n    await createLog(server.id, session.id, {\n      content: `Changed global embed color to ${color}`,\n      type: GuildLogType.EmbedColorUpdate,\n    });\n\n    return NextResponse.json(\n      {\n        message: \"Embed color updated\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n// #endregion\n\n// #region PUT\nexport async function PUT(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n    const { id } = await request.clone().json();\n\n    if (!id) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const current = await prismaClient.guild.findUnique({\n      where: {\n        guildId: id,\n      },\n    });\n\n    if (!current) {\n      await prismaClient.guild.create({\n        data: {\n          guildId: id,\n          embedColor: globalConfig.defaultColor,\n        },\n      });\n\n      await createLog(server.id, session.id, {\n        content: \"Reset global embed color to default\",\n        type: GuildLogType.EmbedColorUpdate,\n      });\n\n      return NextResponse.json(\n        {\n          message: \"Embed color updated\",\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.update({\n      where: {\n        guildId: id,\n      },\n      data: {\n        embedColor: globalConfig.defaultColor,\n      },\n    });\n\n    await createLog(server.id, session.id, {\n      content: \"Reset global embed color to default\",\n      type: GuildLogType.EmbedColorUpdate,\n    });\n\n    return NextResponse.json(\n      {\n        message: \"Embed color updated\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/messages/leave/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildChannels, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport { ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id: guildId, enabled, title, description, channel } = await request.clone().json();\n\n    if (!guildId || typeof guildId !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing guildId or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (typeof enabled !== \"boolean\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing enabled or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (title && typeof title !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing title or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (description && typeof description !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing description or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (title && title.length > 250) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Title is too long\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (description.length > 2040) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Description is too long\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (typeof channel !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing channel or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(guildId);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const guildChannels = (await getGuildChannels(server.id, [ChannelType.GuildText])) || [];\n\n    const allChannels = guildChannels\n      .map((channel) => {\n        if (channel.type !== ChannelType.GuildText) return null;\n\n        return {\n          id: channel.id,\n          name: channel.name,\n          type: channel.type,\n          permissions: channel.permission_overwrites,\n        };\n      })\n      .filter(Boolean);\n\n    if (!allChannels.find((c) => c && c.id === channel.toString())) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Invalid channel\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n            \"content-type\": \"application/json\",\n          },\n        }\n      );\n    }\n\n    await prismaClient.guildLeaveMessage.upsert({\n      where: {\n        guildId,\n      },\n      update: {\n        channelId: channel.toString(),\n        title: shortenText(title, 250),\n        description: shortenText(description, 2040),\n        enabled: enabled || false,\n      },\n      create: {\n        guildId,\n        channelId: channel.toString(),\n        title: shortenText(title, 250),\n        description: shortenText(description, 2040),\n        enabled: enabled || false,\n      },\n    });\n\n    await createLog(server.id, session.id, {\n      content: `${enabled ? \"Enabled\" : \"Disabled\"} leave messages`,\n      type: enabled ? GuildLogType.LeaveMessageEnable : GuildLogType.LeaveMessageDisable,\n    });\n\n    return NextResponse.json(\n      {\n        message: \"Successfully enabled leave messages\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/messages/welcome/route.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { shortenText } from \"@majoexe/util/functions/util\";\nimport { APIGuildChannel, ChannelType, GuildChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { env } from \"@/env\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id: guildId, enabled, title, description, channel } = await request.clone().json();\n\n    if (!guildId || typeof guildId !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing guildId or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (typeof enabled !== \"boolean\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing enabled or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (title && typeof title !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing title or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (description && typeof description !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing description or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (title && title.length > 250) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Title is too long\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (description.length > 2040) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Description is too long\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (typeof channel !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing channel or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(guildId);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const allChannelsFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${server.id}/channels`, {\n      method: \"GET\",\n      headers: {\n        Authorization: `Bot ${env.TOKEN}`,\n      },\n    });\n\n    const allChannelsData = (await allChannelsFetch.json()) as APIGuildChannel<GuildChannelType>[];\n\n    const allChannels = allChannelsData\n      .map((channel) => {\n        if (channel.type !== ChannelType.GuildText) return null;\n\n        return {\n          id: channel.id,\n          name: channel.name,\n          type: channel.type,\n          permissions: channel.permission_overwrites,\n        };\n      })\n      .filter(Boolean);\n\n    if (!allChannels.find((c) => c && c.id === channel.toString())) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Invalid channel\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n            \"content-type\": \"application/json\",\n          },\n        }\n      );\n    }\n\n    await prismaClient.guildWelcomeMessage.upsert({\n      where: {\n        guildId,\n      },\n      update: {\n        channelId: channel.toString(),\n        title: shortenText(title, 250),\n        description: shortenText(description, 2040),\n        enabled: enabled || false,\n      },\n      create: {\n        guildId,\n        channelId: channel.toString(),\n        title: shortenText(title, 250),\n        description: shortenText(description, 2040),\n        enabled: enabled || false,\n      },\n    });\n\n    await createLog(server.id, session.id, {\n      content: `${enabled ? \"Enabled\" : \"Disabled\"} welcome messages`,\n      type: enabled ? GuildLogType.WelcomeMessageEnable : GuildLogType.WelcomeMessageDisable,\n    });\n\n    return NextResponse.json(\n      {\n        message: \"Successfully enabled welcome messages\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/public-dashboard/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id, enabled } = await request.clone().json();\n\n    if (!id || typeof id !== \"string\" || typeof enabled !== \"boolean\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing id and enabled or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const current = await prismaClient.guild.findUnique({\n      where: {\n        guildId: id,\n      },\n    });\n\n    if (!current) {\n      await prismaClient.guild.create({\n        data: {\n          guildId: id,\n          publicPage: enabled,\n        },\n      });\n\n      await createLog(id, session.id, {\n        content: `${enabled ? \"Enabled\" : \"Disabled\"} public dashboard`,\n        type: GuildLogType.PublicDashboardUpdate,\n      });\n\n      return NextResponse.json(\n        {\n          message: `Public dashboard ${enabled ? \"enabled\" : \"disabled\"}`,\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.update({\n      where: {\n        guildId: id,\n      },\n      data: {\n        publicPage: enabled,\n      },\n    });\n\n    await createLog(id, session.id, {\n      content: `${enabled ? \"Enabled\" : \"Disabled\"} public dashboard`,\n      type: GuildLogType.PublicDashboardUpdate,\n    });\n\n    return NextResponse.json(\n      {\n        message: `Public dashboard ${enabled ? \"enabled\" : \"disabled\"}`,\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/public-vanity/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id, vanity } = await request.clone().json();\n\n    if (!id || typeof id !== \"string\" || typeof vanity !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Missing id, vanity or invalid types provided\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!vanity.match(/^[a-zA-Z0-9]+$/)) {\n      return NextResponse.json(\n        {\n          error: \"Vanity must be alphanumeric\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (vanity.length > 20) {\n      return NextResponse.json(\n        {\n          error: \"Vanity must be less than 20 characters\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const checkVanity = await prismaClient.guild.findFirst({\n      where: {\n        vanity,\n      },\n    });\n\n    if (checkVanity && checkVanity.guildId !== id) {\n      return NextResponse.json(\n        {\n          error: \"Vanity already taken\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const current = await prismaClient.guild.findUnique({\n      where: {\n        guildId: id,\n      },\n    });\n\n    if (!current) {\n      await prismaClient.guild.create({\n        data: {\n          guildId: id,\n          vanity,\n        },\n      });\n\n      await createLog(id, session.id, {\n        content: `Set vanity to ${vanity}`,\n        type: GuildLogType.VanityUpdate,\n      });\n\n      return NextResponse.json(\n        {\n          message: `Set vanity to ${vanity}`,\n          code: 200,\n        },\n        {\n          status: 200,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.guild.update({\n      where: {\n        guildId: id,\n      },\n      data: {\n        vanity,\n      },\n    });\n\n    await createLog(id, session.id, {\n      content: `Set vanity to ${vanity}`,\n      type: GuildLogType.VanityUpdate,\n    });\n\n    return NextResponse.json(\n      {\n        message: `Set vanity to ${vanity}`,\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/reset-user-xp/route.ts",
    "content": "import { resetXP } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { revalidatePath } from \"next/cache\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { userId, guildId } = await request.clone().json();\n\n    if (!guildId || typeof guildId !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing guildId or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!userId || typeof userId !== \"string\") {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - Missing userId or invalid types\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(guildId);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const action = await resetXP(userId, guildId);\n\n    if (!action) {\n      return NextResponse.json(\n        {\n          error: \"Unable to reset XP\",\n          code: 500,\n        },\n        {\n          status: 500,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    revalidatePath(`/dashboard/${guildId}/user/${userId}`);\n\n    return NextResponse.json(\n      {\n        message: \"Successfully resetted XP\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (error) {\n    console.error(\"Failed to reset XP:\", error);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/settings/update-logs/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { ExcludedEvents } from \"@majoexe/util/database\";\nimport { getGuild, getGuildChannels, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\nimport { handleLogText } from \"@/app/dashboard/[server]/logs/components/handleLogText\";\n\nexport async function POST(request: NextRequest) {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const { id, logs } = await request.clone().json();\n\n    if (!id || !Array.isArray(logs) || logs.some((log) => !log.type || typeof log.enabled !== \"boolean\" || (log.channelId !== null && typeof log.channelId !== \"string\"))) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n          code: 400,\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(id);\n\n    if (!server || !server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Guild not found\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const allowedEvents = Object.keys(GuildLogType).filter((x) => !ExcludedEvents.includes(x as GuildLogType)) as GuildLogType[];\n\n    for (const log of logs) {\n      if (!allowedEvents.includes(log.type)) {\n        return NextResponse.json(\n          {\n            error: \"Invalid log type\",\n            code: 400,\n          },\n          {\n            status: 400,\n            headers: {\n              ...(process.env.NODE_ENV !== \"production\" && {\n                \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n              }),\n            },\n          }\n        );\n      }\n\n      if (log.channelId !== null) {\n        const guildChannels = (await getGuildChannels(id, [ChannelType.GuildText])) || [];\n\n        if (!guildChannels.find((channel) => channel.id === log.channelId)) {\n          return NextResponse.json(\n            {\n              error: \"Channel not found\",\n              code: 404,\n            },\n            {\n              status: 404,\n              headers: {\n                ...(process.env.NODE_ENV !== \"production\" && {\n                  \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n                }),\n              },\n            }\n          );\n        }\n      }\n\n      await prismaClient.guildLogsSettings.upsert({\n        where: {\n          guildId_type: {\n            guildId: id,\n            type: log.type,\n          },\n        },\n        update: {\n          enabled: log.enabled,\n          channelId: log.channelId || null,\n        },\n        create: {\n          guildId: id,\n          type: log.type,\n          enabled: log.enabled,\n          channelId: log.channelId || null,\n        },\n      });\n\n      await createLog(id, session.id, {\n        content: `${log.enabled ? \"Enabled\" : \"Disabled\"} log ${handleLogText(log.type)}`,\n        type: GuildLogType.LogUpdate,\n      });\n    }\n\n    return NextResponse.json(\n      {\n        message: \"Logs updated successfully\",\n        code: 200,\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/user/avatar/[id]/route.ts",
    "content": "import { getDiscordUser } from \"@majoexe/util/functions/user\";\nimport { redirect } from \"next/navigation\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function GET(request: NextRequest, props: { params: Promise<{ id: string }> }) {\n  const params = await props.params;\n  try {\n    const { id } = params;\n\n    if (!id || !/^\\d{17,19}$/.test(id)) return redirect(\"/assets/fallback.webp\");\n\n    const user = await getDiscordUser(id);\n    if (!user || !user.avatar) return redirect(\"/assets/fallback.webp\");\n\n    if (user.avatar.startsWith(\"a_\")) return NextResponse.redirect(`https://cdn.discordapp.com/avatars/${id}/${user.avatar}.gif?size=1024`);\n    return NextResponse.redirect(`https://cdn.discordapp.com/avatars/${id}/${user.avatar}.webp?size=1024`);\n  } catch (_error) {\n    return redirect(\"/assets/fallback.webp\");\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/user/avatar-decoration/[id]/route.ts",
    "content": "import { getDiscordUser } from \"@majoexe/util/functions/user\";\nimport { redirect } from \"next/navigation\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function GET(request: NextRequest, props: { params: Promise<{ id: string }> }) {\n  const params = await props.params;\n  try {\n    const { id } = params;\n\n    if (!id || !/^\\d{17,19}$/.test(id)) return redirect(\"/assets/fallback.webp\");\n\n    const user = await getDiscordUser(id);\n    if (!user || !user.avatar_decoration_data) return redirect(\"/assets/fallback.webp\");\n\n    if (user.avatar_decoration_data.asset.startsWith(\"a_\"))\n      return NextResponse.redirect(`https://cdn.discordapp.com/avatar-decoration-presets/${user.avatar_decoration_data.asset}.png?size=128`);\n\n    return NextResponse.redirect(`https://cdn.discordapp.com/avatar-decoration-presets/${user.avatar_decoration_data.asset}.webp?size=128`);\n  } catch (_error) {\n    return redirect(\"/assets/fallback.webp\");\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/user/banner/[id]/route.ts",
    "content": "import { getDiscordUser } from \"@majoexe/util/functions/user\";\nimport { redirect } from \"next/navigation\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function GET(request: NextRequest, props: { params: Promise<{ id: string }> }) {\n  const params = await props.params;\n  try {\n    const { id } = params;\n\n    if (!id || !/^\\d{17,19}$/.test(id)) return redirect(\"/assets/fallback.webp\");\n\n    const user = await getDiscordUser(id);\n    if (!user || !user.banner) return redirect(\"/assets/fallback.webp\");\n\n    if (user.banner.startsWith(\"a_\")) return NextResponse.redirect(`https://cdn.discordapp.com/banners/${id}/${user.banner}.gif?size=1024`);\n    return NextResponse.redirect(`https://cdn.discordapp.com/banners/${id}/${user.banner}.webp?size=1024`);\n  } catch (_error) {\n    return redirect(\"/assets/fallback.webp\");\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/user/delete/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getSession } from \"lib/session\";\nimport { NextResponse } from \"next/server\";\n\nexport async function POST() {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const userExists = await prismaClient.user.findFirst({\n      where: {\n        id: session.sub,\n      },\n    });\n\n    if (!userExists) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this user\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await prismaClient.user.delete({\n      where: {\n        id: session.sub,\n      },\n    });\n\n    return NextResponse.json(\n      {\n        code: 200,\n        message: \"Your account has been deleted! We're sad to see you go.\",\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (error) {\n    console.error(error);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n        code: 500,\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/user/download/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getSession } from \"lib/session\";\nimport { NextResponse } from \"next/server\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport async function GET() {\n  try {\n    const session = await getSession();\n    const start = Date.now();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const user = await prismaClient.user.findFirst({\n      where: {\n        id: session.sub,\n      },\n      select: {\n        discordId: true,\n        name: true,\n        global_name: true,\n        discriminator: true,\n        avatar: true,\n        public_flags: true,\n        flags: true,\n        locale: true,\n        nitro: true,\n        accounts: {\n          select: {\n            type: true,\n            provider: true,\n            providerAccountId: true,\n            expires_at: true,\n            token_type: true,\n            scope: true,\n            id_token: true,\n            session_state: true,\n          },\n        },\n        guildLogs: {\n          select: {\n            guildId: true,\n            content: true,\n            type: true,\n            createdAt: true,\n          },\n        },\n        guildXp: {\n          select: {\n            guildId: true,\n            xp: true,\n            createdAt: true,\n          },\n        },\n        reputation: {\n          select: {\n            guildId: true,\n            reputation: true,\n            createdAt: true,\n          },\n        },\n        guildWarns: {\n          select: {\n            warnId: true,\n            guildId: true,\n            createdById: true,\n            message: true,\n            createdAt: true,\n          },\n        },\n      },\n    });\n\n    if (!user) {\n      return NextResponse.json(\n        {\n          error: \"User not found\",\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    /* eslint-disable func-names */\n    (BigInt.prototype as any).toJSON = function () {\n      return this.toString();\n    };\n\n    return new Response(JSON.stringify(user), {\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"Content-Disposition\": `attachment; filename=\"user-${user.discordId}.json\"`,\n        ...(process.env.NODE_ENV !== \"production\" && {\n          \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n        }),\n      },\n    });\n  } catch (err) {\n    console.error(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/api/warns/[serverId]/[warnId]/route.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { createLog } from \"@majoexe/util/database\";\nimport { getGuild, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { NextRequest, NextResponse } from \"next/server\";\n\nexport async function DELETE(request: NextRequest, props: { params: Promise<{ serverId: string; warnId: string }> }) {\n  const params = await props.params;\n  try {\n    const { serverId } = params;\n    const { warnId } = params;\n    const start = Date.now();\n\n    if (!serverId) {\n      return NextResponse.json(\n        {\n          error: \"Bad Request - incomplete data\",\n        },\n        {\n          status: 400,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const session = await getSession();\n\n    if (!session || !session.access_token) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const server = await getGuild(serverId);\n\n    if (!server) {\n      return NextResponse.json(\n        {\n          error: \"Unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    if (!server.bot) {\n      return NextResponse.json(\n        {\n          error: \"Bot is unable to find this server\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const serverMember = await getGuildFromMemberGuilds(server.id, session.access_token);\n\n    if (!serverMember || !serverMember.permissions_names || !serverMember.permissions_names.includes(\"ManageGuild\") || !serverMember.permissions_names.includes(\"Administrator\")) {\n      return NextResponse.json(\n        {\n          error: \"Unauthorized - you need to log in first\",\n          code: 401,\n        },\n        {\n          status: 401,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    const existingWarning = await prismaClient.guildWarns.findFirst({\n      where: {\n        guildId: serverId,\n        id: warnId,\n      },\n    });\n\n    if (!existingWarning) {\n      return NextResponse.json(\n        {\n          error: \"Warning not found\",\n          code: 404,\n        },\n        {\n          status: 404,\n          headers: {\n            ...(process.env.NODE_ENV !== \"production\" && {\n              \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n            }),\n          },\n        }\n      );\n    }\n\n    await createLog(server.id, session.id, {\n      content: `Removed warning ${existingWarning.id} from ${existingWarning.userId}`,\n      type: GuildLogType.WarnDelete,\n    });\n\n    await prismaClient.guildWarns.delete({\n      where: {\n        id: warnId,\n      },\n    });\n\n    return NextResponse.json(\n      {\n        message: \"Warning removed\",\n      },\n      {\n        status: 200,\n        headers: {\n          ...(process.env.NODE_ENV !== \"production\" && {\n            \"Server-Timing\": `response;dur=${Date.now() - start}ms`,\n          }),\n        },\n      }\n    );\n  } catch (err) {\n    console.log(err);\n    return NextResponse.json(\n      {\n        error: \"Internal Server Error\",\n      },\n      {\n        status: 500,\n      }\n    );\n  }\n}\n"
  },
  {
    "path": "apps/dashboard/app/auth/error/page.tsx",
    "content": "import { HomeIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\n\nexport const metadata = {\n  title: \"Error\",\n  description: \"Something went wrong! Please try again later, or contact us if the problem persists.\",\n};\n\nexport default async function ErrorPage(props: { searchParams: Promise<{ error: string }> }) {\n  const searchParams = await props.searchParams;\n  return (\n    <div className=\"relative z-20 flex min-h-screen w-full flex-col items-center justify-center gap-3 px-3\">\n      <div className=\"absolute left-0 top-0 z-10 size-full bg-[radial-gradient(circle,rgba(2,0,36,0)0,rgb(16,17,16,100%))]\" />\n      <div className=\"z-30\">\n        <>\n          <Icons.warning className=\"mx-auto mb-2 size-20 rounded-full border border-neutral-700 bg-neutral-700/25 p-4 text-red-500 backdrop-blur-md\" />\n          <Header className={headerVariants({ variant: \"h1\", alignment: \"center\" })}>Something went wrong!</Header>\n          <p className=\"my-1 mt-2 text-center text-xl text-white/50\">{searchParams.error}</p>\n          <div className=\"mt-6 flex flex-wrap justify-center gap-2\">\n            <Link href=\"/\" className={buttonVariants({ variant: \"primary\" })}>\n              <HomeIcon className={iconVariants({ variant: \"button\" })} />\n              Go back home\n            </Link>\n            <Link href=\"/discord\" className={buttonVariants({ variant: \"secondary\" })}>\n              <Icons.help className={iconVariants({ variant: \"button\" })} /> Contact support\n            </Link>\n          </div>\n        </>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/auth/login/page.tsx",
    "content": "import { getSession } from \"lib/session\";\nimport { HomeIcon, XIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { redirect } from \"next/navigation\";\nimport { DiscordLogin } from \"@/components/DiscordLogin\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Dots } from \"@/components/ui/Loaders\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Login\",\n  description: \"Login to your account\",\n};\n\nexport default async function LoginPage(props: { searchParams: Promise<{ error: string }> }) {\n  const searchParams = await props.searchParams;\n  const user = await getSession();\n  if (user) return redirect(\"/\");\n\n  return (\n    <div className=\"relative z-20 flex min-h-screen w-full flex-col items-center justify-center gap-3 px-3 before:absolute before:z-10 before:size-full before:opacity-5 before:grayscale before:md:bg-grid-[#fff]\">\n      <div className=\"absolute left-0 top-0 z-10 size-full bg-[radial-gradient(circle,rgba(2,0,36,0)0,rgb(16,17,16,100%))]\" />\n      <div className=\"z-30 mb-2 flex flex-row\">\n        <Image src=\"/assets/avatar.png\" width={80} height={80} alt=\"Avatar\" className=\"size-20 min-h-20 min-w-20 rounded-full sm:size-28 sm:min-h-28 sm:min-w-28\" quality={90} />\n        {searchParams.error ? (\n          <div className=\"mx-4 flex items-center justify-center\">\n            <XIcon className=\"size-8 shrink-0 text-red-500\" />\n          </div>\n        ) : (\n          <Dots />\n        )}\n        <div className=\"flex size-20 min-h-20 min-w-20 items-center justify-center rounded-full border border-white/20 bg-white/5 text-5xl text-[#939DB8] backdrop-blur-xs sm:size-28 sm:min-h-28 sm:min-w-28\">\n          ?\n        </div>\n      </div>\n\n      <div className=\"z-30\">\n        {searchParams.error ? (\n          <>\n            <Header className={headerVariants({ variant: \"h1\", alignment: \"center\" })}>Something went wrong!</Header>\n            <p className=\"my-1 mt-2 text-center text-xl text-white/50\">Something went wrong while trying to connect your Discord account!</p>\n          </>\n        ) : (\n          <>\n            <Header className={headerVariants({ variant: \"h1\", alignment: \"center\" })}>Connect your account</Header>\n            <p className=\"my-1 mt-2 text-center text-xl text-white/50\">Authorize your Discord account to use all the Majo.exe features</p>\n          </>\n        )}\n      </div>\n      <div className=\"z-30 flex flex-col gap-3 sm:flex-row\">\n        <DiscordLogin />\n        <Link href=\"/\" className={cn(buttonVariants({ variant: \"secondary\" }))}>\n          <HomeIcon className={iconVariants({ variant: \"button\" })} />\n          Go back home\n        </Link>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/commands/page.tsx",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { ApplicationCommandOptionType } from \"discord-api-types/v10\";\nimport Balancer from \"react-wrap-balancer\";\nimport { DiscordCommands } from \"@/components/client/commands/DiscordCommands\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport Image from \"@/components/ui/Image\";\nimport { Command } from \"@/lib/types\";\nimport { cn } from \"@/lib/utils\";\n\nexport const revalidate = 3600; // 1 hour\n\nexport const metadata = {\n  title: \"Commands\",\n  description: \"A list of all the commands available for Majo.exe.\",\n};\n\nexport default async function CommandsPage() {\n  const databaseCommands = (await prismaClient.commands.findMany({})) as unknown as Command[];\n  const categories = await prismaClient.commandCategories.findMany({});\n\n  const subCommands: Command[] = [];\n\n  let commands = databaseCommands.map((command) => {\n    command.options = command.options.map((option) => {\n      if (option.type === ApplicationCommandOptionType.Subcommand) {\n        subCommands.push({\n          ...option,\n          categoryName: command.categoryName,\n          name: `${command.name} ${option.name}`,\n          options: option.options || [],\n        });\n      } else if (option.type === ApplicationCommandOptionType.SubcommandGroup) {\n        option.options = option.options?.map((subOptions) => {\n          if (subOptions.type === ApplicationCommandOptionType.Subcommand) {\n            subCommands.push({\n              ...subOptions,\n              categoryName: command.categoryName,\n              name: `${command.name} ${option.name} ${subOptions.name}`,\n              options: subOptions.options || [],\n            });\n          }\n          return subOptions;\n        });\n      }\n      return option;\n    });\n    return command;\n  });\n\n  commands = commands.filter(\n    (command) => !command.options.some((option) => option.type === ApplicationCommandOptionType.Subcommand || option.type === ApplicationCommandOptionType.SubcommandGroup)\n  );\n\n  const newCommands = [...commands, ...subCommands];\n\n  return (\n    <div className=\"flex w-full flex-col items-center px-8 pb-8 pt-16 antialiased md:p-16\">\n      <div className=\"flex flex-col justify-center gap-3\">\n        <Image src={dashboardConfig.logo} alt=\"Majo.exe logo\" quality={100} width={112} height={112} className=\"mx-auto size-28 shrink-0 rounded-full\" />\n        <Header className={cn(headerVariants({ variant: \"h1\", alignment: \"center\", effects: \"gradient\" }))}>Majo.exe Commands</Header>\n        <p className=\"max-w-3xl text-center text-xl text-white/50\">\n          <Balancer>\n            Check out all the commands available for Majo.exe. There are currently <span className=\"text-accent-primary\">{newCommands.length}</span> commands in{\" \"}\n            <span className=\"text-accent-primary\">{categories.length}</span> categories.\n          </Balancer>\n        </p>\n      </div>\n      <Block className=\"mt-8 w-full max-w-4xl\">\n        <DiscordCommands commands={newCommands} categories={categories} />\n      </Block>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/AntiInvite.tsx",
    "content": "\"use client\";\n\nimport { APIAutoModerationRule, APIGuildChannel, GuildChannelType } from \"discord-api-types/v10\";\nimport { CheckIcon, HashIcon, InfoIcon, LoaderCircleIcon, MoveVerticalIcon, ShieldMinusIcon, UsersIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport DeleteMessage from \"./DeleteMessage\";\nimport LogChannel from \"./LogChannel\";\nimport TimeoutMember from \"./TimeoutMember\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { RolesSelect } from \"@/components/ui/RolesSelect\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface AntiInviteProps {\n  serverId: APIAutoModerationRule[\"guild_id\"];\n  enabled: APIAutoModerationRule[\"enabled\"];\n  existingActions: APIAutoModerationRule[\"actions\"];\n  existingExemptRoles: APIAutoModerationRule[\"exempt_roles\"];\n  existingExemptChannels: APIAutoModerationRule[\"exempt_channels\"];\n  allRoles: ({\n    id: string;\n    name: string;\n    color: string;\n  } | null)[];\n  allChannels: APIGuildChannel<GuildChannelType>[] | null[];\n}\n\nexport const AntiInvite = ({ serverId, enabled, existingActions, existingExemptRoles, existingExemptChannels, allRoles, allChannels }: AntiInviteProps) => {\n  const [isEnabled, setIsEnabled] = useState(enabled ?? false);\n  const [loading, setLoading] = useState(false);\n  const [actions, setActions] = useState(existingActions || []);\n  const [exemptRoles, setExemptRoles] = useState(existingExemptRoles || []);\n  const [exemptChannels, setExemptChannels] = useState(existingExemptChannels || []);\n\n  const save = async (change = true) => {\n    setLoading(true);\n    if (change) setIsEnabled(!isEnabled);\n    const loading = toast.loading(`Turning ${!isEnabled ? \"on\" : \"off\"} anti-invite...`);\n\n    const res = await fetch(\"/api/settings/automod/anti-invite\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        enabled: change ? !isEnabled : isEnabled,\n        actions,\n        exemptRoles,\n        exemptChannels,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      if (change) setIsEnabled(isEnabled);\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Anti-invite enabled!\", {\n        id: loading,\n      });\n    }\n\n    if (change) setIsEnabled(isEnabled);\n    return toast.error(json.error ?? \"Something went wrong\", {\n      id: loading,\n    });\n  };\n\n  return (\n    <div>\n      <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n        <Icons.userBlock className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n        Anti-Invite <Switch checked={isEnabled} onCheckedChange={save} disabled={loading} />\n      </Header>\n      <p className=\"mb-4 text-left\">\n        <span>Automatically delete all messages containing Discord server invites. This also includes server links.</span>\n      </p>\n\n      <div\n        className={cn(\n          {\n            \"max-h-0 opacity-0\": isEnabled,\n            \"max-h-[500px] opacity-100\": !isEnabled,\n          },\n          \"transition-all duration-200 ease-in-out\"\n        )}\n      >\n        <div className=\"my-4 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n            Note:\n          </span>\n          <span className=\"whitespace-normal\">You have to enable this rule to change its settings!</span>\n        </div>\n      </div>\n\n      <div\n        className={cn({\n          \"pointer-events-none cursor-not-allowed opacity-50\": !isEnabled && !loading,\n          \"pointer-events-none opacity-50\": loading,\n          \"cursor-default opacity-100\": isEnabled,\n        })}\n      >\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n          <div className=\"flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain roles from triggering the rule.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <UsersIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Roles:\n              </span>\n            </Tooltip>\n            <RolesSelect allRoles={allRoles.filter((role) => role !== null)} selectedRoles={exemptRoles} setRoles={setExemptRoles} />\n          </div>\n\n          <div className=\"mt-2 flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain channels from being moderated.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <HashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Channels:\n              </span>\n            </Tooltip>\n            <ChannelsSelect allChannels={allChannels.filter((channel) => channel !== null)} selectedChannels={exemptChannels} setChannels={setExemptChannels} />\n          </div>\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessage actions={actions} setActions={setActions} />\n          <TimeoutMember actions={actions} setActions={setActions} />\n          <LogChannel actions={actions} setActions={setActions} allChannels={allChannels} />\n\n          {(!actions || actions.length === 0) && isEnabled && !loading && (\n            <div className=\"my-4 flex flex-row items-start whitespace-nowrap rounded-lg border border-red-400 bg-red-400/10 p-4 text-red-400\">\n              <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n                <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1 stroke-red-400\" })} />\n                Warning:\n              </span>\n              <span className=\"whitespace-normal\">You have to select at least one action!</span>\n            </div>\n          )}\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" onClick={() => save(false)} disabled={!isEnabled || loading || !actions || actions.length === 0}>\n          {loading ? (\n            <>\n              <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n              Saving...\n            </>\n          ) : (\n            <>\n              <CheckIcon className={iconVariants({ variant: \"button\" })} />\n              Save\n            </>\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/AntiLink.tsx",
    "content": "\"use client\";\n\nimport { APIAutoModerationRule, APIGuildChannel, GuildChannelType } from \"discord-api-types/v10\";\nimport { CheckIcon, HashIcon, InfoIcon, Link2OffIcon, LoaderCircleIcon, MoveVerticalIcon, ShieldMinusIcon, UsersIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport DeleteMessage from \"./DeleteMessage\";\nimport LogChannel from \"./LogChannel\";\nimport TimeoutMember from \"./TimeoutMember\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { RolesSelect } from \"@/components/ui/RolesSelect\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface AntiLinkProps {\n  serverId: APIAutoModerationRule[\"guild_id\"];\n  enabled: APIAutoModerationRule[\"enabled\"];\n  existingActions: APIAutoModerationRule[\"actions\"];\n  existingExemptRoles: APIAutoModerationRule[\"exempt_roles\"];\n  existingExemptChannels: APIAutoModerationRule[\"exempt_channels\"];\n  allRoles: ({\n    id: string;\n    name: string;\n    color: string;\n  } | null)[];\n  allChannels: APIGuildChannel<GuildChannelType>[] | null[];\n}\n\nexport const AntiLink = ({ serverId, enabled, existingActions, existingExemptRoles, existingExemptChannels, allRoles, allChannels }: AntiLinkProps) => {\n  const [isEnabled, setIsEnabled] = useState(enabled ?? false);\n  const [loading, setLoading] = useState(false);\n  const [actions, setActions] = useState(existingActions || []);\n  const [exemptRoles, setExemptRoles] = useState(existingExemptRoles || []);\n  const [exemptChannels, setExemptChannels] = useState(existingExemptChannels || []);\n\n  const save = async (change = true) => {\n    setLoading(true);\n    if (change) setIsEnabled(!isEnabled);\n    const loading = toast.loading(`Turning ${!isEnabled ? \"on\" : \"off\"} anti-link...`);\n\n    const res = await fetch(\"/api/settings/automod/anti-link\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        enabled: change ? !isEnabled : isEnabled,\n        actions,\n        exemptRoles,\n        exemptChannels,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      if (change) setIsEnabled(isEnabled);\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Anti-link enabled!\", {\n        id: loading,\n      });\n    }\n\n    if (change) setIsEnabled(isEnabled);\n    return toast.error(json.error ?? \"Something went wrong\", {\n      id: loading,\n    });\n  };\n\n  return (\n    <div>\n      <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n        <Link2OffIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n        Anti-Link <Switch checked={isEnabled} onCheckedChange={save} disabled={loading} />\n      </Header>\n      <p className=\"mb-4 text-left\">\n        <span>Automatically delete all messages containing links, serverr invites, and other URLs.</span>\n      </p>\n\n      <div\n        className={cn(\n          {\n            \"max-h-0 opacity-0\": isEnabled,\n            \"max-h-[500px] opacity-100\": !isEnabled,\n          },\n          \"transition-all duration-200 ease-in-out\"\n        )}\n      >\n        <div className=\"my-4 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n            Note:\n          </span>\n          <span className=\"whitespace-normal\">You have to enable this rule to change its settings!</span>\n        </div>\n      </div>\n\n      <div\n        className={cn({\n          \"pointer-events-none cursor-not-allowed opacity-50\": !isEnabled && !loading,\n          \"pointer-events-none opacity-50\": loading,\n          \"cursor-default opacity-100\": isEnabled,\n        })}\n      >\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n          <div className=\"flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain roles from triggering the rule.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <UsersIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Roles:\n              </span>\n            </Tooltip>\n            <RolesSelect allRoles={allRoles.filter((role) => role !== null)} selectedRoles={exemptRoles} setRoles={setExemptRoles} />\n          </div>\n\n          <div className=\"mt-2 flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain channels from being moderated.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <HashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Channels:\n              </span>\n            </Tooltip>\n            <ChannelsSelect allChannels={allChannels.filter((channel) => channel !== null)} selectedChannels={exemptChannels} setChannels={setExemptChannels} />\n          </div>\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessage actions={actions} setActions={setActions} />\n          <TimeoutMember actions={actions} setActions={setActions} />\n          <LogChannel actions={actions} setActions={setActions} allChannels={allChannels} />\n\n          {(!actions || actions.length === 0) && isEnabled && !loading && (\n            <div className=\"my-4 flex flex-row items-start whitespace-nowrap rounded-lg border border-red-400 bg-red-400/10 p-4 text-red-400\">\n              <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n                <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1 stroke-red-400\" })} />\n                Warning:\n              </span>\n              <span className=\"whitespace-normal\">You have to select at least one action!</span>\n            </div>\n          )}\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" onClick={() => save(false)} disabled={!isEnabled || loading || !actions || actions.length === 0}>\n          {loading ? (\n            <>\n              <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n              Saving...\n            </>\n          ) : (\n            <>\n              <CheckIcon className={iconVariants({ variant: \"button\" })} />\n              Save\n            </>\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/AntiMention.tsx",
    "content": "\"use client\";\n\nimport { APIAutoModerationRule, APIGuildChannel, GuildChannelType } from \"discord-api-types/v10\";\nimport {\n  ArrowDownIcon,\n  AtSignIcon,\n  CheckIcon,\n  HashIcon,\n  InfoIcon,\n  LoaderCircleIcon,\n  MoveVerticalIcon,\n  ShieldMinusIcon,\n  ShieldPlusIcon,\n  ShieldXIcon,\n  UsersIcon,\n} from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport DeleteMessage from \"./DeleteMessage\";\nimport { MentionLimitSelect } from \"./Limit\";\nimport LogChannel from \"./LogChannel\";\nimport TimeoutMember from \"./TimeoutMember\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { RolesSelect } from \"@/components/ui/RolesSelect\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface AntiMentionProps {\n  serverId: APIAutoModerationRule[\"guild_id\"];\n  enabled: APIAutoModerationRule[\"enabled\"];\n  existingActions: APIAutoModerationRule[\"actions\"];\n  existingExemptRoles: APIAutoModerationRule[\"exempt_roles\"];\n  existingExemptChannels: APIAutoModerationRule[\"exempt_channels\"];\n  allRoles: ({\n    id: string;\n    name: string;\n    color: string;\n  } | null)[];\n  allChannels: APIGuildChannel<GuildChannelType>[] | null[];\n}\n\nexport const AntiMention = ({ serverId, enabled, existingActions, existingExemptRoles, existingExemptChannels, allRoles, allChannels }: AntiMentionProps) => {\n  const [isEnabled, setIsEnabled] = useState(enabled ?? false);\n  const [loading, setLoading] = useState(false);\n  const [actions, setActions] = useState(existingActions || []);\n  const [exemptRoles, setExemptRoles] = useState(existingExemptRoles || []);\n  const [exemptChannels, setExemptChannels] = useState(existingExemptChannels || []);\n  const [limit, setLimit] = useState(5);\n\n  const save = async (change = true) => {\n    setLoading(true);\n    if (change) setIsEnabled(!isEnabled);\n    const loading = toast.loading(`Turning ${!isEnabled ? \"on\" : \"off\"} anti-mention...`);\n\n    const res = await fetch(\"/api/settings/automod/anti-mention\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        enabled: change ? !isEnabled : isEnabled,\n        actions,\n        exemptRoles,\n        exemptChannels,\n        limit,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      if (change) setIsEnabled(isEnabled);\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Anti-mention enabled!\", {\n        id: loading,\n      });\n    }\n    if (change) setIsEnabled(isEnabled);\n    return toast.error(json.error ?? \"Something went wrong\", {\n      id: loading,\n    });\n  };\n\n  return (\n    <div>\n      <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n        <AtSignIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n        Anti-Mention <Switch checked={isEnabled} onCheckedChange={save} disabled={loading} />\n      </Header>\n      <p className=\"mb-4 text-left\">\n        <span>Automatically delete messages containing too many unique user or role mentions.</span>\n      </p>\n\n      <div\n        className={cn(\n          {\n            \"max-h-0 opacity-0\": isEnabled,\n            \"max-h-[500px] opacity-100\": !isEnabled,\n          },\n          \"transition-all duration-200 ease-in-out\"\n        )}\n      >\n        <div className=\"my-4 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n            Note:\n          </span>\n          <span className=\"whitespace-normal\">You have to enable this rule to change its settings!</span>\n        </div>\n      </div>\n\n      <div\n        className={cn({\n          \"pointer-events-none cursor-not-allowed opacity-50\": !isEnabled && !loading,\n          \"pointer-events-none opacity-50\": loading,\n          \"cursor-default opacity-100\": isEnabled,\n        })}\n      >\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n          <div className=\"flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain roles from triggering the rule.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <UsersIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Roles:\n              </span>\n            </Tooltip>\n            <RolesSelect allRoles={allRoles.filter((role) => role !== null)} selectedRoles={exemptRoles} setRoles={setExemptRoles} />\n          </div>\n\n          <div className=\"mt-2 flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain channels from being moderated.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <HashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Channels:\n              </span>\n            </Tooltip>\n            <ChannelsSelect allChannels={allChannels.filter((channel) => channel !== null)} selectedChannels={exemptChannels} setChannels={setExemptChannels} />\n          </div>\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessage actions={actions} setActions={setActions} />\n          <TimeoutMember actions={actions} setActions={setActions} />\n          <LogChannel actions={actions} setActions={setActions} allChannels={allChannels} />\n\n          {(!actions || actions.length === 0) && isEnabled && !loading && (\n            <div className=\"my-4 flex flex-row items-start whitespace-nowrap rounded-lg border border-red-400 bg-red-400/10 p-4 text-red-400\">\n              <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n                <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1 stroke-red-400\" })} />\n                Warning:\n              </span>\n              <span className=\"whitespace-normal\">You have to select at least one action!</span>\n            </div>\n          )}\n        </Block>\n\n        <ArrowDownIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldXIcon className={iconVariants({ variant: \"large\" })} /> Limits:\n          </Header>\n\n          <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n            <Tooltip content=\"Limits how many unique mentions (user & roles) are allowed in a single message.\">\n              <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n                <AtSignIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n                How many mentions are allowed in a single message?\n              </span>\n            </Tooltip>\n\n            <MentionLimitSelect\n              selectedChoice={limit}\n              setSelectedChoice={setLimit}\n              triggerMetadata={{ mentionTotalLimit: limit, mentionRaidProtectionEnabled: true }}\n              setTriggerMetadata={() => {}}\n            />\n          </div>\n\n          <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n            <Tooltip content=\"Allow automatic detection of mention raids in the server.\">\n              <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n                <ShieldPlusIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n                Enable Mention Raid Protection\n              </span>\n            </Tooltip>\n\n            <Switch checked={true} onCheckedChange={() => {}} />\n          </div>\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" onClick={() => save(false)} disabled={!isEnabled || loading || !actions || actions.length === 0}>\n          {loading ? (\n            <>\n              <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n              Saving...\n            </>\n          ) : (\n            <>\n              <CheckIcon className={iconVariants({ variant: \"button\" })} />\n              Save\n            </>\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/AntiSpam.tsx",
    "content": "\"use client\";\n\nimport { APIAutoModerationRule, APIGuildChannel, GuildChannelType } from \"discord-api-types/v10\";\nimport { CheckIcon, HashIcon, InfoIcon, LoaderCircleIcon, MoveVerticalIcon, ShieldMinusIcon, UsersIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport DeleteMessage from \"./DeleteMessage\";\nimport LogChannel from \"./LogChannel\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { RolesSelect } from \"@/components/ui/RolesSelect\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface AntiSpamProps {\n  serverId: APIAutoModerationRule[\"guild_id\"];\n  enabled: APIAutoModerationRule[\"enabled\"];\n  existingActions: APIAutoModerationRule[\"actions\"];\n  existingExemptRoles: APIAutoModerationRule[\"exempt_roles\"];\n  existingExemptChannels: APIAutoModerationRule[\"exempt_channels\"];\n  allRoles: ({\n    id: string;\n    name: string;\n    color: string;\n  } | null)[];\n  allChannels: APIGuildChannel<GuildChannelType>[] | null[];\n}\n\nexport const AntiSpam = ({ serverId, enabled, existingActions, existingExemptRoles, existingExemptChannels, allRoles, allChannels }: AntiSpamProps) => {\n  const [isEnabled, setIsEnabled] = useState(enabled ?? false);\n  const [loading, setLoading] = useState(false);\n  const [actions, setActions] = useState(existingActions || []);\n  const [exemptRoles, setExemptRoles] = useState(existingExemptRoles || []);\n  const [exemptChannels, setExemptChannels] = useState(existingExemptChannels || []);\n\n  const save = async (change = true) => {\n    setLoading(true);\n    if (change) setIsEnabled(!isEnabled);\n    const loading = toast.loading(`Turning ${!isEnabled ? \"on\" : \"off\"} anti-spam...`);\n\n    const res = await fetch(\"/api/settings/automod/anti-spam\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        enabled: change ? !isEnabled : isEnabled,\n        actions,\n        exemptRoles,\n        exemptChannels,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      if (change) setIsEnabled(isEnabled);\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Anti-spam enabled!\", {\n        id: loading,\n      });\n    }\n\n    if (change) setIsEnabled(isEnabled);\n    return toast.error(json.error ?? \"Something went wrong\", {\n      id: loading,\n    });\n  };\n\n  return (\n    <div>\n      <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n        <Icons.messageOff className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n        Anti-Spam <Switch checked={isEnabled} onCheckedChange={save} disabled={loading} />\n      </Header>\n      <p className=\"mb-4 text-left\">\n        <span>Automatically delete all spam messages.</span>\n      </p>\n\n      <div\n        className={cn(\n          {\n            \"max-h-0 opacity-0\": isEnabled,\n            \"max-h-[500px] opacity-100\": !isEnabled,\n          },\n          \"transition-all duration-200 ease-in-out\"\n        )}\n      >\n        <div className=\"my-4 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n            Note:\n          </span>\n          <span className=\"whitespace-normal\">You have to enable this rule to change its settings!</span>\n        </div>\n      </div>\n\n      <div\n        className={cn(\n          {\n            \"pointer-events-none cursor-not-allowed opacity-50\": !isEnabled && !loading,\n            \"pointer-events-none opacity-50\": loading,\n            \"cursor-default opacity-100\": isEnabled,\n          },\n          \"relative\"\n        )}\n      >\n        {/* <div className={cn({ \"pointer-events-none z-10 bg-linear-to-t from-background-secondary to-90% inset-0 absolute\": !isEnabled && !loading })} /> */}\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n          <div className=\"flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain roles from triggering the rule.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <UsersIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Roles:\n              </span>\n            </Tooltip>\n            <RolesSelect allRoles={allRoles.filter((role) => role !== null)} selectedRoles={exemptRoles} setRoles={setExemptRoles} />\n          </div>\n\n          <div className=\"mt-2 flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n            <Tooltip content=\"Ignore certain channels from being moderated.\">\n              <span className=\"flex cursor-help items-center gap-2\">\n                <HashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n                Ignore Channels:\n              </span>\n            </Tooltip>\n            <ChannelsSelect allChannels={allChannels.filter((channel) => channel !== null)} selectedChannels={exemptChannels} setChannels={setExemptChannels} />\n          </div>\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessage actions={actions} setActions={setActions} />\n          <LogChannel actions={actions} setActions={setActions} allChannels={allChannels} />\n\n          {(!actions || actions.length === 0) && isEnabled && !loading && (\n            <div className=\"my-4 flex flex-row items-start whitespace-nowrap rounded-lg border border-red-400 bg-red-400/10 p-4 text-red-400\">\n              <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n                <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1 stroke-red-400\" })} />\n                Warning:\n              </span>\n              <span className=\"whitespace-normal\">You have to select at least one action!</span>\n            </div>\n          )}\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" onClick={() => save(false)} disabled={!isEnabled || loading || !actions || actions.length === 0}>\n          {loading ? (\n            <>\n              <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n              Saving...\n            </>\n          ) : (\n            <>\n              <CheckIcon className={iconVariants({ variant: \"button\" })} />\n              Save\n            </>\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/DeleteMessage.tsx",
    "content": "import { AutoModerationActionType, APIAutoModerationAction } from \"discord-api-types/v10\";\nimport { TrashIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\n\ninterface DeleteMessageProps {\n  actions: APIAutoModerationAction[];\n  setActions: (actions: APIAutoModerationAction[]) => void;\n}\n\nconst DeleteMessage = ({ actions, setActions }: DeleteMessageProps) => {\n  const setDelete = () => {\n    const deleteActionType = AutoModerationActionType.BlockMessage;\n\n    const updatedActions = actions.some((action) => action.type === deleteActionType)\n      ? actions.filter((action) => action.type !== deleteActionType)\n      : [...actions, { type: deleteActionType, metadata: { custom_message: \"Message blocked due to containing an invite link. Rule added by Majo.exe\" } }];\n\n    setActions(updatedActions);\n  };\n\n  return (\n    <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n      <Tooltip content=\"Delete the message that triggered the rule.\">\n        <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n          <TrashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n          Delete message:\n        </span>\n      </Tooltip>\n      <Switch checked={actions.some((action) => action.type === AutoModerationActionType.BlockMessage)} onCheckedChange={setDelete} />\n    </div>\n  );\n};\n\nexport default DeleteMessage;\n\nexport const DeleteMessageLoader = () => {\n  return (\n    <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n      <span className=\"flex w-fit items-center gap-2 font-bold\">\n        <TrashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n        Delete message:\n      </span>\n      <Skeleton className=\"h-[30px] w-12\" />\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/Limit.tsx",
    "content": "\"use client\";\n\nimport React from \"react\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Select, SelectTrigger, SelectItem, SelectContent } from \"@/components/ui/Select\";\n\nexport const choices = [\n  {\n    title: \"Disable\",\n    mentions: 0,\n  },\n  {\n    title: \"2 mentions\",\n    mentions: 2,\n  },\n  {\n    title: \"5 mentions\",\n    mentions: 5,\n  },\n  {\n    title: \"10 mentions\",\n    mentions: 10,\n  },\n  {\n    title: \"20 mentions\",\n    mentions: 20,\n  },\n];\n\nexport interface MentionSelectProps extends React.ComponentProps<typeof Select> {\n  selectedChoice: number;\n  setSelectedChoice: (value: number) => void;\n  triggerMetadata: {\n    mentionTotalLimit: number;\n    mentionRaidProtectionEnabled: boolean;\n  };\n  setTriggerMetadata: (metadata: { mentionTotalLimit: number; mentionRaidProtectionEnabled: boolean }) => void;\n}\n\nexport const MentionLimitSelect = ({ selectedChoice, setSelectedChoice, triggerMetadata, setTriggerMetadata, ...props }: MentionSelectProps) => {\n  const setMentions = (value: number) => {\n    const updatedTriggerMetadata = {\n      ...triggerMetadata,\n      mentionTotalLimit: value,\n      mentionRaidProtectionEnabled: true,\n    };\n\n    setTriggerMetadata(updatedTriggerMetadata);\n    setSelectedChoice(value);\n  };\n\n  return (\n    <>\n      {choices && choices.length > 0 ? (\n        <Select value={selectedChoice.toString()} onValueChange={(value: string) => setMentions(parseInt(value))} {...props}>\n          <SelectTrigger>\n            <span className=\"flex items-center gap-2 truncate\">{choices.find((choice) => choice?.mentions === selectedChoice)?.title || \"No limit selected\"}</span>\n          </SelectTrigger>\n\n          <SelectContent>\n            {choices.map((choice) => (\n              <SelectItem key={`choice-select-option-${choice.mentions}`} value={choice.mentions.toString()}>\n                <div className=\"flex items-center gap-1 truncate\">{choice.title}</div>\n              </SelectItem>\n            ))}\n          </SelectContent>\n        </Select>\n      ) : (\n        <div className=\"flex items-center justify-center gap-2 font-normal text-red-400\">\n          <Icons.warning className={iconVariants({ variant: \"normal\" })} />\n          <span className=\"text-sm\">No choices available!</span>\n        </div>\n      )}\n    </>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/LogChannel.tsx",
    "content": "import { APIAutoModerationAction, APIGuildChannel, AutoModerationActionType, GuildChannelType } from \"discord-api-types/v10\";\nimport React from \"react\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\n\ninterface LogChannelProps {\n  actions: APIAutoModerationAction[];\n  setActions: (actions: APIAutoModerationAction[]) => void;\n  allChannels: APIGuildChannel<GuildChannelType>[] | null[];\n}\n\nconst LogChannel = ({ actions, setActions, allChannels }: LogChannelProps) => {\n  const setChannels = (value: string) => {\n    const alertActionType = AutoModerationActionType.SendAlertMessage;\n\n    const updatedActions = actions.some((action) => action.type === alertActionType)\n      ? actions.map((action) => (action.type === alertActionType ? { ...action, metadata: { channel_id: value } } : action))\n      : [...actions, { type: alertActionType, metadata: { channel_id: value } }];\n\n    setActions(updatedActions);\n  };\n\n  return (\n    <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n      <Tooltip content=\"Send a message to selected channel when a member triggers the rule.\">\n        <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n          <Icons.messageWarning className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n          Log to channel:\n        </span>\n      </Tooltip>\n      <ChannelsSelect\n        allChannels={[{ id: \"1\", name: \"Disabled\" }, ...allChannels.filter((channel) => channel !== null)]}\n        selectedChannels={[actions.find((action) => action.type === AutoModerationActionType.SendAlertMessage)?.metadata?.channel_id || \"1\"]}\n        setChannels={(channels) => setChannels(channels[0] || \"\")}\n        multiple={false}\n      />\n    </div>\n  );\n};\n\nexport default LogChannel;\n\nexport const LogToChannelLoader = () => {\n  return (\n    <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n      <span className=\"flex w-fit items-center gap-2 font-bold\">\n        <Icons.messageWarning className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n        Log to channel:\n      </span>\n      <Skeleton className=\"h-[37.6px] w-40\" />\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/components/TimeoutMember.tsx",
    "content": "import { AutoModerationActionType, type APIAutoModerationAction } from \"discord-api-types/v10\";\nimport { TimerIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { TimeSelect } from \"@/components/ui/TimeSelect\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\n\ninterface TimeoutMemberProps {\n  actions: APIAutoModerationAction[];\n  setActions: (actions: APIAutoModerationAction[]) => void;\n}\n\nconst TimeoutMember: React.FC<TimeoutMemberProps> = ({ actions, setActions }) => {\n  const setTime = (value: number) => {\n    const timeoutActionType = AutoModerationActionType.Timeout;\n\n    const updatedActions = actions.some((action) => action.type === timeoutActionType)\n      ? actions.map((action) => (action.type === timeoutActionType ? { ...action, metadata: { duration_seconds: value } } : action))\n      : [...actions, { type: timeoutActionType, metadata: { duration_seconds: value } }];\n\n    setActions(updatedActions);\n  };\n\n  return (\n    <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n      <Tooltip content=\"Timeout the member that triggered the rule.\">\n        <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n          <TimerIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n          Timeout member:\n        </span>\n      </Tooltip>\n      <TimeSelect selectedChoice={actions.find((action) => action.type === AutoModerationActionType.Timeout)?.metadata?.duration_seconds || 0} setSelectedChoice={setTime} />\n    </div>\n  );\n};\n\nexport default TimeoutMember;\n\nexport const TimeoutMemberLoader = () => {\n  return (\n    <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n      <span className=\"flex w-fit items-center gap-2 font-bold\">\n        <TimerIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n        Timeout member:\n      </span>\n      <Skeleton className=\"h-[37.6px] w-40\" />\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/loading.tsx",
    "content": "import {\n  HashIcon,\n  UsersIcon,\n  BotIcon,\n  ShieldMinusIcon,\n  MoveVerticalIcon,\n  CheckIcon,\n  ShieldBanIcon,\n  ArrowDownIcon,\n  ShieldXIcon,\n  AtSignIcon,\n  ShieldPlusIcon,\n  LoaderCircleIcon,\n  Link2OffIcon,\n} from \"lucide-react\";\nimport { DeleteMessageLoader } from \"./components/DeleteMessage\";\nimport { LogToChannelLoader } from \"./components/LogChannel\";\nimport { TimeoutMemberLoader } from \"./components/TimeoutMember\";\nimport { Badge } from \"@/components/ui/Badge\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nconst IgnoreRolesLoader = () => (\n  <div className=\"flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n    <span className=\"flex w-fit items-center gap-2 font-bold\">\n      <UsersIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n      Ignore Roles:\n    </span>\n    <Skeleton className=\"h-[37.6px] w-40\" />\n  </div>\n);\n\nconst IgnoreChannelsLoader = () => (\n  <div className=\"mt-2 flex w-fit flex-row flex-wrap items-center gap-2 text-center font-bold\">\n    <span className=\"flex w-fit items-center gap-2 font-bold\">\n      <HashIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} />\n      Ignore Channels:\n    </span>\n    <Skeleton className=\"h-[37.6px] w-40\" />\n  </div>\n);\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <BotIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Automod\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Automatically moderate your server, block bad words, links and other things.</p>\n      <Block className=\"mb-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n          <Icons.userBlock className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Anti-Invite <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"stroke-accent-primary animate-spin\" })} />\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Automatically delete all messages containing Discord server invites.</span>\n        </p>\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n          <IgnoreRolesLoader />\n          <IgnoreChannelsLoader />\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessageLoader />\n          <TimeoutMemberLoader />\n          <LogToChannelLoader />\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" disabled={true}>\n          <CheckIcon className={iconVariants({ variant: \"button\" })} />\n          Save\n        </Button>\n      </Block>\n\n      <Block className=\"mb-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n          <Link2OffIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Anti-Link <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"stroke-accent-primary animate-spin\" })} />\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Automatically delete all messages containing links.</span>\n        </p>\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n\n          <IgnoreRolesLoader />\n          <IgnoreChannelsLoader />\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n          <DeleteMessageLoader />\n          <TimeoutMemberLoader />\n          <LogToChannelLoader />\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" disabled={true}>\n          <CheckIcon className={iconVariants({ variant: \"button\" })} />\n          Save\n        </Button>\n      </Block>\n      <Block className=\"mb-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n          <AtSignIcon className={iconVariants({ variant: \"large\" })} />\n          Anti-Mention\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Automatically delete all messages containing user mentions.</span>\n        </p>\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n\n          <IgnoreRolesLoader />\n          <IgnoreChannelsLoader />\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessageLoader />\n          <TimeoutMemberLoader />\n          <LogToChannelLoader />\n        </Block>\n\n        <ArrowDownIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldXIcon className={iconVariants({ variant: \"large\" })} /> Limits:\n          </Header>\n\n          <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n            <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n              <AtSignIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n              How many mentions are allowed in a single message?\n            </span>\n\n            <Skeleton className=\"h-[37.6px] w-40\" />\n          </div>\n\n          <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n            <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n              <ShieldPlusIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400\" })} />\n              Enable Mention Raid Protection\n            </span>\n\n            <Skeleton className=\"h-[37.6px] w-40\" />\n          </div>\n        </Block>\n      </Block>\n      <Block className=\"mb-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n          <Icons.messageOff className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Anti-Spam <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"stroke-accent-primary animate-spin\" })} />\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Automatically delete all spam messages.</span>\n        </p>\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <Icons.hide className={iconVariants({ variant: \"large\" })} /> Exempt:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should be ignored by the rule?</span>\n\n          <IgnoreRolesLoader />\n          <IgnoreChannelsLoader />\n\n          <p className=\"mt-2 gap-2 text-sm text-white/70\">\n            <span className=\"font-bold\">Pssst!</span> Members with Admin or Manage Server permissions are always excluded from automod.\n          </p>\n        </Block>\n\n        <MoveVerticalIcon className={cn(iconVariants({ variant: \"large\" }), \"mx-6 mb-4 opacity-50\")} />\n\n        <Block className=\"mb-4 py-3!\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <ShieldMinusIcon className={iconVariants({ variant: \"large\" })} /> Actions:\n          </Header>\n          <span className=\"mb-4 font-normal\">What should I do when a member triggers the rule?</span>\n\n          <DeleteMessageLoader />\n          <LogToChannelLoader />\n        </Block>\n\n        <Button variant=\"primary\" className=\"mt-4\" disabled={true}>\n          <CheckIcon className={iconVariants({ variant: \"button\" })} />\n          Save\n        </Button>\n      </Block>\n      <Block className=\"mb-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\", margin: \"normal\" }))}>\n          <ShieldBanIcon className={iconVariants({ variant: \"large\" })} />\n          Anti-Badwords <Badge>Coming Soon</Badge>\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Automatically delete all messages containing bad words or phrases.</span>\n        </p>\n\n        <p className=\"mb-4 text-left font-bold\">\n          <span>\n            Enabling this rule here is not yet supported. Please use the <code>/automod anti-bad-words enable</code> command in chat.\n          </span>\n        </p>\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/automod/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { syncDatabaseAutoModRule } from \"@majoexe/util/database\";\nimport { getGuildFromMemberGuilds, getGuild, getGuildRoles, getGuildChannels } from \"@majoexe/util/functions/guild\";\nimport { ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { BotIcon, ShieldBanIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { AntiMention } from \"./components/AntiMention\";\nimport { AntiSpam } from \"./components/AntiSpam\";\nimport { AntiInvite } from \"@/app/dashboard/[server]/automod/components/AntiInvite\";\nimport { AntiLink } from \"@/app/dashboard/[server]/automod/components/AntiLink\";\nimport { Badge } from \"@/components/ui/Badge\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Automod\",\n  description: \"Automatically moderate your server, block bad words, links and other things.\",\n};\n\nexport const dynamic = \"force-dynamic\";\n\nexport default async function AutomodPage(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      autoMod: {\n        where: {\n          guildId: serverDownload.id,\n        },\n      },\n    },\n  });\n\n  const enabledAntiInvite = await syncDatabaseAutoModRule(serverDownload.id, \"anti-invite\");\n  const enabledAntiLink = await syncDatabaseAutoModRule(serverDownload.id, \"anti-link\");\n  const enabledAntiSpam = await syncDatabaseAutoModRule(serverDownload.id, \"anti-spam\");\n  const enabledAntiMention = await syncDatabaseAutoModRule(serverDownload.id, \"anti-mention\");\n\n  const allChannels = (await getGuildChannels(serverDownload.id, [ChannelType.GuildText])) || [];\n  const allRolesFetch = (await getGuildRoles(serverDownload.id)) || [];\n\n  const allRoles = allRolesFetch.map((role) => {\n    if (role.name === \"@everyone\") return null;\n    return {\n      id: role.id,\n      name: role.name,\n      color: role.color ? `#${role.color.toString(16).toUpperCase()}` : \"#FFFFFF\",\n    };\n  });\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <BotIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Automod\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Automatically moderate your server, block bad words, links and other things.</p>\n      <Block className=\"mb-6\">\n        {enabledAntiInvite ? ( // prettier\n          <AntiInvite\n            serverId={serverDownload.id}\n            existingExemptChannels={enabledAntiInvite.exempt_channels}\n            existingExemptRoles={enabledAntiInvite.exempt_roles}\n            enabled={enabledAntiInvite.enabled}\n            existingActions={enabledAntiInvite.actions}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        ) : (\n          <AntiInvite\n            serverId={serverDownload.id}\n            existingExemptChannels={[]}\n            existingExemptRoles={[]}\n            enabled={false}\n            existingActions={[]}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        )}\n      </Block>\n      <Block className=\"mb-6\">\n        {enabledAntiLink ? ( // prettier\n          <AntiLink\n            serverId={serverDownload.id}\n            existingExemptChannels={enabledAntiLink.exempt_channels}\n            existingExemptRoles={enabledAntiLink.exempt_roles}\n            enabled={enabledAntiLink.enabled}\n            existingActions={enabledAntiLink.actions}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        ) : (\n          <AntiLink\n            serverId={serverDownload.id}\n            existingExemptChannels={[]}\n            existingExemptRoles={[]}\n            enabled={false}\n            existingActions={[]}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        )}\n      </Block>\n      <Block className=\"mb-6\">\n        {enabledAntiMention ? ( // prettier\n          <AntiMention\n            serverId={serverDownload.id}\n            existingExemptChannels={enabledAntiMention.exempt_channels}\n            existingExemptRoles={enabledAntiMention.exempt_roles}\n            enabled={enabledAntiMention.enabled}\n            existingActions={enabledAntiMention.actions}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        ) : (\n          <AntiMention\n            serverId={serverDownload.id}\n            existingExemptChannels={[]}\n            existingExemptRoles={[]}\n            enabled={false}\n            existingActions={[]}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        )}\n      </Block>\n      <Block className=\"mb-6\">\n        {enabledAntiSpam ? ( // prettier\n          <AntiSpam\n            serverId={serverDownload.id}\n            existingExemptChannels={enabledAntiSpam.exempt_channels}\n            existingExemptRoles={enabledAntiSpam.exempt_roles}\n            enabled={enabledAntiSpam.enabled}\n            existingActions={enabledAntiSpam.actions}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        ) : (\n          <AntiSpam\n            serverId={serverDownload.id}\n            existingExemptChannels={[]}\n            existingExemptRoles={[]}\n            enabled={false}\n            existingActions={[]}\n            allRoles={allRoles}\n            allChannels={allChannels}\n          />\n        )}\n      </Block>\n      <Block className=\"mb-6\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <ShieldBanIcon className={iconVariants({ variant: \"large\" })} />\n          Anti-Badwords <Badge>Coming Soon</Badge>\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Automatically delete all messages containing bad words or phrases.</span>\n        </p>\n        <p className=\"mb-4 text-left font-bold\">\n          <span>\n            Enabling this rule here is not yet supported. Please use the <code>/automod anti-bad-words enable</code> command in chat.\n          </span>\n        </p>\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/dashboard-logs/components/Logs.tsx",
    "content": "\"use client\";\n\nimport type { GuildLogs, User } from \"@majoexe/database/types\";\nimport { formatDate, formatDuration } from \"@majoexe/util/functions/util\";\nimport { ArrowDownNarrowWideIcon, ArrowUpNarrowWideIcon, SearchIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport React, { useState, useRef, useEffect } from \"react\";\nimport InfiniteScroll from \"react-infinite-scroller\";\nimport { Disclosure } from \"@/components/ui/Disclosure\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { InputWithIcon } from \"@/components/ui/Input\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { env } from \"@/env\";\nimport { cn } from \"@/lib/utils\";\n\ninterface LogItem extends Omit<GuildLogs, \"createdAt\"> {\n  createdAt: string;\n  user: Pick<User, \"name\" | \"discordId\" | \"avatar\" | \"global_name\" | \"discriminator\"> & { fullAvatar?: string };\n}\n\nexport function LogDisclosure({ item, guildId, preview = false }: { item: LogItem; guildId: string; preview?: boolean }) {\n  return (\n    <Disclosure\n      button={\n        <div className=\"flex flex-row items-center gap-3\">\n          <div className=\"flex flex-row items-center gap-3\">\n            {item.user.fullAvatar ? (\n              <Image src={item.user.fullAvatar} alt={`${item.user.name} avatar`} quality={95} width={36} height={36} className=\"size-9 shrink-0 rounded-full\" />\n            ) : (\n              <>\n                {item.user.avatar && (\n                  <Image\n                    src={`/api/user/avatar/${item.user.discordId}`}\n                    alt={`${item.user.name} avatar`}\n                    quality={95}\n                    width={36}\n                    height={36}\n                    className=\"size-9 shrink-0 rounded-full\"\n                  />\n                )}\n              </>\n            )}\n          </div>\n          <div className=\"flex flex-col\">\n            <p className=\"text-left font-bold\">\n              {item.user.global_name}\n              {item.user.discriminator !== \"0\" && <span className=\"opacity-70\">#{item.user.discriminator || \"0000\"}</span>}: {item.content}\n            </p>\n            <span className=\"text-left opacity-70\">\n              {formatDate(item.createdAt)} ({formatDuration(new Date().getTime() - new Date(item.createdAt).getTime())} ago)\n            </span>\n          </div>\n        </div>\n      }\n    >\n      <p>\n        <span className=\"font-bold\">Type:</span> <span className=\"opacity-70\">{item.type}</span>\n      </p>\n      <p>\n        <span className=\"font-bold\">Date:</span> <span className=\"opacity-70\">{item.createdAt}</span>\n      </p>\n      <p>\n        <span className=\"font-bold\">User:</span>{\" \"}\n        {preview ? (\n          <>\n            {item.user.global_name}\n            {item.user?.discriminator !== \"0\" && <span className=\"opacity-70\">#{item.user?.discriminator || \"0000\"}</span>} (ID: {item.user.discordId})\n          </>\n        ) : (\n          <Link href={`/dashboard/${guildId}/user/${item.user?.discordId}`} className=\"opacity-70 duration-200 hover:text-button-primary hover:opacity-100\">\n            {item.user.global_name}\n            {item.user.discriminator !== \"0\" && <span className=\"opacity-70\">#{item.user.discriminator || \"0000\"}</span>} (ID: {item.user.discordId})\n          </Link>\n        )}\n      </p>\n    </Disclosure>\n  );\n}\n\nexport default function Logs({ initialItems, server }: { initialItems: LogItem[]; server: string }) {\n  const fetching = useRef(false);\n  const [pages, setPages] = useState([initialItems]);\n  const [sortDescending, setSortDescending] = useState(true);\n  const [searchQuery, setSearchQuery] = useState(\"\");\n  const items = pages.flatMap((page) => page);\n  const [hasMore, setHasMore] = useState(true);\n\n  const loadMore = async (page: number) => {\n    if (!fetching.current) {\n      try {\n        fetching.current = true;\n        const response = await fetch(`${env.NEXT_PUBLIC_URL}/api/logs/${server}?page=${page}`);\n        const data = (await response.json()) as LogItem[];\n        if (!data.length) return setHasMore(false);\n\n        const filteredData = data.filter((item) => !items.some((i) => i.id === item.id));\n        filteredData.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());\n        setPages((prev) => [...prev, filteredData]);\n      } finally {\n        fetching.current = false;\n      }\n    }\n  };\n\n  useEffect(() => {\n    if (pages.length === 1 && !initialItems.length) setHasMore(false);\n  }, [initialItems.length, pages.length]);\n\n  const filteredItems = items.filter((item) => item.content.toLowerCase().includes(searchQuery.toLowerCase()));\n\n  const sortedFilteredItems = [...filteredItems];\n\n  sortedFilteredItems.sort((a, b) => {\n    if (sortDescending) {\n      return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();\n    } else {\n      return new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime();\n    }\n  });\n\n  return (\n    <div className=\"block\">\n      <div className=\"mb-4 flex items-center justify-center gap-2\">\n        <InputWithIcon\n          placeholder=\"Search dashboard logs...\"\n          value={searchQuery}\n          onChange={(e) => setSearchQuery(e.target.value)}\n          icon={<SearchIcon className={iconVariants({ variant: \"normal\", className: \"text-white/50\" })} />}\n        />\n        <Tooltip content={sortDescending ? \"Sort ascending\" : \"Sort descending\"}>\n          <span\n            onClick={() => setSortDescending(!sortDescending)}\n            className=\"flex h-[41.6px] cursor-pointer items-center justify-center rounded-lg border border-neutral-800 px-3 py-2 text-white duration-200 hover:border-button-primary\"\n          >\n            <div className=\"relative size-5\">\n              <ArrowDownNarrowWideIcon\n                className={iconVariants({\n                  variant: \"normal\",\n                  className: cn(\n                    // prettier\n                    \"absolute left-0 top-0 size-full duration-200\",\n                    { \"scale-0 opacity-0\": !sortDescending, \"scale-100 opacity-100\": sortDescending }\n                  ),\n                })}\n              />\n              <ArrowUpNarrowWideIcon\n                className={iconVariants({\n                  variant: \"normal\",\n                  className: cn(\n                    // prettier\n                    \"absolute left-0 top-0 size-full duration-200\",\n                    { \"scale-0 opacity-0\": sortDescending, \"scale-100 opacity-100\": !sortDescending }\n                  ),\n                })}\n              />\n            </div>\n          </span>\n        </Tooltip>\n      </div>\n      <InfiniteScroll hasMore={hasMore} pageStart={0} loadMore={loadMore} loader={<Skeleton className=\"mb-4 h-20\" />}>\n        {sortedFilteredItems.map((item) => (\n          <LogDisclosure key={`log-${item.id}-${server}`} item={item} guildId={server} />\n        ))}\n      </InfiniteScroll>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/dashboard-logs/loading.tsx",
    "content": "import { LogsIcon } from \"lucide-react\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <LogsIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Dashboard Logs\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">All the logs of the different actions that have been happening on your dashboard.</p>\n      <Block className=\"mt-4 overflow-auto\">\n        <Skeleton className=\"mb-6 mt-2 h-10 w-full\" />\n        {Array.from({ length: 20 }).map((_, i) => (\n          <Skeleton className=\"mb-4 h-20\" key={`log-skeleton-${i}`} />\n        ))}\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/dashboard-logs/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { LogsIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport Logs from \"@/app/dashboard/[server]/dashboard-logs/components/Logs\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Dashboard Logs\",\n  description: \"All the logs of the different actions that have been happening on your dashboard.\",\n};\n\nexport default async function LogsPage(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildLogs: {\n        take: 20,\n        skip: 0,\n        orderBy: {\n          createdAt: \"desc\",\n        },\n        include: {\n          user: {\n            select: {\n              discordId: true,\n              name: true,\n              global_name: true,\n              avatar: true,\n              discriminator: true,\n            },\n          },\n        },\n      },\n    },\n  });\n\n  const logs = guild.guildLogs.map((log) => {\n    return {\n      ...log,\n      createdAt: log.createdAt instanceof Date ? log.createdAt.toString() : new Date(log.createdAt).toString(),\n    };\n  });\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <LogsIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Dashboard Logs\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">All the logs of the different actions that have been happening on your dashboard.</p>\n      <Block className=\"mt-4 overflow-auto\">\n        {!logs || logs.length === 0 ? (\n          <Block>\n            <p className=\"text-left\">No logs found! Check back later, maybe something will happen soon!</p>\n          </Block>\n        ) : (\n          <Logs initialItems={logs} server={serverDownload.id} />\n        )}\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/giveaways/components/Giveaways.tsx",
    "content": "\"use client\";\n\nimport type { User } from \"@majoexe/database/types\";\nimport { formatDate, formatDuration } from \"@majoexe/util/functions/util\";\nimport type { ColumnDef } from \"@tanstack/react-table\";\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { GiveawayData } from \"discord-giveaways\";\nimport { HashIcon, TimerIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Table, TableColumnHeader } from \"@/components/ui/Table\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\n\ninterface Giveaway {\n  id: number;\n  prize: string;\n  winnerCount: GiveawayData[\"winnerCount\"];\n  winners: GiveawayData[\"winnerIds\"];\n  reaction: GiveawayData[\"reaction\"];\n  channel: {\n    id: Snowflake;\n    name: string;\n    link: string | null;\n  };\n  time: {\n    startedAt: Date;\n    ended: boolean;\n    endedAt: Date;\n  };\n  startedBy: Pick<User, \"discordId\" | \"global_name\" | \"name\" | \"avatar\"> | null;\n}\n\nexport function Giveaways({ data = [] }: { data: Giveaway[] }) {\n  const columns: ColumnDef<Giveaway>[] = [\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Prize to Win\" />,\n      accessorKey: \"prize\",\n      cell: ({ row }) => row.getValue(\"prize\") || \"Unknown\",\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Winners\" />,\n      accessorKey: \"winnerCount\",\n      cell: ({ row }) => {\n        const value = row.original;\n\n        return (\n          <>\n            {value.winnerCount} winner{value.winnerCount > 1 ? \"s\" : \"\"}\n          </>\n        );\n      },\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Time\" />,\n      accessorKey: \"time\",\n      cell: ({ row }) => {\n        const value = row.original.time;\n\n        return (\n          <>\n            {value.ended ? (\n              <Tooltip content={`Ended ${formatDate(value.endedAt)} (${formatDuration(new Date(value.endedAt).getTime() - new Date(value.startedAt).getTime())} ago)`}>\n                <div className=\"flex w-fit cursor-help items-center\">\n                  <TimerIcon className={iconVariants({ variant: \"button\", className: \"text-red-400\" })} />\n                  <span className=\"text-red-400\">Ended</span>\n                </div>\n              </Tooltip>\n            ) : (\n              <Tooltip content={`Started ${formatDate(value.startedAt)} (${formatDuration(Date.now() - new Date(value.startedAt).getTime())} ago)`}>\n                <div className=\"flex cursor-help items-center\">\n                  <TimerIcon className={iconVariants({ variant: \"button\", className: \"text-yellow-400\" })} />\n                  <span className=\"text-yellow-500\">Ends in {formatDuration(new Date(value.endedAt).getTime() - Date.now())}</span>\n                </div>\n              </Tooltip>\n            )}\n          </>\n        );\n      },\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Started By\" />,\n      accessorKey: \"startedBy\",\n      sortingFn: (a, b) => {\n        const firstRow = a.original.startedBy;\n        const secondRow = b.original.startedBy;\n\n        if (!firstRow || !secondRow) return 0;\n        if (firstRow.global_name && secondRow.global_name) return firstRow.global_name.localeCompare(secondRow.global_name);\n        if (firstRow.global_name) return -1;\n        if (secondRow.global_name) return 1;\n        if (firstRow.name && secondRow.name) return firstRow.name.localeCompare(secondRow.name);\n        if (firstRow.name) return -1;\n        if (secondRow.name) return 1;\n        return 0;\n      },\n      cell: ({ row }) => {\n        const value = row.original.startedBy;\n\n        return (\n          <>\n            {value ? (\n              <Tooltip content={`Discord ID: ${value.discordId || \"Unknown\"}`}>\n                <Link className=\"flex w-fit items-center space-x-4\" href={`user/${value.discordId}`}>\n                  <Image src={`/api/user/avatar/${value.discordId}`} alt={`${value.name} avatar`} quality={95} width={36} height={36} className=\"size-9 shrink-0 rounded-full\" />\n\n                  <span className=\"text-left font-bold\">\n                    {value.global_name || value.name}\n                    {/* {value.discriminator !== \"0\" && <span className=\"opacity-70\">#{value.discriminator || \"0000\"}</span>} */}\n                  </span>\n                </Link>\n              </Tooltip>\n            ) : (\n              <span>Unknown</span>\n            )}\n          </>\n        );\n      },\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Started\" />,\n      accessorKey: \"started\",\n      cell: ({ row }) => (\n        <Tooltip content={formatDate(row.original.time.startedAt)}>\n          <span className=\"cursor-help\">{formatDuration(Date.now() - new Date(row.original.time.startedAt).getTime())} ago</span>\n        </Tooltip>\n      ),\n    },\n    {\n      header: \"Actions\",\n      cell: ({ row }) => {\n        const value = row.original;\n\n        return (\n          <div className=\"flex space-x-4\">\n            {/* <Tooltip content=\"Editing giveaways is not yet supported\">\n       <Button variant=\"secondary\" className=\"w-fit!\" disabled>\n        <EditIcon className={iconVariants({ variant: \"button\" })} />\n        Edit\n       </Button>\n      </Tooltip> */}\n            {value.channel && value.channel.link ? (\n              <Link href={value.channel.link}>\n                <Button variant=\"primary\" className=\"w-fit!\">\n                  <HashIcon className={iconVariants({ variant: \"button\" })} />\n                  View on Discord\n                </Button>\n              </Link>\n            ) : (\n              <Tooltip content=\"The channel or message was deleted or is not accessible\">\n                <Button variant=\"secondary\" className=\"w-fit!\" disabled>\n                  <HashIcon className={iconVariants({ variant: \"button\" })} />\n                  View on Discord\n                </Button>\n              </Tooltip>\n            )}\n          </div>\n        );\n      },\n    },\n  ];\n\n  return <Table columns={columns} data={data} sortBy={[{ id: \"time\", desc: false }]} />;\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/giveaways/loading.tsx",
    "content": "import { GiftIcon } from \"lucide-react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <GiftIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Giveaways\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">\n        View all the giveaways for your server. You can create a giveaway by using <code>/giveaway</code> command in chat.\n      </p>\n      <Skeleton className=\"h-64 w-full\" />\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/giveaways/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild, getGuildChannels } from \"@majoexe/util/functions/guild\";\nimport { ChannelType } from \"discord-api-types/v10\";\nimport type { GiveawayData } from \"discord-giveaways\";\nimport { getSession } from \"lib/session\";\nimport { GiftIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { Giveaways } from \"@/app/dashboard/[server]/giveaways/components/Giveaways\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Giveaways\",\n  description: \"View the giveaways for your server.\",\n};\n\nexport default async function GiveawaysPage(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      giveaway: true,\n    },\n  });\n\n  console.log(guild);\n\n  const data = await Promise.all(\n    guild.giveaway.map(async (giveaway) => {\n      if (!giveaway.data) return null;\n\n      const data = giveaway.data as unknown as GiveawayData;\n\n      const hostedBy = data.hostedBy ? data.hostedBy.replace(/<@!?(\\d+)>/g, \"$1\") : data.hostedBy;\n\n      const startedBy = await prismaClient.user.findUnique({\n        where: {\n          discordId: hostedBy,\n        },\n        select: {\n          discordId: true,\n          global_name: true,\n          name: true,\n          avatar: true,\n        },\n      });\n\n      if (startedBy && startedBy.avatar)\n        startedBy.avatar =\n          `https://cdn.discordapp.com/avatars/${hostedBy}/${startedBy.avatar}.${startedBy.avatar.startsWith(\"a_\") ? \"gif\" : \"png\"}` ||\n          \"https://cdn.discordapp.com/embed/avatars/0.png\";\n\n      let channel;\n      if (data.channelId) {\n        const allChannels = await getGuildChannels(serverDownload.id, [ChannelType.GuildText]);\n        if (allChannels) {\n          channel = allChannels.find((x) => x.id === data.channelId);\n        }\n      }\n\n      return {\n        id: giveaway.id,\n        prize: data.prize\n          .replace(/<a?:\\w+:\\d+>/g, \"\")\n          .replace(\"Giveaway: \", \"\")\n          .trim(),\n        winnerCount: data.winnerCount,\n        winners: data.winnerIds,\n        reaction: data.reaction,\n        channel: {\n          id: data.channelId,\n          name: channel?.name || \"Unknown\",\n          link: channel ? `https://discord.com/channels/${serverDownload.id}/${channel.id}/${data.messageId}` : null,\n        },\n        time: {\n          startedAt: new Date(data.startAt),\n          ended: new Date(data.endAt) < new Date() || data.ended,\n          endedAt: new Date(data.endAt),\n        },\n        startedBy,\n      };\n    })\n  ).then((data) => data.filter((x) => x !== null));\n\n  console.log(data);\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <GiftIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Giveaways\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">\n        View all the giveaways for your server. You can create a giveaway by using <code>/giveaway</code> command in chat.\n      </p>\n      <Block className=\"mt-4 flex w-full overflow-auto\">\n        {data.length > 0 ? (\n          <Giveaways data={data} />\n        ) : (\n          <span className=\"leading-none opacity-50\">\n            No giveaways found. You can create one by using <code>/giveaway</code> command in chat.\n          </span>\n        )}\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/layout.tsx",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport { Metadata } from \"next\";\nimport { NavigationGuardProvider } from \"next-navigation-guard\";\nimport { SideNavigation } from \"@/components/nav/SideNavigation\";\n\nexport function generateMetadata(): Metadata {\n  return {\n    openGraph: {\n      title: dashboardConfig.title,\n      description: dashboardConfig.description,\n      url: dashboardConfig.url,\n      siteName: dashboardConfig.title,\n    },\n  };\n}\n\nexport default async function Layout(props: { params: Promise<{ server: string }>; children: React.ReactNode }) {\n  const params = await props.params;\n  const { children } = props;\n\n  return (\n    <NavigationGuardProvider>\n      <SideNavigation server={params.server} />\n      <div className=\"ml-0 flex-1 p-6 pt-20 md:pl-72\">{children}</div>\n    </NavigationGuardProvider>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/leaderboard/components/Leaderboard.tsx",
    "content": "\"use client\";\n\nimport type { User } from \"@majoexe/database/types\";\nimport { formatNumber } from \"@majoexe/util/functions/util\";\nimport type { ColumnDef } from \"@tanstack/react-table\";\nimport { UserIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Table, TableColumnHeader } from \"@/components/ui/Table\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface LeaderboardData {\n  id: number;\n  user: Pick<User, \"discordId\" | \"global_name\" | \"name\" | \"avatar\" | \"discriminator\">;\n  xp: number;\n  level: number;\n}\n\nexport function Leaderboard({ data, showControls = true, showSearch = true }: { data: LeaderboardData[]; showControls?: boolean; showSearch?: boolean }) {\n  const columns: ColumnDef<LeaderboardData>[] = [\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Position\" />,\n      accessorKey: \"id\",\n      cell: ({ row }) => `#${row.getValue(\"id\")}`,\n      size: 2,\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"User\" />,\n      accessorKey: \"user\",\n      size: 2000,\n      cell: ({ row }) => {\n        const value = row.original.user;\n        return (\n          <div id={value.discordId}>\n            <Tooltip content={`Discord ID: ${value.discordId}`}>\n              <Link className=\"flex w-fit items-center space-x-4\" href={showControls ? `user/${value.discordId}` : `#${value.discordId}`} passHref>\n                <Image src={`/api/user/avatar/${value.discordId}`} alt={`${value.name} avatar`} quality={95} width={36} height={36} className=\"size-9 shrink-0 rounded-full\" />\n                <span className=\"text-left font-bold\">\n                  {value.global_name || value.name}\n                  {value.discriminator !== \"0\" && <span className=\"opacity-70\">#{value.discriminator || \"0000\"}</span>}\n                </span>\n              </Link>\n            </Tooltip>\n          </div>\n        );\n      },\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"XP\" />,\n      accessorKey: \"xp\",\n      cell: ({ row }) => (\n        <Tooltip content={`Total XP: ${row.getValue(\"xp\")}`}>\n          <span className=\"cursor-help\">{formatNumber(row.getValue(\"xp\"))} XP</span>\n        </Tooltip>\n      ),\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Level\" />,\n      accessorKey: \"level\",\n    },\n    ...(showControls\n      ? [\n          {\n            header: \"Actions\",\n            cell: ({ row }: { row: { original: LeaderboardData } }) => (\n              <Link className={cn(buttonVariants({ variant: \"secondary\" }), \"w-fit\")} href={`user/${row.original.user?.discordId}`}>\n                <UserIcon className={iconVariants({ variant: \"button\" })} />\n                View profile\n              </Link>\n            ),\n          },\n        ]\n      : []),\n  ];\n\n  return <Table columns={columns} data={data} showControls={showControls} showSearch={showSearch} sortBy={[{ id: \"id\", desc: false }]} />;\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/leaderboard/loading.tsx",
    "content": "import { SparklesIcon } from \"lucide-react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <SparklesIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Leaderboard\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">View the leaderboard for your server, see who&apos;s the most active</p>\n      <Skeleton className=\"h-64 w-full\" />\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/leaderboard/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { SparklesIcon } from \"lucide-react\";\nimport { Metadata } from \"next\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { Leaderboard } from \"@/app/dashboard/[server]/leaderboard/components/Leaderboard\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata: Metadata = {\n  title: \"Leaderboard\",\n  description: \"View the leaderboard for your server.\",\n};\n\nexport default async function LeaderboardPage(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildXp: {\n        orderBy: {\n          xp: \"desc\",\n        },\n        include: {\n          user: {\n            select: {\n              discordId: true,\n              global_name: true,\n              name: true,\n              avatar: true,\n              discriminator: true,\n            },\n          },\n        },\n      },\n    },\n  });\n  const data = guild.guildXp.map((x, i) => {\n    return {\n      id: i + 1,\n      user: x.user,\n      xp: x.xp,\n      level: Math.floor(0.1 * Math.sqrt(x.xp || 0)),\n    };\n  });\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <SparklesIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Leaderboard\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">View the leaderboard for your server, see who&apos;s the most active</p>\n      <Block className=\"mt-4 flex w-full overflow-auto\">\n        {data.length > 0 ? <Leaderboard data={data} /> : <span className=\"opacity-50\">No users found. Maybe you should try talking in chat?</span>}\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/loading.tsx",
    "content": "import { GaugeIcon } from \"lucide-react\";\nimport { CategoryBar } from \"@/components/CategoryBar\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <div className=\"mb-4 flex max-h-[73px] flex-col items-center justify-normal gap-2 sm:flex-row\">\n        <Skeleton className=\"size-16 rounded-full\" />\n        <div className=\"flex flex-col text-center sm:ml-4 sm:text-left\">\n          <Skeleton className=\"h-9 w-44\" />\n          <Skeleton className=\"mt-1 h-5 w-64 opacity-60\" />\n        </div>\n      </div>\n      <div className=\"my-4 grid grid-cols-1 gap-0 md:grid-cols-1 md:gap-6 lg:grid-cols-2 xl:grid-cols-3\">\n        <div className=\"overflow-auto rounded-xl border border-neutral-800 bg-background-secondary p-4\">\n          <div className=\"flex flex-row items-center justify-between\">\n            <div className=\"flex flex-row items-center gap-3\">\n              <Icons.userAdd className={iconVariants({ variant: \"extraLarge\" })} />\n              <div className=\"flex flex-col\">\n                <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>New members</Header>\n                <p className=\"text-sm text-neutral-400\">Amount of new members that joined your server in the last 7 days.</p>\n              </div>\n            </div>\n            <div className=\"ml-2 flex min-h-10 min-w-36 flex-row items-center gap-3\" />\n          </div>\n        </div>\n\n        <div className=\"overflow-auto rounded-lg border border-neutral-800 bg-background-secondary p-4\">\n          <div className=\"flex flex-row items-center justify-between\">\n            <div className=\"flex flex-row items-center gap-3\">\n              <Icons.commentAdd className={iconVariants({ variant: \"extraLarge\" })} />\n              <div className=\"flex flex-col\">\n                <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>Messages sent</Header>\n                <p className=\"text-sm text-neutral-400\">Amount of messages that were sent in your server in the last 7 days.</p>\n              </div>\n            </div>\n            <div className=\"ml-2 flex min-h-10 min-w-36 flex-row items-center gap-3\" />\n          </div>\n        </div>\n\n        <div className=\"overflow-auto rounded-lg border border-neutral-800 bg-background-secondary p-4\">\n          <div className=\"flex flex-row items-center justify-between\">\n            <div className=\"flex flex-row items-center gap-3\">\n              <Icons.userMinus className={iconVariants({ variant: \"extraLarge\" })} />\n              <div className=\"flex flex-col\">\n                <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>Members left</Header>\n                <p className=\"text-sm text-neutral-400\">Amount of members that left your server in the last 7 days.</p>\n              </div>\n            </div>\n            <div className=\"ml-2 flex min-h-10 min-w-36 flex-row items-center gap-3\" />\n          </div>\n        </div>\n      </div>\n      <div className=\"mt-6 block gap-6 lg:flex lg:items-start\">\n        <div className=\"flex flex-col justify-start gap-6 overflow-x-scroll flex-[3_1_0]\">\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"normal\" }), \"block\")}>\n              <span className=\"flex flex-row flex-wrap items-center gap-2\">\n                <GaugeIcon className={iconVariants({ variant: \"normal\", className: \"stroke-2!\" })} />\n                <span className=\"opacity-80\">Server Score: </span>\n                <span>Calculating...</span>\n              </span>\n            </Header>\n\n            <p className=\"text-left text-base opacity-60\">We are still calculating your server score in the background, this may take a few seconds.</p>\n\n            <CategoryBar percent={0} className=\"my-4\" />\n          </Block>\n\n          <Block className=\"scrollbar-show\">\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>Leaderboard</Header>\n            <Skeleton className=\"h-64 w-full\" />\n          </Block>\n        </div>\n\n        <div className=\"mt-6 flex flex-col justify-start gap-6 flex-[2_1_0%] lg:mt-0\">\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Quick Stats\n              <span className=\"ml-auto font-medium opacity-60\">Loading...</span>\n            </Header>\n            <div className=\"flex flex-row flex-wrap gap-2\">\n              <div className=\"flex items-center\">\n                <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />\n                Loading...\n              </div>\n              <div className=\"flex items-center\">\n                <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#22a55b]\" />\n                Loading...\n              </div>\n            </div>\n          </Block>\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Emojis\n              <span className=\"ml-auto font-medium opacity-60\">Loading...</span>\n            </Header>\n            <div className=\"flex flex-row flex-wrap gap-3\">\n              {Array.from({ length: 25 }).map((_, i) => (\n                <Skeleton key={`emoji-${i}`} className=\"size-8 shrink-0 rounded-lg\" />\n              ))}\n            </div>\n          </Block>\n\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Stickers\n              <span className=\"ml-auto font-medium opacity-60\">Loading...</span>\n            </Header>\n            <div className=\"flex flex-row flex-wrap gap-3\">\n              {Array.from({ length: 10 }).map((_, i) => (\n                <Skeleton key={`sticker-${i}`} className=\"size-24 shrink-0 rounded-lg\" />\n              ))}\n            </div>\n          </Block>\n        </div>\n      </div>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/logs/components/UpdateLogs.tsx",
    "content": "\"use client\";\n\nimport { botConfig } from \"@majoexe/config\";\nimport type { GuildLogType, GuildLogsSettings } from \"@majoexe/database/types\";\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { CheckIcon, HashIcon, InfoIcon, LoaderCircleIcon, TrashIcon, TriangleAlertIcon } from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport { useNavigationGuard } from \"next-navigation-guard\";\nimport React, { useState, useEffect } from \"react\";\nimport { toast } from \"sonner\";\nimport { handleLogText } from \"./handleLogText\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\ntype UpdateLog = Pick<GuildLogsSettings, \"type\" | \"enabled\" | \"channelId\">;\n\nexport interface UpdateLogsProps extends React.ComponentProps<\"div\"> {\n  serverId: Snowflake;\n  allChannels: { id: Snowflake; name: string }[] | [];\n  logs: UpdateLog[];\n  allowedLogs: GuildLogType[];\n}\n\nexport const UpdateLogs = ({ serverId, allChannels, logs, allowedLogs }: UpdateLogsProps) => {\n  const initialLogStates = allowedLogs.map((logType: GuildLogType) => ({ type: logType, enabled: false, channelId: null as Snowflake | null }));\n  const [unsavedChanges, setUnsavedChanges] = useState(false);\n  const [logStates, setLogStates] = useState(logs.length > 0 ? logs : initialLogStates);\n  const [changedLogStates, setChangedLogStates] = useState<UpdateLog[]>([]);\n  const [loading, setLoading] = useState(false);\n  const [resetKey, setResetKey] = useState(0);\n  const router = useRouter();\n\n  /* eslint-disable-next-line no-alert */\n  useNavigationGuard({ enabled: unsavedChanges, confirm: () => window.confirm(\"You have unsaved changes. Are you sure you want to leave?\") });\n\n  useEffect(() => {\n    const hasUnsavedChanges = changedLogStates.length > 0;\n    setUnsavedChanges(hasUnsavedChanges);\n  }, [changedLogStates]);\n\n  useEffect(() => {\n    if (!unsavedChanges) {\n      router.refresh();\n    }\n  }, [unsavedChanges]);\n\n  const handleSaveAll = async () => {\n    setLoading(true);\n\n    const res = await fetch(\"/api/settings/update-logs\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        logs: changedLogStates,\n      }),\n    });\n\n    if (!res.ok) {\n      setChangedLogStates(changedLogStates);\n      setLoading(false);\n      toast.error(\"Some changes failed to save. Please try again.\");\n      setUnsavedChanges(true);\n      return;\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      const updatedLogStates = logStates.map((state) => {\n        const changed = changedLogStates.find((l) => l.type === state.type);\n        return changed ? { ...changed } : state;\n      });\n\n      const missingChanged = changedLogStates.filter((ch) => !updatedLogStates.some((s) => s.type === ch.type));\n      const finalLogStates = missingChanged.length > 0 ? [...updatedLogStates, ...missingChanged] : updatedLogStates;\n\n      setChangedLogStates([]);\n      setLogStates(finalLogStates);\n      setLoading(false);\n      setUnsavedChanges(false);\n      toast.success(\"All changes saved!\");\n    } else {\n      setChangedLogStates(changedLogStates);\n      setLoading(false);\n      toast.error(\"Some changes failed to save. Please try again.\");\n      setUnsavedChanges(true);\n    }\n  };\n\n  const handleDiscardAll = () => {\n    setChangedLogStates([]);\n    setLogStates(logs.length > 0 ? logs : initialLogStates);\n    setUnsavedChanges(false);\n    setResetKey((prevKey) => prevKey + 1);\n  };\n\n  return (\n    <>\n      <div\n        className={cn(\n          {\n            \"opacity-0 translate-y-4 scale-95\": !unsavedChanges,\n            \"opacity-100 translate-y-0 scale-100\": unsavedChanges,\n          },\n          \"lg:ml-72 md:mr-6 mx-3 fixed bottom-6 z-50 duration-200 ease-in-out left-0 right-0 origin-bottom\"\n        )}\n      >\n        <div className=\"mx-auto flex w-full max-w-3xl flex-col items-center justify-between gap-3 rounded-2xl border border-neutral-800 bg-background-secondary p-3 shadow-2xl md:flex-row\">\n          <span className=\"flex items-center gap-2 font-bold\">\n            <TriangleAlertIcon className=\"ml-2 size-6 text-red-400\" />\n            Caution - You have unsaved changes\n          </span>\n          <div className=\"flex gap-3\">\n            <Button variant=\"secondary\" onClick={handleDiscardAll} className=\"gap-2\" disabled={loading}>\n              <TrashIcon className={iconVariants({ variant: \"normal\" })} />\n              Reset\n            </Button>\n            <Button variant=\"primary\" onClick={handleSaveAll} className=\"gap-2\" disabled={loading}>\n              {loading ? (\n                <>\n                  <LoaderCircleIcon className={iconVariants({ variant: \"normal\", className: \"animate-spin\" })} /> Saving changes...\n                </>\n              ) : (\n                <>\n                  <CheckIcon className={iconVariants({ variant: \"normal\" })} />\n                  Save changes\n                </>\n              )}\n            </Button>\n          </div>\n        </div>\n      </div>\n\n      {botConfig.emojis.logs\n        .filter((category) => category.types.some((logType) => allowedLogs.includes(logType.type as GuildLogType)))\n        .map((category) => (\n          <div key={category.category}>\n            <Header className={cn(headerVariants({ variant: \"h2\" }), \"mt-6 mb-2\")}>{category.category}</Header>\n            <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-2 2xl:grid-cols-3\">\n              {category.types\n                .filter((logType) => allowedLogs.includes(logType.type as GuildLogType))\n                .map((logType) => {\n                  const log = logStates.find((log) => log.type === logType.type) || { type: logType.type, enabled: false, channelId: null };\n                  return (\n                    <UpdateLog\n                      key={`${log.type}-${resetKey}`}\n                      logType={log.type as GuildLogType}\n                      logEnabled={log.enabled}\n                      exisingChannel={log.channelId}\n                      allChannels={allChannels}\n                      onChange={(enabled, channelId) => {\n                        const initialLog = logs.find((l) => l.type === logType.type) || { type: logType.type, enabled: false, channelId: null };\n                        const newLogStates = logStates.map((log) => (log.type === logType.type ? { ...log, enabled, channelId } : log));\n                        const newChangedLogStates = changedLogStates.filter((log) => log.type !== logType.type);\n\n                        if (initialLog.enabled !== enabled || initialLog.channelId !== channelId) {\n                          const changedLog = { type: logType.type, enabled, channelId } as UpdateLog;\n                          newChangedLogStates.push(changedLog);\n                        }\n\n                        setChangedLogStates(newChangedLogStates);\n                        setLogStates(newLogStates);\n                      }}\n                      disabled={loading}\n                    />\n                  );\n                })}\n            </div>\n          </div>\n        ))}\n    </>\n  );\n};\n\nexport interface UpdateLogProps extends Omit<React.ComponentProps<typeof Block>, \"onChange\"> {\n  logType: GuildLogType;\n  logEnabled: boolean;\n  exisingChannel: Snowflake | null;\n  allChannels: { id: Snowflake; name: string }[];\n  onChange: (enabled: boolean, channelId: Snowflake | null) => void;\n  disabled: boolean;\n}\n\nexport const UpdateLog = ({ allChannels, exisingChannel, logType, logEnabled, onChange, disabled, ...props }: UpdateLogProps) => {\n  const [enabled, setEnabled] = useState(logEnabled);\n  const [messageChannel, setMessageChannel] = useState<Snowflake | null>(exisingChannel);\n\n  useEffect(() => {\n    onChange(enabled, messageChannel);\n  }, [enabled, messageChannel]);\n\n  return (\n    <Block key={logType} {...props}>\n      <div className=\"mb-1 flex items-center gap-3\">\n        <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n          {botConfig.emojis.logs.flatMap((category) => category.types).find((log) => log.type === logType)?.emoji || \"❔\"} {handleLogText(logType)}\n        </Header>\n      </div>\n      <p className=\"mb-2\">\n        {botConfig.emojis.logs.flatMap((category) => category.types).find((log) => log.type === logType)?.description ||\n          `Enable or disable the ${handleLogText(logType).toLowerCase()} event logging.`}\n      </p>\n      <hr className=\"my-4 border-neutral-800\" />\n      <div className=\"my-4 flex flex-row flex-wrap gap-2\">\n        <Tooltip content={`${enabled ? \"Disable\" : \"Enable\"} ${handleLogText(logType).toLowerCase()} event logging.`}>\n          <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n            <CheckIcon className={iconVariants({ variant: \"normal\" })} />\n            Enabled:\n          </span>\n        </Tooltip>\n        <Switch checked={enabled} onCheckedChange={() => setEnabled(!enabled)} disabled={disabled} />\n      </div>\n      <div className=\"flex items-end justify-between gap-3\">\n        <div>\n          <span className=\"flex items-center gap-2 font-bold\">\n            <HashIcon className={iconVariants({ variant: \"normal\" })} />\n            Channel:\n          </span>\n          <p className=\"mb-2 text-sm text-neutral-500\">Select the channel where the logs will be sent.</p>\n          <ChannelsSelect\n            allChannels={allChannels}\n            selectedChannels={messageChannel ? [messageChannel] : []}\n            setChannels={(channels) => setMessageChannel(channels[0] || null)}\n            multiple={false}\n          />\n        </div>\n      </div>\n\n      <div\n        className={cn(\"mt-4 flex flex-row flex-wrap items-center whitespace-nowrap rounded-lg duration-200 border border-red-400 bg-red-400/10\", {\n          \"max-h-0 opacity-0 p-0\": !(enabled && !messageChannel),\n          \"max-h-[500px] opacity-100 p-4\": enabled && !messageChannel,\n        })}\n      >\n        <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-red-400 mr-1\" })} />\n        <span className=\"whitespace-normal\">Please select a channel to enable logging.</span>\n      </div>\n    </Block>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/logs/components/handleLogText.ts",
    "content": "import type { GuildLogType } from \"@majoexe/database/types\";\nimport { capitalize, splitCamelCase } from \"@majoexe/util/functions/util\";\n\nexport function handleLogText(log: GuildLogType, toUpperCase = true): string {\n  let transformedLog = splitCamelCase(log).toLowerCase();\n  if (transformedLog.startsWith(\"guild\")) transformedLog = transformedLog.slice(6);\n\n  return toUpperCase ? capitalize(transformedLog) : transformedLog;\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/logs/loading.tsx",
    "content": "import { ScrollTextIcon } from \"lucide-react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <ScrollTextIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Logs\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Manage the actions that Majo.exe can watch and log in selected channels.</p>\n\n      {Array.from({ length: 8 }).map((_, i) => (\n        <div key={i}>\n          <Skeleton className=\"mb-2 mt-6 h-8 w-32\" />\n\n          <div className=\"grid grid-cols-1 gap-6 lg:grid-cols-2 2xl:grid-cols-3\">\n            <Skeleton className=\"h-[289px]\" />\n            <Skeleton className=\"h-[289px]\" />\n            {i % 2 === 0 && <Skeleton className=\"h-[289px]\" />}\n          </div>\n        </div>\n      ))}\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/logs/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { ExcludedEvents } from \"@majoexe/util/database\";\nimport { getGuildFromMemberGuilds, getGuild, getGuildChannels } from \"@majoexe/util/functions/guild\";\nimport { ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { ScrollTextIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { UpdateLogs } from \"./components/UpdateLogs\";\nimport { ErrorBlock } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Logs\",\n  description: \"All the logs of the different actions that have been happening on your dashboard.\",\n};\n\nexport const dynamic = \"force-dynamic\";\n\nexport default async function LogsPage(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildLogsSettings: {\n        select: {\n          type: true,\n          enabled: true,\n          channelId: true,\n        },\n      },\n    },\n  });\n\n  const channels = await getGuildChannels(serverDownload.id, [ChannelType.GuildText]);\n  if (!channels) return <ErrorBlock title=\"Could not fetch channels\" description=\"Please try again later or contact support if the issue persists.\" />;\n\n  const allChannels = channels\n    .map((channel) => {\n      return {\n        id: channel.id,\n        name: channel.name,\n      };\n    })\n    .filter(Boolean);\n\n  const allowedEvents = Object.keys(GuildLogType).filter((x) => !ExcludedEvents.includes(x as GuildLogType)) as GuildLogType[];\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <ScrollTextIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Logs\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Manage the actions that Majo.exe can watch and log in selected channels.</p>\n      <UpdateLogs allowedLogs={allowedEvents} allChannels={allChannels} serverId={serverDownload.id} logs={guild.guildLogsSettings} />\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/messages/components/ChangeCustomMessages.tsx",
    "content": "\"use client\";\n\nimport { globalConfig } from \"@majoexe/config\";\nimport { toHTML } from \"@odiffey/discord-markdown\";\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { CheckIcon, HashIcon, InfoIcon, LoaderCircleIcon, TextIcon, TypeIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChannelsSelect } from \"@/components/ui/ChannelsSelect\";\nimport { EmbedTitle, Embed, EmbedDescription, EmbedImage } from \"@/components/ui/Embed\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Input, Textarea } from \"@/components/ui/Input\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface ChangeCustomMessagesProps extends React.ComponentPropsWithRef<\"div\"> {\n  serverId: string;\n  enabled: boolean;\n  title: string;\n  description: string;\n  existingChannel: string | null;\n  allChannels: { id: Snowflake; name: string }[];\n  type: \"welcome\" | \"leave\";\n  defaultMessages: { title: string; description: string };\n  replacedData: { user: string; guild: string };\n}\n\nexport const ChangeCustomMessages = ({\n  ref,\n  serverId,\n  enabled,\n  title,\n  description,\n  existingChannel,\n  allChannels,\n  type,\n  defaultMessages,\n  replacedData,\n  className,\n  ...props\n}: ChangeCustomMessagesProps) => {\n  const [isEnabled, setIsEnabled] = useState(enabled ?? false);\n  const [loading, setLoading] = useState(false);\n  const [newTitle, setNewTitle] = useState(title);\n  const [newDescription, setNewDescription] = useState(description);\n  const [messageChannel, setMessageChannel] = useState(existingChannel);\n\n  const save = async (change = true) => {\n    setLoading(true);\n    if (change) setIsEnabled(!isEnabled);\n    const loading = toast.loading(`Turning ${isEnabled ? \"on\" : \"off\"} ${type} messages...`);\n\n    const res = await fetch(`/api/settings/messages/${type}`, {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        enabled: change ? !isEnabled : isEnabled,\n        title: newTitle,\n        description: newDescription,\n        channel: messageChannel,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      if (change) setIsEnabled(isEnabled);\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message, {\n        id: loading,\n      });\n    }\n\n    if (change) setIsEnabled(isEnabled);\n    return toast.error(json.error ?? \"Something went wrong\", {\n      id: loading,\n    });\n  };\n\n  if (!allChannels) return null;\n\n  return (\n    <div className={className} ref={ref} {...props}>\n      {type === \"welcome\" ? (\n        <>\n          <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n            <Icons.userAdd className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n            Welcome messages\n          </Header>\n          <p className=\"mb-4 text-left\">Send a welcome message to new members when they join your server.</p>\n        </>\n      ) : (\n        <>\n          <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n            <Icons.userMinus className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n            Leave messages\n          </Header>\n          <p className=\"mb-4 text-left\">Send a leave message to a channel when a user leaves the server.</p>\n        </>\n      )}\n      <div\n        className={cn({\n          \"pointer-events-none cursor-wait opacity-50\": loading,\n        })}\n      >\n        <div className=\"my-4 flex flex-row flex-wrap gap-2\">\n          <Tooltip content=\"Enable or disable welcome messages.\">\n            <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n              <CheckIcon className={iconVariants({ variant: \"normal\" })} />\n              Enabled:\n            </span>\n          </Tooltip>\n          <Switch checked={isEnabled} onCheckedChange={() => setIsEnabled(!isEnabled)} disabled={loading} />\n        </div>\n\n        <div\n          className={cn(\n            {\n              \"max-h-0 opacity-0\": isEnabled,\n              \"max-h-[500px] opacity-100\": !isEnabled,\n            },\n            \"transition-all duration-200 ease-in-out\"\n          )}\n        >\n          <div className=\"my-4 flex flex-row flex-wrap items-start overflow-hidden whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4 duration-200 will-change-transform\">\n            <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n              <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n              Note:\n            </span>\n            <span className=\"whitespace-normal\">You have to enable this message to configure it.</span>\n          </div>\n        </div>\n\n        <Block\n          className={cn(\n            {\n              \"pointer-events-none cursor-not-allowed opacity-50\": !isEnabled && !loading,\n              \"pointer-events-none opacity-50\": loading,\n              \"cursor-default opacity-100\": isEnabled,\n            },\n            \"border-0 p-0 duration-200 md:border md:border-neutral-800 md:p-6\"\n          )}\n        >\n          <div className=\"flex flex-col gap-3 xl:flex-row xl:gap-8\">\n            <div className=\"w-full\">\n              <div className=\"mb-2 flex w-fit flex-col flex-wrap gap-2\">\n                <Tooltip content=\"Where should the welcome message be sent?\">\n                  <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n                    <HashIcon className={iconVariants({ variant: \"normal\" })} />\n                    Channel:\n                  </span>\n                </Tooltip>\n                <ChannelsSelect // prettier\n                  allChannels={allChannels}\n                  selectedChannels={messageChannel ? [messageChannel] : []}\n                  setChannels={(value) => setMessageChannel(value[0] || null)}\n                  multiple={false}\n                />\n              </div>\n\n              <div\n                className={cn(\n                  {\n                    \"max-h-0 opacity-0\": messageChannel,\n                    \"max-h-[500px] opacity-100\": !messageChannel,\n                  },\n                  \"transition-all duration-200 ease-in-out\"\n                )}\n              >\n                <div className=\"my-4 flex w-fit flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-orange-400 bg-orange-400/10 p-4\">\n                  <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold leading-none\">\n                    <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1 stroke-orange-400\" })} />\n                    Warning:\n                  </span>\n                  <span className=\"whitespace-normal\">You must select a channel to send {type} messages to.</span>\n                </div>\n              </div>\n\n              <div className=\"my-2 flex flex-col flex-wrap gap-2\">\n                <Tooltip content=\"The title of the welcome message.\">\n                  <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n                    <TypeIcon className={iconVariants({ variant: \"normal\" })} />\n                    Title:\n                  </span>\n                </Tooltip>\n                <Input\n                  type=\"text\"\n                  value={newTitle}\n                  onChange={(e) => setNewTitle(e.target.value)}\n                  disabled={!isEnabled || loading || !messageChannel}\n                  placeholder={defaultMessages.title}\n                  className=\"max-w-96! font-normal\"\n                />\n              </div>\n\n              <div className=\"my-2 flex flex-col flex-wrap gap-2\">\n                <Tooltip content=\"The description of the welcome message.\">\n                  <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n                    <TextIcon className={iconVariants({ variant: \"normal\" })} />\n                    Description:\n                  </span>\n                </Tooltip>\n                <Textarea\n                  value={newDescription}\n                  onChange={(e) => setNewDescription(e.target.value)}\n                  disabled={!isEnabled || loading || !messageChannel}\n                  placeholder={defaultMessages.description}\n                  className=\"max-w-96! font-normal\"\n                />\n              </div>\n\n              <div className=\"my-4 w-fit whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n                <div className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n                  <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n                  Note:\n                </div>\n                <div className=\"mt-1 whitespace-normal\">\n                  <p>Discord markdown is supported.</p>\n                  <p className=\"leading-none\">\n                    Use <code>{\"{user}\"}</code> to mention the user and <code>{\"{guild}\"}</code> to display the server name.\n                  </p>\n                </div>\n              </div>\n            </div>\n            <div className=\"w-full\">\n              {/* <span className=\"flex w-full items-center gap-2 font-bold\">\n        <Icons.viewing className={iconVariants({ variant: \"normal\" })} />\n        Embed preview:\n       </span> */}\n              <Embed color={globalConfig.defaultColor}>\n                <EmbedTitle>{(newTitle || defaultMessages.title).replaceAll(/{user}/g, replacedData.user).replaceAll(/{guild}/g, replacedData.guild)}</EmbedTitle>\n                <EmbedDescription\n                  dangerouslySetInnerHTML={{\n                    __html: toHTML(\n                      (newDescription?.trim() || defaultMessages.description).replaceAll(/{user}/g, replacedData.user).replaceAll(/{guild}/g, replacedData.guild || \"\")\n                    ),\n                  }}\n                />\n                <EmbedImage alt=\"Majo.exe logo\" />\n              </Embed>\n            </div>\n          </div>\n        </Block>\n        <Button variant=\"primary\" className=\"mt-4\" onClick={() => save(false)} disabled={!messageChannel || loading}>\n          {loading ? (\n            <>\n              <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n              Saving...\n            </>\n          ) : (\n            <>\n              <CheckIcon className={iconVariants({ variant: \"button\" })} />\n              Save\n            </>\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/messages/loading.tsx",
    "content": "import { CheckIcon, HandIcon } from \"lucide-react\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <HandIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Welcome & Leave\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Customize the messages that are sent to your server members.</p>\n\n      <Block className=\"mt-4 overflow-x-visible!\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <Icons.userAdd className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Welcome messages\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Send a welcome message to new members when they join your server.</span>\n        </p>\n\n        <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n          <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n            <CheckIcon className={iconVariants({ variant: \"normal\" })} />\n            Enabled:\n          </span>\n          <Skeleton className=\"h-[30px] w-12\" />\n        </div>\n        <Skeleton className=\"h-96 w-full\" />\n        <Button variant=\"primary\" className=\"mt-4\" disabled>\n          <CheckIcon className={iconVariants({ variant: \"button\" })} />\n          Save\n        </Button>\n      </Block>\n\n      <Block className=\"mt-6 overflow-x-visible!\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <Icons.userMinus className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Leave messages\n        </Header>\n        <p className=\"mb-4 text-left\">\n          <span>Send a leave message to a channel when a user leaves the server.</span>\n        </p>\n\n        <div className=\"my-2 flex flex-row flex-wrap gap-2\">\n          <span className=\"flex w-fit cursor-help items-center gap-2 font-bold\">\n            <CheckIcon className={iconVariants({ variant: \"normal\" })} />\n            Enabled:\n          </span>\n          <Skeleton className=\"h-[30px] w-12\" />\n        </div>\n        <Skeleton className=\"h-96 w-full\" />\n        <Button variant=\"primary\" className=\"mt-4\" disabled>\n          <CheckIcon className={iconVariants({ variant: \"button\" })} />\n          Save\n        </Button>\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/messages/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildChannels, getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { ChannelType } from \"discord-api-types/v10\";\nimport { getSession } from \"lib/session\";\nimport { HandIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { ChangeCustomMessages } from \"@/app/dashboard/[server]/messages/components/ChangeCustomMessages\";\nimport { Block, ErrorBlock } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Welcome & Leave\",\n  description: \"Customize the messages that are sent to your server members.\",\n};\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildWelcomeMessage: true,\n      guildLeaveMessage: true,\n    },\n  });\n\n  if (!guild) return <ErrorBlock title=\"Could not fetch guild\" description=\"Please try again later or contact support if the issue persists.\" />;\n\n  const channels = await getGuildChannels(serverDownload.id, [ChannelType.GuildText]);\n  if (!channels) return <ErrorBlock title=\"Could not fetch channels\" description=\"Please try again later or contact support if the issue persists.\" />;\n\n  const allChannels = channels\n    .map((channel) => {\n      return {\n        id: channel.id,\n        name: channel.name,\n      };\n    })\n    .filter(Boolean);\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <HandIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Welcome & leave\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Customize the messages that are sent to your server members.</p>\n\n      <Block className=\"mt-4 overflow-x-visible!\">\n        <ChangeCustomMessages\n          type=\"welcome\"\n          serverId={serverDownload.id}\n          enabled={guild.guildWelcomeMessage ? true : false}\n          title={guild.guildWelcomeMessage?.title || \"🎉 Welcome to the server {user}!\"}\n          description={guild.guildWelcomeMessage?.description || \"> Welcome to **{guild}** We hope you enjoy your stay here!\"}\n          defaultMessages={{\n            title: \"🎉 Welcome to the server {user}!\",\n            description: \"> Welcome to **{guild}** We hope you enjoy your stay here!\",\n          }}\n          existingChannel={guild.guildWelcomeMessage?.channelId || null}\n          allChannels={allChannels}\n          replacedData={{\n            user: session.global_name || serverMember.name,\n            guild: serverDownload.name,\n          }}\n        />\n      </Block>\n\n      <Block className=\"mt-6 overflow-x-visible!\">\n        <ChangeCustomMessages\n          type=\"leave\"\n          serverId={serverDownload.id}\n          enabled={guild.guildLeaveMessage ? true : false}\n          title={guild.guildLeaveMessage?.title || \"👋 Goodbye {user}!\"}\n          description={guild.guildLeaveMessage?.description || \"> We're sorry to see you go!\"}\n          defaultMessages={{\n            title: \"👋 Goodbye {user}!\",\n            description: \"> We're sorry to see you go!\",\n          }}\n          existingChannel={guild.guildLeaveMessage?.channelId || null}\n          allChannels={allChannels}\n          replacedData={{\n            user: session.global_name || serverMember.name,\n            guild: serverDownload.name,\n          }}\n        />\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/modules/loading.tsx",
    "content": "import { BlocksIcon, PackagePlusIcon, SquareSlashIcon } from \"lucide-react\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <PackagePlusIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Modules\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Choose which modules you want to be enabled on your server.</p>\n\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <BlocksIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Categories\n        </Header>\n        <p className=\"mb-4 mt-2 text-left\">Enable or disable categories of commands.</p>\n\n        <div className=\"flex flex-wrap items-stretch justify-start gap-6\">\n          {Array.from({ length: 8 }).map((_, i) => (\n            <Skeleton\n              key={`category-keleton-${i}`}\n              style={{\n                width: `${Math.floor(Math.random() * (500 - 200 + 1) + 200)}px !important`,\n              }}\n              className=\"h-44 min-w-[400px] max-w-none!\"\n            />\n          ))}\n        </div>\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <SquareSlashIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Commands\n        </Header>\n        <p className=\"mb-4 mt-2 text-left\">Enable or disable commands.</p>\n\n        <div className=\"flex flex-wrap items-stretch justify-start gap-6\">\n          {Array.from({ length: 8 }).map((_, i) => (\n            <Skeleton key={`command-skeleton-${i}`} className=\"h-24 w-full\" />\n          ))}\n        </div>\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/modules/page.tsx",
    "content": "import { botConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { BlocksIcon, InfoIcon, PackagePlusIcon, SquareSlashIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { UpdateCategories } from \"@/components/client/commands/UpdateCategories\";\nimport { UpdateCommands } from \"@/components/client/commands/UpdateCommands\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { Command } from \"@/lib/types\";\nimport { cn } from \"@/lib/utils\";\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildDisabledCategories: true,\n      guildDisabledCommands: true,\n    },\n  });\n\n  const categories = (await prismaClient.commandCategories.findMany({\n    select: {\n      name: true,\n      commands: {\n        select: {\n          name: true,\n          description: true,\n          options: true,\n          categoryName: true,\n        },\n      },\n    },\n  })) as unknown as { name: string; commands: Command[] }[];\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <PackagePlusIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Modules\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Choose which modules you want to be enabled on your server.</p>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <BlocksIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Categories\n        </Header>\n        <p className=\"mb-4 mt-2 text-left\">Enable or disable categories of commands.</p>\n\n        <div className=\"flex flex-wrap items-stretch justify-start gap-6\">\n          {categories.map((category) => (\n            <Block className=\"w-full min-w-48 md:w-auto\" key={category.name}>\n              <p className=\"mb-4 flex items-center gap-3 text-center text-xl font-bold\">\n                {botConfig.emojis.categories.find((cat) => cat.name === category.name.toLowerCase())?.emoji || \"❔\"} {category.name}\n                <span className=\"ml-auto mr-0\">\n                  <UpdateCategories\n                    serverId={serverDownload.id}\n                    categoryName={category.name}\n                    categoryEnabled={!guild.guildDisabledCategories.some((cat) => cat.categoryName === category.name)}\n                  />\n                </span>\n              </p>\n              {category.commands.slice(0, 6).map((command) => (\n                <code className=\"ml-2\" key={command.name}>\n                  /{command.name}\n                </code>\n              ))}\n\n              {category.commands.length > 6 && <p className=\"mb-4 mt-2 text-left opacity-60\">...and {category.commands.length - 6} more commands</p>}\n            </Block>\n          ))}\n        </div>\n      </Block>\n\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <SquareSlashIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Commands\n        </Header>\n        <p className=\"mb-4 mt-2 text-left\">Enable or disable commands.</p>\n\n        {categories.map((category) => (\n          <div key={category.name}>\n            <Header className={cn(headerVariants({ variant: \"h3\", margin: \"normal\" }), \"mt-8\")}>\n              {botConfig.emojis.categories.find((cat) => cat.name === category.name.toLowerCase())?.emoji || \"❔\"} {category.name} ({category.commands.length} commands)\n            </Header>\n\n            {guild.guildDisabledCategories.some((cat) => cat.categoryName === category.name) && (\n              <div className=\"my-4 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n                <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n                  <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} /> Note:\n                </span>\n                <span className=\"whitespace-normal\">You have to enable this category to change status of individual commands in it!</span>\n              </div>\n            )}\n            <div\n              className={cn(\n                {\n                  \"pointer-events-none cursor-not-allowed opacity-30\": guild.guildDisabledCategories.some((cat) => cat.categoryName === category.name),\n                },\n                \"flex flex-col items-stretch justify-start\"\n              )}\n            >\n              {category.commands.map((command) => (\n                <div key={command.name} className=\"hide-scrollbar my-3 w-full overflow-scroll rounded-lg border border-neutral-800 bg-background-navbar px-6 py-4\">\n                  <div className=\"flex flex-row items-center justify-between\">\n                    <div\n                      className={cn(\n                        {\n                          \"cursor-not-allowed opacity-70\": guild.guildDisabledCommands.some((com) => com.commandName.toLowerCase() === command.name.toLowerCase()),\n                        },\n                        \"flex flex-col items-start gap-2\"\n                      )}\n                    >\n                      <div className=\"flex flex-wrap items-center gap-2 font-bold\">\n                        /{command.name}{\" \"}\n                        {command.options &&\n                          command.options.map((option) => (\n                            <span\n                              key={option.name}\n                              className={cn(\n                                {\n                                  \"font-normal! opacity-70\": !option.required,\n                                  \"opacity-100\": option.required,\n                                },\n                                \"leading-[normal]\"\n                              )}\n                            >\n                              <Tooltip content={`${option.description} ${option.required ? \"(required)\" : \"(optional)\"}`}>\n                                <code className=\"cursor-pointer\">\n                                  {option.name}\n                                  {option.required ? <span className=\"text-red-400\">*</span> : \"\"}\n                                </code>\n                              </Tooltip>\n                            </span>\n                          ))}\n                      </div>\n                      <p className=\"opacity-70\">{command.description}</p>\n                    </div>\n                    <UpdateCommands\n                      serverId={serverDownload.id}\n                      commandName={command.name}\n                      commandEnabled={!guild.guildDisabledCommands.some((com) => com.commandName.toLowerCase() === command.name.toLowerCase())}\n                    />\n                  </div>\n                </div>\n              ))}\n            </div>\n          </div>\n        ))}\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuild, getGuildPreview, getGuildFromMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { fillMissingDates, sumArray } from \"@majoexe/util/functions/util\";\nimport { getSession } from \"lib/session\";\nimport { ExternalLinkIcon, GaugeIcon, LightbulbIcon, MinusIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { Leaderboard } from \"@/app/dashboard/[server]/leaderboard/components/Leaderboard\";\nimport { CategoryBar } from \"@/components/CategoryBar\";\nimport { Block } from \"@/components/ui/Block\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { SparkLineChart } from \"@/components/ui/SparkChart\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Server Overview\",\n  description: \"View the overview of your server.\",\n};\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n  const guildPreview = await getGuildPreview(serverDownload.id);\n  if (!guildPreview) return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildXp: {\n        orderBy: {\n          xp: \"desc\",\n        },\n        take: 5,\n        include: {\n          user: {\n            select: {\n              discordId: true,\n              global_name: true,\n              name: true,\n              avatar: true,\n              discriminator: true,\n            },\n          },\n        },\n      },\n      autoMod: true,\n      guildJoin: {\n        where: {\n          date: {\n            gte: new Date(new Date().getTime() - 60 * 60 * 24 * 7 * 1000),\n          },\n        },\n      },\n      guildLeave: {\n        where: {\n          date: {\n            gte: new Date(new Date().getTime() - 60 * 60 * 24 * 7 * 1000),\n          },\n        },\n      },\n      guildMessage: {\n        where: {\n          date: {\n            gte: new Date(new Date().getTime() - 60 * 60 * 24 * 7 * 1000),\n          },\n        },\n      },\n    },\n  });\n\n  const data =\n    guild.guildXp?.map((x, i) => {\n      return {\n        id: i + 1,\n        user: x.user,\n        xp: x.xp,\n        level: Math.floor(0.1 * Math.sqrt(x.xp || 0)),\n      };\n    }) || [];\n\n  let guildScore = 0;\n\n  if (guild.autoMod && guild.autoMod.length > 0) guildScore += 25;\n  if (guild.enableXP) guildScore += 25;\n  if (guild.publicPage) guildScore += 25;\n  if (guild.vanity) guildScore += 25;\n\n  const mapGuildData = (data: any[], key: string) =>\n    data.map((item) => ({\n      date: item.date.toISOString().split(\"T\")[0],\n      [key]: item[key.toLowerCase()],\n    }));\n\n  const guildJoin = mapGuildData(guild.guildJoin, \"Joins\");\n  const guildLeave = mapGuildData(guild.guildLeave, \"Leaves\");\n  const guildMessage = mapGuildData(guild.guildMessage, \"Messages\");\n\n  const guildJoinData = fillMissingDates(guildJoin, \"Joins\");\n  const guildLeaveData = fillMissingDates(guildLeave, \"Leaves\");\n  const guildMessageData = fillMissingDates(guildMessage, \"Messages\");\n\n  const newMembers = sumArray(guildJoin, \"Joins\");\n  const membersLeft = sumArray(guildLeave, \"Leaves\");\n  const newMessages = sumArray(guildMessage, \"Messages\");\n\n  return (\n    <>\n      <div className=\"mb-4 flex flex-col items-center justify-normal gap-2 sm:flex-row\">\n        {guildPreview.icon ? (\n          <Image\n            src={`https://cdn.discordapp.com/icons/${guildPreview.id}/${guildPreview.icon}.${guildPreview.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n            alt={guildPreview.name}\n            quality={95}\n            width={64}\n            height={64}\n            className=\"size-16 shrink-0 rounded-full\"\n          />\n        ) : (\n          <div className=\"size-16 shrink-0 rounded-full bg-button-secondary\" />\n        )}\n        <div className=\"flex flex-col justify-center text-center sm:ml-4 sm:justify-start sm:text-left\">\n          <Header className={cn(headerVariants({ variant: \"h1\" }))}>{guildPreview.name || \"Unnamed server\"}</Header>\n          <p className=\"text-center text-base opacity-60 sm:text-left md:text-xl\">{guildPreview.description || \"This server has no description, maybe you should add one?\"}</p>\n        </div>\n      </div>\n\n      <div className=\"my-4 grid grid-cols-1 gap-0 md:grid-cols-1 md:gap-6 lg:grid-cols-2 xl:grid-cols-3\">\n        <Link href={`/dashboard/${serverDownload.id}/statistics`} className=\"cursor-pointer overflow-auto rounded-xl border border-neutral-800 bg-background-secondary p-4\">\n          <div className=\"flex flex-row items-center justify-between\">\n            <div className=\"flex flex-row items-center gap-3\">\n              <Icons.userAdd className={iconVariants({ variant: \"extraLarge\" })} />\n              <div className=\"flex flex-col\">\n                <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>\n                  New members\n                  <span className=\"rounded-md bg-accent-primary px-2 text-sm font-normal text-white\">+{newMembers}</span>\n                </Header>\n                <p className=\"text-sm text-neutral-400 \">Amount of new members that joined your server in the last 7 days.</p>\n              </div>\n            </div>\n            <div className=\"ml-2 flex flex-row items-center gap-3\">\n              <SparkLineChart data={guildJoinData} categories={[\"Joins\"]} index=\"date\" />\n            </div>\n          </div>\n        </Link>\n\n        <Link href={`/dashboard/${serverDownload.id}/statistics`} className=\"cursor-pointer overflow-auto rounded-xl border border-neutral-800 bg-background-secondary p-4\">\n          <div className=\"flex flex-row items-center justify-between\">\n            <div className=\"flex flex-row items-center gap-3\">\n              <Icons.commentAdd className={iconVariants({ variant: \"extraLarge\" })} />\n              <div className=\"flex flex-col\">\n                <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>\n                  Messages sent\n                  <span className=\"rounded-md bg-accent-primary px-2 text-sm font-normal text-white\">+{newMessages}</span>\n                </Header>\n                <p className=\"text-sm text-neutral-400 \">Amount of messages that were sent in your server in the last 7 days.</p>\n              </div>\n            </div>\n            <div className=\"ml-2 flex flex-row items-center gap-3\">\n              <SparkLineChart data={guildMessageData} categories={[\"Messages\"]} index=\"date\" />\n            </div>\n          </div>\n        </Link>\n\n        <Link href={`/dashboard/${serverDownload.id}/statistics`} className=\"cursor-pointer overflow-auto rounded-xl border border-neutral-800 bg-background-secondary p-4\">\n          <div className=\"flex flex-row items-center justify-between\">\n            <div className=\"flex flex-row items-center gap-3\">\n              <Icons.userMinus className={iconVariants({ variant: \"extraLarge\" })} />\n              <div className=\"flex flex-col\">\n                <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>\n                  Members left\n                  <span className=\"rounded-md bg-accent-primary px-2 text-sm font-normal text-white\">-{membersLeft}</span>\n                </Header>\n                <p className=\"text-sm text-neutral-400 \">Amount of members that left your server in the last 7 days.</p>\n              </div>\n            </div>\n            <div className=\"ml-2 flex flex-row items-center gap-3\">\n              <SparkLineChart data={guildLeaveData} categories={[\"Leaves\"]} index=\"date\" />\n            </div>\n          </div>\n        </Link>\n      </div>\n\n      <div className=\"mt-6 block gap-6 lg:flex lg:items-start\">\n        <div className=\"flex flex-col justify-start gap-6 overflow-x-scroll flex-[3_1_0]\">\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"normal\" }), \"block\")}>\n              <span className=\"flex flex-row flex-wrap items-center gap-2\">\n                <GaugeIcon className={iconVariants({ variant: \"normal\", className: \"stroke-2!\" })} />\n                <span className=\"opacity-80\">Server Score: </span>\n                <span\n                  className={cn({\n                    \"text-rose-500\": guildScore <= 10,\n                    \"text-orange-500\": guildScore > 10 && guildScore <= 30,\n                    \"text-yellow-500\": guildScore > 30 && guildScore <= 60,\n                    \"text-emerald-500\": guildScore > 60,\n                  })}\n                >\n                  {guildScore}% (\n                  {guildScore <= 10\n                    ? \"Bad\"\n                    : guildScore > 10 && guildScore <= 30\n                      ? \"Okay\"\n                      : guildScore > 30 && guildScore <= 60\n                        ? \"Good\"\n                        : guildScore > 60 && guildScore <= 90\n                          ? \"Great\"\n                          : guildScore > 90\n                            ? \"Perfect!\"\n                            : \"Unknown\"}\n                  )\n                </span>\n              </span>\n            </Header>\n\n            {guildScore !== 100 ? (\n              <p className=\"text-left text-base opacity-60\">Your server score is not 100%, this means that you are missing some features that could be useful for your server.</p>\n            ) : (\n              <p className=\"text-left text-base opacity-60\">Your server score is 100%, this means that you have all the features that could be useful to your server! Good job!</p>\n            )}\n\n            <CategoryBar percent={guildScore} className=\"my-4\" />\n\n            {guildScore !== 100 && (\n              <>\n                <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal pt-4 opacity-80\")}>\n                  <LightbulbIcon className={iconVariants({ variant: \"normal\", className: \"stroke-2!\" })} />\n                  Ways to improve your score:\n                </Header>\n                <div className=\"mt-2 space-y-1\">\n                  {(!guild.autoMod || guild.autoMod.length === 0) && (\n                    <div>\n                      <span className=\"gap-1 font-bold\">\n                        <MinusIcon className={iconVariants({ variant: \"normal\", className: \"mr-1 inline stroke-2!\" })} />\n                        Enable AutoMod:\n                      </span>{\" \"}\n                      <span className=\"font-normal text-neutral-400\">\n                        Enable AutoMod to protect your server from spam and other malicious content.{\" \"}\n                        <Link href={`/dashboard/${server}/automod`} className=\"text-accent-primary\">\n                          Enable (+25% score)\n                        </Link>\n                      </span>\n                    </div>\n                  )}\n                  {!guild.enableXP && (\n                    <div>\n                      <span className=\"gap-1 font-bold\">\n                        <MinusIcon className={iconVariants({ variant: \"normal\", className: \"mr-1 inline stroke-2!\" })} />\n                        Enable XP:\n                      </span>{\" \"}\n                      <span className=\"font-normal text-neutral-400\">\n                        Enable XP to give your users a reason to chat.{\" \"}\n                        <Link href={`/dashboard/${server}/settings`} className=\"text-accent-primary\">\n                          Enable (+25% score)\n                        </Link>\n                      </span>\n                    </div>\n                  )}\n                  {!guild.publicPage && (\n                    <div>\n                      <span className=\"gap-1 font-bold\">\n                        <MinusIcon className={iconVariants({ variant: \"normal\", className: \"mr-1 inline stroke-2!\" })} />\n                        Enable Public Page:\n                      </span>{\" \"}\n                      <span className=\"font-normal text-neutral-400\">\n                        Enable Public Page to show your server on the server list.{\" \"}\n                        <Link href={`/dashboard/${server}/settings`} className=\"text-accent-primary\">\n                          Enable (+25% score)\n                        </Link>\n                      </span>\n                    </div>\n                  )}\n                  {!guild.vanity && (\n                    <div>\n                      <span className=\"gap-1 font-bold\">\n                        <MinusIcon className={iconVariants({ variant: \"normal\", className: \"mr-1 inline stroke-2!\" })} />\n                        Set Vanity URL:\n                      </span>{\" \"}\n                      <span className=\"font-normal text-neutral-400\">\n                        Set Vanity URL to give your server a custom URL.{\" \"}\n                        <Link href={`/dashboard/${server}/settings`} className=\"text-accent-primary\">\n                          Enable (+25% score)\n                        </Link>\n                      </span>\n                    </div>\n                  )}\n                </div>\n              </>\n            )}\n          </Block>\n\n          <Block className=\"scrollbar-show\">\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>Leaderboard</Header>\n            {data.length > 0 ? (\n              <Leaderboard data={data} showSearch={false} showControls={false} />\n            ) : (\n              <span className=\"opacity-50\">No users found. Maybe you should try talking in chat?</span>\n            )}\n          </Block>\n        </div>\n        <div className=\"mt-6 flex flex-col justify-start gap-6 flex-[2_1_0%] lg:mt-0\">\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Quick Stats\n              {guild.publicPage ? (\n                <Link\n                  href={`/server/${guild.vanity || serverDownload.id}`}\n                  target=\"_blank\"\n                  rel=\"noreferrer noopener\"\n                  className={cn(buttonVariants({ variant: \"primary\" }), \"mx-auto flex! w-fit flex-row whitespace-nowrap text-base font-normal sm:ml-auto sm:mr-0\")}\n                >\n                  <ExternalLinkIcon className={iconVariants({ variant: \"button\" })} aria-hidden=\"true\" role=\"img\" />\n                  Server page\n                </Link>\n              ) : null}\n            </Header>\n            <div className=\"flex flex-row flex-wrap gap-2\">\n              <div className=\"flex items-center\">\n                <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />\n                {guildPreview.approximate_member_count || \"0\"} members\n              </div>\n              <div className=\"flex items-center\">\n                <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#22a55b]\" />\n                {guildPreview.approximate_presence_count || \"0\"} online\n              </div>\n            </div>\n          </Block>\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Emojis\n              <span className=\"ml-auto font-medium opacity-60\">{guildPreview.emojis.length || \"0\"}</span>\n            </Header>\n            {guildPreview.emojis && guildPreview.emojis.length > 0 ? (\n              <div className=\"flex flex-row flex-wrap gap-3\">\n                {guildPreview.emojis.map((emoji) => (\n                  <Tooltip key={emoji.id || \"\" + emoji.name} content={emoji.name || \"Unnamed emoji\"}>\n                    <>\n                      <Link\n                        className=\"flex flex-col items-center justify-center gap-2\"\n                        href={`https://cdn.discordapp.com/emojis/${emoji.id}.${emoji.animated ? \"gif\" : \"png\"}`}\n                        target=\"_blank\"\n                        rel=\"noreferrer noopener\"\n                      >\n                        <Image\n                          src={`https://cdn.discordapp.com/emojis/${emoji.id}.${emoji.animated ? \"gif\" : \"png\"}`}\n                          alt={emoji.name || \"\"}\n                          quality={95}\n                          width={32}\n                          height={32}\n                          className=\"size-8 shrink-0\"\n                        />\n                      </Link>\n                    </>\n                  </Tooltip>\n                ))}\n              </div>\n            ) : (\n              <span className=\"opacity-50\">No emojis found.</span>\n            )}\n          </Block>\n\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Stickers\n              <span className=\"ml-auto font-medium opacity-60\">{guildPreview.stickers.length || \"0\"}</span>\n            </Header>\n            {guildPreview.stickers && guildPreview.stickers.length > 0 ? (\n              <div className=\"flex flex-row flex-wrap gap-3\">\n                {guildPreview.stickers.map((sticker) => (\n                  <Tooltip key={sticker.id + sticker.name} content={sticker.name || \"Unnamed sticker\"}>\n                    <>\n                      <Link\n                        className=\"flex flex-col items-center justify-center gap-2\"\n                        href={`https://cdn.discordapp.com/stickers/${sticker.id}.${sticker.format_type === 1 ? \"png\" : sticker.format_type === 2 ? \"apng\" : sticker.format_type === 3 ? \"lottie\" : \"gif\"}`}\n                        target=\"_blank\"\n                        rel=\"noreferrer noopener\"\n                      >\n                        <Image\n                          unoptimized\n                          src={`https://cdn.discordapp.com/stickers/${sticker.id}.${sticker.format_type === 1 ? \"png\" : sticker.format_type === 2 ? \"apng\" : sticker.format_type === 3 ? \"lottie\" : \"gif\"}`}\n                          alt={sticker.name}\n                          quality={95}\n                          width={95}\n                          height={95}\n                          className=\"size-24\"\n                        />\n                      </Link>\n                    </>\n                  </Tooltip>\n                ))}\n              </div>\n            ) : (\n              <span className=\"opacity-50\">No stickers found.</span>\n            )}\n          </Block>\n        </div>\n      </div>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/settings/components/ChangeEmbedColor.tsx",
    "content": "\"use client\";\n\nimport { globalConfig } from \"@majoexe/config\";\nimport { CheckIcon, LoaderCircleIcon, TrashIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { EmbedTitle, Embed, EmbedDescription } from \"@/components/ui/Embed\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Input } from \"@/components/ui/Input\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ChangeEmbedColorProps extends React.ComponentProps<\"div\"> {\n  serverId: string;\n  serverColor: string;\n}\n\nexport const ChangeEmbedColor = ({ serverId, serverColor, className, ...props }: ChangeEmbedColorProps) => {\n  const [color, setColor] = useState(serverColor ?? globalConfig.defaultColor);\n  const [buttonText, setButtonText] = useState(\"Save\");\n  const [resetButtonText, setResetButtonText] = useState(\"Reset\");\n\n  const handleSubmit = async () => {\n    setButtonText(\"Saving...\");\n    const loading = toast.loading(\"Saving...\");\n\n    const res = await fetch(\"/api/settings/embed-color\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        color,\n        id: serverId,\n      }),\n    });\n\n    setButtonText(\"Save\");\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.message ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Embed color changed!\", {\n        id: loading,\n      });\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loading,\n      });\n    }\n  };\n\n  const handleReset = async () => {\n    setResetButtonText(\"Resetting...\");\n    const loading = toast.loading(\"Resetting...\");\n\n    const res = await fetch(\"/api/settings/embed-color\", {\n      method: \"PUT\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n      }),\n    });\n\n    setResetButtonText(\"Reset\");\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      setColor(globalConfig.defaultColor);\n      return toast.success(json.message, {\n        id: loading,\n      });\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loading,\n      });\n    }\n  };\n\n  return (\n    <div className={cn(\"flex flex-col gap-4 lg:flex-row lg:gap-0 lg:divide-x lg:divide-neutral-800\", className)} {...props}>\n      <div className=\"flex flex-col items-center justify-center gap-3 lg:pr-8\">\n        <div>\n          <div className=\"flex flex-row gap-1\">\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#1bbd9c] text-white\" onClick={() => setColor(\"#1bbd9c\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#2fcd71] text-white\" onClick={() => setColor(\"#2fcd71\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#3598da] text-white\" onClick={() => setColor(\"#3598da\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#9a59b7] text-white\" onClick={() => setColor(\"#9a59b7\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#e81e62] text-white\" onClick={() => setColor(\"#e81e62\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#f0c40e] text-white\" onClick={() => setColor(\"#f0c40e\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#e67f23] text-white\" onClick={() => setColor(\"#e67f23\")} />\n          </div>\n          <div className=\"mt-1 flex flex-row gap-1\">\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#10816a] text-white\" onClick={() => setColor(\"#10816a\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#1f8b4c] text-white\" onClick={() => setColor(\"#1f8b4c\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#216695] text-white\" onClick={() => setColor(\"#216695\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#71368a] text-white\" onClick={() => setColor(\"#71368a\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#ac1456] text-white\" onClick={() => setColor(\"#ac1456\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#c37d0e] text-white\" onClick={() => setColor(\"#c37d0e\")} />\n            <div className=\"size-6 cursor-pointer rounded-lg bg-[#a94301] text-white\" onClick={() => setColor(\"#a94301\")} />\n          </div>\n        </div>\n        <HexColorPicker color={color} onChange={setColor} />\n        <Input\n          type=\"text\"\n          value={color}\n          onChange={(e) => setColor(e.target.value)}\n          className=\"w-full focus:bg-transparent!\"\n          style={{\n            backgroundColor: `${color}1A`, // 10% opacity\n            borderColor: color,\n          }}\n        />\n      </div>\n      <div className=\"w-full lg:pl-8\">\n        {/* <span className=\"flex w-full items-center gap-2 font-bold\">\n     <Icons.viewing className={iconVariants({ variant: \"normal\" })} />\n     Embed preview:\n    </span> */}\n        <Embed\n          color={color}\n          buttons={\n            <>\n              <Button variant=\"primary\" onClick={handleSubmit} disabled={buttonText === \"Saving...\"}>\n                {buttonText === \"Saving...\" ? (\n                  <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n                ) : (\n                  <CheckIcon className={iconVariants({ variant: \"button\" })} />\n                )}\n                {buttonText}\n              </Button>\n              <Button variant=\"secondary\" onClick={handleReset} disabled={resetButtonText === \"Resetting...\"}>\n                {resetButtonText === \"Resetting...\" ? (\n                  <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n                ) : (\n                  <TrashIcon className={iconVariants({ variant: \"button\" })} />\n                )}\n                {resetButtonText}\n              </Button>\n            </>\n          }\n        >\n          <EmbedTitle>Embed color changed to {color}</EmbedTitle>\n          <EmbedDescription>This is an example of how your embed color will look like. You can change this color by clicking on the color picker above.</EmbedDescription>\n        </Embed>\n      </div>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/settings/components/DeleteServerData.tsx",
    "content": "\"use client\";\n\nimport { LoaderCircleIcon, TrashIcon, XIcon } from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { Dialog, DialogClose, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from \"@/components/ui/Dialog\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Input } from \"@/components/ui/Input\";\n\nexport interface DeleteServerDataProps extends React.ComponentProps<\"div\"> {\n  serverId: string;\n}\n\nexport const DeleteServerData = ({ serverId, className, ...props }: DeleteServerDataProps) => {\n  const [loading, setLoading] = useState(false);\n  const [confirmationText, setConfirmationText] = useState(\"\");\n  const router = useRouter();\n\n  const handleDelete = async () => {\n    if (!confirmationText || confirmationText.length == 0 || confirmationText.toLowerCase() !== \"delete\") {\n      return toast.error(\"You must type 'delete' to confirm.\");\n    }\n\n    setLoading(true);\n    const loadingToast = toast.loading(\"Deleting server data...\");\n\n    const res = await fetch(\"/api/settings/delete-data\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.message ?? \"Something went wrong\", {\n          id: loadingToast,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loadingToast,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      toast.success(json.message ?? \"Server data deleted!\", {\n        id: loadingToast,\n      });\n      return router.push(\"/dashboard\");\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loadingToast,\n      });\n    }\n  };\n\n  return (\n    <div className={className} {...props}>\n      <Dialog>\n        <DialogTrigger asChild>\n          <Button variant=\"red\" className=\"mt-4\">\n            <TrashIcon className={iconVariants({ variant: \"button\" })} /> Delete server data\n          </Button>\n        </DialogTrigger>\n        <DialogContent className=\"max-w-lg\">\n          <DialogHeader>\n            <DialogTitle>\n              <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n              Delete server data\n            </DialogTitle>\n            <DialogDescription>Deleting server data will remove all data associated with this server. Do you want to continue?</DialogDescription>\n          </DialogHeader>\n\n          <div className=\"mt-4\">\n            <label htmlFor=\"confirmationText\" className=\"flex my-2 w-fit items-center gap-2 font-bold\">\n              Type <span className=\"font-bold\">&quot;delete&quot;</span> to confirm:\n            </label>\n\n            <Input type=\"text\" id=\"confirmationText\" value={confirmationText} onChange={(e) => setConfirmationText(e.target.value)} placeholder=\"delete\" />\n          </div>\n\n          <div className=\"mt-4 flex justify-between gap-2\">\n            <Button variant=\"red\" onClick={handleDelete} disabled={loading || confirmationText.toLowerCase() !== \"delete\"}>\n              {loading ? (\n                <>\n                  <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n                  Deleting server data...\n                </>\n              ) : (\n                <>\n                  <TrashIcon className={iconVariants({ variant: \"button\" })} />\n                  Yes, delete server data\n                </>\n              )}\n            </Button>\n            <DialogClose asChild>\n              <Button variant=\"secondary\">\n                <XIcon className={iconVariants({ variant: \"button\" })} />\n                Cancel\n              </Button>\n            </DialogClose>\n          </div>\n        </DialogContent>\n      </Dialog>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/settings/components/PublicDashboard.tsx",
    "content": "\"use client\";\n\nimport { CheckIcon, CopyIcon, Link2Icon, LoaderCircleIcon, PowerIcon, SparklesIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Button, buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Input } from \"@/components/ui/Input\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { env } from \"@/env\";\nimport { cn } from \"@/lib/utils\";\n\ninterface PublicDashboardProps extends React.ComponentProps<\"div\"> {\n  enabled: boolean;\n  serverId: string;\n  vanityURL: string;\n  className?: string;\n}\n\nexport const PublicDashboard = ({ enabled, serverId, vanityURL, className, ...props }: PublicDashboardProps) => {\n  const [isEnabled, setIsEnabled] = useState(enabled);\n  const [disabled, setDisabled] = useState(false);\n  const [vanity, setVanity] = useState(vanityURL);\n  const [vanityError, setVanityError] = useState<string>();\n  const [buttonText, setButtonText] = useState(\"Save\");\n\n  const toggle = async () => {\n    setDisabled(true);\n    setIsEnabled(!isEnabled);\n    const loading = toast.loading(`Turning ${!isEnabled ? \"on\" : \"off\"} public dashboard...`);\n\n    const res = await fetch(\"/api/settings/public-dashboard\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        enabled: !isEnabled,\n      }),\n    });\n\n    setDisabled(false);\n\n    if (!res.ok) {\n      setIsEnabled(isEnabled);\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Public dashboard enabled!\", {\n        id: loading,\n      });\n    } else {\n      setIsEnabled(isEnabled);\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loading,\n      });\n    }\n  };\n\n  const changeVanityText = (e: React.ChangeEvent<HTMLInputElement>) => {\n    setVanity(e.target.value);\n    if (e.target.value.length > 0) {\n      if (!e.target.value.match(/^[a-zA-Z0-9]+$/)) {\n        setVanityError(\"Vanity URL can only contain letters and numbers.\");\n      } else {\n        setVanityError(\"\");\n      }\n    }\n    if (e.target.value.length > 20) {\n      setVanityError(\"Vanity URL can only be 20 characters long.\");\n    }\n    if (e.target.value.length === 0) {\n      setVanityError(\"\");\n    }\n  };\n\n  const updateVanity = async (e: React.MouseEvent<HTMLButtonElement>) => {\n    e.preventDefault();\n    setButtonText(\"Saving...\");\n    setVanityError(\"\");\n\n    const loading = toast.loading(\"Updating vanity...\");\n    const res = await fetch(\"/api/settings/public-vanity\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        vanity,\n      }),\n    });\n\n    setButtonText(\"Save\");\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.error ?? \"Something went wrong\", {\n          id: loading,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loading,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      return toast.success(json.message ?? \"Vanity URL updated!\", {\n        id: loading,\n      });\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loading,\n      });\n    }\n  };\n\n  return (\n    <div className={cn(\"mt-6\", className)} {...props}>\n      <div className=\"flex flex-row items-center gap-2\">\n        <Header className={cn(headerVariants({ variant: \"h3\", margin: \"normal\" }))}>\n          <PowerIcon className={iconVariants({ variant: \"large\" })} />\n          Enable public dashboard overview:\n          <Switch checked={isEnabled} onCheckedChange={toggle} disabled={disabled} />\n        </Header>\n      </div>\n      <p className=\"text-white/70\">Allow users to view a public dashboard of your server, even if they are not a member.</p>\n      <div className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h3\", margin: \"normal\" }))}>\n          <Link2Icon className={iconVariants({ variant: \"large\" })} />\n          Vanity URL:\n        </Header>\n        <p className=\"text-white/70\">Customize the URL of your public dashboard.</p>\n        <div className=\"mt-2 flex flex-col flex-wrap items-center justify-start gap-2 md:flex-row\">\n          <div className=\"group flex flex-row-reverse items-center justify-start gap-0\">\n            <Input\n              type=\"text\"\n              value={vanity}\n              onChange={(e) => changeVanityText(e)}\n              disabled={disabled}\n              placeholder=\"Vanity URL\"\n              className={cn(\n                {\n                  \"border-red-400! focus:border-red-400!\": vanityError,\n                },\n\n                \"peer w-fit! font-normal sm:rounded-l-none sm:border-l-0 sm:pl-0! sm:focus:border-l-0!\"\n              )}\n              name=\"vanity\"\n            />\n            <div\n              className={cn(\n                {\n                  \"border-red-400! focus:border-red-400!\": vanityError,\n                  \"peer-focus:border-button-primary! border-neutral-800\": !vanityError,\n                },\n                \"hidden select-none rounded-lg rounded-r-none border border-r-0 border-r-transparent bg-transparent py-2 pl-3 font-normal text-white/60 shadow-xs outline-hidden ring-0! duration-200 sm:block\"\n              )}\n            >\n              {env.NEXT_PUBLIC_URL}/server/\n            </div>\n          </div>\n          <Button\n            variant=\"primary\"\n            onClick={(e) => updateVanity(e)}\n            disabled={disabled || !!vanityError || vanity.length === 0 || buttonText === \"Saving...\"}\n            className=\"mx-auto font-normal md:mx-0\"\n          >\n            {buttonText === \"Saving...\" ? (\n              <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n            ) : (\n              <CheckIcon className={iconVariants({ variant: \"button\" })} />\n            )}{\" \"}\n            {buttonText}\n          </Button>\n        </div>\n      </div>\n      {isEnabled && (\n        <div className=\"mt-4 flex flex-col\">\n          <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n            <SparklesIcon className={iconVariants({ variant: \"large\" })} />\n            Your public dashboard is live!\n          </Header>\n          <span className=\"mb-4 mt-2 leading-none text-white/70\">Note: The dashboard is available to everyone, regardless of whether they are a member of your server.</span>\n          <div className=\"flex flex-row flex-wrap gap-3\">\n            <Link href={`/server/${encodeURIComponent(vanity)}`} className={cn(buttonVariants({ variant: \"primary\" }), \"w-fit\")}>\n              <Icons.viewing className={iconVariants({ variant: \"button\" })} /> Preview\n            </Link>\n            <Button\n              variant=\"secondary\"\n              onClick={() => {\n                navigator.clipboard.writeText(`${env.NEXT_PUBLIC_URL}/server/${encodeURIComponent(vanity)}`);\n                toast.success(\"Link copied to clipboard!\");\n              }}\n              className=\"w-fit\"\n            >\n              <CopyIcon className={iconVariants({ variant: \"button\" })} /> Copy link\n            </Button>\n          </div>\n        </div>\n      )}\n      {vanityError && (\n        <p className=\"mt-4 flex items-center text-red-400\">\n          <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1\" })} />\n          {vanityError}\n        </p>\n      )}\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/settings/loading.tsx",
    "content": "import { CheckIcon, DownloadIcon, InfoIcon, Paintbrush2Icon, SettingsIcon, ShieldCheckIcon, TrashIcon, UsersIcon, XIcon } from \"lucide-react\";\nimport { Block } from \"@/components/ui/Block\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <SettingsIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Settings\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Configure the settings of the bot in your server.</p>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <Paintbrush2Icon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Default Embed Color\n        </Header>\n        <p className=\"mb-4 text-left\">Change the color of the embeds sent by the bot. This will not affect embeds sent by other bots.</p>\n        <Skeleton className=\"mt-10 h-60\" />\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <ShieldCheckIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Dashboard Access\n        </Header>\n        <p className=\"mb-4 text-left\">\n          Everyone with the roles that have the <code>MANAGE_GUILD</code> or <code>ADMINISTRATOR</code> permission can access the dashboard.\n        </p>\n\n        <div className=\"flex flex-wrap items-center justify-start gap-2\">\n          {Array.from({ length: 8 }).map((_, i) => (\n            <Skeleton\n              key={`role-${i}`}\n              className=\"h-[42px] min-w-[150px]\"\n              style={{\n                width: `${Math.floor(Math.random() * (150 - 64 + 1) + 64)}px !important`,\n              }}\n            />\n          ))}\n        </div>\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <UsersIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Public Dashboard\n        </Header>\n        <p className=\"mb-4 text-left\">\n          Everyone with the link can view public dashboard overview. This is useful for communities that want to show off their server.{\" \"}\n          <span className=\"font-bold\">The dashboard overview do not include any sensitive information.</span>\n        </p>\n\n        <div className=\"mb-4 grid grid-cols-1 gap-3 lg:grid-cols-2\">\n          <Block className=\"flex flex-col items-start justify-start gap-2\">\n            <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n              <CheckIcon className={iconVariants({ variant: \"large\", className: \"stroke-green-500\" })} />\n              Things that are shown:\n            </Header>\n            <ul className=\"list-inside list-disc\">\n              <li>Server name and description</li>\n              <li>Server member count</li>\n              <li>Leaderboard</li>\n              <li>Server emojis and stickers</li>\n            </ul>\n          </Block>\n          <Block className=\"flex flex-col items-start justify-start gap-2\">\n            <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n              <XIcon className={iconVariants({ variant: \"large\", className: \"stroke-red-400\" })} />\n              Things that are not shown:\n            </Header>\n            <ul className=\"list-inside list-disc\">\n              <li>Server statistics</li>\n              <li>Server settings</li>\n              <li>Server moderation</li>\n              <li>Server logs</li>\n            </ul>\n          </Block>\n        </div>\n\n        <Skeleton className=\"h-10 max-w-none!\" />\n        <Skeleton className=\"mt-4 h-10 max-w-none!\" />\n\n        <div className=\"mt-4 flex flex-row items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary mr-1\" })} />\n            Note:\n          </span>\n          <span className=\"whitespace-normal\">The public dashboard will be visible to everyone with the link!</span>\n        </div>\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <DownloadIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Download data\n        </Header>\n        <p className=\"mt-2 leading-none text-white/70\">\n          Download all server data in a <code>.json</code> file. This includes logs, settings, moderation and more.\n        </p>\n        <Button variant=\"primary\" className=\"mt-4 w-fit\" disabled={true}>\n          <DownloadIcon className={iconVariants({ variant: \"button\" })} />\n          Download data\n        </Button>\n      </Block>\n      <Block theme=\"danger\" className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-red-400 stroke-2\" })} />\n          Delete server data\n        </Header>\n        <p className=\"mt-2 text-white/70\">If you want to delete all data related to this server, you can do so by clicking the button below. This action is irreversible.</p>\n        <Button variant=\"red\" className=\"mt-4\" disabled={true}>\n          <TrashIcon className={iconVariants({ variant: \"button\" })} /> Delete server data\n        </Button>\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/settings/page.tsx",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { getPermissionNames } from \"@majoexe/util/functions/user\";\nimport { getSession } from \"lib/session\";\nimport { CheckIcon, DownloadIcon, Paintbrush2Icon, SettingsIcon, ShieldCheckIcon, UsersIcon, XIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { ChangeEmbedColor } from \"@/app/dashboard/[server]/settings/components/ChangeEmbedColor\";\nimport { DeleteServerData } from \"@/app/dashboard/[server]/settings/components/DeleteServerData\";\nimport { PublicDashboard } from \"@/app/dashboard/[server]/settings/components/PublicDashboard\";\nimport { Block } from \"@/components/ui/Block\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n  });\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <SettingsIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Settings\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">Configure the settings of the bot in your server.</p>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <Paintbrush2Icon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Default Embed Color\n        </Header>\n        <p className=\"mb-4 text-left\">Change the color of the embeds sent by the bot. This will not affect embeds sent by other bots.</p>\n        <ChangeEmbedColor serverId={serverDownload.id} serverColor={guild.embedColor || globalConfig.defaultColor} />\n      </Block>\n\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <ShieldCheckIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Dashboard Access\n        </Header>\n        <p className=\"mb-4 text-left\">\n          Everyone with the roles that have the <code>MANAGE_GUILD</code> or <code>ADMINISTRATOR</code> permission can access the dashboard.\n        </p>\n\n        <div className=\"flex flex-wrap items-center justify-start gap-2\">\n          {serverDownload.roles.map((role) => {\n            if (getPermissionNames(role.permissions).includes(\"ManageGuild\") || getPermissionNames(role.permissions).includes(\"Administrator\")) {\n              return (\n                <div key={role.id} className=\"flex items-center justify-start gap-2 rounded-full border border-neutral-700 px-2 py-1\">\n                  <div\n                    className=\"size-4 shrink-0 rounded-full\"\n                    style={{\n                      backgroundColor: role.color ? `#${role.color.toString(16)}` : \"#000000\",\n                    }}\n                  />\n                  <p className=\"text-neutral-100\">{role.name}</p>\n                </div>\n              );\n            } else return null;\n          })}\n        </div>\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <UsersIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Public Dashboard\n        </Header>\n        <p className=\"mb-4 text-left\">\n          Everyone with the link can view public dashboard overview. This is useful for communities that want to show off their server.{\" \"}\n          <span className=\"font-bold\">The dashboard overview do not include any sensitive information.</span>\n        </p>\n\n        <div className=\"mb-4 grid grid-cols-1 gap-3 lg:grid-cols-2\">\n          <Block className=\"flex flex-col items-start justify-start gap-2\">\n            <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n              <CheckIcon className={iconVariants({ variant: \"large\", className: \"stroke-green-500\" })} />\n              Things that are shown:\n            </Header>\n            <ul className=\"list-inside list-disc\">\n              <li>Server name and description</li>\n              <li>Server member count</li>\n              <li>Leaderboard</li>\n              <li>Server emojis and stickers</li>\n            </ul>\n          </Block>\n          <Block className=\"flex flex-col items-start justify-start gap-2\">\n            <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n              <XIcon className={iconVariants({ variant: \"large\", className: \"stroke-red-400\" })} />\n              Things that are not shown:\n            </Header>\n            <ul className=\"list-inside list-disc\">\n              <li>Server statistics</li>\n              <li>Server settings</li>\n              <li>Server moderation</li>\n              <li>Server logs</li>\n            </ul>\n          </Block>\n        </div>\n\n        <PublicDashboard enabled={Boolean(guild.publicPage)} serverId={serverDownload.id} vanityURL={guild.vanity || guild.guildId} />\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <DownloadIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Download data\n        </Header>\n        <p className=\"mt-2 leading-none text-white/70\">\n          Download all server data in a <code>.json</code> file. This includes logs, settings, moderation and more.\n        </p>\n        <Link href={`/api/settings/download/${serverDownload.id}`} className={cn(buttonVariants({ variant: \"primary\" }), \"mt-4 w-fit\")} target=\"_blank\">\n          <DownloadIcon className={iconVariants({ variant: \"button\" })} />\n          Download data\n        </Link>\n      </Block>\n      <Block theme=\"danger\" className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-red-400 stroke-2\" })} />\n          Delete server data\n        </Header>\n        <p className=\"mt-2 text-white/70\">If you want to delete all data related to this server, you can do so by clicking the button below. This action is irreversible.</p>\n        <DeleteServerData serverId={serverDownload.id} />\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/statistics/components/StatisticCharts.tsx",
    "content": "\"use client\";\n\nimport { DataEntry, sumArray } from \"@majoexe/util/functions/util\";\nimport { json2csv } from \"json-2-csv\";\nimport { StatsChart } from \"@/components/client/charts/ServerStatsChart\";\nimport { Block } from \"@/components/ui/Block\";\nimport type { ChartConfig } from \"@/components/ui/Chart\";\n\ninterface StatisticChartsProps {\n  guildJoin: DataEntry[];\n  guildLeave: DataEntry[];\n  guildMessage: DataEntry[];\n  chartConfig?: ChartConfig;\n}\n\nexport function StatisticCharts({ guildJoin, guildLeave, guildMessage, chartConfig }: StatisticChartsProps) {\n  const combinedData = guildJoin.map((join) => ({\n    date: join.date,\n    Joins: join.Joins,\n    Leaves: guildLeave.find((leave) => leave.date === join.date)?.Leaves || 0,\n  })) satisfies DataEntry[];\n\n  return (\n    <div className=\"space-y-6\">\n      <Block>\n        <StatsChart\n          title=\"Members\"\n          data={combinedData}\n          CSVData={json2csv(combinedData)}\n          fileName=\"guild-members\"\n          categories={[\"Joins\", \"Leaves\"]}\n          chartConfig={chartConfig}\n          calculateTotal={(data, dateRange) => {\n            if (dateRange.days === Infinity) {\n              return sumArray(data, \"Joins\") - sumArray(data, \"Leaves\");\n            }\n            return (\n              sumArray(\n                data.filter((item) => new Date(item.date) >= new Date(Date.now() - dateRange.days * 24 * 60 * 60 * 1000)),\n                \"Joins\"\n              ) -\n              sumArray(\n                data.filter((item) => new Date(item.date) >= new Date(Date.now() - dateRange.days * 24 * 60 * 60 * 1000)),\n                \"Leaves\"\n              )\n            );\n          }}\n        />\n      </Block>\n      <Block>\n        <StatsChart\n          title=\"Messages Sent\"\n          data={guildMessage}\n          CSVData={json2csv(guildMessage)}\n          fileName=\"guild-messages\"\n          categories={[\"Messages\"]}\n          chartConfig={chartConfig}\n          calculateTotal={(data, dateRange) => {\n            if (dateRange.days === Infinity) {\n              return sumArray(data, \"Messages\");\n            }\n            return sumArray(\n              data.filter((item) => new Date(item.date) >= new Date(Date.now() - dateRange.days * 24 * 60 * 60 * 1000)),\n              \"Messages\"\n            );\n          }}\n        />\n      </Block>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/statistics/loading.tsx",
    "content": "import { LoaderCircleIcon, TrendingUpIcon } from \"lucide-react\";\nimport { Block } from \"@/components/ui/Block\";\nimport { GraphCard } from \"@/components/ui/GraphCard\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <TrendingUpIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Statistics\n      </Header>\n      <div className=\"mb-6 mt-4 grid grid-cols-1 gap-0 md:grid-cols-1 md:gap-6 lg:grid-cols-2 xl:grid-cols-3\">\n        <GraphCard // prettier\n          className=\"mt-0\"\n          icon={<Icons.userAdd className={iconVariants({ variant: \"extraLarge\" })} />}\n          title=\"New Members\"\n          description=\"The amount of new members that joined your server.\"\n          value=\"Loading\"\n          graph={<LoaderCircleIcon className={iconVariants({ variant: \"normal\", className: \"animate-spin\" })} />}\n        />\n        <GraphCard // prettier\n          className=\"mt-0\"\n          icon={<Icons.userMinus className={iconVariants({ variant: \"extraLarge\" })} />}\n          title=\"Members Left\"\n          description=\"The amount of members that left your server.\"\n          value=\"Loading\"\n          graph={<LoaderCircleIcon className={iconVariants({ variant: \"normal\", className: \"animate-spin\" })} />}\n        />\n        <GraphCard // prettier\n          className=\"col-span-1 mt-0 lg:col-span-2 xl:col-span-1\"\n          icon={<Icons.commentAdd className={iconVariants({ variant: \"extraLarge\" })} />}\n          title=\"New Messages\"\n          description=\"The amount of messages that were sent in your server.\"\n          value=\"Loading\"\n          graph={<LoaderCircleIcon className={iconVariants({ variant: \"normal\", className: \"animate-spin\" })} />}\n        />\n      </div>\n      <div className=\"flex flex-col gap-6\">\n        <Block>\n          <div className=\"mb-4 flex flex-col items-center justify-normal gap-2 whitespace-nowrap lg:flex-row\">\n            <Header className={cn(headerVariants({ variant: \"h2\" }), \"items-center gap-1 lg:items-center\")}>\n              <span>\n                New Members{\" \"}\n                <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"text-accent-primary ml-2 inline-block animate-spin stroke-2! align-middle\" })} />\n              </span>\n            </Header>\n            <div className=\"relative mx-auto flex flex-row items-center justify-center gap-3 lg:ml-auto lg:mr-0\">\n              <Skeleton className=\"h-10 w-32\" />\n              <Skeleton className=\"h-10 w-48\" />\n            </div>\n          </div>\n          <Skeleton className=\"mt-10 h-80\" />\n        </Block>\n        <Block>\n          <div className=\"mb-4 flex flex-col items-center justify-normal gap-2 whitespace-nowrap lg:flex-row\">\n            <Header className={cn(headerVariants({ variant: \"h2\" }), \"items-center gap-1 lg:items-center\")}>\n              <span>\n                Members left{\" \"}\n                <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"text-accent-primary ml-2 inline-block animate-spin stroke-2! align-middle\" })} />\n              </span>\n            </Header>\n            <div className=\"relative mx-auto flex flex-row items-center justify-center gap-3 lg:ml-auto lg:mr-0\">\n              <Skeleton className=\"h-10 w-32\" />\n              <Skeleton className=\"h-10 w-48\" />\n            </div>\n          </div>\n          <Skeleton className=\"mt-10 h-80\" />\n        </Block>\n        <Block>\n          <div className=\"mb-4 flex flex-col items-center justify-normal gap-2 whitespace-nowrap lg:flex-row\">\n            <Header className={cn(headerVariants({ variant: \"h2\" }), \"items-center gap-1 lg:items-center\")}>\n              <span>\n                Messages Sent{\" \"}\n                <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"text-accent-primary ml-2 inline-block animate-spin stroke-2! align-middle\" })} />\n              </span>\n            </Header>\n            <div className=\"relative mx-auto flex flex-row items-center justify-center gap-3 lg:ml-auto lg:mr-0\">\n              <Skeleton className=\"h-10 w-32\" />\n              <Skeleton className=\"h-10 w-48\" />\n            </div>\n          </div>\n          <Skeleton className=\"mt-10 h-80\" />\n        </Block>\n      </div>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/statistics/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { fillMissingDates, sumArray } from \"@majoexe/util/functions/util\";\nimport { getSession } from \"lib/session\";\nimport { TrendingDownIcon, TrendingUpIcon, MinusIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { StatisticCharts } from \"@/app/dashboard/[server]/statistics/components/StatisticCharts\";\nimport { ChartConfig } from \"@/components/ui/Chart\";\nimport { GraphCard } from \"@/components/ui/GraphCard\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const statisticsChartConfig = {\n  Joins: {\n    label: \"Members Joined\",\n    color: \"hsl(var(--chart-blue))\",\n  },\n  Leaves: {\n    label: \"Members Left\",\n    color: \"hsl(var(--chart-red))\",\n  },\n  Messages: {\n    label: \"Messages Sent\",\n    color: \"hsl(var(--chart-blue))\",\n  },\n} satisfies ChartConfig;\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    select: {\n      guildJoin: true,\n      guildLeave: true,\n      guildMessage: true,\n    },\n  });\n\n  const mapGuildData = (data: any[], key: string) =>\n    data.map((item) => ({\n      date: item.date.toISOString().split(\"T\")[0],\n      [key]: item[key.toLowerCase()],\n    }));\n\n  const guildJoin = mapGuildData(guild.guildJoin, \"Joins\");\n  const guildLeave = mapGuildData(guild.guildLeave, \"Leaves\");\n  const guildMessage = mapGuildData(guild.guildMessage, \"Messages\");\n\n  const newMembers = sumArray(guildJoin.slice(-7), \"Joins\") - sumArray(guildLeave.slice(-7), \"Leaves\");\n  const membersLeft = sumArray(guildLeave.slice(-7), \"Leaves\");\n  const newMessages = sumArray(guildMessage.slice(-7), \"Messages\");\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\" }))}>\n        <TrendingUpIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        Statistics\n      </Header>\n      <div className=\"mb-6 mt-4 grid grid-cols-1 gap-0 md:grid-cols-1 md:gap-6 lg:grid-cols-2 xl:grid-cols-3\">\n        <GraphCard\n          className=\"mt-0\"\n          icon={<Icons.userAdd className={iconVariants({ variant: \"extraLarge\" })} />}\n          title=\"New Members\"\n          description=\"Amount of new members that joined your server in the last 7 days.\"\n          value={newMembers.toString()}\n          graph={\n            newMembers === 0 ? (\n              <MinusIcon className={iconVariants({ variant: \"normal\" })} />\n            ) : newMembers < 0 ? (\n              <TrendingDownIcon className={iconVariants({ variant: \"normal\" })} />\n            ) : (\n              <TrendingUpIcon className={iconVariants({ variant: \"normal\" })} />\n            )\n          }\n        />\n        <GraphCard\n          className=\"mt-0\"\n          icon={<Icons.userMinus className={iconVariants({ variant: \"extraLarge\" })} />}\n          title=\"Members Left\"\n          description=\"Amount of members that left your server in the last 7 days.\"\n          value={membersLeft.toString()}\n          graph={\n            membersLeft === 0 ? (\n              <MinusIcon className={iconVariants({ variant: \"normal\" })} />\n            ) : membersLeft < 0 ? (\n              <TrendingDownIcon className={iconVariants({ variant: \"normal\" })} />\n            ) : (\n              <TrendingUpIcon className={iconVariants({ variant: \"normal\" })} />\n            )\n          }\n        />\n        <GraphCard\n          className=\"mt-0\"\n          icon={<Icons.commentAdd className={iconVariants({ variant: \"extraLarge\" })} />}\n          title=\"New Messages\"\n          description=\"The amount of messages that were sent in your server in the last 7 days.\"\n          value={newMessages.toString()}\n          graph={\n            newMessages === 0 ? (\n              <MinusIcon className={iconVariants({ variant: \"normal\" })} />\n            ) : newMessages < 0 ? (\n              <TrendingDownIcon className={iconVariants({ variant: \"normal\" })} />\n            ) : (\n              <TrendingUpIcon className={iconVariants({ variant: \"normal\" })} />\n            )\n          }\n        />\n      </div>\n      <StatisticCharts\n        guildJoin={fillMissingDates(guildJoin, \"Joins\")}\n        guildLeave={fillMissingDates(guildLeave, \"Leaves\")}\n        guildMessage={fillMissingDates(guildMessage, \"Messages\")}\n        chartConfig={statisticsChartConfig}\n      />\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/user/[id]/loading.tsx",
    "content": "import { MessageSquareWarningIcon, ThumbsUpIcon } from \"lucide-react\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Skeleton className=\"h-[276px] w-full\" />\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <MessageSquareWarningIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Warns\n        </Header>\n        <p className=\"mb-4 text-left opacity-70\">You can view all warns given to this user in this server. You can also manage them by deleting them.</p>\n        <Skeleton className=\"h-24 w-full\" />\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <ThumbsUpIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Reputation\n        </Header>\n        <p className=\"mb-4 mt-2 text-white/70\">Change the reputation of this user in this server, set it to 0 to remove it.</p>\n        <Skeleton className=\"h-[106px] w-full\" />\n      </Block>\n      <Block theme=\"danger\" className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }), \"text-red-400\")}>\n          <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Reset XP\n        </Header>\n        <p className=\"mb-4 mt-2  text-white/70\">Reset the XP of this user in this server. This action cannot be undone and will reset the XP of this user to 0.</p>\n\n        <Skeleton className=\"h-20 w-full\" />\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/user/[id]/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { getDiscordUser, getFlags } from \"@majoexe/util/functions/user\";\nimport { formatNumber } from \"@majoexe/util/functions/util\";\nimport { getSession } from \"lib/session\";\nimport { ExternalLinkIcon, MessageSquareWarningIcon, ThumbsUpIcon } from \"lucide-react\";\nimport { Metadata } from \"next\";\nimport Link from \"next/link\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { ChangeUserReputation } from \"@/app/dashboard/[server]/user/components/ChangeUserReputation\";\nimport { ResetUserXP } from \"@/app/dashboard/[server]/user/components/ResetUserXP\";\nimport { ManageUserWarns, UserWarns } from \"@/app/dashboard/[server]/warns/components/Warns\";\nimport { Emojis } from \"@/components/DiscordEmojis\";\nimport { Block } from \"@/components/ui/Block\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport async function generateMetadata({ params }: { params: Promise<{ server: string; id: string }> }): Promise<Metadata> {\n  const { id, server } = await params;\n\n  const guild = await prismaClient.guild.findFirst({\n    where: {\n      guildId: server,\n    },\n  });\n\n  if (!guild) {\n    return {\n      title: \"User profile\",\n      description: \"View the profile of a user.\",\n    };\n  }\n\n  const user = await prismaClient.user.findFirst({\n    where: {\n      discordId: id,\n    },\n  });\n\n  if (!user) {\n    return {\n      title: \"Server profile\",\n      description: \"View the profile of a user.\",\n    };\n  }\n\n  return {\n    title: `${user.global_name || user.name} profile`,\n    description: `View the profile of ${user.global_name}.`,\n  };\n}\n\nexport default async function User(props: { params: Promise<{ server: string; id: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server, id } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const user = await prismaClient.user.findFirst({\n    where: {\n      discordId: id,\n    },\n    include: {\n      guildWarns: {\n        orderBy: {\n          createdAt: \"desc\",\n        },\n        where: {\n          guildId: serverDownload.id,\n        },\n        select: {\n          id: true,\n          warnId: true,\n          message: true,\n          createdAt: true,\n          createdById: true,\n          guildId: true,\n          userId: true,\n        },\n      },\n      guildXp: {\n        where: {\n          guildId: serverDownload.id,\n        },\n        select: {\n          xp: true,\n        },\n      },\n      reputation: {\n        where: {\n          guildId: serverDownload.id,\n        },\n        select: {\n          reputation: true,\n        },\n      },\n    },\n  });\n\n  if (!user) return redirect(\"/auth/error?error=It%20looks%20like%20the%20user%20you%20are%20trying%20to%20display%20does%20not%20exist\");\n\n  await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n  });\n\n  const warns = (await Promise.all(\n    user.guildWarns.map(async (warn) => {\n      return {\n        ...warn,\n        createdAt: warn.createdAt instanceof Date ? warn.createdAt : new Date(warn.createdAt),\n        loading: false,\n        addedBy: await prismaClient.user.findFirst({\n          where: {\n            discordId: warn.createdById,\n          },\n          select: {\n            discordId: true,\n            name: true,\n            global_name: true,\n            avatar: true,\n            discriminator: true,\n          },\n        }),\n      };\n    })\n  )) satisfies UserWarns[];\n\n  const userXP = user.guildXp.reduce((a, b) => a + (b[\"xp\"] || 0), 0);\n  const userRepuation = user.reputation.reduce((a, b) => a + (b[\"reputation\"] || 0), 0);\n\n  const discordUser = await getDiscordUser(id);\n  if (!discordUser) return redirect(\"/auth/error?error=It%20looks%20like%20the%20user%20you%20are%20trying%20to%20display%20does%20not%20exist\");\n\n  return (\n    <>\n      <div className=\"relative overflow-hidden rounded-lg border border-neutral-800 bg-background-navbar md:w-full\">\n        <>\n          <div\n            className={cn(\"h-[100px] w-full bg-cover bg-center bg-no-repeat\", typeof discordUser.banner == \"string\" ? \"h-40\" : \"h-24\")}\n            style={{\n              backgroundColor: \"#\" + (!discordUser.accent_color ? \"5c64f4\" : discordUser.accent_color.toString(16)),\n              backgroundImage: typeof discordUser.banner == \"string\" ? `url(/api/user/banner/${discordUser.id})` : undefined,\n            }}\n          />\n          <div className=\"flex h-[72px] w-auto flex-row justify-between gap-6 bg-background-navbar p-12\">\n            <div className=\"ml-[-16px] mt-[-20px] box-content flex w-full items-center rounded-full\">\n              <Tooltip content=\"Click to see full size\">\n                <Link href={`/api/user/avatar/${discordUser.id}`} target=\"_blank\" className=\"relative size-24 shrink-0\">\n                  <Image\n                    quality={100}\n                    src={`/api/user/avatar/${discordUser.id}`}\n                    alt={`${discordUser.global_name || discordUser.username} Avatar`}\n                    width={96}\n                    height={96}\n                    className=\"rounded-full border-4! border-solid! border-background-navbar! duration-200 hover:opacity-75\"\n                  />\n                  {discordUser.avatar_decoration_data ? (\n                    <Image\n                      quality={100}\n                      src={`/api/user/avatar-decoration/${discordUser.id}`}\n                      alt={`${discordUser.global_name || discordUser.username} Avatar decoration`}\n                      width={96}\n                      height={96}\n                      className=\"absolute left-0 top-0 rounded-full\"\n                    />\n                  ) : null}\n                </Link>\n              </Tooltip>\n\n              <div className=\"ml-2 flex items-center text-lg font-bold\">\n                {discordUser.discriminator === \"0\" ? (\n                  <>\n                    {discordUser.global_name && discordUser.username && (\n                      <Tooltip content={`@${discordUser.username}`}>\n                        <span className=\"text-white\">{discordUser.global_name}</span>\n                      </Tooltip>\n                    )}\n                  </>\n                ) : (\n                  <>\n                    <div className=\"text-white\">{discordUser.username}</div>\n                    <div className=\"text-white/60\">#{discordUser.discriminator}</div>\n                  </>\n                )}\n\n                {user.nitro && user.nitro > 0 ? (\n                  <Tooltip content=\"Nitro\">\n                    <div className=\"mx-1 size-5\">{Emojis[\"nitro\"]}</div>\n                  </Tooltip>\n                ) : null}\n\n                {user.public_flags !== null &&\n                  getFlags(Number(user.public_flags)) &&\n                  getFlags(Number(user.public_flags)).map((flag) => {\n                    return (\n                      <Tooltip key={`flag-tooltip-${flag.name}`} content={flag.content}>\n                        <div className=\"mx-1 size-5\">{Emojis[flag.name as keyof typeof Emojis]}</div>\n                      </Tooltip>\n                    );\n                  })}\n              </div>\n            </div>\n            <div className=\"mb-[-14px] hidden w-full items-end justify-end lg:flex\">\n              <Link href={`https://discord.com/users/${user.discordId}`} className={cn(buttonVariants({ variant: \"primary\" }))} target=\"_blank\">\n                <ExternalLinkIcon className={iconVariants({ variant: \"button\" })} /> Discord profile\n              </Link>\n            </div>\n          </div>\n          <div className=\"m-[8px_16px_16px] rounded-lg border border-neutral-800 bg-background-menu-button/70 p-4\">\n            <div className=\"flex flex-col items-center justify-center gap-3 sm:flex-row sm:justify-start\">\n              <Tooltip content=\"Total gained XP\">\n                <div className=\"flex cursor-help items-center\">\n                  <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />\n                  {formatNumber(userXP || 0)} XP ({Math.floor(0.1 * Math.sqrt(userXP || 0))} level)\n                </div>\n              </Tooltip>\n\n              <Tooltip content=\"Total reputation given by other users\">\n                <div className=\"flex cursor-help items-center\">\n                  <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />\n                  {formatNumber(userRepuation || 0)} Reputation\n                </div>\n              </Tooltip>\n\n              <Tooltip content=\"Total warns given by moderators\">\n                <div className=\"flex cursor-help items-center\">\n                  <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />\n                  {formatNumber(warns.length || 0)} warns\n                </div>\n              </Tooltip>\n            </div>\n          </div>\n        </>\n      </div>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <MessageSquareWarningIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Warns\n        </Header>\n        <p className=\"mb-4 text-left opacity-70\">You can view all warns given to this user in this server. You can also manage them by deleting them.</p>\n        {warns.length === 0 ? (\n          <p className=\"mb-4 flex items-center justify-start gap-2 text-left text-red-400\">\n            <Icons.warning className={iconVariants({ variant: \"normal\", className: \"mr-1\" })} />\n            This user has no warns in this server.\n          </p>\n        ) : (\n          <ManageUserWarns data={warns} guildId={serverDownload.id} />\n        )}\n      </Block>\n      <Block className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n          <ThumbsUpIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Reputation\n        </Header>\n        <p className=\"mt-2 text-white/70\">Change the reputation of this user in this server, set it to 0 to remove it.</p>\n        <ChangeUserReputation userId={user.discordId} guildId={serverDownload.id} userReputation={userRepuation} className=\"my-2\" />\n      </Block>\n      <Block theme=\"danger\" className=\"mt-4\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }), \"text-red-400\")}>\n          <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n          Reset XP\n        </Header>\n        <p className=\"mt-2 text-white/70\">Reset the XP of this user in this server. This action cannot be undone and will reset the XP of this user to 0.</p>\n\n        <p className=\"mt-2 text-white/70\">\n          <span className=\"font-semibold\">The user currently has: </span>\n          {formatNumber(userXP || 0)} XP ({Math.floor(0.1 * Math.sqrt(userXP || 0))} level)\n        </p>\n        <ResetUserXP userId={user.discordId} guildId={serverDownload.id} />\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/user/components/ChangeUserReputation.tsx",
    "content": "\"use client\";\n\nimport { isNumeric } from \"@majoexe/util/functions/util\";\nimport { CheckIcon, LoaderCircleIcon, MessageSquareDotIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { InputWithIcon } from \"@/components/ui/Input\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ChangeUserReputationProps extends React.ComponentProps<\"form\"> {\n  userId: string;\n  guildId: string;\n  userReputation?: number;\n}\n\nexport const ChangeUserReputation = ({ userId, guildId, userReputation, className, ...props }: ChangeUserReputationProps) => {\n  const [userRep, setUserRep] = useState(userReputation ?? 0);\n  const [loading, setLoading] = useState(false);\n  const [error, setError] = useState(false);\n\n  const changeReputation = (value: number) => {\n    setUserRep(value);\n    setError(false);\n    if (!isNumeric(value)) setError(true);\n    if (value >= 2147483647) return setUserRep(2147483647);\n    if (value <= -2147483647) return setUserRep(-2147483647);\n  };\n\n  const handleReputation = async () => {\n    setLoading(true);\n    const loadingToast = toast.loading(\"Updating user reputation...\");\n\n    const res = await fetch(\"/api/settings/change-reputation\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        userId,\n        guildId,\n        reputation: userRep,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.message ?? \"Something went wrong\", {\n          id: loadingToast,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loadingToast,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      toast.success(json.message ?? \"User reputation updated!\", {\n        id: loadingToast,\n      });\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loadingToast,\n      });\n    }\n  };\n\n  return (\n    <form className={cn(\"flex flex-col items-start gap-2\", className)} onSubmit={handleReputation} {...props}>\n      <InputWithIcon\n        type=\"number\"\n        icon={<MessageSquareDotIcon className={iconVariants({ variant: \"normal\" })} />}\n        placeholder=\"User reputation\"\n        value={userRep}\n        onChange={(e) => changeReputation(parseInt(e.target.value))}\n        className={cn(\n          {\n            \"border-red-400! text-red-400! focus:border-red-400!\": error,\n          },\n          \"w-fit\"\n        )}\n      />\n      <Button variant=\"primary\" onClick={handleReputation} disabled={loading || error}>\n        {loading ? (\n          <>\n            <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} /> Updating...\n          </>\n        ) : (\n          <>\n            <CheckIcon className={iconVariants({ variant: \"button\" })} /> Update\n          </>\n        )}\n      </Button>\n    </form>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/user/components/ResetUserXP.tsx",
    "content": "\"use client\";\n\nimport { LoaderCircleIcon, TrashIcon, XIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { Dialog, DialogClose, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from \"@/components/ui/Dialog\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\n\ninterface ResetUserXPProps extends React.ComponentProps<\"div\"> {\n  userId: string;\n  guildId: string;\n}\n\nexport const ResetUserXP = ({ userId, guildId, className, ...props }: ResetUserXPProps) => {\n  const [isOpen, setIsOpen] = useState(false);\n  const [loading, setLoading] = useState(false);\n\n  const handleReset = async () => {\n    setLoading(true);\n    const loadingToast = toast.loading(\"Resetting user XP...\");\n\n    const res = await fetch(\"/api/settings/reset-user-xp\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        userId,\n        guildId,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.message ?? \"Something went wrong\", {\n          id: loadingToast,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loadingToast,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      toast.success(json.message ?? \"User XP reset!\", {\n        id: loadingToast,\n      });\n      setIsOpen(false);\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loadingToast,\n      });\n    }\n  };\n\n  return (\n    <div className={className} {...props}>\n      <Dialog open={isOpen} onOpenChange={setIsOpen}>\n        <DialogTrigger asChild>\n          <Button variant=\"red\" className=\"mt-4 w-fit\" onClick={() => setIsOpen(true)}>\n            <TrashIcon className={iconVariants({ variant: \"button\" })} />\n            Reset XP\n          </Button>\n        </DialogTrigger>\n        <DialogContent className=\"max-w-lg\">\n          <DialogHeader>\n            <DialogTitle>\n              <Icons.warning className={iconVariants({ variant: \"large\", className: \"mr-2 stroke-2!\" })} />\n              Reset XP\n            </DialogTitle>\n            <DialogDescription>\n              Resetting XP will reset the XP of this user in this server. This action is irreversible and will reset the XP of this user to 0. Are you sure you want to reset the XP\n              of this user?\n            </DialogDescription>\n          </DialogHeader>\n\n          <div className=\"mt-4 flex justify-between gap-2\">\n            <Button variant=\"red\" onClick={handleReset} disabled={loading}>\n              {loading ? (\n                <>\n                  <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n                  Resetting...\n                </>\n              ) : (\n                <>\n                  <TrashIcon className={iconVariants({ variant: \"button\" })} />\n                  Yes, reset XP\n                </>\n              )}\n            </Button>\n            <DialogClose asChild>\n              <Button variant=\"secondary\">\n                <XIcon className={iconVariants({ variant: \"button\" })} />\n                Cancel\n              </Button>\n            </DialogClose>\n          </div>\n        </DialogContent>\n      </Dialog>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/warns/components/Warns.tsx",
    "content": "\"use client\";\n\nimport type { GuildWarns, User } from \"@majoexe/database/types\";\nimport { formatDuration, shortenText } from \"@majoexe/util/functions/util\";\nimport type { ColumnDef } from \"@tanstack/react-table\";\nimport { CheckIcon, LoaderCircleIcon, TrashIcon, UserIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/navigation\";\nimport React, { useState, useCallback } from \"react\";\nimport { toast } from \"sonner\";\nimport { Button, buttonVariants } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { Table, TableColumnHeader } from \"@/components/ui/Table\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface WarnItems extends Omit<GuildWarns, \"createdAt\"> {\n  createdAt: string;\n  link: string;\n  createdById: string;\n  user: Pick<User, \"name\" | \"discordId\" | \"avatar\" | \"global_name\" | \"discriminator\"> | null;\n}\n\nexport const Warns = ({ data, guildId, ...props }: Omit<React.ComponentProps<typeof Table>, \"columns\"> & { data: WarnItems[]; guildId: string }) => {\n  const [loadingWarns, setLoadingWarns] = useState<string[]>([]);\n  const router = useRouter();\n\n  const removeWarn = useCallback(\n    async (warnId: string) => {\n      setLoadingWarns((old) => [...old, warnId]);\n      const loading = toast.loading(`Deleting warn #${warnId}...`);\n\n      const res = await fetch(`/api/warns/${guildId}/${warnId}`, {\n        method: \"DELETE\",\n      });\n\n      setLoadingWarns((old) => old.filter((warn) => warn !== warnId));\n\n      if (res.status === 200) {\n        toast.success(`Deleted warn #${warnId}!`, {\n          id: loading,\n        });\n        router.refresh();\n      } else {\n        toast.error(`Failed to delete warn #${warnId}!`, {\n          id: loading,\n        });\n      }\n    },\n    [guildId, router]\n  );\n\n  const columns: ColumnDef<WarnItems>[] = [\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"User\" />,\n      accessorKey: \"user\",\n      cell: ({ row }) => {\n        const value = row.original.user;\n        return (\n          <>\n            {value && value.discordId ? (\n              <Tooltip content={`Discord ID: ${value.discordId || \"Unknown\"}`}>\n                <Link href={`user/${value.discordId}`} className=\"flex w-fit items-center space-x-4\">\n                  <Image src={`/api/user/avatar/${value.discordId}`} alt={`${value.name} avatar`} quality={95} width={36} height={36} className=\"size-9 shrink-0 rounded-full\" />\n                  <span className=\"text-left font-bold\">\n                    {value.global_name || value.name}\n                    {value.discriminator !== \"0\" && <span className=\"opacity-70\">#{value.discriminator || \"0000\"}</span>}\n                  </span>\n                </Link>\n              </Tooltip>\n            ) : (\n              <div className=\"flex flex-row items-center space-x-4\">\n                <Skeleton className=\"size-12 shrink-0 rounded-full\" />\n                <Skeleton className=\"h-6 w-20\" />\n              </div>\n            )}\n          </>\n        );\n      },\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"User Warn ID\" />,\n      accessorKey: \"warnId\",\n      cell: ({ row }) => `#${row.getValue(\"warnId\")}`,\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Reason\" />,\n      accessorKey: \"message\",\n      cell: ({ row }) => shortenText(row.getValue(\"message\") || \"\", 50),\n    },\n    {\n      header: ({ column }) => <TableColumnHeader column={column} title=\"Date\" />,\n      accessorKey: \"createdAt\",\n      cell: ({ row }) => <>{formatDuration(Date.now() - new Date(row.getValue(\"createdAt\")).getTime())} ago</>,\n    },\n    {\n      header: \"Actions\",\n      accessorKey: \"link\",\n      cell: ({ row }) => {\n        const value = row.getValue(\"link\") as string;\n        return (\n          <div className=\"flex items-center space-x-4\">\n            <Link href={`user/${value}#warns`} className={cn(buttonVariants({ variant: \"secondary\" }), \"w-fit\")}>\n              <UserIcon className={iconVariants({ variant: \"button\" })} />\n              View profile\n            </Link>\n            <Button variant=\"red\" className=\"w-fit\" onClick={() => removeWarn(value)} disabled={loadingWarns.includes(value)}>\n              <TrashIcon className={iconVariants({ variant: \"button\" })} />\n              Delete warn\n            </Button>\n          </div>\n        );\n      },\n    },\n  ];\n\n  return <Table data={data} sortBy={[{ id: \"createdAt\", desc: true }]} {...props} columns={columns} />;\n};\n\nexport interface UserWarns extends Omit<GuildWarns, \"createdById\" | \"link\"> {\n  loading: false;\n  addedBy: Pick<User, \"discordId\" | \"name\" | \"global_name\" | \"avatar\" | \"discriminator\"> | null;\n}\n\nexport const ManageUserWarns = ({ data, guildId, ...props }: { data: UserWarns[]; guildId: string } & Omit<React.ComponentProps<typeof Table>, \"columns\">) => {\n  const [loadingWarns, setLoadingWarns] = useState<string[]>([]);\n  const [deletedWarns, setDeletedWarns] = useState<string[]>([]);\n  const router = useRouter();\n\n  const removeWarn = useCallback(\n    async (warnId: string) => {\n      setLoadingWarns((old) => [...old, warnId]);\n      const loading = toast.loading(`Deleting warn #${warnId}...`);\n\n      const res = await fetch(`/api/warns/${guildId}/${warnId}`, {\n        method: \"DELETE\",\n      });\n\n      setLoadingWarns((old) => old.filter((warn) => warn !== warnId));\n\n      if (res.status === 200) {\n        toast.success(`Deleted warn #${warnId}!`, {\n          id: loading,\n        });\n        setDeletedWarns((old) => [...old, warnId]);\n        router.refresh();\n      } else {\n        toast.error(`Failed to delete warn #${warnId}!`, {\n          id: loading,\n        });\n      }\n    },\n    [guildId, router]\n  );\n\n  const columns: ColumnDef<UserWarns>[] = [\n    {\n      header: \"Added by\",\n      accessorKey: \"addedBy\",\n      cell: ({ row }) => {\n        const value = row.original.addedBy;\n        return (\n          <>\n            {value && value.discordId ? (\n              <Tooltip content={`Discord ID: ${value.discordId || \"Unknown\"}`}>\n                <div className=\"flex w-fit items-center space-x-4\">\n                  <Image src={`/api/user/avatar/${value.discordId}`} alt={`${value.name} avatar`} quality={95} width={36} height={36} className=\"size-9 shrink-0 rounded-full\" />\n                  <span className=\"text-left font-bold\">\n                    {value.global_name || value.name}\n                    {value.discriminator !== \"0\" && <span className=\"opacity-70\">#{value.discriminator || \"0000\"}</span>}\n                  </span>\n                </div>\n              </Tooltip>\n            ) : (\n              <div className=\"flex flex-row items-center space-x-4\">\n                <Skeleton className=\"size-12 shrink-0 rounded-full\" />\n                <Skeleton className=\"h-6 w-20\" />\n              </div>\n            )}\n          </>\n        );\n      },\n    },\n    {\n      header: \"User Warn ID\",\n      accessorKey: \"warnId\",\n      cell: ({ row }) => `#${row.getValue(\"warnId\")}`,\n    },\n    {\n      header: \"Reason\",\n      accessorKey: \"message\",\n      cell: ({ row }) => shortenText(row.getValue(\"message\") || \"\", 50),\n    },\n    {\n      header: \"Date\",\n      accessorKey: \"createdAt\",\n      cell: ({ row }) => <>{formatDuration(Date.now() - new Date(row.getValue(\"createdAt\")).getTime())} ago</>,\n    },\n    {\n      header: \"Actions\",\n      accessorKey: \"id\",\n      cell: ({ row }) => {\n        const value = row.getValue(\"id\") as string;\n        return (\n          <Button variant=\"red\" className=\"w-fit\" onClick={() => removeWarn(value)} disabled={loadingWarns.includes(value) || deletedWarns.includes(value)}>\n            {deletedWarns.includes(value) ? (\n              <>\n                <CheckIcon className={iconVariants({ variant: \"button\" })} />\n                Deleted!\n              </>\n            ) : (\n              <>\n                {loadingWarns.includes(value) ? (\n                  <>\n                    <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n                    Deleting...\n                  </>\n                ) : (\n                  <>\n                    <TrashIcon className={iconVariants({ variant: \"button\" })} />\n                    Delete\n                  </>\n                )}\n              </>\n            )}\n          </Button>\n        );\n      },\n    },\n  ];\n\n  // @ts-expect-error Wrong type\n  return <Table data={data} sortBy={[{ id: \"createdAt\", desc: true }]} columns={columns} {...props} />;\n};\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/warns/loading.tsx",
    "content": "import { LoaderCircleIcon, MessageSquareWarningIcon } from \"lucide-react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\" }))}>\n        <MessageSquareWarningIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        User warns <LoaderCircleIcon className={iconVariants({ variant: \"extraLarge\", className: \"stroke-accent-primary animate-spin\" })} />\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">\n        Here you can view all users warns issued by users with the <code>Manage Server</code> permission.\n      </p>\n      <div className=\"mx-auto mt-4 flex w-full items-center justify-start overflow-auto\">\n        <Skeleton className=\"h-96 w-full\" />\n      </div>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/[server]/warns/page.tsx",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { getGuildFromMemberGuilds, getGuild } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { SparklesIcon, MessageSquareWarningIcon } from \"lucide-react\";\nimport { redirect } from \"next/navigation\";\nimport { notFound } from \"next/navigation\";\nimport { WarnItems, Warns } from \"@/app/dashboard/[server]/warns/components/Warns\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata = {\n  title: \"Warns\",\n  description: \"View the warn logs of your server.\",\n};\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n  const { server } = params;\n  const serverDownload = await getGuild(server);\n  if (!serverDownload || !serverDownload.bot) return notFound();\n  const serverMember = await getGuildFromMemberGuilds(serverDownload.id, session.access_token);\n  if (\n    // prettier\n    !serverMember ||\n    !serverMember.permissions_names ||\n    !serverMember.permissions_names.includes(\"ManageGuild\") ||\n    !serverMember.permissions_names.includes(\"Administrator\")\n  )\n    return notFound();\n\n  const guild = await prismaClient.guild.upsert({\n    where: {\n      guildId: serverDownload.id,\n    },\n    update: {},\n    create: {\n      guildId: serverDownload.id,\n    },\n    include: {\n      guildWarns: {\n        orderBy: {\n          createdAt: \"desc\",\n        },\n        include: {\n          user: {\n            select: {\n              discordId: true,\n              name: true,\n              global_name: true,\n              avatar: true,\n              discriminator: true,\n            },\n          },\n        },\n      },\n    },\n  });\n\n  const warns = (await Promise.all(\n    guild.guildWarns.map((warn) => {\n      return {\n        ...warn,\n        createdAt: warn.createdAt instanceof Date ? warn.createdAt.toString() : new Date(warn.createdAt).toString(),\n        link: warn.user.discordId,\n      };\n    })\n  )) satisfies WarnItems[];\n\n  return (\n    <>\n      <Header className={cn(headerVariants({ variant: \"h1\" }))}>\n        <MessageSquareWarningIcon className={iconVariants({ variant: \"extraLarge\" })} />\n        User warns <span className=\"text-accent-primary\">({warns.length})</span>\n      </Header>\n      <p className=\"mb-4 text-left text-base md:text-lg\">\n        Here you can view all users warns issued by users with the <code>Manage Server</code> permission.\n      </p>\n      <Block className=\"mt-4 flex w-full overflow-auto\">\n        {warns.length === 0 && (\n          <p className=\"flex items-center gap-2 text-left\">\n            <SparklesIcon className={iconVariants({ variant: \"normal\" })} />\n            Hooray! No warns have been issued yet.\n          </p>\n        )}\n        {warns.length > 0 && <Warns data={warns} guildId={serverDownload.id} />}\n      </Block>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/loading.tsx",
    "content": "import { InfoIcon, NavigationIcon } from \"lucide-react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <div className=\"flex w-full flex-col items-center px-8 pb-8 pt-16 antialiased md:p-16\">\n      <div className=\"mt-4 flex flex-row flex-wrap justify-center gap-3 sm:flex-col\">\n        <div>\n          <Header className={cn(headerVariants({ variant: \"h1\", alignment: \"center\", margin: \"normal\" }))}>\n            <NavigationIcon className={iconVariants({ variant: \"extraLarge\" })} />\n            Choose a server\n          </Header>\n          <p className=\"mb-4 text-center text-base text-white/50 md:text-xl\">Select a server to manage, or add the bot to a new server.</p>\n        </div>\n        <div className=\"flex flex-row flex-wrap justify-center gap-3 sm:flex-col\">\n          {[...Array(10)].map((_, i) => (\n            <div key={`skeleton-${i}`}>\n              <div className=\"hidden flex-row items-center justify-start gap-3 sm:flex\">\n                <Skeleton className=\"size-16 shrink-0 rounded-full\" />\n                <Skeleton className=\"h-7 w-1/3\" />\n                <Skeleton className=\"ml-auto h-10 w-[115px]\" />\n              </div>\n              <Skeleton className=\"size-24 rounded-lg sm:hidden\" />\n            </div>\n          ))}\n        </div>\n        <div className=\"my-4 mt-12 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center gap-1 whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} /> Note:\n          </span>\n          <span className=\"whitespace-normal\">\n            You can only add the bot to servers you have the <code className=\"inline\">Manage Server</code> permission in.\n          </span>\n        </div>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/dashboard/page.tsx",
    "content": "import { getMemberGuilds, isBotInServer } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { HomeIcon, InfoIcon, NavigationIcon, PlusIcon, TriangleAlertIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { redirect } from \"next/navigation\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { cn } from \"@/lib/utils\";\n\nexport default async function Page() {\n  const session = await getSession();\n  if (!session || !session.access_token) redirect(\"/auth/login\");\n\n  const data = (await getMemberGuilds(session.access_token)) || [];\n\n  const servers = await Promise.all(\n    data\n      .filter((server) => server.permissions_names.includes(\"ManageGuild\") || server.permissions_names.includes(\"Administrator\"))\n      .map(async (server) => {\n        server.bot = await isBotInServer(server.id);\n        return server;\n      })\n  );\n\n  servers.sort((a, b) => (a.bot && !b.bot ? -1 : !a.bot && b.bot ? 1 : 0));\n\n  return (\n    <div className=\"flex w-full flex-col items-center px-8 pb-8 pt-16 antialiased md:p-16\">\n      <div className=\"flex flex-col justify-center\">\n        <div className=\"mt-4 flex flex-row flex-wrap justify-center gap-3 sm:flex-col\">\n          {servers && servers.length > 0 ? (\n            <>\n              <div>\n                <Header className={cn(headerVariants({ variant: \"h1\", alignment: \"center\", margin: \"normal\" }))}>\n                  <NavigationIcon className={iconVariants({ variant: \"extraLarge\" })} />\n                  Choose a server\n                </Header>\n                <p className=\"mb-4 text-center text-base text-white/50 md:text-xl\">Select a server to manage, or add the bot to a new server.</p>\n              </div>\n              {servers.map((server) => (\n                <div key={server.id}>\n                  <div className=\"hidden flex-row items-center justify-start gap-3 sm:flex\">\n                    {server.icon ? (\n                      <Image\n                        src={`https://cdn.discordapp.com/icons/${server.id}/${server.icon}.${server.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n                        alt={server.name}\n                        quality={95}\n                        width={64}\n                        height={64}\n                        className=\"size-16 shrink-0 rounded-full\"\n                      />\n                    ) : (\n                      <div className=\"size-16 shrink-0 rounded-full bg-button-secondary\" />\n                    )}\n                    <Header className={cn(headerVariants({ variant: \"h3\" }))}>{server.name}</Header>\n                    <>\n                      {server.bot ? (\n                        <Link href={`/dashboard/${server.id}`} className={cn(buttonVariants({ variant: \"primary\" }), \"ml-auto\")}>\n                          <PlusIcon className={iconVariants({ variant: \"button\" })} /> Manage\n                        </Link>\n                      ) : (\n                        <Link href={`/api/invite/${server.id}`} className={cn(buttonVariants({ variant: \"secondary\" }), \"ml-auto cursor-copy\")}>\n                          <PlusIcon className={iconVariants({ variant: \"button\" })} /> Invite\n                        </Link>\n                      )}\n                    </>\n                  </div>\n                  <div className=\"sm:hidden\">\n                    <Link href={server.bot ? `/dashboard/${server.id}` : `/api/invite/${server.id}`}>\n                      {server.icon ? (\n                        <Image\n                          src={`https://cdn.discordapp.com/icons/${server.id}/${server.icon}.${server.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n                          alt={server.name}\n                          quality={95}\n                          width={64}\n                          height={64}\n                          className={cn(\n                            {\n                              \"opacity-20\": !server.bot,\n                            },\n                            \"size-24 shrink-0 rounded-lg\"\n                          )}\n                        />\n                      ) : (\n                        <div\n                          className={cn(\n                            {\n                              \"opacity-20\": !server.bot,\n                            },\n                            \"bg-button-secondary size-24 shrink-0 rounded-lg\"\n                          )}\n                        />\n                      )}\n                    </Link>\n                  </div>\n                </div>\n              ))}\n            </>\n          ) : (\n            <div className=\"flex flex-col items-center justify-center\">\n              <Header className={cn(headerVariants({ variant: \"h1\", alignment: \"center\", margin: \"normal\" }))}>\n                <TriangleAlertIcon className={iconVariants({ variant: \"extraLarge\" })} />\n                You don&apos;t have any servers!\n              </Header>\n              <p className=\"mb-6 text-center text-base text-white/50 md:text-xl\">\n                It seems like you&apos;re not in any servers that you can manage, try joining a server or creating one.\n              </p>\n              <div className=\"flex flex-wrap justify-center gap-3\">\n                <Link href=\"/api/invite\" className={cn(buttonVariants({ variant: \"primary\" }))}>\n                  <PlusIcon className={iconVariants({ variant: \"button\" })} /> Invite Majo.exe\n                </Link>\n                <Link href=\"/\" className={cn(buttonVariants({ variant: \"secondary\" }))}>\n                  <HomeIcon className={iconVariants({ variant: \"button\" })} /> Go home\n                </Link>\n              </div>\n            </div>\n          )}\n        </div>\n        <div className=\"my-4 mt-12 flex flex-row flex-wrap items-start whitespace-nowrap rounded-lg border border-accent-primary bg-accent-primary/10 p-4\">\n          <span className=\"mr-1 flex flex-row items-center gap-1 whitespace-nowrap font-bold\">\n            <InfoIcon className={iconVariants({ variant: \"normal\", className: \"stroke-accent-primary\" })} /> Note:\n          </span>\n          <span className=\"whitespace-normal\">\n            You can only add the bot to servers you have the <code className=\"inline\">Manage Server</code> permission in.\n          </span>\n        </div>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/error.tsx",
    "content": "\"use client\";\n\nimport { RotateCwIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Particles from \"@/components/ui/effects/Particles\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Error({ reset }: { error: Error & { digest?: string }; reset: () => void }) {\n  return (\n    <>\n      <div className=\"absolute left-0 top-0 z-10 size-full bg-[radial-gradient(circle,rgba(2,0,36,0)0,rgb(16,17,16,100%))]\" />\n      <div className=\"relative flex min-h-screen w-full flex-col items-center justify-center gap-3 p-6\">\n        <Particles className=\"absolute inset-0\" quantity={200} ease={80} color={\"#fff\"} refresh />\n\n        <div className=\"z-30\">\n          <Header className={cn(headerVariants({ variant: \"h1\", margin: \"normal\", alignment: \"center\" }))}>500! Server error!</Header>\n          <span className=\"flex max-w-md gap-2 text-center text-xl opacity-50\">Sorry, we&apos;re having trouble loading this page. Please try again later or contact support.</span>\n          <div className=\"mt-6 flex flex-wrap justify-center gap-3\">\n            <Link href=\"/\" className={buttonVariants({ variant: \"primary\" })}>\n              <RotateCwIcon className={iconVariants({ variant: \"button\" })} onClick={reset} />\n              Try again\n            </Link>\n            <Link href=\"/discord\" className={buttonVariants({ variant: \"secondary\" })}>\n              <Icons.help className={iconVariants({ variant: \"button\" })} /> Contact support\n            </Link>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/layout.tsx",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport { SpeedInsights } from \"@vercel/speed-insights/next\";\nimport { GeistSans } from \"geist/font/sans\";\nimport { LoaderCircleIcon } from \"lucide-react\";\nimport type { Metadata } from \"next\";\nimport { AxiomWebVitals } from \"next-axiom\";\nimport { Toaster } from \"sonner\";\nimport { Footer } from \"@/components/Footer\";\nimport { Hotjar } from \"@/components/Hotjar\";\nimport { ProgressBar } from \"@/components/nav/ProgressBar\";\nimport { TopNavigation } from \"@/components/nav/TopNavigation\";\nimport { VisibilityProvider } from \"@/components/nav/VisibilityContext\";\nimport { Session } from \"@/components/Session\";\nimport { TailwindIndicator } from \"@/components/TailwindIndicator\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport \"styles/globals.css\";\nimport { env } from \"@/env\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata: Metadata = {\n  metadataBase: new URL(dashboardConfig.url),\n  title: {\n    default: dashboardConfig.title,\n    template: `%s | ${dashboardConfig.title}`,\n  },\n  description: dashboardConfig.description,\n  openGraph: {\n    title: dashboardConfig.title,\n    description: dashboardConfig.description,\n    url: dashboardConfig.url,\n    siteName: dashboardConfig.title,\n    images: [\n      {\n        url: dashboardConfig.image,\n        width: 1200,\n        height: 630,\n      },\n    ],\n    locale: \"en_US\",\n    type: \"website\",\n  },\n  robots: {\n    index: true,\n    follow: true,\n    googleBot: {\n      index: true,\n      follow: true,\n      \"max-video-preview\": -1,\n      \"max-image-preview\": \"large\",\n      \"max-snippet\": -1,\n    },\n  },\n  twitter: {\n    title: dashboardConfig.title,\n    card: \"summary_large_image\",\n  },\n  icons: {\n    shortcut: \"/favicon.ico\",\n  },\n};\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n  return (\n    <Session>\n      <html lang=\"en\">\n        <head>{env.HOTJAR_ID && <Hotjar id={env.HOTJAR_ID} />}</head>\n        <body className={cn(\"bg-background-primary selection:bg-accent-primary/30 text-white antialiased\", GeistSans.className)}>\n          <ProgressBar>\n            <VisibilityProvider>\n              <TopNavigation theme=\"full\" />\n              <main className=\"flex min-h-screen flex-row flex-wrap\">\n                <div className=\"mt-8\">{children}</div>\n              </main>\n              <Footer />\n              <Toaster // prettier\n                className=\"toaster group\"\n                closeButton={false}\n                theme=\"dark\"\n                icons={{\n                  loading: <LoaderCircleIcon className={iconVariants({ variant: \"normal\", className: \"animate-spin\" })} />,\n                }}\n                toastOptions={{\n                  classNames: {\n                    toast: \"group toast group-[.toaster]:bg-background-secondary! group-[.toaster]:text-white group-[.toaster]:border-neutral-800 group-[.toaster]:shadow-lg\",\n                    description: \"group-[.toast]:text-neutral-300\",\n                    actionButton: \"group-[.toast]:bg-button-primary group-[.toast]:text-white\",\n                    cancelButton: \"group-[.toast]:bg-button-secondary group-[.toast]:text-white\",\n                  },\n                }}\n              />\n              <SpeedInsights />\n              <AxiomWebVitals />\n              <TailwindIndicator />\n            </VisibilityProvider>\n          </ProgressBar>\n        </body>\n      </html>\n    </Session>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/legal/layout.tsx",
    "content": "import React from \"react\";\n\nexport default function MdxLayout({ children }: { children: React.ReactNode }) {\n  return <div className=\"prose prose-invert mx-auto flex-1 p-6 pt-20 prose-code:before:content-none prose-code:after:content-none\">{children}</div>;\n}\n"
  },
  {
    "path": "apps/dashboard/app/legal/privacy-policy/page.mdx",
    "content": "# Privacy Policy\n\nLast updated: December 31, 2024\n\nAt Majo.exe, accessible from [Majo.exe](https://majoexe.com), one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by Majo.exe and how we use it.\n\nIf you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.\n\nThis Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in Majo.exe. This policy is not applicable to any information collected offline or via channels other than this website.\n\n## Table of Contents\n\n- [Privacy Policy](#privacy-policy)\n  - [Table of Contents](#table-of-contents)\n  - [Usage Agreement](#usage-agreement)\n  - [Consent](#consent)\n  - [Information We Collect](#information-we-collect)\n    - [How We Use Your Information](#how-we-use-your-information)\n    - [How We Store Your Information](#how-we-store-your-information)\n  - [Data Deletion](#data-deletion)\n  - [Analytics](#analytics)\n  - [Cookies Policy](#cookies-policy)\n  - [Third Party Privacy Policies](#third-party-privacy-policies)\n  - [CCPA Privacy Rights (Do Not Sell My Personal Information)](#ccpa-privacy-rights-do-not-sell-my-personal-information)\n  - [GDPR Data Protection Rights](#gdpr-data-protection-rights)\n  - [Children's Information](#childrens-information)\n  - [Contact Us](#contact-us)\n\n## Usage Agreement\n\nBy inviting the bot and using its features (for example, but not limited to, using commands) are you agreeing to the below mentioned Terms and Privacy Policy (Policy) of the bot.\n\nYou acknowledge that you have the priviledge to use the bot freely on any Discord Server (Server) you share with it, that you can invite it to any Server that you have `Manage Server` permissions for and that this priviledge might get revoked for you, if you're subject of breaking the terms and/or policy of this bot, or the Terms of Service, Privacy Policy and/or Community Guidelines of [Discord Inc.](https://discord.com).\n\nThrough Inviting the bot may it collect specific data as described in its Policy. The intended usage of this data is for core functionalities of the bot such as but not limited to, storing your settings, handling commands, etc. The bot will not collect any data that is not described in its Policy. The bot will not share any data with third parties, unless required by law.\n\n## Consent\n\nBy using our website, you hereby consent to our Privacy Policy and agree to its terms. For our Terms and Conditions, please visit the [Terms & Conditions](/legal/tos) page.\n\n## Information We Collect\n\nWhen you use our Discord bot, we may collect and process certain information, including but not limited to:\n\n- **User Information**: We may collect data related to your Discord account, including **only** your User ID, username, global name (if applicable), avatar, account flags, nitro status, and discriminator. **We do not collect any other personal information such as your email address, phone number, or messages that you send.**\n- **Server Information**: We may collect data related to the Discord servers you invite our bot to, including server ID, channels and roles IDs, and server settings. We do not collect any personal information about your server members.\n\n### How We Use Your Information\n\nWe use the information we collect for the following purposes:\n\n- **User Authentication**: Your User ID is used for authentication and to identify you within our system.\n- **Bot Functionality**: Server information and are used to provide you with the requested bot functionality, such as handling commands, storing your settings, etc.\n- **Communication**: We may use your contact information to communicate with you, such as responding to your inquiries. We do not send promotional emails or newsletters.\n- **Improvement and Analysis**: We may use collected data for analytical purposes to improve our bot's performance, features, and user experience. We may also use this data to monitor and prevent fraud and abuse.\n\n**We take your privacy seriously and do not sell or share your information with third parties** for marketing purposes.\n\n### How We Store Your Information\n\n**We store your information on secure servers and do not share it with third parties.** We take all reasonable measures to protect your information from unauthorized access or against loss, misuse, or alteration by third parties. Although we make good faith efforts to store information collected by the bot in a secure operating environment, we cannot guarantee complete security.\n\n**We retain your information for one year after you stop using our bot.** After this time, your data will be automatically deleted from our servers with no option to recover it. This includes all data associated with your account, including settings, logs, and other information. **We may retain certain data for longer or shorter periods of time if required by law.**\n\nIf you wish to access, update, or delete your information, you may do so by going to your [profile settings](https://majoexe.com/user/profile). You may also contact us at `data@majoexe.com` to request access to your data.\n\n## Data Deletion\n\n**You may request to delete your data at any time by by going to your [profile settings](https://majoexe.com/user/profile)** and clicking the \"Delete Account\" button. Please note that deleting your account will permanently delete all data associated with your account, including your settings, server data, and other information.\n\n**You can also delete server data by kicking the bot from your server.** This will delete all server data associated with your server, including settings, logs, and other information.\n\n**Deleting your account or server data is irreversible and we will not be able to restore your data once it is deleted.** Please note that deleting your data will not delete any messages sent by the bot in your server. You will need to delete these messages manually.\n\n**We do not store your data longer than **one year after you stop using our bot**.** After this time, your data will be automatically deleted from our servers with no option to recover it. This includes all data associated with your account, including settings, logs, and other information. If you wish to delete your data before this time, you may do so by following the steps above. **We may retain certain data for longer or shorter periods of time if required by law.**\n\nYou may also contact us at `data@majoexe.com` to request deletion of your data. Please note that we may ask you to verify your identity before responding to such requests. We will respond to your request within 30 days.\n\n## Analytics\n\nWe use Hotjar in order to better understand our users needs and to optimize this service and experience.\n\nHotjar is a technology service that helps us better understand our users’ experience (e.g. how much time they spend on which pages, which links they choose to click, what users do and don’t like, etc.) and this enables us to build and maintain our service with user feedback.\n\nHotjar uses cookies and other technologies to collect data on our users’ behavior and their devices. This includes a device's IP address (processed during your session and stored in a de-identified form), device screen size, device type (unique device identifiers), browser information, geographic location (country only), and the preferred language used to display our website. Hotjar stores this information on our behalf in a pseudonymized user profile. Hotjar is contractually forbidden to sell any of the data collected on our behalf.\n\nFor further details, please see the [What is Hotjar](https://help.hotjar.com/hc/en-us/articles/115009334567-What-is-Hotjar-) page and [Hotjar's privacy policy](https://www.hotjar.com/legal/policies/privacy)\n\n## Cookies Policy\n\nWe use cookies to enhance and personalize your user experience. Cookies are small text files that are stored on your device when you visit our site. They help us to recognize your device, remember your preferences, and provide secure login functionality.\n\nWe use cookies for the following purposes:\n\n- **Authentication** - We use cookies to remember your login credentials and provide secure access to your account. This allows you to stay logged in and access your profile and personal information without having to enter your login details every time you visit the site.\n- **Personalization** - We use cookies to remember your preferences and personalize your experience on our site. For example, we may use cookies to remember your language preferences or theme settings.\n- **Analytics** - We use cookies to analyze user behavior and improve our site's performance. This helps us to understand how users interact with our site, which pages are most popular, and how we can optimize our site for better user experience.\n\nBy using our site, you consent to the use of cookies in accordance with this policy. You can control cookies through your browser settings and opt-out of non-essential cookies. However, please note that disabling cookies may affect your user experience on our site.\n\nIf you wish to disable cookies, you can do so through your individual browser options. For more information on how to manage cookies, please refer to the following resources:\n\n- [Google Chrome](https://support.google.com/chrome/answer/95647?hl=en)\n- [Mozilla Firefox](https://support.mozilla.org/en-US/kb/delete-cookies-remove-info-websites-stored)\n- [Apple Safari](https://support.apple.com/en-us/HT201265)\n- [Microsoft Edge](https://support.microsoft.com/en-us/microsoft-edge/delete-cookies-in-microsoft-edge-63947406-40ac-c3b8-57b9-2a946a29ae09)\n\n## Third Party Privacy Policies\n\nMajo.exe's Privacy Policy does not apply to other advertisers or websites. We are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.\n\nYou can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.\n\n## CCPA Privacy Rights (Do Not Sell My Personal Information)\n\nUnder the CCPA, among other rights, California consumers have the right to:\n\n- Request that a business that collects a consumer's personal data disclose the categories and specific pieces of personal data that a business has collected about consumers.\n- Request that a business delete any personal data about the consumer that a business has collected.\n- Request that a business that sells a consumer's personal data, not sell the consumer's personal data.\n\nIf you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us at `ccpa@majoexe.com`\n\n## GDPR Data Protection Rights\n\nWe would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following:\n\n- **The right to access** – You have the right to request copies of your personal data. You may also request a copy of your data by going to your [profile settings](https://majoexe.com/user/profile) and clicking the \"Download Data\" button.\n- **The right to rectification** – You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete. You may also update your information by going to your [profile settings](https://majoexe.com/user/profile).\n- **The right to erasure** – You have the right to request that we erase your personal data, under certain conditions.\n- **The right to restrict processing** – You have the right to request that we restrict the processing of your personal data, under certain conditions.\n- **The right to object to processing** – You have the right to object to our processing of your personal data, under certain conditions.\n- **The right to data portability** – You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions.\n\n## Children's Information\n\nAnother part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.\n\nMajo.exe does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.\n\n## Contact Us\n\nIf you have any questions or concerns about our Privacy Policy, Data storage or Data usage, please contact us at `contact@majoexe.com`. We will respond to your inquiry and work to resolve any privacy concerns you have in 30 days or less.\n\nYou may also contact us by our [Discord Server](https://majoexe.com/discord). Please note that we may ask you to verify your identity before responding to such requests.\n"
  },
  {
    "path": "apps/dashboard/app/legal/terms-of-service/page.mdx",
    "content": "# Terms of Service\n\nLast updated: November 11, 2023\n\n## Terms\n\n**By accessing this Website, accessible from https://majoexe.com, you are agreeing to be bound by these Website Terms and Conditions of Use and agree that you are responsible for the agreement with any applicable local laws.**\n\nIf you disagree with any of these terms, you are prohibited from accessing this site. The materials contained in this Website are protected by copyright and trade mark law.\n\n## Table of Contents\n\n- [Use License](#use-license)\n- [Disclaimer](#disclaimer)\n- [Limitations](#limitations)\n- [Revisions and Errata](#revisions-and-errata)\n- [User Content](#user-content)\n- [Modifications to the Terms of Use of the Site](#modifications-to-the-terms-of-use-of-the-site)\n- [Your Privacy](#your-privacy)\n- [Governing Law](#governing-law)\n- [Contact Us](#contact-us)\n\n## Use License\n\n**Permission is granted to use the materials on Majo.exe's Website for personal, non-commercial transitory viewing only.** This is the grant of a license, not a transfer of title, and under this license you may not:\n\n- modify or copy the materials;\n- use the materials for any commercial purpose;\n- remove any copyright or other proprietary notations from the materials; or\n- transferring the materials to another person or \"mirror\" the materials on any other server.\n- abuse the system in any way, shape or form. This includes but is not limited to: spamming, raiding, or any other malicious activity.\n- impersonate any person or entity, including but not limited to Majo.exe or any of its employees.\n- attempt to gain unauthorized access to Majo.exe's servers or any other server.\n- use Majo.exe for any illegal activity, including but not limited to: pirating, hacking, or any other illegal activity.\n- use Majo.exe for any activity that violates the [Discord Terms of Service](https://discord.com/terms)\n  or [Community Guidelines](https://discord.com/guidelines).\n\n**We may terminate or suspend Your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these Terms and Conditions.** When Your access is terminated, Your right to use the Service will cease immediately **and any data You have stored on the Service are deleted permanently and irretrievably.**\n\n## Disclaimer\n\n**All the materials on Majo.exe’s Website are provided \"as is\". Majo.exe makes no warranties, may it be expressed or implied, therefore negates all other warranties.** Furthermore, Majo.exe does not make any representations concerning the accuracy or reliability of the use of the materials on its Website or otherwise relating to such materials or any sites linked to this Website.\n\n## Limitations\n\nMajo.exe or its suppliers will not be hold accountable for any damages that will arise with the use or inability to use the materials on Majo.exe’s Website, even if Majo.exe or an authorize representative of this Website has been notified, orally or written, of the possibility of such damage. Some jurisdiction does not allow limitations on implied warranties or limitations of liability for incidental damages, these limitations may not apply to you.\n\n## Revisions and Errata\n\n**The materials appearing on Majo.exe’s Website may include technical, typographical, or photographic errors.** Majo.exe will not promise that any of the materials in this Website are accurate, complete, or current. Majo.exe may change the materials contained on its Website at any time without notice. Majo.exe does not make any commitment to update the materials. **Majo.exe may also make changes to the materials contained on its Website at any time without notice.**\n\n## User Content\n\n**Majo.exe does not own any of the content that you upload or create on our servers.** You are responsible for the content that you upload to our servers. **We are not responsible for any content that you upload to our servers. We reserve the right to remove any content that you upload to our servers at any time for any reason.**\n\nThis includes but is not limited to: illegal content, pirated content, or any other content that violates the [Discord Terms of Service](https://discord.com/terms) or [Community Guidelines](https://discord.com/guidelines).\n\n## Modifications to the Terms of Use of the Site\n\nBy using this Site, you agree to comply with the current version of these Terms of Use. If you do not agree with any of these terms, you may not use this Website. These terms and conditions apply to all visitors, users and others who access or use this Site.\n\nWe reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.\n\n## Your Privacy\n\n**Please read our [Privacy Policy](/legal/privacy-policy).** By using Majo.exe, you agree to the terms of our Privacy Policy. If you do not agree with any of these terms, you are prohibited from using this site and creating an account or using any of our services.\n\n## Governing Law\n\n**Any claim relating to Majo.exe website shall be governed by the laws of Poland, without regard to its conflict of law provisions.** In no event shall Majo.exe, or any of its employees, shall be held liable for any indirect, consequential or special liability arising out of or in any way related to your use of this Website.\n\n## Contact Us\n\n**If you have any questions, concerns, or complaints about our Terms of Service, our practices, or our Services, we encourage you to contact us at `contact@majoexe.com`. We will respond to your inquiry and work to resolve any privacy concerns you have in 30 days or less.**\n\nYou may also contact us by our [Discord Server](https://majoexe.com/discord). Please note that we may ask you to verify your identity before responding to such requests.\n"
  },
  {
    "path": "apps/dashboard/app/not-found.tsx",
    "content": "import { HomeIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Particles from \"@/components/ui/effects/Particles\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function NotFound() {\n  return (\n    <>\n      <div className=\"absolute left-0 top-0 z-10 size-full bg-[radial-gradient(circle,rgba(2,0,36,0)0,rgb(16,17,16,100%))]\" />\n      <div className=\"relative flex min-h-screen w-full flex-col items-center justify-center gap-3 p-6\">\n        <Particles className=\"absolute inset-0\" quantity={200} ease={80} color={\"#fff\"} refresh />\n        <div className=\"z-30\">\n          <Header className={cn(headerVariants({ variant: \"h1\", margin: \"wide\", alignment: \"center\" }))}>404! Page not found!</Header>\n          <span className=\"flex max-w-md gap-2 text-center text-xl opacity-50\">\n            We&apos;re sorry we can&apos;t find the page you&apos;re looking for. Please try again later or contact support.\n          </span>\n          <div className=\"mt-6 flex flex-wrap justify-center gap-3\">\n            <Link href=\"/\" className={buttonVariants({ variant: \"primary\" })}>\n              <HomeIcon className={iconVariants({ variant: \"button\" })} />\n              Go back home\n            </Link>\n\n            <Link href=\"/discord\" className={buttonVariants({ variant: \"secondary\" })}>\n              <Icons.help className={iconVariants({ variant: \"button\" })} /> Contact support\n            </Link>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/opengraph-image.tsx",
    "content": "import { ImageResponse } from \"next/og\";\n\nexport const runtime = \"edge\";\n\nexport default async function Image() {\n  const fontBold = await fetch(new URL(\"public/fonts/bold.ttf\", import.meta.url)).then((res) => res.arrayBuffer());\n  const fontRegular = await fetch(new URL(\"public/fonts/regular.ttf\", import.meta.url)).then((res) => res.arrayBuffer());\n\n  return new ImageResponse(\n    <div\n      style={{\n        height: \"100%\",\n        width: \"100%\",\n        display: \"flex\",\n        flexDirection: \"column\",\n        alignItems: \"center\",\n        justifyContent: \"center\",\n        backgroundColor: \"#101110\",\n        fontFamily: \"PoppinsBold\",\n        fontSize: 64,\n        fontWeight: 900,\n        boxShadow: \"inset 0px 0px 277px 3px #101110\",\n        backgroundImage:\n          \"url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(255,255,255,0.05)'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e\\\")\",\n      }}\n    >\n      <img\n        src={`${process.env.NEXTAUTH_URL}/assets/avatar.png`}\n        alt=\"avatar\"\n        style={{ width: \"125px\", height: \"125px\", marginBottom: \"20px\", borderRadius: \"50%\", boxShadow: \"0px 0px 277px 3px #101110\" }}\n      />\n      <div\n        style={{\n          backgroundImage: \"linear-gradient(to bottom, rgb(255, 255, 255), rgb(163, 163, 163))\",\n          backgroundClip: \"text\",\n          WebkitBackgroundClip: \"text\",\n          color: \"transparent\",\n          fontFamily: \"PoppinsBold\",\n        }}\n      >\n        The only one Discord Bot\n      </div>\n      <div\n        style={{\n          color: \"rgba(255, 255, 255, 0.5)\",\n          fontFamily: \"PoppinsRegular\",\n          fontSize: 32,\n          textAlign: \"center\",\n          maxWidth: \"80%\",\n          marginTop: \"15px\",\n        }}\n      >\n        Majo.exe will not only keep your server entertained but also assist you with moderation and many other things!\n      </div>\n    </div>,\n    {\n      width: 1200,\n      height: 630,\n      fonts: [\n        {\n          name: \"PoppinsBold\",\n          data: fontBold,\n          style: \"normal\",\n          weight: 900,\n        },\n        {\n          name: \"PoppinsRegular\",\n          data: fontRegular,\n          style: \"normal\",\n          weight: 400,\n        },\n      ],\n    }\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/page.tsx",
    "content": "import { dashboardConfig, globalConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { GuildLogType } from \"@majoexe/database/types\";\nimport { pseudoRandom } from \"@majoexe/util/functions/util\";\nimport { ApplicationCommandOptionType } from \"discord-api-types/v10\";\nimport { CheckIcon, ChevronRightIcon, TrendingUpIcon } from \"lucide-react\";\nimport type { Metadata } from \"next\";\nimport Link from \"next/link\";\nimport avatar01 from \"public/assets/avatars/01.webp\";\nimport avatar03 from \"public/assets/avatars/03.webp\";\nimport avatar05 from \"public/assets/avatars/05.webp\";\nimport ray from \"public/assets/ray.png\";\nimport tada from \"public/assets/tada.svg\";\nimport tadaAnimated from \"public/assets/tada_animated.gif\";\nimport { Suspense } from \"react\";\nimport Balancer from \"react-wrap-balancer\";\nimport { BotReplacement } from \"./_components/BotReplacement\";\nimport { ExampleChart } from \"./_components/ExampleChart\";\nimport { statisticsChartConfig } from \"./dashboard/[server]/statistics/page\";\nimport { AddReaction } from \"@/app/_components/AddReaction\";\nimport { LevelUp } from \"@/app/_components/LevelUp\";\nimport { Notifications } from \"@/app/_components/Notifications\";\nimport { LogDisclosure } from \"@/app/dashboard/[server]/dashboard-logs/components/Logs\";\nimport { StatsChart } from \"@/components/client/charts/ServerStatsChart\";\nimport { LoginButton } from \"@/components/LoginButton\";\nimport { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@/components/ui/Accordion\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport { AnimatedShinyText } from \"@/components/ui/effects/AnimatedShinyText\";\nimport { BorderBeam } from \"@/components/ui/effects/BorderBeam\";\nimport { Fade } from \"@/components/ui/effects/FadeText\";\nimport FlickeringGrid from \"@/components/ui/effects/FlickeringGrid\";\nimport { NumberTicker } from \"@/components/ui/effects/NumberTicker\";\nimport Particles from \"@/components/ui/effects/Particles\";\nimport Ripple from \"@/components/ui/effects/Ripple\";\nimport { WordPullUp } from \"@/components/ui/effects/WordPullUp\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Typing } from \"@/components/ui/Loaders\";\nimport { env } from \"@/env\";\nimport { Command } from \"@/lib/types\";\nimport { cn } from \"@/lib/utils\";\n\nexport const metadata: Metadata = {\n  title: \"Majo.exe - The only one Discord Bot\",\n  description: \"Majo.exe will not only keep your server entertained but also assist you with moderation and many other things!\",\n};\n\nexport default async function Page() {\n  const exampleLogs = [\n    {\n      id: \"0\",\n      type: GuildLogType.CommandEnable,\n      guildId: \"1234567890\",\n      authorId: \"123456789\",\n      createdAt: new Date(new Date().getTime() - 2 * 16 * 60 * 15 * 1000).toISOString().toString(),\n      content: \"Disabled command /help\",\n      data: {},\n      user: {\n        discordId: \"544164729354977282\",\n        global_name: \"Robert\",\n        name: \"Robert\",\n        //avatar: \"0\",\n        fullAvatar: avatar03.src,\n        avatar: \"\",\n        discriminator: \"0\",\n      },\n    },\n    {\n      id: \"1\",\n      type: GuildLogType.VanityUpdate,\n      guildId: \"1234567890\",\n      authorId: \"123456789\",\n      createdAt: new Date(new Date().getTime() - 1 * 21 * 60 * 60 * 1000).toISOString().toString(),\n      content: \"Changed vanity URL to /majo\",\n      data: {},\n      user: {\n        discordId: \"689210472345677282\",\n        global_name: \"Jonas\",\n        name: \"Jonas\",\n        //avatar: \"0\",\n        fullAvatar: avatar01.src,\n        avatar: \"\",\n        discriminator: \"0\",\n      },\n    },\n    {\n      id: \"2\",\n      type: GuildLogType.CommandCategoryEnable,\n      guildId: \"1234567890\",\n      authorId: \"123456789\",\n      createdAt: new Date(new Date().getTime() - 2 * 23 * 60 * 60 * 1000).toISOString().toString(),\n      content: \"Enabled category Fun\",\n      data: {},\n      user: {\n        discordId: \"989210472345677282\",\n        global_name: \"Ethan\",\n        name: \"Ethan\",\n        //avatar: \"0\",\n        fullAvatar: avatar05.src,\n        avatar: \"\",\n        discriminator: \"0\",\n      },\n    },\n  ];\n\n  const faqItems = [\n    {\n      question: \"What is Majo.exe\",\n      answer:\n        \"Majo.exe is a multi-purpose Discord bot that offers a wide range of features such as moderation, image manipulation, leveling, auto-moderation, and much more. It's designed to be easy to use and highly customizable - perfect for any server.\",\n    },\n    {\n      question: \"Do you offer technical support?\",\n      answer: \"Yes! If you have any issues, we're here to help you. Just join our Discord server and ask for help.\",\n    },\n    {\n      question: \"Is Majo.exe free?\",\n      answer: \"Yes! Majo.exe is free to use and always will be. We are planning to offer premium features in the future, but the core bot will always be free.\",\n    },\n    {\n      question: \"How do I invite Majo.exe to my server?\",\n      answer:\n        \"You can invite Majo.exe to your server by clicking the 'Add to server' button on our website. You'll need to have the 'Manage Server' permission to add the bot to your server.\",\n    },\n    {\n      question: \"How do I report a bug?\",\n      answer: \"If you find a bug, please report it on our GitHub repository. We'll do our best to fix it as soon as possible.\",\n    },\n  ];\n\n  const allCommands = (await prismaClient.commands.findMany({\n    select: {\n      name: true,\n      options: true,\n    },\n  })) as unknown as Command[];\n\n  let commandsCount = 0;\n\n  allCommands.forEach((command) => {\n    if (!command.options) return;\n\n    command.options.forEach((option) => {\n      if (!option) return;\n      if (option.type === ApplicationCommandOptionType.Subcommand || option.type === ApplicationCommandOptionType.SubcommandGroup) commandsCount++;\n    });\n\n    commandsCount++;\n  });\n  const guilds = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/applications/@me`, {\n    method: \"GET\",\n    headers: {\n      Authorization: `Bot ${env.TOKEN}`,\n    },\n    next: { revalidate: 3600 },\n  });\n\n  const jsonData = await guilds.json();\n\n  return (\n    <div className=\"p-6\">\n      <div className=\"relative z-20 flex min-h-screen w-full items-center justify-center\">\n        <div className=\"absolute left-0 top-0 z-10 size-full bg-[radial-gradient(circle,rgba(2,0,36,0)0,rgb(16,17,16,100%))]\" />\n        <div className=\"relative z-20 -mt-8 flex w-full select-none flex-col items-center justify-center gap-3 px-3 md:w-[90%]\">\n          <Fade\n            framerProps={{\n              show: { opacity: 1, transition: { type: \"spring\", delay: 0.85, duration: 0.5 } },\n            }}\n          >\n            <Link\n              href=\"/api/invite\"\n              className={cn(\n                \"group rounded-full border flex transition-all ease-in hover:cursor-pointer  border-neutral-800 bg-neutral-900 hover:border-neutral-700 hover:bg-neutral-800\"\n              )}\n            >\n              <AnimatedShinyText className=\"inline-flex items-center justify-center px-4 py-1 transition ease-out hover:text-neutral-400 hover:duration-300\">\n                <span>✨ Introducing Majo.exe</span>\n                <ChevronRightIcon className={iconVariants({ variant: \"normal\", className: \"-mr-1 ml-1 transition-transform ease-in-out group-hover:translate-x-0.5\" })} />\n              </AnimatedShinyText>\n            </Link>\n          </Fade>\n          <WordPullUp\n            wordsClassName={cn(headerVariants({ variant: \"big\", alignment: \"center\", effects: \"gradient\" }), \"font-black! leading-snug!\")}\n            words=\"The only one Discord Bot\"\n            className=\"text-center\"\n          />\n          <Fade\n            framerProps={{\n              show: { opacity: 1, transition: { type: \"spring\", delay: 0.9, duration: 0.5 } },\n            }}\n          >\n            <Header className={cn(headerVariants({ variant: \"h2\", alignment: \"center\" }), \"max-w-[680px] font-normal text-white/70\")}>\n              Majo.exe will not only keep your server entertained but also assist you with moderation and many other things!\n            </Header>\n          </Fade>\n          <Fade\n            framerProps={{\n              show: { opacity: 1, transition: { type: \"spring\", delay: 0.95, duration: 0.5 } },\n            }}\n          >\n            <div className=\"mt-2 flex flex-col gap-3 sm:flex-row\">\n              <LoginButton />\n              <Link href=\"/api/invite\" className={cn(buttonVariants({ variant: \"secondary\" }))}>\n                <Icons.userAdd className={iconVariants({ variant: \"button\" })} />\n                Add to your server\n              </Link>\n            </div>\n          </Fade>\n        </div>\n        <Particles className=\"absolute inset-0\" quantity={200} ease={80} color={\"#fff\"} refresh />\n\n        <Image\n          alt=\"Background\"\n          width={1000}\n          height={1000}\n          className=\"pointer-events-none absolute inset-x-0 -top-20 z-0 mx-auto hidden size-full select-none lg:block\"\n          src={ray.src}\n          loading=\"eager\"\n        />\n\n        <div className=\"absolute bottom-0 z-10 hidden min-h-[500px] w-full translate-y-1/2 flex-col items-center justify-center md:flex\">\n          <Fade\n            framerProps={{\n              show: { opacity: 1, transition: { type: \"spring\", delay: 1, duration: 0.5 } },\n            }}\n          >\n            <Image src=\"/assets/images/globe.png\" alt=\"Globe\" width={750} height={750} className=\"aspect-square max-w-full\" loading=\"lazy\" />\n            {/* <GlobeClient /> */}\n            <div className=\"absolute inset-0 -z-10 m-auto mt-[100px] size-[580px] rounded-full bg-[#ddd] opacity-5 blur-3xl\" />\n          </Fade>\n        </div>\n      </div>\n      <div className=\"relative z-20 bg-background-primary\">\n        <hr className=\"m-[0_auto] mb-8 h-px w-full border-none bg-[linear-gradient(to_right,transparent,rgba(255,255,255,0.1)_50%,transparent)] px-8 duration-300 motion-reduce:transition-none\" />\n        <div className=\"mx-auto mb-32 max-w-[1400px] md:px-8 lg:px-16\">\n          <div className=\"mx-auto flex flex-col justify-around gap-3 md:flex-row\">\n            <div className=\"flex flex-col items-center justify-center gap-3\">\n              <Header className={headerVariants({ variant: \"h2\", effects: \"gradient\" })}>\n                <span>\n                  <Suspense fallback={<span>{jsonData.approximate_guild_count || 0}</span>}>\n                    <NumberTicker value={jsonData.approximate_guild_count || 0} />\n                  </Suspense>\n                  + servers\n                </span>\n              </Header>\n            </div>\n            <div className=\"flex flex-col items-center justify-center gap-3\">\n              <Header className={headerVariants({ variant: \"h2\", effects: \"gradient\" })}>\n                <span>\n                  <Suspense fallback={<span>{commandsCount}</span>}>\n                    <NumberTicker value={commandsCount} />\n                  </Suspense>\n                  + commands\n                </span>\n              </Header>\n            </div>\n\n            <div className=\"flex flex-col items-center justify-center gap-3\">\n              <Header className={headerVariants({ variant: \"h2\", effects: \"gradient\" })}>\n                <span>\n                  <Suspense fallback={<span>100000</span>}>\n                    <NumberTicker value={100000} />\n                  </Suspense>\n                  + users\n                </span>\n              </Header>\n            </div>\n          </div>\n\n          <p className=\"my-6 w-full text-center text-sm text-neutral-400\">...and counting!</p>\n\n          <div className=\"mx-auto flex w-full max-w-[1400px] flex-col gap-6 px-4 md:grid md:grid-cols-2 md:px-0 lg:grid-cols-3\">\n            <div className=\"row-span-1 overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary p-4 duration-200 hover:bg-neutral-800/50\">\n              <Header className={headerVariants({ variant: \"h2\", effects: \"gradient\" })}>Image manipulation? We got you!</Header>\n              <p className=\"mt-2 max-w-[680px] text-white/70\">Want to edit an image? Or maybe you want to make a meme?</p>\n              <div className=\"mt-3\">\n                <div className=\"flex flex-row items-center gap-1\">\n                  <div className=\"ml-5 h-3 w-7 rounded-tl-md border-l-2 border-t-2 border-button-secondary\" />\n                  <Image src={dashboardConfig.logo} alt=\"User avatar\" quality={95} width={20} height={20} className=\"size-5 shrink-0 self-baseline rounded-full\" />\n                  <span className=\"text-xs\">\n                    <span className=\"font-bold\">Majonez.exe</span> used <span className=\"font-bold text-accent-primary\">/ai</span>\n                  </span>\n                </div>\n                <div className=\"flex items-center gap-1\">\n                  <Image\n                    src={dashboardConfig.logo}\n                    alt={`${dashboardConfig.title} avatar`}\n                    quality={95}\n                    width={40}\n                    height={40}\n                    className=\"size-10 shrink-0 self-baseline rounded-full\"\n                  />\n                  <div className=\"flex flex-col\">\n                    <div className=\"ml-2 flex h-10 flex-row items-center\">\n                      <span className=\"font-bold\">{dashboardConfig.title}</span>{\" \"}\n                      <span className=\"ml-1 flex items-center gap-1 rounded-sm bg-[#5c65f3] px-1 py-[0.12rem] text-xs text-white\">\n                        <CheckIcon className={iconVariants({ variant: \"small\" })} /> <span className=\"-mb-px\">BOT</span>\n                      </span>\n                      <span className=\"ml-2 text-sm text-neutral-400\">Today at 4:20 PM</span>\n                    </div>\n                    <span className=\"ml-2 flex items-center gap-1  text-neutral-400\">\n                      Generating image\n                      <Link href=\"/assets/avatars/cheese.jpeg\" target=\"_blank\" rel=\"noopener noreferrer\">\n                        <Typing className=\"mx-2\" />\n                      </Link>\n                    </span>\n                  </div>\n                </div>\n              </div>\n            </div>\n            <div className=\"row-span-1 overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary p-4 duration-200 hover:bg-neutral-800/50\">\n              <Header className={headerVariants({ variant: \"h2\", margin: \"normal\", effects: \"gradient\" })}>Leveling?</Header>\n              <p className=\"mt-2 max-w-[680px] text-white/70\">Majo.exe has a leveling system that will keep your members active and entertained.</p>\n              <LevelUp avatar={dashboardConfig.logo} username=\"Majonez.exe\" />\n            </div>\n            <div className=\"relative col-span-2 row-span-2 overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary px-8 py-6 duration-200 hover:bg-neutral-800/50 lg:col-span-1\">\n              <Header\n                className={cn(\n                  headerVariants({ variant: \"h2\", margin: \"normal\" }),\n                  \"text-fill-transparent bg-linear-to-b from-white to-neutral-400 box-decoration-clone bg-clip-text font-black\"\n                )}\n              >\n                Moderation? We have it!\n              </Header>\n              <div className=\"absolute inset-0 z-0 m-auto mt-[100px] size-[580px] rounded-full bg-[#ddd] opacity-5 blur-3xl\" />\n              <div className=\"relative z-10\">\n                <p className=\"mt-2 max-w-[680px] text-white/70\">\n                  <Balancer>Someone&apos;s breaking the rules? You can easily enable Auto-Moderation and Majo.exe will take care of the rest!</Balancer>\n                </p>\n                <div className=\"mt-3 h-48 overflow-hidden\">\n                  <Notifications />\n                </div>\n              </div>\n            </div>\n            <div className=\"relative col-span-2 row-span-2 overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary duration-200 hover:bg-neutral-800/50\">\n              <div className=\"relative z-50 h-full\">\n                <div className=\"px-8 py-6\">\n                  <Header\n                    className={cn(\n                      headerVariants({ variant: \"h1\", margin: \"normal\" }),\n                      \"text-fill-transparent bg-linear-to-b from-white to-neutral-400 box-decoration-clone bg-clip-text font-black\"\n                    )}\n                  >\n                    Know more about your server\n                  </Header>\n                  <p className=\"max-w-[680px] text-white/70\">\n                    <Balancer>\n                      With Majo.exe you can get to know your server better with the help of the dashboard. You can see the most active members, the most used channels and activity\n                      graphs!\n                    </Balancer>\n                  </p>\n                </div>\n                <div className=\"z-50 flex flex-col items-center justify-center gap-3 px-8 py-6 md:flex-row\">\n                  <p className=\"flex cursor-pointer gap-1 rounded-full border border-accent-primary/50 bg-accent-primary/20 px-2 py-1 text-sm font-bold text-accent-primary backdrop-blur-md duration-200 hover:bg-accent-primary/30\">\n                    +{Math.floor(Math.random() * 10 + 15)} users today\n                    <TrendingUpIcon className={iconVariants({ variant: \"normal\" })} />\n                  </p>\n\n                  <p className=\"flex cursor-pointer gap-1 rounded-full border border-accent-primary/50 bg-accent-primary/20 px-2 py-1 text-sm font-bold text-accent-primary backdrop-blur-md duration-200 hover:bg-accent-primary/30\">\n                    +{Math.floor(Math.random() * 500 + 100)} messages today\n                    <TrendingUpIcon className={iconVariants({ variant: \"normal\" })} />\n                  </p>\n\n                  <p className=\"flex cursor-pointer gap-1 rounded-full border border-accent-primary/50 bg-accent-primary/20 px-2 py-1 text-sm font-bold text-accent-primary backdrop-blur-md duration-200 hover:bg-accent-primary/30\">\n                    +{Math.floor(Math.random() * 80 + 5)}% increase in activity\n                    <TrendingUpIcon className={iconVariants({ variant: \"normal\" })} />\n                  </p>\n                </div>\n              </div>\n              <ExampleChart />\n              <div className=\"absolute inset-0 z-10 m-auto mt-[100px] size-[980px] rounded-full bg-[#ddd] opacity-5 blur-3xl\" />\n            </div>\n            <div className=\"relative col-span-2 row-span-1 overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary px-8 py-6 pb-2 duration-200 hover:bg-neutral-800/50 lg:col-span-1\">\n              <Header className={headerVariants({ variant: \"h2\", margin: \"normal\", effects: \"gradient\" })}>Giveaways? Why not?</Header>\n              <p className=\"mt-2 max-w-[680px] text-white/70\">\n                Want to host a giveaway or a drop? Majo.exe can help you with that! You can easily create and moderate giveaways with few simple commands!\n              </p>\n              <div className=\"my-6 flex items-center gap-1\">\n                <Image\n                  src={dashboardConfig.logo}\n                  alt={`${dashboardConfig.title} avatar`}\n                  quality={95}\n                  width={40}\n                  height={40}\n                  className=\"size-10 shrink-0 self-baseline rounded-full\"\n                />\n                <div className=\"flex flex-col\">\n                  <div className=\"ml-2 flex flex-row items-center\">\n                    <span className=\"font-bold\">{dashboardConfig.title}</span>{\" \"}\n                    <span className=\"ml-1 flex items-center gap-1 rounded-sm bg-[#5c65f3] px-1 py-[0.12rem] text-xs text-white\">\n                      <CheckIcon className={iconVariants({ variant: \"small\" })} /> <span className=\"-mb-px\">BOT</span>\n                    </span>\n                    <span className=\"ml-2 text-sm text-neutral-400\">Today at 4:20 PM</span>\n                  </div>\n                  <div\n                    className=\"ml-1 mt-2 rounded-sm bg-[#2b2d31] p-4 shadow-lg\"\n                    style={{\n                      borderLeft: `4px solid ${globalConfig.defaultColor}`,\n                    }}\n                  >\n                    <div className=\"flex flex-row gap-8\">\n                      <div>\n                        <span className=\"font-bold\">🎉 New giveaway!</span>\n                        <span className=\"mt-1 block text-sm text-neutral-400\">React with 🎉 to participate!</span>\n                      </div>\n\n                      <Image src={tadaAnimated.src} alt=\"Giveaway emoji\" quality={95} width={64} height={64} className=\"size-16 shrink-0\" />\n                    </div>\n                  </div>\n                  <AddReaction reaction={tada} />\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n\n        <div className=\"mx-auto mb-32 max-w-[1400px] md:px-8 lg:px-16\">\n          <div className=\"mx-auto my-16 flex flex-col gap-8 px-4 lg:flex-row lg:gap-16 lg:px-0\">\n            <div className=\"flex w-full flex-col justify-center gap-2 lg:w-2/5\">\n              <Header className={headerVariants({ variant: \"h1\", margin: \"normal\", effects: \"gradient\" })}>See what&apos;s happening in your server</Header>\n              <p className=\"text-white/70\">\n                With Majo.exe you can see your server statistics in real-time. You can see the most active members, the most used channels and much more!\n              </p>\n            </div>\n            <div className=\"w-full overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary px-8 py-6 duration-200 hover:bg-neutral-800/50 lg:w-3/5\">\n              <Suspense fallback={<div className=\"h-56 w-full rounded-xl border border-neutral-800 bg-background-secondary\" />}>\n                <StatsChart\n                  title=\"Members\"\n                  showDateRange={false}\n                  data={Array.from({ length: 7 }, (_, i) => ({\n                    date: new Date(Date.now() - i * 86400000).toISOString().split(\"T\")[0] || \"\",\n                    Joins: Math.floor(pseudoRandom(i)),\n                    Leaves: Math.floor(pseudoRandom(i) / 3.33),\n                  }))}\n                  categories={[\"Joins\", \"Leaves\"]}\n                  chartConfig={statisticsChartConfig}\n                />\n              </Suspense>\n            </div>\n          </div>\n\n          <div className=\"mx-auto my-16 flex flex-col-reverse gap-8 px-4 lg:flex-row lg:gap-16 lg:px-0\">\n            <div className=\"w-full lg:w-3/5\">\n              {exampleLogs.map((log) => (\n                <LogDisclosure item={log} key={log.id} preview={true} guildId=\"123\" />\n              ))}\n            </div>\n            <div className=\"flex w-full flex-col justify-center gap-2 lg:w-2/5\">\n              <Header className={headerVariants({ variant: \"h1\", margin: \"normal\", effects: \"gradient\" })}>Keep track of everything</Header>\n              <p className=\"text-white/70\">\n                Majo.exe has a powerful logging system that will keep track of everything that happens in your server. You can easily see who did what and when!\n              </p>\n            </div>\n          </div>\n\n          <div className=\"mx-auto my-16 flex flex-col gap-8 px-4 lg:flex-row lg:gap-16 lg:px-0\">\n            <div className=\"flex w-full flex-col justify-center gap-2 lg:w-2/5\">\n              <Header className={headerVariants({ variant: \"h1\", margin: \"normal\", effects: \"gradient\" })}>Why so many unnecessary bots?</Header>\n              <p className=\"text-white/70\">\n                Majo.exe with its many features can replace many bots on your server. You can have moderation, leveling, image manipulation and much more in one bot!\n              </p>\n            </div>\n            <div className=\"relative w-full overflow-hidden rounded-xl border border-neutral-800 bg-background-secondary px-8 py-6 duration-200 lg:w-3/5\">\n              <Ripple className=\"opacity-30\" />\n              <BotReplacement />\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <div className=\"mx-auto mb-32 max-w-[1400px] md:px-8 lg:px-16\">\n        <div>\n          <Header className={headerVariants({ variant: \"medium\", margin: \"normal\", alignment: \"center\", effects: \"gradient\" })}>Frequently asked questions</Header>\n\n          <div className=\"mx-auto mt-9 w-full max-w-3xl rounded-xl\">\n            {faqItems.map((item, index) => (\n              <Accordion type=\"single\" collapsible key={`faq-${item.question}`}>\n                <AccordionItem value={`item-${index + 1}`}>\n                  <AccordionTrigger>{item.question}</AccordionTrigger>\n                  <AccordionContent>{item.answer}</AccordionContent>\n                </AccordionItem>\n              </Accordion>\n            ))}\n\n            <div className=\"mt-6 text-center text-sm text-neutral-400\">\n              Have more questions?{\" \"}\n              <Link href=\"/contact\" className=\"underline\">\n                Contact us.\n              </Link>\n            </div>\n          </div>\n        </div>\n\n        <div className=\"relative mx-auto mt-32 h-[600px] max-w-6xl overflow-hidden rounded-3xl border border-neutral-800 bg-transparent pb-10 shadow-2xl md:px-8 lg:px-16\">\n          <div className=\"flex flex-col items-center justify-center pt-20\">\n            <Header className={headerVariants({ variant: \"medium\", margin: \"normal\", alignment: \"center\" })}>What are you waiting for?</Header>\n            <p className=\"mb-6 w-full text-center text-lg text-neutral-300\">\n              <Balancer>Don&apos;t wait ages to add Majo.exe to your server! Invite it now and see it in action!</Balancer>\n            </p>\n\n            <Link href=\"/api/invite\" className={cn(buttonVariants({ variant: \"primary\" }), \"mx-auto w-fit\")}>\n              <Icons.userAdd className={iconVariants({ variant: \"button\" })} />\n              Add to your server\n            </Link>\n          </div>\n\n          <div className=\"relative mt-16 flex w-full justify-center overflow-hidden lg:px-16\">\n            <Image\n              src=\"/assets/images/dash.png\"\n              alt=\"Dashboard\"\n              width={1844}\n              height={962}\n              className=\"size-full rounded-md border border-neutral-800 object-cover object-top shadow-lg\"\n              loading=\"lazy\"\n            />\n          </div>\n          <BorderBeam colorFrom={globalConfig.defaultColor} colorTo={globalConfig.defaultColor} size={450} borderWidth={1.7} />\n          <FlickeringGrid\n            width={1400}\n            height={800}\n            squareSize={3}\n            color={\"#737373\"}\n            className=\"pointer-events-none absolute inset-0 -z-10 size-full bg-background-secondary opacity-70\"\n          />\n          <div className=\"to-[hsla(202, 36%, 96%, 1)] absolute inset-0 -z-10 size-full bg-linear-to-b from-accent-primary/15\" />\n        </div>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/robots.ts",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport type { MetadataRoute } from \"next\";\n\nexport default function robots(): MetadataRoute.Robots {\n  return {\n    rules: [\n      {\n        userAgent: \"*\",\n        allow: \"/\",\n        disallow: [\"/api/\", \"/dashboard/\", \"/auth/\", \"/cgi-bin/\", \"/server/\", \"/user/\"],\n      },\n    ],\n    sitemap: `${dashboardConfig.url}/sitemap.xml`,\n    host: dashboardConfig.url,\n  };\n}\n"
  },
  {
    "path": "apps/dashboard/app/server/[server]/layout.tsx",
    "content": "import React from \"react\";\n\nexport default function Layout({ children }: { children: React.ReactNode }) {\n  return <div className=\"ml-0 flex-1 p-6 pt-20\">{children}</div>;\n}\n"
  },
  {
    "path": "apps/dashboard/app/server/[server]/loading.tsx",
    "content": "import { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { cn } from \"@/lib/utils\";\n\nexport default function Loading() {\n  return (\n    <div className=\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\">\n      <Header className={cn(headerVariants({ variant: \"h1\" }), \"mb-6 flex-col justify-normal\")}>\n        <div className=\"size-24 shrink-0 rounded-full bg-button-secondary\" />\n        <div className=\"flex flex-col items-center justify-center text-center sm:ml-4\">\n          <Skeleton className=\"h-6 w-32\" />\n          <Skeleton className=\"mt-2 h-6 w-64 opacity-60\" />\n        </div>\n      </Header>\n\n      <Block className=\"mt-4! flex w-full flex-col gap-3 p-4! sm:flex-row sm:gap-0\">\n        <div className=\"flex flex-col items-center justify-center gap-3 sm:flex-row\">\n          <div className=\"flex items-center\">\n            <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />0 members\n          </div>\n          <div className=\"flex items-center\">\n            <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#22a55b]\" />0 online\n          </div>\n        </div>\n        <span className=\"mx-auto whitespace-nowrap sm:ml-auto sm:mr-0\">Powered by Majo.exe</span>\n      </Block>\n\n      <div className=\"mt-6 block gap-6 lg:flex lg:items-start\">\n        <Block className=\"scrollbar-show flex flex-col justify-start overflow-x-scroll flex-[3_1_0]\">\n          <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>Leaderboard</Header>\n          <Skeleton className=\"h-64 w-full\" />\n        </Block>\n        <div className=\"mt-6 flex flex-col justify-start gap-6 flex-[2_1_0%] lg:mt-0\">\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Emojis\n              <span className=\"ml-auto font-medium opacity-60\">Loading...</span>\n            </Header>\n          </Block>\n\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Stickers\n              <span className=\"ml-auto font-medium opacity-60\">Loading...</span>\n            </Header>\n          </Block>\n        </div>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/server/[server]/page.tsx",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport prismaClient from \"@majoexe/database\";\nimport { getGuild, getGuildPreview } from \"@majoexe/util/functions/guild\";\nimport { Metadata } from \"next\";\nimport Link from \"next/link\";\nimport { notFound } from \"next/navigation\";\nimport Balancer from \"react-wrap-balancer\";\nimport { Leaderboard } from \"@/app/dashboard/[server]/leaderboard/components/Leaderboard\";\nimport { Block } from \"@/components/ui/Block\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport Image from \"@/components/ui/Image\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport async function generateMetadata({ params }: { params: Promise<{ server: string }> }): Promise<Metadata> {\n  const { server } = await params;\n  const guild = await prismaClient.guild.findFirst({\n    where: {\n      OR: [\n        {\n          guildId: server,\n        },\n        {\n          vanity: server,\n        },\n      ],\n    },\n  });\n\n  if (!guild || !guild.guildId || !guild.publicPage)\n    return {\n      title: \"Public Server Overview\",\n      description: \"View the overview of your server.\",\n    };\n\n  const serverDownload = await getGuild(guild.guildId);\n\n  if (!serverDownload || !serverDownload.bot)\n    return {\n      title: \"Public Server Overview\",\n      description: \"View the overview of your server.\",\n    };\n\n  const guildPreview = await getGuildPreview(serverDownload.id);\n  if (!guildPreview || !guildPreview.id)\n    return {\n      title: \"Public Server Overview\",\n      description: \"View the overview of your server.\",\n    };\n\n  return {\n    title: `${guildPreview.name || \"Unnamed server\"}`,\n    description: guildPreview.description || \"View the overview of your server.\",\n    openGraph: {\n      title: `${guildPreview.name || \"Unnamed server\"}`,\n      description: guildPreview.description || \"View the overview of your server.\",\n      url: dashboardConfig.url,\n      siteName: dashboardConfig.title,\n    },\n  };\n}\n\nexport default async function Page(props: { params: Promise<{ server: string }> }) {\n  const params = await props.params;\n  const { server } = params;\n\n  const guild = await prismaClient.guild.findFirst({\n    where: {\n      OR: [\n        {\n          guildId: server,\n        },\n        {\n          vanity: server,\n        },\n      ],\n    },\n    include: {\n      guildXp: {\n        orderBy: {\n          xp: \"desc\",\n        },\n        take: 5,\n        include: {\n          user: {\n            select: {\n              discordId: true,\n              global_name: true,\n              name: true,\n              avatar: true,\n              discriminator: true,\n            },\n          },\n        },\n      },\n    },\n  });\n\n  if (!guild || !guild.guildId || !guild.publicPage) return notFound();\n\n  const guildPreview = await getGuildPreview(guild.guildId);\n  if (!guildPreview || !guildPreview.id) return notFound();\n\n  const data = guild.guildXp.map((x, i) => {\n    return {\n      id: i + 1,\n      user: x.user,\n      xp: x.xp,\n      level: Math.floor(0.1 * Math.sqrt(x.xp || 0)),\n    };\n  });\n\n  return (\n    <div className=\"mx-auto max-w-7xl px-4 sm:px-6 lg:px-8\">\n      <Header className={cn(headerVariants({ variant: \"h1\" }), \"mb-6 flex-col justify-normal\")}>\n        {guildPreview.icon ? (\n          <Image\n            src={`https://cdn.discordapp.com/icons/${guildPreview.id}/${guildPreview.icon}.${guildPreview.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n            alt={guildPreview.name}\n            quality={95}\n            width={96}\n            height={96}\n            className=\"size-24 rounded-full\"\n          />\n        ) : (\n          <div className=\"size-24 rounded-full bg-button-secondary\" />\n        )}\n        <div className=\"flex flex-col text-center sm:ml-4\">\n          {guildPreview.name || \"Unnamed server\"}\n          <Header className={cn(headerVariants({ variant: \"h5\", alignment: \"center\" }), \"mt-2 opacity-60\")}>\n            <Balancer>{guildPreview.description || \"This server has no description, maybe you should add one?\"}</Balancer>\n          </Header>\n        </div>\n      </Header>\n\n      <Block className=\"mt-4! flex w-full flex-col gap-3 p-4! sm:flex-row sm:gap-0\">\n        <div className=\"flex flex-col items-center justify-center gap-3 sm:flex-row\">\n          <div className=\"flex items-center\">\n            <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#81848f]\" />\n            {guildPreview.approximate_member_count || \"0\"} members\n          </div>\n          <div className=\"flex items-center\">\n            <div className=\"mr-2 size-3 shrink-0 rounded-full bg-[#22a55b]\" />\n            {guildPreview.approximate_presence_count || \"0\"} online\n          </div>\n        </div>\n        <span className=\"mx-auto whitespace-nowrap sm:ml-auto sm:mr-0\">Powered by Majo.exe</span>\n      </Block>\n\n      <div className=\"mt-6 block gap-6 lg:flex lg:items-start\">\n        <Block className=\"scrollbar-show flex flex-col justify-start overflow-x-scroll flex-[3_1_0]\">\n          <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>Leaderboard</Header>\n          {data.length > 0 ? (\n            <Leaderboard data={data} showSearch={false} showControls={false} />\n          ) : (\n            <span className=\"opacity-50\">No users found. Maybe you should try talking in chat?</span>\n          )}\n        </Block>\n        <div className=\"mt-6 flex flex-col justify-start gap-6 flex-[2_1_0%] lg:mt-0\">\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Emojis\n              <span className=\"ml-auto font-medium opacity-60\">{guildPreview.emojis.length || \"0\"}</span>\n            </Header>\n            {guildPreview.emojis && guildPreview.emojis.length > 0 ? (\n              <div className=\"flex flex-row flex-wrap gap-3\">\n                {guildPreview.emojis.map((emoji) => (\n                  <Link\n                    key={emoji.id || \"\" + emoji.name}\n                    className=\"flex flex-col items-center justify-center gap-2\"\n                    href={`https://cdn.discordapp.com/emojis/${emoji?.id}.${emoji?.animated ? \"gif\" : \"png\"}`}\n                    target=\"_blank\"\n                    rel=\"noreferrer noopener\"\n                  >\n                    <Tooltip content={emoji.name || \"Unnamed emoji\"}>\n                      <>\n                        <Image\n                          src={`https://cdn.discordapp.com/emojis/${emoji.id}.${emoji.animated ? \"gif\" : \"png\"}`}\n                          alt={emoji.name || \"\"}\n                          quality={95}\n                          width={32}\n                          height={32}\n                          className=\"size-8 shrink-0\"\n                        />\n                      </>\n                    </Tooltip>\n                  </Link>\n                ))}\n              </div>\n            ) : (\n              <span className=\"opacity-50\">No emojis found.</span>\n            )}\n          </Block>\n\n          <Block>\n            <Header className={cn(headerVariants({ variant: \"h4\", margin: \"wide\" }), \"items-start justify-normal opacity-80\")}>\n              Stickers\n              <span className=\"ml-auto font-medium opacity-60\">{guildPreview.stickers.length || \"0\"}</span>\n            </Header>\n            {guildPreview.stickers && guildPreview.stickers.length > 0 ? (\n              <div className=\"flex flex-row flex-wrap gap-3\">\n                {guildPreview.stickers.map((sticker) => (\n                  <Link\n                    key={sticker.id + sticker.name}\n                    className=\"flex flex-col items-center justify-center gap-2\"\n                    href={`https://cdn.discordapp.com/stickers/${sticker.id}.${sticker.format_type === 1 ? \"png\" : sticker.format_type === 2 ? \"apng\" : sticker.format_type === 3 ? \"lottie\" : \"gif\"}`}\n                    target=\"_blank\"\n                    rel=\"noreferrer noopener\"\n                  >\n                    <Tooltip content={sticker.name || \"Unnamed sticker\"}>\n                      <>\n                        <Image\n                          unoptimized\n                          src={`https://cdn.discordapp.com/stickers/${sticker.id}.${sticker.format_type === 1 ? \"png\" : sticker.format_type === 2 ? \"apng\" : sticker.format_type === 3 ? \"lottie\" : \"gif\"}`}\n                          alt={sticker.name}\n                          quality={95}\n                          width={96}\n                          height={96}\n                          className=\"size-24 shrink-0\"\n                        />\n                      </>\n                    </Tooltip>\n                  </Link>\n                ))}\n              </div>\n            ) : (\n              <span className=\"opacity-50\">No stickers found.</span>\n            )}\n          </Block>\n        </div>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/app/sitemap.ts",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport type { MetadataRoute } from \"next\";\n\nexport default function sitemap(): MetadataRoute.Sitemap {\n  const routes = [\"\", \"/commands\", \"/legal/privacy-policy\", \"/legal/terms-of-service\"].map((route) => ({\n    url: `${dashboardConfig.url}${route}`,\n    lastModified: new Date().toISOString().split(\"T\")[0],\n  }));\n\n  return [...routes];\n}\n"
  },
  {
    "path": "apps/dashboard/app/user/components/DeleteUserData.tsx",
    "content": "\"use client\";\n\nimport { LoaderCircleIcon, TrashIcon, XIcon } from \"lucide-react\";\nimport { signOut } from \"next-auth/react\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { Dialog, DialogClose, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from \"@/components/ui/Dialog\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\n\nexport const DeleteUserData = ({ className, ...props }: React.ComponentProps<\"div\">) => {\n  const [loading, setLoading] = useState(false);\n\n  const handleDelete = async () => {\n    setLoading(true);\n    const loadingToast = toast.loading(\"We're deleting your account... We're sad to see you go.\");\n\n    const res = await fetch(\"/api/user/delete\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      try {\n        const json = await res.json();\n        return toast.error(json.message ?? \"Something went wrong\", {\n          id: loadingToast,\n        });\n      } catch (e) {\n        console.log(e);\n        return toast.error(\"Something went wrong\", {\n          id: loadingToast,\n        });\n      }\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      toast.success(json.message ?? \"Your account has been deleted! We're sad to see you go.\", {\n        id: loadingToast,\n      });\n      return signOut({ redirect: true, callbackUrl: \"/\" });\n    } else {\n      return toast.error(json.error ?? \"Something went wrong\", {\n        id: loadingToast,\n      });\n    }\n  };\n\n  return (\n    <div className={className} {...props}>\n      <Dialog>\n        <DialogTrigger asChild>\n          <Button variant=\"red\" className=\"mt-4\">\n            <TrashIcon className={iconVariants({ variant: \"button\" })} /> Delete account\n          </Button>\n        </DialogTrigger>\n        <DialogContent className=\"max-w-lg\">\n          <DialogHeader>\n            <DialogTitle>\n              <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n              Delete account\n            </DialogTitle>\n            <DialogDescription>\n              Deleting your account will delete all your data from our servers. This action is irreversible. Are you sure you want to delete your account?\n            </DialogDescription>\n          </DialogHeader>\n\n          <div className=\"mt-4 flex justify-between gap-2\">\n            <Button variant=\"red\" onClick={handleDelete} disabled={loading}>\n              {loading ? (\n                <>\n                  <LoaderCircleIcon className={iconVariants({ variant: \"button\", className: \"animate-spin\" })} />\n                  Deleting your account...\n                </>\n              ) : (\n                <>\n                  <TrashIcon className={iconVariants({ variant: \"button\" })} />\n                  Yes, delete my account\n                </>\n              )}\n            </Button>\n            <DialogClose asChild>\n              <Button variant=\"secondary\">\n                <XIcon className={iconVariants({ variant: \"button\" })} />\n                Cancel\n              </Button>\n            </DialogClose>\n          </div>\n        </DialogContent>\n      </Dialog>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/app/user/profile/page.tsx",
    "content": "import prisma from \"@majoexe/database\";\nimport type { GuildWarns, GuildXp } from \"@majoexe/database/types\";\nimport { ExtendedAPIGuild, getMemberGuilds } from \"@majoexe/util/functions/guild\";\nimport { getFlags } from \"@majoexe/util/functions/user\";\nimport { formatNumber } from \"@majoexe/util/functions/util\";\nimport { getSession } from \"lib/session\";\nimport { DownloadIcon, ExternalLinkIcon, ServerIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { redirect } from \"next/navigation\";\nimport { DeleteUserData } from \"@/app/user/components/DeleteUserData\";\nimport { Emojis } from \"@/components/DiscordEmojis\";\nimport { Block } from \"@/components/ui/Block\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport const revalidate = 3600; // 1 hour\n\nexport default async function Page() {\n  const user = await getSession();\n  if (!user) return redirect(\"/auth/login\");\n  if (!user.access_token) return redirect(\"/auth/login\");\n\n  const userServers = (await getMemberGuilds(user.access_token)) || [];\n  const userServerIds = userServers.map((server) => server.id);\n\n  const userData = await prisma.user.findUnique({\n    where: {\n      discordId: user.id,\n    },\n    include: {\n      guildWarns: true,\n      guildXp: true,\n    },\n  });\n  if (!userData) return redirect(\"/auth/login\");\n\n  type GroupedGuilds = {\n    [guildId: string]: {\n      guild: ExtendedAPIGuild;\n      warns: GuildWarns[];\n      xp: GuildXp[];\n    };\n  };\n\n  const groupedGuilds: GroupedGuilds = {};\n\n  userData.guildWarns.forEach((warn: GuildWarns) => {\n    const { guildId } = warn;\n    if (!userServerIds.includes(guildId)) return;\n    const guild = userServers.find((server) => server.id === guildId);\n    if (!guild) return;\n    if (!groupedGuilds[guildId]) {\n      groupedGuilds[guildId] = {\n        guild,\n        warns: [],\n        xp: [],\n      };\n    }\n    groupedGuilds[guildId].warns.push(warn);\n  });\n\n  userData.guildXp.forEach((xp: GuildXp) => {\n    const { guildId } = xp;\n    if (!userServerIds.includes(guildId)) return;\n    const guild = userServers.find((server) => server.id === guildId);\n    if (!guild) return;\n    if (!groupedGuilds[guildId]) {\n      groupedGuilds[guildId] = {\n        guild,\n        warns: [],\n        xp: [],\n      };\n    }\n    groupedGuilds[guildId].xp.push(xp);\n  });\n\n  return (\n    <div className=\"flex w-full flex-col items-center px-8 pb-8 pt-16 antialiased md:p-16\">\n      <div className=\"flex flex-col justify-center gap-3\">\n        <div className=\"relative overflow-hidden rounded-lg border border-neutral-800 bg-background-navbar md:w-full\">\n          <>\n            <div\n              className={cn(\"h-[100px] w-full bg-cover bg-center bg-no-repeat\", typeof user.banner == \"string\" ? \"h-40\" : \"h-24\")}\n              style={{\n                backgroundColor: \"#\" + (!user.accent_color ? \"5c64f4\" : user.accent_color.toString(16)),\n                backgroundImage: typeof user.banner == \"string\" ? `url(/api/user/banner/${user.id})` : undefined,\n              }}\n            />\n            <div className=\"flex h-[72px] w-auto flex-row justify-between gap-6 bg-background-navbar p-12\">\n              <div className=\"ml-[-16px] mt-[-20px] box-content flex items-center rounded-full\">\n                <Tooltip content=\"Click to see full size\">\n                  <Link href={`${user.avatar}?size=2048`} target=\"_blank\" className=\"relative size-24 shrink-0\">\n                    <Image\n                      quality={100}\n                      src={`/api/user/avatar/${user.id}`}\n                      alt={`${user.global_name || user.username} Avatar`}\n                      width={96}\n                      height={96}\n                      className=\"rounded-full border-4 border-solid border-background-navbar backdrop-blur-xs duration-200 hover:opacity-75\"\n                    />\n                    {user.avatar_decoration_data ? (\n                      <Image\n                        quality={100}\n                        src={`/api/user/avatar-decoration/${user.id}`}\n                        alt={`${user.global_name || user.username} Avatar decoration`}\n                        width={96}\n                        height={96}\n                        className=\"absolute left-0 top-0 rounded-full\"\n                      />\n                    ) : null}\n                  </Link>\n                </Tooltip>\n                <div className=\"ml-2 flex items-center text-lg font-bold\">\n                  {user.discriminator === \"0\" ? (\n                    <>\n                      {user.global_name && user.username && (\n                        <Tooltip content={`Tag: @${user.username}`} className=\"font-normal\">\n                          <div className=\"text-white\">{user.global_name}</div>\n                        </Tooltip>\n                      )}\n                    </>\n                  ) : (\n                    <>\n                      <div className=\"text-white\">{user.username}</div>\n                      <div className=\"text-white/60\">#{user.discriminator}</div>\n                    </>\n                  )}\n\n                  {user.nitro > 0 && (\n                    <Tooltip content=\"Nitro\" className=\"font-normal\">\n                      {Emojis[\"nitro\"]}\n                    </Tooltip>\n                  )}\n\n                  {getFlags(user.public_flags) &&\n                    getFlags(user.public_flags).map((flag) => {\n                      return (\n                        <Tooltip key={`flag-${flag.name}`} content={flag.content} className=\"font-normal\">\n                          {Emojis[flag.name as keyof typeof Emojis]}\n                        </Tooltip>\n                      );\n                    })}\n                </div>\n              </div>\n              <div className=\"mb-[-14px] hidden w-full items-end justify-end md:flex\">\n                <Link href={`https://discord.com/users/${user.id}`} className={cn(buttonVariants({ variant: \"primary\" }))} target=\"_blank\">\n                  <ExternalLinkIcon className={iconVariants({ variant: \"button\" })} /> Discord profile\n                </Link>\n              </div>\n            </div>\n            {/* <div className=\"m-[8px_16px_16px] rounded-lg border border-neutral-800 bg-background-menu-button/70 p-4\">{groupedGuilds && Object.keys(groupedGuilds).length} servers</div> */}\n          </>\n        </div>\n\n        <Block>\n          <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n            <ServerIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n            Servers\n          </Header>\n          <p className=\"mt-2 leading-none text-white/70\">A list of servers you are in and some information about them.</p>\n          {groupedGuilds ? (\n            <div className=\"mt-4 flex flex-col gap-3\">\n              {Object.keys(groupedGuilds).map((guildId) => {\n                const guild = groupedGuilds[guildId];\n                if (!guild) return null;\n                const userXP = guild.xp.reduce((acc, curr) => acc + curr.xp, 0);\n                return (\n                  <div key={guild.guild.id} className=\"relative flex justify-between overflow-hidden rounded-lg border border-neutral-800 bg-background-navbar p-4\">\n                    <div className=\"flex flex-row items-center gap-3\">\n                      {guild.guild.icon ? (\n                        <Image\n                          src={`https://cdn.discordapp.com/icons/${guild.guild.id}/${guild.guild.icon}.${guild.guild.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n                          alt={guild.guild.name}\n                          quality={95}\n                          width={64}\n                          height={64}\n                          className=\"size-14 shrink-0 rounded-full\"\n                        />\n                      ) : (\n                        <div className=\"size-14 shrink-0 rounded-full bg-button-secondary\" />\n                      )}\n                      <div className=\"flex flex-col\">\n                        <Header className={cn(headerVariants({ variant: \"h4\" }))}>{guild.guild.name}</Header>\n                        <p className=\"text-sm text-white/70\">Server ID: {guild.guild.id}</p>\n                      </div>\n                    </div>\n                    <div className=\"flex flex-row items-center gap-3\">\n                      <div className=\"flex flex-col\">\n                        {/* <p className=\"text-white font-semibold\">Warns</p> */}\n                        <p className=\"text-white/70\">{guild.warns.length} warns</p>\n                      </div>\n                      <div className=\"flex flex-col\">\n                        {/* <p className=\"text-white font-semibold\">XP</p> */}\n                        <Tooltip content={`Total XP: ${userXP}`}>\n                          <p className=\"text-white/70\">\n                            {formatNumber(userXP || 0)} XP ({Math.floor(0.1 * Math.sqrt(userXP || 0))} level)\n                          </p>\n                        </Tooltip>\n                      </div>\n                    </div>\n                  </div>\n                );\n              })}\n            </div>\n          ) : (\n            <div className=\"mt-4 text-white/70\">No servers found.</div>\n          )}\n        </Block>\n\n        <Block>\n          <Header className={cn(headerVariants({ variant: \"h2\" }))}>\n            <DownloadIcon className={iconVariants({ variant: \"large\", className: \"stroke-2!\" })} />\n            Download data\n          </Header>\n          <p className=\"mt-2 leading-none text-white/70\">\n            Download all your data in a <code>.json</code> file. This includes your profile, data from all servers you are in and more.\n          </p>\n          <Link href=\"/api/user/download\" className={cn(buttonVariants({ variant: \"primary\" }), \"mt-4 w-fit\")} target=\"_blank\">\n            <DownloadIcon className={iconVariants({ variant: \"button\" })} />\n            Download data\n          </Link>\n        </Block>\n\n        <Block theme=\"danger\">\n          <Header className={cn(headerVariants({ variant: \"h2\" }), \"text-red-400\")}>\n            <Icons.warning className={iconVariants({ variant: \"large\", className: \"stroke-red-400 stroke-2!\" })} />\n            Delete account\n          </Header>\n          <p className=\"mt-2 text-white/70\">\n            If you want to delete all your data and your account, click the button below. This action is irreversible - all your data will be lost.\n          </p>\n          <DeleteUserData />\n        </Block>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/CategoryBar.tsx",
    "content": "import React, { HTMLAttributes } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface CategoryBarProps extends HTMLAttributes<HTMLDivElement> {\n  percent?: number;\n}\n\nexport const CategoryBar = ({ percent = 50, className, ...props }: CategoryBarProps) => (\n  <div {...props} className={className}>\n    <div className=\"relative mb-2 flex h-5 w-full text-neutral-500\">\n      <div\n        className=\"flex items-center justify-end\"\n        style={{\n          width: \"10%\",\n        }}\n      >\n        <span className=\"left-1/2 block translate-x-1/2\">10</span>\n      </div>\n      <div\n        className=\"flex items-center justify-end\"\n        style={{\n          width: \"20%\",\n        }}\n      >\n        <span className=\"left-1/2 block translate-x-1/2\">30</span>\n      </div>\n      <div\n        className=\"flex items-center justify-end\"\n        style={{\n          width: \"30%\",\n        }}\n      >\n        <span className=\"left-1/2 hidden translate-x-1/2\">60</span>\n      </div>\n      <div\n        className=\"flex items-center justify-end\"\n        style={{\n          width: \"40%\",\n        }}\n      >\n        <span className=\"left-1/2 hidden translate-x-1/2\">100</span>{\" \"}\n      </div>\n      <div className=\"absolute bottom-0 left-0 flex items-center\">0</div>\n      <div className=\"absolute bottom-0 right-0 flex items-center\">100</div>\n    </div>\n    <div className=\"relative flex h-2 w-full items-center\">\n      <div className=\"flex h-full flex-1 items-center overflow-hidden rounded-full\">\n        <div\n          className=\"h-full bg-rose-500\"\n          style={{\n            width: \"10%\",\n          }}\n        />\n        <div\n          className=\"h-full bg-orange-500\"\n          style={{\n            width: \"20%\",\n          }}\n        />\n        <div\n          className=\"h-full bg-yellow-500\"\n          style={{\n            width: \"30%\",\n          }}\n        />\n        <div\n          className=\"h-full bg-emerald-500\"\n          style={{\n            width: \"40%\",\n          }}\n        />\n      </div>\n      <div\n        className=\"absolute right-1/2 w-5 -translate-x-1/2\"\n        style={{\n          left: `${percent}%`,\n        }}\n      >\n        <div\n          className={cn(\n            {\n              \"bg-rose-500\": percent <= 10,\n              \"bg-orange-500\": percent > 10 && percent <= 30,\n              \"bg-yellow-500\": percent > 30 && percent <= 60,\n              \"bg-emerald-500\": percent > 60,\n            },\n            \"ring-background-secondary mx-auto h-4 w-1 rounded-full ring-2\"\n          )}\n        />\n      </div>\n    </div>\n  </div>\n);\n"
  },
  {
    "path": "apps/dashboard/components/DiscordEmojis.tsx",
    "content": "export const Emojis = {\n  nitro: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <circle cx=\"15\" cy=\"12\" fill=\"#fff\" r=\"6\" />\n      <path\n        clipRule=\"evenodd\"\n        d=\"m2.20812 10.124c.42636 0 .7816-.34817.7816-.76611 0-.41793-.35524-.76615-.7816-.76615h-.42635c-.42636 0-.78177.34822-.78177.76615 0 .41794.35541.76611.78177.76611zm16.13038 9.2643c4.0504-1.811 5.7558-6.4083 3.9083-10.23937-1.2791-2.71657-3.9793-4.31859-6.8217-4.45801h-8.02965c-.71065 0-1.20812.55735-1.20812 1.18425 0 .69645.56859 1.18409 1.20812 1.18409h2.06067c.42635 0 .78158.34822.78158.76616 0 .41793-.35523.76632-.78158.76632h-5.04517c-.42635 0-.78176.34822-.78176.76615 0 .41794.35541.76611.78176.76611h3.62404c.42635 0 .78159.3484.78159.7664 0 .4179-.35524.7661-.78159.7661h-2.27402c-.42636 0-.7816.3482-.7816.7662 0 .4179.35524.7663.7816.7663h1.56336c.07112.8359.2843 1.6717.63954 2.4379 1.77654 3.8311 6.46643 5.5028 10.37463 3.7614zm-7.2725-5.1884c-1.0318-2.2025-.0466-4.80794 2.2003-5.81933 2.2469-1.0114 4.9049-.04564 5.9366 2.15683 1.0318 2.2025.0468 4.8079-2.2003 5.8193-2.2469 1.0114-4.9048.0457-5.9366-2.1568z\"\n        fill=\"#4f5d7f\"\n        fillRule=\"evenodd\"\n      />\n      <path\n        d=\"m16.8142 9.86662 1.4212 2.36838c.0711.1392.0711.2089 0 .3482l-1.4212 2.3683c-.0711.1393-.2131.1393-.2842.1393h-2.7714c-.142 0-.2131-.0697-.2841-.1393l-1.4213-2.3683c-.0709-.1393-.0709-.209 0-.3482l1.4213-2.36838c.071-.13926.2132-.13926.2841-.13926h2.7714c.1422-.06971.2131 0 .2842.13926z\"\n        fill=\"#c5cedd\"\n      />\n    </svg>\n  ),\n  ACTIVE_DEVELOPER: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n      <path\n        d=\"M6.47213 4L4 6.47213V17.5279L6.47217 20H17.5278L20 17.5279V6.47213L17.5279 4H6.47213ZM10.8582 16.4255H8.64551C8.64551 14.5952 7.1567 13.1064 5.32642 13.1064V10.8936C7.1567 10.8936 8.64551 9.40483 8.64551 7.57454H10.8582C10.8582 9.39042 9.96684 10.9908 8.61129 12C9.96684 13.0093 10.8582 14.6096 10.8582 16.4255ZM18.6667 13.1064C16.8364 13.1064 15.3476 14.5952 15.3476 16.4255H13.1348C13.1348 14.6096 14.0263 13.0093 15.3818 12C14.0263 10.9908 13.1348 9.39042 13.1348 7.57454H15.3476C15.3476 9.40483 16.8364 10.8936 18.6667 10.8936V13.1064V13.1064Z\"\n        fill=\"#2EA967\"\n      />\n    </svg>\n  ),\n  BUG_HUNTER_LEVEL_1: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 31.27 29.53\">\n      <path fill=\"rgba(67,181,129,0.6)\" d=\"M22.8 1s12 8.19 7.44 19.69S16.61 29 20 25.64s-4-5.64-8.73-10L22.79 1\" />\n      <path\n        fill=\"#43b581\"\n        d=\"M22.07 12.26c-2.53 3.22-6.1 4.83-8.86 4.25L3.58 28.78a2 2 0 0 1-2.81.34 2 2 0 0 1-.35-2.82L10 14.05c-1.27-2.54-.57-6.43 2-9.68C15.19.33 20-1.18 22.79 1s2.45 7.22-.72 11.26z\"\n      />\n    </svg>\n  ),\n  BUG_HUNTER_LEVEL_2: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <mask id=\"a\" height=\"19\" maskUnits=\"userSpaceOnUse\" width=\"16\" x=\"2\" y=\"2\">\n        <path\n          d=\"m16.1438 9.84735c-1.6048 2.04975-3.9088 3.08265-5.7044 2.70125l-6.14926 7.8813c-.44491.572-1.22351.6356-1.79554.1907-.57203-.445-.63558-1.2235-.25423-1.7956l6.1493-7.8177c-.82626-1.60486-.38135-4.09954 1.28707-6.21286 2.04976-2.57413 5.11646-3.52751 6.91196-2.19278 1.7956 1.33473 1.5413 4.6239-.4449 7.24569z\"\n          fill=\"#ffd56c\"\n        />\n      </mask>\n      <path d=\"m16.5888 2.60168s7.6906 5.25949 4.7351 12.63232c-2.9555 7.3728-8.7235 5.323-6.5307 3.1461s-2.5582-3.591-5.57726-6.4194z\" fill=\"#ffeac0\" />\n      <path\n        d=\"m16.1438 9.84735c-1.6048 2.04975-3.9088 3.08265-5.7044 2.70125l-6.14926 7.8813c-.44491.572-1.22351.6356-1.79554.1907-.57203-.445-.63558-1.2235-.25423-1.7956l6.1493-7.8177c-.82626-1.60486-.38135-4.09954 1.28707-6.21286 2.04976-2.57413 5.11646-3.52751 6.91196-2.19278 1.7956 1.33473 1.5413 4.6239-.4449 7.24569z\"\n        fill=\"#ffd56c\"\n      />\n      <g fill=\"#fff\" mask=\"url(#a)\">\n        <path d=\"m13.0389-1.26782.7405.09754-3.1567 23.96118-.74043-.0976z\" />\n        <path d=\"m14.2822-1.51801 1.6226.21377-3.1566 23.96114-1.6226-.2137z\" />\n      </g>\n    </svg>\n  ),\n  HYPESQUAD: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n      <path\n        d=\"M31.43,8.79,18.77,17.1a1.47,1.47,0,0,0-.51.57l-1.93,3.87a.36.36,0,0,1-.66,0l-1.93-3.87a1.47,1.47,0,0,0-.51-.57L.57,8.79A.37.37,0,0,0,0,9.27L5.29,19.56A.38.38,0,0,1,5,20.1H1.82a.37.37,0,0,0-.22.67L15.78,30.93a.39.39,0,0,0,.44,0L30.4,20.77a.37.37,0,0,0-.22-.67H27a.38.38,0,0,1-.33-.54L32,9.27A.37.37,0,0,0,31.43,8.79Z\"\n        fill=\"#fbb848\"\n      />\n      <path\n        d=\"M16.28,1.17l1.3,2.65a.33.33,0,0,0,.23.17l2.93.42a.31.31,0,0,1,.17.53L18.79,7a.33.33,0,0,0-.09.27l.5,2.91a.3.3,0,0,1-.44.32L16.14,9.13a.28.28,0,0,0-.28,0L13.24,10.5a.3.3,0,0,1-.44-.32l.5-2.91A.33.33,0,0,0,13.21,7L11.09,4.94a.31.31,0,0,1,.17-.53L14.19,4a.33.33,0,0,0,.23-.17l1.3-2.65A.31.31,0,0,1,16.28,1.17Z\"\n        fill=\"#fbb848\"\n      />\n    </svg>\n  ),\n  HYPESQUAD_ONLINE_HOUSE_1: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <path\n        clipRule=\"evenodd\"\n        d=\"m5.01502 4h13.97008c.1187 0 .215.09992.215.22305v9.97865c0 .0697-.0312.1343-.0837.1767l-6.985 5.5752c-.0389.0313-.0847.0464-.1314.0464-.0466 0-.0924-.0151-.1313-.0464l-6.985-5.5752c-.05252-.0424-.08365-.107-.08365-.1767v-9.97865c0-.12313.0963-.22305.21497-.22305zm7.82148 7.0972 4.1275-2.71296c.1039-.06863.2299.04542.1725.15644l-1.7114 3.36192c-.0403.0807.0182.1756.1079.1756h1.0246c.118 0 .1664.1504.0706.219l-4.6267 3.3175c-.0414.0303-.0978.0303-.1402 0l-4.6267-3.3175c-.0948-.0686-.04639-.219.07059-.219h1.02356c.09076 0 .14925-.0949.10791-.1756l-1.71132-3.36293c-.05648-.11001.06958-.22305.17345-.15543l4.12851 2.71296c.0716.0474.1291.112.1674.1887l.6293 1.2636c.0444.0888.1714.0888.2158 0l.6293-1.2636c.0383-.0767.0958-.1423.1674-.1887z\"\n        fill=\"#9c84ef\"\n        fillRule=\"evenodd\"\n      />\n    </svg>\n  ),\n\n  HYPESQUAD_ONLINE_HOUSE_2: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <path\n        clipRule=\"evenodd\"\n        d=\"m12 20c4.4183 0 8-3.5817 8-8 0-4.41828-3.5817-8-8-8-4.41828 0-8 3.58172-8 8 0 4.4183 3.58172 8 8 8zm.7921-8.275 3.6146-2.3738c.0909-.05916.2013.03974.151.136l-1.4986 2.9416c-.0354.0707.0158.1537.0944.1537h.8973c.1033 0 .1457.1315.0618.1916l-4.0517 2.9027c-.0362.0265-.0856.0265-.1227 0l-4.05168-2.9027c-.08301-.0601-.04062-.1916.06182-.1916h.89634c.07948 0 .1307-.083.09449-.1537l-1.49862-2.9416c-.04945-.09626.06094-.19516.1519-.136l3.61545 2.3738c.0627.0415.113.098.1465.1651l.5511 1.1057c.0389.0777.1501.0777.189 0l.551-1.1057c.0336-.0671.0839-.1245.1466-.1651z\"\n        fill=\"#f47b67\"\n        fillRule=\"evenodd\"\n      />\n    </svg>\n  ),\n  HYPESQUAD_ONLINE_HOUSE_3: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <path\n        clipRule=\"evenodd\"\n        d=\"m11.8622 4.05696c.076-.07595.1996-.07595.2756 0l7.8048 7.80474c.0371.0362.0574.0865.0574.1377 0 .0513-.0212.1016-.0574.1378l-7.8048 7.8047c-.038.038-.0883.0574-.1378.0574s-.0998-.0194-.1378-.0574l-7.8048-7.8047c-.03709-.0362-.0574-.0857-.0574-.1378s.02031-.1015.0574-.1377zm.9299 8.29474 3.6146-2.37377c.0909-.05917.2013.03977.151.13597l-1.4986 2.9416c-.0354.0707.0158.1537.0944.1537h.8973c.1033 0 .1457.1316.0618.1916l-4.0517 2.9028c-.0362.0265-.0856.0265-.1227 0l-4.05168-2.9028c-.08301-.06-.04062-.1916.06182-.1916h.89634c.07948 0 .1307-.083.09449-.1537l-1.49862-2.9416c-.04945-.0962.06094-.19514.1519-.13597l3.61545 2.37377c.0627.0415.113.098.1465.1651l.5511 1.1057c.0389.0777.1501.0777.189 0l.551-1.1057c.0336-.0671.0839-.1245.1466-.1651z\"\n        fill=\"#45ddc0\"\n        fillRule=\"evenodd\"\n      />\n    </svg>\n  ),\n  PREMIUM_EARLY_SUPPORTER: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 31.43 22\">\n      <path\n        d=\"M21.26 16h-1.67A3.64 3.64 0 0 1 16 12.32V10.6a1.45 1.45 0 0 1 1.43-1.47h7.88V7.08h-14c-1.27 2.86-2.57 5.83-3 7a3.65 3.65 0 0 1-3.37 2.31v1.23a6 6 0 0 0 4.16 1.7h12.58a3.64 3.64 0 0 0 3.63-3.63v-.26a3.45 3.45 0 0 1-1.9.57zm-8.43-2.8a1.24 1.24 0 1 1 1.24-1.2 1.24 1.24 0 0 1-1.24 1.2z\"\n        fill=\"#aabff2\"\n      />\n      <path d=\"M12.83 10.72a1.24 1.24 0 0 0 0 2.48 1.24 1.24 0 0 0 0-2.48z\" />\n      <path\n        d=\"M25.56 9.13h-8.13A1.45 1.45 0 0 0 16 10.6v1.72A3.64 3.64 0 0 0 19.59 16h3.82a3.45 3.45 0 0 0 1.9-.57.53.53 0 0 0 .1-.06 3.69 3.69 0 0 0 1.59-3V10.6a1.46 1.46 0 0 0-1.44-1.47zM22 14.4h-1.61a.61.61 0 1 1 0-1.21H22a.61.61 0 1 1 0 1.21zm2.85 0h-.65a.61.61 0 1 1 0-1.21h.61a.61.61 0 0 1 0 1.21z\"\n        fill=\"#cbdaf7\"\n      />\n      <path d=\"M22 13.19h-1.61a.61.61 0 1 0 0 1.21H22a.61.61 0 1 0 0-1.21zM24.81 13.19h-.61a.61.61 0 1 0 0 1.21h.61a.61.61 0 0 0 0-1.21z\" fill=\"#aabff2\" />\n      <path d=\"M2.23 15.37a3.75 3.75 0 0 1-.44-.24v5.78L3.34 22l1.55-1.09v-4.55a3.76 3.76 0 0 1-2.66-.99z\" fill=\"#ef8843\" />\n      <path d=\"M7.29 13.41a3.75 3.75 0 0 1-5.06 2 3.76 3.76 0 0 0 2.66 1 3.65 3.65 0 0 0 3.37-2.31c.45-1.14 1.75-4.11 3-7H10s-1.74 3.84-2.71 6.31z\" fill=\"#d0d9ea\" />\n      <path\n        d=\"M14.46 0l.85.07zM11.32.11A16.07 16.07 0 0 1 13.19 0a16.07 16.07 0 0 0-1.87.11zM21.83 4.3a23 23 0 0 1 3.59.36c-.79-.93-3.82-4-10.11-4.55 4.55 1.09 6.23 3.68 6.52 4.19zM7.29 13.41C8.26 10.94 10 7.08 10 7.08s3.08-2.33 9.41-2.73c-2.2-3-5.83-4-8.08-4.24C3.61.94 0 6.8 0 11.48a4.08 4.08 0 0 0 1.79 3.65 3.77 3.77 0 0 0 5.5-1.72zM.77 10.57A2.86 2.86 0 0 1 3.7 7.85a2.85 2.85 0 0 1 2.18 3.35A2.84 2.84 0 0 1 3 13.92a2.84 2.84 0 0 1-2.23-3.35z\"\n        fill=\"#ebeff7\"\n      />\n      <path d=\"M19.39 4.35c.46 0 .93 0 1.42-.06h1c-.29-.51-2-3.1-6.52-4.19l-.83-.1h-1.27a16.07 16.07 0 0 0-1.87.11c2.24.27 5.87 1.19 8.07 4.24z\" fill=\"#fc964b\" />\n      <path\n        d=\"M20.81 4.29c-.49 0-1 0-1.42.06-6.33.4-9.39 2.73-9.39 2.73h21.43a13.46 13.46 0 0 0-6-2.42 23 23 0 0 0-3.59-.36zM3 13.92a2.84 2.84 0 0 0 2.88-2.72A2.85 2.85 0 0 0 3.7 7.85a2.86 2.86 0 0 0-2.93 2.72A2.84 2.84 0 0 0 3 13.92zm-1.76-3.24a1.9 1.9 0 0 1 2-1.81 1.9 1.9 0 0 1 1.4 2.23 1.89 1.89 0 0 1-1.95 1.8 1.89 1.89 0 0 1-1.45-2.22z\"\n        fill=\"#647096\"\n      />\n      <path d=\"M2.69 12.9a1.89 1.89 0 0 0 1.95-1.8 1.9 1.9 0 0 0-1.45-2.23 1.9 1.9 0 0 0-1.95 1.81 1.89 1.89 0 0 0 1.45 2.22z\" fill=\"#fc964b\" />\n    </svg>\n  ),\n  VERIFIED_DEVELOPER: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n      <path\n        fill=\"#3e70dd\"\n        d=\"M21.58 11.4L17.3 4.01l-.35-.6H7.04l-.35.6-4.27 7.39-.35.6.35.6 4.27 7.39.35.6h9.92l.35-.6 4.28-7.39.35-.6-.36-.6zM8.51 10.37L6.88 12l1.63 1.63v2.73L4.15 12l4.37-4.37v2.74zm3.12 6.93l-2.04-.63 3.1-9.98 2.04.64-3.1 9.97zm3.86-.93v-2.73L17.12 12l-1.63-1.63V7.63L19.85 12l-4.36 4.37z\"\n      />\n      <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n    </svg>\n  ),\n\n  PARTNER: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <g fill=\"#5865f2\">\n        <path d=\"m16.6033 9.15179-2.4908 1.66051c-.249.2491-.6642.1661-.7472 0-.2491-.2491-.6642-.4151-.9133-.4982-.6642-.166-1.2454 0-1.7435.2491l-.83027.5812-4.64945 2.9889c-.99631.6642-2.2417.4152-2.9059-.6642-.66421-1.0793-.24908-2.2417.74723-2.8228l5.31365-3.65318c1.49447-.83026 3.23804-1.24539 4.89854-.83026 1.4114.24907 2.6568.99631 3.4871 2.15867.249.16605.249.66421-.1661.83026z\" />\n        <path d=\"m22 11.6425c0 .7473-.4152 1.4115-.9963 1.7436l-5.4797 3.5701c-.9964.6642-2.2417.9963-3.4041.9963-.4982 0-.9963 0-1.4114-.166-1.41148-.2491-2.49081-1.1624-3.48712-2.1587-.16606-.1661-.16606-.6642.16605-.7473l2.49077-1.6605c.2491-.249.6642-.166.7472 0 .2491.2491.4982.4152.9133.4982.6642.166 1.2454 0 1.7436-.2491l1.2453-.7472 3.7362-2.4908.4982-.41513c.9963-.6642 2.2417-.41512 2.9059.66423.166.4151.3321.7472.3321 1.1623z\" />\n      </g>\n    </svg>\n  ),\n  STAFF: (\n    <svg className=\"ml-1\" height=\"24\" width=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n      <g fill=\"#5865f2\">\n        <path d=\"m5.92127 6.03526s.22115-.33086.31286-.47743c.09172-.14657-.23743-.49286-.36514-.60257-.12772-.10971-.32914-.05486-.32914-.05486-1.60715.71229-2.41115 2.17372-2.52086 2.466-.10972.29229.27943.61115.56657.76715.132.072.342-.08743.47143-.20572l.04371-.04457.06772-.06857.00085-.00086 4.37229 4.35517.59743-.5975 1.09801-1.098-4.32173-4.43224z\" />\n        <path d=\"m16.2505 10.6294.2306-.2194 2.0717 2.052c.0146.0129.03.018.0437.018.0395 0 .072-.036.072-.036s2.2937-2.2757 2.3015-2.2834c.0677-.0669 0-.1037 0-.1037l-1.7692-1.78119-.0026.00258-.2425-.23743.1354-.13029.2897.03343-.0548-.384.0728-.07371-.1088-.55372c-.378-.53571-1.4135-1.39371-1.4135-1.39371l-.5417-.09772-.0548.07286-.408-.06086.0394.348.0257.02572-.1209.12171-.6685-.654s-3.8795-2.10686-4.086-2.20457c-.1166-.054-.2023-.09-.2846-.09-.0634 0-.1251.02143-.1963.072-.1646.11571-.0677.34886-.0677.34886l2.412 4.45714.4826.47829-.1509.15085-.0557.05572-.3857-.05315.0591.38229-.1114.11143-.0197-.01972c-.018-.018-.0429-.02742-.0669-.02742s-.048.00942-.0668.02742c-.0369.03686-.0369.09686 0 .13372l.0197.01971-.0532.054-.0137-.01457c-.0188-.018-.0428-.02743-.0668-.02743-.0249 0-.0489.00943-.0669.02743-.0368.03686-.0368.09686 0 .13372l.0146.01457-1.0149 1.02004-.0231-.0232c-.0189-.018-.0429-.0274-.0669-.0274s-.048.0094-.0668.0274c-.0369.0369-.0369.0969 0 .1337l.024.0232-.054.054-.018-.0172c-.018-.0188-.0429-.0283-.066-.0283-.0249 0-.0489.0095-.0677.0283-.036.0369-.036.096 0 .1329l.018.018-.132.1337-.018.1697.0694.0712-.0017.0008-.084.0857-5.47632 5.4755-.07114-.0592-.22714.0326-.12858.1303-.00857-.0086c-.01885-.0189-.04285-.0283-.06685-.0283s-.04886.0094-.06686.0283c-.03686.0369-.03686.096 0 .1329l.01028.0102-.05314.0549-.00514-.0051c-.018-.0189-.04286-.0283-.06686-.0283s-.048.0094-.06686.0283c-.036.0368-.036.096 0 .1328l.006.0069-1.002 1.0191-.02057-.0206c-.01885-.0188-.042-.0274-.06685-.0274-.024 0-.048.0086-.06686.0274-.03686.0369-.03686.0969 0 .1338l.02228.0214-.05314.054-.01628-.0163c-.01886-.018-.04286-.0274-.06772-.0274-.02314 0-.048.0094-.066.0274-.03686.0369-.03686.0969 0 .1337l.01714.018-.07457.0763-.38828-.0694.02914.4337-.12257.1251.10628.5846s.16286.5091.498.8469c.32486.3274.82029.4842.84172.5005l.55971.0977.138-.1354.38572.0626-.06343-.3814.11743-.1149.054.054c.018.018.042.0274.066.0274s.04885-.0094.06685-.0274c.03686-.0377.03686-.0969 0-.1337l-.05314-.0532.05486-.0531.04628.0463c.018.0188.04286.0283.06686.0283s.048-.0095.06686-.0283c.03686-.0369.03686-.096 0-.1329l-.04543-.0463 1.01743-1.0037.04457.0446c.018.0189.04286.0274.06686.0274s.048-.0085.06685-.0274c.036-.0369.036-.0969 0-.1337l-.04371-.0429.054-.054.03771.0377c.018.018.042.0275.066.0275.02486 0 .04886-.0095.06686-.0275.03686-.0368.03686-.0968 0-.1337l-.03686-.0368.114-.1115.04115-.2442-.06086-.0609.00086-.0009.11057-.1097 5.43946-5.4411-.0026-.0052.1063.1098.1706-.0189.1534-.1543.0248.0249c.0189.018.0429.0274.0669.0274s.0489-.0094.0669-.0274c.0368-.0369.0368-.0969 0-.1337l-.0249-.0249.054-.0531.0189.0188c.018.018.042.0274.0668.0274.024 0 .048-.0094.066-.0274.0369-.0368.0369-.0968 0-.1337l-.0188-.0197 1.0165-1.0183.0266.0266c.018.018.042.0274.066.0274.0249 0 .0489-.0094.0669-.0274.0368-.0369.0368-.0969 0-.1337l-.0266-.0266.054-.054.0206.0214c.0188.018.0428.0274.0668.0274s.048-.0094.0669-.0274c.0368-.0377.0368-.0968 0-.1337l-.0206-.0214.1131-.1132.378.0592z\" />\n        <path d=\"m17.0057 16.7793-2.4111-1.8274-.4294-.4423-1.6637 1.6637.4183.3995 1.5711 2.3562 2.1188 2.3203 2.4421-2.2783z\" />\n      </g>\n    </svg>\n  ),\n};\n"
  },
  {
    "path": "apps/dashboard/components/DiscordLogin.tsx",
    "content": "\"use client\";\n\nimport { signIn } from \"next-auth/react\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\n\nexport function DiscordLogin() {\n  return (\n    <Button\n      variant=\"primary\"\n      onClick={(e) => {\n        e.preventDefault();\n        signIn(\"discord\", { scope: \"session identity guilds\" });\n      }}\n    >\n      <Icons.discord className={iconVariants({ variant: \"button\" })} />\n      Login with Discord\n    </Button>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/Footer.tsx",
    "content": "\"use client\";\n\nimport { dashboardConfig } from \"@majoexe/config\";\nimport { SparklesIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useSelectedLayoutSegment, usePathname } from \"next/navigation\";\nimport React, { HTMLAttributes } from \"react\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport Image from \"@/components/ui/Image\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Footer = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => {\n  const segment = useSelectedLayoutSegment();\n  const pathname = usePathname();\n\n  return (\n    <footer\n      {...props}\n      className={cn(\n        {\n          \"w-full! md:pl-[18rem]!\": segment === \"dashboard\" && pathname !== \"/dashboard\",\n          \"w-full xl:w-4/5\": segment !== \"dashboard\" || pathname === \"/dashboard\",\n        },\n        \"mx-auto px-4 py-10 md:px-8 lg:px-16\",\n        className\n      )}\n    >\n      <div className=\"mx-auto pt-10\">\n        <div className=\"grid grid-cols-2 gap-9 md:grid-cols-5\">\n          <div className=\"col-span-3 flex flex-col justify-center\">\n            <div className=\"flex items-center space-x-5\">\n              <Link href=\"/\">\n                <p className=\"flex cursor-pointer items-center text-2xl font-semibold\">\n                  <Image className=\"mr-2 size-9 min-h-9 min-w-9 rounded-full\" src={dashboardConfig.logo} alt={`${dashboardConfig.title} logo`} width={36} height={36} />\n                  {dashboardConfig.title}\n                </p>\n              </Link>\n            </div>\n\n            {/* ================== DO NOT REMOVE ================== */}\n            {/* YOU ARE NOT ALLOWED TO REMOVE, HIDE OR MODIFY THIS TEXT!\n         This project is licensed under the MIT License!   */}\n            {/* =================================================== */}\n            {!process.env.NEXT_PUBLIC_IS_HOSTED_BY_CREATOR ? (\n              <div className=\"mt-3 text-neutral-300\">\n                <Link target=\"_blank\" href=\"https://majoexe.com\" className=\"font-semibold text-accent-primary hover:opacity-80\">\n                  🔥 Powered by Majo.exe!\n                </Link>\n                <div className=\"mt-2\">\n                  This is a public instance of Majo.exe - a free and open-source Discord bot. You can invite it to your server by clicking on the button below or{\" \"}\n                  <Link href=\"https://majoexe.com/invite\" className=\"font-semibold text-neutral-200 hover:underline\">\n                    by clicking here\n                  </Link>\n                  .\n                  <Link className={cn(buttonVariants({ variant: \"primary\" }), \"mt-3 w-fit\")} href=\"https://majoexe.com/invite\">\n                    <SparklesIcon className=\"mr-2 size-5\" />\n                    Invite original Majo.exe\n                  </Link>\n                </div>\n              </div>\n            ) : (\n              <p className=\"mt-3 text-neutral-300\">🔥 Bot for almost everything - Memes, Image editing, Giveaways, Moderation, Anime and even more!</p>\n            )}\n            {/* =================================================== */}\n            <br />\n          </div>\n\n          <div className=\"col-span-1 text-neutral-300\">\n            <p className=\"mt-3 font-semibold text-white sm:mb-3 sm:mt-0\">Useful links</p>\n            <div>\n              <Link href={`${dashboardConfig.url}/discord`} className=\"mt-2 block duration-100 hover:text-neutral-300 hover:underline motion-reduce:transition-none\">\n                Discord server\n              </Link>\n              <Link href={`${dashboardConfig.url}/contact`} className=\"mt-2 block duration-100 hover:text-neutral-300 hover:underline motion-reduce:transition-none\">\n                Contact us\n              </Link>\n              <Link href=\"https://github.com/igorkowalczyk/majo.exe\" className=\"mt-2 block duration-100 hover:text-neutral-300 hover:underline motion-reduce:transition-none\">\n                Source code\n              </Link>\n            </div>\n          </div>\n\n          <div className=\"col-span-1 text-neutral-300\">\n            <p className=\"mt-3 font-semibold text-white sm:mb-3 sm:mt-0\">Legal</p>\n            <div>\n              <Link href={`${dashboardConfig.url}/legal/privacy-policy`} className=\"mt-2 block duration-100 hover:text-neutral-300 hover:underline motion-reduce:transition-none\">\n                Privacy Policy\n              </Link>\n              <Link href={`${dashboardConfig.url}/legal/terms-of-service`} className=\"mt-2 block duration-100 hover:text-neutral-300 hover:underline motion-reduce:transition-none\">\n                Terms of Service\n              </Link>\n            </div>\n          </div>\n        </div>\n        <div className=\"mt-5 flex text-center text-neutral-300\">\n          {/* ================== DO NOT REMOVE ================== */}\n          {/* YOU ARE NOT ALLOWED TO REMOVE, HIDE OR MODIFY THIS TEXT!\n         This project is licensed under the MIT License!   */}\n          {/* =================================================== */}\n          <p className=\"text-sm font-semibold opacity-80\">\n            Copyright &copy; 2020 - {new Date().getFullYear()}{\" \"}\n            <Link className=\"hover:opacity-80\" href=\"https://igorkowalczyk.dev\">\n              Igor Kowalczyk\n            </Link>\n            , All rights reserved.\n          </p>\n          {/* =================================================== */}\n        </div>\n      </div>\n    </footer>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/Hotjar.tsx",
    "content": "import Script from \"next/script\";\n\nexport function Hotjar({ id }: { id: string | null }) {\n  if (!id) return null;\n  return (\n    <Script strategy=\"afterInteractive\" id=\"hotjar\">\n      {`\n    (function(h,o,t,j,a,r){\n     h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n     h._hjSettings={hjid:${id},hjsv:6};\n     a=o.getElementsByTagName('head')[0];\n     r=o.createElement('script');r.async=1;\n     r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n     a.appendChild(r);\n    })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n   `}\n    </Script>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/LoginButton.tsx",
    "content": "import { getSession } from \"lib/session\";\nimport { CornerDownRightIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { DiscordLogin } from \"@/components/DiscordLogin\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport async function LoginButton() {\n  const session = await getSession();\n  if (!session) return <DiscordLogin />;\n\n  return (\n    <Link href=\"/dashboard\" className={cn(buttonVariants({ variant: \"primary\" }))}>\n      <CornerDownRightIcon className={iconVariants({ variant: \"button\" })} /> Go to dashboard\n    </Link>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/Session.tsx",
    "content": "\"use client\";\n\nimport { SessionProvider } from \"next-auth/react\";\n\nexport function Session({ children }: { children: React.ReactElement }) {\n  return (\n    <SessionProvider refetchInterval={5 * 60} refetchOnWindowFocus={false}>\n      {children}\n    </SessionProvider>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/TailwindIndicator.tsx",
    "content": "export function TailwindIndicator() {\n  if (process.env.NODE_ENV === \"production\") return null;\n\n  return (\n    <div className=\"fixed bottom-1 left-1 z-99999 flex size-6 shrink-0 items-center justify-center rounded-full bg-gray-800 p-4 font-mono text-xs text-white\">\n      <div className=\"block sm:hidden\">xs</div>\n      <div className=\"hidden sm:block md:hidden lg:hidden xl:hidden 2xl:hidden\">sm</div>\n      <div className=\"hidden md:block lg:hidden xl:hidden 2xl:hidden\">md</div>\n      <div className=\"hidden lg:block xl:hidden 2xl:hidden\">lg</div>\n      <div className=\"hidden xl:block 2xl:hidden\">xl</div>\n      <div className=\"hidden 2xl:block\">2xl</div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/client/charts/ServerStatsChart.tsx",
    "content": "\"use client\";\n\nimport { DataEntry } from \"@majoexe/util/functions/util\";\nimport { CalendarRangeIcon, ChevronsUpDownIcon, DownloadIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { ChartContainer, ChartConfig, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, type CustomTooltipProps } from \"@/components/ui/Chart\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from \"@/components/ui/DropdownMenu\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Select, SelectTrigger, SelectItem, SelectContent, SelectValue } from \"@/components/ui/Select\";\nimport { cn } from \"@/lib/utils\";\n\nexport const dateRanges = [\n  { label: \"Last 7 days\", days: 7 },\n  { label: \"Last 14 days\", days: 14 },\n  { label: \"Last 30 days\", days: 30 },\n  { label: \"All time\", days: Infinity },\n] as const;\n\nexport type DateRange = (typeof dateRanges)[number];\n\nexport interface StatsChartProps {\n  title: string;\n  data: DataEntry[];\n  CSVData?: string;\n  fileName?: string;\n  categories: string[];\n  chartConfig?: ChartConfig;\n  showDateRange?: boolean;\n  calculateTotal?: (data: DataEntry[], dateRange: DateRange) => number;\n}\n\nexport const StatsChart = ({ title, data, CSVData, fileName, categories, chartConfig, showDateRange = true, calculateTotal }: StatsChartProps) => {\n  const [dateRange, setDateRange] = useState<DateRange>(dateRanges[0]);\n\n  let filteredData = data;\n\n  if (dateRange && dateRange.days !== Infinity) {\n    const cutoffDate = new Date();\n    cutoffDate.setHours(0, 0, 0, 0);\n    cutoffDate.setDate(cutoffDate.getDate() - dateRange.days);\n\n    filteredData = data.filter((item) => {\n      if (!item.date) return false;\n      const itemDate = new Date(item.date);\n      itemDate.setHours(0, 0, 0, 0);\n      return itemDate >= cutoffDate;\n    }) as typeof filteredData;\n  }\n\n  const start = filteredData[0]?.date;\n  const end = filteredData[filteredData.length - 1]?.date;\n\n  const total = calculateTotal ? calculateTotal(filteredData, dateRange) : null;\n\n  const downloadFile = (data: string, fileName: string) => {\n    const blob = new Blob([data], { type: \"text/csv;charset=utf-8;\" });\n\n    const url = URL.createObjectURL(blob);\n    const link = document.createElement(\"a\");\n    link.href = url;\n    link.setAttribute(\"download\", fileName);\n    document.body.appendChild(link);\n    link.click();\n    document.body.removeChild(link);\n    URL.revokeObjectURL(url);\n  };\n\n  return (\n    <>\n      <div className=\"mb-4 flex flex-col items-center justify-normal gap-2 whitespace-nowrap lg:flex-row\">\n        <Header className={cn(headerVariants({ variant: \"h2\" }), \"flex-col items-center gap-1 lg:items-start\")}>\n          <span>\n            {title}{\" \"}\n            {total !== null && (\n              <span\n                className={cn({\n                  \"text-red-400\": total < 0,\n                  \"text-button-primary\": total >= 0,\n                })}\n              >\n                ({total >= 0 ? `+${total}` : total})\n              </span>\n            )}\n          </span>\n          {start && end && showDateRange && (\n            <div className=\"text-left text-sm font-normal opacity-40\">\n              {start.toString()} - {end.toString()}\n            </div>\n          )}\n        </Header>\n        <div className=\"relative mx-auto flex flex-row flex-wrap items-center justify-center gap-2 lg:ml-auto lg:mr-0 lg:gap-2\">\n          {fileName && CSVData && (\n            <DropdownMenu>\n              <DropdownMenuTrigger asChild>\n                <Button variant=\"select\">\n                  <DownloadIcon className={iconVariants({ variant: \"small\" })} />\n                  Export\n                  <ChevronsUpDownIcon\n                    className={iconVariants({\n                      variant: \"small\",\n                      className: \"text-neutral-400 duration-200 motion-reduce:transition-none\",\n                    })}\n                  />\n                </Button>\n              </DropdownMenuTrigger>\n              <DropdownMenuContent className=\"min-w-42\">\n                <DropdownMenuItem onClick={() => downloadFile(CSVData, `${fileName}.csv`)}>\n                  <Icons.fileCSV className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Export as CSV\n                </DropdownMenuItem>\n                <DropdownMenuItem onClick={() => downloadFile(JSON.stringify(data), `${fileName}.json`)}>\n                  <Icons.fileJSON className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Export as JSON\n                </DropdownMenuItem>\n              </DropdownMenuContent>\n            </DropdownMenu>\n          )}\n          {showDateRange && (\n            <Select\n              value={dateRange?.days.toString() ?? dateRanges[0].days.toString()}\n              onValueChange={(value) => setDateRange(dateRanges.find((range) => range.days.toString() === value) || dateRanges[0])}\n            >\n              <SelectTrigger>\n                <SelectValue placeholder=\"Select date range\">\n                  <span className=\"flex items-center gap-2\">\n                    <CalendarRangeIcon className={iconVariants({ variant: \"small\" })} />\n                    <span>Date Range: {dateRange?.label ?? \"N/A\"}</span>\n                  </span>\n                </SelectValue>\n              </SelectTrigger>\n\n              <SelectContent className=\"min-w-(--radix-select-trigger-width)\">\n                {dateRanges.map((range) => (\n                  <SelectItem key={`range-${range.label}`} value={range.days.toString()}>\n                    {range.label}\n                  </SelectItem>\n                ))}\n              </SelectContent>\n            </Select>\n          )}\n        </div>\n      </div>\n      <ChartContainer config={chartConfig || {}} className=\"aspect-auto h-[250px] w-full\">\n        <AreaChart accessibilityLayer data={filteredData}>\n          <defs>\n            {categories.map((category) => {\n              const config = (chartConfig ?? {})[category as keyof typeof chartConfig];\n              const color = config ? config.color : \"hsl(var(--chart-1))\";\n              return (\n                <linearGradient key={category} id={`fill-${category.toLowerCase().replace(/ /g, \"\")}`} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n                  <stop offset=\"5%\" stopColor={color} stopOpacity={0.8} />\n                  <stop offset=\"95%\" stopColor={color} stopOpacity={0.1} />\n                </linearGradient>\n              );\n            })}\n          </defs>\n          <CartesianGrid vertical={false} />\n          <XAxis\n            dataKey=\"date\"\n            tickLine={false}\n            axisLine={false}\n            strokeLinejoin=\"round\"\n            strokeLinecap=\"round\"\n            tickMargin={8}\n            minTickGap={32}\n            tickFormatter={(value) => {\n              const date = new Date(value);\n              return date.toLocaleDateString(\"en-US\", {\n                month: \"short\",\n                day: \"numeric\",\n              });\n            }}\n          />\n          <ChartTooltip\n            cursor={true}\n            content={(props: CustomTooltipProps) => (\n              <ChartTooltipContent\n                {...props}\n                labelFormatter={(value) => {\n                  return new Date(value).toLocaleDateString(\"en-US\", {\n                    month: \"short\",\n                    day: \"numeric\",\n                  });\n                }}\n                indicator=\"line\"\n              />\n            )}\n          />\n\n          {categories.map((category) => (\n            <Area\n              key={category}\n              dataKey={category}\n              connectNulls={true}\n              strokeLinejoin=\"round\"\n              strokeLinecap=\"round\"\n              type=\"monotoneX\"\n              fill={`url(#fill-${category.toLowerCase().replace(/ /g, \"\")})`}\n              stroke={chartConfig?.[category as keyof typeof chartConfig]?.color || \"hsl(var(--chart-5))\"}\n              strokeWidth={2}\n            />\n          ))}\n          <ChartLegend\n            content={\n              <ChartLegendContent\n                payload={categories.map((category) => ({\n                  value: category,\n                  type: \"line\",\n                  color: chartConfig?.[category as keyof typeof chartConfig]?.color || \"hsl(var(--chart-5))\",\n                }))}\n              />\n            }\n          />\n        </AreaChart>\n      </ChartContainer>\n    </>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/client/commands/DiscordCommands.tsx",
    "content": "\"use client\";\nimport type { CommandCategories } from \"@majoexe/database/types\";\nimport { CheckIcon, LoaderCircleIcon, SearchIcon, XIcon } from \"lucide-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { InputWithIcon } from \"@/components/ui/Input\";\nimport { Skeleton } from \"@/components/ui/Skeletons\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\nimport { Command } from \"@/lib/types\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface DiscordCommandsProps extends React.ComponentProps<\"div\"> {\n  commands: Command[];\n  categories: CommandCategories[];\n}\n\nexport const DiscordCommands = ({ commands, categories, className, ...props }: DiscordCommandsProps) => {\n  const [filteredCategories, setFilteredCategories] = useState<CommandCategories[]>(categories);\n  const [search, setSearch] = useState(\"\");\n  const [mounted, setMounted] = useState(false);\n\n  const filteredCommands = useMemo(() => {\n    return commands.filter(\n      (command) => command.name.toLowerCase().includes(search.toLowerCase() || \"\") && filteredCategories.some((category) => category.name === command.categoryName)\n    );\n  }, [search, commands, filteredCategories]);\n\n  useEffect(() => {\n    if (filteredCategories === categories) {\n      return;\n    }\n\n    setFilteredCategories(categories);\n  }, [categories]);\n\n  useEffect(() => {\n    setMounted(true);\n  }, []);\n\n  if (!mounted) {\n    return (\n      <>\n        <Skeleton className=\"h-10 w-full max-w-none!\" />\n\n        <div className=\"mt-8 flex flex-wrap gap-2\">\n          {Array.from({ length: 8 }).map((_, i) => (\n            <Skeleton\n              key={`command-skeleton-${i}`}\n              className=\"h-[42px]\"\n              style={{\n                width: `${Math.floor(Math.random() * (150 - 64 + 1) + 64)}px !important`,\n              }}\n            />\n          ))}\n        </div>\n\n        <div className=\"mt-8 flex flex-col items-center justify-center gap-2\">\n          <Header className={cn(headerVariants({ variant: \"h3\", alignment: \"center\" }))}>\n            <LoaderCircleIcon className={iconVariants({ variant: \"large\", className: \"animate-spin\" })} />\n            Loading commands...\n          </Header>\n          <p className=\"text-center text-white/50\">This may take a few seconds.</p>\n        </div>\n      </>\n    );\n  }\n\n  return (\n    <div className={cn(className)} {...props}>\n      <InputWithIcon\n        placeholder=\"Search commands...\"\n        value={search}\n        onChange={(e) => setSearch(e.target.value)}\n        icon={<SearchIcon className={iconVariants({ variant: \"normal\", className: \"text-white/50\" })} />}\n        className=\"w-full max-w-none!\"\n      />\n      <div className=\"mt-4 flex flex-wrap gap-2\">\n        {categories.map((category) => (\n          <div\n            key={category.name}\n            className={cn(\n              {\n                \"opacity-50\": !filteredCategories?.includes(category),\n              },\n              \"flex cursor-pointer select-none items-center gap-2 rounded-lg border border-neutral-800 px-3 py-1.5 duration-200\"\n            )}\n            onClick={() => {\n              if (filteredCategories.includes(category)) {\n                setFilteredCategories(filteredCategories?.filter((c) => c !== category));\n              } else {\n                setFilteredCategories([...filteredCategories, category]);\n              }\n            }}\n          >\n            <div className=\"relative size-4\">\n              <CheckIcon\n                className={iconVariants({\n                  variant: \"normal\",\n                  className: cn(\"absolute inset-0 size-full duration-200\", {\n                    \"text-accent-primary -ml-1 scale-100\": filteredCategories?.includes(category),\n                    \"scale-0\": !filteredCategories?.includes(category),\n                  }),\n                })}\n              />\n              <XIcon\n                className={iconVariants({\n                  variant: \"normal\",\n                  className: cn(\"absolute inset-0 size-full duration-200\", {\n                    \"-ml-1 scale-100 text-red-400\": !filteredCategories?.includes(category),\n                    \"scale-0\": filteredCategories?.includes(category),\n                  }),\n                })}\n              />\n            </div>\n            {category.name}\n          </div>\n        ))}\n      </div>\n      {filteredCommands.length === 0 ? (\n        <div className=\"mt-8 flex flex-col items-center justify-center gap-2\">\n          <Header className={cn(headerVariants({ variant: \"h3\", alignment: \"center\" }))}>\n            <XIcon className={iconVariants({ variant: \"large\", className: \"text-red-400\" })} />\n            No commands found.\n          </Header>\n          <p className=\"text-center text-white/50\">Try searching for something else or change the categories.</p>\n        </div>\n      ) : (\n        <>\n          {filteredCategories\n            .sort((a, b) => a.name.localeCompare(b.name))\n            .filter((category) => filteredCommands.some((command) => command.categoryName === category.name))\n            .map((category) => (\n              <div key={category.name} className=\"mt-8\">\n                <Header className={cn(headerVariants({ variant: \"h3\" }))}>\n                  {category.name} <span className=\"text-accent-primary\">({filteredCommands.filter((command) => command.categoryName === category.name).length})</span>\n                </Header>\n                {filteredCommands\n                  .filter((command) => command.categoryName === category.name)\n                  .map((command) => (\n                    <div key={command.name} className=\"my-4 w-full rounded-lg border border-neutral-800 bg-background-navbar px-6 py-4\">\n                      <div className=\"flex flex-col items-start gap-2\">\n                        <div className=\"flex items-center\">\n                          <span className=\"font-bold\">/{command.name} </span>\n                          {command.options &&\n                            command.options.map((option) => (\n                              <span\n                                key={option.name}\n                                className={cn(\n                                  {\n                                    \"font-normal! opacity-70\": !option.required,\n                                    \"opacity-100\": option.required,\n                                  },\n                                  \"ml-2 leading-[normal]\"\n                                )}\n                              >\n                                <Tooltip content={`${option.description} ${option.required ? \"(required)\" : \"(optional)\"}`}>\n                                  <code className=\"cursor-pointer\">\n                                    {option.name}\n                                    {option.required ? <span className=\"text-red-400\">*</span> : \"\"}\n                                  </code>\n                                </Tooltip>\n                              </span>\n                            ))}\n                        </div>\n                        <p className=\"opacity-70\">{command.description}</p>\n                      </div>\n                    </div>\n                  ))}\n              </div>\n            ))}\n        </>\n      )}\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/client/commands/UpdateCategories.tsx",
    "content": "\"use client\";\n\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { useRouter } from \"next/navigation\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\n\nexport interface UpdateCategoriesProps extends Omit<React.ComponentProps<typeof Tooltip>, \"content\"> {\n  serverId: Snowflake;\n  categoryName: string;\n  categoryEnabled: boolean;\n}\n\nexport const UpdateCategories = ({ serverId, categoryName, categoryEnabled, ...props }: UpdateCategoriesProps) => {\n  const [enabled, setEnabled] = useState(categoryEnabled);\n  const [loading, setLoading] = useState(false);\n  const router = useRouter();\n\n  const updateCategory = async () => {\n    setLoading(true);\n    const loading = toast.loading(`${!enabled ? \"Enabling\" : \"Disabling\"} category ${categoryName}...`);\n\n    const res = await fetch(\"/api/settings/categories\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        name: categoryName,\n        enabled: !enabled,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      toast.error(`Failed to ${!enabled ? \"enable\" : \"disable\"} category ${categoryName}!`, {\n        id: loading,\n      });\n      return router.refresh();\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      setEnabled(!enabled);\n      toast.success(`Category ${categoryName} ${!enabled ? \"enabled\" : \"disabled\"}!`, {\n        id: loading,\n      });\n      return router.refresh();\n    } else {\n      toast.error(`Failed to ${!enabled ? \"enable\" : \"disable\"} category ${categoryName}!`, {\n        id: loading,\n      });\n      return router.refresh();\n    }\n  };\n\n  return (\n    <Tooltip {...props} content={enabled ? \"Disable category\" : loading ? \"Changing status...\" : \"Enable category\"}>\n      <span>\n        <Switch checked={enabled} disabled={loading} onCheckedChange={() => updateCategory()} />\n      </span>\n    </Tooltip>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/client/commands/UpdateCommands.tsx",
    "content": "\"use client\";\n\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { useRouter } from \"next/navigation\";\nimport React, { useState } from \"react\";\nimport { toast } from \"sonner\";\nimport { Switch } from \"@/components/ui/Switch\";\nimport { Tooltip } from \"@/components/ui/Tooltip\";\n\nexport interface UpdateCommandsProps extends Omit<React.ComponentProps<typeof Tooltip>, \"content\"> {\n  serverId: Snowflake;\n  commandName: string;\n  commandEnabled: boolean;\n}\n\nexport const UpdateCommands = ({ serverId, commandName, commandEnabled, ...props }: UpdateCommandsProps) => {\n  const [enabled, setEnabled] = useState(commandEnabled);\n  const [loading, setLoading] = useState(false);\n  const router = useRouter();\n\n  const updateCommand = async () => {\n    setLoading(true);\n    const loading = toast.loading(`${!enabled ? \"Enabling\" : \"Disabling\"} command /${commandName}...`);\n\n    const res = await fetch(\"/api/settings/commands\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify({\n        id: serverId,\n        name: commandName,\n        enabled: !enabled,\n      }),\n    });\n\n    setLoading(false);\n\n    if (!res.ok) {\n      toast.error(`Failed to ${!enabled ? \"enable\" : \"disable\"} /${commandName}!`, {\n        id: loading,\n      });\n      return router.refresh();\n    }\n\n    const json = await res.json();\n\n    if (json.code === 200) {\n      setEnabled(!enabled);\n      toast.success(`Command /${commandName} ${!enabled ? \"enabled\" : \"disabled\"}!`, {\n        id: loading,\n      });\n      return router.refresh();\n    } else {\n      toast.error(`Failed to ${!enabled ? \"enable\" : \"disable\"} /${commandName}!`, {\n        id: loading,\n      });\n      return router.refresh();\n    }\n  };\n\n  return (\n    <Tooltip {...props} content={enabled ? \"Disable command\" : loading ? \"Changing status...\" : \"Enable command\"}>\n      <span>\n        <Switch checked={enabled} disabled={loading} onCheckedChange={() => updateCommand()} />\n      </span>\n    </Tooltip>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/nav/GuildMenuDropdown.tsx",
    "content": "\"use client\";\n\nimport { dashboardConfig } from \"@majoexe/config\";\nimport { type ExtendedAPIGuild } from \"@majoexe/util/functions/guild\";\nimport { ChevronsUpDownIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useParams, usePathname } from \"next/navigation\";\nimport React from \"react\";\nimport { Button } from \"../ui/Buttons\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger } from \"@/components/ui/DropdownMenu\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\n\nexport const GuildMenuDropdown = ({ guilds, ...props }: React.ComponentProps<typeof DropdownMenu> & { guilds: ExtendedAPIGuild[] }) => {\n  const { server } = useParams<{ server: string }>();\n  const path = usePathname();\n  if (!guilds || guilds.length === 0) return null;\n\n  const splitPath = path.split(\"/\");\n  const url = \"/\" + (splitPath.length === 4 ? splitPath[3] : \"\");\n\n  const selectedGuild = guilds.find((guild) => guild.id === server);\n\n  if (!selectedGuild || selectedGuild === null) return null;\n\n  return (\n    <DropdownMenu {...props}>\n      <DropdownMenuTrigger asChild className=\"bg-transparent! w-64 py-0 border-none\">\n        <Button variant=\"select\">\n          {selectedGuild.icon ? (\n            <Image\n              src={`https://cdn.discordapp.com/icons/${selectedGuild.id}/${selectedGuild.icon}.${selectedGuild.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n              alt={selectedGuild.name}\n              quality={95}\n              width={24}\n              height={24}\n              className=\"size-9 shrink-0 rounded-full\"\n            />\n          ) : (\n            <div className=\"size-9  shrink-0 rounded-full bg-button-secondary\" />\n          )}\n          <span className=\"text-lg font-bold truncate\">{selectedGuild?.name || \"Select a server\"}</span>\n          <ChevronsUpDownIcon\n            className={iconVariants({\n              variant: \"normal\",\n              className: \"text-neutral-400 duration-200 motion-reduce:transition-none\",\n            })}\n          />\n        </Button>\n      </DropdownMenuTrigger>\n      <DropdownMenuContent className=\"max-h-64 min-w-[calc(var(--radix-dropdown-menu-trigger-width)-8px)] overflow-y-auto\" align=\"start\" alignOffset={10}>\n        <DropdownMenuLabel className=\"px-2 pt-2 pb-1 font-normal\">Pick a server</DropdownMenuLabel>\n        <DropdownMenuGroup>\n          {guilds.map((guild) => (\n            <DropdownMenuItem key={guild.id} asChild>\n              <Link href={`/dashboard/${guild.id}${url}`} className=\"flex items-center gap-2\">\n                {guild.icon ? (\n                  <Image\n                    src={`https://cdn.discordapp.com/icons/${guild.id}/${guild.icon}.${guild.icon.startsWith(\"a_\") ? \"gif\" : \"png\"}`}\n                    alt={guild.name}\n                    quality={95}\n                    width={24}\n                    height={24}\n                    className=\"size-6 shrink-0 rounded-full\"\n                  />\n                ) : (\n                  <div className=\"size-6 shrink-0 rounded-full bg-button-secondary\" />\n                )}\n                <span>{guild.name}</span>\n              </Link>\n            </DropdownMenuItem>\n          ))}\n        </DropdownMenuGroup>\n      </DropdownMenuContent>\n    </DropdownMenu>\n  );\n};\n\nexport const GuildDashboardLogo = () => {\n  const { server } = useParams<{ server: string }>();\n\n  if (server) return null;\n\n  return (\n    <div className=\"flex cursor-pointer items-center gap-2 pl-4 pr-2 text-xl duration-200 hover:opacity-90 motion-reduce:transition-none\">\n      <Image className=\"size-9 min-h-9 min-w-9 rounded-full\" src={dashboardConfig.logo} alt={`${dashboardConfig.title} logo`} width={36} height={36} />\n      <p className=\"hidden font-bold sm:block\">{dashboardConfig.title}</p>\n    </div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/nav/ProgressBar.tsx",
    "content": "\"use client\";\n\nimport { ProgressProvider } from \"@bprogress/next/app\";\n\nexport function ProgressBar({ children }: { children: React.ReactElement }) {\n  return (\n    <ProgressProvider color=\"#5865f2\" height=\"2px\" options={{ showSpinner: false }}>\n      {children}\n    </ProgressProvider>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/nav/SideMenuControl.tsx",
    "content": "\"use client\";\n\nimport { MenuIcon, XIcon } from \"lucide-react\";\nimport { useParams } from \"next/navigation\";\nimport React, { use } from \"react\";\nimport { VisibilityContext } from \"@/components/nav/VisibilityContext\";\nimport { cn } from \"@/lib/utils\";\n\nexport const SideMenuControl = ({ className, ...props }: React.ComponentProps<\"button\">) => {\n  const { toggleSideNav, sideNavVisible } = use(VisibilityContext);\n  const params = useParams();\n\n  return (\n    <>\n      {params.server && (\n        <button\n          className={cn(\"bg-elements text-text ml-4 flex flex-row items-center gap-2 rounded-lg p-2 md:hidden cursor-pointer\", className)}\n          onClick={toggleSideNav}\n          type=\"button\"\n          {...props}\n        >\n          <div className=\"relative size-6\">\n            <XIcon\n              className={cn(\n                {\n                  \"scale-0\": !sideNavVisible,\n                  \"scale-100\": sideNavVisible,\n                },\n                \"absolute top-0 size-6 shrink-0 duration-200\"\n              )}\n            />\n            <MenuIcon\n              className={cn(\n                {\n                  \"scale-100\": !sideNavVisible,\n                  \"scale-0\": sideNavVisible,\n                },\n                \"absolute top-0 size-6 shrink-0 duration-200\"\n              )}\n            />\n          </div>\n        </button>\n      )}\n    </>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/nav/SideNavigation.tsx",
    "content": "\"use client\";\n\nimport {\n  BotIcon,\n  ChevronLeftIcon,\n  GiftIcon,\n  HandIcon,\n  HomeIcon,\n  LogsIcon,\n  MessageSquareWarningIcon,\n  PackagePlusIcon,\n  ScrollTextIcon,\n  SettingsIcon,\n  SparklesIcon,\n  TrendingUpIcon,\n} from \"lucide-react\";\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport React, { use } from \"react\";\nimport { VisibilityContext } from \"@/components/nav/VisibilityContext\";\nimport { Badge } from \"@/components/ui/Badge\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const SideNavLink = ({ href, children, ...props }: React.ComponentProps<typeof Link>) => {\n  const router = usePathname();\n  const isSelected = (path: string) => router === path;\n\n  return (\n    <Link\n      href={href}\n      className={`${isSelected(href.toString()) ? \"bg-button-primary/20 before:h-[29px]\" : \"hover:bg-button-primary/20\"} flex h-[45px] w-full items-center gap-2 rounded-lg py-2 pr-4 duration-200 before:h-0 before:rounded-r-md before:border-l-4 before:border-button-primary before:duration-200 hover:bg-button-primary/20 hover:before:h-[29px]`}\n      {...props}\n    >\n      {children}\n    </Link>\n  );\n};\n\nexport interface SideNavigationProps extends React.ComponentProps<\"aside\"> {\n  server: string;\n}\n\nexport const SideNavigation = ({ className, server, ...props }: SideNavigationProps) => {\n  const { sideNavVisible, toggleSideNav } = use(VisibilityContext);\n\n  return (\n    <>\n      {sideNavVisible && <div className=\"fixed inset-0 z-20 size-full bg-black/50 duration-200\" onClick={() => sideNavVisible && toggleSideNav()} />}\n      <aside\n        className={cn(\n          {\n            \"pointer-events-none opacity-0\": !sideNavVisible,\n            \"opacity-100\": sideNavVisible,\n          },\n          \"bg-background-navbar fixed z-30 mt-8 flex h-screen w-64 flex-none flex-col flex-nowrap overflow-y-auto overflow-x-hidden border-r border-r-neutral-800 py-8 pb-32 shadow-lg duration-100 md:pointer-events-auto md:top-0 md:mt-16 md:opacity-100\",\n          className\n        )}\n        {...props}\n      >\n        <div className=\"px-4\">\n          <Link href=\"/dashboard\" className={cn(buttonVariants({ variant: \"primary\" }), \"mb-4 w-full\")}>\n            <ChevronLeftIcon className={iconVariants({ variant: \"button\" })} /> Server list\n          </Link>\n        </div>\n\n        <div className=\"flex w-full flex-col items-center justify-center gap-2 border-t border-t-neutral-800 px-4 pt-4\">\n          <SideNavLink href={`/dashboard/${server}`}>\n            <HomeIcon className={iconVariants({ variant: \"large\" })} />\n            Overview\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/statistics`}>\n            <TrendingUpIcon className={iconVariants({ variant: \"large\" })} />\n            Statistics\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/leaderboard`}>\n            <SparklesIcon className={iconVariants({ variant: \"large\" })} />\n            Leaderboard\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/giveaways`}>\n            <GiftIcon className={iconVariants({ variant: \"large\" })} />\n            Giveaways\n          </SideNavLink>\n        </div>\n\n        <div className=\"text-text mt-2 border-t border-white/20 px-5 py-2 opacity-40\">Moderation</div>\n        <div className=\"flex w-full flex-col items-center justify-center gap-2 px-4\">\n          <SideNavLink href={`/dashboard/${server}/warns`}>\n            <MessageSquareWarningIcon className={iconVariants({ variant: \"large\" })} />\n            User warns\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/logs`}>\n            <ScrollTextIcon className={iconVariants({ variant: \"large\" })} />\n            Logs <Badge className=\"-mt-3\">new</Badge>\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/automod`}>\n            <BotIcon className={iconVariants({ variant: \"large\" })} />\n            Automod\n          </SideNavLink>\n        </div>\n        <div className=\"text-text mt-2 border-t border-white/20 px-5 py-2 opacity-40\">Management</div>\n        <div className=\"flex w-full flex-col items-center justify-center gap-2 px-4\">\n          <SideNavLink href={`/dashboard/${server}/modules`}>\n            <PackagePlusIcon className={iconVariants({ variant: \"large\" })} />\n            Modules\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/messages`}>\n            <HandIcon className={iconVariants({ variant: \"large\" })} />\n            Welcome & Leave\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/dashboard-logs`}>\n            <LogsIcon className={iconVariants({ variant: \"large\" })} />\n            Dashboard logs\n          </SideNavLink>\n          <SideNavLink href={`/dashboard/${server}/settings`}>\n            <SettingsIcon className={iconVariants({ variant: \"large\" })} />\n            Settings\n          </SideNavLink>\n        </div>\n      </aside>\n    </>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/nav/TopNavigation.tsx",
    "content": "import { type ExtendedAPIGuild, getMemberGuilds, isBotInServer } from \"@majoexe/util/functions/guild\";\nimport { getSession } from \"lib/session\";\nimport { SquareSlashIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport React from \"react\";\nimport { DiscordLogin } from \"@/components/DiscordLogin\";\nimport { GuildDashboardLogo, GuildMenuDropdown } from \"@/components/nav/GuildMenuDropdown\";\nimport { SideMenuControl } from \"@/components/nav/SideMenuControl\";\nimport { UserMenuDropdown } from \"@/components/nav/UserMenuDropdown\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const TopNavigation = async ({ className, theme, ...props }: React.ComponentProps<\"nav\"> & { theme?: \"full\" | \"compact\" }) => {\n  const session = await getSession();\n  let guilds: ExtendedAPIGuild[] = [];\n\n  if (session && session.access_token) {\n    const data = (await getMemberGuilds(session.access_token)) || [];\n\n    const guildsToFilter = await Promise.all(\n      data\n        .filter((server) => server.permissions_names.includes(\"ManageGuild\") || server.permissions_names.includes(\"Administrator\"))\n        .map(async (server: ExtendedAPIGuild) => {\n          const botInServer = await isBotInServer(server.id);\n          return botInServer ? server : null;\n        })\n    );\n\n    guilds = guildsToFilter.filter((server) => server !== null);\n  }\n\n  return (\n    <nav className={cn(\"bg-background-navbar fixed z-40 px-1 flex w-full items-center border-b border-b-neutral-800 py-4 text-left shadow-lg\", className)} {...props}>\n      <SideMenuControl />\n      <div\n        className={cn(\n          {\n            \"xl:w-4/5\": theme === \"compact\",\n            \"w-full\": !theme || theme === \"full\",\n          },\n          \"mx-auto flex items-center\"\n        )}\n      >\n        <Link href=\"/\" className=\"text-lg text-white\">\n          <GuildDashboardLogo />\n        </Link>\n        <div className=\"hidden md:flex md:items-center md:gap-2\">\n          <GuildMenuDropdown guilds={guilds} />\n          <svg height=\"16\" strokeLinejoin=\"round\" className=\"size-6 fill-neutral-700\" viewBox=\"0 0 16 16\" width=\"16\">\n            <path\n              fillRule=\"evenodd\"\n              clipRule=\"evenodd\"\n              d=\"M4.01526 15.3939L4.3107 14.7046L10.3107 0.704556L10.6061 0.0151978L11.9849 0.606077L11.6894 1.29544L5.68942 15.2954L5.39398 15.9848L4.01526 15.3939Z\"\n            />\n          </svg>\n          <Link href=\"/commands\" className=\"flex items-center text-white/60 duration-200 hover:text-white motion-reduce:transition-none\">\n            <SquareSlashIcon className={iconVariants({ variant: \"large\", className: \"mr-2\" })} />\n            <span className=\"-mb-px\">Commands</span>\n          </Link>\n        </div>\n        <div className=\"ml-auto mr-4\">\n          {session ? (\n            <div className=\"flex items-center gap-3\">\n              <UserMenuDropdown user={session} />\n            </div>\n          ) : (\n            <div className=\"flex items-center justify-center gap-2\">\n              <div className=\"hidden md:block\">\n                <Link href=\"/api/invite\" className={buttonVariants({ variant: \"secondary\" })}>\n                  <Icons.userAdd className={iconVariants({ variant: \"button\" })} />\n                  Add to your server\n                </Link>\n              </div>\n              <DiscordLogin />\n            </div>\n          )}\n        </div>\n      </div>\n    </nav>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/nav/UserMenuDropdown.tsx",
    "content": "\"use client\";\n\nimport { ChevronsUpDownIcon, HomeIcon, LogOutIcon, UserIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport { signOut } from \"next-auth/react\";\nimport React from \"react\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from \"@/components/ui/DropdownMenu\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport Image from \"@/components/ui/Image\";\nimport { getSession } from \"@/lib/session\";\n\nexport type UserSession = Awaited<ReturnType<typeof getSession>>;\n\nexport const UserMenuDropdown = ({ user, ...props }: React.ComponentProps<typeof DropdownMenu> & { user: UserSession }) => {\n  const route = usePathname();\n\n  if (!user) return null;\n\n  return (\n    <DropdownMenu {...props}>\n      <DropdownMenuTrigger asChild>\n        <Button variant=\"select\">\n          <Image width=\"32\" height=\"32\" quality={100} className=\"size-6 shrink-0 rounded-full\" src={user.avatar} loading=\"lazy\" alt={`${user.name} Avatar`} />\n          {user.global_name || user.name}\n\n          <ChevronsUpDownIcon\n            className={iconVariants({\n              variant: \"small\",\n              className: \"text-neutral-400 duration-200 motion-reduce:transition-none\",\n            })}\n          />\n        </Button>\n      </DropdownMenuTrigger>\n      <DropdownMenuContent className=\"min-w-52\" align=\"end\">\n        <DropdownMenuItem asChild>\n          <Link href=\"/dashboard\">\n            <Icons.dashboard className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Dashboard\n          </Link>\n        </DropdownMenuItem>\n        <DropdownMenuItem asChild>\n          <Link href=\"/user/profile\">\n            <UserIcon className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Profile\n          </Link>\n        </DropdownMenuItem>\n        {route !== \"/\" && (\n          <DropdownMenuItem asChild>\n            <Link href=\"/\">\n              <HomeIcon className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Home\n            </Link>\n          </DropdownMenuItem>\n        )}\n\n        <DropdownMenuSeparator />\n\n        <DropdownMenuItem asChild>\n          <Link href=\"/discord\">\n            <Icons.help className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Support\n          </Link>\n        </DropdownMenuItem>\n        <DropdownMenuItem\n          onClick={(e) => {\n            e.preventDefault();\n            signOut({ redirect: true, callbackUrl: \"/\" });\n          }}\n          className=\"`hover:text-red-400! hover:bg-button-action-hover/40!\"\n        >\n          <LogOutIcon className={iconVariants({ variant: \"button\", className: \"ml-1\" })} /> Logout\n        </DropdownMenuItem>\n      </DropdownMenuContent>\n    </DropdownMenu>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/nav/VisibilityContext.tsx",
    "content": "\"use client\";\n\nimport React, { createContext, useState, ReactNode } from \"react\";\n\ninterface VisibilityContextProps {\n  sideNavVisible: boolean;\n  toggleSideNav: () => void;\n}\n\nexport const VisibilityContext = createContext<VisibilityContextProps>({\n  sideNavVisible: false,\n  toggleSideNav: () => {},\n});\n\ninterface VisibilityProviderProps {\n  children: ReactNode;\n}\n\nexport const VisibilityProvider = ({ children }: VisibilityProviderProps) => {\n  const [sideNavVisible, setSideNavVisible] = useState(false);\n  const toggleSideNav = () => setSideNavVisible(!sideNavVisible);\n\n  return <VisibilityContext value={{ sideNavVisible, toggleSideNav }}>{children}</VisibilityContext>;\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/Accordion.tsx",
    "content": "\"use client\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Accordion = AccordionPrimitive.Root;\n\nfunction AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n  return <AccordionPrimitive.Item className={cn(\"border-b border-neutral-800\", className)} {...props} />;\n}\n\nfunction AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n  return (\n    <AccordionPrimitive.Header className=\"flex\">\n      <AccordionPrimitive.Trigger\n        className={cn(\"flex w-full items-center justify-between p-6 py-4 font-medium cursor-pointer text-white duration-200 [&[data-state=open]>svg]:rotate-180\", className)}\n        {...props}\n      >\n        {children}\n        <ChevronDownIcon className=\"size-4 duration-200\" />\n      </AccordionPrimitive.Trigger>\n    </AccordionPrimitive.Header>\n  );\n}\n\nfunction AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n  return (\n    <AccordionPrimitive.Content\n      className=\"overflow-hidden transform-gpu transition-all px-6 pb-3 text-neutral-400 data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n      {...props}\n    >\n      <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n    </AccordionPrimitive.Content>\n  );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"
  },
  {
    "path": "apps/dashboard/components/ui/Badge.tsx",
    "content": "import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Badge = ({ className, children, ...props }: React.ComponentProps<\"div\">) => (\n  <div className={cn(\"bg-button-primary rounded-md px-1 py-px pb-0 text-xs uppercase\", className)} {...props}>\n    {children}\n  </div>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/Block.tsx",
    "content": "import { cva, VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nexport const blockVariants = cva(\"hide-scrollbar overflow-x-scroll rounded-xl border bg-background-secondary p-6\", {\n  variants: {\n    theme: {\n      normal: \"border-neutral-800\",\n      danger: \"border-red-400/50\",\n    },\n  },\n  defaultVariants: {\n    theme: \"normal\",\n  },\n});\n\nexport const Block = ({ children, theme, className, ...props }: React.ComponentProps<\"div\"> & VariantProps<typeof blockVariants>) => (\n  <div {...props} className={cn(blockVariants({ theme }), className)}>\n    {children}\n  </div>\n);\n\ninterface ErrorBlockProps extends React.ComponentProps<\"div\"> {\n  title: string;\n  description: string;\n}\n\nexport const ErrorBlock = ({ title, description, ...props }: ErrorBlockProps) => (\n  <Block {...props}>\n    <Header className={cn(headerVariants({ variant: \"h3\", margin: \"normal\" }), \"text-red-400\")}>\n      <Icons.warning className={iconVariants({ variant: \"large\" })} />\n      {title}\n    </Header>\n    <p>{description}</p>\n  </Block>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/Buttons.tsx",
    "content": "import { cva, VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const buttonVariants = cva(\n  \"flex cursor-pointer items-center rounded-lg px-4 py-2 leading-6 text-white duration-200 disabled:cursor-not-allowed motion-reduce:transition-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-background-primary \",\n  {\n    variants: {\n      variant: {\n        primary: \"bg-button-primary hover:bg-button-primary-hover disabled:bg-button-primary/50 disabled:hover:bg-button-primary-hover/50\",\n        secondary:\n          \"bg-button-secondary border border-neutral-700/80 hover:bg-button-secondary-hover disabled:bg-button-secondary/30 hover:border-neutral-600 disabled:text-neutral-400/60 hover:disabled:bg-button-secondary-hover/20\",\n        red: \"bg-button-secondary border border-neutral-700/80 hover:bg-button-secondary-hover disabled:bg-button-secondary/30 hover:border-neutral-600 hover:disabled:bg-button-secondary-hover/40 text-red-400 disabled:text-red-400/50\",\n        discord: \"bg-[#5964f2] hover:bg-[#4753c5] disabled:bg-[#5964f2]/50 disabled:hover:bg-[#4753c5]\",\n        select:\n          \"hover:bg-background-menu-button focus:bg-background-menu-button focus:border-neutral-700 data-[state=open]:border-neutral-700 data-[state=open]:bg-background-menu-button border border-neutral-800 px-3 py-2 gap-3 text-sm font-normal duration-200 hover:border-neutral-700 motion-reduce:transition-none sm:text-sm\",\n      },\n    },\n    defaultVariants: {\n      variant: \"primary\",\n    },\n  }\n);\n\nexport const Button = ({ className, variant, ...props }: React.ComponentProps<\"button\"> & VariantProps<typeof buttonVariants>) => (\n  <button className={cn(buttonVariants({ variant }), className)} {...props} type={props.type ?? \"button\"}>\n    {props.children}\n  </button>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/ChannelsSelect.tsx",
    "content": "\"use client\";\n\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { APIGuildChannel, GuildChannelType } from \"discord-api-types/v10\";\nimport { ChevronsUpDownIcon, CheckIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from \"@/components/ui/Command\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/Popover\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface ChannelsSelectProps extends React.ComponentProps<typeof Popover> {\n  allChannels: Pick<APIGuildChannel<GuildChannelType>, \"id\" | \"name\">[];\n  selectedChannels?: Snowflake[];\n  setChannels: (value: Snowflake[]) => void;\n  multiple?: boolean;\n}\n\nexport const ChannelsSelect = ({ allChannels, selectedChannels = [], setChannels, multiple = true }: ChannelsSelectProps) => {\n  const [open, setOpen] = React.useState(false);\n\n  const handleSelect = (channelId: Snowflake) => {\n    console.log(\"Selected channel ID:\", channelId);\n    if (multiple) {\n      const updatedSelection = selectedChannels.includes(channelId) ? selectedChannels.filter((id) => id !== channelId) : [...selectedChannels, channelId];\n      setChannels(updatedSelection);\n    } else {\n      setChannels([channelId]);\n      setOpen(false);\n    }\n  };\n\n  return (\n    <Popover open={open} onOpenChange={setOpen}>\n      <PopoverTrigger asChild>\n        <Button variant=\"select\" role=\"combobox\" aria-expanded={open} className=\"max-w-sm justify-between\">\n          {selectedChannels.length > 0\n            ? multiple\n              ? `${allChannels.find((channel) => channel.id === selectedChannels[0])?.name ?? \"Unknown channel\"}${selectedChannels.length > 1 ? ` + ${selectedChannels.length - 1} more` : \"\"}`\n              : (allChannels.find((channel) => channel.id === selectedChannels[0])?.name ?? \"No channel selected\")\n            : \"Select channels...\"}\n          <ChevronsUpDownIcon\n            className={iconVariants({\n              variant: \"small\",\n              className: \"text-neutral-400 duration-200 motion-reduce:transition-none\",\n            })}\n          />\n        </Button>\n      </PopoverTrigger>\n      <PopoverContent align=\"start\">\n        <Command>\n          <CommandInput placeholder=\"Search channels...\" />\n          <CommandList>\n            <CommandEmpty>No channels available!</CommandEmpty>\n            <CommandGroup>\n              {allChannels.map((channel) => (\n                <CommandItem\n                  key={channel.id}\n                  value={channel.id}\n                  onSelect={() => {\n                    handleSelect(channel.id);\n                  }}\n                >\n                  {channel.name}\n                  <CheckIcon className={cn(\"ml-auto transition\", selectedChannels.includes(channel.id) ? \"opacity-100\" : \"opacity-0\")} />\n                </CommandItem>\n              ))}\n            </CommandGroup>\n          </CommandList>\n        </Command>\n      </PopoverContent>\n    </Popover>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/Chart.tsx",
    "content": "\"use client\";\n\nimport clsx from \"clsx\";\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\nimport type { ValueType, Payload, NameType } from \"recharts/types/component/DefaultTooltipContent\";\nimport { TooltipContentProps } from \"recharts/types/component/Tooltip\";\nimport { cn } from \"@/lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = Record<\n  string,\n  {\n    label?: React.ReactNode;\n    icon?: React.ComponentType;\n  } & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> })\n>;\n\ninterface ChartContextProps {\n  config: ChartConfig;\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n  const context = React.use(ChartContext);\n  if (!context) throw new Error(\"useChart must be used within a <ChartContainer />\");\n  return context;\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n  if (typeof payload !== \"object\" || payload === null) {\n    return undefined;\n  }\n\n  const payloadPayload = \"payload\" in payload && typeof payload.payload === \"object\" && payload.payload !== null ? payload.payload : undefined;\n\n  let configLabelKey: string = key;\n\n  if (key in payload && typeof payload[key as keyof typeof payload] === \"string\") {\n    configLabelKey = payload[key as keyof typeof payload] as string;\n  } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\") {\n    configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;\n  }\n\n  return configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n  const colorConfig = Object.entries(config).filter(([, config]) => config.theme ?? config.color);\n\n  if (!colorConfig.length) {\n    return null;\n  }\n\n  return (\n    <style\n      dangerouslySetInnerHTML={{\n        __html: Object.entries(THEMES)\n          .map(\n            ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n  .map(([key, itemConfig]) => {\n    const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ?? itemConfig.color;\n    return color ? `  --color-${key}: ${color};` : null;\n  })\n  .join(\"\\n\")}\n}\n`\n          )\n          .join(\"\\n\"),\n      }}\n    />\n  );\n};\n\nfunction ChartContainer({\n  id,\n  className,\n  children,\n  config,\n  ...props\n}: React.ComponentProps<\"div\"> & {\n  config: ChartConfig;\n  children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>[\"children\"];\n}) {\n  const uniqueId = React.useId();\n  const chartId = `chart-${id ?? uniqueId.replace(/:/g, \"\")}`;\n\n  return (\n    <ChartContext value={{ config }}>\n      <div\n        data-chart={chartId}\n        className={clsx(\n          \"[&_.recharts-cartesian-axis-tick_text]:fill-text flex aspect-video justify-center [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-neutral-800 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-neutral-800 [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-neutral-800 [&_.recharts-radial-bar-background-sector]:fill-background-secondary [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-background-secondary [&_.recharts-reference-line_[stroke='#ccc']]:stroke-neutral-800 [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden\",\n          className\n        )}\n        {...props}\n      >\n        <ChartStyle id={chartId} config={config} />\n        <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n      </div>\n    </ChartContext>\n  );\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\ntype CustomTooltipProps = TooltipContentProps<ValueType, NameType> & {\n  className?: string;\n  hideLabel?: boolean;\n  hideIndicator?: boolean;\n  indicator?: \"line\" | \"dot\" | \"dashed\";\n  nameKey?: string;\n  labelKey?: string;\n  labelFormatter?: (label: TooltipContentProps<number, string>[\"label\"], payload: TooltipContentProps<number, string>[\"payload\"]) => React.ReactNode;\n  formatter?: (\n    value: number | string,\n    name: string,\n    item: Payload<number | string, string>,\n    index: number,\n    payload: ReadonlyArray<Payload<number | string, string>>\n  ) => React.ReactNode;\n  labelClassName?: string;\n  color?: string;\n};\n\nfunction ChartTooltipContent({\n  active,\n  payload,\n  label,\n  className,\n  indicator = \"dot\",\n  hideLabel = false,\n  hideIndicator = false,\n  labelFormatter,\n  formatter,\n  labelClassName,\n  color,\n  nameKey,\n  labelKey,\n}: CustomTooltipProps) {\n  const { config } = useChart();\n\n  const tooltipLabel = React.useMemo(() => {\n    if (hideLabel || !payload?.length) {\n      return null;\n    }\n\n    const [item] = payload;\n    if (!item) {\n      return null;\n    }\n    const key = `${labelKey ?? item.dataKey ?? item.name ?? \"value\"}`;\n    const itemConfig = getPayloadConfigFromPayload(config, item, key);\n    const value = !labelKey && typeof label === \"string\" ? (config[label]?.label ?? label) : itemConfig?.label;\n\n    if (labelFormatter) {\n      return <div className={cn(\"font-medium\", labelClassName)}>{labelFormatter(value, payload)}</div>;\n    }\n\n    if (!value) {\n      return null;\n    }\n\n    return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n  if (!active || !payload?.length) {\n    return null;\n  }\n\n  const nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n  return (\n    <div className={cn(\"grid min-w-32 items-start gap-2 rounded-lg border border-neutral-800 bg-background-secondary px-2.5 py-1.5 shadow-xl\", className)}>\n      {!nestLabel ? tooltipLabel : null}\n      <div className=\"grid gap-2\">\n        {payload.map((item, index) => {\n          const key = `${nameKey ?? item.name ?? item.dataKey ?? \"value\"}`;\n          const itemConfig = getPayloadConfigFromPayload(config, item, key);\n          const indicatorColor = color ?? item.payload?.fill ?? item.color;\n\n          return (\n            <div key={item.dataKey ?? index} className={cn(\"flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5 [&>svg]:text-white\", indicator === \"dot\" && \"items-center\")}>\n              {formatter && item?.value !== undefined && item.name ? (\n                formatter(item.value, item.name, item, index, payload)\n              ) : (\n                <>\n                  {itemConfig?.icon ? (\n                    <itemConfig.icon />\n                  ) : (\n                    !hideIndicator && (\n                      <div\n                        className={cn(\"shrink-0 rounded-xs border-(--color-border) bg-(--color-bg)\", {\n                          \"h-2.5 w-2.5\": indicator === \"dot\",\n                          \"w-1\": indicator === \"line\",\n                          \"w-0 border-[1.5px] border-dashed bg-transparent\": indicator === \"dashed\",\n                          \"my-0.5\": nestLabel && indicator === \"dashed\",\n                        })}\n                        style={\n                          {\n                            \"--color-bg\": indicatorColor,\n                            \"--color-border\": indicatorColor,\n                          } as React.CSSProperties\n                        }\n                      />\n                    )\n                  )}\n                  <div className={cn(\"flex flex-1 gap-2 justify-between leading-none\", nestLabel ? \"items-end\" : \"items-center\")}>\n                    <div className=\"grid gap-1\">\n                      <span className=\"text-sm text-neutral-400\">{nestLabel ? tooltipLabel : null}</span>\n                      <span className=\"text-white\">{itemConfig?.label || item.name}</span>\n                    </div>\n                    {item.value != null && (\n                      <span className=\"text-text font-medium tabular-nums\">{typeof item.value === \"number\" ? item.value.toLocaleString() : String(item.value)}</span>\n                    )}\n                  </div>\n                </>\n              )}\n            </div>\n          );\n        })}\n      </div>\n    </div>\n  );\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\ntype ChartLegendContentProps = {\n  className?: string;\n  hideIcon?: boolean;\n  verticalAlign?: RechartsPrimitive.LegendProps[\"verticalAlign\"];\n  payload?: RechartsPrimitive.LegendPayload[];\n  nameKey?: string;\n};\n\nfunction ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey }: ChartLegendContentProps) {\n  const { config } = useChart();\n\n  if (!payload?.length) {\n    return null;\n  }\n\n  return (\n    <div className={clsx(\"flex items-center justify-center gap-3\", verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\", className)}>\n      {payload.map((item) => {\n        const key = `${nameKey ?? item.dataKey ?? \"value\"}`;\n        const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n        return (\n          <div key={item.value} className={clsx(\"flex items-center gap-2 [&>svg]:size-3 [&>svg]:text-white\")}>\n            {itemConfig?.icon && !hideIcon ? (\n              <itemConfig.icon />\n            ) : (\n              <div\n                className=\"size-2 shrink-0 rounded-xs\"\n                style={{\n                  backgroundColor: item.color,\n                }}\n              />\n            )}\n            {itemConfig?.label}\n          </div>\n        );\n      })}\n    </div>\n  );\n}\n\nexport { ChartContainer, ChartTooltip, ChartTooltipContent, type CustomTooltipProps, ChartLegend, ChartLegendContent, ChartStyle };\n"
  },
  {
    "path": "apps/dashboard/components/ui/Command.tsx",
    "content": "\"use client\";\n\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { SearchIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Dialog, DialogContent } from \"@/components/ui/Dialog\";\nimport { cn } from \"@/lib/utils\";\n\nconst Command = ({ className, ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive>) => (\n  <CommandPrimitive className={cn(\"flex h-full flex-col overflow-hidden rounded-xl bg-background-secondary\", className)} {...props} />\n);\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n  return (\n    <Dialog {...props}>\n      <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n        <Command>{children}</Command>\n      </DialogContent>\n    </Dialog>\n  );\n};\n\nconst CommandInput = ({ className, ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive.Input>) => (\n  <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n    <SearchIcon className=\"mr-2 size-4 shrink-0 opacity-50\" />\n    <CommandPrimitive.Input\n      className={cn(\"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-600 disabled:cursor-not-allowed disabled:opacity-50\", className)}\n      {...props}\n    />\n  </div>\n);\n\nconst CommandList = ({ className, ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive.List>) => (\n  <CommandPrimitive.List className={cn(\"max-h-[364px] overflow-y-auto overflow-x-hidden bg-background-secondary\", className)} {...props} />\n);\n\nconst CommandEmpty = ({ ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive.Empty>) => (\n  <CommandPrimitive.Empty className=\"py-6 text-center text-sm text-neutral-500\" {...props} />\n);\n\nconst CommandGroup = ({ className, ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive.Group>) => (\n  <CommandPrimitive.Group\n    className={cn(\n      \"overflow-hidden p-2 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-items]]:space-y-1 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-800\",\n      className\n    )}\n    {...props}\n  />\n);\n\nconst CommandSeparator = ({ className, ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive.Separator>) => (\n  <CommandPrimitive.Separator className={cn(\"-mx-1 h-px bg-neutral-800\", className)} {...props} />\n);\n\nconst CommandItem = ({ className, ...props }: React.ComponentPropsWithRef<typeof CommandPrimitive.Item>) => (\n  <CommandPrimitive.Item\n    className={cn(\n      \"relative flex cursor-pointer gap-2 select-none items-center rounded-lg p-2 text-sm outline-none data-[disabled=true]:pointer-events-none transition motion-reduce:transition-none data-[selected=true]:bg-accent-primary data-[selected=true]:text-text data-[disabled=true]:opacity-50\",\n      className\n    )}\n    {...props}\n  />\n);\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n  return <span className={cn(\"ml-auto text-xs tracking-widest text-neutral-800\", className)} {...props} />;\n};\n\nexport { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator };\n"
  },
  {
    "path": "apps/dashboard/components/ui/Dialog.tsx",
    "content": "\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\nconst DialogTrigger = DialogPrimitive.Trigger;\nconst DialogPortal = DialogPrimitive.Portal;\nconst DialogClose = DialogPrimitive.Close;\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n  return (\n    <DialogPrimitive.Overlay\n      className={cn(\n        \"fixed inset-0 z-50 bg-black/50 dark:bg-[#161617]/70 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n\nfunction DialogContent({ className, children, ...props }: React.ComponentProps<typeof DialogPrimitive.Content>) {\n  return (\n    <DialogPortal>\n      <DialogOverlay />\n      <DialogPrimitive.Content\n        className={cn(\n          \"fixed left-[50%] top-[50%] z-50 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] overflow-visible rounded-xl border border-neutral-800 bg-background-secondary p-4 text-left align-middle shadow-lg backdrop-blur-xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n          className\n        )}\n        {...props}\n      >\n        {children}\n        <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 disabled:pointer-events-none cursor-pointer\">\n          <XIcon className=\"size-4 shrink-0\" />\n          <span className=\"sr-only\">Close</span>\n        </DialogPrimitive.Close>\n      </DialogPrimitive.Content>\n    </DialogPortal>\n  );\n}\n\nconst DialogHeader = ({ className, ...props }: React.ComponentProps<\"div\">) => <div className={cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className)} {...props} />;\n\nconst DialogFooter = ({ className, ...props }: React.ComponentProps<\"div\">) => (\n  <div className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)} {...props} />\n);\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n  return <DialogPrimitive.Title className={cn(\"text-lg flex items-center gap-2 font-semibold leading-none tracking-tight\", className)} {...props} />;\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n  return <DialogPrimitive.Description className={cn(\"text-base mt-1 text-white/70\", className)} {...props} />;\n}\n\nexport { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription };\n"
  },
  {
    "path": "apps/dashboard/components/ui/Disclosure.tsx",
    "content": "\"use client\";\n\nimport React from \"react\";\nimport { Accordion, AccordionItem, AccordionContent, AccordionTrigger } from \"@/components/ui/Accordion\";\n\nexport interface DisclosureProps {\n  button: React.ReactNode;\n  children: React.ReactNode;\n}\n\nexport const Disclosure = ({ button, children, ...props }: DisclosureProps) => (\n  <Accordion {...props} type=\"single\" collapsible>\n    <AccordionItem value={\"0\"} className=\"border-0 mb-6\">\n      <AccordionTrigger className=\"rounded-lg border border-neutral-800 bg-background-navbar px-6 py-4 duration-200 data-[state=open]:mb-0 data-[state=open]:rounded-b-none\">\n        {button}\n      </AccordionTrigger>\n      <AccordionContent asChild className=\"w-full rounded-lg rounded-t-none border pt-4 border-t-0 border-neutral-800 bg-background-navbar\">\n        {children}\n      </AccordionContent>\n    </AccordionItem>\n  </Accordion>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/DropdownMenu.tsx",
    "content": "\"use client\";\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = ({\n  className,\n  inset,\n  children,\n  ...props\n}: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n  inset?: boolean;\n}) => (\n  <DropdownMenuPrimitive.SubTrigger\n    className={cn(\n      \"flex cursor-pointer select-none items-center gap-3 rounded-lg px-3 py-2 text-sm font-normal duration-200 hover:bg-background-menu-button ui-open:border-neutral-700 ui-open:bg-background-menu-button\",\n      inset && \"pl-8\",\n      className\n    )}\n    {...props}\n  >\n    {children}\n    <ChevronRightIcon className=\"ml-auto\" />\n  </DropdownMenuPrimitive.SubTrigger>\n);\n\nconst DropdownMenuSubContent = ({ className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.SubContent>) => (\n  <DropdownMenuPrimitive.SubContent\n    className={cn(\n      \"bg-background-secondary absolute z-50 mt-2 min-w-[8rem] origin-top-right rounded-2xl border border-neutral-800 px-2 py-1 shadow-2xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n      className\n    )}\n    {...props}\n  />\n);\n\n// const DropdownMenuContent = ({\n//  className,\n//  sideOffset = 4,\n//  align = \"start\",\n//  ...props\n// }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Content> & {\n//  sideOffset?: number;\n// }) => (\n//  <DropdownMenuPrimitive.Portal>\n//   <DropdownMenuPrimitive.Content sideOffset={sideOffset} align={align} className={cn(\"bg-background-secondary absolute z-50 mt-2 min-w-[8rem] origin-top-right rounded-2xl border border-neutral-800 px-2 py-1 shadow-2xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\", className)} {...props} />\n//  </DropdownMenuPrimitive.Portal>\n// );\n\nconst DropdownMenuContent = ({ className, sideOffset = 4, align = \"start\", ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) => {\n  return (\n    <DropdownMenuPrimitive.Portal>\n      <DropdownMenuPrimitive.Content\n        sideOffset={sideOffset}\n        align={align}\n        className={cn(\n          \"bg-background-secondary data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 mt-1 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-2xl border border-neutral-800 px-2 py-1 shadow-md\",\n          className\n        )}\n        {...props}\n      />\n    </DropdownMenuPrimitive.Portal>\n  );\n};\n\nconst DropdownMenuItem = ({\n  className,\n  inset,\n  ...props\n}: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Item> & {\n  inset?: boolean;\n}) => (\n  <DropdownMenuPrimitive.Item\n    className={cn(\n      \"group my-1 flex w-full focus-visible:outline-0 cursor-pointer items-center rounded-lg p-2 text-sm font-normal text-neutral-500 duration-200 hover:bg-button-primary hover:text-white focus-visible:bg-button-primary focus-visible:text-white\",\n      inset && \"pl-8\",\n      className\n    )}\n    {...props}\n  />\n);\n\nconst DropdownMenuCheckboxItem = ({ className, children, checked, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.CheckboxItem>) => (\n  <DropdownMenuPrimitive.CheckboxItem\n    className={cn(\n      \"relative flex cursor-pointer select-none items-center rounded-lg py-2 pl-8 pr-2 text-sm font-normal text-neutral-500 duration-200 hover:bg-button-primary hover:text-white\",\n      className\n    )}\n    checked={checked}\n    {...props}\n  >\n    <span className=\"absolute left-2 flex size-4 items-center justify-center\">\n      <DropdownMenuPrimitive.ItemIndicator>\n        <CheckIcon className=\"size-4 shrink-0\" />\n      </DropdownMenuPrimitive.ItemIndicator>\n    </span>\n    {children}\n  </DropdownMenuPrimitive.CheckboxItem>\n);\n\nconst DropdownMenuRadioItem = ({ className, children, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.RadioItem>) => (\n  <DropdownMenuPrimitive.RadioItem\n    className={cn(\n      \"relative flex cursor-pointer select-none items-center rounded-lg py-2 pl-8 pr-2 text-sm font-normal text-neutral-500 duration-200 hover:bg-button-primary hover:text-white\",\n      className\n    )}\n    {...props}\n  >\n    <span className=\"absolute left-2 flex size-4 items-center justify-center\">\n      <DropdownMenuPrimitive.ItemIndicator>\n        <CircleIcon className=\"size-2 shrink-0 fill-current\" />\n      </DropdownMenuPrimitive.ItemIndicator>\n    </span>\n    {children}\n  </DropdownMenuPrimitive.RadioItem>\n);\n\nconst DropdownMenuLabel = ({\n  className,\n  inset,\n  ...props\n}: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Label> & {\n  inset?: boolean;\n}) => <DropdownMenuPrimitive.Label className={cn(\"px-3 py-2 text-sm font-semibold text-neutral-500\", inset && \"pl-8\", className)} {...props} />;\n\nconst DropdownMenuSeparator = ({ className, ...props }: React.ComponentPropsWithRef<typeof DropdownMenuPrimitive.Separator>) => (\n  <DropdownMenuPrimitive.Separator className={cn(\"my-2 h-px bg-neutral-800\", className)} {...props} />\n);\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => (\n  <span className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)} {...props} />\n);\n\nexport {\n  DropdownMenu,\n  DropdownMenuTrigger,\n  DropdownMenuContent,\n  DropdownMenuItem,\n  DropdownMenuCheckboxItem,\n  DropdownMenuRadioItem,\n  DropdownMenuLabel,\n  DropdownMenuSeparator,\n  DropdownMenuShortcut,\n  DropdownMenuGroup,\n  DropdownMenuPortal,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuRadioGroup,\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/Embed.tsx",
    "content": "import { dashboardConfig } from \"@majoexe/config\";\nimport { CheckIcon } from \"lucide-react\";\nimport Image from \"next/image\";\nimport React, { HTMLAttributes } from \"react\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\ninterface EmbedProps extends React.ComponentProps<\"div\"> {\n  color: string;\n  buttons?: React.ReactNode;\n}\n\nexport const Embed = ({ className, children, color, buttons, ...props }: EmbedProps) => (\n  <div className={cn(\"flex w-full max-w-[432px] items-start gap-1\", className)} {...props}>\n    <Image src={dashboardConfig.logo} alt={\"Bot logo\"} quality={95} width={40} height={40} className=\"size-10 shrink-0 self-baseline rounded-full\" />\n    <div className=\"flex w-full flex-col\">\n      <div className=\"ml-1 flex h-10 flex-row items-center\">\n        <span className=\"font-bold\">{dashboardConfig.title}</span>{\" \"}\n        <span className=\"ml-1 flex items-center gap-1 rounded-sm bg-[#5c65f3] px-1 py-[0.12rem] text-xs text-white\">\n          <CheckIcon className={iconVariants({ variant: \"small\", className: \"stroke-2!\" })} /> <span className=\"-mb-px\">BOT</span>\n        </span>\n        <span className=\"ml-2 text-sm text-neutral-400\">Today at 4:20 PM</span>\n      </div>\n      <div\n        className=\"ml-1 mt-2 rounded-sm bg-[#2b2d31] p-4 shadow-lg\"\n        style={{\n          borderLeft: `4px solid ${color}`,\n        }}\n      >\n        {children}\n      </div>\n      {buttons && <div className=\"ml-1 mt-3 flex flex-row gap-3\">{buttons}</div>}\n    </div>\n  </div>\n);\n\nexport const EmbedTitle = ({ className, ...props }: React.ComponentProps<\"p\">) => <p className={cn(\"mb-2 font-bold\", className)} {...props} />;\n\nexport const EmbedDescription = ({ className, ...props }: HTMLAttributes<HTMLParagraphElement>) => <p className={cn(\"prose prose-invert\", className)} {...props} />;\n\ninterface EmbedImageProps extends Omit<React.ComponentProps<typeof Image>, \"src\"> {\n  src?: string;\n}\n\nexport const EmbedImage = ({ src, className, ...props }: EmbedImageProps) => {\n  if (src && src.startsWith(\"http\")) {\n    return (\n      <Image\n        {...props}\n        src={src}\n        quality={95}\n        width={400}\n        height={121}\n        className={cn(\"mt-4 w-full max-w-[400px] rounded-sm bg-white/10 aspect-400/121\", className)}\n        alt=\"Embed image\"\n      />\n    );\n  }\n\n  return <div className=\"mt-4 w-full max-w-[400px] rounded-sm bg-white/10 aspect-400/121\" />;\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/GraphCard.tsx",
    "content": "import React from \"react\";\nimport Header, { headerVariants } from \"@/components/ui/Headers\";\nimport { cn } from \"@/lib/utils\";\n\ninterface GraphCardProps extends React.ComponentProps<\"div\"> {\n  title: string;\n  description: string;\n  value: string;\n  icon: React.ReactNode;\n  graph: React.ReactNode;\n}\n\nexport const GraphCard = ({ title, description, value, icon, graph, className, ...props }: GraphCardProps) => (\n  <div className={cn(\"bg-background-secondary mt-4 overflow-auto rounded-xl border border-neutral-800 p-4\", className)} {...props}>\n    <div className=\"flex flex-row items-center justify-between\">\n      <div className=\"flex flex-row items-center gap-3\">\n        {icon}\n        <div className=\"flex flex-col\">\n          <Header className={cn(headerVariants({ variant: \"h4\" }), \"justify-start whitespace-nowrap\")}>{title}</Header>\n          <p className=\"text-sm text-neutral-400\">{description}</p>\n        </div>\n      </div>\n      <div className=\"flex flex-row items-center gap-3\">\n        {parseInt(value) > 0 ? (\n          <p className=\"flex gap-2 rounded-full border border-accent-primary/50 bg-accent-primary/20 px-2 py-1 text-sm font-bold text-accent-primary\">\n            +{value} {graph}\n          </p>\n        ) : parseInt(value) < 0 ? (\n          <p className=\"flex gap-2 rounded-full border border-red-400/50 bg-red-400/30 px-2 py-1 text-sm font-bold text-red-400\">\n            {value} {graph}\n          </p>\n        ) : (\n          <p className=\"flex gap-2 rounded-full border border-white/50 bg-white/20 px-2 py-1 text-sm font-bold text-white\">\n            {value} {graph}\n          </p>\n        )}\n      </div>\n    </div>\n  </div>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/Headers.tsx",
    "content": "import { cva, type VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const headerVariants = cva(\"flex items-center font-bold\", {\n  variants: {\n    variant: {\n      big: \"text-3xl font-extrabold md:text-5xl xl:text-4xl! 2xl:text-6xl!\",\n      medium: \"text-3xl font-black md:text-4xl\",\n      gradient: \"text-xl font-black md:text-2xl\",\n      h1: \"text-3xl\",\n      h2: \"text-2xl\",\n      h3: \"text-xl\",\n      h4: \"text-lg md:text-xl\",\n      h5: \"text-base font-medium md:text-lg\",\n    },\n    effects: {\n      gradient: \"bg-linear-to-b from-white to-neutral-400 box-decoration-clone bg-clip-text font-black text-fill-transparent\",\n    },\n    alignment: {\n      center: \"justify-center text-center\",\n      left: \"justify-start text-left\",\n    },\n    margin: {\n      normal: \"mb-2\",\n      wide: \"mb-4\",\n    },\n    spacing: {\n      normal: \"gap-2\",\n      wide: \"gap-3\",\n    },\n  },\n  defaultVariants: {\n    variant: \"h1\",\n    alignment: \"left\",\n    spacing: \"normal\",\n  },\n});\n\nconst Header = ({ className, variant, ...props }: React.ComponentProps<\"h1\"> & VariantProps<typeof headerVariants>) => (\n  <h1 className={cn(headerVariants({ variant }), className)} {...props}>\n    {props.children}\n  </h1>\n);\n\nexport default Header;\n"
  },
  {
    "path": "apps/dashboard/components/ui/Icons.tsx",
    "content": "import { cva } from \"class-variance-authority\";\nimport {\n  AlertTriangle,\n  Eye,\n  GalleryVerticalEnd,\n  HelpCircle,\n  MessageSquare,\n  MessageSquareCode,\n  MessageSquarePlus,\n  UserPlus,\n  UserMinus,\n  EyeOff,\n  UserX,\n  MessageSquareWarning,\n  MessageSquareOff,\n  Paintbrush2,\n  FileJson,\n  FileSpreadsheet,\n  MessageSquareDot,\n} from \"lucide-react\";\nimport * as LucideIcons from \"lucide-react\";\nimport type { LucideIcon } from \"lucide-react\";\n\nexport type Icon = LucideIcon;\n\nexport const Icons = {\n  help: HelpCircle,\n  warning: AlertTriangle,\n  dashboard: GalleryVerticalEnd,\n  comment: MessageSquare,\n  commentAdd: MessageSquarePlus,\n  viewing: Eye,\n  hide: EyeOff,\n  userAdd: UserPlus,\n  userMinus: UserMinus,\n  userBlock: UserX,\n  messageCode: MessageSquareCode,\n  messageWarning: MessageSquareWarning,\n  messageOff: MessageSquareOff,\n  messageDot: MessageSquareDot,\n  paintBrush: Paintbrush2,\n  fileJSON: FileJson,\n  fileCSV: FileSpreadsheet,\n  twitter: ({ ...props }: LucideIcons.LucideProps) => (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      width=\"24\"\n      height=\"24\"\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      {...props}\n      stroke=\"currentColor\"\n      strokeWidth=\"2\"\n      strokeLinecap=\"round\"\n      strokeLinejoin=\"round\"\n    >\n      <path d=\"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z\" />\n    </svg>\n  ),\n  // www\n  gitHub: ({ ...props }: LucideIcons.LucideProps) => (\n    <svg viewBox=\"0 0 438.549 438.549\" {...props}>\n      <path\n        fill=\"currentColor\"\n        d=\"M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z\"\n      ></path>\n    </svg>\n  ),\n  discord: ({ ...props }: LucideIcons.LucideProps) => (\n    <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n      <path\n        fill=\"currentColor\"\n        d=\"M19.27 5.33C17.94 4.71 16.5 4.26 15 4a.09.09 0 0 0-.07.03c-.18.33-.39.76-.53 1.09a16.09 16.09 0 0 0-4.8 0c-.14-.34-.35-.76-.54-1.09c-.01-.02-.04-.03-.07-.03c-1.5.26-2.93.71-4.27 1.33c-.01 0-.02.01-.03.02c-2.72 4.07-3.47 8.03-3.1 11.95c0 .02.01.04.03.05c1.8 1.32 3.53 2.12 5.24 2.65c.03.01.06 0 .07-.02c.4-.55.76-1.13 1.07-1.74c.02-.04 0-.08-.04-.09c-.57-.22-1.11-.48-1.64-.78c-.04-.02-.04-.08-.01-.11c.11-.08.22-.17.33-.25c.02-.02.05-.02.07-.01c3.44 1.57 7.15 1.57 10.55 0c.02-.01.05-.01.07.01c.11.09.22.17.33.26c.04.03.04.09-.01.11c-.52.31-1.07.56-1.64.78c-.04.01-.05.06-.04.09c.32.61.68 1.19 1.07 1.74c.03.01.06.02.09.01c1.72-.53 3.45-1.33 5.25-2.65c.02-.01.03-.03.03-.05c.44-4.53-.73-8.46-3.1-11.95c-.01-.01-.02-.02-.04-.02zM8.52 14.91c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.84 2.12-1.89 2.12zm6.97 0c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.83 2.12-1.89 2.12z\"\n      />\n    </svg>\n  ),\n};\n\nexport const iconVariants = cva(\"\", {\n  variants: {\n    variant: {\n      normal: \"size-5 shrink-0\",\n      small: \"size-4 shrink-0\",\n      large: \"size-6 shrink-0\",\n      extraLarge: \"size-8 shrink-0\",\n      button: \"-ml-1 mr-2 size-4 shrink-0\",\n    },\n  },\n  defaultVariants: {\n    variant: \"normal\",\n  },\n});\n"
  },
  {
    "path": "apps/dashboard/components/ui/Image.tsx",
    "content": "\"use client\";\n\nimport Image from \"next/image\";\nimport { useState, useEffect } from \"react\";\n\ninterface ImageWithFallbackProps extends Omit<React.ComponentProps<typeof Image>, \"src\"> {\n  fallbackImage?: string;\n  src: string;\n}\n\nconst ImageWithFallback = ({ fallbackImage = \"/assets/fallback.webp\", src, ...props }: ImageWithFallbackProps) => {\n  const [error, setError] = useState<boolean | null>(null);\n\n  useEffect(() => {\n    setError(null);\n  }, [src]);\n\n  return <Image onError={() => setError(null)} src={error ? fallbackImage : src} {...props} alt={props.alt || \"Image\"} />;\n};\n\nexport default ImageWithFallback;\n"
  },
  {
    "path": "apps/dashboard/components/ui/Input.tsx",
    "content": "import React, { InputHTMLAttributes } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Input = ({ className, ...props }: React.ComponentProps<\"input\">) => (\n  <input\n    className={cn(\n      \"focus:border-accent-primary! disabled:opacity-77 w-full rounded-lg border border-neutral-800 bg-transparent px-3 py-2 shadow-xs outline-hidden ring-0! duration-200 disabled:pointer-events-none disabled:cursor-not-allowed\",\n      className\n    )}\n    {...props}\n  />\n);\n\nexport const Textarea = ({ className, ...props }: React.ComponentProps<\"textarea\">) => (\n  <textarea\n    className={cn(\"focus:border-accent-primary! w-full rounded-lg border border-neutral-800 bg-transparent px-3 py-2 shadow-xs outline-hidden ring-0! duration-200\", className)}\n    {...props}\n  />\n);\n\nexport const Checkbox = ({ className, ...props }: React.ComponentProps<\"input\">) => (\n  <input\n    type=\"checkbox\"\n    className={cn(\n      \"checked:bg-accent-primary checked:hover:bg-accent-primary focus:border-accent-primary! focus:outline-accent-primary focus:ring-accent-primary focus:checked:bg-accent-primary cursor-pointer rounded-lg border border-neutral-800 bg-transparent p-1 shadow-xs outline-hidden ring-0! duration-200\",\n      className\n    )}\n    {...props}\n  />\n);\n\nexport const InputWithIcon = ({\n  icon,\n  text,\n  required,\n  className,\n  ...props\n}: React.ComponentProps<\"input\"> & { icon: React.ReactNode; text?: string; required?: InputHTMLAttributes<HTMLInputElement>[\"required\"] }) => (\n  <label className=\"w-full\" htmlFor={props.id || props.name}>\n    <span className=\"flex items-center gap-1 opacity-90\">\n      {text}\n      {required && !props.disabled && <span className=\"text-red-400\">*</span>}\n      {props.disabled && <span className=\"text-sm text-neutral-500\">(read only)</span>}\n    </span>\n    <div className=\"relative flex\">\n      <div className={cn(`${props.disabled ? \"opacity-50\" : \"\"} absolute inset-y-0 left-0 flex items-center pl-3`)}>{icon}</div>\n      <Input {...props} className={cn(\"pl-10 h-10\", className)} {...props} />\n    </div>\n  </label>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/Loaders.tsx",
    "content": "import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Dots = ({ className, ...props }: React.ComponentProps<\"div\">) => (\n  <div className={cn(\"mx-4 flex flex-row items-center gap-2\", className)} {...props}>\n    {[...Array(3)].map((_, i) => (\n      <div key={`dots-${i}`} className=\"size-2 shrink-0 animate-[loader_1s_ease-in-out_infinite] rounded-full bg-gray-400\" style={{ animationDelay: `${150 * i - 50}ms` }} />\n    ))}\n  </div>\n);\n\nexport const Typing = ({ className, ...props }: React.ComponentProps<\"div\">) => (\n  <div className={cn(\"mx-4 flex flex-row items-center gap-2\", className)} {...props}>\n    {[...Array(3)].map((_, i) => (\n      <div key={`typing-${i}`} className=\"size-2 shrink-0 animate-[blinking_1s_ease-in-out_infinite] rounded-full bg-gray-400\" style={{ animationDelay: `${150 * i - 50}ms` }} />\n    ))}\n  </div>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/Popover.tsx",
    "content": "\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = ({ className, align = \"center\", sideOffset = 4, ...props }: React.ComponentPropsWithRef<typeof PopoverPrimitive.Content>) => {\n  return (\n    <PopoverPrimitive.Portal>\n      <PopoverPrimitive.Content\n        align={align}\n        sideOffset={sideOffset}\n        className={cn(\n          \"z-50 rounded-xl border bg-background-menu text-text shadow-md outline-none\",\n          \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n          \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n          \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n          \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\n          \"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n          \"origin-top-left\",\n          className\n        )}\n        {...props}\n      />\n    </PopoverPrimitive.Portal>\n  );\n};\n\nexport { Popover, PopoverTrigger, PopoverContent };\n"
  },
  {
    "path": "apps/dashboard/components/ui/RolesSelect.tsx",
    "content": "\"use client\";\n\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { CheckIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from \"@/components/ui/Command\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/Popover\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface RolesSelectProps extends React.ComponentProps<typeof Popover> {\n  allRoles: { id: Snowflake; name: string; color: string }[];\n  selectedRoles?: Snowflake[];\n  setRoles: (value: Snowflake[]) => void;\n  multiple?: boolean;\n}\n\nexport const RolesSelect = ({ allRoles, selectedRoles = [], setRoles, multiple = true }: RolesSelectProps) => {\n  const [open, setOpen] = React.useState(false);\n\n  const handleSelect = (roleId: Snowflake) => {\n    if (multiple) {\n      const updatedSelection = selectedRoles.includes(roleId) ? selectedRoles.filter((id) => id !== roleId) : [...selectedRoles, roleId];\n      setRoles(updatedSelection);\n    } else {\n      setRoles([roleId]);\n      setOpen(false);\n    }\n  };\n\n  return (\n    <Popover open={open} onOpenChange={setOpen}>\n      <PopoverTrigger asChild>\n        <Button variant=\"select\" role=\"combobox\" aria-expanded={open} className=\"max-w-sm justify-between\">\n          {selectedRoles.length > 0\n            ? multiple\n              ? `${allRoles.find((role) => role.id === selectedRoles[0])?.name ?? \"Unknown role\"}${selectedRoles.length > 1 ? ` + ${selectedRoles.length - 1} more` : \"\"}`\n              : (allRoles.find((role) => role.id === selectedRoles[0])?.name ?? \"No role selected\")\n            : \"Select roles...\"}\n          <ChevronsUpDownIcon\n            className={iconVariants({\n              variant: \"small\",\n              className: \"text-neutral-400 duration-200 motion-reduce:transition-none\",\n            })}\n          />\n        </Button>\n      </PopoverTrigger>\n      <PopoverContent align=\"start\">\n        <Command>\n          <CommandInput placeholder=\"Search roles...\" />\n          <CommandList>\n            <CommandEmpty>No roles available!</CommandEmpty>\n            <CommandGroup>\n              {allRoles.map((role) => (\n                <CommandItem\n                  key={role.id}\n                  value={role.id}\n                  onSelect={() => {\n                    handleSelect(role.id);\n                  }}\n                >\n                  <div className=\"flex items-center gap-2\">\n                    <div className=\"size-3 rounded-full\" style={{ backgroundColor: role.color || \"#FFFFFF\" }} />\n                    {role.name}\n                  </div>\n                  <CheckIcon className={cn(\"ml-auto transition\", selectedRoles.includes(role.id) ? \"opacity-100\" : \"opacity-0\")} />\n                </CommandItem>\n              ))}\n            </CommandGroup>\n          </CommandList>\n        </Command>\n      </PopoverContent>\n    </Popover>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/Select.tsx",
    "content": "\"use client\";\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { buttonVariants } from \"@/components/ui/Buttons\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\nconst SelectGroup = SelectPrimitive.Group;\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = ({ className, ref, children, ...props }: React.ComponentPropsWithRef<typeof SelectPrimitive.Trigger>) => (\n  <SelectPrimitive.Trigger ref={ref} className={cn(buttonVariants({ variant: \"select\" }), className)} {...props}>\n    {children}\n    <SelectPrimitive.Icon asChild>\n      <ChevronsUpDownIcon\n        className={iconVariants({\n          variant: \"small\",\n          className: \"text-neutral-400 duration-200 motion-reduce:transition-none\",\n        })}\n      />\n    </SelectPrimitive.Icon>\n  </SelectPrimitive.Trigger>\n);\n\nconst SelectContent = ({ className, position = \"popper\", sideOffset = 4, ...props }: React.ComponentPropsWithRef<typeof SelectPrimitive.Content>) => (\n  <SelectPrimitive.Portal>\n    <SelectPrimitive.Content\n      position={position}\n      sideOffset={sideOffset}\n      className={cn(\n        \"bg-background-secondary absolute z-10 mt-1 max-h-60 min-w-[--radix-select-trigger-width] overflow-auto origin-top-left rounded-2xl border border-neutral-800 py-1 text-base shadow-lg sm:text-sm\",\n        \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n        className\n      )}\n      {...props}\n    >\n      <SelectPrimitive.Viewport>{props.children}</SelectPrimitive.Viewport>\n    </SelectPrimitive.Content>\n  </SelectPrimitive.Portal>\n);\n\nconst SelectItemVariants = cva(\n  \"relative mx-2 my-1 cursor-pointer select-none rounded-lg py-2 pl-4 pr-10 font-normal text-white/70 duration-200 data-[highlighted]:bg-accent-primary data-[highlighted]:text-white\",\n  {\n    variants: {\n      variant: {\n        default: \"data-[highlighted]:bg-button-primary\",\n        action: \"data-[highlighted]:bg-button-action-primary\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n);\n\nexport interface CustomSelectItemProps extends React.ComponentPropsWithRef<typeof SelectPrimitive.Item> {\n  variant?: VariantProps<typeof SelectItemVariants>;\n  children: React.ReactNode;\n}\n\nconst SelectItem = ({ children, variant, ...props }: CustomSelectItemProps) => (\n  <SelectPrimitive.Item className={cn(SelectItemVariants(variant), \"data-[state=checked]:animate-in data-[state=unchecked]:animate-out focus-visible:outline-0\")} {...props}>\n    <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n    <SelectPrimitive.ItemIndicator className=\"absolute inset-y-0 right-0 flex items-center pr-3 text-white duration-200 data-[state=checked]:!opacity-100 data-[state=unchecked]:opacity-0 data-[highlighted]:opacity-100 data-[unhighlighted]:opacity-0\">\n      <CheckIcon className={iconVariants({ variant: \"normal\" })} />\n    </SelectPrimitive.ItemIndicator>\n  </SelectPrimitive.Item>\n);\n\nexport { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectItem };\n"
  },
  {
    "path": "apps/dashboard/components/ui/Skeletons.tsx",
    "content": "import React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport function Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      className={cn(\n        \"bg-background-secondary relative overflow-hidden rounded-xl border border-neutral-800 before:absolute before:inset-0 before:-translate-x-full before:animate-[shimmer_1s_infinite] before:bg-linear-to-r before:from-transparent before:via-white/10 before:to-transparent\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/ui/SparkChart.tsx",
    "content": "\"use client\";\n\nimport React from \"react\";\nimport { Area, AreaChart as ReChartsAreaChart, ResponsiveContainer, XAxis } from \"recharts\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\n\nexport interface SparkLineChartProps {\n  data: Record<string, number>[];\n  categories: string[];\n  index: string;\n}\n\nexport function SparkLineChart({ data, categories, index }: SparkLineChartProps) {\n  return (\n    <div className=\"h-10 w-36\">\n      <ResponsiveContainer className=\"size-full\">\n        {data.length ? (\n          <ReChartsAreaChart data={data}>\n            <XAxis hide dataKey={index} />\n            {categories.map((category) => (\n              <defs key={category}>\n                <linearGradient className=\"text-accent-primary\" id={category.replace(/ /g, \"-\")} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n                  <stop offset=\"5%\" stopColor=\"currentColor\" stopOpacity={0.4} />\n                  <stop offset=\"95%\" stopColor=\"currentColor\" stopOpacity={0} />\n                </linearGradient>\n              </defs>\n            ))}\n            {categories.map((category) => (\n              <Area\n                className=\"fill-accent-primary stroke-accent-primary\"\n                strokeOpacity={1}\n                dot={false}\n                key={category}\n                name={category}\n                type=\"monotone\"\n                dataKey={category}\n                stroke=\"\"\n                strokeWidth={2}\n                fill={`url(#${category.replace(/ /g, \"-\")})`}\n                strokeLinejoin=\"round\"\n                strokeLinecap=\"round\"\n                isAnimationActive={true}\n                animationDuration={900}\n                connectNulls={false}\n              />\n            ))}\n          </ReChartsAreaChart>\n        ) : (\n          <div className=\"mb-4 flex items-center justify-start gap-2 text-left text-red-400\">\n            <Icons.warning className={iconVariants({ variant: \"normal\" })} />\n            <span>No data found.</span>\n          </div>\n        )}\n      </ResponsiveContainer>\n    </div>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/components/ui/Switch.tsx",
    "content": "\"use client\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const Switch = ({ className, ...props }: React.ComponentProps<typeof SwitchPrimitives.Root>) => {\n  return (\n    <SwitchPrimitives.Root\n      className={cn(\n        \"peer inline-flex h-7 w-12 shrink-0 cursor-pointer items-center rounded-full border border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-background-primary disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-accent-primary! data-[state=checked]:bg-accent-primary data-[state=unchecked]:border-neutral-700 data-[state=unchecked]:bg-transparent\",\n        className\n      )}\n      {...props}\n    >\n      <SwitchPrimitives.Thumb\n        className={cn(\n          \"pointer-events-none block size-5 rounded-full bg-gray-200 shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-[26px] data-[state=checked]:bg-white data-[state=unchecked]:translate-x-[4px] data-[state=disabled]:bg-white!\"\n        )}\n      />\n    </SwitchPrimitives.Root>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/Table.tsx",
    "content": "\"use client\";\n\nimport { useReactTable, getCoreRowModel, getSortedRowModel, getPaginationRowModel, getFilteredRowModel, ColumnDef, Column, flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, ChevronsUpDownIcon, ChevronUpIcon, SearchIcon } from \"lucide-react\";\nimport React, { useState } from \"react\";\nimport { Button } from \"@/components/ui/Buttons\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from \"@/components/ui/DropdownMenu\";\nimport { iconVariants } from \"@/components/ui/Icons\";\nimport { InputWithIcon } from \"@/components/ui/Input\";\nimport { ViewSelect } from \"@/components/ui/ViewSelect\";\nimport { cn } from \"@/lib/utils\";\n\ninterface TableProps<TData, TValue> {\n  columns: ColumnDef<TData, TValue>[];\n  data: TData[];\n  sortBy?: { id: string; desc: boolean }[];\n  showControls?: boolean;\n  showSearch?: boolean;\n}\n\ninterface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {\n  column: Column<TData, TValue>;\n  title: string;\n}\n\nexport function TableColumnHeader<TData, TValue>({ column, title, className }: DataTableColumnHeaderProps<TData, TValue>) {\n  if (!column.getCanSort() && !column.getCanHide()) {\n    return <div className={cn(className)}>{title}</div>;\n  }\n\n  return (\n    <div className={cn(\"flex items-center space-x-2\", className)}>\n      <DropdownMenu>\n        <DropdownMenuTrigger\n          aria-label={\n            column.getIsSorted() === \"desc\"\n              ? \"Sorted descending. Click to sort ascending.\"\n              : column.getIsSorted() === \"asc\"\n                ? \"Sorted ascending. Click to sort descending.\"\n                : \"Not sorted. Click to sort ascending.\"\n          }\n          className=\"cursor-pointer h-10 items-center font-medium text-xs -ml-3 gap-2 flex border-transparent px-3 text-neutral-500\"\n        >\n          <span>{title}</span>\n          {column.getCanSort() && (\n            <div className=\"relative flex items-center\">\n              <ChevronUpIcon\n                className={cn(\"absolute size-4 duration-200 motion-reduce:transition-none\", {\n                  \"scale-0\": column.getIsSorted() === \"desc\",\n                  \"scale-100\": column.getIsSorted() === \"asc\",\n                  \"opacity-0\": !column.getIsSorted(),\n                })}\n              />\n              <ChevronDownIcon\n                className={cn(\"absolute size-4 duration-200 motion-reduce:transition-none\", {\n                  \"scale-0\": column.getIsSorted() === \"asc\",\n                  \"scale-100\": column.getIsSorted() === \"desc\",\n                  \"opacity-0\": !column.getIsSorted(),\n                })}\n              />\n\n              <ChevronsUpDownIcon\n                className={cn(\"absolute size-4 duration-200 motion-reduce:transition-none\", {\n                  \"scale-0\": column.getIsSorted(),\n                  \"scale-100\": !column.getIsSorted(),\n                })}\n              />\n            </div>\n          )}\n        </DropdownMenuTrigger>\n        <DropdownMenuContent className=\"w-40\">\n          <div>\n            {column.getCanSort() && (\n              <>\n                <DropdownMenuItem aria-label=\"Sort ascending\" onClick={() => column.toggleSorting(false)}>\n                  <ArrowUpIcon className=\"mr-2 size-4\" aria-hidden=\"true\" />\n                  Asc\n                </DropdownMenuItem>\n                <DropdownMenuItem aria-label=\"Sort descending\" onClick={() => column.toggleSorting(true)}>\n                  <ArrowDownIcon className=\"mr-2 size-4\" aria-hidden=\"true\" />\n                  Desc\n                </DropdownMenuItem>\n              </>\n            )}\n            {/* {column.getCanSort() && column.getCanHide() && <DropdownMenuSeparator />} */}\n            {/* {column.getCanHide() && (\n      <MenuItem aria-label=\"Hide column\" onClick={() => column.toggleVisibility(false)}>\n       <EyeOffIcon className=\"mr-2 size-4\" aria-hidden=\"true\" />\n       Hide\n      </MenuItem>\n     )} */}\n          </div>\n        </DropdownMenuContent>\n      </DropdownMenu>\n    </div>\n  );\n}\n\nexport const Table = <TData, TValue>({ columns, data, sortBy = [{ id: \"id\", desc: false }], showControls = true, showSearch = true }: TableProps<TData, TValue>) => {\n  const [globalFilter, setGlobalFilter] = useState<string>(\"\");\n\n  const table = useReactTable({\n    data: data || [],\n    columns,\n    initialState: {\n      sorting: sortBy,\n      pagination: {\n        pageIndex: 0,\n        pageSize: 10,\n      },\n    },\n    state: {\n      globalFilter,\n    },\n    getCoreRowModel: getCoreRowModel(),\n    getSortedRowModel: getSortedRowModel(),\n    getPaginationRowModel: getPaginationRowModel(),\n    getFilteredRowModel: getFilteredRowModel(),\n    onGlobalFilterChange: setGlobalFilter,\n  });\n\n  return (\n    <>\n      <div className=\"flex w-full flex-col\">\n        <div\n          className={cn(\"flex-row items-stretch gap-3 mb-4\", {\n            flex: showSearch || showControls,\n            hidden: !showSearch && !showControls,\n          })}\n        >\n          {showSearch && (\n            <InputWithIcon\n              icon={<SearchIcon className={iconVariants({ variant: \"normal\" })} />}\n              placeholder=\"Search\"\n              value={globalFilter || \"\"}\n              onChange={(e) => setGlobalFilter(e.target.value)}\n            />\n          )}\n          {showControls && <ViewSelect selectedValue={table.getState().pagination.pageSize} setSelectedValue={table.setPageSize} />}\n        </div>\n        <div className=\"overflow-hidden rounded-lg border\">\n          <table className=\"min-w-full divide-y divide-neutral-800\">\n            <thead className=\"[&_tr]:border-b\">\n              {table.getHeaderGroups().map((headerGroup) => (\n                <tr key={headerGroup.id} id={headerGroup.id}>\n                  {headerGroup.headers.map((header) => (\n                    <th key={header.id} className=\"select-none items-center gap-3 h-10 text-xs font-medium tracking-wider text-neutral-500 sm:text-xs\">\n                      <span className=\"flex select-none items-center gap-2 px-6\">{flexRender(header.column.columnDef.header, header.getContext())}</span>\n                    </th>\n                  ))}\n                </tr>\n              ))}\n            </thead>\n\n            <tbody>\n              {table.getRowModel().rows?.length ? (\n                table.getRowModel().rows.map((row) => (\n                  <tr key={row.id}>\n                    {row.getVisibleCells().map((cell) => (\n                      <td key={cell.id} className=\"whitespace-nowrap px-6 py-4\">\n                        {flexRender(cell.column.columnDef.cell, cell.getContext())}\n                      </td>\n                    ))}\n                  </tr>\n                ))\n              ) : (\n                <tr>\n                  <td colSpan={columns.length} className=\"py-4 text-center text-neutral-500\">\n                    No data available\n                  </td>\n                </tr>\n              )}\n            </tbody>\n          </table>\n        </div>\n\n        {showControls && (\n          <div className=\"flex items-center justify-between  pt-4 text-neutral-500\">\n            <Button variant=\"secondary\" onClick={() => table.previousPage()} disabled={!table.getCanPreviousPage()} className=\"w-fit!\">\n              <ChevronLeftIcon className={iconVariants({ variant: \"button\" })} />\n              Previous\n            </Button>\n            <div>\n              Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n            </div>\n            <div className=\"flex items-center space-x-2\">\n              <Button variant=\"secondary\" onClick={() => table.nextPage()} disabled={!table.getCanNextPage()} className=\"w-fit!\">\n                Next\n                <ChevronRightIcon className={iconVariants({ variant: \"button\", className: \"-mr-1! ml-2\" })} />\n              </Button>\n            </div>\n          </div>\n        )}\n      </div>\n    </>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/TimeSelect.tsx",
    "content": "\"use client\";\n\nimport React from \"react\";\nimport { Icons, iconVariants } from \"@/components/ui/Icons\";\nimport { Select, SelectTrigger, SelectValue, SelectItem, SelectContent } from \"@/components/ui/Select\";\n\nexport const choices = [\n  {\n    title: \"Disable\",\n    time: 0,\n  },\n  {\n    title: \"60 seconds\",\n    time: 60,\n  },\n  {\n    title: \"5 minutes\",\n    time: 300,\n  },\n  {\n    title: \"10 minutes\",\n    time: 600,\n  },\n  {\n    title: \"1 hour\",\n    time: 3600,\n  },\n  {\n    title: \"6 hours\",\n    time: 21600,\n  },\n  {\n    title: \"12 hours\",\n    time: 43200,\n  },\n  {\n    title: \"1 day\",\n    time: 86400,\n  },\n  {\n    title: \"1 week\",\n    time: 604800,\n  },\n];\n\nexport interface TimeSelectProps extends React.ComponentProps<typeof Select> {\n  selectedChoice: number;\n  setSelectedChoice: (value: number) => void;\n}\n\nexport const TimeSelect = ({ selectedChoice, setSelectedChoice, ...props }: TimeSelectProps) => (\n  <>\n    {choices && choices.length > 0 ? (\n      <Select value={selectedChoice.toString()} onValueChange={(value) => setSelectedChoice(parseInt(value))} {...props}>\n        <SelectTrigger>\n          <SelectValue placeholder=\"Select time\">\n            <span className=\"flex items-center gap-2 truncate\">{choices.find((choice) => choice?.time === selectedChoice)?.title || \"No time selected\"}</span>\n          </SelectValue>\n        </SelectTrigger>\n\n        <SelectContent>\n          {choices.map((choice) => (\n            <SelectItem key={`choice-select-option-${choice.time}`} value={choice.time.toString()}>\n              <div className=\"flex items-center gap-1 truncate\">{choice.title}</div>\n            </SelectItem>\n          ))}\n        </SelectContent>\n      </Select>\n    ) : (\n      <div className=\"flex items-center justify-center gap-2 font-normal text-red-400\">\n        <Icons.warning className={iconVariants({ variant: \"normal\" })} />\n        <span className=\"text-sm\">No choices available!</span>\n      </div>\n    )}\n  </>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/Tooltip.tsx",
    "content": "\"use client\";\n\nimport { Provider, Root, Trigger, Content } from \"@radix-ui/react-tooltip\";\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface TooltipProps extends React.ComponentProps<typeof Content> {\n  content: string | undefined;\n}\n\nexport const Tooltip = ({ className, content, children, sideOffset = 4, ...props }: TooltipProps) => (\n  <Provider>\n    <Root delayDuration={100}>\n      <Trigger asChild>{children}</Trigger>\n      <Content\n        sideOffset={sideOffset}\n        className={cn(\n          \"bg-background-menu-button animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-lg border border-neutral-700 px-3 py-1.5 text-sm shadow-md\",\n          className\n        )}\n        {...props}\n      >\n        {content}\n      </Content>\n    </Root>\n  </Provider>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/ViewSelect.tsx",
    "content": "\"use client\";\n\nimport React from \"react\";\nimport { Select, SelectTrigger, SelectItem, SelectContent } from \"@/components/ui/Select\";\n\nexport interface ViewSelectProps extends React.ComponentProps<typeof Select> {\n  selectedValue: number;\n  setSelectedValue: (value: number) => void;\n}\n\nexport const ViewSelect = ({ selectedValue, setSelectedValue, ...props }: ViewSelectProps) => (\n  <Select value={selectedValue.toString()} onValueChange={(value: string) => setSelectedValue(parseInt(value))} {...props}>\n    <SelectTrigger>\n      <span className=\"flex items-center gap-2 truncate\">{selectedValue} results</span>\n    </SelectTrigger>\n    <SelectContent>\n      {[10, 20, 30, 40, 50].map((choice) => (\n        <SelectItem key={`view-select-option-${choice}`} value={choice.toString()}>\n          <div className=\"flex items-center gap-1 truncate\">{choice} results</div>\n        </SelectItem>\n      ))}\n    </SelectContent>\n  </Select>\n);\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/AnimatedBeam.tsx",
    "content": "\"use client\";\n\nimport { motion } from \"framer-motion\";\nimport { RefObject, useEffect, useId, useState } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface AnimatedBeamProps {\n  className?: string;\n  containerRef: RefObject<HTMLElement | null>; // Container ref\n  fromRef: RefObject<HTMLElement | null>;\n  toRef: RefObject<HTMLElement | null>;\n  curvature?: number;\n  reverse?: boolean;\n  pathColor?: string;\n  pathWidth?: number;\n  pathOpacity?: number;\n  gradientStartColor?: string;\n  gradientStopColor?: string;\n  delay?: number;\n  duration?: number;\n  startXOffset?: number;\n  startYOffset?: number;\n  endXOffset?: number;\n  endYOffset?: number;\n}\n\nexport const AnimatedBeam: React.FC<AnimatedBeamProps> = ({\n  className,\n  containerRef,\n  fromRef,\n  toRef,\n  curvature = 0,\n  reverse = false, // Include the reverse prop\n  duration = Math.random() * 3 + 4,\n  delay = 0,\n  pathColor = \"gray\",\n  pathWidth = 2,\n  pathOpacity = 0.2,\n  gradientStartColor = \"#ffaa40\",\n  gradientStopColor = \"#9c40ff\",\n  startXOffset = 0,\n  startYOffset = 0,\n  endXOffset = 0,\n  endYOffset = 0,\n}) => {\n  const id = useId();\n  const [pathD, setPathD] = useState(\"\");\n  const [svgDimensions, setSvgDimensions] = useState({ width: 0, height: 0 });\n\n  // Calculate the gradient coordinates based on the reverse prop\n  const gradientCoordinates = reverse\n    ? {\n        x1: [\"90%\", \"-10%\"],\n        x2: [\"100%\", \"0%\"],\n        y1: [\"0%\", \"0%\"],\n        y2: [\"0%\", \"0%\"],\n      }\n    : {\n        x1: [\"10%\", \"110%\"],\n        x2: [\"0%\", \"100%\"],\n        y1: [\"0%\", \"0%\"],\n        y2: [\"0%\", \"0%\"],\n      };\n\n  useEffect(() => {\n    const updatePath = () => {\n      if (containerRef.current && fromRef.current && toRef.current) {\n        const containerRect = containerRef.current.getBoundingClientRect();\n        const rectA = fromRef.current.getBoundingClientRect();\n        const rectB = toRef.current.getBoundingClientRect();\n\n        const svgWidth = containerRect.width;\n        const svgHeight = containerRect.height;\n        setSvgDimensions({ width: svgWidth, height: svgHeight });\n\n        const startX = rectA.left - containerRect.left + rectA.width / 2 + startXOffset;\n        const startY = rectA.top - containerRect.top + rectA.height / 2 + startYOffset;\n        const endX = rectB.left - containerRect.left + rectB.width / 2 + endXOffset;\n        const endY = rectB.top - containerRect.top + rectB.height / 2 + endYOffset;\n\n        const controlY = startY - curvature;\n        const d = `M ${startX},${startY} Q ${(startX + endX) / 2},${controlY} ${endX},${endY}`;\n        setPathD(d);\n      }\n    };\n\n    // Initialize ResizeObserver\n    const resizeObserver = new ResizeObserver((entries) => {\n      // For all entries, recalculate the path\n      for (const _entry of entries) {\n        updatePath();\n      }\n    });\n\n    // Observe the container element\n    if (containerRef.current) {\n      resizeObserver.observe(containerRef.current);\n    }\n\n    // Call the updatePath initially to set the initial path\n    updatePath();\n\n    // Clean up the observer on component unmount\n    return () => {\n      resizeObserver.disconnect();\n    };\n  }, [containerRef, fromRef, toRef, curvature, startXOffset, startYOffset, endXOffset, endYOffset]);\n\n  return (\n    <svg\n      fill=\"none\"\n      width={svgDimensions.width}\n      height={svgDimensions.height}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={cn(\"pointer-events-none absolute left-0 top-0 transform-gpu stroke-2\", className)}\n      viewBox={`0 0 ${svgDimensions.width} ${svgDimensions.height}`}\n    >\n      <path d={pathD} stroke={pathColor} strokeWidth={pathWidth} strokeOpacity={pathOpacity} strokeLinecap=\"round\" />\n      <path d={pathD} strokeWidth={pathWidth} stroke={`url(#${id})`} strokeOpacity=\"1\" strokeLinecap=\"round\" />\n      <defs>\n        <motion.linearGradient\n          className=\"transform-gpu\"\n          id={id}\n          gradientUnits={\"userSpaceOnUse\"}\n          initial={{\n            x1: \"0%\",\n            x2: \"0%\",\n            y1: \"0%\",\n            y2: \"0%\",\n          }}\n          animate={{\n            x1: gradientCoordinates.x1,\n            x2: gradientCoordinates.x2,\n            y1: gradientCoordinates.y1,\n            y2: gradientCoordinates.y2,\n          }}\n          transition={{\n            delay,\n            duration,\n            ease: [0.16, 1, 0.3, 1], // https://easings.net/#easeOutExpo\n            repeat: Infinity,\n            repeatDelay: 0,\n          }}\n        >\n          <stop stopColor={gradientStartColor} stopOpacity=\"0\"></stop>\n          <stop stopColor={gradientStartColor}></stop>\n          <stop offset=\"32.5%\" stopColor={gradientStopColor}></stop>\n          <stop offset=\"100%\" stopColor={gradientStopColor} stopOpacity=\"0\"></stop>\n        </motion.linearGradient>\n      </defs>\n    </svg>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/AnimatedList.tsx",
    "content": "\"use client\";\n\nimport { AnimatePresence, motion } from \"framer-motion\";\nimport React, { useEffect, useMemo, useState } from \"react\";\n\nexport function AnimatedListItem({ children }: { children: React.ReactNode }) {\n  const animations = {\n    initial: { scale: 0, opacity: 0 },\n    animate: { scale: 1, opacity: 1, originY: 0 },\n    exit: { scale: 0, opacity: 0 },\n    transition: { type: \"spring\" as const, stiffness: 350, damping: 40 },\n  };\n\n  return (\n    <motion.div {...animations} layout className=\"mx-auto w-full\">\n      {children}\n    </motion.div>\n  );\n}\n\nexport interface AnimatedListProps {\n  className?: string;\n  children: React.ReactNode;\n  delay?: number;\n}\n\nexport const AnimatedList = React.memo(({ className, children, delay = 1000 }: AnimatedListProps) => {\n  const [index, setIndex] = useState(0);\n  const childrenArray = useMemo(() => {\n    const result: React.ReactNode[] = [];\n    /* eslint-disable-next-line @eslint-react/no-children-for-each */\n    React.Children.forEach(children, (child) => {\n      result.push(child);\n    });\n    return result;\n  }, [children]);\n\n  useEffect(() => {\n    if (index < childrenArray.length - 1) {\n      const timeout = setTimeout(() => {\n        setIndex((prevIndex) => prevIndex + 1);\n      }, delay);\n\n      return () => clearTimeout(timeout);\n    }\n  }, [index, delay, childrenArray.length]);\n\n  const itemsToShow = useMemo(() => {\n    const result = childrenArray.slice(0, index + 1).reverse();\n    return result;\n  }, [index, childrenArray]);\n\n  return (\n    <div className={`flex flex-col items-center gap-3 ${className}`}>\n      <AnimatePresence>\n        {itemsToShow.map((item) => (\n          <AnimatedListItem key={(item as React.ReactElement).key}>{item}</AnimatedListItem>\n        ))}\n      </AnimatePresence>\n    </div>\n  );\n});\n\nAnimatedList.displayName = \"AnimatedList\";\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/AnimatedShinyText.tsx",
    "content": "import React, { CSSProperties, ReactNode } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface AnimatedShinyTextProps extends React.ComponentProps<\"p\"> {\n  children: ReactNode;\n  className?: string;\n  shimmerWidth?: number;\n}\n\nexport const AnimatedShinyText = ({ children, className, shimmerWidth = 100 }: AnimatedShinyTextProps) => {\n  return (\n    <p\n      style={\n        {\n          \"--shiny-width\": `${shimmerWidth}px`,\n        } as CSSProperties\n      }\n      className={cn(\n        \"mx-auto max-w-md text-neutral-600 \",\n\n        // Shine effect\n        \"animate-shiny-text bg-clip-text bg-no-repeat [background-position:0_0] [background-size:var(--shiny-width)_100%] [transition:background-position_1s_cubic-bezier(.6,.6,0,1)_infinite]\",\n\n        // Shine gradient\n        \"bg-linear-to-r from-transparent via-black/80 via-50% to-transparent  dark:via-white/80\",\n\n        className\n      )}\n    >\n      {children}\n    </p>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/BorderBeam.tsx",
    "content": "import { cn } from \"@/lib/utils\";\n\ninterface BorderBeamProps extends React.ComponentProps<\"div\"> {\n  className?: string;\n  size?: number;\n  duration?: number;\n  borderWidth?: number;\n  anchor?: number;\n  colorFrom?: string;\n  colorTo?: string;\n  delay?: number;\n}\n\nexport const BorderBeam = ({\n  className,\n  size = 200,\n  duration = 15,\n  anchor = 90,\n  borderWidth = 1.5,\n  colorFrom = \"#ffaa40\",\n  colorTo = \"#9c40ff\",\n  delay = 0,\n  ...props\n}: BorderBeamProps) => {\n  return (\n    <div\n      style={\n        {\n          \"--size\": size,\n          \"--duration\": duration,\n          \"--anchor\": anchor,\n          \"--border-width\": borderWidth,\n          \"--color-from\": colorFrom,\n          \"--color-to\": colorTo,\n          \"--delay\": `-${delay}s`,\n        } as React.CSSProperties\n      }\n      className={cn(\n        \"pointer-events-none absolute inset-0 rounded-[inherit] [border:calc(var(--border-width)*1px)_solid_transparent]\",\n\n        // mask styles\n        \"[mask-clip:padding-box,border-box]! [mask-composite:intersect]! [mask:linear-gradient(transparent,transparent),linear-gradient(white,white)]\",\n\n        // pseudo styles\n        \"after:absolute after:aspect-square after:w-[calc(var(--size)*1px)] after:animate-border-beam after:[animation-delay:var(--delay)] after:[background:linear-gradient(to_left,var(--color-from),var(--color-to),transparent)] after:[offset-anchor:calc(var(--anchor)*1%)_50%] after:[offset-path:rect(0_auto_auto_0_round_calc(var(--size)*1px))]\",\n        className\n      )}\n      {...props}\n    />\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/FadeText.tsx",
    "content": "\"use client\";\n\nimport { motion, Variants } from \"framer-motion\";\nimport React, { useMemo } from \"react\";\n\ninterface FadeTextProps extends React.ComponentProps<\"div\"> {\n  framerProps?: Variants;\n}\n\nexport const Fade = ({\n  className,\n  children,\n  framerProps = {\n    hidden: { opacity: 0 },\n    show: { opacity: 1, transition: { type: \"spring\" } },\n  },\n}: FadeTextProps) => {\n  const FADE_ANIMATION_VARIANTS = useMemo(() => {\n    const { hidden, show, ...rest } = framerProps as {\n      [name: string]: { [name: string]: number; opacity: number };\n    };\n\n    return {\n      ...rest,\n      hidden: {\n        ...(hidden ?? {}),\n        opacity: hidden?.opacity ?? 0,\n      },\n      show: {\n        ...(show ?? {}),\n        opacity: show?.opacity ?? 1,\n      },\n    };\n  }, [framerProps]);\n\n  return (\n    <motion.div initial=\"hidden\" animate=\"show\" viewport={{ once: true }} variants={FADE_ANIMATION_VARIANTS} className={className}>\n      {children}\n    </motion.div>\n  );\n};\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/FlickeringGrid.tsx",
    "content": "\"use client\";\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\ninterface FlickeringGridProps {\n  squareSize?: number;\n  gridGap?: number;\n  flickerChance?: number;\n  color?: string;\n  width?: number;\n  height?: number;\n  className?: string;\n\n  maxOpacity?: number;\n}\n\nconst FlickeringGrid: React.FC<FlickeringGridProps> = ({\n  squareSize = 4,\n  gridGap = 6,\n  flickerChance = 0.3,\n  color = \"rgb(0, 0, 0)\",\n  width,\n  height,\n  className,\n  maxOpacity = 0.3,\n}) => {\n  const canvasRef = useRef<HTMLCanvasElement>(null);\n  const containerRef = useRef<HTMLDivElement>(null);\n  const [isInView, setIsInView] = useState(false);\n  const [canvasSize, setCanvasSize] = useState({ width: 0, height: 0 });\n\n  const memoizedColor = useMemo(() => {\n    const toRGBA = (color: string) => {\n      if (typeof window === \"undefined\") {\n        return \"rgba(0, 0, 0,\";\n      }\n      const canvas = document.createElement(\"canvas\");\n      canvas.width = canvas.height = 1;\n      const ctx = canvas.getContext(\"2d\");\n      if (!ctx) return \"rgba(255, 0, 0,\";\n      ctx.fillStyle = color;\n      ctx.fillRect(0, 0, 1, 1);\n      const [r, g, b] = Array.from(ctx.getImageData(0, 0, 1, 1).data);\n      return `rgba(${r}, ${g}, ${b},`;\n    };\n    return toRGBA(color);\n  }, [color]);\n\n  const setupCanvas = useCallback(\n    (canvas: HTMLCanvasElement, width: number, height: number) => {\n      const dpr = window.devicePixelRatio || 1;\n      canvas.width = width * dpr;\n      canvas.height = height * dpr;\n      canvas.style.width = `${width}px`;\n      canvas.style.height = `${height}px`;\n      const cols = Math.floor(width / (squareSize + gridGap));\n      const rows = Math.floor(height / (squareSize + gridGap));\n\n      const squares = new Float32Array(cols * rows);\n      for (let i = 0; i < squares.length; i++) {\n        squares[i] = Math.random() * maxOpacity;\n      }\n\n      return { cols, rows, squares, dpr };\n    },\n    [squareSize, gridGap, maxOpacity]\n  );\n\n  const updateSquares = useCallback(\n    (squares: Float32Array, deltaTime: number) => {\n      for (let i = 0; i < squares.length; i++) {\n        if (Math.random() < flickerChance * deltaTime) {\n          squares[i] = Math.random() * maxOpacity;\n        }\n      }\n    },\n    [flickerChance, maxOpacity]\n  );\n\n  const drawGrid = useCallback(\n    (ctx: CanvasRenderingContext2D, width: number, height: number, cols: number, rows: number, squares: Float32Array, dpr: number) => {\n      ctx.clearRect(0, 0, width, height);\n      ctx.fillStyle = \"transparent\";\n      ctx.fillRect(0, 0, width, height);\n\n      for (let i = 0; i < cols; i++) {\n        for (let j = 0; j < rows; j++) {\n          const opacity = squares[i * rows + j];\n          ctx.fillStyle = `${memoizedColor}${opacity})`;\n          ctx.fillRect(i * (squareSize + gridGap) * dpr, j * (squareSize + gridGap) * dpr, squareSize * dpr, squareSize * dpr);\n        }\n      }\n    },\n    [memoizedColor, squareSize, gridGap]\n  );\n\n  useEffect(() => {\n    const canvas = canvasRef.current;\n    const container = containerRef.current;\n    if (!canvas || !container) return;\n\n    const ctx = canvas.getContext(\"2d\");\n    if (!ctx) return;\n\n    let animationFrameId: number;\n    let gridParams: ReturnType<typeof setupCanvas>;\n\n    const updateCanvasSize = () => {\n      const newWidth = width || container.clientWidth;\n      const newHeight = height || container.clientHeight;\n      setCanvasSize({ width: newWidth, height: newHeight });\n      gridParams = setupCanvas(canvas, newWidth, newHeight);\n    };\n\n    updateCanvasSize();\n\n    let lastTime = 0;\n    const animate = (time: number) => {\n      if (!isInView) return;\n\n      const deltaTime = (time - lastTime) / 1000;\n      lastTime = time;\n\n      updateSquares(gridParams.squares, deltaTime);\n      drawGrid(ctx, canvas.width, canvas.height, gridParams.cols, gridParams.rows, gridParams.squares, gridParams.dpr);\n      animationFrameId = requestAnimationFrame(animate);\n    };\n\n    const resizeObserver = new ResizeObserver(() => {\n      updateCanvasSize();\n    });\n\n    resizeObserver.observe(container);\n\n    const intersectionObserver = new IntersectionObserver(\n      ([entry]) => {\n        if (entry) {\n          setIsInView(entry.isIntersecting);\n        }\n      },\n      { threshold: 0 }\n    );\n\n    intersectionObserver.observe(canvas);\n\n    if (isInView) {\n      animationFrameId = requestAnimationFrame(animate);\n    }\n\n    return () => {\n      cancelAnimationFrame(animationFrameId);\n      resizeObserver.disconnect();\n      intersectionObserver.disconnect();\n    };\n  }, [setupCanvas, updateSquares, drawGrid, width, height, isInView]);\n\n  return (\n    <div ref={containerRef} className={`size-full ${className}`}>\n      <canvas\n        ref={canvasRef}\n        className=\"pointer-events-none\"\n        style={{\n          width: canvasSize.width,\n          height: canvasSize.height,\n        }}\n      />\n    </div>\n  );\n};\n\nexport default FlickeringGrid;\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/Globe.tsx",
    "content": "\"use client\";\n\nimport createGlobe from \"cobe\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useSpring } from \"react-spring\";\n\nconst convertColor = (array: [number, number, number]): [number, number, number] => {\n  return [array[0] / 255, array[1] / 255, array[2] / 255];\n};\n\nconst GlobeAnimation = () => {\n  const canvasRef = useRef<HTMLCanvasElement>(null);\n  const pointerInteracting = useRef<number | null>(null);\n  const pointerInteractionMovement = useRef(0);\n\n  const [{ r }, api] = useSpring(() => ({\n    r: 0,\n    config: {\n      mass: 1,\n      tension: 280,\n      friction: 60,\n      precision: 0.001,\n    },\n  }));\n\n  useEffect(() => {\n    let phi = 4.25;\n    let width = 0;\n    let globe: ReturnType<typeof createGlobe> | null | undefined = undefined;\n    const onResize = () => canvasRef.current && (width = canvasRef.current.offsetWidth);\n    window.addEventListener(\"resize\", onResize);\n    onResize();\n    if (canvasRef.current) {\n      globe = createGlobe(canvasRef.current, {\n        devicePixelRatio: 2,\n        width: 750 * 2,\n        height: 750 * 2,\n        phi,\n        theta: 0.35,\n        dark: 1,\n        diffuse: 2.5,\n        scale: 1,\n        mapSamples: 10000,\n        mapBrightness: 6,\n        baseColor: convertColor([127, 127, 127]),\n        markerColor: convertColor([230, 230, 230]),\n        glowColor: convertColor([16, 15, 16]),\n        opacity: 1,\n        markers: [\n          // Prettier\n          { location: [52.22977, 21.01178], size: 0.06 }, // Warsaw\n          { location: [50.11552, 8.68417], size: 0.04 }, // Frankfurt\n          { location: [37.77493, -122.41942], size: 0.04 }, // San Francisco\n          { location: [40.05832, -74.40566], size: 0.04 }, // New Jersey\n          { location: [39.96118, -82.99879], size: 0.04 }, // Ohio\n          { location: [-33.865143, 151.2099], size: 0.04 }, // Sydney\n          { location: [35.6895, 139.69171], size: 0.04 }, // Tokyo\n        ],\n        onRender: (state) => {\n          if (!pointerInteracting.current) {\n            phi += 0.002;\n          }\n          state.phi = phi + r.get();\n          state.width = width * 2;\n          state.height = width * 2;\n        },\n      });\n      const timeout1 = setTimeout(() => {\n        if (canvasRef.current) {\n          canvasRef.current.style.opacity = \"1\";\n        }\n      });\n      return () => {\n        if (globe) globe.destroy();\n        window.removeEventListener(\"resize\", onResize);\n        if (timeout1) clearTimeout(timeout1);\n      };\n    }\n    const timeout2 = setTimeout(() => {\n      if (canvasRef.current) {\n        canvasRef.current.style.opacity = \"1\";\n      }\n    });\n    return () => {\n      window.removeEventListener(\"resize\", onResize);\n      if (timeout2) clearTimeout(timeout2);\n    };\n  }, []);\n\n  return (\n    <canvas\n      ref={canvasRef}\n      onPointerDown={(e) => {\n        pointerInteracting.current = e.clientX - pointerInteractionMovement.current;\n        if (canvasRef.current) {\n          canvasRef.current.style.cursor = \"grabbing\";\n        }\n      }}\n      onPointerUp={() => {\n        pointerInteracting.current = null;\n        if (canvasRef.current) {\n          canvasRef.current.style.cursor = \"grab\";\n        }\n      }}\n      onPointerOut={() => {\n        pointerInteracting.current = null;\n        if (canvasRef.current) {\n          canvasRef.current.style.cursor = \"grab\";\n        }\n      }}\n      onMouseMove={(e) => {\n        if (pointerInteracting.current !== null) {\n          const delta = e.clientX - pointerInteracting.current;\n          pointerInteractionMovement.current = delta;\n          api.start({\n            r: delta / 200,\n          });\n        }\n      }}\n      onTouchMove={(e) => {\n        if (pointerInteracting.current !== null && e.touches[0]) {\n          const delta = e.touches[0].clientX - pointerInteracting.current;\n          pointerInteractionMovement.current = delta;\n          api.start({\n            r: delta / 100,\n          });\n        }\n      }}\n      style={{ width: 750, height: 750, maxWidth: \"100%\", aspectRatio: 1, opacity: 0, transition: \"opacity 1s ease\", margin: 0 }}\n    />\n  );\n};\n\nexport default function GlobeClient() {\n  const [webglSupported, setWebglSupported] = useState(true);\n\n  useEffect(() => {\n    try {\n      const canvas = window.document.createElement(\"canvas\");\n      const context = canvas.getContext(\"webgl\") || canvas.getContext(\"experimental-webgl\");\n      console.log(\"WebGL supported, showing globe animation...\");\n      if (!context) {\n        console.log(\"WebGL not supported\");\n        setWebglSupported(false);\n        return;\n      }\n      (context as WebGLRenderingContext).getSupportedExtensions();\n    } catch (e) {\n      console.log(`WebGL not supported: ${e}`);\n      setWebglSupported(false);\n      return;\n    }\n  }, []);\n\n  return webglSupported && <GlobeAnimation />;\n}\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/Meteors.tsx",
    "content": "\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface MeteorsProps {\n  number?: number;\n}\nexport const Meteors = ({ number = 20 }: MeteorsProps) => {\n  const [meteorStyles, setMeteorStyles] = useState<Array<React.CSSProperties>>([]);\n\n  useEffect(() => {\n    const styles = [...new Array(number)].map(() => ({\n      top: -5,\n      left: Math.floor(Math.random() * window.innerWidth) + \"px\",\n      animationDelay: Math.random() * 1 + 0.2 + \"s\",\n      animationDuration: Math.floor(Math.random() * 8 + 2) + \"s\",\n    }));\n    setMeteorStyles(styles);\n  }, [number]);\n\n  return (\n    <>\n      {[...meteorStyles].map((style, idx) => (\n        // Meteor Head\n        <span\n          key={idx}\n          className={cn(\"pointer-events-none absolute left-1/2 top-1/2 size-0.5 rotate-[215deg] animate-meteor rounded-full bg-slate-500 shadow-[0_0_0_1px_#ffffff10]\")}\n          style={style}\n        >\n          {/* Meteor Tail */}\n          <div className=\"pointer-events-none absolute top-1/2 -z-10 h-px w-[50px] -translate-y-1/2 bg-linear-to-r from-slate-500 to-transparent\" />\n        </span>\n      ))}\n    </>\n  );\n};\n\nexport default Meteors;\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/NumberTicker.tsx",
    "content": "\"use client\";\n\nimport { useInView, useMotionValue, useSpring } from \"framer-motion\";\nimport { useEffect, useRef } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport function NumberTicker({\n  value,\n  direction = \"up\",\n  delay = 0,\n  className,\n  decimalPlaces = 0,\n}: {\n  value: number;\n  direction?: \"up\" | \"down\";\n  className?: string;\n  delay?: number; // delay in s\n  decimalPlaces?: number;\n}) {\n  const ref = useRef<HTMLSpanElement>(null);\n  const motionValue = useMotionValue(direction === \"down\" ? value : 0);\n  const springValue = useSpring(motionValue, {\n    damping: 60,\n    stiffness: 100,\n  });\n  const isInView = useInView(ref, { once: true, margin: \"0px\" });\n\n  useEffect(() => {\n    if (isInView) {\n      const timeoutId = setTimeout(() => {\n        motionValue.set(direction === \"down\" ? 0 : value);\n      }, delay * 1000);\n      return () => clearTimeout(timeoutId);\n    }\n  }, [motionValue, isInView, delay, value, direction]);\n\n  useEffect(\n    () =>\n      springValue.on(\"change\", (latest) => {\n        if (ref.current) {\n          ref.current.textContent = Intl.NumberFormat(\"en-US\", {\n            minimumFractionDigits: decimalPlaces,\n            maximumFractionDigits: decimalPlaces,\n          }).format(Number(latest.toFixed(decimalPlaces)));\n        }\n      }),\n    [springValue, decimalPlaces]\n  );\n\n  return <span className={cn(\"inline-block tabular-nums text-white tracking-wider\", className)} ref={ref} />;\n}\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/Particles.tsx",
    "content": "\"use client\";\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface MousePosition {\n  x: number;\n  y: number;\n}\n\nfunction MousePosition(): MousePosition {\n  const [mousePosition, setMousePosition] = useState<MousePosition>({\n    x: 0,\n    y: 0,\n  });\n\n  useEffect(() => {\n    const handleMouseMove = (event: MouseEvent) => {\n      setMousePosition({ x: event.clientX, y: event.clientY });\n    };\n\n    window.addEventListener(\"mousemove\", handleMouseMove);\n\n    return () => {\n      window.removeEventListener(\"mousemove\", handleMouseMove);\n    };\n  }, []);\n\n  return mousePosition;\n}\n\ninterface ParticlesProps {\n  className?: string;\n  quantity?: number;\n  staticity?: number;\n  ease?: number;\n  size?: number;\n  refresh?: boolean;\n  color?: string;\n  vx?: number;\n  vy?: number;\n}\n\nfunction hexToRgb(hex: string): number[] {\n  hex = hex.replace(\"#\", \"\");\n\n  if (hex.length === 3) {\n    hex = hex\n      .split(\"\")\n      .map((char) => char + char)\n      .join(\"\");\n  }\n\n  const hexInt = parseInt(hex, 16);\n  const red = (hexInt >> 16) & 255;\n  const green = (hexInt >> 8) & 255;\n  const blue = hexInt & 255;\n  return [red, green, blue];\n}\n\ntype Circle = {\n  x: number;\n  y: number;\n  translateX: number;\n  translateY: number;\n  size: number;\n  alpha: number;\n  targetAlpha: number;\n  dx: number;\n  dy: number;\n  magnetism: number;\n};\n\nconst Particles: React.FC<ParticlesProps> = ({ className = \"\", quantity = 100, staticity = 50, ease = 50, size = 0.4, refresh = false, color = \"#ffffff\", vx = 0, vy = 0 }) => {\n  const canvasRef = useRef<HTMLCanvasElement>(null);\n  const canvasContainerRef = useRef<HTMLDivElement>(null);\n  const context = useRef<CanvasRenderingContext2D | null>(null);\n  const circles = useRef<Circle[]>([]);\n  const mousePosition = MousePosition();\n  const mouse = useRef<{ x: number; y: number }>({ x: 0, y: 0 });\n  const canvasSize = useRef<{ w: number; h: number }>({ w: 0, h: 0 });\n  const dpr = typeof window !== \"undefined\" ? window.devicePixelRatio : 1;\n  const rafID = useRef<number | null>(null);\n\n  const resizeCanvas = () => {\n    if (canvasContainerRef.current && canvasRef.current && context.current) {\n      circles.current.length = 0;\n      canvasSize.current.w = canvasContainerRef.current.offsetWidth;\n      canvasSize.current.h = canvasContainerRef.current.offsetHeight;\n      canvasRef.current.width = canvasSize.current.w * dpr;\n      canvasRef.current.height = canvasSize.current.h * dpr;\n      canvasRef.current.style.width = `${canvasSize.current.w}px`;\n      canvasRef.current.style.height = `${canvasSize.current.h}px`;\n      context.current.scale(dpr, dpr);\n    }\n  };\n\n  const circleParams = (): Circle => {\n    const x = Math.floor(Math.random() * canvasSize.current.w);\n    const y = Math.floor(Math.random() * canvasSize.current.h);\n    const translateX = 0;\n    const translateY = 0;\n    const pSize = Math.floor(Math.random() * 2) + size;\n    const alpha = 0;\n    const targetAlpha = parseFloat((Math.random() * 0.6 + 0.1).toFixed(1));\n    const dx = (Math.random() - 0.5) * 0.1;\n    const dy = (Math.random() - 0.5) * 0.1;\n    const magnetism = 0.1 + Math.random() * 4;\n    return {\n      x,\n      y,\n      translateX,\n      translateY,\n      size: pSize,\n      alpha,\n      targetAlpha,\n      dx,\n      dy,\n      magnetism,\n    };\n  };\n\n  const rgb = hexToRgb(color);\n\n  const drawCircle = (circle: Circle, update = false) => {\n    if (context.current) {\n      const { x, y, translateX, translateY, size, alpha } = circle;\n      context.current.translate(translateX, translateY);\n      context.current.beginPath();\n      context.current.arc(x, y, size, 0, 2 * Math.PI);\n      context.current.fillStyle = `rgba(${rgb.join(\", \")}, ${alpha})`;\n      context.current.fill();\n      context.current.setTransform(dpr, 0, 0, dpr, 0, 0);\n\n      if (!update) {\n        circles.current.push(circle);\n      }\n    }\n  };\n\n  const clearContext = () => {\n    if (context.current) {\n      context.current.clearRect(0, 0, canvasSize.current.w, canvasSize.current.h);\n    }\n  };\n\n  const drawParticles = () => {\n    clearContext();\n    const particleCount = quantity;\n    for (let i = 0; i < particleCount; i++) {\n      const circle = circleParams();\n      drawCircle(circle);\n    }\n  };\n\n  const remapValue = (value: number, start1: number, end1: number, start2: number, end2: number): number => {\n    const remapped = ((value - start1) * (end2 - start2)) / (end1 - start1) + start2;\n    return remapped > 0 ? remapped : 0;\n  };\n\n  const animate = () => {\n    clearContext();\n    circles.current.forEach((circle: Circle, i: number) => {\n      // Handle the alpha value\n      const edge = [\n        circle.x + circle.translateX - circle.size, // distance from left edge\n        canvasSize.current.w - circle.x - circle.translateX - circle.size, // distance from right edge\n        circle.y + circle.translateY - circle.size, // distance from top edge\n        canvasSize.current.h - circle.y - circle.translateY - circle.size, // distance from bottom edge\n      ];\n      const closestEdge = edge.reduce((a, b) => Math.min(a, b));\n      const remapClosestEdge = parseFloat(remapValue(closestEdge, 0, 20, 0, 1).toFixed(2));\n      if (remapClosestEdge > 1) {\n        circle.alpha += 0.02;\n        if (circle.alpha > circle.targetAlpha) {\n          circle.alpha = circle.targetAlpha;\n        }\n      } else {\n        circle.alpha = circle.targetAlpha * remapClosestEdge;\n      }\n      circle.x += circle.dx + vx;\n      circle.y += circle.dy + vy;\n      circle.translateX += (mouse.current.x / (staticity / circle.magnetism) - circle.translateX) / ease;\n      circle.translateY += (mouse.current.y / (staticity / circle.magnetism) - circle.translateY) / ease;\n\n      drawCircle(circle, true);\n\n      // circle gets out of the canvas\n      if (circle.x < -circle.size || circle.x > canvasSize.current.w + circle.size || circle.y < -circle.size || circle.y > canvasSize.current.h + circle.size) {\n        // remove the circle from the array\n        circles.current.splice(i, 1);\n        // create a new circle\n        const newCircle = circleParams();\n        drawCircle(newCircle);\n        // update the circle position\n      }\n    });\n    rafID.current = window.requestAnimationFrame(animate);\n  };\n\n  const initCanvas = () => {\n    resizeCanvas();\n    drawParticles();\n  };\n\n  const onMouseMove = () => {\n    if (canvasRef.current) {\n      const rect = canvasRef.current.getBoundingClientRect();\n      const { w, h } = canvasSize.current;\n      const x = mousePosition.x - rect.left - w / 2;\n      const y = mousePosition.y - rect.top - h / 2;\n      const inside = x < w / 2 && x > -w / 2 && y < h / 2 && y > -h / 2;\n      if (inside) {\n        mouse.current.x = x;\n        mouse.current.y = y;\n      }\n    }\n  };\n\n  useEffect(() => {\n    if (canvasRef.current) {\n      context.current = canvasRef.current.getContext(\"2d\");\n    }\n    initCanvas();\n    animate();\n    window.addEventListener(\"resize\", initCanvas);\n\n    return () => {\n      if (rafID.current != null) {\n        window.cancelAnimationFrame(rafID.current);\n      }\n      window.removeEventListener(\"resize\", initCanvas);\n    };\n  }, [color]);\n\n  useEffect(() => {\n    onMouseMove();\n  }, [mousePosition.x, mousePosition.y]);\n\n  useEffect(() => {\n    initCanvas();\n  }, [refresh]);\n\n  return (\n    <div className={cn(\"pointer-events-none\", className)} ref={canvasContainerRef} aria-hidden=\"true\">\n      <canvas ref={canvasRef} className=\"size-full\" />\n    </div>\n  );\n};\n\nexport default Particles;\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/Ripple.tsx",
    "content": "import React, { CSSProperties } from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface RippleProps {\n  mainCircleSize?: number;\n  mainCircleOpacity?: number;\n  numCircles?: number;\n  className?: string;\n}\n\nconst Ripple = React.memo(function Ripple({ mainCircleSize = 210, mainCircleOpacity = 0.24, numCircles = 8, className }: RippleProps) {\n  return (\n    <div className={cn(\"pointer-events-none select-none absolute inset-0 [mask-image:linear-gradient(to_bottom,white,transparent)]\", className)}>\n      {Array.from({ length: numCircles }, (_, i) => {\n        const size = mainCircleSize + i * 70;\n        const opacity = mainCircleOpacity - i * 0.03;\n        const animationDelay = `${i * 0.06}s`;\n        const borderStyle = i === numCircles - 1 ? \"dashed\" : \"solid\";\n        const borderOpacity = 5 + i * 5;\n\n        return (\n          <div\n            key={i}\n            className={`bg-foreground/25 [--i: absolute animate-ripple rounded-full border shadow-xl${i}]`}\n            style={\n              {\n                width: `${size}px`,\n                height: `${size}px`,\n                opacity,\n                animationDelay,\n                borderStyle,\n                borderWidth: \"1px\",\n                borderColor: `hsl(var(--foreground), ${borderOpacity / 100})`,\n                top: \"50%\",\n                left: \"50%\",\n                transform: \"translate(-50%, -50%) scale(1)\",\n              } as CSSProperties\n            }\n          />\n        );\n      })}\n    </div>\n  );\n});\n\nRipple.displayName = \"Ripple\";\n\nexport default Ripple;\n"
  },
  {
    "path": "apps/dashboard/components/ui/effects/WordPullUp.tsx",
    "content": "\"use client\";\n\nimport { motion, Variants } from \"framer-motion\";\nimport { cn } from \"@/lib/utils\";\n\ninterface WordPullUpProps {\n  words: string;\n  delayMultiple?: number;\n  wrapperFramerProps?: Variants;\n  framerProps?: Variants;\n  className?: string;\n  wordsClassName?: string;\n}\n\nexport function WordPullUp({\n  words,\n  wrapperFramerProps = {\n    hidden: { opacity: 0 },\n    show: {\n      opacity: 1,\n      transition: {\n        staggerChildren: 0.1,\n      },\n    },\n  },\n  framerProps = {\n    hidden: { y: 10, opacity: 0 },\n    show: { y: 0, opacity: 1 },\n  },\n  className,\n  wordsClassName,\n}: WordPullUpProps) {\n  return (\n    <motion.h1 variants={wrapperFramerProps} initial=\"hidden\" animate=\"show\" className={className}>\n      {words.split(\" \").map((word, i) => (\n        <motion.span key={i} variants={framerProps} style={{ display: \"inline-block\", paddingRight: \"8px\" }} className={cn(\"relative\", wordsClassName)}>\n          {word === \"\" ? <span>&nbsp;</span> : word}\n        </motion.span>\n      ))}\n    </motion.h1>\n  );\n}\n"
  },
  {
    "path": "apps/dashboard/env.ts",
    "content": "import { vercel } from \"@t3-oss/env-core/presets-zod\";\nimport { createEnv } from \"@t3-oss/env-nextjs\";\nimport { z } from \"zod\";\n\nexport const env = createEnv({\n  extends: [vercel()],\n  server: {\n    SECRET: z.string().min(1),\n    NEXTAUTH_URL: z.string().url().min(1),\n    HOTJAR_ID: z.string().optional(),\n    TOKEN: z.string().min(1),\n    CLIENT_ID: z.string().min(1),\n    CLIENT_SECRET: z.string().min(1),\n    DISCORD_SUPPORT_SERVER_ID: z.string().min(1),\n  },\n  client: {\n    NEXT_PUBLIC_URL: z.string().url().min(3),\n  },\n  runtimeEnv: {\n    SECRET: process.env.SECRET,\n    NEXTAUTH_URL: process.env.NEXTAUTH_URL,\n    NEXT_PUBLIC_URL: process.env.NEXT_PUBLIC_URL,\n    HOTJAR_ID: process.env.HOTJAR_ID,\n    TOKEN: process.env.TOKEN,\n    CLIENT_ID: process.env.CLIENT_ID,\n    CLIENT_SECRET: process.env.CLIENT_SECRET,\n    DISCORD_SUPPORT_SERVER_ID: process.env.DISCORD_SUPPORT_SERVER_ID,\n  },\n});\n"
  },
  {
    "path": "apps/dashboard/eslint.config.ts",
    "content": "import baseConfig from \"@igorkowalczyk/eslint-config/base\";\nimport nextConfig from \"@igorkowalczyk/eslint-config/next\";\nimport nodeConfig from \"@igorkowalczyk/eslint-config/node\";\nimport prettierConfig from \"@igorkowalczyk/eslint-config/prettier\";\nimport reactConfig from \"@igorkowalczyk/eslint-config/react\";\nimport typescriptConfig from \"@igorkowalczyk/eslint-config/typescript\";\nimport { defineConfig, globalIgnores } from \"eslint/config\";\n\nexport default defineConfig(\n  ...baseConfig,\n  ...reactConfig,\n  ...nextConfig,\n  ...nodeConfig,\n  ...typescriptConfig,\n  ...prettierConfig,\n  globalIgnores([\".next/**\"], \"Ignore next.js build files\"),\n  {\n    name: \"Override\",\n    rules: {\n      \"typescript/no-explicit-any\": \"off\",\n      \"react-hooks/set-state-in-effect\": \"off\",\n      \"react-hooks/exhaustive-deps\": \"off\",\n      \"react-hooks/purity\": \"off\",\n      \"react-hooks/incompatible-library\": \"off\",\n      \"@eslint-react/hooks-extra/no-direct-set-state-in-use-effect\": \"off\",\n      \"@eslint-react/no-forward-ref\": \"off\",\n      \"@eslint-react/no-array-index-key\": \"off\",\n    },\n  }\n);\n"
  },
  {
    "path": "apps/dashboard/jsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./*\"]\n    }\n  },\n  \"exclude\": [\"node_modules\"]\n}\n"
  },
  {
    "path": "apps/dashboard/lib/authOptions.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { PrismaAdapter } from \"@next-auth/prisma-adapter\";\nimport { Account, AuthOptions, DefaultSession } from \"next-auth\";\nimport DiscordProvider, { DiscordProfile } from \"next-auth/providers/discord\";\nimport { env } from \"@/env\";\n\ndeclare module \"next-auth\" {\n  interface Session extends DefaultSession, Account, DiscordProfile {}\n}\n\nconst authOptions = {\n  adapter: PrismaAdapter(prismaClient),\n  providers: [\n    DiscordProvider({\n      clientId: env.CLIENT_ID,\n      clientSecret: env.CLIENT_SECRET,\n      authorization: { params: { scope: \"identify guilds guilds.join\" } },\n      async profile(profile, tokens) {\n        if (tokens.access_token && env.DISCORD_SUPPORT_SERVER_ID) {\n          try {\n            await fetch(`https://discord.com/api/guilds/${env.DISCORD_SUPPORT_SERVER_ID}/members/${profile.id}`, {\n              method: \"PUT\",\n              body: JSON.stringify({\n                access_token: tokens.access_token,\n              }),\n              headers: {\n                \"Content-Type\": \"application/json\",\n                Authorization: `Bot ${env.TOKEN}`,\n              },\n            });\n          } catch (error) {\n            console.log(\"Failed to add user to support server, error: \", error);\n          }\n        }\n\n        const user = await prismaClient.user.upsert({\n          where: {\n            discordId: profile.id,\n          },\n          update: {\n            name: profile.username,\n            global_name: profile.global_name || profile.username,\n            avatar: profile.avatar,\n            discriminator: profile.discriminator ?? \"0\",\n            public_flags: profile.public_flags,\n            flags: profile.flags,\n            locale: profile.locale,\n            nitro: profile.premium_type,\n            lastLogin: new Date(),\n          },\n          create: {\n            discordId: profile.id,\n            name: profile.username,\n            global_name: profile.global_name || profile.username,\n            avatar: profile.avatar,\n            discriminator: profile.discriminator ?? \"0\",\n            public_flags: profile.public_flags,\n            flags: profile.flags,\n            locale: profile.locale,\n            nitro: profile.premium_type,\n            lastLogin: new Date(),\n          },\n          include: {\n            accounts: true,\n          },\n        });\n\n        if (user && (!user.accounts || user.accounts.length === 0)) {\n          await prismaClient.account.create({\n            data: {\n              userId: user.id,\n              type: \"oauth\",\n              provider: \"discord\",\n              providerAccountId: profile.id,\n              access_token: tokens.access_token,\n              refresh_token: tokens.refresh_token,\n              expires_at: tokens.expires_at,\n              token_type: tokens.token_type,\n              scope: tokens.scope,\n              id_token: tokens.id_token,\n              session_state: tokens.session_state,\n            },\n          });\n        }\n\n        return {\n          id: profile.id,\n          discordId: profile.id,\n          name: profile.username,\n          global_name: profile.global_name || profile.username,\n          avatar: profile.avatar,\n          discriminator: profile.discriminator ?? \"0\",\n          public_flags: profile.public_flags,\n          flags: profile.flags,\n          locale: profile.locale,\n          nitro: profile.premium_type,\n        };\n      },\n    }),\n  ],\n  pages: {\n    signIn: \"/auth/login\",\n    signOut: \"/auth/signout\",\n  },\n  secret: env.SECRET,\n  session: {\n    strategy: \"jwt\",\n    maxAge: 1 * 60 * 60, // 1 hour\n  },\n  callbacks: {\n    jwt({ token, account, profile }) {\n      if (account) {\n        token = {\n          ...token,\n          ...account,\n          ...profile,\n        };\n        return token;\n      } else {\n        return token;\n      }\n    },\n    session({ session, token }) {\n      token.avatar = `${env.NEXTAUTH_URL}/api/user/avatar/${token.id}`;\n\n      return {\n        ...token,\n        ...session,\n      };\n    },\n  },\n} satisfies AuthOptions;\n\nexport default authOptions;\n"
  },
  {
    "path": "apps/dashboard/lib/session.ts",
    "content": "import authOptions from \"lib/authOptions\";\nimport { Account, DefaultSession } from \"next-auth\";\nimport { getServerSession } from \"next-auth/next\";\nimport { DiscordProfile } from \"next-auth/providers/discord\";\n\nexport async function getSession() {\n  return (await getServerSession(authOptions)) as DefaultSession & Account & DiscordProfile;\n}\n\nexport async function getCurrentUser() {\n  const session = await getSession();\n\n  return session?.user;\n}\n"
  },
  {
    "path": "apps/dashboard/lib/types.ts",
    "content": "import type { GuildLogs, User } from \"@majoexe/database/types\";\nimport type { APIApplicationCommandOption } from \"discord-api-types/v10\";\n\nexport type ExtendedApplicationCommandOptionData = APIApplicationCommandOption & { usage?: string };\n\nexport interface Command {\n  name: string;\n  description: string;\n  options: ExtendedApplicationCommandOptionData[];\n  categoryName: string;\n}\n\nexport interface LogItem extends Omit<GuildLogs, \"createdAt\"> {\n  createdAt: string;\n  user: Pick<User, \"name\" | \"discordId\" | \"avatar\" | \"global_name\" | \"discriminator\"> & { fullAvatar?: string };\n}\n"
  },
  {
    "path": "apps/dashboard/lib/utils.ts",
    "content": "import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs));\n}\n"
  },
  {
    "path": "apps/dashboard/mdx-components.tsx",
    "content": "import { MDXComponents } from \"mdx/types\";\nimport { HTMLAttributes } from \"react\";\n\nfunction normalize(text: string) {\n  return text\n    .toString()\n    .trim()\n    .toLowerCase()\n    .replace(/[^a-z0-9]+/g, \"-\") // Replace all non-word chars with -\n    .replace(/\\s+/g, \"-\") // Replace spaces with -\n    .replace(/&/g, \"-and-\") // Replace & with 'and'\n\n    .replace(/[^\\w\\-]+/g, \"\") // Remove all non-word characters except for -\n    .replace(/\\-\\-+/g, \"-\"); // Replace multiple - with single -\n}\n\ninterface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n  children: React.ReactNode;\n}\n\nexport function useMDXComponents(components: MDXComponents) {\n  return {\n    ...components,\n    /* eslint-disable react-a11y/heading-has-content */\n    h1: (props: HeadingProps) => <h1 {...props} id={normalize(props.children as string)} />,\n    h2: (props: HeadingProps) => <h2 {...props} id={normalize(props.children as string)} />,\n    h3: (props: HeadingProps) => <h3 {...props} id={normalize(props.children as string)} />,\n    h4: (props: HeadingProps) => <h4 {...props} id={normalize(props.children as string)} />,\n    h5: (props: HeadingProps) => <h5 {...props} id={normalize(props.children as string)} />,\n    /* eslint-enable react-a11y/heading-has-content */\n  };\n}\n"
  },
  {
    "path": "apps/dashboard/next.config.ts",
    "content": "import { dashboardHeaders, dashboardRedirects } from \"@majoexe/config\";\nimport withBundleAnalyzer from \"@next/bundle-analyzer\";\nimport createMdx from \"@next/mdx\";\nimport { PrismaPlugin } from \"@prisma/nextjs-monorepo-workaround-plugin\";\nimport type { NextConfig } from \"next\";\nimport \"@/env\";\nimport { withAxiom } from \"next-axiom\";\n\nconst withMDX = createMdx();\n\nconst bundleAnalyzer = withBundleAnalyzer({\n  enabled: process.env.ANALYZE === \"true\",\n});\n\nconst nextConfig = {\n  reactStrictMode: true,\n  pageExtensions: [\"mdx\", \"jsx\", \"js\", \"ts\", \"tsx\"],\n  poweredByHeader: false,\n  trailingSlash: false,\n  experimental: {\n    // ppr: true,\n    // reactCompiler: {\n    //  compilationMode: \"annotation\",\n    // },\n  },\n  images: {\n    unoptimized: true,\n    qualities: [25, 50, 75, 95, 100],\n    remotePatterns: [\n      {\n        protocol: \"https\",\n        hostname: \"cdn.discordapp.com\",\n        pathname: \"**\",\n      },\n      {\n        protocol: \"https\",\n        port: \"\",\n        hostname: \"media.discordapp.net\",\n        pathname: \"**\",\n      },\n    ],\n  },\n  webpack: (config, { isServer }) => {\n    config.externals.push({\n      \"utf-8-validate\": \"commonjs utf-8-validate\",\n      bufferutil: \"commonjs bufferutil\",\n    });\n    if (isServer) {\n      config.plugins = [...config.plugins, new PrismaPlugin()];\n    }\n    return config;\n  },\n  /* eslint-disable-next-line require-await */\n  async redirects() {\n    return dashboardRedirects;\n  },\n  /* eslint-disable-next-line require-await */\n  async headers() {\n    return dashboardHeaders;\n  },\n} satisfies NextConfig;\n\nexport default bundleAnalyzer(withMDX(withAxiom(nextConfig)));\n"
  },
  {
    "path": "apps/dashboard/package.json",
    "content": "{\n  \"name\": \"@majoexe/dashboard\",\n  \"version\": \"6.0.0\",\n  \"description\": \"Dashboard for Majo.exe built on Next.js and Tailwind.css\",\n  \"scripts\": {\n    \"start\": \"dotenvx run -f .env -f ../../packages/database/.env --overload -- next start\",\n    \"dev\": \"dotenvx run -f .env -f ../../packages/database/.env --overload -- next dev --turbopack\",\n    \"build\": \"dotenvx run -f .env -f ../../packages/database/.env --overload -- next build\",\n    \"deploy\": \"pnpm run build && pnpm run start\",\n    \"format\": \"prettier . --write --cache --ignore-unknown\",\n    \"format:check\": \"prettier . --check --cache\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"@bprogress/next\": \"^3.2.12\",\n    \"@majoexe/config\": \"workspace:*\",\n    \"@majoexe/database\": \"workspace:*\",\n    \"@majoexe/util\": \"workspace:*\",\n    \"@mdx-js/loader\": \"^3.1.1\",\n    \"@mdx-js/react\": \"^3.1.1\",\n    \"@next-auth/prisma-adapter\": \"^1.0.7\",\n    \"@next/mdx\": \"^16.1.1\",\n    \"@odiffey/discord-markdown\": \"^3.3.0\",\n    \"@prisma/nextjs-monorepo-workaround-plugin\": \"^7.2.0\",\n    \"@radix-ui/react-accordion\": \"^1.2.12\",\n    \"@radix-ui/react-dialog\": \"^1.1.15\",\n    \"@radix-ui/react-dropdown-menu\": \"^2.1.16\",\n    \"@radix-ui/react-popover\": \"^1.1.15\",\n    \"@radix-ui/react-select\": \"^2.2.6\",\n    \"@radix-ui/react-switch\": \"^1.2.6\",\n    \"@radix-ui/react-tooltip\": \"^1.2.8\",\n    \"@t3-oss/env-core\": \"^0.13.10\",\n    \"@t3-oss/env-nextjs\": \"^0.13.10\",\n    \"@tanstack/react-table\": \"^8.21.3\",\n    \"@vercel/speed-insights\": \"^1.3.1\",\n    \"class-variance-authority\": \"^0.7.1\",\n    \"clsx\": \"^2.1.1\",\n    \"cmdk\": \"^1.1.1\",\n    \"cobe\": \"^0.6.5\",\n    \"discord-api-types\": \"^0.38.37\",\n    \"discord-giveaways\": \"^6.0.1\",\n    \"framer-motion\": \"^12.23.26\",\n    \"geist\": \"^1.5.1\",\n    \"json-2-csv\": \"^5.5.10\",\n    \"lucide-react\": \"^0.562.0\",\n    \"next\": \"^16.1.1\",\n    \"next-auth\": \"^4.24.13\",\n    \"next-axiom\": \"^1.10.0\",\n    \"next-navigation-guard\": \"^0.2.0\",\n    \"react\": \"^19.2.3\",\n    \"react-colorful\": \"^5.6.1\",\n    \"react-dom\": \"^19.2.3\",\n    \"react-infinite-scroller\": \"^1.2.6\",\n    \"react-spring\": \"^10.0.3\",\n    \"react-wrap-balancer\": \"^1.1.1\",\n    \"recharts\": \"^3.6.0\",\n    \"server-only\": \"^0.0.1\",\n    \"sharp\": \"^0.34.5\",\n    \"sonner\": \"^2.0.7\",\n    \"tw-animate-css\": \"^1.4.0\",\n    \"validator\": \"^13.15.26\",\n    \"zod\": \"^4.2.1\"\n  },\n  \"devDependencies\": {\n    \"@majoexe/typescript-config\": \"workspace:*\",\n    \"@next/bundle-analyzer\": \"^16.1.1\",\n    \"@tailwindcss/postcss\": \"^4.1.18\",\n    \"@tailwindcss/typography\": \"^0.5.19\",\n    \"@types/mdx\": \"^2.0.13\",\n    \"@types/ms\": \"^2.1.0\",\n    \"@types/react\": \"^19.2.7\",\n    \"@types/react-dom\": \"^19.2.3\",\n    \"@types/react-infinite-scroller\": \"^1.2.5\",\n    \"jiti\": \"^2.6.1\",\n    \"pg\": \"^8.16.3\",\n    \"postcss\": \"^8.5.6\",\n    \"tailwind-merge\": \"^3.4.0\",\n    \"tailwindcss\": \"^4.1.18\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"browserslist\": [\n    \">0.3%\",\n    \"not dead\",\n    \"not op_mini all\"\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/igorkowalczyk/majo.exe.git\",\n    \"directory\": \"apps/dashboard\"\n  },\n  \"keywords\": [\n    \"Majo.exe\",\n    \"Dashboard\",\n    \"React\",\n    \"Next.js\",\n    \"Tailwind.css\",\n    \"web-dashboard\"\n  ],\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/igorkowalczyk/majo.exe/issues\"\n  },\n  \"homepage\": \"https://github.com/igorkowalczyk/majo.exe#readme\",\n  \"packageManager\": \"pnpm@10.26.2\"\n}\n"
  },
  {
    "path": "apps/dashboard/postcss.config.mjs",
    "content": "const postcss = {\n  plugins: {\n    \"@tailwindcss/postcss\": {},\n  },\n};\n\nexport default postcss;\n"
  },
  {
    "path": "apps/dashboard/styles/globals.css",
    "content": "@import \"tailwindcss\";\n@import \"tailwindcss/preflight.css\" layer(base);\n@plugin \"@tailwindcss/typography\";\n\n@import \"tw-animate-css\";\n\n@custom-variant dark (&:is(.dark *));\n\n@theme {\n  --color-background-primary: #101110;\n  --color-background-secondary: #161617;\n  --color-background-navbar: #161617;\n  --color-background-menu: #161617;\n  --color-background-menu-button: #212120;\n  --color-accent-primary: #5865f2;\n  --color-button-primary: #5865f2;\n  --color-button-primary-hover: #4651c2;\n  --color-button-secondary: #1e1e1e;\n  --color-button-secondary-hover: #2f2e2e;\n  --color-button-action-primary: #ea4d4d;\n  --color-button-action-hover: #bb3e3e;\n  --color-transparent: transparent;\n\n  --background-image-main-gradient: linear-gradient(180deg, #101110 calc(100% - 400px), #161617 100%);\n\n  --animate-shiny-text: shiny-text 8s infinite;\n  --animate-border-beam: border-beam calc(20s) infinite linear;\n  --animate-meteor: meteor 5s linear infinite;\n  --animate-ripple: ripple var(--duration, 2s) ease calc(var(--i, 0) * 0.2s) infinite;\n\n  @keyframes shimmer {\n    100% {\n      transform: translateX(100%);\n    }\n  }\n\n  @keyframes shiny-text {\n    0%,\n    90%,\n    100% {\n      background-position: calc(-100% - var(--shiny-width)) 0;\n    }\n    30%,\n    60% {\n      background-position: calc(100% + var(--shiny-width)) 0;\n    }\n  }\n\n  @keyframes loader {\n    0% {\n      height: 0.5rem;\n      opacity: 0.2;\n    }\n    50% {\n      height: 1rem;\n      opacity: 1;\n    }\n    100% {\n      height: 0.5rem;\n      opacity: 0.2;\n    }\n  }\n\n  @keyframes blinking {\n    0% {\n      opacity: 0.2;\n    }\n    50% {\n      opacity: 1;\n    }\n    100% {\n      opacity: 0.2;\n    }\n  }\n\n  @keyframes border-beam {\n    100% {\n      offset-distance: 100%;\n    }\n  }\n\n  @keyframes meteor {\n    0% {\n      transform: rotate(215deg) translateX(0);\n      opacity: 1;\n    }\n    70% {\n      opacity: 1;\n    }\n    100% {\n      transform: rotate(215deg) translateX(-500px);\n      opacity: 0;\n    }\n  }\n\n  @keyframes ripple {\n    0%,\n    100% {\n      transform: translate(-50%, -50%) scale(1);\n    }\n    50% {\n      transform: translate(-50%, -50%) scale(0.9);\n    }\n  }\n}\n\n@layer base {\n  *,\n  ::after,\n  ::before,\n  ::backdrop,\n  ::file-selector-button {\n    @apply border-neutral-800\n   outline-neutral-700/50;\n    scrollbar-color: var(--color-secondary) transparent;\n    scrollbar-width: thin;\n  }\n\n  :root {\n    --chart-1: 158.66 60.82% 51.96%;\n    --chart-2: 220 70% 50%;\n    --chart-3: 30 80% 55%;\n    --chart-4: 280 65% 60%;\n    --chart-5: 340 75% 55%;\n    --chart-6: 160 60% 45%;\n\n    --chart-blue: 228 100% 65%;\n    --chart-red: 0 100% 65%;\n  }\n\n  html {\n    @apply scroll-smooth overflow-auto!;\n  }\n\n  body[data-scroll-locked] {\n    @apply mr-0!;\n  }\n}\n\n@utility text-fill-* {\n  -webkit-text-fill-color: --value(--color-*);\n}\n\n* {\n  @apply box-border;\n  scrollbar-color: #262626 transparent;\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n  @apply hidden;\n}\n\n.hide-scrollbar {\n  scrollbar-width: none;\n}\n\n.show-scrollbar::-webkit-scrollbar {\n  @apply block;\n}\n\n.show-scrollbar {\n  scrollbar-width: inherit;\n}\n\nimg.twemoji {\n  @apply relative top-[-0.1rem] inline-block h-[1em] w-[1em] align-middle;\n}\n\nmain > div {\n  @apply w-full;\n}\n\n.lucide {\n  @apply stroke-[1.5];\n}\n\ncanvas {\n  @apply ml-auto flex items-center;\n}\n\ncode {\n  @apply bg-background-secondary inline rounded-md border border-neutral-800 px-2 py-1;\n}\n"
  },
  {
    "path": "apps/dashboard/tsconfig.json",
    "content": "{\n  \"extends\": \"@majoexe/typescript-config/base\",\n  \"compilerOptions\": {\n    \"lib\": [\"ES2022\", \"dom\", \"dom.iterable\"],\n    \"jsx\": \"preserve\",\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"./*\"]\n    },\n    \"plugins\": [{ \"name\": \"next\" }],\n    \"module\": \"esnext\"\n  },\n  \"include\": [\".\", \".next/types/**/*.ts\"]\n}\n"
  },
  {
    "path": "apps/dashboard/vercel.json",
    "content": "{\n  \"framework\": \"nextjs\",\n  \"github\": {\n    \"silent\": true\n  }\n}\n"
  },
  {
    "path": "docker-compose.yaml",
    "content": "services:\n db:\n  image: postgres:latest\n  container_name: majoexe-db\n  restart: unless-stopped\n  user: postgres\n  environment:\n   - POSTGRES_DB=majoexe\n   - POSTGRES_PASSWORD=${DATABASE_PASSWORD}\n  volumes:\n   - database:/var/lib/postgresql/data\n  ports:\n   - \"5432:5432\"\n  networks:\n   - default\n  healthcheck:\n   test: [\"CMD\", \"pg_isready\"]\n   interval: 10s\n   timeout: 5s\n   retries: 5\n\n redis:\n  image: redis:latest\n  container_name: majoexe-cache\n  restart: unless-stopped\n  environment:\n   - REDIS_PASSWORD=${REDIS_PASSWORD}\n  ports:\n   - \"6379:6379\"\n  networks:\n   - default\n  volumes:\n   - cache:/data\n  depends_on:\n   db:\n    condition: service_healthy\n  healthcheck:\n   test: [\"CMD\", \"redis-cli\", \"ping\"]\n   interval: 10s\n   timeout: 5s\n   retries: 5\n\n bot:\n  build:\n   context: .\n   dockerfile: ./apps/bot/Dockerfile\n  env_file:\n   - ./apps/bot/.env\n   - ./packages/database/.env\n  container_name: majoexe-bot\n  restart: unless-stopped\n  depends_on:\n   db:\n    condition: service_healthy\n   redis:\n    condition: service_healthy\n  networks:\n   - default\n\nnetworks:\n default:\n  #  name: podman\n  driver: bridge\n\nvolumes:\n database:\n  driver: local\n cache:\n  driver: local\n"
  },
  {
    "path": "eslint.config.ts",
    "content": "import baseConfig from \"@igorkowalczyk/eslint-config/base\";\nimport nodeConfig from \"@igorkowalczyk/eslint-config/node\";\nimport typescriptConfig from \"@igorkowalczyk/eslint-config/typescript\";\nimport { defineConfig, globalIgnores } from \"eslint/config\";\n\nexport default defineConfig(\n //\n ...baseConfig,\n ...nodeConfig,\n ...typescriptConfig,\n globalIgnores([\"packages/database/prisma/client/**\"], \"Ignore prisma client files\"),\n {\n  name: \"Override\",\n  rules: {\n   \"require-await\": \"off\",\n  },\n }\n);\n"
  },
  {
    "path": "license.md",
    "content": "MIT License\n\nCopyright (c) Igor Kowalczyk\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"@majoexe/monorepo\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"description\": \"Monorepo for majo.exe\",\n  \"scripts\": {\n    \"dev\": \"turbo run dev\",\n    \"build\": \"turbo run build\",\n    \"deploy\": \"turbo run deploy\",\n    \"lint\": \"turbo run lint\",\n    \"lint:fix\": \"turbo run lint:fix\",\n    \"format\": \"turbo run format\",\n    \"format:check\": \"turbo run format:check\",\n    \"prisma:generate\": \"turbo run prisma:generate\",\n    \"prisma:migrate\": \"turbo run prisma:migrate\",\n    \"prisma:format\": \"turbo run prisma:format\",\n    \"prisma:seed\": \"turbo run prisma:seed\",\n    \"prisma:studio\": \"turbo run prisma:studio\"\n  },\n  \"dependencies\": {\n    \"@dotenvx/dotenvx\": \"^1.51.2\",\n    \"tsx\": \"^4.21.0\",\n    \"turbo\": \"^2.7.2\"\n  },\n  \"devDependencies\": {\n    \"@igorkowalczyk/eslint-config\": \"^3.2.1\",\n    \"@igorkowalczyk/prettier-config\": \"^3.2.1\",\n    \"@types/node\": \"^25.0.3\",\n    \"eslint\": \"^9.39.2\",\n    \"eslint-plugin-turbo\": \"2.7.2\",\n    \"node-addon-api\": \"^8.5.0\",\n    \"prettier\": \"^3.7.4\",\n    \"typescript\": \"^5.9.3\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/IgorKowalczyk/majo.exe.git\"\n  },\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/IgorKowalczyk/majo.exe/issues\"\n  },\n  \"config\": {\n    \"libvips\": {\n      \"version\": \"8.17.1\"\n    }\n  },\n  \"homepage\": \"https://majoexe.com\",\n  \"keywords\": [\n    \"node\",\n    \"discord\",\n    \"majoexe\",\n    \"bot\",\n    \"discord-bot\"\n  ],\n  \"packageManager\": \"pnpm@10.26.2\"\n}"
  },
  {
    "path": "packages/config/.prettierignore",
    "content": "package.json"
  },
  {
    "path": "packages/config/configs/bot.ts",
    "content": "import { ActivityType, PresenceUpdateStatus } from \"discord-api-types/v10\";\n\nconst config = {\n  presence: {\n    status: PresenceUpdateStatus.Online, // PresenceUpdateStatus. Can be: \"Online\", \"Idle\", \"DoNotDisturb\", \"Invisible\" or \"Offline\" (Invisible and Offline are the same)\n    activity: {\n      // name: \"?\", // string. Activity name [not required when using custom type (4)\n      state: \"🔥 Type /help to get started!\", // string. Activity state [required when using custom type (4)]\n      type: ActivityType.Custom, // ActivityType. Activity type. Can be: \"Playing\", \"Streaming\", \"Listening\", \"Watching\", \"Custom\"\n\n      /* Example: Using type 3 (Watching) with custom name\n   name: \"the world burn\", // Note: Name is required when not using custom type (4)!\n   type: ActivityType.Watching,\n  */\n    },\n  },\n\n  /*\n  Donation links\n */\n  donate: {\n    enabled: true, // boolean. Display donations command\n    links: [\n      {\n        name: \"Github Sponsors\",\n        url: \"https://github.com/sponsors/igorkowalczyk\",\n        icon: \"🔗\",\n      },\n    ] satisfies { name: string; url: string; icon: string }[],\n  },\n\n  /*\n  Bot emojis\n */\n  emojis: {\n    // Categories emoji\n    categories: [\n      {\n        name: \"general\",\n        emoji: \"🧱\",\n      },\n      {\n        name: \"moderation\",\n        emoji: \"🛠️\",\n      },\n      {\n        name: \"fun\",\n        emoji: \"😆\",\n      },\n      {\n        name: \"utility\",\n        emoji: \"🔧\",\n      },\n      {\n        name: \"levels\",\n        emoji: \"📈\",\n      },\n      {\n        name: \"reputation\",\n        emoji: \"👍\",\n      },\n      {\n        name: \"image\",\n        emoji: \"🖼️\",\n      },\n      {\n        name: \"giveaway\",\n        emoji: \"🎉\",\n      },\n      {\n        name: \"ticket\",\n        emoji: \"🎫\",\n      },\n      {\n        name: \"reaction\",\n        emoji: \"🎭\",\n      },\n    ] satisfies { name: string; emoji: string }[],\n\n    // Log types\n    logs: [\n      {\n        category: \"Invite\",\n        types: [\n          {\n            type: \"InviteCreate\",\n            emoji: \"✉️\",\n            description: \"Triggered when an invite is created.\",\n          },\n          {\n            type: \"InviteDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when an invite is deleted.\",\n          },\n        ],\n      },\n      {\n        category: \"Message\",\n        types: [\n          {\n            type: \"MessageBulkDelete\",\n            emoji: \"🗑️\",\n            description: \"Triggered when multiple messages are deleted at once.\",\n          },\n          {\n            type: \"MessageCreate\",\n            emoji: \"💬\",\n            description: \"Triggered when a message is created.\",\n          },\n          {\n            type: \"MessageDelete\",\n            emoji: \"🗑️\",\n            description: \"Triggered when a message is deleted.\",\n          },\n          // {\n          //  type: \"MessagePollVoteAdd\",\n          //  emoji: \"🗳️\",\n          //  description: \"Triggered when a poll vote is added.\",\n          // },\n          // {\n          //  type: \"MessagePollVoteRemove\",\n          //  emoji: \"🗳️\",\n          //  description: \"Triggered when a poll vote is removed.\",\n          // },\n          {\n            type: \"MessageUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a message is updated.\",\n          },\n        ],\n      },\n      {\n        category: \"Thread\",\n        types: [\n          {\n            type: \"ThreadCreate\",\n            emoji: \"🆕\",\n            description: \"Triggered when a thread is created.\",\n          },\n          {\n            type: \"ThreadDelete\",\n            emoji: \"🗑️\",\n            description: \"Triggered when a thread is deleted.\",\n          },\n          {\n            type: \"ThreadMembersUpdate\",\n            emoji: \"👥\",\n            description: \"Triggered when members are added or removed from a thread.\",\n          },\n          {\n            type: \"ThreadMemberUpdate\",\n            emoji: \"👤\",\n            description: \"Triggered when a thread member is updated.\",\n          },\n          {\n            type: \"ThreadUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a thread is updated.\",\n          },\n        ],\n      },\n      {\n        category: \"Guild\",\n        types: [\n          {\n            type: \"GuildUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a guild is updated.\",\n          },\n          {\n            type: \"GuildMemberUpdate\",\n            emoji: \"👤\",\n            description: \"Triggered when a guild member is updated.\",\n          },\n          {\n            type: \"GuildRoleCreate\",\n            emoji: \"➕\",\n            description: \"Triggered when a guild role is created.\",\n          },\n          {\n            type: \"GuildRoleDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when a guild role is deleted.\",\n          },\n          {\n            type: \"GuildRoleUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a guild role is updated.\",\n          },\n          {\n            type: \"GuildScheduledEventCreate\",\n            emoji: \"📅\",\n            description: \"Triggered when a guild scheduled event is created.\",\n          },\n          {\n            type: \"GuildScheduledEventDelete\",\n            emoji: \"📅\",\n            description: \"Triggered when a guild scheduled event is deleted.\",\n          },\n          {\n            type: \"GuildScheduledEventUpdate\",\n            emoji: \"📅\",\n            description: \"Triggered when a guild scheduled event is updated.\",\n          },\n          {\n            type: \"GuildScheduledEventUserAdd\",\n            emoji: \"👤\",\n            description: \"Triggered when a user is added to a guild scheduled event.\",\n          },\n          {\n            type: \"GuildScheduledEventUserRemove\",\n            emoji: \"👤\",\n            description: \"Triggered when a user is removed from a guild scheduled event.\",\n          },\n          {\n            type: \"GuildStickerCreate\",\n            emoji: \"🆕\",\n            description: \"Triggered when a guild sticker is created.\",\n          },\n          {\n            type: \"GuildStickerDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when a guild sticker is deleted.\",\n          },\n          {\n            type: \"GuildStickerUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a guild sticker is updated.\",\n          },\n          {\n            type: \"GuildEmojiCreate\",\n            emoji: \"🆕\",\n            description: \"Triggered when a guild emoji is created.\",\n          },\n          {\n            type: \"GuildEmojiDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when a guild emoji is deleted.\",\n          },\n          {\n            type: \"GuildEmojiUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a guild emoji is updated.\",\n          },\n          {\n            type: \"GuildIntegrationsUpdate\",\n            emoji: \"🔄\",\n            description: \"Triggered when a guild integration is updated.\",\n          },\n          {\n            type: \"GuildMemberAdd\",\n            emoji: \"👤\",\n            description: \"Triggered when a new member joins the guild.\",\n          },\n          {\n            type: \"GuildMemberRemove\",\n            emoji: \"👤\",\n            description: \"Triggered when a member leaves the guild.\",\n          },\n          {\n            type: \"GuildBanAdd\",\n            emoji: \"🔨\",\n            description: \"Triggered when a member is banned from the guild.\",\n          },\n          {\n            type: \"GuildBanRemove\",\n            emoji: \"🔓\",\n            description: \"Triggered when a member is unbanned from the guild.\",\n          },\n        ],\n      },\n      {\n        category: \"Channel\",\n        types: [\n          {\n            type: \"ChannelCreate\",\n            emoji: \"🆕\",\n            description: \"Triggered when a channel is created.\",\n          },\n          {\n            type: \"ChannelDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when a channel is deleted.\",\n          },\n          {\n            type: \"ChannelPinsUpdate\",\n            emoji: \"📌\",\n            description: \"Triggered when a channel's pins are updated.\",\n          },\n          {\n            type: \"ChannelUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when a channel is updated.\",\n          },\n        ],\n      },\n      {\n        category: \"AutoModeration\",\n        types: [\n          {\n            type: \"AutoModerationActionExecution\",\n            emoji: \"🛠️\",\n            description: \"Triggered when an auto-moderation action is executed.\",\n          },\n          {\n            type: \"AutoModerationRuleCreate\",\n            emoji: \"🆕\",\n            description: \"Triggered when an auto-moderation rule is created.\",\n          },\n          {\n            type: \"AutoModerationRuleDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when an auto-moderation rule is deleted.\",\n          },\n          {\n            type: \"AutoModerationRuleUpdate\",\n            emoji: \"✏️\",\n            description: \"Triggered when an auto-moderation rule is updated.\",\n          },\n        ],\n      },\n      {\n        category: \"Miscellaneous\",\n        types: [\n          {\n            type: \"PublicDashboardUpdate\",\n            emoji: \"🔗\",\n            description: \"Triggered when the public dashboard is updated.\",\n          },\n          {\n            type: \"VanityUpdate\",\n            emoji: \"🔗\",\n            description: \"Triggered when the vanity URL is updated.\",\n          },\n          {\n            type: \"EmbedColorUpdate\",\n            emoji: \"🎨\",\n            description: \"Triggered when the embed color is updated.\",\n          },\n          {\n            type: \"CommandCategoryEnable\",\n            emoji: \"✅\",\n            description: \"Triggered when a command category is enabled.\",\n          },\n          {\n            type: \"CommandCategoryDisable\",\n            emoji: \"❌\",\n            description: \"Triggered when a command category is disabled.\",\n          },\n          {\n            type: \"CommandEnable\",\n            emoji: \"✅\",\n            description: \"Triggered when a command is enabled.\",\n          },\n          {\n            type: \"CommandDisable\",\n            emoji: \"❌\",\n            description: \"Triggered when a command is disabled.\",\n          },\n          {\n            type: \"GiveawayCreate\",\n            emoji: \"🎉\",\n            description: \"Triggered when a giveaway is created.\",\n          },\n          {\n            type: \"GiveawayDelete\",\n            emoji: \"❌\",\n            description: \"Triggered when a giveaway is deleted.\",\n          },\n          {\n            type: \"GiveawayEdit\",\n            emoji: \"✏️\",\n            description: \"Triggered when a giveaway is edited.\",\n          },\n          {\n            type: \"GiveawayPaused\",\n            emoji: \"⏸️\",\n            description: \"Triggered when a giveaway is paused.\",\n          },\n          {\n            type: \"GiveawayResumed\",\n            emoji: \"▶️\",\n            description: \"Triggered when a giveaway is resumed.\",\n          },\n          {\n            type: \"GiveawayEnded\",\n            emoji: \"🏁\",\n            description: \"Triggered when a giveaway ends.\",\n          },\n          {\n            type: \"WelcomeMessageEnable\",\n            emoji: \"👋\",\n            description: \"Triggered when the welcome message is enabled.\",\n          },\n          {\n            type: \"WelcomeMessageDisable\",\n            emoji: \"❌\",\n            description: \"Triggered when the welcome message is disabled.\",\n          },\n          {\n            type: \"LeaveMessageEnable\",\n            emoji: \"👋\",\n            description: \"Triggered when the leave message is enabled.\",\n          },\n          {\n            type: \"LeaveMessageDisable\",\n            emoji: \"❌\",\n            description: \"Triggered when the leave message is disabled.\",\n          },\n          {\n            type: \"ReputationUpdate\",\n            emoji: \"⭐\",\n            description: \"Triggered when a user's reputation is updated.\",\n          },\n          {\n            type: \"WarnCreate\",\n            emoji: \"⚠️\",\n            description: \"Triggered when a warning is created.\",\n          },\n          {\n            type: \"WarnDelete\",\n            emoji: \"⚠️\",\n            description: \"Triggered when a warning is deleted.\",\n          },\n          {\n            type: \"WarnUpdate\",\n            emoji: \"⚠️\",\n            description: \"Triggered when a warning is updated.\",\n          },\n          {\n            type: \"Unknown\",\n            emoji: \"❓\",\n            description: \"Triggered when an unknown event occurs.\",\n          },\n        ],\n      },\n    ] satisfies { category: string; types: { type: string; emoji: string; description: string }[] }[],\n    // Utility emojis\n    picture_frame: \"🖼️\",\n    anger: \"💢\",\n    like: \"👍\",\n    dislike: \"👎\",\n    grin: \"😁\",\n    pleading_face: \"🥺\",\n    angry: \"😡\",\n    rage: \"🤬\",\n    drooling_face: \"🤤\",\n    smirk: \"😏\",\n    game_dice: \"🎲\",\n    coin: \"🪙\",\n    sparkles: \"✨\",\n    earth: \"🌎\",\n    clock: \"⏰\",\n    search_glass: \"🔍\",\n    chan: \"🍀\",\n    edit: \"📝\",\n    chat: \"💬\",\n    sadness: \"😢\",\n    flag_gb: \":flag_gb:\",\n    flag_jp: \":flag_jp:\",\n    book: \"📚\",\n    counting: \"🔢\",\n    star2: \"🌟\",\n    calendar_spillar: \"🗓️\",\n    star: \"⭐\",\n    barchart: \"📊\",\n    link: \"🔗\",\n    tada: \"🎉\",\n    brain: \"🧠\",\n    magic_ball: \"🔮\",\n    reverse_motherfucker: \"↕️\",\n    reverse_nr_2_motherfucker: \"🔀\",\n    light_bulb: \"💡\",\n    broken_heart: \"💔\",\n    heart: \"❤️\",\n    flushed: \"😳\",\n    facepalm: \"🤦\",\n    sneeze: \"🤧\",\n    input: \"📥\",\n    output: \"📤\",\n    bird: \"🐦\",\n    cat: \"🐱\",\n    koala: \"🐨\",\n    panda: \"🐼\",\n    wink: \"😉\",\n    wastebasket: \"🗑️\",\n    page: \"📄\",\n    ping: \"🏓\",\n    uptime: \"⏳\",\n    package: \"📦\",\n    optical_disk: \"💿\",\n    muscule: \"💪\",\n    stopwatch: \"⏱️\",\n    octo: \"🐙\",\n    rocket: \"🚀\",\n    thinking: \"🤔\",\n    question: \"❔\",\n    tools: \"🧰\",\n    money: \"💰\",\n    music: \"🎶\",\n    rofl: \"😆\",\n    hammer: \"🔨\",\n    bricks: \"🧱\",\n    screw_that: \"🔩\",\n    sign: \"🪧\",\n    lyrics: \"📑\",\n    pause: \"⏸️\",\n    play: \"▶\",\n    skip: \"⏭️\",\n    volume: \"🔉\",\n    pen: \"🖊️\",\n    capital: \"🏛️\",\n    location: \"📍\",\n    currency: \"💱\",\n    globe: \"🌐\",\n    tongue: \"👅\",\n    clap: \"👏\",\n    lock: \"🔐\",\n    game_controller: \"🎮\",\n    weather: \"🌤️\",\n    temperature: \"🌡️\",\n    hot: \"🥵\",\n    tornado: \"🌪️\",\n    humidity: \"💦\",\n    ruler: \"📏\",\n    email: \"📧\",\n    paper_clip: \"📎\",\n    paper_clips: \"🖇️\",\n    flower: \"💮\",\n    arrows_clockwise: \"🔃\",\n    jigsaw: \"🧩\",\n    wave: \"👋\",\n    color: \"🎨\",\n  },\n};\n\nexport const botConfig = config;\n"
  },
  {
    "path": "packages/config/configs/dashboard.ts",
    "content": "/* Dashboard related config */\nexport const dashboardConfig = {\n  title: \"Majo.exe\", // string. Dashboard title, will be shown in browser tab and in search results\n  url: \"https://majoexe.com\", // string. Dashboard url, to Disable dashboard, set this to null (Note: when you change it to null the dashboard will not work and commands related to dashboard will not work)\n  logo: \"/assets/avatar.png\", // string. Logo of your bot\n  description: \"Majo.exe - Discord bot for Fun, Memes, Images, Giveaway, Economy and Anime! Majo.exe serve over 117 commands!\", // string. Dashboard description, will be shown in search results\n  image: \"/opengraph-image\", // string. Dashboard open graph image (Note: this is not a url, this is a path to the image/generator, for example: /opengraph-image)\n};\n\n// Dashboard redirects\nexport const dashboardRedirects = [\n  {\n    source: \"/discord\",\n    destination: \"https://discord.gg/sgt4QEyDxK\",\n    permanent: true,\n  },\n  {\n    source: \"/invite\",\n    destination: \"/api/invite\",\n    permanent: true,\n  },\n  {\n    source: \"/support\",\n    destination: \"/discord\",\n    permanent: true,\n  },\n  {\n    source: \"/contact\",\n    destination: \"/discord\",\n    permanent: true,\n  },\n  {\n    source: \"/server\",\n    destination: \"/discord\",\n    permanent: true,\n  },\n  {\n    source: \"/status\",\n    destination: \"https://status.majoexe.com\",\n    permanent: true,\n  },\n];\n\n// Dashboard headers\nexport const dashboardHeaders = [\n  {\n    source: \"/(.*)\",\n    headers: [\n      {\n        key: \"Referrer-Policy\",\n        value: \"no-referrer\",\n      },\n      {\n        key: \"X-Content-Type-Options\",\n        value: \"nosniff\",\n      },\n      {\n        key: \"X-DNS-Prefetch-Control\",\n        value: \"on\",\n      },\n      {\n        key: \"Strict-Transport-Security\",\n        value: \"max-age=31536000; includeSubDomains; preload\",\n      },\n      {\n        key: \"X-XSS-Protection\",\n        value: \"1; mode=block\",\n      },\n      {\n        key: \"Permissions-Policy\",\n        value: \"camera=(), microphone=(), geolocation=()\",\n      },\n    ],\n  },\n];\n"
  },
  {
    "path": "packages/config/configs/debugger.ts",
    "content": "export const debuggerConfig = {\n  displayDebugMessages: true, // boolean. Display debug messages\n  displayDatabaseLogs: false, // boolean. Display database logs\n  displayCacheMessages: false, // boolean. Display cache messages\n  displayEventList: true, // boolean. Display event list on startup\n  displayCommandList: false, // boolean. Display command list on startup\n  displayCommandUsage: false, // boolean. Display command usage on command run\n  displayModalList: false, // boolean. Display modal list on startup\n  displayModalUsage: false, // boolean. Display modal usage on modal run\n};\n"
  },
  {
    "path": "packages/config/configs/global.ts",
    "content": "export const globalConfig = {\n  defaultColor: \"#5865F2\", // string. Default color for embeds, social images and website accent color\n  apiVersion: 10, // number. Discord API version. See https://discord.com/developers/docs/reference#api-versioning-api-versions\n};\n"
  },
  {
    "path": "packages/config/configs/permissions.ts",
    "content": "import { OAuth2Scopes, PermissionFlagsBits } from \"discord-api-types/v10\";\n\n// Discord permissions array. See https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags\nconst permissions = [\n  // prettier\n  PermissionFlagsBits.ViewChannel,\n  PermissionFlagsBits.ManageChannels,\n  PermissionFlagsBits.ManageRoles,\n  PermissionFlagsBits.ManageGuildExpressions,\n  PermissionFlagsBits.ManageGuild,\n  PermissionFlagsBits.ChangeNickname,\n  PermissionFlagsBits.ManageNicknames,\n  PermissionFlagsBits.CreateInstantInvite,\n  PermissionFlagsBits.KickMembers,\n  PermissionFlagsBits.BanMembers,\n  PermissionFlagsBits.SendMessages,\n  PermissionFlagsBits.SendMessagesInThreads,\n  PermissionFlagsBits.ManageMessages,\n  PermissionFlagsBits.EmbedLinks,\n  PermissionFlagsBits.AttachFiles,\n  PermissionFlagsBits.AddReactions,\n  PermissionFlagsBits.UseExternalEmojis,\n  PermissionFlagsBits.MentionEveryone,\n];\n\nconst flagsBitsNumber = permissions.reduce((accumulator, currentValue) => accumulator | currentValue).toString();\n\nexport const globalPermissions = {\n  permissions: flagsBitsNumber, // string. Discord permissions array defined above using discord-api-types/v10\n  scopes: [OAuth2Scopes.ApplicationsCommands, OAuth2Scopes.Bot].join(\"%20\"), // string. Discord OAUTH2 scopes. See https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes\n};\n"
  },
  {
    "path": "packages/config/index.ts",
    "content": "export * from \"./configs/permissions\";\nexport * from \"./configs/global\";\nexport * from \"./configs/bot\";\nexport * from \"./configs/dashboard\";\nexport * from \"./configs/debugger\";\n"
  },
  {
    "path": "packages/config/package.json",
    "content": "{\n  \"name\": \"@majoexe/config\",\n  \"version\": \"6.0.0\",\n  \"description\": \"Majo.exe shared config for all packages and projects\",\n  \"type\": \"module\",\n  \"exports\": {\n    \".\": \"./index.ts\",\n    \"./bot\": \"./configs/bot.ts\",\n    \"./dashboard\": \"./configs/dashboard.ts\",\n    \"./debugger\": \"./configs/debugger.ts\",\n    \"./global\": \"./configs/global.ts\",\n    \"./permissions\": \"./configs/permissions.ts\"\n  },\n  \"scripts\": {\n    \"format\": \"prettier . --write --cache --ignore-unknown\",\n    \"format:check\": \"prettier . --check --cache\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"@majoexe/typescript-config\": \"workspace:*\",\n    \"discord-api-types\": \"^0.38.37\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/igorkowalczyk/majo.exe.git\",\n    \"directory\": \"packages/config\"\n  },\n  \"keywords\": [\n    \"config\"\n  ],\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/igorkowalczyk/majo.exe/issues\"\n  },\n  \"homepage\": \"https://github.com/igorkowalczyk/majo.exe#readme\",\n  \"packageManager\": \"pnpm@10.26.2\"\n}"
  },
  {
    "path": "packages/config/tsconfig.json",
    "content": "{\n  \"extends\": \"@majoexe/typescript-config/base\"\n}\n"
  },
  {
    "path": "packages/database/.env.example",
    "content": "# Database\nDATABASE_URL=\nDATABASE_URL_UNPOOLED=\n\n# Redis cache\nREDIS_URL=\n\n"
  },
  {
    "path": "packages/database/.prettierignore",
    "content": "package.json\n\nprisma/client"
  },
  {
    "path": "packages/database/README.md",
    "content": "![Header - Database](https://github.com/IgorKowalczyk/majo.exe/assets/49127376/1c77665d-a599-4aa2-ae04-b4f7c2e810c9)\n\n<p align=\"center\">\n <a href=\"https://majoexe.com/server\"><img src=\"https://img.shields.io/discord/695282860399001640?color=%234552ef&logo=discord&label=Discord&style=flat&logoColor=fff\" alt=\"Discord\" /></a>\n <a href=\"https://www.npmjs.com/package/discord.js\"><img src=\"https://img.shields.io/badge/Discord.js-v14-%234552ef?style=flat&logo=npm&logoColor=fff\" alt=\"Discord.js\" /></a>\n <a href=\"https://majoexe.com/\"><img src=\"https://img.shields.io/github/actions/workflow/status/igorkowalczyk/majo.exe/codeql-analysis.yml?branch=master&style=flat&label=CodeQL&logo=github&color=%234552ef\" alt=\"CodeQL Checks\" /></a>\n <a href=\"https://majoexe.com\"><img src=\"https://img.shields.io/github/license/igorkowalczyk/majo.exe?style=flat&;logo=github&label=License&color=%234552ef\" alt=\"GitHub License\" /></a>\n</p>\n\n## 📝 Description\n\n- `/prisma/schema.prisma` contains database schema. It's used by [Prisma](https://www.prisma.io/) to generate database client.\n- `/prisma/migrations` contains database migrations. They are used to update database. Do not edit them manually.\n- `/src/client.ts` contains database client. It's used by Majo.exe to interact with database. It also includes edge client for Prisma Data Proxy.\n- `/src/redis/client.ts` contains Redis client. It's used by Majo.exe to cache queries and data.\n- `/src/redis/cache.ts` contains cache functions and other cache related functions.\n- `/src/seed.ts` contains database seed. It's used to populate database with initial data like bot slash commands. It's executed by `pnpm prisma:seed` or `pnpm prisma:generate` command.\n\n> [!IMPORTANT]\n> Never share your `.env` file with anyone. It contains sensitive data like database credentials, tokens and secrets. Leakage of this data can cause serious security issues.\n\n## 🗜️ PostgreSQL\n\n> [!NOTE]\n> Before you start, make sure that you ran `pnpm install` command in root directory of the project.\n\n### 🐘 Neon.tech\n\n1. Create new [Neon](https://neon.tech/) account and create new PostgreSQL database.\n2. Create new file or edit existing `.env` file in `/packages/database/` directory.\n3. In the `.env` file set these values:\n   - `DATABASE_URL` - pooling database connection string\n   - `DATABASE_URL_UNPOOLED` - non-pooling database connection string\n4. Run `pnpm install` to install dependencies.\n5. Run `pnpm prisma:migrate` to generate & apply initial migration.\n6. Run `pnpm prisma:generate` to generate database client.\n\n### 🐳 Local PostgreSQL (Docker)\n\n1. Install Docker by following the instructions at https://docs.docker.com/get-docker/.\n2. Pull the PostgreSQL Docker image for version 15 (`docker pull postgres:15`) or use existing one.\n3. Create a new container using the PostgreSQL image (`docker run --name majoexe -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:15`)\n4. Create new file or edit existing `.env` file in `/packages/database/` directory.\n5. In the `.env` file set this values:\n   - `DATABASE_URL=postgresql://postgres:postgres@localhost:5432/majoexe`\n   - `DATABASE_URL_UNPOOLED=postgresql://postgres:postgres@localhost:5432/majoexe`\n6. Run `pnpm install` to install dependencies.\n7. Run `pnpm prisma:migrate` to generate & apply initial migration.\n8. Run `pnpm prisma:generate` to generate database client.\n\n> [!NOTE]\n> Majo.exe can also work with other databases like MongoDB and MySQL. You can find more information about it in [Prisma documentation](https://www.prisma.io/docs/concepts/database-connectors). If you want to use other database you have to change `DATABASE_URL` in `.env` file and change schema in `/prisma/schema.prisma` file.\n\n---\n\n## ⌛ Caching with Redis\n\n### ☁ Redis Cloud\n\n1. Create new [Redis Cloud](https://app.redislabs.com/) account and create new Redis database.\n2. Create new file or edit existing `.env` file in `/packages/database/` directory.\n3. In the `.env` file set this values:\n   - `REDIS_URL`- `ioredis` connection string (`redis://[...]`) from Redis Cloud\n4. That's it! Majo.exe will automatically cache data in Redis Cloud.\n\n### 🐳 Local Redis (Docker)\n\n1. Install Docker by following the instructions at https://docs.docker.com/get-docker/.\n2. Pull the Redis Docker image (`docker pull redis`) or use existing one.\n3. Create a new container using the Redis image (`docker run --name redis -p 6379:6379 -d redis`)\n4. Create new file or edit existing `.env` file in `/packages/database/` directory.\n5. In `.env` file set these values:\n   - `REDIS_URL`- `ioredis` connection string (`redis://localhost:6379`)\n6. That's it! Majo.exe will automatically cache data in Redis.\n\n---\n\n## 🔒 Example `.env` file\n\n```\nDATABASE_URL=DATABASE_URL\nDATABASE_URL_UNPOOLED=DIRECT_DATABASE_URL\n\nREDIS_URL=REDIS_URL\n```\n\n> [!WARNING]\n> Make sure that the `.env` file is placed in `/packages/database/` directory and not in the root directory of the project. It will be used by Prisma and Majo.exe to connect to the database and Redis.\n\n---\n\n## 📝 Contributors\n\n- [**@binary-blazer**](https://github.com/binary-blazer) - Hosting support\n- [**@TsukiyoDevs**](https://github.com/TsukiyoDevs) - Bug fixes, New features, Testing\n- [**@r-kjha**](https://github.com/r-kjha) - Emoji config support, Bug fixes, New features, Testing\n- [**@Joao-Victor-Liporini**](https://github.com/Joao-Victor-Liporini) - Bug fixes, Command handler improvements, Testing, New features\n- [**@evandev**](https://github.com/xefew) - Bug fixes, Testing\n- [**iWeedy\\_**](https://github.com/i-weedy) - Testing\n- [**@krzesl0**](https://github.com/krzesl0) - New Features, Bug fixes, Testing\n- [**@\\_index1337**](https://github.com/index1337) - Readme tutorials\n- [**@Wafelowski**](https://github.com/HeavyWolfPL) - Translation improvements\n- [**@Sakshyam6966**](https://github.com/Sakshyam6966) - New Features, Bug fixes, Testing\n\n<!-- ## 💝 Sponsors\n\n**These wonderful people and services have helped develop Majo.exe, without them this project would not exist. Thanks goes to these wonderful people!**\n\n|                                                                      | Sponsor                                                             | Description                                                                                                             |\n| -------------------------------------------------------------------- | ------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- |\n| ![TrestHost Logo](https://majoexe.com/assets/sponsors/tresthost.png) | [**TrestHost**](https://dash.tresthost.me/register?ref=majonez.exe) | **TrestHost is a good and powerful hosting provider** providing servers from the **USA and Germany**. Try us out today! | -->\n\n## ⁉️ Issues\n\nIf you have any issues with the bot please create [new issue here](https://github.com/igorkowalczyk/majo.exe/issues).\nWhen creating a new issue please provide as much information as possible. If you can, please provide logs from console.\n\n## 📥 Pull Requests\n\nWhen submitting a pull request:\n\n- Clone the repo.\n- Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`).\n- Open a [pull request](https://github.com/igorkowalczyk/majo.exe/pulls) on [GitHub](https://github.com) and describe the feature or fix.\n\nWe will review your pull request as soon as possible. We might suggest some changes or improvements.\n\n## 📋 License\n\nThis project is licensed under the MIT. See the [LICENSE](https://github.com/igorkowalczyk/majo.exe/blob/master/license.md) file for details\n"
  },
  {
    "path": "packages/database/package.json",
    "content": "{\n  \"name\": \"@majoexe/database\",\n  \"version\": \"6.0.0\",\n  \"description\": \"Majo.exe main database schema/client/migrations package\",\n  \"type\": \"module\",\n  \"exports\": {\n    \".\": \"./src/client.ts\",\n    \"./types\": \"./src/types.ts\",\n    \"./redis\": \"./src/redis/cache.ts\"\n  },\n  \"scripts\": {\n    \"deploy\": \"dotenvx run -- prisma migrate deploy\",\n    \"prisma:generate\": \"dotenvx run -- prisma generate --no-hints\",\n    \"prisma:migrate\": \"dotenvx run -- prisma migrate dev\",\n    \"prisma:format\": \"prisma format\",\n    \"prisma:seed\": \"dotenvx run -- prisma db seed\",\n    \"prisma:studio\": \"dotenvx run -- prisma studio\",\n    \"format\": \"prettier . --write --cache --ignore-unknown --plugin=prettier-plugin-prisma\",\n    \"format:check\": \"prettier . --check --cache\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"@majoexe/config\": \"workspace:*\",\n    \"@majoexe/typescript-config\": \"workspace:*\",\n    \"@neondatabase/serverless\": \"^1.0.2\",\n    \"@prisma/adapter-neon\": \"^7.2.0\",\n    \"@prisma/adapter-pg\": \"^7.2.0\",\n    \"@prisma/client\": \"^7.2.0\",\n    \"chalk\": \"^5.6.2\",\n    \"ioredis\": \"^5.8.2\",\n    \"pg\": \"^8.16.3\",\n    \"prisma\": \"^7.2.0\",\n    \"ws\": \"^8.18.3\"\n  },\n  \"devDependencies\": {\n    \"@types/ws\": \"^8.18.1\",\n    \"prettier-plugin-prisma\": \"^5.0.0\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/igorkowalczyk/majo.exe.git\",\n    \"directory\": \"packages/database\"\n  },\n  \"keywords\": [\n    \"prisma\",\n    \"database\",\n    \"orm\",\n    \"sql\",\n    \"postgresql\",\n    \"mysql\"\n  ],\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/igorkowalczyk/majo.exe/issues\"\n  },\n  \"homepage\": \"https://github.com/igorkowalczyk/majo.exe#readme\",\n  \"packageManager\": \"pnpm@10.26.2\"\n}"
  },
  {
    "path": "packages/database/prisma/migrations/20230516174916_/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"users\" (\n    \"id\" SERIAL NOT NULL,\n    \"name\" TEXT,\n    \"email\" TEXT,\n    \"email_verified\" TIMESTAMP(3),\n    \"image\" TEXT,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    \"updated_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"users_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_email_key\" ON \"users\"(\"email\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516200625_add_auth/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The primary key for the `users` table will be changed. If it partially fails, the table could be left without primary key constraint.\n\n*/\n-- AlterTable\nALTER TABLE \"users\" DROP CONSTRAINT \"users_pkey\",\nALTER COLUMN \"id\" DROP DEFAULT,\nALTER COLUMN \"id\" SET DATA TYPE TEXT,\nADD CONSTRAINT \"users_pkey\" PRIMARY KEY (\"id\");\nDROP SEQUENCE \"users_id_seq\";\n\n-- CreateTable\nCREATE TABLE \"Account\" (\n    \"id\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"type\" TEXT NOT NULL,\n    \"provider\" TEXT NOT NULL,\n    \"providerAccountId\" TEXT NOT NULL,\n    \"refresh_token\" TEXT,\n    \"access_token\" TEXT,\n    \"expires_at\" INTEGER,\n    \"token_type\" TEXT,\n    \"scope\" TEXT,\n    \"id_token\" TEXT,\n    \"session_state\" TEXT,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"Account_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"Session\" (\n    \"id\" TEXT NOT NULL,\n    \"sessionToken\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"expires\" TIMESTAMP(3) NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"Session_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"Account_provider_providerAccountId_key\" ON \"Account\"(\"provider\", \"providerAccountId\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"Session_sessionToken_key\" ON \"Session\"(\"sessionToken\");\n\n-- AddForeignKey\nALTER TABLE \"Account\" ADD CONSTRAINT \"Account_userId_fkey\" FOREIGN KEY (\"userId\") REFERENCES \"users\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"Session\" ADD CONSTRAINT \"Session_userId_fkey\" FOREIGN KEY (\"userId\") REFERENCES \"users\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516201206_add_discord_schema/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"users\" ADD COLUMN     \"accent_color\" INTEGER,\nADD COLUMN     \"avatar\" TEXT,\nADD COLUMN     \"banner\" TEXT,\nADD COLUMN     \"banner_color\" TEXT,\nADD COLUMN     \"discriminator\" TEXT,\nADD COLUMN     \"flags\" INTEGER,\nADD COLUMN     \"image_url\" TEXT,\nADD COLUMN     \"locale\" TEXT,\nADD COLUMN     \"mfa_enabled\" BOOLEAN,\nADD COLUMN     \"premium_type\" INTEGER,\nADD COLUMN     \"public_flags\" INTEGER,\nADD COLUMN     \"username\" TEXT,\nADD COLUMN     \"verified\" BOOLEAN;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516202208_save_only_required/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `accent_color` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `banner` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `banner_color` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `created_at` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `email_verified` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `image` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `image_url` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `mfa_enabled` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `premium_type` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `updated_at` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `username` on the `users` table. All the data in the column will be lost.\n  - A unique constraint covering the columns `[discordId,global_name]` on the table `users` will be added. If there are existing duplicate values, this will fail.\n  - Added the required column `discordId` to the `users` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `global_name` to the `users` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `nitro` to the `users` table without a default value. This is not possible if the table is not empty.\n  - Made the column `name` on table `users` required. This step will fail if there are existing NULL values in that column.\n  - Made the column `discriminator` on table `users` required. This step will fail if there are existing NULL values in that column.\n  - Made the column `flags` on table `users` required. This step will fail if there are existing NULL values in that column.\n  - Made the column `locale` on table `users` required. This step will fail if there are existing NULL values in that column.\n  - Made the column `public_flags` on table `users` required. This step will fail if there are existing NULL values in that column.\n  - Made the column `verified` on table `users` required. This step will fail if there are existing NULL values in that column.\n\n*/\n-- DropIndex\nDROP INDEX \"users_email_key\";\n\n-- AlterTable\nALTER TABLE \"users\" DROP COLUMN \"accent_color\",\nDROP COLUMN \"banner\",\nDROP COLUMN \"banner_color\",\nDROP COLUMN \"created_at\",\nDROP COLUMN \"email_verified\",\nDROP COLUMN \"image\",\nDROP COLUMN \"image_url\",\nDROP COLUMN \"mfa_enabled\",\nDROP COLUMN \"premium_type\",\nDROP COLUMN \"updated_at\",\nDROP COLUMN \"username\",\nADD COLUMN     \"discordId\" TEXT NOT NULL,\nADD COLUMN     \"global_name\" TEXT NOT NULL,\nADD COLUMN     \"nitro\" TEXT NOT NULL,\nALTER COLUMN \"name\" SET NOT NULL,\nALTER COLUMN \"discriminator\" SET NOT NULL,\nALTER COLUMN \"flags\" SET NOT NULL,\nALTER COLUMN \"locale\" SET NOT NULL,\nALTER COLUMN \"public_flags\" SET NOT NULL,\nALTER COLUMN \"verified\" SET NOT NULL;\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_discordId_global_name_key\" ON \"users\"(\"discordId\", \"global_name\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516202300_bigint_for_flags/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"users\" ALTER COLUMN \"flags\" SET DATA TYPE BIGINT,\nALTER COLUMN \"public_flags\" SET DATA TYPE BIGINT;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516202517_make_email_unique/migration.sql",
    "content": "/*\n  Warnings:\n\n  - A unique constraint covering the columns `[discordId,global_name,email]` on the table `users` will be added. If there are existing duplicate values, this will fail.\n\n*/\n-- DropIndex\nDROP INDEX \"users_discordId_global_name_key\";\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_discordId_global_name_email_key\" ON \"users\"(\"discordId\", \"global_name\", \"email\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516202902_fix_unique/migration.sql",
    "content": "/*\n  Warnings:\n\n  - A unique constraint covering the columns `[provider]` on the table `Account` will be added. If there are existing duplicate values, this will fail.\n  - A unique constraint covering the columns `[providerAccountId]` on the table `Account` will be added. If there are existing duplicate values, this will fail.\n  - A unique constraint covering the columns `[discordId]` on the table `users` will be added. If there are existing duplicate values, this will fail.\n  - A unique constraint covering the columns `[global_name]` on the table `users` will be added. If there are existing duplicate values, this will fail.\n  - A unique constraint covering the columns `[email]` on the table `users` will be added. If there are existing duplicate values, this will fail.\n\n*/\n-- DropIndex\nDROP INDEX \"Account_provider_providerAccountId_key\";\n\n-- DropIndex\nDROP INDEX \"users_discordId_global_name_email_key\";\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"Account_provider_key\" ON \"Account\"(\"provider\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"Account_providerAccountId_key\" ON \"Account\"(\"providerAccountId\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_discordId_key\" ON \"users\"(\"discordId\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_global_name_key\" ON \"users\"(\"global_name\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_email_key\" ON \"users\"(\"email\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516210849_add_maps/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the `Account` table. If the table is not empty, all the data it contains will be lost.\n  - You are about to drop the `Session` table. If the table is not empty, all the data it contains will be lost.\n\n*/\n-- DropForeignKey\nALTER TABLE \"Account\" DROP CONSTRAINT \"Account_userId_fkey\";\n\n-- DropForeignKey\nALTER TABLE \"Session\" DROP CONSTRAINT \"Session_userId_fkey\";\n\n-- DropTable\nDROP TABLE \"Account\";\n\n-- DropTable\nDROP TABLE \"Session\";\n\n-- CreateTable\nCREATE TABLE \"accounts\" (\n    \"id\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"type\" TEXT NOT NULL,\n    \"provider\" TEXT NOT NULL,\n    \"providerAccountId\" TEXT NOT NULL,\n    \"refresh_token\" TEXT,\n    \"access_token\" TEXT,\n    \"expires_at\" INTEGER,\n    \"token_type\" TEXT,\n    \"scope\" TEXT,\n    \"id_token\" TEXT,\n    \"session_state\" TEXT,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"accounts_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"sessions\" (\n    \"id\" TEXT NOT NULL,\n    \"sessionToken\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"expires\" TIMESTAMP(3) NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"sessions_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"accounts_provider_key\" ON \"accounts\"(\"provider\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"accounts_providerAccountId_key\" ON \"accounts\"(\"providerAccountId\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"sessions_sessionToken_key\" ON \"sessions\"(\"sessionToken\");\n\n-- AddForeignKey\nALTER TABLE \"accounts\" ADD CONSTRAINT \"accounts_userId_fkey\" FOREIGN KEY (\"userId\") REFERENCES \"users\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"sessions\" ADD CONSTRAINT \"sessions_userId_fkey\" FOREIGN KEY (\"userId\") REFERENCES \"users\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516211309_add_verification_token/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"VerificationToken\" (\n    \"identifier\" TEXT NOT NULL,\n    \"token\" TEXT NOT NULL,\n    \"expires\" TIMESTAMP(3) NOT NULL\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"VerificationToken_token_key\" ON \"VerificationToken\"(\"token\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"VerificationToken_identifier_token_key\" ON \"VerificationToken\"(\"identifier\", \"token\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516212035_fix_unique_values/migration.sql",
    "content": "/*\n  Warnings:\n\n  - A unique constraint covering the columns `[provider,providerAccountId]` on the table `accounts` will be added. If there are existing duplicate values, this will fail.\n\n*/\n-- CreateIndex\nCREATE UNIQUE INDEX \"accounts_provider_providerAccountId_key\" ON \"accounts\"(\"provider\", \"providerAccountId\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516212254_switch_datatype_nitro/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The `nitro` column on the `users` table would be dropped and recreated. This will lead to data loss if there is data in the column.\n\n*/\n-- AlterTable\nALTER TABLE \"users\" DROP COLUMN \"nitro\",\nADD COLUMN     \"nitro\" INTEGER;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230516212512_add_email_verified/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"users\" ADD COLUMN     \"email_verified\" TIMESTAMP(3),\nALTER COLUMN \"locale\" DROP NOT NULL,\nALTER COLUMN \"verified\" DROP NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230521135936_add_suggestions/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the `VerificationToken` table. If the table is not empty, all the data it contains will be lost.\n\n*/\n-- DropTable\nDROP TABLE \"VerificationToken\";\n\n-- CreateTable\nCREATE TABLE \"verification_tokens\" (\n    \"identifier\" TEXT NOT NULL,\n    \"token\" TEXT NOT NULL,\n    \"expires\" TIMESTAMP(3) NOT NULL\n);\n\n-- CreateTable\nCREATE TABLE \"suggestions\" (\n    \"id\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"message\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    \"email\" TEXT,\n\n    CONSTRAINT \"suggestions_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"verification_tokens_token_key\" ON \"verification_tokens\"(\"token\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"verification_tokens_identifier_token_key\" ON \"verification_tokens\"(\"identifier\", \"token\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230521142039_add_guild_id/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `email` on the `suggestions` table. All the data in the column will be lost.\n\n*/\n-- AlterTable\nALTER TABLE \"suggestions\" DROP COLUMN \"email\",\nADD COLUMN     \"guildId\" TEXT;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230521143031_add_guild_model/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"guilds\" (\n    \"id\" TEXT NOT NULL,\n    \"discord_id\" TEXT NOT NULL,\n    \"profanity_level\" INTEGER NOT NULL DEFAULT 0,\n    \"last_updated\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guilds_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"guilds_discord_id_key\" ON \"guilds\"(\"discord_id\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230521184416_add_guild_logs/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"guild_logs\" (\n    \"id\" TEXT NOT NULL,\n    \"guildId\" TEXT NOT NULL,\n    \"message\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"type\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_logs_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"guild_logs\" ADD CONSTRAINT \"guild_logs_guildId_fkey\" FOREIGN KEY (\"guildId\") REFERENCES \"guilds\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230521185323_fix_guild_logs/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `message` on the `guild_logs` table. All the data in the column will be lost.\n  - You are about to drop the column `userId` on the `guild_logs` table. All the data in the column will be lost.\n  - Added the required column `authorId` to the `guild_logs` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `content` to the `guild_logs` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- DropForeignKey\nALTER TABLE \"guild_logs\" DROP CONSTRAINT \"guild_logs_guildId_fkey\";\n\n-- AlterTable\nALTER TABLE \"guild_logs\" DROP COLUMN \"message\",\nDROP COLUMN \"userId\",\nADD COLUMN     \"authorId\" TEXT NOT NULL,\nADD COLUMN     \"content\" TEXT NOT NULL;\n\n-- AddForeignKey\nALTER TABLE \"guild_logs\" ADD CONSTRAINT \"guild_logs_guildId_fkey\" FOREIGN KEY (\"guildId\") REFERENCES \"guilds\"(\"discord_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230521221630_add_avatar/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guild_logs\" ADD COLUMN     \"avatar_url\" TEXT NOT NULL DEFAULT '';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230522210912_link_user_to_logs/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `avatar_url` on the `guild_logs` table. All the data in the column will be lost.\n\n*/\n-- AlterTable\nALTER TABLE \"guild_logs\" DROP COLUMN \"avatar_url\";\n\n-- AddForeignKey\nALTER TABLE \"guild_logs\" ADD CONSTRAINT \"guild_logs_authorId_fkey\" FOREIGN KEY (\"authorId\") REFERENCES \"users\"(\"discordId\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230528212858_add_embed_color/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guilds\" ADD COLUMN     \"embed_color\" TEXT NOT NULL DEFAULT '#5865F2';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230529160641_add_ratelimit_for_server_change/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guilds\" ADD COLUMN     \"embed_last_changed\" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230604182342_add_guild_xp/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"guild_xp\" (\n    \"id\" TEXT NOT NULL,\n    \"guildId\" TEXT NOT NULL,\n    \"userId\" TEXT NOT NULL,\n    \"xp\" INTEGER NOT NULL DEFAULT 0,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_xp_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"guild_xp\" ADD CONSTRAINT \"guild_xp_guildId_fkey\" FOREIGN KEY (\"guildId\") REFERENCES \"guilds\"(\"discord_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_xp\" ADD CONSTRAINT \"guild_xp_userId_fkey\" FOREIGN KEY (\"userId\") REFERENCES \"users\"(\"discordId\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230609200921_migrate_to_discord_handles/migration.sql",
    "content": "-- DropIndex\nDROP INDEX \"users_global_name_key\";\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230610181051_update_account/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `created_at` on the `accounts` table. All the data in the column will be lost.\n  - You are about to drop the column `providerAccountId` on the `accounts` table. All the data in the column will be lost.\n  - You are about to drop the column `userId` on the `accounts` table. All the data in the column will be lost.\n  - A unique constraint covering the columns `[provider,provider_account_id]` on the table `accounts` will be added. If there are existing duplicate values, this will fail.\n  - Added the required column `provider_account_id` to the `accounts` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `user_id` to the `accounts` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- DropForeignKey\nALTER TABLE \"accounts\" DROP CONSTRAINT \"accounts_userId_fkey\";\n\n-- DropIndex\nDROP INDEX \"accounts_providerAccountId_key\";\n\n-- DropIndex\nDROP INDEX \"accounts_provider_key\";\n\n-- DropIndex\nDROP INDEX \"accounts_provider_providerAccountId_key\";\n\n-- AlterTable\nALTER TABLE \"accounts\" DROP COLUMN \"created_at\",\nDROP COLUMN \"providerAccountId\",\nDROP COLUMN \"userId\",\nADD COLUMN     \"provider_account_id\" TEXT NOT NULL,\nADD COLUMN     \"user_id\" TEXT NOT NULL;\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"accounts_provider_provider_account_id_key\" ON \"accounts\"(\"provider\", \"provider_account_id\");\n\n-- AddForeignKey\nALTER TABLE \"accounts\" ADD CONSTRAINT \"accounts_user_id_fkey\" FOREIGN KEY (\"user_id\") REFERENCES \"users\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230610195213_update_rows_names/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `authorId` on the `guild_logs` table. All the data in the column will be lost.\n  - You are about to drop the column `guildId` on the `guild_logs` table. All the data in the column will be lost.\n  - You are about to drop the column `guildId` on the `guild_xp` table. All the data in the column will be lost.\n  - You are about to drop the column `userId` on the `guild_xp` table. All the data in the column will be lost.\n  - You are about to drop the column `discord_id` on the `guilds` table. All the data in the column will be lost.\n  - You are about to drop the column `sessionToken` on the `sessions` table. All the data in the column will be lost.\n  - You are about to drop the column `userId` on the `sessions` table. All the data in the column will be lost.\n  - You are about to drop the column `discordId` on the `users` table. All the data in the column will be lost.\n  - A unique constraint covering the columns `[guild_id]` on the table `guilds` will be added. If there are existing duplicate values, this will fail.\n  - A unique constraint covering the columns `[session_token]` on the table `sessions` will be added. If there are existing duplicate values, this will fail.\n  - A unique constraint covering the columns `[discord_id]` on the table `users` will be added. If there are existing duplicate values, this will fail.\n  - Added the required column `author_id` to the `guild_logs` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `guild_id` to the `guild_logs` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `guild_id` to the `guild_xp` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `user_id` to the `guild_xp` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `guild_id` to the `guilds` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `session_token` to the `sessions` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `user_id` to the `sessions` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `discord_id` to the `users` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- DropForeignKey\nALTER TABLE \"guild_logs\" DROP CONSTRAINT \"guild_logs_authorId_fkey\";\n\n-- DropForeignKey\nALTER TABLE \"guild_logs\" DROP CONSTRAINT \"guild_logs_guildId_fkey\";\n\n-- DropForeignKey\nALTER TABLE \"guild_xp\" DROP CONSTRAINT \"guild_xp_guildId_fkey\";\n\n-- DropForeignKey\nALTER TABLE \"guild_xp\" DROP CONSTRAINT \"guild_xp_userId_fkey\";\n\n-- DropForeignKey\nALTER TABLE \"sessions\" DROP CONSTRAINT \"sessions_userId_fkey\";\n\n-- DropIndex\nDROP INDEX \"guilds_discord_id_key\";\n\n-- DropIndex\nDROP INDEX \"sessions_sessionToken_key\";\n\n-- DropIndex\nDROP INDEX \"users_discordId_key\";\n\n-- AlterTable\nALTER TABLE \"guild_logs\" DROP COLUMN \"authorId\",\nDROP COLUMN \"guildId\",\nADD COLUMN     \"author_id\" TEXT NOT NULL,\nADD COLUMN     \"guild_id\" TEXT NOT NULL;\n\n-- AlterTable\nALTER TABLE \"guild_xp\" DROP COLUMN \"guildId\",\nDROP COLUMN \"userId\",\nADD COLUMN     \"guild_id\" TEXT NOT NULL,\nADD COLUMN     \"user_id\" TEXT NOT NULL;\n\n-- AlterTable\nALTER TABLE \"guilds\" DROP COLUMN \"discord_id\",\nADD COLUMN     \"guild_id\" TEXT NOT NULL;\n\n-- AlterTable\nALTER TABLE \"sessions\" DROP COLUMN \"sessionToken\",\nDROP COLUMN \"userId\",\nADD COLUMN     \"session_token\" TEXT NOT NULL,\nADD COLUMN     \"user_id\" TEXT NOT NULL;\n\n-- AlterTable\nALTER TABLE \"users\" DROP COLUMN \"discordId\",\nADD COLUMN     \"discord_id\" TEXT NOT NULL;\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"guilds_guild_id_key\" ON \"guilds\"(\"guild_id\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"sessions_session_token_key\" ON \"sessions\"(\"session_token\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"users_discord_id_key\" ON \"users\"(\"discord_id\");\n\n-- AddForeignKey\nALTER TABLE \"sessions\" ADD CONSTRAINT \"sessions_user_id_fkey\" FOREIGN KEY (\"user_id\") REFERENCES \"users\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_logs\" ADD CONSTRAINT \"guild_logs_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_logs\" ADD CONSTRAINT \"guild_logs_author_id_fkey\" FOREIGN KEY (\"author_id\") REFERENCES \"users\"(\"discord_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_xp\" ADD CONSTRAINT \"guild_xp_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_xp\" ADD CONSTRAINT \"guild_xp_user_id_fkey\" FOREIGN KEY (\"user_id\") REFERENCES \"users\"(\"discord_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230716165214_add_guild_joins/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"guild_joins\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"date\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    \"joins\" INTEGER NOT NULL DEFAULT 0,\n\n    CONSTRAINT \"guild_joins_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"guild_leaves\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"date\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    \"leaves\" INTEGER NOT NULL DEFAULT 0,\n\n    CONSTRAINT \"guild_leaves_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"guild_joins\" ADD CONSTRAINT \"guild_joins_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_leaves\" ADD CONSTRAINT \"guild_leaves_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230807093042_add_reputation/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"reputation\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"user_id\" TEXT NOT NULL,\n    \"reputation\" INTEGER NOT NULL DEFAULT 0,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"reputation_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"reputation\" ADD CONSTRAINT \"reputation_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"reputation\" ADD CONSTRAINT \"reputation_user_id_fkey\" FOREIGN KEY (\"user_id\") REFERENCES \"users\"(\"discord_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230807100800_fix_user_fields/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"users\" ALTER COLUMN \"flags\" DROP NOT NULL,\nALTER COLUMN \"public_flags\" DROP NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230809192933_add_giveaways/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"Giveaway\" (\n    \"id\" SERIAL NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"message_id\" TEXT NOT NULL,\n    \"data\" JSONB NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"Giveaway_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"Giveaway_message_id_key\" ON \"Giveaway\"(\"message_id\");\n\n-- AddForeignKey\nALTER TABLE \"Giveaway\" ADD CONSTRAINT \"Giveaway_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230809193154_change_giveaways_name/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the `Giveaway` table. If the table is not empty, all the data it contains will be lost.\n\n*/\n-- DropForeignKey\nALTER TABLE \"Giveaway\" DROP CONSTRAINT \"Giveaway_guild_id_fkey\";\n\n-- DropTable\nDROP TABLE \"Giveaway\";\n\n-- CreateTable\nCREATE TABLE \"Giveaways\" (\n    \"id\" SERIAL NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"message_id\" TEXT NOT NULL,\n    \"data\" JSONB NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"Giveaways_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"Giveaways_message_id_key\" ON \"Giveaways\"(\"message_id\");\n\n-- AddForeignKey\nALTER TABLE \"Giveaways\" ADD CONSTRAINT \"Giveaways_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230810131104_add_channel_id/migration.sql",
    "content": "/*\n  Warnings:\n\n  - Added the required column `channel_id` to the `Giveaways` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- AlterTable\nALTER TABLE \"Giveaways\" ADD COLUMN     \"channel_id\" TEXT NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230810131904_remove_channel_id/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `channel_id` on the `Giveaways` table. All the data in the column will be lost.\n\n*/\n-- AlterTable\nALTER TABLE \"Giveaways\" DROP COLUMN \"channel_id\";\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230813164922_add_messages_count/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"GuildMessage\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"date\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n    \"messages\" INTEGER NOT NULL DEFAULT 0,\n\n    CONSTRAINT \"GuildMessage_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"GuildMessage\" ADD CONSTRAINT \"GuildMessage_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230829161606_add_xp_settings/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `profanity_level` on the `guilds` table. All the data in the column will be lost.\n  - Made the column `embed_last_changed` on table `guilds` required. This step will fail if there are existing NULL values in that column.\n\n*/\n-- AlterTable\nALTER TABLE \"guilds\" DROP COLUMN \"profanity_level\",\nADD COLUMN     \"enable_xp\" BOOLEAN NOT NULL DEFAULT true,\nADD COLUMN     \"enable_xp_last_changed\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\nADD COLUMN     \"sent_level_messages\" BOOLEAN NOT NULL DEFAULT true,\nADD COLUMN     \"sent_level_messages_last_changed\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\nALTER COLUMN \"embed_last_changed\" SET NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20230901110432_add_vanity_urls/migration.sql",
    "content": "/*\n  Warnings:\n\n  - A unique constraint covering the columns `[vanity]` on the table `guilds` will be added. If there are existing duplicate values, this will fail.\n\n*/\n-- AlterTable\nALTER TABLE \"guilds\" ADD COLUMN     \"public_page\" BOOLEAN NOT NULL DEFAULT false,\nADD COLUMN     \"public_page_last_changed\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\nADD COLUMN     \"vanity\" TEXT;\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"guilds_vanity_key\" ON \"guilds\"(\"vanity\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008115944_add_guild_controlled_commands/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"CommandCategories\" (\n    \"id\" TEXT NOT NULL,\n    \"name\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"CommandCategories_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"commands\" (\n    \"id\" TEXT NOT NULL,\n    \"command\" TEXT NOT NULL,\n    \"description\" TEXT NOT NULL,\n    \"options\" JSONB[],\n    \"category_id\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"commands_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"guild_disabled_commands\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"command_id\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_disabled_commands_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"guild_disabled_categories\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"category_id\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_disabled_categories_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"CommandCategories_name_key\" ON \"CommandCategories\"(\"name\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"commands_command_key\" ON \"commands\"(\"command\");\n\n-- AddForeignKey\nALTER TABLE \"commands\" ADD CONSTRAINT \"commands_category_id_fkey\" FOREIGN KEY (\"category_id\") REFERENCES \"CommandCategories\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_commands\" ADD CONSTRAINT \"guild_disabled_commands_command_id_fkey\" FOREIGN KEY (\"command_id\") REFERENCES \"commands\"(\"command\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_commands\" ADD CONSTRAINT \"guild_disabled_commands_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_categories\" ADD CONSTRAINT \"guild_disabled_categories_category_id_fkey\" FOREIGN KEY (\"category_id\") REFERENCES \"CommandCategories\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_categories\" ADD CONSTRAINT \"guild_disabled_categories_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008120512_fix_commands/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `command` on the `commands` table. All the data in the column will be lost.\n  - A unique constraint covering the columns `[name]` on the table `commands` will be added. If there are existing duplicate values, this will fail.\n  - Added the required column `default_member_permissions` to the `commands` table without a default value. This is not possible if the table is not empty.\n  - Added the required column `name` to the `commands` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- DropForeignKey\nALTER TABLE \"guild_disabled_commands\" DROP CONSTRAINT \"guild_disabled_commands_command_id_fkey\";\n\n-- DropIndex\nDROP INDEX \"commands_command_key\";\n\n-- AlterTable\nALTER TABLE \"commands\" DROP COLUMN \"command\",\nADD COLUMN     \"default_member_permissions\" BIGINT NOT NULL,\nADD COLUMN     \"name\" TEXT NOT NULL;\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"commands_name_key\" ON \"commands\"(\"name\");\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_commands\" ADD CONSTRAINT \"guild_disabled_commands_command_id_fkey\" FOREIGN KEY (\"command_id\") REFERENCES \"commands\"(\"id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008120900_add_default_options/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"commands\" ALTER COLUMN \"options\" SET DEFAULT ARRAY[]::JSONB[];\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008143223_update_default_member_permissions/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"commands\" ALTER COLUMN \"default_member_permissions\" DROP NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008163839_fix_fields/migration.sql",
    "content": "/*\n  Warnings:\n\n  - Made the column `default_member_permissions` on table `commands` required. This step will fail if there are existing NULL values in that column.\n\n*/\n-- AlterTable\nALTER TABLE \"commands\" ALTER COLUMN \"default_member_permissions\" SET NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008165157_remove_perms_and_created_at/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `created_at` on the `commands` table. All the data in the column will be lost.\n  - You are about to drop the column `default_member_permissions` on the `commands` table. All the data in the column will be lost.\n\n*/\n-- AlterTable\nALTER TABLE \"commands\" DROP COLUMN \"created_at\",\nDROP COLUMN \"default_member_permissions\";\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008170130_update_command_categories/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The primary key for the `CommandCategories` table will be changed. If it partially fails, the table could be left without primary key constraint.\n  - You are about to drop the column `id` on the `CommandCategories` table. All the data in the column will be lost.\n  - You are about to drop the column `category_id` on the `commands` table. All the data in the column will be lost.\n  - You are about to drop the column `category_id` on the `guild_disabled_categories` table. All the data in the column will be lost.\n  - Added the required column `category_name` to the `guild_disabled_categories` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- DropForeignKey\nALTER TABLE \"commands\" DROP CONSTRAINT \"commands_category_id_fkey\";\n\n-- DropForeignKey\nALTER TABLE \"guild_disabled_categories\" DROP CONSTRAINT \"guild_disabled_categories_category_id_fkey\";\n\n-- DropIndex\nDROP INDEX \"CommandCategories_name_key\";\n\n-- AlterTable\nALTER TABLE \"CommandCategories\" DROP CONSTRAINT \"CommandCategories_pkey\",\nDROP COLUMN \"id\",\nADD CONSTRAINT \"CommandCategories_pkey\" PRIMARY KEY (\"name\");\n\n-- AlterTable\nALTER TABLE \"commands\" DROP COLUMN \"category_id\",\nADD COLUMN     \"category_name\" TEXT;\n\n-- AlterTable\nALTER TABLE \"guild_disabled_categories\" DROP COLUMN \"category_id\",\nADD COLUMN     \"category_name\" TEXT NOT NULL;\n\n-- AddForeignKey\nALTER TABLE \"commands\" ADD CONSTRAINT \"commands_category_name_fkey\" FOREIGN KEY (\"category_name\") REFERENCES \"CommandCategories\"(\"name\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_categories\" ADD CONSTRAINT \"guild_disabled_categories_category_name_fkey\" FOREIGN KEY (\"category_name\") REFERENCES \"CommandCategories\"(\"name\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231008171003_fix_schema/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `created_at` on the `CommandCategories` table. All the data in the column will be lost.\n  - The primary key for the `commands` table will be changed. If it partially fails, the table could be left without primary key constraint.\n  - You are about to drop the column `id` on the `commands` table. All the data in the column will be lost.\n  - Made the column `category_name` on table `commands` required. This step will fail if there are existing NULL values in that column.\n\n*/\n-- DropForeignKey\nALTER TABLE \"guild_disabled_commands\" DROP CONSTRAINT \"guild_disabled_commands_command_id_fkey\";\n\n-- DropIndex\nDROP INDEX \"commands_name_key\";\n\n-- AlterTable\nALTER TABLE \"CommandCategories\" DROP COLUMN \"created_at\";\n\n-- AlterTable\nALTER TABLE \"commands\" DROP CONSTRAINT \"commands_pkey\",\nDROP COLUMN \"id\",\nALTER COLUMN \"category_name\" SET NOT NULL,\nADD CONSTRAINT \"commands_pkey\" PRIMARY KEY (\"name\");\n\n-- AddForeignKey\nALTER TABLE \"guild_disabled_commands\" ADD CONSTRAINT \"guild_disabled_commands_command_id_fkey\" FOREIGN KEY (\"command_id\") REFERENCES \"commands\"(\"name\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231015105007_remove_email_adresses/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `email` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `email_verified` on the `users` table. All the data in the column will be lost.\n  - You are about to drop the column `verified` on the `users` table. All the data in the column will be lost.\n\n*/\n-- DropIndex\nDROP INDEX \"users_email_key\";\n\n-- AlterTable\nALTER TABLE \"users\" DROP COLUMN \"email\",\nDROP COLUMN \"email_verified\",\nDROP COLUMN \"verified\";\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231017181219_fix_user_emails/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"users\" ADD COLUMN     \"email\" TEXT,\nADD COLUMN     \"email_verified\" TIMESTAMP(3);\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231018085005_add_automod_rules/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"auto_mod\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"rule_id\" TEXT NOT NULL,\n    \"rule_type\" TEXT NOT NULL,\n    \"enabled\" BOOLEAN NOT NULL DEFAULT false,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"auto_mod_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"auto_mod_rule_id_key\" ON \"auto_mod\"(\"rule_id\");\n\n-- AddForeignKey\nALTER TABLE \"auto_mod\" ADD CONSTRAINT \"auto_mod_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231030220258_add_warning_system/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guilds\" ADD COLUMN     \"enable_warning_automation\" BOOLEAN NOT NULL DEFAULT false,\nADD COLUMN     \"enable_warning_automation_last_changed\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;\n\n-- CreateTable\nCREATE TABLE \"guild_warns\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"user_id\" TEXT NOT NULL,\n    \"message\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_warns_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"guild_warns\" ADD CONSTRAINT \"guild_warns_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_warns\" ADD CONSTRAINT \"guild_warns_user_id_fkey\" FOREIGN KEY (\"user_id\") REFERENCES \"users\"(\"discord_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231030222116_fix_ids/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The primary key for the `guild_warns` table will be changed. If it partially fails, the table could be left without primary key constraint.\n  - The `id` column on the `guild_warns` table would be dropped and recreated. This will lead to data loss if there is data in the column.\n\n*/\n-- AlterTable\nALTER TABLE \"guild_warns\" DROP CONSTRAINT \"guild_warns_pkey\",\nDROP COLUMN \"id\",\nADD COLUMN     \"id\" SERIAL NOT NULL,\nADD CONSTRAINT \"guild_warns_pkey\" PRIMARY KEY (\"id\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231030230714_add_created_by_id_to_warnings/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guild_warns\" ADD COLUMN     \"created_by_id\" TEXT NOT NULL DEFAULT '0';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231031083245_add_warn_id/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The primary key for the `guild_warns` table will be changed. If it partially fails, the table could be left without primary key constraint.\n  - Added the required column `warn_id` to the `guild_warns` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- AlterTable\nALTER TABLE \"guild_warns\" DROP CONSTRAINT \"guild_warns_pkey\",\nADD COLUMN     \"warn_id\" INTEGER NOT NULL,\nALTER COLUMN \"id\" DROP DEFAULT,\nALTER COLUMN \"id\" SET DATA TYPE TEXT,\nADD CONSTRAINT \"guild_warns_pkey\" PRIMARY KEY (\"id\");\nDROP SEQUENCE \"guild_warns_id_seq\";\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231117165927_add_last_login_field/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"users\" ADD COLUMN     \"last_login\" TIMESTAMP(3);\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231119203658_remove_enabled_disable_state_from_automod/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `enabled` on the `auto_mod` table. All the data in the column will be lost.\n\n*/\n-- AlterTable\nALTER TABLE \"auto_mod\" DROP COLUMN \"enabled\";\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231216135714_add_welcome_and_leave_messages/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"guild_welcome_message\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"channel_id\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_welcome_message_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateTable\nCREATE TABLE \"guild_leave_message\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"channel_id\" TEXT NOT NULL,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_leave_message_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"guild_welcome_message_guild_id_key\" ON \"guild_welcome_message\"(\"guild_id\");\n\n-- CreateIndex\nCREATE UNIQUE INDEX \"guild_leave_message_guild_id_key\" ON \"guild_leave_message\"(\"guild_id\");\n\n-- AddForeignKey\nALTER TABLE \"guild_welcome_message\" ADD CONSTRAINT \"guild_welcome_message_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n\n-- AddForeignKey\nALTER TABLE \"guild_leave_message\" ADD CONSTRAINT \"guild_leave_message_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231216145835_remove_unused_fields/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `embed_last_changed` on the `guilds` table. All the data in the column will be lost.\n  - You are about to drop the column `enable_warning_automation` on the `guilds` table. All the data in the column will be lost.\n  - You are about to drop the column `enable_warning_automation_last_changed` on the `guilds` table. All the data in the column will be lost.\n  - You are about to drop the column `public_page_last_changed` on the `guilds` table. All the data in the column will be lost.\n\n*/\n-- AlterTable\nALTER TABLE \"guilds\" DROP COLUMN \"embed_last_changed\",\nDROP COLUMN \"enable_warning_automation\",\nDROP COLUMN \"enable_warning_automation_last_changed\",\nDROP COLUMN \"public_page_last_changed\",\nADD COLUMN     \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231218000910_add_titles_and_descriptions_for_custom_messages/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guild_leave_message\" ADD COLUMN     \"description\" TEXT NOT NULL DEFAULT '> We''re sorry to see you go!',\nADD COLUMN     \"title\" TEXT NOT NULL DEFAULT '👋 Goodbye {user}!';\n\n-- AlterTable\nALTER TABLE \"guild_welcome_message\" ADD COLUMN     \"description\" TEXT NOT NULL DEFAULT '> Welcome to **{guild}** We hope you enjoy your stay here!',\nADD COLUMN     \"title\" TEXT NOT NULL DEFAULT '🎉 Welcome to the server {user}!';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20231228221226_add_embed_color_and_enabled_state/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guild_leave_message\" ADD COLUMN     \"embed_color\" TEXT NOT NULL DEFAULT '#5865F2',\nADD COLUMN     \"enabled\" BOOLEAN NOT NULL DEFAULT false;\n\n-- AlterTable\nALTER TABLE \"guild_welcome_message\" ADD COLUMN     \"embed_color\" TEXT NOT NULL DEFAULT '#5865F2',\nADD COLUMN     \"enabled\" BOOLEAN NOT NULL DEFAULT false;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241209125259_add_better_logs/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The `type` column on the `guild_logs` table would be dropped and recreated. This will lead to data loss if there is data in the column.\n\n*/\n-- CreateEnum\nCREATE TYPE \"GuildLogType\" AS ENUM ('InviteCreate', 'InviteDelete', 'MessageBulkDelete', 'MessageCreate', 'MessageDelete', 'MessagePollVoteAdd', 'MessagePollVoteRemove', 'MessageReactionAdd', 'MessageReactionRemove', 'MessageReactionRemoveAll', 'MessageReactionRemoveEmoji', 'MessageUpdate', 'ThreadCreate', 'ThreadDelete', 'ThreadListSync', 'ThreadMembersUpdate', 'ThreadMemberUpdate', 'ThreadUpdate', 'GuildUpdate', 'GuildMemberUpdate', 'GuildRoleCreate', 'GuildRoleDelete', 'GuildRoleUpdate', 'GuildScheduledEventCreate', 'GuildScheduledEventDelete', 'GuildScheduledEventUpdate', 'GuildScheduledEventUserAdd', 'GuildScheduledEventUserRemove', 'GuildStickerCreate', 'GuildStickerDelete', 'GuildStickerUpdate', 'GuildUnavailable', 'GuildEmojiCreate', 'GuildEmojiDelete', 'GuildEmojiUpdate', 'GuildIntegrationsUpdate', 'GuildMemberAdd', 'GuildMemberAvailable', 'GuildMemberRemove', 'GuildBanAdd', 'GuildBanRemove', 'ChannelCreate', 'ChannelDelete', 'ChannelPinsUpdate', 'ChannelUpdate', 'AutoModerationActionExecution', 'AutoModerationRuleCreate', 'AutoModerationRuleDelete', 'AutoModerationRuleUpdate', 'PublicDashboardUpdate', 'EmbedColorUpdate', 'CommandCategoryEnable', 'CommandCategoryDisable', 'CommandEnable', 'CommandDisable', 'GiveawayCreate', 'GiveawayDelete', 'GiveawayEdit', 'WelcomeMessageEnable', 'WelcomeMessageDisable', 'LeaveMessageEnable', 'LeaveMessageDisable', 'ReputationUpdate', 'WarnCreate', 'WarnDelete', 'WarnUpdate', 'Unknown');\n\n-- AlterTable\nALTER TABLE \"guild_logs\" ADD COLUMN     \"data\" JSONB NOT NULL DEFAULT '{}',\nDROP COLUMN \"type\",\nADD COLUMN     \"type\" \"GuildLogType\" NOT NULL DEFAULT 'Unknown';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241209132307_add_vanity_update_event/migration.sql",
    "content": "-- AlterEnum\nALTER TYPE \"GuildLogType\" ADD VALUE 'VanityUpdate';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241209140053_add_giveaway_events/migration.sql",
    "content": "-- AlterEnum\n-- This migration adds more than one value to an enum.\n-- With PostgreSQL versions 11 and earlier, this is not possible\n-- in a single migration. This can be worked around by creating\n-- multiple migrations, each migration adding only one value to\n-- the enum.\n\n\nALTER TYPE \"GuildLogType\" ADD VALUE 'GiveawayPaused';\nALTER TYPE \"GuildLogType\" ADD VALUE 'GiveawayResumed';\nALTER TYPE \"GuildLogType\" ADD VALUE 'GiveawayEnded';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241220180643_add_guild_settings/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"guild_logs_settings\" (\n    \"id\" TEXT NOT NULL,\n    \"guild_id\" TEXT NOT NULL,\n    \"type\" \"GuildLogType\" NOT NULL DEFAULT 'Unknown',\n    \"enabled\" BOOLEAN NOT NULL DEFAULT false,\n    \"channel\" TEXT,\n    \"created_at\" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\n    CONSTRAINT \"guild_logs_settings_pkey\" PRIMARY KEY (\"id\")\n);\n\n-- AddForeignKey\nALTER TABLE \"guild_logs_settings\" ADD CONSTRAINT \"guild_logs_settings_guild_id_fkey\" FOREIGN KEY (\"guild_id\") REFERENCES \"guilds\"(\"guild_id\") ON DELETE CASCADE ON UPDATE CASCADE;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241220180800_change_name_of_guild_logs_settings/migration.sql",
    "content": "/*\n  Warnings:\n\n  - You are about to drop the column `channel` on the `guild_logs_settings` table. All the data in the column will be lost.\n  - Added the required column `channel_id` to the `guild_logs_settings` table without a default value. This is not possible if the table is not empty.\n\n*/\n-- AlterTable\nALTER TABLE \"guild_logs_settings\" DROP COLUMN \"channel\",\nADD COLUMN     \"channel_id\" TEXT NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241220181109_add_type_as_unique/migration.sql",
    "content": "/*\n  Warnings:\n\n  - A unique constraint covering the columns `[guild_id,type]` on the table `guild_logs_settings` will be added. If there are existing duplicate values, this will fail.\n\n*/\n-- CreateIndex\nCREATE UNIQUE INDEX \"guild_logs_settings_guild_id_type_key\" ON \"guild_logs_settings\"(\"guild_id\", \"type\");\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241221205356_remove_not_used_log_types/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The values [MessageReactionAdd,MessageReactionRemove,MessageReactionRemoveAll,MessageReactionRemoveEmoji,ThreadListSync,GuildUnavailable,GuildMemberAvailable] on the enum `GuildLogType` will be removed. If these variants are still used in the database, this will fail.\n\n*/\n-- AlterEnum\nBEGIN;\nCREATE TYPE \"GuildLogType_new\" AS ENUM ('InviteCreate', 'InviteDelete', 'MessageBulkDelete', 'MessageCreate', 'MessageDelete', 'MessagePollVoteAdd', 'MessagePollVoteRemove', 'MessageUpdate', 'ThreadCreate', 'ThreadDelete', 'ThreadMembersUpdate', 'ThreadMemberUpdate', 'ThreadUpdate', 'GuildUpdate', 'GuildMemberUpdate', 'GuildRoleCreate', 'GuildRoleDelete', 'GuildRoleUpdate', 'GuildScheduledEventCreate', 'GuildScheduledEventDelete', 'GuildScheduledEventUpdate', 'GuildScheduledEventUserAdd', 'GuildScheduledEventUserRemove', 'GuildStickerCreate', 'GuildStickerDelete', 'GuildStickerUpdate', 'GuildEmojiCreate', 'GuildEmojiDelete', 'GuildEmojiUpdate', 'GuildIntegrationsUpdate', 'GuildMemberAdd', 'GuildMemberRemove', 'GuildBanAdd', 'GuildBanRemove', 'ChannelCreate', 'ChannelDelete', 'ChannelPinsUpdate', 'ChannelUpdate', 'AutoModerationActionExecution', 'AutoModerationRuleCreate', 'AutoModerationRuleDelete', 'AutoModerationRuleUpdate', 'PublicDashboardUpdate', 'VanityUpdate', 'EmbedColorUpdate', 'CommandCategoryEnable', 'CommandCategoryDisable', 'CommandEnable', 'CommandDisable', 'GiveawayCreate', 'GiveawayDelete', 'GiveawayEdit', 'GiveawayPaused', 'GiveawayResumed', 'GiveawayEnded', 'WelcomeMessageEnable', 'WelcomeMessageDisable', 'LeaveMessageEnable', 'LeaveMessageDisable', 'ReputationUpdate', 'WarnCreate', 'WarnDelete', 'WarnUpdate', 'Unknown');\nALTER TABLE \"guild_logs\" ALTER COLUMN \"type\" DROP DEFAULT;\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"type\" DROP DEFAULT;\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"type\" TYPE \"GuildLogType_new\" USING (\"type\"::text::\"GuildLogType_new\");\nALTER TABLE \"guild_logs\" ALTER COLUMN \"type\" TYPE \"GuildLogType_new\" USING (\"type\"::text::\"GuildLogType_new\");\nALTER TYPE \"GuildLogType\" RENAME TO \"GuildLogType_old\";\nALTER TYPE \"GuildLogType_new\" RENAME TO \"GuildLogType\";\nDROP TYPE \"GuildLogType_old\";\nALTER TABLE \"guild_logs\" ALTER COLUMN \"type\" SET DEFAULT 'Unknown';\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"type\" SET DEFAULT 'Unknown';\nCOMMIT;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241228112527_allow_channel_id_to_be_null/migration.sql",
    "content": "-- AlterTable\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"channel_id\" DROP NOT NULL;\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241228131412_add_log_update_event/migration.sql",
    "content": "-- AlterEnum\nALTER TYPE \"GuildLogType\" ADD VALUE 'LogUpdate';\n"
  },
  {
    "path": "packages/database/prisma/migrations/20241231150633_remove_message_polls/migration.sql",
    "content": "/*\n  Warnings:\n\n  - The values [MessagePollVoteAdd,MessagePollVoteRemove] on the enum `GuildLogType` will be removed. If these variants are still used in the database, this will fail.\n\n*/\n-- AlterEnum\nBEGIN;\nCREATE TYPE \"GuildLogType_new\" AS ENUM ('InviteCreate', 'InviteDelete', 'MessageCreate', 'MessageBulkDelete', 'MessageDelete', 'MessageUpdate', 'ThreadCreate', 'ThreadDelete', 'ThreadMembersUpdate', 'ThreadMemberUpdate', 'ThreadUpdate', 'GuildUpdate', 'GuildMemberUpdate', 'GuildMemberAdd', 'GuildMemberRemove', 'GuildIntegrationsUpdate', 'GuildRoleCreate', 'GuildRoleDelete', 'GuildRoleUpdate', 'GuildScheduledEventCreate', 'GuildScheduledEventDelete', 'GuildScheduledEventUpdate', 'GuildScheduledEventUserAdd', 'GuildScheduledEventUserRemove', 'GuildStickerCreate', 'GuildStickerDelete', 'GuildStickerUpdate', 'GuildEmojiCreate', 'GuildEmojiDelete', 'GuildEmojiUpdate', 'GuildBanAdd', 'GuildBanRemove', 'ChannelCreate', 'ChannelDelete', 'ChannelPinsUpdate', 'ChannelUpdate', 'AutoModerationActionExecution', 'AutoModerationRuleCreate', 'AutoModerationRuleDelete', 'AutoModerationRuleUpdate', 'PublicDashboardUpdate', 'VanityUpdate', 'EmbedColorUpdate', 'CommandCategoryEnable', 'CommandCategoryDisable', 'CommandEnable', 'CommandDisable', 'LogUpdate', 'GiveawayCreate', 'GiveawayDelete', 'GiveawayEdit', 'GiveawayPaused', 'GiveawayResumed', 'GiveawayEnded', 'WelcomeMessageEnable', 'WelcomeMessageDisable', 'LeaveMessageEnable', 'LeaveMessageDisable', 'ReputationUpdate', 'WarnCreate', 'WarnDelete', 'WarnUpdate', 'Unknown');\nALTER TABLE \"guild_logs\" ALTER COLUMN \"type\" DROP DEFAULT;\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"type\" DROP DEFAULT;\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"type\" TYPE \"GuildLogType_new\" USING (\"type\"::text::\"GuildLogType_new\");\nALTER TABLE \"guild_logs\" ALTER COLUMN \"type\" TYPE \"GuildLogType_new\" USING (\"type\"::text::\"GuildLogType_new\");\nALTER TYPE \"GuildLogType\" RENAME TO \"GuildLogType_old\";\nALTER TYPE \"GuildLogType_new\" RENAME TO \"GuildLogType\";\nDROP TYPE \"GuildLogType_old\";\nALTER TABLE \"guild_logs\" ALTER COLUMN \"type\" SET DEFAULT 'Unknown';\nALTER TABLE \"guild_logs_settings\" ALTER COLUMN \"type\" SET DEFAULT 'Unknown';\nCOMMIT;\n"
  },
  {
    "path": "packages/database/prisma/migrations/migration_lock.toml",
    "content": "# Please do not edit this file manually\n# It should be added in your version-control system (e.g., Git)\nprovider = \"postgresql\""
  },
  {
    "path": "packages/database/prisma/schema.prisma",
    "content": "datasource db {\n  provider = \"postgresql\"\n}\n\ngenerator client {\n  provider = \"prisma-client\"\n  output   = \"./client\"\n}\n\n// User model\nmodel User {\n  id            String       @id @default(cuid())\n  discordId     String       @unique @map(name: \"discord_id\")\n  name          String\n  global_name   String       @map(name: \"global_name\")\n  discriminator String\n  avatar        String?\n  public_flags  BigInt?      @map(name: \"public_flags\")\n  flags         BigInt?\n  locale        String?\n  nitro         Int?\n  email         String?\n  emailVerified DateTime?    @map(name: \"email_verified\")\n  lastLogin     DateTime?    @map(name: \"last_login\")\n  accounts      Account[]\n  sessions      Session[]\n  guildLogs     GuildLogs[]\n  guildXp       GuildXp[]\n  reputation    Reputation[]\n  guildWarns    GuildWarns[]\n\n  @@map(name: \"users\")\n}\n\n// User accounts\nmodel Account {\n  id                String  @id @default(cuid())\n  userId            String  @map(\"user_id\")\n  type              String\n  provider          String\n  providerAccountId String  @map(\"provider_account_id\")\n  refresh_token     String? @db.Text\n  access_token      String? @db.Text\n  expires_at        Int?\n  token_type        String?\n  scope             String?\n  id_token          String? @db.Text\n  session_state     String?\n  user              User    @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@unique([provider, providerAccountId])\n  @@map(\"accounts\")\n}\n\n// User sessions in dashboard\nmodel Session {\n  id           String   @id @default(cuid())\n  sessionToken String   @unique @map(\"session_token\")\n  userId       String   @map(\"user_id\")\n  expires      DateTime\n  createdAt    DateTime @default(now()) @map(name: \"created_at\")\n  user         User     @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n  @@map(name: \"sessions\")\n}\n\n// Verification tokens (not used)\nmodel VerificationToken {\n  identifier String\n  token      String   @unique\n  expires    DateTime\n\n  @@unique([identifier, token])\n  @@map(name: \"verification_tokens\")\n}\n\n// Bot suggestions submitted by users\nmodel Suggestions {\n  id        String   @id @default(cuid())\n  userId    String\n  guildId   String?\n  message   String\n  createdAt DateTime @default(now()) @map(name: \"created_at\")\n\n  @@map(name: \"suggestions\")\n}\n\n// Categories for slash commands\nmodel CommandCategories {\n  name                    String                    @id\n  commands                Commands[]\n  guildDisabledCategories GuildDisabledCategories[]\n}\n\n// Slash commands\nmodel Commands {\n  name                  String                  @id\n  description           String\n  options               Json[]                  @default([])\n  categoryName          String                  @map(name: \"category_name\")\n  category              CommandCategories       @relation(fields: [categoryName], references: [name], onDelete: Cascade)\n  guildDisabledCommands GuildDisabledCommands[]\n\n  @@map(name: \"commands\")\n}\n\n// Discord guilds\nmodel Guild {\n  id          String   @id @default(cuid())\n  guildId     String   @unique @map(name: \"guild_id\")\n  lastUpdated DateTime @default(now()) @updatedAt @map(name: \"last_updated\")\n  createdAt   DateTime @default(now()) @map(name: \"created_at\")\n\n  // XP Module\n  enableXP                          Boolean  @default(true) @map(name: \"enable_xp\")\n  enableXPLastChanged               DateTime @default(now()) @map(name: \"enable_xp_last_changed\")\n  enableXPLevelUpMessage            Boolean  @default(true) @map(name: \"sent_level_messages\")\n  enableXPLevelUpMessageLastChanged DateTime @default(now()) @map(name: \"sent_level_messages_last_changed\")\n\n  // Guild customizations\n  embedColor String  @default(\"#5865F2\") @map(name: \"embed_color\")\n  publicPage Boolean @default(false) @map(name: \"public_page\")\n  vanity     String? @unique\n\n  // Guild modules\n  guildLogs               GuildLogs[]\n  guildLogsSettings       GuildLogsSettings[]\n  guildXp                 GuildXp[]\n  guildJoin               GuildJoin[]\n  guildLeave              GuildLeave[]\n  reputation              Reputation[]\n  giveaway                Giveaways[]\n  guildMessage            GuildMessage[]\n  guildDisabledCommands   GuildDisabledCommands[]\n  guildDisabledCategories GuildDisabledCategories[]\n  autoMod                 AutoMod[]\n  guildWarns              GuildWarns[]\n  guildWelcomeMessage     GuildWelcomeMessage?\n  guildLeaveMessage       GuildLeaveMessage?\n\n  @@map(name: \"guilds\")\n}\n\n// Guild disabled slash commands\nmodel GuildDisabledCommands {\n  id          String   @id @default(cuid())\n  guildId     String   @map(name: \"guild_id\")\n  commandName String   @map(name: \"command_id\")\n  command     Commands @relation(fields: [commandName], references: [name], onDelete: Cascade)\n  createdAt   DateTime @default(now()) @map(name: \"created_at\")\n  guild       Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"guild_disabled_commands\")\n}\n\n// Guild disabled slash commands categories \nmodel GuildDisabledCategories {\n  id           String            @id @default(cuid())\n  guildId      String            @map(name: \"guild_id\")\n  categoryName String            @map(name: \"category_name\")\n  category     CommandCategories @relation(fields: [categoryName], references: [name], onDelete: Cascade)\n  createdAt    DateTime          @default(now()) @map(name: \"created_at\")\n  guild        Guild             @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"guild_disabled_categories\")\n}\n\n// Guild security/audit logs\nenum GuildLogType {\n  // Discord events\n  InviteCreate // Done\n  InviteDelete // Done\n\n  MessageCreate // Exclude\n  MessageBulkDelete // Done\n  MessageDelete // Done\n  MessageUpdate // Done\n\n  ThreadCreate\n  ThreadDelete\n  ThreadMembersUpdate\n  ThreadMemberUpdate\n  ThreadUpdate\n\n  GuildUpdate // Done\n  GuildMemberUpdate\n  GuildMemberAdd // Exclude\n  GuildMemberRemove // Exclude\n  GuildIntegrationsUpdate\n\n  GuildRoleCreate // Done\n  GuildRoleDelete // Done\n  GuildRoleUpdate // Done\n\n  GuildScheduledEventCreate\n  GuildScheduledEventDelete\n  GuildScheduledEventUpdate\n  GuildScheduledEventUserAdd\n  GuildScheduledEventUserRemove\n\n  GuildStickerCreate // Done\n  GuildStickerDelete // Done\n  GuildStickerUpdate // Done\n\n  GuildEmojiCreate // Done\n  GuildEmojiDelete // Done\n  GuildEmojiUpdate // Done\n\n  GuildBanAdd // Done\n  GuildBanRemove // Done\n\n  ChannelCreate // Done\n  ChannelDelete // Done\n  ChannelPinsUpdate // Done\n  ChannelUpdate // Done\n\n  AutoModerationActionExecution\n  AutoModerationRuleCreate\n  AutoModerationRuleDelete\n  AutoModerationRuleUpdate\n\n  // Custom\n  PublicDashboardUpdate\n  VanityUpdate\n  EmbedColorUpdate\n  CommandCategoryEnable\n  CommandCategoryDisable\n  CommandEnable\n  CommandDisable\n\n  LogUpdate\n\n  GiveawayCreate\n  GiveawayDelete\n  GiveawayEdit\n  GiveawayPaused\n  GiveawayResumed\n  GiveawayEnded\n\n  WelcomeMessageEnable\n  WelcomeMessageDisable\n\n  LeaveMessageEnable\n  LeaveMessageDisable\n\n  ReputationUpdate\n\n  WarnCreate\n  WarnDelete\n  WarnUpdate\n\n  Unknown\n}\n\n// Guild audit logs settings\nmodel GuildLogsSettings {\n  id        String       @id @default(cuid())\n  guildId   String       @map(name: \"guild_id\")\n  type      GuildLogType @default(Unknown)\n  enabled   Boolean      @default(false)\n  channelId String?      @map(name: \"channel_id\")\n  createdAt DateTime     @default(now()) @map(name: \"created_at\")\n  guild     Guild        @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@unique([guildId, type])\n  @@map(name: \"guild_logs_settings\")\n}\n\n// Guild audit logs\nmodel GuildLogs {\n  id        String       @id @default(cuid())\n  guildId   String       @map(name: \"guild_id\")\n  authorId  String       @map(name: \"author_id\")\n  content   String\n  data      Json         @default(\"{}\")\n  type      GuildLogType @default(Unknown)\n  createdAt DateTime     @default(now()) @map(name: \"created_at\")\n  guild     Guild        @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n  user      User         @relation(fields: [authorId], references: [discordId], onDelete: Cascade)\n\n  @@map(name: \"guild_logs\")\n}\n\n// Guild members xp\nmodel GuildXp {\n  id        String   @id @default(cuid())\n  guildId   String   @map(name: \"guild_id\")\n  userId    String   @map(name: \"user_id\")\n  xp        Int      @default(0)\n  createdAt DateTime @default(now()) @map(name: \"created_at\")\n  guild     Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n  user      User     @relation(fields: [userId], references: [discordId], onDelete: Cascade)\n\n  @@map(name: \"guild_xp\")\n}\n\n// Guild members reputation\nmodel Reputation {\n  id         String   @id @default(cuid())\n  guildId    String   @map(name: \"guild_id\")\n  userId     String   @map(name: \"user_id\")\n  reputation Int      @default(0)\n  createdAt  DateTime @default(now()) @map(name: \"created_at\")\n  guild      Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n  user       User     @relation(fields: [userId], references: [discordId], onDelete: Cascade)\n\n  @@map(name: \"reputation\")\n}\n\n// Guild members joined\nmodel GuildJoin {\n  id      String   @id @default(cuid())\n  guildId String   @map(name: \"guild_id\")\n  date    DateTime @default(now())\n  joins   Int      @default(0)\n  guild   Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"guild_joins\")\n}\n\n// Guild members leaves count\nmodel GuildLeave {\n  id      String   @id @default(cuid())\n  guildId String   @map(name: \"guild_id\")\n  date    DateTime @default(now())\n  leaves  Int      @default(0)\n  guild   Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"guild_leaves\")\n}\n\n// Guild messages count\nmodel GuildMessage {\n  id       String   @id @default(cuid())\n  guildId  String   @map(name: \"guild_id\")\n  date     DateTime @default(now())\n  messages Int      @default(0)\n  guild    Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n}\n\n// Guild giveaways\nmodel Giveaways {\n  id        Int      @id @default(autoincrement())\n  guildId   String   @map(name: \"guild_id\")\n  messageId String   @unique @map(name: \"message_id\")\n  data      Json\n  createdAt DateTime @default(now()) @map(name: \"created_at\")\n  guild     Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n}\n\n// Guild automod rules\nmodel AutoMod {\n  id        String   @id @default(cuid())\n  guildId   String   @map(name: \"guild_id\")\n  ruleId    String   @unique @map(name: \"rule_id\")\n  ruleType  String   @map(name: \"rule_type\")\n  createdAt DateTime @default(now()) @map(name: \"created_at\")\n  guild     Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"auto_mod\")\n}\n\nmodel GuildWarns {\n  id          String   @id @default(cuid())\n  warnId      Int      @map(name: \"warn_id\")\n  guildId     String   @map(name: \"guild_id\")\n  userId      String   @map(name: \"user_id\")\n  createdById String   @default(\"0\") @map(name: \"created_by_id\")\n  message     String\n  createdAt   DateTime @default(now()) @map(name: \"created_at\")\n  guild       Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n  user        User     @relation(fields: [userId], references: [discordId], onDelete: Cascade)\n\n  @@map(name: \"guild_warns\")\n}\n\n// Guild welcome message\nmodel GuildWelcomeMessage {\n  id          String   @id @default(cuid())\n  guildId     String   @unique @map(name: \"guild_id\")\n  channelId   String   @map(name: \"channel_id\")\n  title       String   @default(\"🎉 Welcome to the server {user}!\")\n  description String   @default(\"> Welcome to **{guild}** We hope you enjoy your stay here!\")\n  embedColor  String   @default(\"#5865F2\") @map(name: \"embed_color\")\n  enabled     Boolean  @default(false)\n  createdAt   DateTime @default(now()) @map(name: \"created_at\")\n  guild       Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"guild_welcome_message\")\n}\n\n// Guild leave message\nmodel GuildLeaveMessage {\n  id          String   @id @default(cuid())\n  guildId     String   @unique @map(name: \"guild_id\")\n  channelId   String   @map(name: \"channel_id\")\n  title       String   @default(\"👋 Goodbye {user}!\")\n  description String   @default(\"> We're sorry to see you go!\")\n  embedColor  String   @default(\"#5865F2\") @map(name: \"embed_color\")\n  enabled     Boolean  @default(false)\n  createdAt   DateTime @default(now()) @map(name: \"created_at\")\n  guild       Guild    @relation(fields: [guildId], references: [guildId], onDelete: Cascade)\n\n  @@map(name: \"guild_leave_message\")\n}\n"
  },
  {
    "path": "packages/database/prisma.config.ts",
    "content": "import { defineConfig } from \"prisma/config\";\nimport \"@dotenvx/dotenvx/config\";\n\nexport default defineConfig({\n  schema: \"./prisma/schema.prisma\",\n  migrations: {\n    path: \"./prisma/migrations\",\n    seed: \"tsx ./src/seed.ts\",\n  },\n  datasource: {\n    url: process.env.DATABASE_URL,\n  },\n});\n"
  },
  {
    "path": "packages/database/src/client.ts",
    "content": "import { debuggerConfig } from \"@majoexe/config\";\nimport { neonConfig } from \"@neondatabase/serverless\";\nimport { PrismaNeon } from \"@prisma/adapter-neon\";\nimport { PrismaPg } from \"@prisma/adapter-pg\";\nimport ws from \"ws\";\nimport { PrismaClient } from \"../prisma/client/client\";\nimport { Logger } from \"./logger\";\nimport \"@dotenvx/dotenvx/config\";\n\nneonConfig.webSocketConstructor = ws;\n\nconst prismaClientWrapper = (prisma: PrismaClient) => {\n  if (debuggerConfig.displayDatabaseLogs)\n    prisma.$extends({\n      query: {\n        async $allOperations({ operation, model, args, query }) {\n          const start = performance.now();\n          const result = await query(args);\n          const end = performance.now();\n          const time = end - start;\n          Logger(\"info\", `Query ${model}.${operation} took ${time}ms`);\n          return result;\n        },\n      },\n    });\n  return prisma;\n};\n\nconst connectionString = process.env.DATABASE_URL;\n\nconst prismaClientSingleton = () => {\n  if (process.env.DATABASE_URL?.includes(\"neon.tech\")) {\n    Logger(\"info\", \"Neon Database URL found, setting up Neon Database...\");\n    const adapter = new PrismaNeon({ connectionString });\n    return prismaClientWrapper(new PrismaClient({ adapter }));\n  } else {\n    Logger(\"info\", \"No Neon Database URL found, setting up Prisma...\");\n    const adapter = new PrismaPg({ connectionString });\n    return prismaClientWrapper(new PrismaClient({ adapter }));\n  }\n};\n\ndeclare const globalThis: {\n  prismaGlobal: ReturnType<typeof prismaClientSingleton>;\n} & typeof global;\n\nconst prisma = globalThis.prismaGlobal ?? prismaClientSingleton();\n\nexport default prisma;\n\nif (process.env.NODE_ENV !== \"production\") globalThis.prismaGlobal = prisma;\n"
  },
  {
    "path": "packages/database/src/logger.ts",
    "content": "import chalk from \"chalk\";\n\nconst colors: Record<\"info\" | \"event\" | \"error\" | \"warn\" | \"ready\" | \"cron\", string> = {\n  info: \"cyan\",\n  event: \"magenta\",\n  error: \"red\",\n  warn: \"yellow\",\n  ready: \"green\",\n  cron: \"blue\",\n};\n\nexport function Logger(type: keyof typeof colors, ...args: (string | unknown)[]) {\n  const longest = Object.keys(colors).reduce((long, str) => Math.max(long, str.length), 0);\n\n  const color = colors[type] as keyof typeof chalk;\n  const chalkFunction = chalk[color] as (..._text: string[]) => string;\n  console.log(chalkFunction(type + \" \".repeat(longest - type.length)) + chalk.white(\" - \" + args.join(\" \")));\n}\n\nexport { chalk };\n"
  },
  {
    "path": "packages/database/src/redis/cache.ts",
    "content": "import { debuggerConfig } from \"@majoexe/config\";\nimport { Logger } from \".././logger\";\nimport redisClient from \"./client\";\n\n/**\n *\n * @param key  The key to set\n * @param value  The value to set\n * @param ttl  The time to live in seconds\n * @returns void\n */\nexport async function cacheSet(key: string, value: object | string, ttl: number = 60): Promise<void> {\n  if (debuggerConfig.displayCacheMessages) Logger(\"info\", `Setting key ${key} to ${JSON.stringify(value)} with a TTL of ${ttl}`);\n\n  await redisClient.set(key, JSON.stringify(value));\n  await redisClient.expire(key, ttl);\n  return;\n}\n\n/**\n *\n * @param key  The key to get\n * @returns The value of the key\n */\nexport async function cacheGet(key: string): Promise<string | null> {\n  if (debuggerConfig.displayCacheMessages) Logger(\"info\", `Getting key ${key}`);\n  const get = await redisClient.get(key);\n  return get ? JSON.parse(JSON.stringify(get)) : null;\n}\n\n/**\n *\n * @param key  The key to get\n * @returns The time to live of the key in seconds\n */\nexport async function cacheTTL(key: string): Promise<number> {\n  if (debuggerConfig.displayCacheMessages) Logger(\"info\", `Getting TTL of key ${key}`);\n  return await redisClient.ttl(key);\n}\n\n/**\n *\n * @param key  The key to delete\n * @returns void\n */\nexport async function cacheDel(key: string): Promise<void> {\n  if (debuggerConfig.displayCacheMessages) Logger(\"info\", `Deleting key ${key}`);\n  await redisClient.del(key);\n  return;\n}\n"
  },
  {
    "path": "packages/database/src/redis/client.ts",
    "content": "import Redis, { type Redis as RedisType } from \"ioredis\";\nimport { Logger } from \".././logger\";\n\ndeclare const globalThis: {\n  redisGlobal: RedisType;\n} & typeof global;\n\nconst createRedisClient = () => {\n  if (!process.env.REDIS_URL) Logger(\"warn\", \"No Redis URL found! Please set the REDIS_URL environment variable! Defaulting to redis://localhost:6379\");\n  Logger(\"info\", \"Creating Redis client...\");\n\n  return new Redis(process.env.REDIS_URL ?? \"redis://localhost:6379\");\n};\n\nconst redisClient = globalThis.redisGlobal ?? createRedisClient();\n\nif (process.env.NODE_ENV !== \"production\") globalThis.redisGlobal = redisClient;\n\nexport default redisClient;\n"
  },
  {
    "path": "packages/database/src/seed.ts",
    "content": "import { readdirSync } from \"node:fs\";\nimport prismaClient from \"./client\";\nimport { Logger } from \"./logger\";\nimport type { Prisma } from \"./types\";\n\nconst upsertCategoriesAndCommands = async (categoriesData: Prisma.CommandCategoriesUpsertArgs[], commandsData: Prisma.CommandsUpsertArgs[]) => {\n  Logger(\"event\", `Upserting ${categoriesData.length} categories and ${commandsData.length} commands...`);\n  await prismaClient.$transaction([...categoriesData.map((x) => prismaClient.commandCategories.upsert(x)), ...commandsData.map((x) => prismaClient.commands.upsert(x))]);\n  await prismaClient.$disconnect();\n};\n\nconst categoriesData: Prisma.CommandCategoriesUpsertArgs[] = [];\n\nconst categories = readdirSync(\"../../apps/bot/commands\", { withFileTypes: true })\n  .filter((dir) => dir.isDirectory())\n  .map((dir) => dir.name);\nconst categoryNames = categories.map((x) => x.split(\"/\")[x.split(\"/\").length - 1]);\nfor (const category of categoryNames) {\n  categoriesData.push({\n    where: { name: category },\n    update: { name: category },\n    create: {\n      name: category || \"\",\n    },\n  });\n}\n\nconst slashCommandsDirectories = readdirSync(\"../../apps/bot/commands\", { withFileTypes: true }).filter((dir) => dir.isDirectory());\nconst slashCommands: string[] = [];\n\nfor (const dir of slashCommandsDirectories) {\n  const commands = readdirSync(\"../../apps/bot/commands/\" + dir.name, { withFileTypes: true }).filter(\n    (file) => file.isFile() && (file.name.endsWith(\".js\") || file.name.endsWith(\".ts\"))\n  );\n  for (const command of commands) {\n    slashCommands.push(\"../../apps/bot/commands/\" + dir.name + \"/\" + command.name);\n  }\n}\n\nconst commandsData: Prisma.CommandsUpsertArgs[] = [];\nfor (const slashCommand of slashCommands) {\n  (async () => {\n    const file = await import(\"../\" + slashCommand);\n    const { default: command } = file;\n\n    if (!command) return;\n    const { name, description, type, run, options } = command;\n    if (!name || !description || !type || !run) return;\n\n    const category = slashCommand.split(\"/\")[slashCommand.split(\"/\").length - 2];\n\n    commandsData.push({\n      where: { name },\n      update: {\n        name,\n        description,\n        options: options || [],\n        category: {\n          connect: {\n            name: category,\n          },\n        },\n      },\n      create: {\n        name,\n        description,\n        options: options || [],\n        category: {\n          connect: {\n            name: category,\n          },\n        },\n      },\n    });\n  })().catch((err) => {\n    Logger(\"error\", `Failed to import command: ${slashCommand}: ${err}`);\n  });\n}\n\n(async () => {\n  const time = performance.now();\n  await upsertCategoriesAndCommands(categoriesData, commandsData);\n\n  const perf = Math.floor((performance.now() - time) / 1000);\n  Logger(\"ready\", `Seeded database in ${perf}s`);\n})().catch((err) => {\n  Logger(\"error\", `Failed to seed database: ${err}`);\n});\n\n//process.exit(0);\n"
  },
  {
    "path": "packages/database/src/types.ts",
    "content": "/* Export all types from prisma client in separate file because Next.js tries to import Redis with the types */\n\nexport * from \"../prisma/client/browser\";\nexport * from \"../prisma/client/enums\";\nexport * from \"../prisma/client/commonInputTypes\";\nexport * from \"../prisma/client/models\";\n"
  },
  {
    "path": "packages/database/tsconfig.json",
    "content": "{\n  \"extends\": \"@majoexe/typescript-config/base\"\n}\n"
  },
  {
    "path": "packages/typescript-config/base.json",
    "content": "{\n  \"$schema\": \"https://json.schemastore.org/tsconfig\",\n  \"compilerOptions\": {\n    \"esModuleInterop\": true,\n    \"skipLibCheck\": true,\n    \"target\": \"ES2022\",\n    \"lib\": [\"ES2022\"],\n    \"allowJs\": true,\n    \"resolveJsonModule\": true,\n    \"moduleDetection\": \"force\",\n    \"isolatedModules\": true,\n    \"incremental\": true,\n    \"disableSourceOfProjectReferenceRedirect\": true,\n    \"strict\": false,\n    \"noUncheckedIndexedAccess\": true,\n    \"checkJs\": true,\n    \"module\": \"Preserve\",\n    \"moduleResolution\": \"Bundler\",\n    \"noEmit\": true\n  },\n  \"exclude\": [\"node_modules\", \"build\", \"dist\", \".next\"]\n}\n"
  },
  {
    "path": "packages/typescript-config/index.ts",
    "content": "// If you can read this, you are really dedicated to reading this codebase. I appreciate you. Have a great day!\n"
  },
  {
    "path": "packages/typescript-config/package.json",
    "content": "{\n  \"name\": \"@majoexe/typescript-config\",\n  \"version\": \"6.0.0\",\n  \"description\": \"Majo.exe TypeScript configuration\",\n  \"exports\": {\n    \"./base\": \"./base.json\"\n  },\n  \"type\": \"module\",\n  \"scripts\": {\n    \"format\": \"prettier . --write --cache --ignore-unknown\",\n    \"format:check\": \"prettier . --check --cache\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"@types/node\": \"24.10.4\",\n    \"tsx\": \"4.21.0\",\n    \"typescript\": \"5.9.3\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/igorkowalczyk/majo.exe.git\",\n    \"directory\": \"packages/typescript-config\"\n  },\n  \"keywords\": [\n    \"typescript\",\n    \"config\",\n    \"majoexe\"\n  ],\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/igorkowalczyk/majo.exe/issues\"\n  },\n  \"homepage\": \"https://github.com/igorkowalczyk/majo.exe#readme\",\n  \"packageManager\": \"pnpm@10.26.2\"\n}\n"
  },
  {
    "path": "packages/utils/.prettierignore",
    "content": "package.json"
  },
  {
    "path": "packages/utils/content/advices.json",
    "content": "[\n  {\n    \"id\": 1,\n    \"advice\": \"Remember that spiders are more afraid of you, than you are of them.\"\n  },\n  {\n    \"id\": 2,\n    \"advice\": \"Smile and the world smiles with you. Frown and you're on your own.\"\n  },\n  {\n    \"id\": 3,\n    \"advice\": \"Don't eat non-snow-coloured snow.\"\n  },\n  {\n    \"id\": 4,\n    \"advice\": \"Cars are bad investments.\"\n  },\n  {\n    \"id\": 5,\n    \"advice\": \"If you have the chance, take it!\"\n  },\n  {\n    \"id\": 6,\n    \"advice\": \"Never cut your own fringe.\"\n  },\n  {\n    \"id\": 7,\n    \"advice\": \"Make choices and dont look back.\"\n  },\n  {\n    \"id\": 8,\n    \"advice\": \"Happiness is a journey, not a destination.\"\n  },\n  {\n    \"id\": 9,\n    \"advice\": \"True happiness always resides in the quest.\"\n  },\n  {\n    \"id\": 10,\n    \"advice\": \"Never pay full price for a sofa at DFS.\"\n  },\n  {\n    \"id\": 11,\n    \"advice\": \"Avoid mixing Ginger Nuts with other biscuits, they contaminate. Keep separated.\"\n  },\n  {\n    \"id\": 12,\n    \"advice\": \"Always block trolls.\"\n  },\n  {\n    \"id\": 13,\n    \"advice\": \"If you're feeling tired or anxious, a pint of water will almost always make you feel better.\"\n  },\n  {\n    \"id\": 14,\n    \"advice\": \"Life is better when you sing about bananas.\"\n  },\n  {\n    \"id\": 15,\n    \"advice\": \"If it ain't broke don't fix it.\"\n  },\n  {\n    \"id\": 16,\n    \"advice\": \"It's unlucky to be superstitious.\"\n  },\n  {\n    \"id\": 17,\n    \"advice\": \"Sometimes it's best to ignore other people's advice.\"\n  },\n  {\n    \"id\": 18,\n    \"advice\": \"Don't judge a book by its cover, unless it has a synopsis on the back.\"\n  },\n  {\n    \"id\": 19,\n    \"advice\": \"If you cannot unscrew the lid of a jar, try placing a rubber band around its circumference for extra grip.\"\n  },\n  {\n    \"id\": 20,\n    \"advice\": \"Don't put off breaking up with someone when you know you want to. Prolonging the situation only makes it worse.\"\n  },\n  {\n    \"id\": 21,\n    \"advice\": \"Don't feed Mogwais after midnight.\"\n  },\n  {\n    \"id\": 22,\n    \"advice\": \"Your smile could make someone's day, don't forget to wear it.\"\n  },\n  {\n    \"id\": 23,\n    \"advice\": \"When the cistern is filling, the seat is probably still warm.\"\n  },\n  {\n    \"id\": 24,\n    \"advice\": \"Never buy cheap cling film.\"\n  },\n  {\n    \"id\": 25,\n    \"advice\": \"Don't cross the streams.\"\n  },\n  {\n    \"id\": 26,\n    \"advice\": \"Don't wear clean trousers when walking your dog in the park.\"\n  },\n  {\n    \"id\": 27,\n    \"advice\": \"When you're looking up at birds flying overhead, keep your mouth closed.\"\n  },\n  {\n    \"id\": 28,\n    \"advice\": \"As you get older, learn never to trust a fart.\"\n  },\n  {\n    \"id\": 29,\n    \"advice\": \"When in doubt, just take the next small step.\"\n  },\n  {\n    \"id\": 30,\n    \"advice\": \"Never let your Mother cut your hair.\"\n  },\n  {\n    \"id\": 31,\n    \"advice\": \"Everything in moderation, including moderation itself.\"\n  },\n  {\n    \"id\": 32,\n    \"advice\": \"Don't let the bastards grind you down.\"\n  },\n  {\n    \"id\": 33,\n    \"advice\": \"To improve productivity, always have a shittier task to put off.\"\n  },\n  {\n    \"id\": 34,\n    \"advice\": \"Only those who attempt the impossible can achieve the absurd.\"\n  },\n  {\n    \"id\": 35,\n    \"advice\": \"If you think nobody cares if you're alive, try missing a few payments.\"\n  },\n  {\n    \"id\": 36,\n    \"advice\": \"There is no reason at all to believe that White Wine is any different to water when it comes to removing Red Wine stains.\"\n  },\n  {\n    \"id\": 37,\n    \"advice\": \"The most delicious cocktails often have the highest alcohol content. Always pace yourself to preserve your dignity.\"\n  },\n  {\n    \"id\": 38,\n    \"advice\": \"Never run a marathon in Crocs.\"\n  },\n  {\n    \"id\": 39,\n    \"advice\": \"Never run with scissors.\"\n  },\n  {\n    \"id\": 40,\n    \"advice\": \"Don't use Excel or Powerpoint documents for your basic word processing needs.\"\n  },\n  {\n    \"id\": 41,\n    \"advice\": \"Always double check you actually attached the file to the email.\"\n  },\n  {\n    \"id\": 42,\n    \"advice\": \"Try to pay at least one person a compliment every day.\"\n  },\n  {\n    \"id\": 43,\n    \"advice\": \"If you are feeling down, try holding a pencil between your top lip and your nose for five minutes.\"\n  },\n  {\n    \"id\": 44,\n    \"advice\": \"Build something out of LEGO.\"\n  },\n  {\n    \"id\": 45,\n    \"advice\": \"Try going commando to an important meeting, NB: don't wear a skirt.\"\n  },\n  {\n    \"id\": 46,\n    \"advice\": \"If you need cheering up, try searching online for photos of kittens.\"\n  },\n  {\n    \"id\": 47,\n    \"advice\": \"A long walk alone with some time to think, can work wonders.\"\n  },\n  {\n    \"id\": 48,\n    \"advice\": \"Walking is a perfectly valid solution to traffic congestion problems.\"\n  },\n  {\n    \"id\": 49,\n    \"advice\": \"It's wrong to be right.\"\n  },\n  {\n    \"id\": 50,\n    \"advice\": \"Don't promise what you can't deliver.\"\n  },\n  {\n    \"id\": 51,\n    \"advice\": \"Accentuate the positive, eliminate the negative.\"\n  },\n  {\n    \"id\": 52,\n    \"advice\": \"The more ideas that you give away, the more ideas that will come to you.\"\n  },\n  {\n    \"id\": 53,\n    \"advice\": \"Do not seek praise, seek criticism.\"\n  },\n  {\n    \"id\": 54,\n    \"advice\": \"Try to do the things that you're incapable of.\"\n  },\n  {\n    \"id\": 55,\n    \"advice\": \"If you get stuck, try doing the opposite of what the solution requires.\"\n  },\n  {\n    \"id\": 56,\n    \"advice\": \"Don't give a speech. Put on a show.\"\n  },\n  {\n    \"id\": 57,\n    \"advice\": \"Don't be afraid of silly ideas.\"\n  },\n  {\n    \"id\": 58,\n    \"advice\": \"Fail. Fail again. Fail better.\"\n  },\n  {\n    \"id\": 59,\n    \"advice\": \"Once in a while, eat some sweets you used to enjoy when you were younger.\"\n  },\n  {\n    \"id\": 60,\n    \"advice\": \"Giving someone a hug can be mutually rewarding. Try to give at least one hug a day to someone.\"\n  },\n  {\n    \"id\": 61,\n    \"advice\": \"If you're squashed close to strangers on public transport, try not to be rude to them. No one likes those situations.\"\n  },\n  {\n    \"id\": 62,\n    \"advice\": \"You don't need to floss all of your teeth. Only the ones you want to keep.\"\n  },\n  {\n    \"id\": 63,\n    \"advice\": \"When having a clear out, ask yourself if an item has any financial, practical or sentimental value. If not, chuck it.\"\n  },\n  {\n    \"id\": 64,\n    \"advice\": \"Take time once in a while to look up at the stars for at least 5 minutes, in order to comprehend your cosmic significance.\"\n  },\n  {\n    \"id\": 65,\n    \"advice\": \"The number of vampires in the average home, is directly proportional to the amount of garlic bread in the fridge.\"\n  },\n  {\n    \"id\": 66,\n    \"advice\": \"Visitors are like fish: As much as you might like them, after three days they start to smell.\"\n  },\n  {\n    \"id\": 67,\n    \"advice\": \"Don't try and bump start a motorcycle on an icy road.\"\n  },\n  {\n    \"id\": 68,\n    \"advice\": \"It is easy to sit up and take notice, what's difficult is getting up and taking action.\"\n  },\n  {\n    \"id\": 69,\n    \"advice\": \"Don't eat anything your grandparents wouldn't recognise as food.\"\n  },\n  {\n    \"id\": 70,\n    \"advice\": \"Eat food. Not too much, mostly plants.\"\n  },\n  {\n    \"id\": 71,\n    \"advice\": \"Work is never as important as you think it is.\"\n  },\n  {\n    \"id\": 72,\n    \"advice\": \"You will always regret the round of Tequila.\"\n  },\n  {\n    \"id\": 73,\n    \"advice\": \"You will always regret the round of JÃ¤germeister.\"\n  },\n  {\n    \"id\": 74,\n    \"advice\": \"Mercy is the better part of justice.\"\n  },\n  {\n    \"id\": 75,\n    \"advice\": \"Being kind is more rewarding than being right.\"\n  },\n  {\n    \"id\": 76,\n    \"advice\": \"Just because you are offended, doesn't mean you are right.\"\n  },\n  {\n    \"id\": 77,\n    \"advice\": \"Opinions are like arseholes, everyone has one.\"\n  },\n  {\n    \"id\": 78,\n    \"advice\": \"Age is of no importance, unless you are a cheese.\"\n  },\n  {\n    \"id\": 79,\n    \"advice\": \"For every complex problem there is an answer that is clear, simple, and wrong.\"\n  },\n  {\n    \"id\": 80,\n    \"advice\": \"Put a piece of kitchen roll in with your bag of leaves to make them last longer.\"\n  },\n  {\n    \"id\": 81,\n    \"advice\": \"Never set an alarm clock unless you know how to switch it off\"\n  },\n  {\n    \"id\": 82,\n    \"advice\": \"If you don't want something to be public, don't post it on the Internet.\"\n  },\n  {\n    \"id\": 83,\n    \"advice\": \"Never write in an email to someone, something which you wouldn't say to that person's face.\"\n  },\n  {\n    \"id\": 84,\n    \"advice\": \"Turn jeans inside out when washing them to help preserve their colour.\"\n  },\n  {\n    \"id\": 85,\n    \"advice\": \"Hold the door open for the next person.\"\n  },\n  {\n    \"id\": 86,\n    \"advice\": \"Don't be afraid to ask questions.\"\n  },\n  {\n    \"id\": 87,\n    \"advice\": \"Brush your teeth the moment you get up.\"\n  },\n  {\n    \"id\": 88,\n    \"advice\": \"Drink a glass of water before meals.\"\n  },\n  {\n    \"id\": 89,\n    \"advice\": \"You can have too much of a good thing.\"\n  },\n  {\n    \"id\": 90,\n    \"advice\": \"The higher up you are in a company, the more likely it is that your boss is a psychopath.\"\n  },\n  {\n    \"id\": 91,\n    \"advice\": \"Sometimes, you just need to say sorry. Even if it's not your fault.\"\n  },\n  {\n    \"id\": 92,\n    \"advice\": \"Good advice is something a man gives when he is too old to set a bad example.\"\n  },\n  {\n    \"id\": 93,\n    \"advice\": \"Don't give to others advice which you wouldn't follow.\"\n  },\n  {\n    \"id\": 94,\n    \"advice\": \"If you are ever in doubt about whether or not to wash your hair: Wash it.\"\n  },\n  {\n    \"id\": 95,\n    \"advice\": \"It's always the quiet ones.\"\n  },\n  {\n    \"id\": 96,\n    \"advice\": \"Learn from your mistakes.\"\n  },\n  {\n    \"id\": 97,\n    \"advice\": \"Everybody makes mistakes.\"\n  },\n  {\n    \"id\": 98,\n    \"advice\": \"Alway do anything for love, but don't do that.\"\n  },\n  {\n    \"id\": 99,\n    \"advice\": \"Tell it like it is.\"\n  },\n  {\n    \"id\": 100,\n    \"advice\": \"Respect your elders.\"\n  },\n  {\n    \"id\": 101,\n    \"advice\": \"Do, or do not. There is no try.\"\n  },\n  {\n    \"id\": 102,\n    \"advice\": \"When you look around and don't see anyone you respect, its time to leave.\"\n  },\n  {\n    \"id\": 103,\n    \"advice\": \"A problem shared is a problem halved.\"\n  },\n  {\n    \"id\": 104,\n    \"advice\": \"If you don't ask, you don't get.\"\n  },\n  {\n    \"id\": 105,\n    \"advice\": \"Don't ever name files or folders using the word \\\"Final\\\".\"\n  },\n  {\n    \"id\": 106,\n    \"advice\": \"To cleanly remove the seed from an Avocado, lay a knife firmly across it, and twist.\"\n  },\n  {\n    \"id\": 107,\n    \"advice\": \"Give up your seat for someone who needs it.\"\n  },\n  {\n    \"id\": 108,\n    \"advice\": \"You're not as fat as you think you are.\"\n  },\n  {\n    \"id\": 109,\n    \"advice\": \"It's not about who likes you, it's about who you like.\"\n  },\n  {\n    \"id\": 110,\n    \"advice\": \"Lemon and salt works wonders on tarnished brass.\"\n  },\n  {\n    \"id\": 111,\n    \"advice\": \"Step 1. Give a shit. Step 2. Don't be a dick. Step 3. Know when to let go.\"\n  },\n  {\n    \"id\": 112,\n    \"advice\": \"One of the top five regrets people have is that they didn't have the courage to be their true self.\"\n  },\n  {\n    \"id\": 113,\n    \"advice\": \"One of the top five regrets people have is that they didn't stay in contact with friends.\"\n  },\n  {\n    \"id\": 114,\n    \"advice\": \"A common regret in life is wishing one hadn't worked so hard.\"\n  },\n  {\n    \"id\": 115,\n    \"advice\": \"A common regret in life is wishing one had the courage to be ones true self.\"\n  },\n  {\n    \"id\": 116,\n    \"advice\": \"Don't assume anything is possible or impossible until you've asked the people who will be doing the work.\"\n  },\n  {\n    \"id\": 117,\n    \"advice\": \"A nod is as good as a wink to a blind horse.\"\n  },\n  {\n    \"id\": 118,\n    \"advice\": \"If you think your headphones are dying, check the socket for fluff with a straightened paperclip.\"\n  },\n  {\n    \"id\": 119,\n    \"advice\": \"You spend half your life asleep or in bed. It's worth spending money on a good mattress, decent pillows and a comfy duvet.\"\n  },\n  {\n    \"id\": 120,\n    \"advice\": \"Winter is coming.\"\n  },\n  {\n    \"id\": 121,\n    \"advice\": \"Do not check work email on your days off.\"\n  },\n  {\n    \"id\": 122,\n    \"advice\": \"Why wait until valentines day for a romantic gesture?\"\n  },\n  {\n    \"id\": 123,\n    \"advice\": \"Taking photos with tablet devices looks weird.\"\n  },\n  {\n    \"id\": 124,\n    \"advice\": \"When hugging, hug with both arms and apply reasonable, affectionate pressure.\"\n  },\n  {\n    \"id\": 125,\n    \"advice\": \"When you're at a concert or event, enjoy the moment, enjoy being there. Try leaving your camera in your pocket.\"\n  },\n  {\n    \"id\": 126,\n    \"advice\": \"Stop procrastinating.\"\n  },\n  {\n    \"id\": 127,\n    \"advice\": \"If you have grandparents or parents - Talk to them more. Ask them about their life experiences.\"\n  },\n  {\n    \"id\": 128,\n    \"advice\": \"YOLO\"\n  },\n  {\n    \"id\": 129,\n    \"advice\": \"Repeat people's names when you meet them.\"\n  },\n  {\n    \"id\": 130,\n    \"advice\": \"If you find yourself distressed about something, ask yourself if it will still matter tomorrow or next week or next month.\"\n  },\n  {\n    \"id\": 131,\n    \"advice\": \"The person who never made a mistake never made anything.\"\n  },\n  {\n    \"id\": 132,\n    \"advice\": \"If you want to be happily married, marry a happy person.\"\n  },\n  {\n    \"id\": 133,\n    \"advice\": \"Everything matters, but nothing matters that much.\"\n  },\n  {\n    \"id\": 134,\n    \"advice\": \"You're not that important; it's what you do that counts.\"\n  },\n  {\n    \"id\": 135,\n    \"advice\": \"Keep it simple.\"\n  },\n  {\n    \"id\": 136,\n    \"advice\": \"If you're going bald, don't comb your hair over your bald patch.\"\n  },\n  {\n    \"id\": 137,\n    \"advice\": \"If your hair is thinning, try dying your hair a similar tone to your scalp.\"\n  },\n  {\n    \"id\": 138,\n    \"advice\": \"If you can't do anything about it, there's no point in worrying about it.\"\n  },\n  {\n    \"id\": 139,\n    \"advice\": \"If you don't like the opinion you've been given, get another one.\"\n  },\n  {\n    \"id\": 140,\n    \"advice\": \"When painting a room, preparation is key. The actual painting should account for about 40% of the work.\"\n  },\n  {\n    \"id\": 141,\n    \"advice\": \"Pedantry is fine, unless you're on the receiving end. And not a pedant.\"\n  },\n  {\n    \"id\": 142,\n    \"advice\": \"Always the burrito.\"\n  },\n  {\n    \"id\": 143,\n    \"advice\": \"Today, do not use the words â€˜Kind of,' â€˜Sort of' or â€˜Maybe.' It either is or it isn't.\"\n  },\n  {\n    \"id\": 144,\n    \"advice\": \"Don't take life too seriously.\"\n  },\n  {\n    \"id\": 145,\n    \"advice\": \"Some people would be better off if they took their own advice.\"\n  },\n  {\n    \"id\": 146,\n    \"advice\": \"As things get closer to the light, the shadows get darker.\"\n  },\n  {\n    \"id\": 147,\n    \"advice\": \"The most important thing is the thing most easily forgotten.\"\n  },\n  {\n    \"id\": 148,\n    \"advice\": \"When faced with a choice, do both.\"\n  },\n  {\n    \"id\": 149,\n    \"advice\": \"Accept advice.\"\n  },\n  {\n    \"id\": 150,\n    \"advice\": \"Try using an old idea.\"\n  },\n  {\n    \"id\": 151,\n    \"advice\": \"State the problem in words as clearly as possible.\"\n  },\n  {\n    \"id\": 152,\n    \"advice\": \"What could you increase? What could you reduce?\"\n  },\n  {\n    \"id\": 153,\n    \"advice\": \"Life is short enough, don't race to the finish.\"\n  },\n  {\n    \"id\": 154,\n    \"advice\": \"When something goes wrong in life, just shout \\\"plot twist!\\\" and carry on.\"\n  },\n  {\n    \"id\": 155,\n    \"advice\": \"Life can be a lot more interesting inside your head.\"\n  },\n  {\n    \"id\": 156,\n    \"advice\": \"What's stopping you?\"\n  },\n  {\n    \"id\": 157,\n    \"advice\": \"Enjoy a little nonsense now and then.\"\n  },\n  {\n    \"id\": 158,\n    \"advice\": \"You have as many hours in a day as the people you admire most.\"\n  },\n  {\n    \"id\": 159,\n    \"advice\": \"Stop using the term \\\"busy\\\" as an excuse.\"\n  },\n  {\n    \"id\": 160,\n    \"advice\": \"Big things have small beginnings.\"\n  },\n  {\n    \"id\": 161,\n    \"advice\": \"Some of life's best lessons are learnt at the worst times.\"\n  },\n  {\n    \"id\": 162,\n    \"advice\": \"Eliminate the unnecessary.\"\n  },\n  {\n    \"id\": 163,\n    \"advice\": \"The quieter you become, the more you can hear.\"\n  },\n  {\n    \"id\": 164,\n    \"advice\": \"No one knows anyone else in the way you do.\"\n  },\n  {\n    \"id\": 165,\n    \"advice\": \"Do a bit more for your friends.\"\n  },\n  {\n    \"id\": 166,\n    \"advice\": \"Do something selfless.\"\n  },\n  {\n    \"id\": 167,\n    \"advice\": \"Remedy tickly coughs with a drink of honey, lemon and water as hot as you can take.\"\n  },\n  {\n    \"id\": 168,\n    \"advice\": \"If you've nothing nice to say, say nothing.\"\n  },\n  {\n    \"id\": 169,\n    \"advice\": \"If it still itches after a week, go to the doctors.\"\n  },\n  {\n    \"id\": 170,\n    \"advice\": \"Always bet on black.\"\n  },\n  {\n    \"id\": 171,\n    \"advice\": \"Be a good lover.\"\n  },\n  {\n    \"id\": 172,\n    \"advice\": \"Plant a tree.\"\n  },\n  {\n    \"id\": 173,\n    \"advice\": \"Good things come to those who wait.\"\n  },\n  {\n    \"id\": 174,\n    \"advice\": \"Everyone has their down days. Don't take it out on innocent bystanders.\"\n  },\n  {\n    \"id\": 175,\n    \"advice\": \"It always seems impossible, until it's done.\"\n  },\n  {\n    \"id\": 176,\n    \"advice\": \"Never regret. If it's good, it's wonderful. If it's bad, it's experience.\"\n  },\n  {\n    \"id\": 177,\n    \"advice\": \"Rule number 1: Try not to die. Rule number 2: Don't be a dick.\"\n  },\n  {\n    \"id\": 178,\n    \"advice\": \"Most things look better when you put them in a circle.\"\n  },\n  {\n    \"id\": 179,\n    \"advice\": \"Always get two ciders.\"\n  },\n  {\n    \"id\": 180,\n    \"advice\": \"You can fail at what you don't want. So you might as well take a chance on doing what you love.\"\n  },\n  {\n    \"id\": 181,\n    \"advice\": \"One of the single best things about being an adult, is being able to buy as much LEGO as you want.\"\n  },\n  {\n    \"id\": 182,\n    \"advice\": \"The sun always shines above the clouds.\"\n  },\n  {\n    \"id\": 183,\n    \"advice\": \"Measure twice, cut once.\"\n  },\n  {\n    \"id\": 184,\n    \"advice\": \"Do not compare yourself with others.\"\n  },\n  {\n    \"id\": 185,\n    \"advice\": \"Don't always believe what you think.\"\n  },\n  {\n    \"id\": 186,\n    \"advice\": \"Learn to handle criticism.\"\n  },\n  {\n    \"id\": 187,\n    \"advice\": \"Don't take it personally.\"\n  },\n  {\n    \"id\": 188,\n    \"advice\": \"Value the people in your life.\"\n  },\n  {\n    \"id\": 189,\n    \"advice\": \"Don't always rely on your comforts.\"\n  },\n  {\n    \"id\": 190,\n    \"advice\": \"Exercise in the rain can really make you feel alive.\"\n  },\n  {\n    \"id\": 191,\n    \"advice\": \"Have a firm handshake.\"\n  },\n  {\n    \"id\": 192,\n    \"advice\": \"Look people in the eye.\"\n  },\n  {\n    \"id\": 193,\n    \"advice\": \"Sing in the shower.\"\n  },\n  {\n    \"id\": 194,\n    \"advice\": \"Be brave. Even if you're not, pretend to be. No one can tell the difference.\"\n  },\n  {\n    \"id\": 195,\n    \"advice\": \"Sarcasm is the lowest form of wit. Employ correctly with apt timing.\"\n  },\n  {\n    \"id\": 196,\n    \"advice\": \"Don't burn bridges.\"\n  },\n  {\n    \"id\": 197,\n    \"advice\": \"Never waste an opportunity to tell someone you love them.\"\n  },\n  {\n    \"id\": 198,\n    \"advice\": \"The best sex is fun.\"\n  },\n  {\n    \"id\": 199,\n    \"advice\": \"The best nights out are when people around you are simply having fun.\"\n  },\n  {\n    \"id\": 200,\n    \"advice\": \"Try to not compliment people on things they don't control.\"\n  },\n  {\n    \"id\": 201,\n    \"advice\": \"Don't waste food.\"\n  },\n  {\n    \"id\": 202,\n    \"advice\": \"Always seek out advice or opinions when making a decision.\"\n  },\n  {\n    \"id\": 203,\n    \"advice\": \"Play is the true mother of invention.\"\n  },\n  {\n    \"id\": 204,\n    \"advice\": \"Most things done in secrecy are better left undone.\"\n  },\n  {\n    \"id\": 205,\n    \"advice\": \"You never really grow up.\"\n  },\n  {\n    \"id\": 206,\n    \"advice\": \"No \\\"brand\\\" is your friend.\"\n  },\n  {\n    \"id\": 207,\n    \"advice\": \"The hardest things to say are usually the most important.\"\n  },\n  {\n    \"id\": 208,\n    \"advice\": \"Quality beats quantity.\"\n  },\n  {\n    \"id\": 209,\n    \"advice\": \"Things are just things. Don't get too attached to them.\"\n  },\n  {\n    \"id\": 210,\n    \"advice\": \"Once you find a really good friend don't do anything that could mess up your friendship.\"\n  },\n  {\n    \"id\": 211,\n    \"advice\": \"Try making a list.\"\n  },\n  {\n    \"id\": 212,\n    \"advice\": \"Identify sources of happiness.\"\n  },\n  {\n    \"id\": 213,\n    \"advice\": \"Gratitude is said to be the secret to happiness.\"\n  },\n  {\n    \"id\": 214,\n    \"advice\": \"Try buying a coffee for the creator of a free public API, now and then.\"\n  },\n  {\n    \"id\": 215,\n    \"advice\": \"Most things are not as bad as you think they are.\"\n  },\n  {\n    \"id\": 216,\n    \"advice\": \"Share positive energy.\"\n  },\n  {\n    \"id\": 217,\n    \"advice\": \"Respect other people's opinions, even when they differ from your own.\"\n  },\n  {\n    \"id\": 218,\n    \"advice\": \"Vinegar is a powerful cleaning agent.\"\n  },\n  {\n    \"id\": 219,\n    \"advice\": \"Don't drink bleach.\"\n  },\n  {\n    \"id\": 220,\n    \"advice\": \"With integrity and consistency -- your credits are piling up.\"\n  },\n  {\n    \"id\": 221,\n    \"advice\": \"Reach out your hand today to support others who need you.\"\n  },\n  {\n    \"id\": 222,\n    \"advice\": \"It is not the outside riches bit the inside ones that produce happiness.\"\n  },\n  {\n    \"id\": 223,\n    \"advice\": \"How dark is dark?, How wise is wise?\"\n  },\n  {\n    \"id\": 224,\n    \"advice\": \"We can admire all we see, but we can only pick one.\"\n  },\n  {\n    \"id\": 225,\n    \"advice\": \"The man who has no imagination has no wings.\"\n  },\n  {\n    \"id\": 226,\n    \"advice\": \"To courageously shoulder the responsibility of one's mistake is character.\"\n  },\n  {\n    \"id\": 227,\n    \"advice\": \"We can't help everyone. But everyone can help someone.\"\n  },\n  {\n    \"id\": 228,\n    \"advice\": \"You discover treasures where others see nothing unusual.\"\n  },\n  {\n    \"id\": 229,\n    \"advice\": \"Make all you can, save all you can, give all you can.\"\n  },\n  {\n    \"id\": 230,\n    \"advice\": \"Understanding the nature of change, changes the nature.\"\n  },\n  {\n    \"id\": 231,\n    \"advice\": \"You will be unusually successful in business.\"\n  },\n  {\n    \"id\": 232,\n    \"advice\": \"Your spirit of adventure leads you down an exiting new path.\"\n  },\n  {\n    \"id\": 233,\n    \"advice\": \"Genius is one percent inspiration and ninety-nine percent perspiration.\"\n  },\n  {\n    \"id\": 234,\n    \"advice\": \"You are the master of every situation.\"\n  },\n  {\n    \"id\": 235,\n    \"advice\": \"Be brave enough to live creatively.\"\n  },\n  {\n    \"id\": 236,\n    \"advice\": \"Cookies go stake. Fortunes are forever.\"\n  },\n  {\n    \"id\": 237,\n    \"advice\": \"Your ingenuity and imagination will get results.\"\n  },\n  {\n    \"id\": 238,\n    \"advice\": \"Unnecessary possessions are unnecessary burdens.\"\n  },\n  {\n    \"id\": 239,\n    \"advice\": \"Ability is not something to be shown off.\"\n  },\n  {\n    \"id\": 240,\n    \"advice\": \"If you wish to see the best in others, show the best of yourself.\"\n  },\n  {\n    \"id\": 241,\n    \"advice\": \"Your power is in your ability to decide.\"\n  },\n  {\n    \"id\": 242,\n    \"advice\": \"Wherever you go, whenever you can, try to leave a gift.\"\n  },\n  {\n    \"id\": 243,\n    \"advice\": \"Kind words can be shot and easy to speak, but their echoes are truly endless.\"\n  },\n  {\n    \"id\": 244,\n    \"advice\": \"Age can never hope to with you while your heart is young.\"\n  },\n  {\n    \"id\": 245,\n    \"advice\": \"Example is better than perception.\"\n  },\n  {\n    \"id\": 246,\n    \"advice\": \"Idleness is the holiday of fools.\"\n  },\n  {\n    \"id\": 247,\n    \"advice\": \"Don't be pushed by your problems. Be led by your dreams.\"\n  },\n  {\n    \"id\": 248,\n    \"advice\": \"Many receive advice, only the wise profit from it.\"\n  },\n  {\n    \"id\": 249,\n    \"advice\": \"You will have good luck and overcome many hardships.\"\n  },\n  {\n    \"id\": 250,\n    \"advice\": \"A good way to keep healthy is to eat more Chinese food.\"\n  },\n  {\n    \"id\": 251,\n    \"advice\": \"Today's profits are yesterday's good well ripened.\"\n  },\n  {\n    \"id\": 252,\n    \"advice\": \"LSDBS - Let Something Good Be Said.\"\n  },\n  {\n    \"id\": 253,\n    \"advice\": \"There is in the worst of fortunes the best change of a happy ending.\"\n  },\n  {\n    \"id\": 254,\n    \"advice\": \"Service to many leads to greatness.\"\n  },\n  {\n    \"id\": 255,\n    \"advice\": \"Desire, like the atom, is explosive with creative force.\"\n  },\n  {\n    \"id\": 256,\n    \"advice\": \"I think and that is all that I am.\"\n  },\n  {\n    \"id\": 257,\n    \"advice\": \"Judge each day not by the harvest you reap but by the seeds you plant.\"\n  },\n  {\n    \"id\": 258,\n    \"advice\": \"Yesterday was a dare to struggle. Today is a dare to win.\"\n  },\n  {\n    \"id\": 259,\n    \"advice\": \"Make everyday your best. You will improve yourself greatly.\"\n  },\n  {\n    \"id\": 260,\n    \"advice\": \"You must be willing to act today in order to succeed.\"\n  },\n  {\n    \"id\": 261,\n    \"advice\": \"Venture not all in one boat.\"\n  },\n  {\n    \"id\": 262,\n    \"advice\": \"Suppressing a moment of anger may save a day of sorrow.\"\n  },\n  {\n    \"id\": 263,\n    \"advice\": \"Never be less than your dreams.\"\n  },\n  {\n    \"id\": 264,\n    \"advice\": \"The good times start when I count to 3: 1... 2... 3.\"\n  },\n  {\n    \"id\": 265,\n    \"advice\": \"An inch of time is an inch of gold.\"\n  },\n  {\n    \"id\": 266,\n    \"advice\": \"If you chase two rabbits both will escape.\"\n  },\n  {\n    \"id\": 267,\n    \"advice\": \"You will soon be surrounded by good friends and laughter.\"\n  },\n  {\n    \"id\": 268,\n    \"advice\": \"Haste does not bring success.\"\n  },\n  {\n    \"id\": 269,\n    \"advice\": \"You will stumble into the path that will lead your life to happiness.\"\n  },\n  {\n    \"id\": 270,\n    \"advice\": \"You will always be successful in you professional career.\"\n  },\n  {\n    \"id\": 271,\n    \"advice\": \"Good news will come to you from far away.\"\n  },\n  {\n    \"id\": 272,\n    \"advice\": \"Service is the rent you pay for having room on the Earth.\"\n  },\n  {\n    \"id\": 273,\n    \"advice\": \"Be smart, but never show it.\"\n  },\n  {\n    \"id\": 274,\n    \"advice\": \"The only certainty is that nothing is certain.\"\n  },\n  {\n    \"id\": 275,\n    \"advice\": \"You or a close friend will be married soon.\"\n  },\n  {\n    \"id\": 276,\n    \"advice\": \"We will not know the worth of water 'till the well is dry.\"\n  },\n  {\n    \"id\": 277,\n    \"advice\": \"You are talented in many ways.\"\n  },\n  {\n    \"id\": 278,\n    \"advice\": \"Do your best to make it happen\"\n  },\n  {\n    \"id\": 279,\n    \"advice\": \"You will find great forces in unexpected places.\"\n  },\n  {\n    \"id\": 280,\n    \"advice\": \"What you see in the mirror, and what you are can be two different images.\"\n  },\n  {\n    \"id\": 281,\n    \"advice\": \"Excuses are easy to manufacture, and hard to sell.\"\n  },\n  {\n    \"id\": 282,\n    \"advice\": \"Do onto others as you wish others do onto you.\"\n  },\n  {\n    \"id\": 283,\n    \"advice\": \"Struggle as and hard as you can for whatever you believe in.\"\n  },\n  {\n    \"id\": 284,\n    \"advice\": \"You have a pair of shining eyes.\"\n  },\n  {\n    \"id\": 285,\n    \"advice\": \"You should be able to undertake and complete anything.\"\n  },\n  {\n    \"id\": 286,\n    \"advice\": \"Your principles mean more to you than any money or success.\"\n  },\n  {\n    \"id\": 287,\n    \"advice\": \"Forgiveness does not change the past, but it does enlarge the future.\"\n  },\n  {\n    \"id\": 288,\n    \"advice\": \"Stand tall! Don't look down upon yourself.\"\n  },\n  {\n    \"id\": 289,\n    \"advice\": \"Every truly great accomplishment is at first impossible.\"\n  },\n  {\n    \"id\": 290,\n    \"advice\": \"Courage is not the absence of fear; it is the conquest of it.\"\n  },\n  {\n    \"id\": 291,\n    \"advice\": \"Wise man seldom talks.\"\n  },\n  {\n    \"id\": 292,\n    \"advice\": \"If you have a job without aggravations, you don't have a job.\"\n  },\n  {\n    \"id\": 293,\n    \"advice\": \"You are broad minded and socially active.\"\n  },\n  {\n    \"id\": 294,\n    \"advice\": \"Don't put off till tomorrow what can be enjoyed today.\"\n  },\n  {\n    \"id\": 295,\n    \"advice\": \"A family reunion in the coming months will be a tremendous success!\"\n  },\n  {\n    \"id\": 296,\n    \"advice\": \"Enthusiastic leadership gets you a promotion when you least expect it.\"\n  },\n  {\n    \"id\": 297,\n    \"advice\": \"Calamity is the touchstone of a brave mind.\"\n  },\n  {\n    \"id\": 298,\n    \"advice\": \"Everything you add to the truth subtracts from the truth.\"\n  },\n  {\n    \"id\": 299,\n    \"advice\": \"You are going to take a vacation.\"\n  },\n  {\n    \"id\": 300,\n    \"advice\": \"Commitment is the stuff character is made of; the power to change the face of things.\"\n  },\n  {\n    \"id\": 301,\n    \"advice\": \"A friend asks only for your time not your money.\"\n  },\n  {\n    \"id\": 302,\n    \"advice\": \"A handful of patience is worth more than a bushel of brains.\"\n  },\n  {\n    \"id\": 303,\n    \"advice\": \"To be eighty years young is more cheerful and hopeful than forty years old.\"\n  },\n  {\n    \"id\": 304,\n    \"advice\": \"A person is not wise simply because one talks a lot.\"\n  },\n  {\n    \"id\": 305,\n    \"advice\": \"It takes guts to get out of the ruts.\"\n  },\n  {\n    \"id\": 306,\n    \"advice\": \"The greatest quality is seeking to serve others.\"\n  },\n  {\n    \"id\": 307,\n    \"advice\": \"Most people, once they graduate from the school of Hard Knocks, automatically enroll.\"\n  },\n  {\n    \"id\": 308,\n    \"advice\": \"Everyone needs to be loved, especially those do not deserve it.\"\n  },\n  {\n    \"id\": 309,\n    \"advice\": \"Winning isn't everything but the will to win is.\"\n  },\n  {\n    \"id\": 310,\n    \"advice\": \"You display the wonderful traits of charm and courtesy.\"\n  },\n  {\n    \"id\": 311,\n    \"advice\": \"You will be awarded some great honor.\"\n  },\n  {\n    \"id\": 312,\n    \"advice\": \"Don't build your happiness on other's sorrow.\"\n  },\n  {\n    \"id\": 313,\n    \"advice\": \"The best thing about growing older is that it takes such a long time.\"\n  },\n  {\n    \"id\": 314,\n    \"advice\": \"You have a deep interest in all that is artistic.\"\n  },\n  {\n    \"id\": 315,\n    \"advice\": \"Kiss is not a kiss without the heart.\"\n  },\n  {\n    \"id\": 316,\n    \"advice\": \"Don't be afraid of fear.\"\n  },\n  {\n    \"id\": 317,\n    \"advice\": \"There's no point to being grown up if you can't be childish sometimes.\"\n  },\n  {\n    \"id\": 318,\n    \"advice\": \"You will learn something new every day.\"\n  },\n  {\n    \"id\": 319,\n    \"advice\": \"You can't go far in a rowboat without oars.\"\n  },\n  {\n    \"id\": 320,\n    \"advice\": \"Failure is the virtual way to prepare you for great responsibilities.\"\n  },\n  {\n    \"id\": 321,\n    \"advice\": \"Many receive advice only the wise profit by it.\"\n  },\n  {\n    \"id\": 322,\n    \"advice\": \"A banker is someone who lends you an umbrella when the sun is shining.\"\n  },\n  {\n    \"id\": 323,\n    \"advice\": \"Maturity: Do your duty without being supervised.\"\n  },\n  {\n    \"id\": 324,\n    \"advice\": \"Your cheerful outlook is one of your assets.\"\n  },\n  {\n    \"id\": 325,\n    \"advice\": \"You can't have everything... where would you put it all?\"\n  },\n  {\n    \"id\": 326,\n    \"advice\": \"You have an unusually magnetic personality.\"\n  },\n  {\n    \"id\": 327,\n    \"advice\": \"He who hurries cannot walk with dignity.\"\n  },\n  {\n    \"id\": 328,\n    \"advice\": \"You never hesitate to tackle the most difficult problems.\"\n  },\n  {\n    \"id\": 329,\n    \"advice\": \"Your emotional nature is strong and sensitive.\"\n  },\n  {\n    \"id\": 330,\n    \"advice\": \"Serious trouble will bypass you.\"\n  },\n  {\n    \"id\": 331,\n    \"advice\": \"If you're riding ahead of the heard, look back once in a while to make sure it's still there.\"\n  },\n  {\n    \"id\": 332,\n    \"advice\": \"You have an iron will, which helps you succeed in everything.\"\n  },\n  {\n    \"id\": 333,\n    \"advice\": \"Three can keep a secret if you get rid of two.\"\n  },\n  {\n    \"id\": 334,\n    \"advice\": \"Everywhere you choose to go friendly faces will greet you.\"\n  },\n  {\n    \"id\": 335,\n    \"advice\": \"Nothing gets in the way of your vision of yourself in the future.\"\n  },\n  {\n    \"id\": 336,\n    \"advice\": \"To understand is hard. Once one understands, action is easy.\"\n  },\n  {\n    \"id\": 337,\n    \"advice\": \"The philosophy of one century is the common sense of the next.\"\n  },\n  {\n    \"id\": 338,\n    \"advice\": \"You will make many changes before settling satisfactorily.\"\n  },\n  {\n    \"id\": 339,\n    \"advice\": \"When in anger, sing the alphabet.\"\n  },\n  {\n    \"id\": 340,\n    \"advice\": \"Wealth is a means to an end... not the end itself.\"\n  },\n  {\n    \"id\": 341,\n    \"advice\": \"It's high time for one of your most promising ideas.\"\n  },\n  {\n    \"id\": 342,\n    \"advice\": \"Small opportunities are often the beginning of great enterprises.\"\n  },\n  {\n    \"id\": 343,\n    \"advice\": \"People are drawn to you and look to you for advice.\"\n  },\n  {\n    \"id\": 344,\n    \"advice\": \"Keep your feet on the ground even though friends flatter you.\"\n  },\n  {\n    \"id\": 345,\n    \"advice\": \"Do a good deed anonymously. You will make a difference in your life.\"\n  },\n  {\n    \"id\": 346,\n    \"advice\": \"Financial prosperity is coming your way!\"\n  },\n  {\n    \"id\": 347,\n    \"advice\": \"A healthy body will benefit you forever.\"\n  },\n  {\n    \"id\": 348,\n    \"advice\": \"Mental activity keeps you busy at this time.\"\n  },\n  {\n    \"id\": 349,\n    \"advice\": \"Say \\\"I love you\\\" and mean it. You can't do that enough.\"\n  },\n  {\n    \"id\": 350,\n    \"advice\": \"The world is always ready to receive talent with open arms.\"\n  },\n  {\n    \"id\": 351,\n    \"advice\": \"Enjoy the small things you find on your path.\"\n  },\n  {\n    \"id\": 352,\n    \"advice\": \"Good food brings good health and longevity.\"\n  },\n  {\n    \"id\": 353,\n    \"advice\": \"The act of giving is more important than receiving.\"\n  },\n  {\n    \"id\": 354,\n    \"advice\": \"Every burden is a blessing.\"\n  },\n  {\n    \"id\": 355,\n    \"advice\": \"Prosperity is in your fortune.\"\n  },\n  {\n    \"id\": 356,\n    \"advice\": \"Your next interview will result in a job.\"\n  },\n  {\n    \"id\": 357,\n    \"advice\": \"Accept the challenges, so that you may feel the exhilaration of victory.\"\n  },\n  {\n    \"id\": 358,\n    \"advice\": \"The future belongs to those who believe in the beauty of their dreams.\"\n  },\n  {\n    \"id\": 359,\n    \"advice\": \"Peace begins with a smile.\"\n  },\n  {\n    \"id\": 360,\n    \"advice\": \"Engage in group activities that further transformation.\"\n  },\n  {\n    \"id\": 361,\n    \"advice\": \"Be satisfied with what you already own.\"\n  },\n  {\n    \"id\": 362,\n    \"advice\": \"Your business will assume vast proportions.\"\n  },\n  {\n    \"id\": 363,\n    \"advice\": \"You have a potential urge and the ability for accomplishment.\"\n  },\n  {\n    \"id\": 364,\n    \"advice\": \"People find it difficult to resist your persuasive manner.\"\n  },\n  {\n    \"id\": 365,\n    \"advice\": \"Action is worry's worst enemy.\"\n  },\n  {\n    \"id\": 366,\n    \"advice\": \"Men do not fail... they give up trying.\"\n  },\n  {\n    \"id\": 367,\n    \"advice\": \"Are your legs tired? You been running through someone's mind ALL day long.\"\n  },\n  {\n    \"id\": 368,\n    \"advice\": \"You find beauty in ordinary things. Do not loose this ability.\"\n  },\n  {\n    \"id\": 369,\n    \"advice\": \"Will you let compassion to manage your wishes.\"\n  },\n  {\n    \"id\": 370,\n    \"advice\": \"A truly great person never puts away the simplicity of a child.\"\n  },\n  {\n    \"id\": 371,\n    \"advice\": \"Home is where your heart is.\"\n  },\n  {\n    \"id\": 372,\n    \"advice\": \"A huge fortune at home is not as good as money in use.\"\n  },\n  {\n    \"id\": 373,\n    \"advice\": \"Humor is the affirmation of dignity.\"\n  },\n  {\n    \"id\": 374,\n    \"advice\": \"Your heavy desire, only allow you to see what you are looking for.\"\n  },\n  {\n    \"id\": 375,\n    \"advice\": \"TEAMS - Together Everyone Achieves More Success.\"\n  },\n  {\n    \"id\": 376,\n    \"advice\": \"You have a heart of gold.\"\n  },\n  {\n    \"id\": 377,\n    \"advice\": \"Life to you is a bold and dashing responsibility.\"\n  },\n  {\n    \"id\": 378,\n    \"advice\": \"Want to learn how to love, start with the one you hate.\"\n  },\n  {\n    \"id\": 379,\n    \"advice\": \"There is beauty in simplicity.\"\n  },\n  {\n    \"id\": 380,\n    \"advice\": \"Learning is a treasure which accompanies us everywhere.\"\n  },\n  {\n    \"id\": 381,\n    \"advice\": \"It is much easier to be critical than to be correct.\"\n  },\n  {\n    \"id\": 382,\n    \"advice\": \"This person's love is just and true. You may rely on it.\"\n  },\n  {\n    \"id\": 383,\n    \"advice\": \"You will be spending time outdoors, in the mountains, near water.\"\n  },\n  {\n    \"id\": 384,\n    \"advice\": \"Friends long absent are coming back to you.\"\n  },\n  {\n    \"id\": 385,\n    \"advice\": \"He joyfulness of a man prolongeth his days.\"\n  },\n  {\n    \"id\": 386,\n    \"advice\": \"Regenerate your system through diet and exercise. Save the cookies!\"\n  },\n  {\n    \"id\": 387,\n    \"advice\": \"Listen to the wisdom of the old.\"\n  },\n  {\n    \"id\": 388,\n    \"advice\": \"Even the toughest of days have bright spots, just do your best.\"\n  },\n  {\n    \"id\": 389,\n    \"advice\": \"Your talents will be recognized and suitably rewarded.\"\n  },\n  {\n    \"id\": 390,\n    \"advice\": \"Fortitude is the guard and support of the other virtues.\"\n  },\n  {\n    \"id\": 391,\n    \"advice\": \"When the moment comes, take the one from the right.\"\n  },\n  {\n    \"id\": 392,\n    \"advice\": \"Old friends make best friends.\"\n  },\n  {\n    \"id\": 393,\n    \"advice\": \"You have an ability to sense and know higher truth.\"\n  },\n  {\n    \"id\": 394,\n    \"advice\": \"People learn little from success, but much from failure.\"\n  },\n  {\n    \"id\": 395,\n    \"advice\": \"Keep in mind your most cherished dreams of the future.\"\n  },\n  {\n    \"id\": 396,\n    \"advice\": \"You always do things the right way.\"\n  },\n  {\n    \"id\": 397,\n    \"advice\": \"Act boldly and unseen forces will come to your aid.\"\n  },\n  {\n    \"id\": 398,\n    \"advice\": \"Join a new club today, you'll be surprised.\"\n  },\n  {\n    \"id\": 399,\n    \"advice\": \"Your many hidden talents will become obvious to those around you.\"\n  },\n  {\n    \"id\": 400,\n    \"advice\": \"Some people never have anything except ideas, Go do it.\"\n  },\n  {\n    \"id\": 401,\n    \"advice\": \"A real patriot is the fellow who gets a parking ticket and rejoices that the system works.\"\n  },\n  {\n    \"id\": 402,\n    \"advice\": \"You are more likely to give than give in.\"\n  },\n  {\n    \"id\": 403,\n    \"advice\": \"If you bite the hand that feeds you, it wont taste as good as the food you were fed.\"\n  },\n  {\n    \"id\": 404,\n    \"advice\": \"The heart has its reasons, which the reasons dos not know.\"\n  },\n  {\n    \"id\": 405,\n    \"advice\": \"Even the longest of days will come to an end.\"\n  },\n  {\n    \"id\": 406,\n    \"advice\": \"You enjoy giving gifts of yourself to others, you will be rewarded!\"\n  },\n  {\n    \"id\": 407,\n    \"advice\": \"There are no stupid questions, just stupid answer.\"\n  },\n  {\n    \"id\": 408,\n    \"advice\": \"Success is an accumulation of successful days.\"\n  },\n  {\n    \"id\": 409,\n    \"advice\": \"You have a friendly heart and are well admired.\"\n  },\n  {\n    \"id\": 410,\n    \"advice\": \"Just because you put tap shoes on an elephant does not mean it can dance.\"\n  },\n  {\n    \"id\": 411,\n    \"advice\": \"Start to look for you faults if you never made mistakes.\"\n  },\n  {\n    \"id\": 412,\n    \"advice\": \"Good sense is the master of human life.\"\n  },\n  {\n    \"id\": 413,\n    \"advice\": \"Your luck has been completely changed today.\"\n  },\n  {\n    \"id\": 414,\n    \"advice\": \"Ask advice, but use your own common sense.\"\n  },\n  {\n    \"id\": 415,\n    \"advice\": \"A judgment will rule in your favor.\"\n  },\n  {\n    \"id\": 416,\n    \"advice\": \"Your winsome smile will be your sure protection.\"\n  },\n  {\n    \"id\": 417,\n    \"advice\": \"Go confidently in the direction of your dreams.\"\n  },\n  {\n    \"id\": 418,\n    \"advice\": \"The skills you have gathered will one day come in handy.\"\n  },\n  {\n    \"id\": 419,\n    \"advice\": \"Look forward to great fortune and a new lease on life!\"\n  },\n  {\n    \"id\": 420,\n    \"advice\": \"You will travel to many places.\"\n  },\n  {\n    \"id\": 421,\n    \"advice\": \"You will enjoy a trip to Asia.\"\n  },\n  {\n    \"id\": 422,\n    \"advice\": \"Better to do something imperfectly than to do nothing perfectly.\"\n  },\n  {\n    \"id\": 423,\n    \"advice\": \"Pure logic is the ruin of the spirit.\"\n  },\n  {\n    \"id\": 424,\n    \"advice\": \"You will have a long and wealthy life.\"\n  },\n  {\n    \"id\": 425,\n    \"advice\": \"Your smile always brightens the cloudiest days.\"\n  },\n  {\n    \"id\": 426,\n    \"advice\": \"A friend in the market is better than money in the purse.\"\n  },\n  {\n    \"id\": 427,\n    \"advice\": \"A new venture will be a success.\"\n  },\n  {\n    \"id\": 428,\n    \"advice\": \"It is by those who have suffered that the world is most advanced.\"\n  },\n  {\n    \"id\": 429,\n    \"advice\": \"Everything must have a beginning.\"\n  },\n  {\n    \"id\": 430,\n    \"advice\": \"The important thing is to express yourself.\"\n  },\n  {\n    \"id\": 431,\n    \"advice\": \"The real meaning of enlightenment is to gaze with undimmed eyes on all undimmed.\"\n  },\n  {\n    \"id\": 432,\n    \"advice\": \"New and rewarding opportunities will soon develop for you.\"\n  },\n  {\n    \"id\": 433,\n    \"advice\": \"Seek to assert your devotion when a worthy situation arises.\"\n  },\n  {\n    \"id\": 434,\n    \"advice\": \"The glass is not half-empty, it's just twice too big.\"\n  },\n  {\n    \"id\": 435,\n    \"advice\": \"A feeling is an idea with roots.\"\n  },\n  {\n    \"id\": 436,\n    \"advice\": \"Your present plans are going to succeed.\"\n  },\n  {\n    \"id\": 437,\n    \"advice\": \"A sound mind and healthy body bring many happy events to your family.\"\n  },\n  {\n    \"id\": 438,\n    \"advice\": \"Plan your work and work your plan.\"\n  },\n  {\n    \"id\": 439,\n    \"advice\": \"Courage is rightly considered the foremost of the virtues, for upon it, all others depend.\"\n  },\n  {\n    \"id\": 440,\n    \"advice\": \"Say hello to others. You will have a happier day.\"\n  },\n  {\n    \"id\": 441,\n    \"advice\": \"Don't let your limitations overshadow your talents.\"\n  },\n  {\n    \"id\": 442,\n    \"advice\": \"Love is the affinity which links and draws together the elements of the world.\"\n  },\n  {\n    \"id\": 443,\n    \"advice\": \"Character development is the true aim of education.\"\n  },\n  {\n    \"id\": 444,\n    \"advice\": \"Trust him, but sill keep your eyes open.\"\n  },\n  {\n    \"id\": 445,\n    \"advice\": \"He who is shipwrecked the second time cannot lay the blame on Neptune.\"\n  },\n  {\n    \"id\": 446,\n    \"advice\": \"To get respect from others, one must first give respect to others.\"\n  },\n  {\n    \"id\": 447,\n    \"advice\": \"Walk the words you talk and talk the words you walk.\"\n  },\n  {\n    \"id\": 448,\n    \"advice\": \"People forget how fast you did a job - but they remember how well you did it.\"\n  },\n  {\n    \"id\": 449,\n    \"advice\": \"The time is right to make new friends.\"\n  },\n  {\n    \"id\": 450,\n    \"advice\": \"Do what is right, not what you should.\"\n  },\n  {\n    \"id\": 451,\n    \"advice\": \"Punctuality is the politeness of kings and the duty of gentle people everywhere.\"\n  },\n  {\n    \"id\": 452,\n    \"advice\": \"If you wait too long for the perfect moment, the perfect moment will pass you by.\"\n  },\n  {\n    \"id\": 453,\n    \"advice\": \"Your heart is pure, and your mind clear, and soul devout.\"\n  },\n  {\n    \"id\": 454,\n    \"advice\": \"Walk with a good heart and you will run with success.\"\n  },\n  {\n    \"id\": 455,\n    \"advice\": \"We should not let our fears hold us back from pursuing our hopes.\"\n  },\n  {\n    \"id\": 456,\n    \"advice\": \"Do not mistake temptation for opportunity.\"\n  },\n  {\n    \"id\": 457,\n    \"advice\": \"You will soon meet the person you admire.\"\n  },\n  {\n    \"id\": 458,\n    \"advice\": \"A good time to start something new.\"\n  },\n  {\n    \"id\": 459,\n    \"advice\": \"All generalities are false.\"\n  },\n  {\n    \"id\": 460,\n    \"advice\": \"Come back later... I am sleeping. (yes, cookies need their sleep too)\"\n  },\n  {\n    \"id\": 461,\n    \"advice\": \"If at first you do not succeed... try something harder.\"\n  },\n  {\n    \"id\": 462,\n    \"advice\": \"Your good listening skills will open many doors.\"\n  },\n  {\n    \"id\": 463,\n    \"advice\": \"Two people shorten a road.\"\n  },\n  {\n    \"id\": 464,\n    \"advice\": \"Stop waiting! Buy that ticket take that special trip!\"\n  },\n  {\n    \"id\": 465,\n    \"advice\": \"A problem clearly stated is a problem half solved.\"\n  },\n  {\n    \"id\": 466,\n    \"advice\": \"Accept your independence and use it wisely.\"\n  },\n  {\n    \"id\": 467,\n    \"advice\": \"May the warm winds of heaven blow softly upon your sprint.\"\n  }\n]\n"
  },
  {
    "path": "packages/utils/content/why.json",
    "content": "[\n  \"why are there bees in my oak tree?\",\n  \"why is there a girl in madden 12?\",\n  \"why are eels so long?\",\n  \"why are there usb ports on the wii?\",\n  \"why is there radiation on airplanes?\",\n  \"why are hd videos so choppy?\",\n  \"why is ephedrine legal?\",\n  \"why is luanda so expensive?\",\n  \"why do cicadas die?\",\n  \"why is hydrogen bonding important?\",\n  \"why is rwanda poor?\",\n  \"why are cloth diapers better?\",\n  \"why are there numbers after www?\",\n  \"why are immigrants good for america?\",\n  \"why are there abortion laws?\",\n  \"why do companies fdi?\",\n  \"why is oil going up?\",\n  \"why is oklahoma called tornado alley?\",\n  \"why are zircons ideal for age-dating the earth?\",\n  \"why are there riots in turkey 2013?\",\n  \"why are there spiders in my room?\",\n  \"why is mcmurphy in the ward?\",\n  \"why are sweatshops good?\",\n  \"why are the sf giants wearing new uniforms?\",\n  \"why is fbi searching for jimmy hoffa?\",\n  \"why are lsu and oregon playing in texas?\",\n  \"why is there no mcdonalds in montpelier vt?\",\n  \"why is there a kennedy curse?\",\n  \"why do vegetables give you gas?\",\n  \"why is there death row?\",\n  \"why are there lines on my laptop screen?\",\n  \"why are there two congos?\",\n  \"why are there eye colors?\",\n  \"why are there 7 days in a week?\",\n  \"why there are 7 days in a week?\",\n  \"why are there zippers on sweatpants?\",\n  \"why are there eighteen holes on a golf course?\",\n  \"why do utis hurt?\",\n  \"why do spayed female dogs hump?\",\n  \"why are cvs rejected?\",\n  \"why are zombies slow?\",\n  \"why is oedipus a respected leader?\",\n  \"why do people use ubuntu?\",\n  \"why is there an epidemic of pancreatic cancer?\",\n  \"why are there two iexplore processes running?\",\n  \"why are there 2 ny football teams?\",\n  \"why is dc so ghetto?\",\n  \"why are ftb servers so laggy?\",\n  \"why are vapors important to the burning process?\",\n  \"why is there simplified chinese?\",\n  \"why are there tadpoles in my pool?\",\n  \"why do we pray ks2?\",\n  \"why are tornadoes hard to predict?\",\n  \"why are there joints in the skull?\",\n  \"why are there triangles everywhere?\",\n  \"why are there gold flakes in goldschlager?\",\n  \"why do feet sweat?\",\n  \"why is he lying there?\",\n  \"why are wrestlers hair always wet?\",\n  \"why is ktm so expensive?\",\n  \"why is lucy significant?\",\n  \"why are there eclipses?\",\n  \"why do farmers use ddt?\",\n  \"why are there no ogres in skyrim?\",\n  \"why is cbs news credible?\",\n  \"why is pms so bad?\",\n  \"why are type 1a supernovae important?\",\n  \"why are russian troops coming to america?\",\n  \"why do unlock codes cost money?\",\n  \"why is my vgina so itchy?\",\n  \"why is apple suing samsung?\",\n  \"why is udyr a good jungler?\",\n  \"why do hmrc check tax returns?\",\n  \"why are there extra books in the catholic bible?\",\n  \"why do authors use allusions?\",\n  \"why are there air bubbles when i paint my nails?\",\n  \"why do authors use figurative language?\",\n  \"why do umpires have stopwatches?\",\n  \"why is protein important in a cell?\",\n  \"why is keepvid not working?\",\n  \"why are there equal numbers of protons and electrons?\",\n  \"why are there zombies in the walking dead?\",\n  \"why is dora not on netflix?\",\n  \"why are skylines illegal in the us?\",\n  \"why is sds page used?\",\n  \"why do relationships change?\",\n  \"why is customer service important?\",\n  \"why do jovian planets have rings?\",\n  \"why is dna called the blueprint for life?\",\n  \"why is higher education important?\",\n  \"why are there marine fossils on mt everest?\",\n  \"why is space exploration important?\",\n  \"why are cps on strike?\",\n  \"why do i feel light headed?\",\n  \"why are there dragonflies everywhere?\",\n  \"why are there letters on mountains in utah?\",\n  \"why are figs good for you?\",\n  \"why are zooplankton and phytoplankton important?\",\n  \"why is awake rated r?\",\n  \"why is wheat bread bad for you?\",\n  \"why do people hate the uaw?\",\n  \"why is ea a bad company?\",\n  \"why are hot cheetos so good?\",\n  \"why is eharmony so expensive?\",\n  \"why are there bees in my room?\",\n  \"why is zn(no3)2 acidic?\",\n  \"why are guys so complicated?\",\n  \"why is ozone bent?\",\n  \"why are bsf men so angry?\",\n  \"why are there no diablo iii reviews?\",\n  \"why do waves come in sets?\",\n  \"why are zucchinis green?\",\n  \"why are oakleys so good?\",\n  \"why is msds important?\",\n  \"why are fords so bad?\",\n  \"why is umbra not in skyrim?\",\n  \"why are there 2 races in sbk?\",\n  \"why do ultrasound on thyroid?\",\n  \"why are hdmi cables directional?\",\n  \"why is kyle off smash?\",\n  \"why are mcdoubles so good?\",\n  \"why are embryonic stem cells important?\",\n  \"why is mf grimm in a wheelchair?\",\n  \"why is kublai khan famous?\",\n  \"why is ww2 important?\",\n  \"why do road bikers shave legs?\",\n  \"why is cs2 nonpolar?\",\n  \"why is there no 20 mm socket?\",\n  \"why is community service important?\",\n  \"why is ayahuasca illegal?\",\n  \"why are csr programs important?\",\n  \"why is ebit important?\",\n  \"why are guys players?\",\n  \"why is there bugs in my room?\",\n  \"why is cvs.com down?\",\n  \"why is vanilla so expensive?\",\n  \"why is gluttony a sin?\",\n  \"why do awkward silences happen?\",\n  \"why is there illegal immigration?\",\n  \"why is cdcl3 a triplet?\",\n  \"why kva is used in transformer?\",\n  \"why is there dh in american league?\",\n  \"why is ppm important?\",\n  \"why is mc hammer broke?\",\n  \"why are we gb in the olympics?\",\n  \"why are there grooms cakes?\",\n  \"why are european cars so expensive?\",\n  \"why do people celebrate kwanzaa?\",\n  \"why are wire hangers bad?\",\n  \"why are kbb values so low?\",\n  \"why is crossing over important?\",\n  \"why do xerophytes have long roots?\",\n  \"why is usability important?\",\n  \"why is youtube so slow?\",\n  \"why are butterfly knives illegal in california?\",\n  \"why is yellowstone called yellowstone?\",\n  \"why are vegetables good for you?\",\n  \"why are there gangs in prison?\",\n  \"why is hspa+ considered 4g?\",\n  \"why is there a dc after washington?\",\n  \"why are there seagulls in minnesota?\",\n  \"why are igloos dome shaped?\",\n  \"why do fingers swell?\",\n  \"why do wife cheat?\",\n  \"why is excretion important for homeostasis?\",\n  \"why are 49ers ahead of saints?\",\n  \"why is zero a number?\",\n  \"why do diabetics pee so much?\",\n  \"why do flying fish fly?\",\n  \"why is nnamdi so good?\",\n  \"why were there jim crow laws?\",\n  \"why do ethiopians have lip plates?\",\n  \"why is there caffeine in aspirin?\",\n  \"why is nh4 positive?\",\n  \"why are there sketch artists in courtrooms?\",\n  \"why are cars so expensive?\",\n  \"why are there sulfites in shampoo?\",\n  \"why do azeotropes occur?\",\n  \"why is there no row 33 on planes?\",\n  \"why is there violence yahoo?\",\n  \"why do wasps build nests?\",\n  \"why is there expiration dates on car seats?\",\n  \"why are there numbers on the back of fortune cookies?\",\n  \"why is shen banned?\",\n  \"why are phone plans so expensive?\",\n  \"why do children lie?\",\n  \"why is crying good?\",\n  \"why is utorrent stuck on connecting to peers?\",\n  \"why are there africans in india?\",\n  \"why are symbiotic relationships critical to the ecology of sponges?\",\n  \"why is ootd?\",\n  \"why are nsw cockroaches?\",\n  \"why are kansas flags at half mast?\",\n  \"why do llamas have long necks?\",\n  \"why do iphone notes disappear?\",\n  \"why are there circles on google earth?\",\n  \"why is there weight loss in diabetes?\",\n  \"why are men tired after ejaculation?\",\n  \"why do nails peel?\",\n  \"why do hp printers go offline?\",\n  \"why are wycombe wanderers called the chairboys?\",\n  \"why is btc-e cheaper?\",\n  \"why dfd are used?\",\n  \"why are there dwarves?\",\n  \"why is oceanography important?\",\n  \"why is randy jackson leaving idol?\",\n  \"why is omeprazole prescribed?\",\n  \"why is ocean acidification bad?\",\n  \"why do vpn connections drop?\",\n  \"why are owls seen as wise?\",\n  \"why do we exercise ks1?\",\n  \"why are there strawberries on my?\",\n  \"why is there gm food?\",\n  \"why is lhc so large?\",\n  \"why are there futures markets?\",\n  \"why is there a cauda equina?\",\n  \"why is meiosis necessary?\",\n  \"why are ebay sales so slow?\",\n  \"why are there people for free trade?\",\n  \"why is there snot in my underwear?\",\n  \"why are there refugees from sri lanka?\",\n  \"why are toilets called wc?\",\n  \"why is jill back on wipeout?\",\n  \"why are gm crops good?\",\n  \"why are sneakers called sneakers?\",\n  \"why do people like ucla?\",\n  \"why are bees attracted to me?\",\n  \"why is imagery important?\",\n  \"why are snails so slow?\",\n  \"why are there small bumps on my legs?\",\n  \"why is whaling bad?\",\n  \"why is there no 16mm wrench?\",\n  \"why are jillian and grant divorce?\",\n  \"why do hydrogen and fluorine react?\",\n  \"why is otitis media common in children?\",\n  \"why are the giants wearing mhk?\",\n  \"why do i like nvidia?\",\n  \"why are some nuclei nmr active?\",\n  \"why are atoms uncharged?\",\n  \"why is greek yogurt good for you?\",\n  \"why are there insect legs in chocolate bars?\",\n  \"why do multifocal pvcs look different?\",\n  \"why is there two ways to spell gray?\",\n  \"why do all zippers say ykk on them?\",\n  \"why is there thick blood in my period?\",\n  \"why is iit coaching necessary?\",\n  \"why are wrestlers so big?\",\n  \"why is there an eject button on the dvd remote?\",\n  \"why do teachers give hw?\",\n  \"why do we need title ix?\",\n  \"why are wet things darker?\",\n  \"why is there no road to churchill?\",\n  \"why are synthetic drugs so dangerous?\",\n  \"why is there iron in hemoglobin?\",\n  \"why is there a lawsuit against lcd?\",\n  \"why are girls so mean?\",\n  \"why are there holes in my shirts?\",\n  \"why are there dry counties in texas?\",\n  \"why are rhino horns poached?\",\n  \"why are jeans blue?\",\n  \"why is lv so famous?\",\n  \"why do eels have toxic blood?\",\n  \"why is there a tax on ultimate team?\",\n  \"why are people boycotting tlc?\",\n  \"why are dmv workers so mean?\",\n  \"why are phones so expensive?\",\n  \"why is mental health important?\",\n  \"why are there ads on twitter?\",\n  \"why is there jelly blood?\",\n  \"why do they call it the clap?\",\n  \"why are gametes haploid?\",\n  \"why is there milk in bread?\",\n  \"why do designers use macs?\",\n  \"why is jsp recommended for web development?\",\n  \"why is china called china?\",\n  \"why is rpl important?\",\n  \"why do i owe nj tax?\",\n  \"why are there differing opinions on the impact of globalisation?\",\n  \"why do canadians say aye?\",\n  \"why are there gm foods?\",\n  \"why are ghosts cold?\",\n  \"why do you like ucla?\",\n  \"why is there so much spam on aol?\",\n  \"why is there religion?\",\n  \"why is there frost on my dehumidifier?\",\n  \"why are olives good for you?\",\n  \"why is wyoming so boring?\",\n  \"why are hippos so dangerous?\",\n  \"why are there women on espn?\",\n  \"why is taco bell so cheap?\",\n  \"why are there ice cubes in urinals?\",\n  \"why is there an owl in the corner of the dollar bill?\",\n  \"why do our fingers get wrinkly in water?\",\n  \"why do hrothgar and his council?\",\n  \"why do umn lesions cause hyperreflexia?\",\n  \"why do cnidarians have radial symmetry?\",\n  \"why is venus so bright?\",\n  \"why is new york the empire state?\",\n  \"why do we measure gdp deflator?\",\n  \"why do parrots live so long?\",\n  \"why do ocular migraines occur?\",\n  \"why are gb cyclists so good?\",\n  \"why is oxygen a gas at room temperature?\",\n  \"why do cats have udders?\",\n  \"why are turbans worn?\",\n  \"why are there seashells on mountains?\",\n  \"why do most zippers say ykk?\",\n  \"why do clams have pearls?\",\n  \"why do volcanoes exist?\",\n  \"why do zebras live in groups?\",\n  \"why do pirates wear eye patches?\",\n  \"why are there primary elections?\",\n  \"why do sloths rape?\",\n  \"why do koreans add a to a name?\",\n  \"why are there two options on a stapler?\",\n  \"why are most cars fwd?\",\n  \"why do americans hate socialism?\",\n  \"why are there small bumps on my lips?\",\n  \"why are pga players wearing 17?\",\n  \"why are there two kratos?\",\n  \"why do taste buds hurt?\",\n  \"why do ipads get so hot?\",\n  \"why do my fps drop in lol?\",\n  \"why are rain clouds grey?\",\n  \"why are they called oopsie rolls?\",\n  \"why is there jelly in my dogs poop?\",\n  \"why is there an umlaut in citroen?\",\n  \"why are there empty cities in china?\",\n  \"why are split ends bad?\",\n  \"why are there apes?\",\n  \"why is there beef gelatin in cereal?\",\n  \"why do women like bad boys?\",\n  \"why are there crazy laws?\",\n  \"why are oats a superfood?\",\n  \"why are ketones acidic?\",\n  \"why are mcdonald\\\"s burgers so good?\",\n  \"why do clouds float?\",\n  \"why do potatoes sprout?\",\n  \"why do people visit uae?\",\n  \"why do i have svchost?\",\n  \"why is there gmc and chevrolet?\",\n  \"why are skateboarders so hot?\",\n  \"why are israelis banned from uae?\",\n  \"why are locusts kosher?\",\n  \"why is there no bob dylan songs on youtube?\",\n  \"why are democrats such wussies?\",\n  \"why are you there cat?\",\n  \"why is mcdonalds so expensive?\",\n  \"why are nba players allowed in the olympics?\",\n  \"why do apps close by themselves?\",\n  \"why do glass pipes have a hole?\",\n  \"why are girls attracted to jerks?\",\n  \"why are yugioh cards so expensive?\",\n  \"why are wwe ppvs so expensive?\",\n  \"why are cbs shows not on hulu?\",\n  \"why do pyramid schemes collapse?\",\n  \"why do men like fwb?\",\n  \"why do keens smell so bad?\",\n  \"why are there snails in my house?\",\n  \"why do swollen lymph nodes hurt?\",\n  \"why are there arranged marriages?\",\n  \"why are wwe tickets so expensive?\",\n  \"why is dc so expensive?\",\n  \"why do kids tp houses?\",\n  \"why is there so much kryptonite on earth?\",\n  \"why do khatna in islam?\",\n  \"why do dwarf hamsters bite each other?\",\n  \"why is zno piezoelectric?\",\n  \"why is nh4oh a weak base?\",\n  \"why is dna an acid?\",\n  \"why is there maggots in my house?\",\n  \"why are there 2 ny nfl teams?\",\n  \"why are there kids in guantanamo bay?\",\n  \"why are drugs bad?\",\n  \"why are fermentation reactions important for cells?\",\n  \"why are nfl players so big?\",\n  \"why there is no tsunami?\",\n  \"why do gfci trip?\",\n  \"why is nre account needed?\",\n  \"why do guys cheat?\",\n  \"why is gfr constant?\",\n  \"why are there bye weeks in the nfl?\",\n  \"why are mp3 players so popular?\",\n  \"why is ff6 so good?\",\n  \"why do fps drop?\",\n  \"why do gmail accounts get hacked?\",\n  \"why are mkv files so choppy?\",\n  \"why are phobos and deimos not spherical?\",\n  \"why is there no cure for ibs?\",\n  \"why do khatam?\",\n  \"why do i need an sbc?\",\n  \"why are europeans so hot?\",\n  \"why is there nitrogen in my tires?\",\n  \"why do mlm?\",\n  \"why are there surveys on downloads?\",\n  \"why are there apple stickers?\",\n  \"why are there beatles everywhere?\",\n  \"why is ups shipping so expensive?\",\n  \"why are jaguars endangered?\",\n  \"why do humans like music?\",\n  \"why do geese bob their heads?\",\n  \"why are rivers important ks2?\",\n  \"why do people live in nj?\",\n  \"why do silent farts smell worse?\",\n  \"why are there earthquakes happening in oklahoma?\",\n  \"why are there underground caverns in the yucatan peninsula?\",\n  \"why is overcrowding in prisons a problem?\",\n  \"why is hno3 a strong acid?\",\n  \"why are there no iphone 5 cases?\",\n  \"why do onions make me cry?\",\n  \"why are hfcs bad for you?\",\n  \"why are plants important?\",\n  \"why do i need vps?\",\n  \"why are there red bumps on my chest?\",\n  \"why are ak 47 so reliable?\",\n  \"why do iui vs ivf?\",\n  \"why are luxury cars rwd?\",\n  \"why is there drug trafficking?\",\n  \"why is ramsay torturing theon?\",\n  \"why are lloyds selling branches?\",\n  \"why are there rebels in syria?\",\n  \"why do viruses kill?\",\n  \"why those ttl are increased by one?\",\n  \"why is ozone polar?\",\n  \"why are there no good mmos?\",\n  \"why are there no women umpires in baseball?\",\n  \"why is uars falling to earth?\",\n  \"why is there a zit on my balls?\",\n  \"why do keloids grow?\",\n  \"why do people call christina xtina?\",\n  \"why do people still use xp?\",\n  \"why are nipples itchy?\",\n  \"why are cnc machines safe?\",\n  \"why are russian men so rude?\",\n  \"why do pmi rates vary?\",\n  \"why are agendas important?\",\n  \"why are there always bibles in hotels?\",\n  \"why is this is the end rated r?\",\n  \"why is there no home and away this week?\",\n  \"why are osmosis and diffusion important?\",\n  \"why do notes disappear from iphone 5?\",\n  \"why are there multiple pairs of salivary glands?\",\n  \"why are there still racist people?\",\n  \"why are there gargoyles on cathedrals?\",\n  \"why is bsd better than linux?\",\n  \"why do ohioans say pop?\",\n  \"why is iiml called hell?\",\n  \"why is there salt in the sea?\",\n  \"why are the warriors called golden state?\",\n  \"why is africa starving?\",\n  \"why are there american flags everywhere?\",\n  \"why are there plastic balls in guinness cans?\",\n  \"why are oxymorons effective?\",\n  \"why are books better than tv?\",\n  \"why do bbc use roman numerals?\",\n  \"why are ubuntu packages held back?\",\n  \"why are there fireworks in nyc right now?\",\n  \"why is hrc logo red?\",\n  \"why are omega 3s good?\",\n  \"why is cj corona on trial?\",\n  \"why is there oil in my airbox?\",\n  \"why are there asteroids in space?\",\n  \"why are files red in xcode?\",\n  \"why do atoms have no charge?\",\n  \"why is ocean water bad to drink?\",\n  \"why do effervescent tablets dissolve in water?\",\n  \"why do we celebrate bhoto jatra?\",\n  \"why are nhl home jerseys dark?\",\n  \"why are khakis called khakis?\",\n  \"why are there cicadas everywhere?\",\n  \"why are macbooks so expensive?\",\n  \"why is there no mtw pennant?\",\n  \"why are there victimless crimes?\",\n  \"why are oats good for bodybuilding?\",\n  \"why do bystanders fail to intervene?\",\n  \"why is there holes in boxers?\",\n  \"why are there global inequalities?\",\n  \"why are cucumbers good for you?\",\n  \"why is heracross uu?\",\n  \"why do cysts come back?\",\n  \"why do horses bite?\",\n  \"why are lga infants at risk for hypoglycemia?\",\n  \"why do ties exist?\",\n  \"why do lymph nodes swell up?\",\n  \"why are employers so cheap?\",\n  \"why is there graffiti on the nurburgring?\",\n  \"why are dvd-rs purple?\",\n  \"why are there meteorites from mars in antarctica?\",\n  \"why do cpr training?\",\n  \"why are there tornadoes in the us?\",\n  \"why are humans weak in dbz?\",\n  \"why is there us military presence in turkey?\",\n  \"why is there violence in mexico?\",\n  \"why don\\\"t you get a job lyrics?\",\n  \"why do llamas abort fetuses?\",\n  \"why is rtti bad?\",\n  \"why are ngk spark plugs better?\",\n  \"why do grown men watch mlp?\",\n  \"why is there dust in my house?\",\n  \"why are axolotls illegal?\",\n  \"why are hsa plans more expensive?\",\n  \"why are there double rainbows?\",\n  \"why is string theory wrong?\",\n  \"why are there new 5 euro notes?\",\n  \"why are there squirrels in my attic?\",\n  \"why is uranus the coldest planet?\",\n  \"why is ftb lagging?\",\n  \"why are there cyclones in australia?\",\n  \"why are zinc complexes colorless?\",\n  \"why are iceland and greenland named?\",\n  \"why is there human trafficking in united states?\",\n  \"why is there old ironforge?\",\n  \"why do wasps sting?\",\n  \"why is there ice on my furnace?\",\n  \"why do koreans hate japan?\",\n  \"why are there mines in the ocean?\",\n  \"why do iphones freeze?\",\n  \"why do we use fm radio?\",\n  \"why do ghouls fall in love online?\",\n  \"why are dc flags half mast?\",\n  \"why are you interested in working for red robin?\",\n  \"why is there an eiffel tower in sailor moon?\",\n  \"why is treasure by bruno mars explicit?\",\n  \"why are there x\\\"s in the departed?\",\n  \"why is wyoming called wyoming?\",\n  \"why do exes play mind games?\",\n  \"why do gfci outlets trip?\",\n  \"why do nl pitchers bat?\",\n  \"why is jwoww called jwoww?\",\n  \"why are nwu blue?\",\n  \"why are knots different than mph?\",\n  \"why do ppl cry?\",\n  \"why are there sanctions on north korea?\",\n  \"why do ecosystems have carrying capacities?\",\n  \"why is coffee good for you?\",\n  \"why are there maggots in my pool?\",\n  \"why is jcpenney saying sorry?\",\n  \"why are big fierce animals rare?\",\n  \"why is cf4 polar?\",\n  \"why are md flags at half mast today?\",\n  \"why are kurds discriminated against?\",\n  \"why are erasers pink?\",\n  \"why is wrestling so fake?\",\n  \"why is gb called blighty?\",\n  \"why are illustrations important?\",\n  \"why do tornadoes occur?\",\n  \"why is there caffeine in excedrin?\",\n  \"why are ikea meatballs so good?\",\n  \"why do bf hold gf waist?\",\n  \"why is there a pyramid on the american dollar?\",\n  \"why do kenyans win marathons?\",\n  \"why is t mac not playing?\",\n  \"why are there commercials on xm radio?\",\n  \"why do hris fail?\",\n  \"why are gmos made?\",\n  \"why is there tension between us and north korea?\",\n  \"why do tv shows censor brands?\",\n  \"why do firewalls block udp?\",\n  \"why is ogg better than mp3?\",\n  \"why is into the wild rated r?\",\n  \"why are iguanas illegal in ny?\",\n  \"why are hsas good?\",\n  \"why is wyoming the cowboy state?\",\n  \"why are tvs so cheap?\",\n  \"why are sweeteners bad?\",\n  \"why are abortions good?\",\n  \"why is mhc polymorphism important?\",\n  \"why do x represent kisses?\",\n  \"why are aztecs famous?\",\n  \"why do adults wet the bed?\",\n  \"why is mba?\",\n  \"why is xlr better?\",\n  \"why do ducklings chirp?\",\n  \"why do tsunamis travel so fast?\",\n  \"why do frogs croak?\",\n  \"why are sodas called soft drinks?\",\n  \"why is hr so slow?\",\n  \"why is there a squid in hockey?\",\n  \"why do gnats fly in my face?\",\n  \"why are atoms electrically neutral?\",\n  \"why do veterans become homeless?\",\n  \"why is ayers rock famous?\",\n  \"why are dlp tvs so cheap?\",\n  \"why do people say kthanksbye?\",\n  \"why is there zero gravity in space?\",\n  \"why is awkward not on demand?\",\n  \"why are ww1 soldiers called doughboys?\",\n  \"why is ivory so popular?\",\n  \"why do ddos attacks happen?\",\n  \"why are axioms necessary?\",\n  \"why is bad boys rated r?\",\n  \"why are there no female djs guardian?\",\n  \"why are there grooves in dna?\",\n  \"why are there so many country awards?\",\n  \"why do pc games need steam?\",\n  \"why are orange trees covered with netting?\",\n  \"why do pm&r?\",\n  \"why are symbols and motifs used in literature?\",\n  \"why do opiates make your nose itch?\",\n  \"why is lil scrappy in jail 2013?\",\n  \"why is yawning contagious vsauce?\",\n  \"why are oils important?\",\n  \"why do iphone users hate android?\",\n  \"why do varicose veins form?\",\n  \"why are kryptonians human?\",\n  \"why is there heat lightning?\",\n  \"why is there lake effect snow?\",\n  \"why are mushrooms growing in my lawn?\",\n  \"why are sgrhos poodles?\",\n  \"why are tips going down?\",\n  \"why is lvs dropping?\",\n  \"why is there no way as a repository for pollution?\",\n  \"why are there more indirect that is tendinous?\",\n  \"why are there pop up ads on chrome?\",\n  \"why is there empty net in hockey?\",\n  \"why is xfinity streaming so slow?\",\n  \"why are mrsa to be feared?\",\n  \"why are there so many delays at sfo?\",\n  \"why are er costs so high?\",\n  \"why is mrsa a concern?\",\n  \"why are upload speeds so slow?\",\n  \"why do fuel pumps go bad?\",\n  \"why is catcher in the rye banned?\",\n  \"why is wpa preferred over wep?\",\n  \"why are bcs tickets so expensive?\",\n  \"why are smartphones so expensive?\",\n  \"why do male cows have udders?\",\n  \"why is rc coupling used in amplifiers?\",\n  \"why are there rings on saturn?\",\n  \"why are there swimming bugs in my pool?\",\n  \"why are there no women in sf?\",\n  \"why are there 2 yolks in my egg?\",\n  \"why are united flights cancelled today?\",\n  \"why are there ulcers?\",\n  \"why are rtf files so big?\",\n  \"why do we need mx records?\",\n  \"why do bgp neighbors toggle?\",\n  \"why is cms-1500 required for medical billing?\",\n  \"why do lucentio and bianca elope?\",\n  \"why is cm punk out?\",\n  \"why are onion cells not green?\",\n  \"why are sri lankan names so long?\",\n  \"why is absinthe banned?\",\n  \"why do bcom?\",\n  \"why are buffalo wings so small?\",\n  \"why do acupuncture?\",\n  \"why do people hate ahmadinejad?\",\n  \"why is nba 2k13 online not working?\",\n  \"why are mixed people so pretty?\",\n  \"why do gd\\\"s hate rick ross?\",\n  \"why are km and vmax important?\",\n  \"why is there still hair after shaving?\",\n  \"why is dj khalid famous?\",\n  \"why are ike and mike fighting?\",\n  \"why do people take fmla?\",\n  \"why is xylem dead and phloem alive?\",\n  \"why are valves important in veins?\",\n  \"why is cursing bad?\",\n  \"why is kylie jenner in msfts?\",\n  \"why do vw burn oil?\",\n  \"why are there pygmies?\",\n  \"why do i need nre account?\",\n  \"why is hrm important to an organization?\",\n  \"why is nvidia quadro so expensive?\",\n  \"why is aj torres in jail?\",\n  \"why is pga championship a major?\",\n  \"why are billy ray and tish divorcing?\",\n  \"why is wfi corrosive?\",\n  \"why are there mirrors above beds?\",\n  \"why do cmmi?\",\n  \"why is akamai on my computer?\",\n  \"why is loki so hot?\",\n  \"why do cells need energy?\",\n  \"why are my feet always cold?\",\n  \"why are rising bond yields bad?\",\n  \"why do nylon clothes smell?\",\n  \"why do my bfbc2 stats reset?\",\n  \"why is there unemployment at full employment?\",\n  \"why are scrubs called scrubs?\",\n  \"why are there no ethnic people on the bachelor?\",\n  \"why do ibm advertise?\",\n  \"why are there pimples in my ear?\",\n  \"why do ssds wear out?\",\n  \"why do cpus generate heat?\",\n  \"why do ac pipes freeze?\",\n  \"why do i need uac?\",\n  \"why do babies lose their hair?\",\n  \"why are there always dislikes on youtube videos?\",\n  \"why are there 1760 yards in a mile?\",\n  \"why is lye dangerous?\",\n  \"why do pgdm?\",\n  \"why are you a good fit for this job?\",\n  \"why is ryan gosling so perfect?\",\n  \"why is immigration a problem in america?\",\n  \"why do ip addresses change?\",\n  \"why is ryanair so bad?\",\n  \"why are paul sr and jr in a fight?\",\n  \"why are there school dress codes?\",\n  \"why are germans so weird?\",\n  \"why are there only nine justices?\",\n  \"why are there pineapples in psych?\",\n  \"why are there drake pictures?\",\n  \"why are there aftershocks after earthquakes?\",\n  \"why is ie so different?\",\n  \"why do itches move?\",\n  \"why is van gogh famous?\",\n  \"why is mp3boo not working?\",\n  \"why are eyes dilated?\",\n  \"why do people get tattoos?\",\n  \"why are ezio\\\"s eyes gold?\",\n  \"why are there subtitles on hulu?\",\n  \"why are there hiccups?\",\n  \"why are cgi effects so expensive?\",\n  \"why are clove cigarettes banned?\",\n  \"why is there smog in los angeles?\",\n  \"why do gdl?\",\n  \"why is izzy off of grey\\\"s anatomy?\",\n  \"why are there pedos yahoo?\",\n  \"why is qt prolongation bad?\",\n  \"why are lloyds shares so low?\",\n  \"why is there more traffic in the summer?\",\n  \"why do cv boots split?\",\n  \"why is there av node delay?\",\n  \"why is bridezillas ending?\",\n  \"why is agar used in microbiology?\",\n  \"why are pterosaurs dinosaurs?\",\n  \"why is there drama in high school?\",\n  \"why is functional finance difficult to implement?\",\n  \"why is dubstep called dubstep?\",\n  \"why is night called night?\",\n  \"why is mlp so addicting?\",\n  \"why is pearl harbor important?\",\n  \"why are there six open reading frames?\",\n  \"why is there rioting in turkey?\",\n  \"why do africans have wide noses?\",\n  \"why do gcse statistics?\",\n  \"why is wednesday called hump day?\",\n  \"why is lane splitting legal in california?\",\n  \"why do jellyfish sting?\",\n  \"why are clover mites red?\",\n  \"why do aang\\\"s tattoos glow?\",\n  \"why is pokemon xd so expensive?\",\n  \"why is kings of summer rated r?\",\n  \"why are mnemonics useful?\",\n  \"why are there more producers than consumers?\",\n  \"why do zombies drop feathers?\",\n  \"why is there nine innings in baseball?\",\n  \"why is jtms so good?\",\n  \"why are there crazy cat ladies?\",\n  \"why do hr collect data?\",\n  \"why is there people starving in the world?\",\n  \"why is our power out?\",\n  \"why don\\\"t you love me?\",\n  \"why is ozone harmful in the troposphere?\",\n  \"why are dna probes radioactive?\",\n  \"why is svchost.exe running multiple times?\",\n  \"why is there radiation on mars?\",\n  \"why is there washington dc and washington state?\",\n  \"why is bzr so slow?\",\n  \"why do noses get stuffy?\",\n  \"why is hdl monitored?\",\n  \"why do ncos hate officers?\",\n  \"why are allergies on the rise?\",\n  \"why do people get hiccups?\",\n  \"why is cheerleading a sport?\",\n  \"why are pga players wearing blue ribbons?\",\n  \"why are there numbers at the end of gravity falls?\",\n  \"why are there nba players in the olympics?\",\n  \"why are metals good conductors of heat and electricity?\",\n  \"why is my ktm leaking oil?\",\n  \"why is there yellow discharge in my underwear?\",\n  \"why are there global gradients in species richness?\",\n  \"why is there ash in cat food?\",\n  \"why are there bees in my basement?\",\n  \"why are there talking animals in dbz?\",\n  \"why are .ie domains so expensive?\",\n  \"why is ff13 so hard?\",\n  \"why are pdf files blurry?\",\n  \"why is aspartame bad?\",\n  \"why is there no sound on dc universe?\",\n  \"why are onions bad for you?\",\n  \"why is kvl true?\",\n  \"why are twill and bonnie in the woods?\",\n  \"why is pot called pot?\",\n  \"why are iitians successful?\",\n  \"why are there no rivers in the yucatan peninsula?\",\n  \"why are cbsa employees so rude?\",\n  \"why is there love?\",\n  \"why is there more than one svchost?\",\n  \"why are oxidizers dangerous?\",\n  \"why are team gb so good at cycling?\",\n  \"why do people not rsvp anymore?\",\n  \"why are there goblins in varrock?\",\n  \"why is there pine tar on baseball bats?\",\n  \"why is arizona tea so cheap?\",\n  \"why is there ethnic segregation in urban areas?\",\n  \"why are there wild chickens on kauai?\",\n  \"why do lcd monitors fail?\",\n  \"why do we need bgp?\",\n  \"why do flights get delayed?\",\n  \"why is tofu bad for you?\",\n  \"why is kris benben?\",\n  \"why is there pineapples in psych?\",\n  \"why do impurities lower freezing point?\",\n  \"why is adoption so expensive?\",\n  \"why is facebook down?\",\n  \"why is oedipus a tragic hero?\",\n  \"why is there an owl on the $1 bill?\",\n  \"why are xmas colors red and green?\",\n  \"why is there nfl replacement officials?\",\n  \"why are there question marks in data view spss?\",\n  \"why are there silent letters in the english language?\",\n  \"why is working out good for you?\",\n  \"why do onions cause gas?\",\n  \"why is there green stuff in my fish tank?\",\n  \"why is there a kangaroo on the coat of arms?\",\n  \"why are dc streets closed today?\",\n  \"why is entrepreneurship critical to business success?\",\n  \"why are oysters important to the chesapeake bay?\",\n  \"why do umpires clean the plate?\",\n  \"why are bees important?\",\n  \"why are there flames on oil rigs?\",\n  \"why are there joker cards in decks of cards?\",\n  \"why do gmos exist?\",\n  \"why is there rh negative blood?\",\n  \"why are nhl refs so bad?\",\n  \"why are mlb players wearing pink?\",\n  \"why is gva used when calculating gdp?\",\n  \"why do aqueous solutions of hc2h3o2 and nh4oh?\",\n  \"why are there knots in my shoulders?\",\n  \"why do jw not celebrate christmas?\",\n  \"why are yeti coolers the best?\",\n  \"why is rwd better than awd?\",\n  \"why is rsync so slow?\",\n  \"why is fwb jealous?\",\n  \"why do pc hang?\",\n  \"why are pontiac gtos called goats?\",\n  \"why are there spiders in my basement?\",\n  \"why are insects important?\",\n  \"why are there horizontal error bars?\",\n  \"why do eyes get red?\",\n  \"why are ebay sales down 2013?\",\n  \"why are there eight ascospores in an ascus?\",\n  \"why is vsepr important?\",\n  \"why are there eating disorders?\",\n  \"why are transactions important in dbms?\",\n  \"why is chicago called the windy city?\",\n  \"why is online dating bad?\",\n  \"why do we need mdgs?\",\n  \"why don\\\"t you love me lyrics?\",\n  \"why is dvt a risk after surgery?\",\n  \"why are uggs so expensive yahoo?\",\n  \"why are there tunnels?\",\n  \"why is hwy 401 closed?\",\n  \"why are rhyming words important?\",\n  \"why are ssl certificates so expensive?\",\n  \"why are type i errors more serious?\",\n  \"why are ct taxes so high?\",\n  \"why do fwd cars understeer?\",\n  \"why do newborns get hiccups?\",\n  \"why are there so many foreigners in kuwait?\",\n  \"why do salt kill snails?\",\n  \"why are human babies helpless?\",\n  \"why are there tsunamis after earthquakes?\",\n  \"why is aquifer important?\",\n  \"why do i miss my fwb?\",\n  \"why is mma so popular?\",\n  \"why do idiots bid early on ebay?\",\n  \"why is hvap positive?\",\n  \"why are women colder than men?\",\n  \"why is lying good?\",\n  \"why is there no ikea in india?\",\n  \"why are there olympic rings in edinburgh?\",\n  \"why are iphone 4 free?\",\n  \"why are kmart stores closing?\",\n  \"why are ms symptoms worse at night?\",\n  \"why is there a by election in melbourne?\",\n  \"why are dogs better than cats?\",\n  \"why are odd future popular?\",\n  \"why are there no bp stations in texas?\",\n  \"why is trash bad for the earth?\",\n  \"why are storm clouds dark?\",\n  \"why do nsaids cause asthma?\",\n  \"why are there eight elements in the second period?\",\n  \"why do people ddos servers?\",\n  \"why are there different keys in music?\",\n  \"why do nurses smoke?\",\n  \"why is there no sound on hd channels?\",\n  \"why do dc motors burnout?\",\n  \"why are sri lankans banned from chennai?\",\n  \"why are nylon ropes which stretch considerably?\",\n  \"why is there snot in my poop?\",\n  \"why do people use xoxo?\",\n  \"why is there always traffic on the van wyck?\",\n  \"why is there ice machines in hotels?\",\n  \"why are html tags used?\",\n  \"why do oats have gluten?\",\n  \"why are there only 6 jurors?\",\n  \"why is byakuya helping muramasa?\",\n  \"why are vocaloids so popular?\",\n  \"why do episodes expire on hulu?\",\n  \"why are there holes in my yard?\",\n  \"why do djs use turntables?\",\n  \"why is rvd in svr 2011?\",\n  \"why is cesar chavez famous?\",\n  \"why are vitamins important?\",\n  \"why is there rings around saturn?\",\n  \"why is there yellow discharge?\",\n  \"why do offline friends appear in chat?\",\n  \"why is there no mcdonalds in goa?\",\n  \"why are obesity rates increasing?\",\n  \"why is oklahoma the sooner state?\",\n  \"why are srt4 so fast?\",\n  \"why are there no npcs in gilneas?\",\n  \"why are there more metals available now?\",\n  \"why is ig deleting accounts?\",\n  \"why is looper rated r?\",\n  \"why are there dark spots on the moon?\",\n  \"why are panda bears endangered?\",\n  \"why is there homework yahoo?\",\n  \"why are atoms invisible to visible light?\",\n  \"why is minecraft so addicting?\",\n  \"why are there no good mp3 players?\",\n  \"why is fynbos so special?\",\n  \"why do lottery winners go public?\",\n  \"why are pregnant women so tired?\",\n  \"why is ppf curved?\",\n  \"why is there arab israeli conflict?\",\n  \"why are iframes bad?\",\n  \"why are lions called king of the jungle?\",\n  \"why are there egypt riots?\",\n  \"why are awkward moments awkward?\",\n  \"why is there opportunity cost?\",\n  \"why do english lawyers wear wigs?\",\n  \"why is there bdo and pdc?\",\n  \"why is bran going to the wall?\",\n  \"why are mkv files so large?\",\n  \"why do we cough?\",\n  \"why to do ies?\",\n  \"why do we use json?\",\n  \"why are there problems in syria?\",\n  \"why do rf values differ?\",\n  \"why is pearl a whale?\",\n  \"why do infants get hiccups?\",\n  \"why are kurdish people so hated?\",\n  \"why are azimuthal projections used by airplanes?\",\n  \"why are smart people lazy?\",\n  \"why is there peoples names on coke bottles?\",\n  \"why is there no snow in utah?\",\n  \"why do you need wtls?\",\n  \"why do bcp cause nausea?\",\n  \"why are push ups so hard?\",\n  \"why are there ryan gosling memes?\",\n  \"why are there squares on instagram?\",\n  \"why do adults need tdap vaccine?\",\n  \"why do oil prices fluctuate?\",\n  \"why is xtina leaving the voice?\",\n  \"why is gfc shutting down?\",\n  \"why do graduates wear leis?\",\n  \"why is there mucus with ibs?\",\n  \"why do pmp certification?\",\n  \"why are gdp figures revised?\",\n  \"why is there ghost cities in china?\",\n  \"why do june bugs die in light?\",\n  \"why is there purple under my eyes?\",\n  \"why do hvac units freeze up?\",\n  \"why are equal opportunities policies important?\",\n  \"why is there rust in my toilet bowl?\",\n  \"why are there elections?\",\n  \"why are kittens so cute?\",\n  \"why is teemo hated?\",\n  \"why are gmos good?\",\n  \"why are cigarettes addictive?\",\n  \"why do uk plugs have a fuse?\",\n  \"why is holi celebrated?\",\n  \"why are there ocean basins?\",\n  \"why are there ants in my computer?\",\n  \"why are there heat lamps in bathrooms?\",\n  \"why is cs go cheaper than css?\",\n  \"why do xbox 360s freeze?\",\n  \"why do ex girlfriends ignore?\",\n  \"why are htc phones so expensive?\",\n  \"why do guinea pigs squeak?\",\n  \"why are ftp uploads so slow?\",\n  \"why are there phases of the moon?\",\n  \"why are jigsaws called jigsaws?\",\n  \"why do electrolytes conduct electricity?\",\n  \"why are there waves?\",\n  \"why are there rocks on train tracks?\",\n  \"why do poor people have kids?\",\n  \"why are there no road tests available?\",\n  \"why is there air by bill cosby?\",\n  \"why do llamas abort their fetuses?\",\n  \"why are kids so annoying?\",\n  \"why are there nets in swim trunks?\",\n  \"why is an oyster an animal?\",\n  \"why are there euthanasia laws?\",\n  \"why is there gst in singapore?\",\n  \"why are there hawks in nyc?\",\n  \"why is there dolphins in robot unicorn attack?\",\n  \"why is apple named apple?\",\n  \"why are cp and cv difference?\",\n  \"why is there no aston martin db8?\",\n  \"why is there aspirin in an eca stack?\",\n  \"why do ppl get the hiccups?\",\n  \"why do we have bst and gmt?\",\n  \"why do snails foam?\",\n  \"why is svalbard a fantastic place?\",\n  \"why are dfs sofas rubbish?\",\n  \"why do japanese blur privates?\",\n  \"why is offshore drilling bad?\",\n  \"why is sdlc needed?\",\n  \"why are rna viruses so variable?\",\n  \"why do stocks split?\",\n  \"why are night vision goggles green?\",\n  \"why are there rules in sport?\",\n  \"why are there 4 ohm speakers?\",\n  \"why do bt charge in advance?\",\n  \"why do zebras kill their babies?\",\n  \"why are there mens and womens bikes?\",\n  \"why is msg bad for your health?\",\n  \"why are naps bad?\",\n  \"why is meiosis necessary for sexual reproduction?\",\n  \"why do dandelions close at night?\",\n  \"why are capillaries one cell thick?\",\n  \"why are ltd benefits non-taxable?\",\n  \"why are there so many csi shows?\",\n  \"why are there centipedes in my bathroom?\",\n  \"why is there sharps and flats?\",\n  \"why are tpa skins unavailable?\",\n  \"why is bt wifi so slow?\",\n  \"why are there eyes on words with friends?\",\n  \"why is there death in the world?\",\n  \"why is mcdonalds coke so good?\",\n  \"why is odb not wrestling?\",\n  \"why is kbr used in ir spectroscopy?\",\n  \"why are there guidelines on the use of the national flag?\",\n  \"why are old people so cute?\",\n  \"why is xps better than inspiron?\",\n  \"why do elephants eat poop?\",\n  \"why are ttt curves c shaped?\",\n  \"why are there poor people?\",\n  \"why do minions wear goggles?\",\n  \"why is dbz so good?\",\n  \"why are rocks important?\",\n  \"why is there no yellow pretzel m&ms?\",\n  \"why are there bugs in my room?\",\n  \"why do giraffes have long necks?\",\n  \"why is xfinity online not working?\",\n  \"why are dps lines so long?\",\n  \"why are americans obese?\",\n  \"why do so many nguyen?\",\n  \"why are there hybrid animals?\",\n  \"why are flowers so expensive?\",\n  \"why are europeans so beautiful?\",\n  \"why are there any mmorpgs for xbox 360?\",\n  \"why is ign bad?\",\n  \"why are x rays called x rays?\",\n  \"why are objects transparent?\",\n  \"why are there nursing homes?\",\n  \"why is low kvp used in mammography?\",\n  \"why do teens cut?\",\n  \"why are bb creams so popular?\",\n  \"why is there increased estrogen in klinefelter\\\"s?\",\n  \"why are sports important?\",\n  \"why are squash leaves yellow?\",\n  \"why do elephants have long noses?\",\n  \"why are vw parts expensive?\",\n  \"why do gauges stink?\",\n  \"why are earwigs in my house?\",\n  \"why is the kt boundary smaller in italy?\",\n  \"why is mt everest important?\",\n  \"why is js bach important?\",\n  \"why do planets have rings?\",\n  \"why is there no sound in space?\",\n  \"why is deforestation bad?\",\n  \"why are there usually few organisms?\",\n  \"why do people say xmas for christmas?\",\n  \"why is there fm and am radio?\",\n  \"why do lobsters scream?\",\n  \"why is there scabs in my nose?\",\n  \"why are juicers so expensive?\",\n  \"why are icelandic men so strong?\",\n  \"why are civil rights important?\",\n  \"why is gnu not unix?\",\n  \"why do mc\\\"donalds put gherkins in?\",\n  \"why do great km programs fail?\",\n  \"why are ogres like onions?\",\n  \"why are there elites in halo 4?\",\n  \"why are xml tags case sensitive?\",\n  \"why are pv panels so inefficient?\",\n  \"why do ebooks cost as much as print?\",\n  \"why are pcbs toxic?\",\n  \"why is water good for you?\",\n  \"why is wmata so expensive?\",\n  \"why are there ghost towns?\",\n  \"why do business in uae?\",\n  \"why are lemons sour?\",\n  \"why are there gnats in my house?\",\n  \"why is physics interesting?\",\n  \"why are wyoming toads endangered?\",\n  \"why is there bpa in plastic?\",\n  \"why is there pink stuff in my underwear?\",\n  \"why are there secret menus?\",\n  \"why are dung beetles important?\",\n  \"why do joints hurt when sick?\",\n  \"why are there no mcdonalds in jamaica?\",\n  \"why are seals endangered?\",\n  \"why are transformers measured in kva?\",\n  \"why are there 3 hpv jabs?\",\n  \"why is dry firing bad?\",\n  \"why are there gnats in my freezer?\",\n  \"why is there orange in the irish flag?\",\n  \"why are there native american reservations?\",\n  \"why is hp so bad?\",\n  \"why is yield curve downward sloping?\",\n  \"why do cigarettes make you dizzy?\",\n  \"why are americans so paranoid?\",\n  \"why are there other pigments in plants?\",\n  \"why nwo is fake?\",\n  \"why is there fiberglass in cigarettes?\",\n  \"why are peanuts bad for you?\",\n  \"why do bees die after stinging?\",\n  \"why are there myths?\",\n  \"why do people take xtc?\",\n  \"why do zambonis use hot water?\",\n  \"why is eye contact important in an interview?\",\n  \"why are wetlands important to the biosphere?\",\n  \"why are leos so selfish?\",\n  \"why are cpu wafers round?\",\n  \"why are italy in the confederations cup?\",\n  \"why is bpa bad?\",\n  \"why is shakespeare so famous?\",\n  \"why is there gym class?\",\n  \"why are fdi important?\",\n  \"why is dvd not working on laptop?\",\n  \"why are ipas so bitter?\",\n  \"why is there formaldehyde in vaccines?\",\n  \"why is water important to life?\",\n  \"why are there us embassies?\",\n  \"why are there sloth jokes?\",\n  \"why are pancakes so good?\",\n  \"why do oil prices rise and fall?\",\n  \"why are ducks so cute?\",\n  \"why do farts smell so bad?\",\n  \"why are eyebrows called eyebrows?\",\n  \"why is silver linings rated r?\",\n  \"why is there shoes on power lines?\",\n  \"why are psn games so expensive?\",\n  \"why is axl rose a douche?\",\n  \"why are eric\\\"s ears bleeding?\",\n  \"why are lh levels high in pcos?\",\n  \"why are there different eye colors?\",\n  \"why is there rhinos in southampton?\",\n  \"why are judges so rude?\",\n  \"why are there different ecosystems?\",\n  \"why is uw the huskies?\",\n  \"why is tv so boring?\",\n  \"why is there bile in my poop?\",\n  \"why are people so fake?\",\n  \"why do oxidation and reduction occur simultaneously?\",\n  \"why is there an eu?\",\n  \"why are there closing costs?\",\n  \"why are there gutters?\",\n  \"why are there large earthquakes at transform boundaries?\",\n  \"why are our brains shrinking?\",\n  \"why is nvidia stock falling?\",\n  \"why is lgbt important?\",\n  \"why is at&t so slow?\",\n  \"why are agreements important?\",\n  \"why is there rocks in space?\",\n  \"why are enzymes known as biocatalysts?\",\n  \"why are teeth sensitive to cold?\",\n  \"why do people eat ajax?\",\n  \"why are ants in my house?\",\n  \"why are nhl players growing a moustache?\",\n  \"why is rc4 secure?\",\n  \"why are wasps aggressive?\",\n  \"why are there only 3 boys to men?\",\n  \"why is there knife crime?\",\n  \"why is ubuntu download so slow?\",\n  \"why are gmos banned?\",\n  \"why do we need wto?\",\n  \"why do oklahomans not have basements?\",\n  \"why are singletons bad?\",\n  \"why are there boroughs in nyc?\",\n  \"why do tattoos hurt?\",\n  \"why are tattoos so trendy?\",\n  \"why do wisdom teeth grow?\",\n  \"why are hvac systems important?\",\n  \"why are there alot of nguyen\\\"s?\",\n  \"why are british women so rude?\",\n  \"why are there yellow jackets in my grass?\",\n  \"why is uc berkeley a good school?\",\n  \"why is vulva swollen?\",\n  \"why are nsaids prescribed?\",\n  \"why is there evil?\",\n  \"why is vmw dropping?\",\n  \"why is uk weather so bad?\",\n  \"why are there pyramids on the moon?\",\n  \"why is there no hsbc iphone app?\",\n  \"why do pigeons coo?\",\n  \"why is it called the grapevine?\",\n  \"why is jcpenney closing stores?\",\n  \"why is aristotle important to the history of drama?\",\n  \"why do vultures fly in a circle?\",\n  \"why are mlm bad?\",\n  \"why do airlines form alliances?\",\n  \"why is there violent behavior among prisoners?\",\n  \"why are ogres green?\",\n  \"why is rpn havoc discontinued?\",\n  \"why is there urea in veet?\",\n  \"why do illusions work?\",\n  \"why is mblaq not popular?\",\n  \"why is wind cold?\",\n  \"why are there no more psp games?\",\n  \"why are bt replacing modems?\",\n  \"why is awk so fast?\",\n  \"why is there bleeding with uterine cancer?\",\n  \"why do shins hurt when running?\",\n  \"why are evangelicals so judgemental?\",\n  \"why are there ostriches in arrested development?\",\n  \"why are equivalent fractions important?\",\n  \"why do lung transplants fail?\",\n  \"why is rdio better than spotify?\",\n  \"why is fpsrussia not making videos?\",\n  \"why is nguyen such a common name?\",\n  \"why are yify files so small?\",\n  \"why is nthabiseng leaving muvhango?\",\n  \"why do feet itch?\",\n  \"why are raspberries so expensive?\",\n  \"why is there a european union?\",\n  \"why are we yelling?\",\n  \"why are opals bad luck?\",\n  \"why is oatmeal good for you?\",\n  \"why are there no pc demos?\",\n  \"why do we use nmr?\",\n  \"why do dwarf hamsters bite?\",\n  \"why is atp stable in solution?\",\n  \"why is there a new mrs chancellor?\",\n  \"why is there elo decay?\",\n  \"why do dsl speeds vary?\",\n  \"why are stereotypes bad?\",\n  \"why do geographers study history?\",\n  \"why is aubrey huff getting divorced?\",\n  \"why is there 2 wwe champions?\",\n  \"why is there gold in the klondike?\",\n  \"why do employees leave?\",\n  \"why are pygmy mouse lemurs endangered?\",\n  \"why do mcdonald\\\"s burgers not decompose?\",\n  \"why do we call it bw3?\",\n  \"why is mr. pirzada in the united states?\",\n  \"why are there two csrss.exe?\",\n  \"why is life so boring?\",\n  \"why are rice cakes good for you?\",\n  \"why are axillary meristems useful?\",\n  \"why are there fewer gymnasts on the olympic team?\",\n  \"why are equations balanced?\",\n  \"why is there no sound on cnn live?\",\n  \"why do the french drink uht milk?\",\n  \"why do earthquakes happen for kids?\",\n  \"why is svedka the vodka of 2033?\",\n  \"why are some fire trucks yellow?\",\n  \"why is there a giant pink bunny in italy?\",\n  \"why are there dead elites in halo odst?\",\n  \"why are there icicles on my roof?\",\n  \"why do glass pipes change color?\",\n  \"why are jr and sr fighting?\",\n  \"why do our fingers crack?\",\n  \"why are there so many khans in bollywood?\",\n  \"why do female dogs hump people?\",\n  \"why are rwanda and burundi considered to be ethnocracies?\",\n  \"why are sfo flights delayed?\",\n  \"why are ie tabs different colours?\",\n  \"why are there question marks on my dock?\",\n  \"why is wc washroom?\",\n  \"why do writers kill themselves?\",\n  \"why are gb important?\",\n  \"why do people pvp?\",\n  \"why do tomato leaves curl up?\",\n  \"why are hedgehogs called hedgehogs?\",\n  \"why are there millions of carbon compounds?\",\n  \"why do children with vsd sweat?\",\n  \"why are there so many ps3 fanboys?\",\n  \"why do cns neurons lack centrioles?\",\n  \"why are yellow freight trucks orange?\",\n  \"why does jwoww do kegels?\",\n  \"why are ie tabs yellow?\",\n  \"why are there pythons in the everglades?\",\n  \"why is tungsten w?\",\n  \"why is there advertising on bbc website?\",\n  \"why are fps better on pc?\",\n  \"why do msds sheets expire?\",\n  \"why are mp4 files bigger than avi?\",\n  \"why is there insect legs in chocolate bars?\",\n  \"why is lucid dreaming dangerous?\",\n  \"why is it called bw threes?\",\n  \"why are symbiotic relationships important?\",\n  \"why is there flavored condoms?\",\n  \"why is there queen in england?\",\n  \"why are there orange bikes in sarasota?\",\n  \"why are people still using xp?\",\n  \"why are ifrs important?\",\n  \"why do tv shows blur out logos?\",\n  \"why are there uneven divisions in oogenesis?\",\n  \"why do fwd cars exist?\",\n  \"why do ibuprofen tablets taste sweet?\",\n  \"why do hdtvs lag?\",\n  \"why are there no kids in gta 4?\",\n  \"why is there a plague in oedipus the king?\",\n  \"why are there visas?\",\n  \"why do tonsils get removed?\",\n  \"why are cfcs a problem?\",\n  \"why are there hashtags on twitter?\",\n  \"why do windows updates take so long?\",\n  \"why is daenerys called stormborn?\",\n  \"why is prenatal care important?\",\n  \"why are aztecs important?\",\n  \"why are there teams in cycling?\",\n  \"why are ibm thinkpads so expensive?\",\n  \"why is there turmoil in the middle east?\",\n  \"why are there genders?\",\n  \"why do scabs form?\",\n  \"why are updates important?\",\n  \"why are html entities necessary?\",\n  \"why do pcs blue screen?\",\n  \"why is there no mcdonalds in bolivia?\",\n  \"why is there no chest in hjerim?\",\n  \"why are there people who look like me?\",\n  \"why is ogg smaller than mp3?\",\n  \"why are zilean and volibear enemies?\",\n  \"why is the qmjhl logo backwards?\",\n  \"why is rna necessary to act as a messenger?\",\n  \"why do joints swell?\",\n  \"why do sloths smile?\",\n  \"why are bumpers dangerous?\",\n  \"why is the kt boundary thinner in italy?\",\n  \"why is there ivy on wrigley field?\",\n  \"why are food allergies increasing?\",\n  \"why are . jeeps so expensive?\",\n  \"why is uml used?\",\n  \"why do we use rmi?\",\n  \"why is there dew on the grass?\",\n  \"why do i need vnc?\",\n  \"why are mbas so arrogant?\",\n  \"why is wuthering heights a romantic novel?\",\n  \"why is ozone so reactive?\",\n  \"why are there multiple iexplore.exe in task manager?\",\n  \"why are ng tubes used?\",\n  \"why is israel bombing syria?\",\n  \"why is there so much sugar in milk?\",\n  \"why are there italians in scotland?\",\n  \"why are there 102 stocks in the ftse 100?\",\n  \"why are cfcs banned?\",\n  \"why is ac better than dc?\",\n  \"why are there bibles in hotels?\",\n  \"why do identical twins behave differently?\",\n  \"why is there no equivalent for the filibuster in the house?\",\n  \"why do newborns sneeze?\",\n  \"why are grizzlies in western conference?\",\n  \"why are there so many tv channels?\",\n  \"why do lumbar puncture?\",\n  \"why are there fire dogs?\",\n  \"why are there bells on hwy 101?\",\n  \"why are bt shares going down?\",\n  \"why do pdf files open slowly?\",\n  \"why is rpm important in cars?\",\n  \"why are airplanes so cold?\",\n  \"why do htc hd2 freezes?\",\n  \"why do farts make noise?\",\n  \"why do wwe superstars go to tna?\",\n  \"why are there ghosts yahoo?\",\n  \"why is there oxygen on mars?\",\n  \"why is there snow in may?\",\n  \"why do hawks screech?\",\n  \"why is there no ft app?\",\n  \"why are there lunar phases?\",\n  \"why is psychosurgery controversial?\",\n  \"why is taeyeon called kid leader?\",\n  \"why is otel.com so cheap?\",\n  \"why is usps tracking not working?\",\n  \"why is there no sperm when ejaculating?\",\n  \"why are there no automatic motorcycles?\",\n  \"why do lymph nodes go up and down?\",\n  \"why do effervescent tablets dissolve?\",\n  \"why are there peacocks in palos verdes?\",\n  \"why do spiders have 8 eyes?\",\n  \"why do people hate lg?\",\n  \"why are there faces on money?\",\n  \"why is bile important?\",\n  \"why is there bubbles in my urine?\",\n  \"why is mtv2 not in hd?\",\n  \"why are children with kwashiorkor less resistant to infections?\",\n  \"why are tv shows filmed in canada?\",\n  \"why do overweight people smell?\",\n  \"why is there no h m in ottawa?\",\n  \"why is nba rigged?\",\n  \"why are there few left handed people?\",\n  \"why are mn tax refunds delayed?\",\n  \"why are nsaids bad during pregnancy?\",\n  \"why are cc used?\",\n  \"why is there slime in my poop?\",\n  \"why is there shooting stars?\",\n  \"why are there so many calories in oatmeal?\",\n  \"why is dsl light blinking?\",\n  \"why are there earwigs in my bedroom?\",\n  \"why do cuts sting?\",\n  \"why do people collect nike sb?\",\n  \"why do abs look different?\",\n  \"why are nh flags at half staff?\",\n  \"why is ako down?\",\n  \"why is appendix there?\",\n  \"why is csx stock so low?\",\n  \"why are there backups on my mac?\",\n  \"why is euthanasia illegal?\",\n  \"why is cvs so expensive?\",\n  \"why are there octaves?\",\n  \"why is there red eye in photos?\",\n  \"why do new cars smell good?\",\n  \"why is dzhokhar tsarnaev a suspect?\",\n  \"why are activity rates important to management?\",\n  \"why are there olympic games?\",\n  \"why is physical education important?\",\n  \"why is there calm before a storm?\",\n  \"why is nj ask important?\",\n  \"why do oedipus and teiresias quarrel?\",\n  \"why do ozone holes form?\",\n  \"why are bg queues so long?\",\n  \"why is there not an hpv test for men?\",\n  \"why are ivf pregnancies high risk?\",\n  \"why is znp bar discontinued?\",\n  \"why are jpegs lossy?\",\n  \"why is fps kyle hated?\",\n  \"why are feet always cold?\",\n  \"why do ppl hate cats?\",\n  \"why is google so awesome?\",\n  \"why are illegal immigrants allowed to stay?\",\n  \"why is nrega called right to work?\",\n  \"why are there errors on youtube?\",\n  \"why do htc phones overheat?\",\n  \"why are bc teachers striking?\",\n  \"why is there no tv channel 1?\",\n  \"why is python better than php?\",\n  \"why are rainbows so expensive?\",\n  \"why are there gnats on forklift foot?\",\n  \"why are acura rsx so expensive?\",\n  \"why is there aggression?\",\n  \"why is 60hz dangerous?\",\n  \"why do feet hurt?\",\n  \"why is there fertile soil near volcanoes?\",\n  \"why are gel nails bad?\",\n  \"why are snowflakes hexagonal?\",\n  \"why are gtrs so fast?\",\n  \"why do birds sing in the morning?\",\n  \"why is gnat spelled with a g?\",\n  \"why are yawns catchy?\",\n  \"why is vodka so popular?\",\n  \"why do mockingbirds sing?\",\n  \"why are squats bad for your knees?\",\n  \"why are ethernet ii frames preferred?\",\n  \"why do rc helicopters have flybars?\",\n  \"why do vampires sparkle?\",\n  \"why are old people so stubborn?\",\n  \"why is azulene blue?\",\n  \"why is ie slower than chrome?\",\n  \"why are there three hpv shots?\",\n  \"why is there no hdmi on macbook?\",\n  \"why are there bumps on my balls?\",\n  \"why do bfad?\",\n  \"why is agave nectar bad?\",\n  \"why are there ants in my shower?\",\n  \"why is there is a worm in tequila?\",\n  \"why do we take the nj ask?\",\n  \"why is there human homosexuality?\",\n  \"why are rf values important in chromatography?\",\n  \"why are rhetorical questions used?\",\n  \"why is pdf flattening to print?\",\n  \"why are ocean currents so important?\",\n  \"why is hf polar covalent?\",\n  \"why do men cheat?\",\n  \"why are sweatshops bad?\",\n  \"why is there a keyboard on a kindle?\",\n  \"why is wuthering heights important?\",\n  \"why are jtags illegal?\",\n  \"why is usc a good school?\",\n  \"why are upload and download speeds different?\",\n  \"why is there a zeroth law of thermodynamics?\",\n  \"why are ghettos called projects?\",\n  \"why are there no nfl games on friday?\",\n  \"why are the ddo servers down?\",\n  \"why is there ethnic conflict?\",\n  \"why is flour bad for you?\",\n  \"why is older wine better?\",\n  \"why do pc games freeze?\",\n  \"why is fdr a great president?\",\n  \"why are there sinkholes in florida?\",\n  \"why is iphone so popular?\",\n  \"why is olive oil good for your skin?\",\n  \"why is cn negative?\",\n  \"why are there active sessions on my facebook?\",\n  \"why are there no mcdonalds in africa?\",\n  \"why do superheroes wear underwear?\",\n  \"why are there 24 hrs in a day?\",\n  \"why do all my muscles hurt?\",\n  \"why is sgu so expensive?\",\n  \"why are there two types of screwdrivers?\",\n  \"why are patriots wearing mhk on jerseys?\",\n  \"why is writing important?\",\n  \"why do ghouls fall in love part 1?\",\n  \"why are fuel prices so high?\",\n  \"why are xeon processors better?\",\n  \"why do rabbits dig?\",\n  \"why is izzy in a wheelchair?\",\n  \"why do ssd fail so much?\",\n  \"why are arabs so smart?\",\n  \"why are ssris so popular?\",\n  \"why is there crackling in my ear?\",\n  \"why is ktm the best?\",\n  \"why are umbrellas important?\",\n  \"why do adults get acne?\",\n  \"why is there no krav maga in ufc?\",\n  \"why is there yellow stuff on my tongue?\",\n  \"why are lcd projector bulbs expensive?\",\n  \"why do okapi have stripes?\",\n  \"why do irises change color?\",\n  \"why are police called coppers?\",\n  \"why is game of thrones so good?\",\n  \"why are there valves in veins and not arteries?\",\n  \"why are there windmills in vineyards?\",\n  \"why is there yellow stuff on my nipple?\",\n  \"why do cfcs not react in the troposphere?\",\n  \"why is there volcanic activity in iceland?\",\n  \"why do high efficiency washers smell?\",\n  \"why is there so much recoil in bf3?\",\n  \"why do huskies howl?\",\n  \"why do we need fdi in india?\",\n  \"why do tug boats shoot water?\",\n  \"why is zappos so successful?\",\n  \"why is there youth homelessness?\",\n  \"why is there mushrooms growing in my yard?\",\n  \"why is there a knot under my bruise?\",\n  \"why is there ash in my cat food?\",\n  \"why are updates being sent to 224.0.0.9?\",\n  \"why is cj spiller not playing?\",\n  \"why are women bad drivers?\",\n  \"why do cats lick people?\",\n  \"why is there no equal rights amendment?\",\n  \"why do pyramus and thisbe kill themselves?\",\n  \"why are ice cubes sticky?\",\n  \"why do sds page?\",\n  \"why are iberian lynx hunted?\",\n  \"why is nunu always banned?\",\n  \"why do they call jeeps jk?\",\n  \"why are mdgs important?\",\n  \"why are ubisoft servers always down?\",\n  \"why is there bias in the media?\",\n  \"why are there ghosts in the old chateau?\",\n  \"why are there 5 oceans?\",\n  \"why is cbs bringing back unforgettable?\",\n  \"why do use twitter?\",\n  \"why is taco bell bad for you?\",\n  \"why is rmi technology used?\",\n  \"why are gypsies called roma?\",\n  \"why are there fake owls?\",\n  \"why are is there school?\",\n  \"why are there so many mcdonalds?\",\n  \"why are qts standards important?\",\n  \"why is there school on mlk day?\",\n  \"why are xbox live servers down?\",\n  \"why are djs popular?\",\n  \"why is there an achievement gap?\",\n  \"why are some cucumbers bitter?\",\n  \"why are there ipa files in my trash?\",\n  \"why are psychopaths dangerous?\",\n  \"why are azalea leaves turning yellow?\",\n  \"why is dhoni so successful?\",\n  \"why are there jokes about blondes?\",\n  \"why are there crystals in igneous rocks?\",\n  \"why do pylons crackle?\",\n  \"why is george jones called the possum?\",\n  \"why is caviar so expensive?\",\n  \"why do girls get cramps?\",\n  \"why is hr a good career choice?\",\n  \"why is blood classified as a connective tissue?\",\n  \"why are kangaroos only in australia?\",\n  \"why are there duplicate photos in iphoto?\",\n  \"why do dwarves use axes?\",\n  \"why is there enzymes in the small intestine?\",\n  \"why do hydrangeas change color?\",\n  \"why is there a tc on the twins hat?\",\n  \"why do people say fml?\",\n  \"why do people like xp?\",\n  \"why do bh 25?\",\n  \"why is ocean circulation important?\",\n  \"why uw is the best school?\",\n  \"why are m&m\\\"s called m&m\\\"s?\",\n  \"why is there inertia?\",\n  \"why do green anoles change color?\",\n  \"why are there opening and closing ceremonies at the olympics?\",\n  \"why are http cookies called cookies?\",\n  \"why are there so many ostridges?\",\n  \"why is there eqao?\",\n  \"why are everyone\\\"s headlights on today?\",\n  \"why do pregnant women throw up?\",\n  \"why do i get fps drop?\",\n  \"why is olaf underplayed?\",\n  \"why are arabs so angry?\",\n  \"why is eric not in season 8?\",\n  \"why are there ants in my apartment?\",\n  \"why are there fireworks on the fourth of july?\",\n  \"why are there periods in friends?\",\n  \"why is einstein considered a genius?\",\n  \"why are there gore websites?\",\n  \"why do aa batteries leak?\",\n  \"why are vws reliable?\",\n  \"why is mpls important?\",\n  \"why is there a limit on gmail invites?\",\n  \"why is yield curve upward sloping?\",\n  \"why is there condensation in my dryer?\",\n  \"why do xenomorphs kill?\",\n  \"why is diablo 3 bad?\",\n  \"why do brakes squeak?\",\n  \"why are there duplicates in my itunes?\",\n  \"why is there morning wood?\",\n  \"why is gym class good?\",\n  \"why do lc circuits oscillate?\",\n  \"why is vitamin c good for you?\",\n  \"why are boogers green?\",\n  \"why are there rebels in uganda?\",\n  \"why are gc ms spectral in design?\",\n  \"why do iguanas die?\",\n  \"why are rugs so expensive?\",\n  \"why is cpr training important?\",\n  \"why is there an astronaut on the ohio state quarter?\",\n  \"why is there no tylenol on the shelves 2011?\",\n  \"why do feet swell up?\",\n  \"why are gsr particles spherical?\",\n  \"why is there overtime pay?\",\n  \"why are ewells allowed special privileges?\",\n  \"why is there wire around wine bottles?\",\n  \"why are idioms used in writing?\",\n  \"why do we sneeze?\",\n  \"why are there groomsmen?\",\n  \"why do mtb helmets have visors?\",\n  \"why is there pressure in my head?\",\n  \"why are there spiders in my bathtub?\",\n  \"why is csi ny not on anymore?\",\n  \"why are cycles important to ecosystems?\",\n  \"why do people use ie6?\",\n  \"why do oak trees die?\",\n  \"why is enriched flour bad?\",\n  \"why is ichigo so powerful?\",\n  \"why are pasties called oggies?\",\n  \"why are mbe awarded?\",\n  \"why are spanish people so rude?\",\n  \"why is exercise good for your heart?\",\n  \"why do babies smile?\",\n  \"why are there eunuchs in pakistan?\",\n  \"why is there no liberal ayn?\",\n  \"why are oranges healthy?\",\n  \"why is bsn better than rn?\",\n  \"why is there so much oil in oklahoma?\",\n  \"why do we use cmyk?\",\n  \"why are there squares in waffles?\",\n  \"why do people call bw3?\",\n  \"why is there man vs food nation?\",\n  \"why are azo compounds colored?\",\n  \"why do salmon swim upstream?\",\n  \"why are ngons bad?\",\n  \"why are there elites in halo 3 odst?\",\n  \"why are there exceptions to the hearsay rule?\",\n  \"why are there rainforests at the equator?\",\n  \"why are there no ncis bloopers?\",\n  \"why is venus so hot?\",\n  \"why is there an ocean?\",\n  \"why do we need lhc?\",\n  \"why are oil spills a problem?\",\n  \"why are led xmas lights better?\",\n  \"why is there a lump in my earlobe?\",\n  \"why do people use mxit?\",\n  \"why is there oxygen masks on airplanes?\",\n  \"why is weed illegal in the us?\",\n  \"why are tigers orange?\",\n  \"why is xcode so large?\",\n  \"why are there still concerned about ozone depletion?\",\n  \"why is vitamin a important?\",\n  \"why is there gym in school?\",\n  \"why are tips falling?\",\n  \"why are musical terms in italian?\",\n  \"why are there goats in seattle?\",\n  \"why are hsa plans cheaper?\",\n  \"why is awkward not on netflix?\",\n  \"why are more fps better?\",\n  \"why are there dents in my nails?\",\n  \"why are there locks on the ha\\\"penny bridge?\",\n  \"why do ulcers cause heartburn?\",\n  \"why are at t and tmobile merging?\",\n  \"why are there chemicals in food?\",\n  \"why do 2 iexplore.exe open?\",\n  \"why do hvac capacitors fail?\",\n  \"why are there gnats?\",\n  \"why is ethics important in research?\",\n  \"why do axle seals leak?\",\n  \"why is dwyane wade out?\",\n  \"why are ocean currents so important to the earth?\",\n  \"why is hf a weak electrolyte?\",\n  \"why are filipino men so lazy?\",\n  \"why do nba coaches wear suits?\",\n  \"why are there zones of winds around the world?\",\n  \"why do impurities increase boiling point?\",\n  \"why are zinc tablets good for you?\",\n  \"why are mitsubishi fto so cheap?\",\n  \"why are knots used?\",\n  \"why do cells need mitosis?\",\n  \"why do tmnt like pizza?\",\n  \"why do people hate amber fx?\",\n  \"why do models do coke?\",\n  \"why are icd-9 codes important?\",\n  \"why do accruals require adjusting entries?\",\n  \"why are there overtones?\",\n  \"why do dashboards crack?\",\n  \"why are insects small?\",\n  \"why is there clouds?\",\n  \"why is eye contact so hard?\",\n  \"why are there registry errors?\",\n  \"why are there trade-offs?\",\n  \"why is there killing in the old testament?\",\n  \"why are byu students called zoobies?\",\n  \"why is bcp important?\",\n  \"why is there no ebay in new zealand?\",\n  \"why are there different ethnic groups?\",\n  \"why are there upper and lower case letters?\",\n  \"why are there essential amino acids?\",\n  \"why are ryanair flights so cheap?\",\n  \"why are lcd displays polarized?\",\n  \"why do they call chicago the windy city?\",\n  \"why is awkward on hiatus?\",\n  \"why do sloths exist?\",\n  \"why do ebay buyers not pay?\",\n  \"why is there no skyrim dlc for ps3?\",\n  \"why do british lawyers wear wigs?\",\n  \"why is qe good?\",\n  \"why are bikes so expensive now?\",\n  \"why are slide in ranges more expensive?\",\n  \"why do lymph nodes swell?\",\n  \"why are there gift taxes?\",\n  \"why is there acid in the stomach?\",\n  \"why is dbz not on netflix?\",\n  \"why are there slums?\",\n  \"why do economists make assumptions?\",\n  \"why is jpg good?\",\n  \"why is life unfair?\",\n  \"why is nz nuclear free?\",\n  \"why are yields rising?\",\n  \"why do we celebrate iwd?\",\n  \"why do gcse religious studies?\",\n  \"why is tlc canceling la ink?\",\n  \"why do people hate nike sb?\",\n  \"why are avocados good for babies?\",\n  \"why is organizational culture important?\",\n  \"why is there insulation in light fixtures?\",\n  \"why do lhasa apso smell?\",\n  \"why is cultural diversity important?\",\n  \"why are jpegs used?\",\n  \"why are dcap cells used?\",\n  \"why is recycling good?\",\n  \"why is there only one picture of edward snowden?\",\n  \"why is there an ipo discount?\",\n  \"why is there no ikea in missouri?\",\n  \"why is there acne on my neck?\",\n  \"why do aggies say gig em?\",\n  \"why are crips blue?\",\n  \"why is george bush in a wheelchair?\",\n  \"why are there squiggly lines on british roads?\",\n  \"why are there glaciers near the equator?\",\n  \"why are x rays bad during pregnancy?\",\n  \"why is there pus on my tonsils?\",\n  \"why are there eggs in fried rice?\",\n  \"why are wine bottles green?\",\n  \"why is bpa in plastic?\",\n  \"why are there so many flies in my house?\",\n  \"why is there high tide on full moon?\",\n  \"why is tpa shen unavailable?\",\n  \"why are there homosexuals?\",\n  \"why do rpl?\",\n  \"why is avery brooks so weird?\",\n  \"why is mt fuji important to japan?\",\n  \"why are ukuleles so popular?\",\n  \"why do iron golems attack me?\",\n  \"why are there flies outside my house?\",\n  \"why is vntr important?\",\n  \"why is ptrax falling?\",\n  \"why is md5 bad?\",\n  \"why are german cars so unreliable?\",\n  \"why do men hate ikea?\",\n  \"why is mfl important in primary schools?\",\n  \"why do wrestlers get boners?\",\n  \"why are hotel beds so comfortable?\",\n  \"why is pwc the best?\",\n  \"why is there clapping in the conjuring?\",\n  \"why are dairy products bad for you?\",\n  \"why do kryptonians have powers?\",\n  \"why were pt cruisers discontinued?\",\n  \"why do you keep quoting tlc?\",\n  \"why do cyanobacteria possess heterocysts?\",\n  \"why are there seeds on the outside of strawberries?\",\n  \"why is there curly hair?\",\n  \"why are upside down crosses in fashion?\",\n  \"why is pwntunes not working?\",\n  \"why is dating so hard?\",\n  \"why is awkward ending?\",\n  \"why is nthabi leaving muvhango?\",\n  \"why do nurses wear hats?\",\n  \"why are fpgas useful?\",\n  \"why are people against title ix?\",\n  \"why do our ears pop?\",\n  \"why do guys join eharmony?\",\n  \"why is online education important?\",\n  \"why are there ethical standards?\",\n  \"why do ghosts stack objects?\",\n  \"why are oyster crackers called that?\",\n  \"why do farts smell bad?\",\n  \"why is pete campbell going to california?\",\n  \"why are there rules in croquet riddle?\",\n  \"why are there so many fps games?\",\n  \"why are kids so spoiled?\",\n  \"why are eigenvectors orthogonal?\",\n  \"why are there texas edition trucks?\",\n  \"why is mp4 good?\",\n  \"why is sex so important?\",\n  \"why is oyster cheaper?\",\n  \"why do we calculate rf values?\",\n  \"why do good guys finish last?\",\n  \"why is nvc important?\",\n  \"why are dykes so angry?\",\n  \"why are opinion polls used?\",\n  \"why is jsessionid in url?\",\n  \"why are there eight notes in an octave?\",\n  \"why are mma fighters not ripped?\",\n  \"why are there snails?\",\n  \"why is mdf used?\",\n  \"why are dholes endangered?\",\n  \"why is bh cosmetics so cheap?\",\n  \"why is hdmi better than vga?\",\n  \"why are lcds polarized?\",\n  \"why are mkv files smaller than avi?\",\n  \"why is there rh bill?\",\n  \"why are you applying for this job?\",\n  \"why do md mph?\",\n  \"why do i zap people?\",\n  \"why is silver important?\",\n  \"why is pluto not a planet?\",\n  \"why are esters important?\",\n  \"why is future fusion banned?\",\n  \"why is quality important?\",\n  \"why do mbas make more money?\",\n  \"why are pygmy rabbits endangered?\",\n  \"why is there centripetal acceleration?\",\n  \"why are microorganisms ubiquitous?\",\n  \"why is lpg so dear?\",\n  \"why is golf 18 holes?\",\n  \"why are logos important?\",\n  \"why do tornadoes form?\",\n  \"why are dubs disabled?\",\n  \"why is there hiss in my recording?\",\n  \"why is burn notice in its final season?\",\n  \"why are boys attracted to girls?\",\n  \"why are there governments?\",\n  \"why is there no atmosphere on mercury?\",\n  \"why is there hiragana and katakana?\",\n  \"why do brewers have gv on uniforms?\",\n  \"why are there few precambrian fossils?\",\n  \"why are pistachios so expensive?\",\n  \"why is ikea food so good?\",\n  \"why is there hfcs in bread?\",\n  \"why is there bubbles in my nail polish?\",\n  \"why is ct the nutmeg state?\",\n  \"why do pdf files get corrupted?\",\n  \"why is sftp so slow?\",\n  \"why is there elites in halo 4?\",\n  \"why is dhs stockpiling ammunition?\",\n  \"why are there x\\\"s on moonshine?\",\n  \"why is there purple lightning?\",\n  \"why are there swiss guard in vatican city?\",\n  \"why are there fuel surcharges?\",\n  \"why are hp touchpads discontinued?\",\n  \"why is keanu reeves so sad?\",\n  \"why are there cherry blossoms in washington dc?\",\n  \"why are plastic bags bad?\",\n  \"why is there no cbs on demand?\",\n  \"why are lsu fans called corn dogs?\",\n  \"why is ukraine not part of the eu?\",\n  \"why is rfid important?\",\n  \"why do aquarius women disappear?\",\n  \"why are observations important?\",\n  \"why are there 3 iexplore.exe?\",\n  \"why do psychopaths lack empathy?\",\n  \"why are hsa distributions taxable?\",\n  \"why is iron man called iron man?\",\n  \"why do ultrasound waves produce images?\",\n  \"why do yeast infections itch?\",\n  \"why is mp3 a good file format?\",\n  \"why is there an experimental section on the lsat?\",\n  \"why is gfr increased in pregnancy?\",\n  \"why is dark chocolate healthy?\",\n  \"why is uplay so bad?\",\n  \"why are there trolls?\",\n  \"why are there animal people in dbz?\",\n  \"why do pitchers cover their mouth?\",\n  \"why do juveniles become offenders?\",\n  \"why is workaholics not available on netflix?\",\n  \"why are csr definitions so open?\",\n  \"why there is udp through tcp exists?\",\n  \"why is nba 2k12 so slow?\",\n  \"why are there unemployed people?\",\n  \"why are implants so expensive?\",\n  \"why is there slimy discharge?\",\n  \"why is there people on earth?\",\n  \"why are psychopaths so smart?\",\n  \"why do honey bees swarm?\",\n  \"why are zwitterions formed?\",\n  \"why are puppies eyes closed?\",\n  \"why are pcs better for gaming than macs?\",\n  \"why are rf values less than 1?\",\n  \"why do phones freeze?\",\n  \"why do migraines happen?\",\n  \"why is zumba good for you?\",\n  \"why is verizon so slow?\",\n  \"why is kwaito dance performed?\",\n  \"why are jsp pages very scalable?\",\n  \"why do the x factor contestants mime?\",\n  \"why do hands swell?\",\n  \"why are there so many chickens in oahu?\",\n  \"why are there eggs in lasagna?\",\n  \"why is damn a bad word?\",\n  \"why are there fruit flies in my room?\",\n  \"why are there no other dwarves in lord of the rings?\",\n  \"why is detroit so bad?\",\n  \"why is there fighting in egypt?\",\n  \"why is there a cyborg noodle?\",\n  \"why are ryokans so expensive?\",\n  \"why is there hunger in india?\",\n  \"why is online dating so hard?\",\n  \"why do epidemics occur?\",\n  \"why is there ammonia in hair color?\",\n  \"why is tv good?\",\n  \"why do they call the warriors dubs?\",\n  \"why are illegal immigrants bad?\",\n  \"why are there so many counties in ky?\",\n  \"why do eggs crack when boiled?\",\n  \"why do airlines charge for bags?\",\n  \"why do evil people prosper?\",\n  \"why are there wicker baskets on the pins at marion?\",\n  \"why is duck dynasty so rich?\",\n  \"why is there no epidural space in the brain?\",\n  \"why is there sticky keys?\",\n  \"why is axe called lynx?\",\n  \"why do cfl bulbs flicker?\",\n  \"why do smoke detectors go off?\",\n  \"why are oberon and titania in athens?\",\n  \"why are there three pedals on a piano?\",\n  \"why do tdd?\",\n  \"why is rdj banned from japan?\",\n  \"why are there so many silvas in mma?\",\n  \"why are there so few ikea stores?\",\n  \"why is there tar in cigarettes?\",\n  \"why do dark colors absorb heat?\",\n  \"why are nickelodeon shows leaving netflix?\",\n  \"why do we calculate rf?\",\n  \"why are there tags on mattresses?\",\n  \"why are vntrs used in forensics?\",\n  \"why do gmail accounts get disabled?\",\n  \"why is there not a dh in the national league?\",\n  \"why are nitrates bad?\",\n  \"why are dwarf planets not planets?\",\n  \"why is peta bad?\",\n  \"why do kids join gangs?\",\n  \"why do old people shake?\",\n  \"why are kbb values so high?\",\n  \"why do fibroids hurt?\",\n  \"why is mcat verbal so hard?\",\n  \"why is ncaa 14 so hard?\",\n  \"why is td insurance so cheap?\",\n  \"why do ostriches eat stones?\",\n  \"why is udyr so op?\",\n  \"why do freckles come out in the sun?\",\n  \"why are hangovers worse when older?\",\n  \"why is mucinex so expensive?\",\n  \"why is wfnnb calling me?\",\n  \"why are micronutrients important?\",\n  \"why are there less red m ms?\",\n  \"why is public relations important?\",\n  \"why are there elements below the periodic table?\",\n  \"why are kanye\\\"s cheeks puffy?\",\n  \"why do bearded dragons wave?\",\n  \"why is gst a regressive tax?\",\n  \"why is xtorrent so slow?\",\n  \"why do cupcakes fall?\",\n  \"why are ovary cysts painful?\",\n  \"why is there volatility smile?\",\n  \"why are lsu players in jail?\",\n  \"why are friends so fake?\",\n  \"why do my bf and i always argue?\",\n  \"why are xeons better for servers?\",\n  \"why are israel and palestinians fighting?\",\n  \"why are there geysers in yellowstone?\",\n  \"why is abalone diving dangerous?\",\n  \"why is there dry blood in my nose?\",\n  \"why do birds dance to music?\",\n  \"why are there gangs?\",\n  \"why is usa not in confederations cup?\",\n  \"why are shirts called t shirts?\",\n  \"why are there no mailboxes in uldum?\",\n  \"why do dc motors overheat?\",\n  \"why is umbreon good?\",\n  \"why are cars exempt from cgt?\",\n  \"why are there so many djs?\",\n  \"why is there overfishing?\",\n  \"why is there a second eid?\",\n  \"why is cf2cl2 polar?\",\n  \"why are there riots in europe?\",\n  \"why do hr management?\",\n  \"why is klingon blood pink?\",\n  \"why are if statements bad?\",\n  \"why do hmong people wear hmong clothes?\",\n  \"why are aye ayes important?\",\n  \"why is promised land rated r?\",\n  \"why is there beeping in kill bill?\",\n  \"why do vitamins expire?\",\n  \"why do ssd cost so much?\",\n  \"why are developers excited about ajax?\",\n  \"why do gpus run so hot?\",\n  \"why do ccna?\",\n  \"why is there application fees?\",\n  \"why do klingons have pink blood?\",\n  \"why is dlp dead?\",\n  \"why do oil prices rise?\",\n  \"why are ordinances important in my life?\",\n  \"why do lps sound better?\",\n  \"why are there dreams?\",\n  \"why there is no dc transformer?\",\n  \"why do dentists x ray teeth?\",\n  \"why do pimples ooze clear liquid?\",\n  \"why do u choose ubs?\",\n  \"why is there is no sound in space?\",\n  \"why is xcode so bad?\",\n  \"why do snakes hiss?\",\n  \"why is iodine deficiency a problem?\",\n  \"why do interest rates change?\",\n  \"why is forgiveness important?\",\n  \"why do yeast infections hurt?\",\n  \"why are there heat lamps in hotel bathrooms?\",\n  \"why is nz earthquake territory?\",\n  \"why is msg bad during pregnancy?\",\n  \"why do rabbits grunt?\",\n  \"why is there an nba lockdown?\",\n  \"why is there no sound on dvd i burn?\",\n  \"why is there an apostrophe in d oh?\",\n  \"why are oem cheaper?\",\n  \"why are there skits on rap albums?\",\n  \"why did fdr do the new deal?\",\n  \"why is rpi used?\",\n  \"why do nde happen?\",\n  \"why is gmo soy bad?\",\n  \"why is there atheism?\",\n  \"why are there school yahoo answers?\",\n  \"why are fb statuses fruits?\",\n  \"why is vnc so slow?\",\n  \"why is ring finger on left hand?\",\n  \"why are there video ads on youtube?\",\n  \"why are we at half mast?\",\n  \"why is azdrama.net down?\",\n  \"why is freedom of religion important?\",\n  \"why are xbox better than ps3?\",\n  \"why do you want to work for primark?\",\n  \"why is jwoww on jersey shore?\",\n  \"why are there no hybrid minivans?\",\n  \"why are there frogs in my pool?\",\n  \"why do a bcl?\",\n  \"why are there two versions of away in a manger?\",\n  \"why are there always two rainbows?\",\n  \"why are imports subtracted from gdp?\",\n  \"why do eggs smell like fart?\",\n  \"why are there ghost cities in china?\",\n  \"why is there a knot under my armpit?\",\n  \"why is there opel and vauxhall?\",\n  \"why are the ajanta caves important?\",\n  \"why are awards good?\",\n  \"why is anne hathaway hated?\",\n  \"why are rough copy out xfactor?\",\n  \"why are mcdonalds coke so good?\",\n  \"why are psn downloads so slow?\",\n  \"why is milk pasteurized?\",\n  \"why is texas a republic?\",\n  \"why do my boobs hurt?\",\n  \"why is there mercury in vaccines?\",\n  \"why is there no mcdonalds in kazakhstan?\",\n  \"why is there so much traffic in sf today?\",\n  \"why is hdtv better?\",\n  \"why is umar gul not playing?\",\n  \"why is there more rna than dna?\",\n  \"why do people shop at kmart?\",\n  \"why is pmi so high?\",\n  \"why is there extra books in the catholic bible?\",\n  \"why is there homeless people?\",\n  \"why do we have the nmc?\",\n  \"why are there ghosts in hogwarts?\",\n  \"why is wool a good insulator?\",\n  \"why do equinoxes and solstices occur?\",\n  \"why are ethics important?\",\n  \"why is dps so high on halfus?\",\n  \"why is ivory illegal?\",\n  \"why is kush so good?\",\n  \"why do oil spills pose a long-term risk?\",\n  \"why do seniors graduate early?\",\n  \"why are there golf balls on the moon?\",\n  \"why are they called buffalo wings?\",\n  \"why are hfcs expensive?\",\n  \"why is there riots in london?\",\n  \"why is there fluid in blisters?\",\n  \"why is there snakes on the med sign?\",\n  \"why is bbb calling me?\",\n  \"why are overalls called overalls?\",\n  \"why do rcb wear green?\",\n  \"why is economics important?\",\n  \"why do tattoos ooze plasma?\",\n  \"why do ovarian cysts cause weight gain?\",\n  \"why is overthinking bad?\",\n  \"why are there sweatshops in developing countries?\",\n  \"why are english bulldogs so expensive?\",\n  \"why do onions bolt?\",\n  \"why are td cheques so expensive?\",\n  \"why is there flashing lights in the sky?\",\n  \"why are there dwarf planets in the asteroid belt?\",\n  \"why do oxidation and reduction occur together?\",\n  \"why are there worms when it rains?\",\n  \"why is oedipus rex important?\",\n  \"why are macs so good?\",\n  \"why do we need svn?\",\n  \"why is there fluid in my knee?\",\n  \"why do erythrocytes have a limited lifespan?\",\n  \"why are there missing episodes of doctor who?\",\n  \"why are online classes more expensive?\",\n  \"why are there kangaroos only in australia?\",\n  \"why are football players wearing mhk?\",\n  \"why do i owe ny state taxes?\",\n  \"why do gmail emails disappear?\",\n  \"why is oolong tea good for weight loss?\",\n  \"why do singers use an earpiece?\",\n  \"why do locusts swarm?\",\n  \"why is there no wreckage at the pentagon?\",\n  \"why are my oovoo ads in spanish?\",\n  \"why is ddr5 better than ddr3?\",\n  \"why are msds sheets required?\",\n  \"why are urinals not private?\",\n  \"why do educational research?\",\n  \"why are there two wmiprvse exe?\",\n  \"why is hvdc better?\",\n  \"why are there no igloos in antarctica?\",\n  \"why is cucumber healthy?\",\n  \"why are ssri prescribed?\",\n  \"why are saturn\\\"s rings so thin?\",\n  \"why are valence electrons so important?\",\n  \"why do we use cmyk for printing?\",\n  \"why are oxygenates added to gasoline?\",\n  \"why are there so few women in uae?\",\n  \"why are there bows on candy crush?\",\n  \"why are srt4 drivers so cocky?\",\n  \"why are mp3 files big?\",\n  \"why is there japanese in brazil?\",\n  \"why are there canadian teams in the mlb?\",\n  \"why is syndicate so popular?\",\n  \"why is wc toilet?\",\n  \"why are phytoplankton critical to life on earth?\",\n  \"why are pt levels high?\",\n  \"why do mps keep standing up?\",\n  \"why do dna sequencing?\",\n  \"why are there tiny flies in my bathroom?\",\n  \"why do nrtis cause lactic acidosis?\",\n  \"why do mri with contrast?\",\n  \"why is islam evil?\",\n  \"why is there plaque on my tongue?\",\n  \"why do you get diarrhea?\",\n  \"why are there guys on the price is right?\",\n  \"why is there an h on my phone?\",\n  \"why do hr departments exist?\",\n  \"why is there different races?\",\n  \"why are there essents rather than nothing?\",\n  \"why are tncs so powerful?\",\n  \"why are ivy league schools so good?\",\n  \"why do people smoke dmt?\",\n  \"why do an mfa?\",\n  \"why do aquarius men come back?\",\n  \"why are almonds good for you?\",\n  \"why do hz matter in a tv?\",\n  \"why do nightingales migrate?\",\n  \"why is note taking important?\",\n  \"why are there parrots in san francisco?\",\n  \"why is there energy?\",\n  \"why are ionic compounds electrolytes?\",\n  \"why do dvds look bad on computer?\",\n  \"why is there 2 csrss.exe?\",\n  \"why are ryan reynolds and scarlett divorcing?\",\n  \"why do nfl players wear padding?\",\n  \"why are there fireworks right now?\",\n  \"why is tikanga important to the māori?\",\n  \"why is there boxing day?\",\n  \"why do keygens have music?\",\n  \"why do games use udp?\",\n  \"why are lcd screens bad for eyes?\",\n  \"why do people buy dlc?\",\n  \"why zfs is cool?\",\n  \"why are there two madara uchiha?\",\n  \"why are there no fighting games for pc?\",\n  \"why do two tabs open in chrome?\",\n  \"why is there flies in my room?\",\n  \"why do teenagers rebel?\",\n  \"why do bba?\",\n  \"why is mpg higher in europe?\",\n  \"why are there roses in vineyards?\",\n  \"why are liberals so smug?\",\n  \"why do nhl refs have numbers?\",\n  \"why is there racism in othello?\",\n  \"why do headaches hurt?\",\n  \"why are there 2 iexplore.exe in task manager?\",\n  \"why are there squatters in the philippines?\",\n  \"why secondary of lvdt are differentially wound?\",\n  \"why are cats afraid of water?\",\n  \"why are there american flags on cranes?\",\n  \"why is scholarship important?\",\n  \"why is there the illuminati?\",\n  \"why is wow so popular?\",\n  \"why are there murderers?\",\n  \"why are ivory billed woodpeckers endangered?\",\n  \"why is there skin tags?\",\n  \"why is dhs buying up ammo?\",\n  \"why do volcanoes have different shapes?\",\n  \"why is uuu down?\",\n  \"why is there so much rain this summer?\",\n  \"why are hmv closing down?\",\n  \"why are beats by dre?\",\n  \"why do use facebook?\",\n  \"why do ups packages go to kentucky?\",\n  \"why is ovulation painful?\",\n  \"why do educators conduct research?\",\n  \"why are idioms used?\",\n  \"why is ifrs important?\",\n  \"why do you want to work here?\",\n  \"why are nuclear weapons good?\",\n  \"why do tcas cause hypotension?\",\n  \"why do jets stay in bf3?\",\n  \"why are there 88 keys on a piano?\",\n  \"why is there voltage drop?\",\n  \"why is yngwie selling his guitars?\",\n  \"why is nf3 polar?\",\n  \"why are africans starving?\",\n  \"why do they call it the big apple?\",\n  \"why do my fps drop?\",\n  \"why is fwd not good?\",\n  \"why is kelly osbourne on disney channel?\",\n  \"why are odyssey putters so good?\",\n  \"why is there rhyolite in yellowstone?\",\n  \"why is uluru red?\",\n  \"why are there illegal immigrants in america?\",\n  \"why do vss writers fail?\",\n  \"why is wtr astigmatism more common?\",\n  \"why is ice cream bad for you?\",\n  \"why is there oestrogen in tap water?\",\n  \"why do mx riders whip?\",\n  \"why are cbs shows not on demand?\",\n  \"why is vulnerability good?\",\n  \"why are there physical symptoms of depression?\",\n  \"why is there ads on youtube?\",\n  \"why are gdp figures important for policy makers?\",\n  \"why are there gender differences in depression?\",\n  \"why are hmos formed?\",\n  \"why is fdr a good president?\",\n  \"why are there multiple svchost.exe running?\",\n  \"why do slugs die from salt?\",\n  \"why are there 4 stars on nz flag?\",\n  \"why are there slugs in my garden?\",\n  \"why is pants plural?\",\n  \"why do wwe wrestlers shave their legs?\",\n  \"why are rhinos important?\",\n  \"why is owner equity a credit?\",\n  \"why do dryer sheets repel bugs?\",\n  \"why are there other pigments in leaves?\",\n  \"why is ian somerhalder in london 2013?\",\n  \"why do canadians say eh all the time?\",\n  \"why do bypass surgery?\",\n  \"why are tomatoes bad for you?\",\n  \"why are msgs bad?\",\n  \"why do republicans hate fdr?\",\n  \"why are cucumbers bitter?\",\n  \"why are there laces on a football?\",\n  \"why are northerners so rude?\",\n  \"why is poop so popular?\",\n  \"why do slugs come out at night?\",\n  \"why is there no nhl this year?\",\n  \"why are gnats in my kitchen?\",\n  \"why is north korea a threat?\",\n  \"why do khajiit hate argonians?\",\n  \"why are cfcs potent greenhouse gases?\",\n  \"why jrpgs are bad?\",\n  \"why do girls hate me?\",\n  \"why is there rat poison in cigarettes?\",\n  \"why is ios better than android?\",\n  \"why is there ash falling from the sky?\",\n  \"why is juice bad for you?\",\n  \"why do hr strategies fail?\",\n  \"why are there 3 types of rna?\",\n  \"why do dlls need to be registered?\",\n  \"why are there gusts of wind?\",\n  \"why are hydrothermal vents important?\",\n  \"why do hiccups happen?\",\n  \"why is there blood in my pee?\",\n  \"why are dslr lenses so expensive?\",\n  \"why do hangovers happen?\",\n  \"why is rti being introduced?\",\n  \"why is xcode not free?\",\n  \"why is fx not on bell?\",\n  \"why do opiates make me itch?\",\n  \"why is san francisco so cold?\",\n  \"why are oakleys cheaper on ebay?\",\n  \"why is mercury a liquid?\",\n  \"why are zucchini flowers falling off?\",\n  \"why is fdi bad?\",\n  \"why are there no taxes in uae?\",\n  \"why is knight still in hospital?\",\n  \"why do pull away?\",\n  \"why is jp morgan selling gold?\",\n  \"why is ohio called ohio?\",\n  \"why are there no animals in my minecraft xbox?\",\n  \"why are there continents?\",\n  \"why is gst good?\",\n  \"why is there urine in my underwear?\",\n  \"why are there laugh tracks in tv shows?\",\n  \"why are there rubber bands on braces?\",\n  \"why is bb cream good for you?\",\n  \"why are ctp so expensive?\",\n  \"why are there wildfires?\",\n  \"why are rna and dna different?\",\n  \"why are rf values useful?\",\n  \"why hvdc is better than hvac?\",\n  \"why is there a giant hole in sparta?\",\n  \"why are ghetto people ignorant?\",\n  \"why are there philosophers?\",\n  \"why is voice of resurgence so expensive?\",\n  \"why is nguyen a common last name?\",\n  \"why are there bullies yahoo?\",\n  \"why are there different rf values?\",\n  \"why is nds emulator slow?\",\n  \"why are there so many csi?\",\n  \"why are glasses unattractive?\",\n  \"why are sloths so creepy?\",\n  \"why are there exceptions to the solubility rules?\",\n  \"why do auctioneers talk like that?\",\n  \"why is gyarados red?\",\n  \"why are there syllables?\",\n  \"why are there opening credits?\",\n  \"why is fish oil good for you?\",\n  \"why are grizzly bears endangered?\",\n  \"why do people like svu?\",\n  \"why is hn3 unstable?\",\n  \"why do rhinos fight?\",\n  \"why are there beehives in utah?\",\n  \"why are ssd so small?\",\n  \"why are there different types of clouds?\",\n  \"why are there beeps in kill bill?\",\n  \"why do poems rhyme?\",\n  \"why do taiwanese hate koreans?\",\n  \"why are irises called flags?\",\n  \"why are spiders good?\",\n  \"why do you get gbs?\",\n  \"why is there tornado in america?\",\n  \"why is there friction between objects?\",\n  \"why do rhinos need their horns?\",\n  \"why are there sand dunes in michigan?\",\n  \"why do gypsies marry cousins?\",\n  \"why is there haze in singapore?\",\n  \"why is hd radio not popular?\",\n  \"why are dfds used?\",\n  \"why are zodiac signs accurate?\",\n  \"why do we say xmas?\",\n  \"why do tcas have antimuscarinic effects?\",\n  \"why is there no period after ft?\",\n  \"why do lsu fans say geaux tigers?\",\n  \"why is romeo so sad?\",\n  \"why are pc gamers such snobs?\",\n  \"why are there so many ncaa bowls?\",\n  \"why is there yellow watermelon?\",\n  \"why are global markets needed?\",\n  \"why is there always coffee at aa meetings?\",\n  \"why is xtranormal shutting down?\",\n  \"why is there little bumps on my lips?\",\n  \"why is your period late?\",\n  \"why do birds fly in v formation?\",\n  \"why is the kv-5 being removed?\",\n  \"why is phlegm yellow?\",\n  \"why are there spiders in my shower?\",\n  \"why is there only life on earth?\",\n  \"why do people not rsvp?\",\n  \"why are there no oysters?\",\n  \"why are cps teachers on strike?\",\n  \"why do opiate withdrawals hurt?\",\n  \"why do knees click?\",\n  \"why do palms sweat?\",\n  \"why do question marks appear in text?\",\n  \"why are there upper and lower limits for intrinsic viscosity?\",\n  \"why are there cicadas every year?\",\n  \"why is there boiling point elevation?\",\n  \"why is there day and night?\",\n  \"why do actors say break a leg?\",\n  \"why are there no minorities at the rnc?\",\n  \"why do old people drive buicks?\",\n  \"why is pvc used in pipes?\",\n  \"why are there no good rpgs anymore?\",\n  \"why do lights twinkle?\",\n  \"why is roulette illegal in california?\",\n  \"why do people hate jwoww?\",\n  \"why is axl rose a jerk?\",\n  \"why do mba essay?\",\n  \"why is pcmh important?\",\n  \"why is eggplant bad for you?\",\n  \"why is fn key not working?\",\n  \"why are tcs foods high risk?\",\n  \"why is there attraction between men and women?\",\n  \"why is kmart closing?\",\n  \"why are there celebrities?\",\n  \"why is gdp useful in measuring the economy?\",\n  \"why is family important?\",\n  \"why are hashtags on facebook?\",\n  \"why are irish police?\",\n  \"why are espresso makers so expensive?\",\n  \"why are there air bubbles in my paint?\",\n  \"why do aed pads expire?\",\n  \"why do pregnant women have gas?\",\n  \"why is there political unrest in egypt?\",\n  \"why is there egg yolk in ice cream?\",\n  \"why is there dust in my hair brush?\",\n  \"why do immigrants change their names?\",\n  \"why is there a gap in your cv?\",\n  \"why do lunges?\",\n  \"why is happiness important?\",\n  \"why are dvd sales declining?\",\n  \"why is ngo important?\",\n  \"why is gpu programming difficult?\",\n  \"why do we get headaches?\",\n  \"why are equilibrium constants important?\",\n  \"why is uploaded.net not working?\",\n  \"why is kono leaving hawaii five-o?\",\n  \"why is there bst?\",\n  \"why is erin burnett so hot?\",\n  \"why do cnidarians belong to metazoans?\",\n  \"why are kentucky fans such douchebags?\",\n  \"why are zinc blocks attached to ships?\",\n  \"why are there birds dying?\",\n  \"why do shoes have heels?\",\n  \"why is bwtorrents down?\",\n  \"why is honesty important?\",\n  \"why is dyrus so popular?\",\n  \"why is ocean water salty?\",\n  \"why do mma fighters paint their nails?\",\n  \"why are there yew trees in graveyards?\",\n  \"why do americans?\",\n  \"why are iguanas important?\",\n  \"why are there maggots in my garbage?\",\n  \"why is xenoblade chronicles so rare?\",\n  \"why do tonsil stones smell?\",\n  \"why is it a sin to kill a mockingbird?\",\n  \"why do detectives wear suits?\",\n  \"why do kuhli loaches swim in circles?\",\n  \"why are there so many svchost exe?\",\n  \"why are koreans obsessed with plastic surgery?\",\n  \"why is oedipus cursed?\",\n  \"why is lg a good brand?\",\n  \"why is uc irvine anteaters?\",\n  \"why are clouds flat on the bottom?\",\n  \"why is gsw called dubs?\",\n  \"why are cats so lazy?\",\n  \"why is fdi good for india?\",\n  \"why do bulls buck?\",\n  \"why is gum bad for you?\",\n  \"why are there pimples on my scalp?\",\n  \"why do organisms need carbon?\",\n  \"why is sd card not detected?\",\n  \"why are operational definitions important?\",\n  \"why do drinks sweat?\",\n  \"why do people say tl dr?\",\n  \"why are turtles important?\",\n  \"why do wrestlers cut weight?\",\n  \"why are exponents important?\",\n  \"why do we have the rwc?\",\n  \"why are sleeping pills bad?\",\n  \"why do odysseus men disobey him?\",\n  \"why do mlb pitchers change balls?\",\n  \"why is dhea banned?\",\n  \"why is cgpeers down?\",\n  \"why do dwarves have beards?\",\n  \"why do jigsaw puzzles?\",\n  \"why are kids allergic to peanuts?\",\n  \"why is nds4droid slow?\",\n  \"why is evolution important to biology?\",\n  \"why is tmux better than screen?\",\n  \"why do spanish people say jaja?\",\n  \"why are oats good for horses?\",\n  \"why is lhasa a forbidden city?\",\n  \"why do people say xmas?\",\n  \"why is there percent yield?\",\n  \"why do salmon jump?\",\n  \"why is there no temple of brahma ji?\",\n  \"why do nsaids cause swelling?\",\n  \"why is chocolate good for you?\",\n  \"why do empires fall?\",\n  \"why is humility important?\",\n  \"why are there riots in sweden?\",\n  \"why are lobsters so expensive?\",\n  \"why do people discriminate against lgbt?\",\n  \"why is there easter bunny?\",\n  \"why we are using dhcp?\",\n  \"why is bf3 better on pc?\",\n  \"why are gcses getting easier?\",\n  \"why is gambling addictive?\",\n  \"why is there no ncaa basketball 2011?\",\n  \"why are so many cars fwd?\",\n  \"why do nba players get tattoos?\",\n  \"why is gt not canon?\",\n  \"why are video games bad?\",\n  \"why are umpires wearing blue afl?\",\n  \"why do nba players look up?\",\n  \"why is there gmo?\",\n  \"why do i have the x factor?\",\n  \"why is tristana good late game?\",\n  \"why are bugs attracted to light?\",\n  \"why do fbi agents use math?\",\n  \"why is olotels so cheap?\",\n  \"why is federer so good?\",\n  \"why is there world poverty?\",\n  \"why do use commas?\",\n  \"why do humans need water?\",\n  \"why is ezinma so special to ekwefi?\",\n  \"why is there aluminum in deodorant?\",\n  \"why are there polar bears on the lost island?\",\n  \"why is fnma called fannie mae?\",\n  \"why do ice cubes float?\",\n  \"why are nightmares called nightmares?\",\n  \"why is rvca banned from ufc?\",\n  \"why is corn bad for you?\",\n  \"why do we use ajax controls?\",\n  \"why are there enzymes in laundry detergent?\",\n  \"why do type 2 errors occur?\",\n  \"why are there fences along interstates?\",\n  \"why do pandas eat bamboo?\",\n  \"why are there age of consent laws?\",\n  \"why are there worms in my room?\",\n  \"why are there moths in my oatmeal?\",\n  \"why are there dashboard cameras in russia?\",\n  \"why are amino acids zwitterions?\",\n  \"why is cfc harmful?\",\n  \"why is cvd a health priority issue?\",\n  \"why do two iexplore.exe?\",\n  \"why are there fruit flies in the bathroom?\",\n  \"why is there electrical activity in the brain?\",\n  \"why do gnats go to the highest point?\",\n  \"why are there overdraft fees?\",\n  \"why do you hiccup?\",\n  \"why is there other planets?\",\n  \"why do leaves on plants turn yellow?\",\n  \"why are there double standards?\",\n  \"why is hydrogen important?\",\n  \"why do effective tax rates differ?\",\n  \"why is cpu usage high?\",\n  \"why are onions bad for dogs?\",\n  \"why are oh peaks broad?\",\n  \"why do djs put tape on records?\",\n  \"why is viagra so expensive?\",\n  \"why is there a ykk on my zipper?\",\n  \"why there is kolaveri lyrics?\",\n  \"why are there ads on bbc?\",\n  \"why is there no snow in nz?\",\n  \"why do braids itch?\",\n  \"why are there evil spirits?\",\n  \"why is iwo jima memorial important?\",\n  \"why are there viruses yahoo?\",\n  \"why are there dugouts in baseball?\",\n  \"why are estuaries vulnerable to the effects of pollution?\",\n  \"why are there limitations to calculating national gdp?\",\n  \"why are oil spills harmful?\",\n  \"why is there an embryo in every seed?\",\n  \"why is there turmoil in egypt?\",\n  \"why are there no windows in ikea?\",\n  \"why do iip?\",\n  \"why is there so much crime in oakland?\",\n  \"why are rlc circuits important?\",\n  \"why do i exist rwanda?\",\n  \"why do people have pgd?\",\n  \"why are omegas called q dogs?\",\n  \"why is there plague in thebes?\",\n  \"why are rna viruses more prone to mutation?\",\n  \"why is dlisted not working?\",\n  \"why is milk good for you?\",\n  \"why are there ads on my phone?\",\n  \"why do americans hate america?\",\n  \"why are ultrasounds important?\",\n  \"why is kmart failing?\",\n  \"why did the ndp do so well?\",\n  \"why are there illustrations in children\\\"s books?\",\n  \"why are writers introverts?\",\n  \"why do plasmas have higher hz?\",\n  \"why do people use xfire?\",\n  \"why do elephants have big ears?\",\n  \"why is there birthmark?\",\n  \"why is there no french gp?\",\n  \"why are native americans called redskins?\",\n  \"why do ezio and desmond have the same scar?\",\n  \"why are there planets in space?\",\n  \"why is eel blood toxic?\",\n  \"why do immunizations cause fever?\",\n  \"why do scientists need scientific models?\",\n  \"why do salmon change color?\",\n  \"why is there an outlier?\",\n  \"why is apple better than pc?\",\n  \"why do celebrities like tmz?\",\n  \"why is kanye never with kim?\",\n  \"why is xtranormal not free?\",\n  \"why is nylon called nylon?\",\n  \"why is there corn in poop?\",\n  \"why do noses bleed?\",\n  \"why is lil boosie locked up?\",\n  \"why do azo dyes have color?\",\n  \"why are nitrates added to food?\",\n  \"why is there erosion?\",\n  \"why are there koreans in argentina?\",\n  \"why is there evil yahoo answers?\",\n  \"why do liberals hate america?\",\n  \"why do our eyes twitch?\",\n  \"why is tsh a tropic hormone?\",\n  \"why are there hate groups?\",\n  \"why do lucid dreams occur?\",\n  \"why do koreans say oppa?\",\n  \"why are xbox controllers so expensive?\",\n  \"why is hydrogenated oil bad?\",\n  \"why is there after market trading?\",\n  \"why do we use ddt?\",\n  \"why are there ulcers in my mouth?\",\n  \"why do quokkas smile?\",\n  \"why are apps important?\",\n  \"why do stocks go up?\",\n  \"why are there commercials on ifc now?\",\n  \"why is feedly over capacity?\",\n  \"why is cm punk not on raw?\",\n  \"why do psychiatry?\",\n  \"why do oysters produce pearls?\",\n  \"why are bcc and cc used?\",\n  \"why is agnc falling?\",\n  \"why is sfm lag?\",\n  \"why is there optical illusions?\",\n  \"why do ducks preen?\",\n  \"why are mn(ii) and fe(iii) weakly colored?\",\n  \"why is ibuypower so cheap?\",\n  \"why are nsaids not used in asthma?\",\n  \"why do yeast infections keep coming back?\",\n  \"why is rhetorical analysis important?\",\n  \"why are there suddenly flies in my house?\",\n  \"why are plates 45 lbs?\",\n  \"why do knees crack when squatting?\",\n  \"why is there traffic in nyc today?\",\n  \"why are there dark spots on my legs?\",\n  \"why do onions make people cry?\",\n  \"why is there sales tax on used cars?\",\n  \"why are there so many lakes in mn?\",\n  \"why is txu so expensive?\",\n  \"why do we need jsp?\",\n  \"why are there tariffs?\",\n  \"why are there no women in mlb?\",\n  \"why is there or why are there grammar?\",\n  \"why is there bubbles in my water?\",\n  \"why is assad bad?\",\n  \"why are target commercials in spanish?\",\n  \"why do oak trees leak sap?\",\n  \"why is firefox slow?\",\n  \"why is there no yuengling in ky?\",\n  \"why do ryanair leave seats empty?\",\n  \"why are there holes in the ozone layer for kids?\",\n  \"why are enzymes called biological catalysts?\",\n  \"why are there subsidies for oil companies?\",\n  \"why is there ageism?\",\n  \"why is there a dog on the hmv logo?\",\n  \"why do jw go door to door?\",\n  \"why are gmo foods good?\",\n  \"why are there no girls on omegle?\",\n  \"why is there an obelisk in dc?\",\n  \"why are there bots on craigslist?\",\n  \"why are there silver balls in nail polish?\",\n  \"why are fireworks dangerous?\",\n  \"why are adjectives important?\",\n  \"why is ehmmbh ending?\",\n  \"why do register dll?\",\n  \"why is there mythology?\",\n  \"why is cnn obsessed with jodi arias?\",\n  \"why do mlg players use earbuds?\",\n  \"why are there elephants in paradise video?\",\n  \"why is erosion necessary?\",\n  \"why is there oppression?\",\n  \"why are gcses hard?\",\n  \"why is nvidia better than radeon?\",\n  \"why is there a need for rna?\",\n  \"why is nsa itanimulli?\",\n  \"why are there environmental laws?\",\n  \"why are looks so important to men?\",\n  \"why are there still nazis?\",\n  \"why is oscar wilde famous?\",\n  \"why is hispanic not a race?\",\n  \"why is kva used?\",\n  \"why do nfl players wear gloves?\",\n  \"why iframes are bad practice?\",\n  \"why are rcts considered gold standard?\",\n  \"why is there guar gum in coconut milk?\",\n  \"why are there circles on beer bottles?\",\n  \"why are cps schools closing?\",\n  \"why are irish so pale?\",\n  \"why are tires so expensive?\",\n  \"why do people hack fps games?\",\n  \"why is there electricity in the human body?\",\n  \"why are jpk bags so expensive?\",\n  \"why are there 500 euro notes?\",\n  \"why are there 2 oxygen in h2o?\",\n  \"why is hs2 needed?\",\n  \"why do gangs exist?\",\n  \"why are gyri made?\",\n  \"why is boston called beantown?\",\n  \"why are kayaks so expensive?\",\n  \"why do you learn english wypracowanie?\",\n  \"why is there arsenic in water?\",\n  \"why do turkeys dust?\",\n  \"why are there two mx records?\",\n  \"why are there cigarette taxes?\",\n  \"why are there jokers?\",\n  \"why do people hate ffxiii?\",\n  \"why are there two equinoxes?\",\n  \"why do people like gta?\",\n  \"why are there safety corridors in new mexico?\",\n  \"why are dlp bulbs so expensive?\",\n  \"why are there no azaleas at the masters this year?\",\n  \"why is fsa use it or lose it?\",\n  \"why is wuthering heights a gothic novel?\",\n  \"why is fwd bad?\",\n  \"why are eeo laws important?\",\n  \"why are there earwigs in my bathroom?\",\n  \"why are there child labor laws?\",\n  \"why do teenagers smoke weed?\",\n  \"why do people love ikea?\",\n  \"why are nutrients considered pollution?\",\n  \"why are there dark spots in the ocean?\",\n  \"why are swallows called swallows?\",\n  \"why are icebergs fresh water?\",\n  \"why are nz sea lions endangered?\",\n  \"why are advertisements bad?\",\n  \"why are mblaq fans called a+?\",\n  \"why are there always owls in futurama?\",\n  \"why is cycling good?\",\n  \"why is jwoww on crutches?\",\n  \"why is pgp popular?\",\n  \"why are dwarves always miners?\",\n  \"why are jorts bad?\",\n  \"why are there ever girls on omegle?\",\n  \"why is title ix necessary?\",\n  \"why are there unpopped popcorn kernels?\",\n  \"why do ptlls?\",\n  \"why do older men like me?\",\n  \"why is nguyen so common?\",\n  \"why is shooter rated r?\",\n  \"why is eggplant good for you?\",\n  \"why are springfield xd\\\"s made in croatia?\",\n  \"why are my sd cards write?\",\n  \"why are guys so confusing?\",\n  \"why is adventure time so good?\",\n  \"why is universal healthcare bad?\",\n  \"why are there orange walks?\",\n  \"why do abscesses form?\",\n  \"why are roads called pikes?\",\n  \"why are there global high pressure?\",\n  \"why do gypsies?\",\n  \"why is there double xp?\",\n  \"why are cpus so small?\",\n  \"why is there rust in my pool?\",\n  \"why is there boredom?\",\n  \"why is there so little yuri?\",\n  \"why is sven a support?\",\n  \"why is ginger spicy?\",\n  \"why is there zoning laws?\",\n  \"why are wetlands being lost?\",\n  \"why are nmr peaks lorentzian?\",\n  \"why is ff13 hated?\",\n  \"why are there prodigies?\",\n  \"why are there irish pubs everywhere?\",\n  \"why are ostriches endangered?\",\n  \"why is symbolism used?\",\n  \"why is nmr measured in ppm?\",\n  \"why are there no krystals in north carolina?\",\n  \"why do yugioh cards get banned?\",\n  \"why is super troopers rated r?\",\n  \"why are there so many iexplore.exe running?\",\n  \"why are there symbols in the great gatsby?\",\n  \"why are smart cars smart?\",\n  \"why do jellyfish glow?\",\n  \"why is rls good wow?\",\n  \"why is ubuntu and ubuntu?\",\n  \"why are css better than tables?\",\n  \"why are there more females than males?\",\n  \"why are yields so low?\",\n  \"why are ironing boards so expensive?\",\n  \"why are there elephants in melbourne?\",\n  \"why are iphones exploding?\",\n  \"why are there two equinoxes each year?\",\n  \"why is mr clean bald?\",\n  \"why is nj turnpike closed?\",\n  \"why are there eleven players in a cricket team?\",\n  \"why is ibm stock down?\",\n  \"why do trains honk?\",\n  \"why are rc circuits important?\",\n  \"why is there citric acid in kool aid?\",\n  \"why do tides occur?\",\n  \"why do mncs located in nics?\",\n  \"why is racism wrong?\",\n  \"why do svn files get locked?\",\n  \"why are pvc figures so expensive?\",\n  \"why do pyramid schemes fail?\",\n  \"why are agile guitars so cheap?\",\n  \"why are there traffic laws?\",\n  \"why is uganda a poor country?\",\n  \"why do authors write?\",\n  \"why are udders called udders?\",\n  \"why are fpgas so expensive?\",\n  \"why do bears hibernate?\",\n  \"why is sgd appreciation?\",\n  \"why do some people never gain weight?\",\n  \"why are knights important?\",\n  \"why do tattoos get puffy?\",\n  \"why are there little ants in my house?\",\n  \"why are there no nba games on april 4th?\",\n  \"why are tna arenas so small?\",\n  \"why is there thunder?\",\n  \"why are oxidizing agents used in explosives?\",\n  \"why do people say ew?\",\n  \"why is there 5 gymnasts and not 7?\",\n  \"why is dvd burner so slow?\",\n  \"why are zippos so popular?\",\n  \"why are there asylum seekers?\",\n  \"why is there no walmart in nyc?\",\n  \"why are ewes flushed?\",\n  \"why are dna and rna important?\",\n  \"why is there no xp bar in mw3?\",\n  \"why is bf3 so fun?\",\n  \"why are there 2 l in lloyd?\",\n  \"why do fb friends disappear and reappear?\",\n  \"why are oysters an aphrodisiac?\",\n  \"why is wwii important?\",\n  \"why are there wrinkles on my stomach?\",\n  \"why are mike & ike breaking up?\",\n  \"why are there parentheses around words in quotes?\",\n  \"why are education and slavery incompatible?\",\n  \"why is nph so awesome?\",\n  \"why are lcd monitors polarized?\",\n  \"why is ethanol gas bad?\",\n  \"why are there japanese versions of albums?\",\n  \"why are there education cuts?\",\n  \"why are there hermaphrodites?\",\n  \"why do people go to wyoming?\",\n  \"why is there an odor coming from my toilet?\",\n  \"why are there seven days in a week?\",\n  \"why is he called spieling peter?\",\n  \"why is ezreal an adc?\",\n  \"why is byzantium important?\",\n  \"why are there tv commercials?\",\n  \"why is diversification important?\",\n  \"why is ikea so expensive to ship?\",\n  \"why is ebitda important?\",\n  \"why do kids lie?\",\n  \"why is there leap year?\",\n  \"why is there ghosting on my tv?\",\n  \"why are there different types of html?\",\n  \"why are there opposites?\",\n  \"why are there ostrich farms?\",\n  \"why are there different eye colours?\",\n  \"why do it rain?\",\n  \"why are bald uakari endangered?\",\n  \"why do acidic solutions conduct electricity?\",\n  \"why are fraps files so big?\",\n  \"why do plant leaves turn yellow?\",\n  \"why are there ducks in my yard?\",\n  \"why are there 2 ctrl?\",\n  \"why is squash called squash?\",\n  \"why is there extra fabric in panties?\",\n  \"why is there sediment in wine?\",\n  \"why do aquarius men run away?\",\n  \"why is bsnl so slow?\",\n  \"why are there few massive stars?\",\n  \"why are orbits elliptical?\",\n  \"why are vitamins and minerals important?\",\n  \"why do cuticles peel?\",\n  \"why is pmma used?\",\n  \"why do i need vsphere?\",\n  \"why is there no atmosphere on the moon?\",\n  \"why is memorial day celebrated?\",\n  \"why are klingons afraid of tribbles?\",\n  \"why are there japanese bonus tracks?\",\n  \"why do scabs ooze?\",\n  \"why do you yawn?\",\n  \"why is mdt important?\",\n  \"why is vine so slow?\",\n  \"why are there aurora lights?\",\n  \"why do rhodesian ridgebacks have ridges?\",\n  \"why are there gideon bibles in hotels?\",\n  \"why are ryanair so bad?\",\n  \"why are there multiple iexplore.exe?\",\n  \"why are there side effects to chemotherapy?\",\n  \"why are glaciers fresh water?\",\n  \"why do fuel prices fluctuate?\",\n  \"why do men like feet?\",\n  \"why is finance important?\",\n  \"why are there four matildas?\",\n  \"why are symbols important?\",\n  \"why are there economic cycles?\",\n  \"why is there ulnar deviation in rheumatoid arthritis?\",\n  \"why is vmware so slow?\",\n  \"why do akitas have curly tails?\",\n  \"why are there quarrels among you?\",\n  \"why are equifax credit scores lower?\",\n  \"why are dlls used?\",\n  \"why is there a pc on delaware license plates?\",\n  \"why are there filler episodes?\",\n  \"why is there shiny pokemon?\",\n  \"why are lh levels high?\",\n  \"why are deserts hot?\",\n  \"why is fps so low in wow?\",\n  \"why are there airplanes painted on the highway in mississippi?\",\n  \"why do aka\\\"s wear pearls?\",\n  \"why do earthquakes happen ks2?\",\n  \"why are miranda rights important?\",\n  \"why are aye aye endangered species?\",\n  \"why is there bye week in nfl?\",\n  \"why is there yellow mucus in my stool?\",\n  \"why do hp laptops run hot?\",\n  \"why is important to vote?\",\n  \"why are there so many moths in tx?\",\n  \"why do humans laugh?\",\n  \"why are there glow in the dark condoms?\",\n  \"why is nmr used?\",\n  \"why is there no road to juneau?\",\n  \"why is there a rhino in james and the giant peach?\",\n  \"why are cctv cameras such bad quality?\",\n  \"why are deserts in danger of flash floods?\",\n  \"why are insects attracted to light?\",\n  \"why are coral reefs important?\",\n  \"why are lgbt allies important?\",\n  \"why do i need vmware view?\",\n  \"why are people against sb 1070?\",\n  \"why are there cold spots in the ocean?\",\n  \"why are units important?\",\n  \"why do pythons hiss?\",\n  \"why are restrooms called wc?\",\n  \"why is terrorism bad?\",\n  \"why is there an e where my 3g should be?\",\n  \"why are generators rated in kva?\",\n  \"why is there a xbox 4gb?\",\n  \"why is airfare so expensive 2013?\",\n  \"why is othello an outsider?\",\n  \"why is there oil in my throttle body?\",\n  \"why is weed illegal yahoo?\",\n  \"why is fx in spanish?\",\n  \"why is pptp insecure?\",\n  \"why are valleys hotter?\",\n  \"why are there two instances of iexplore.exe?\",\n  \"why are ghost followers bad?\",\n  \"why are ohko moves banned?\",\n  \"why do my ibooks disappear?\",\n  \"why is fpsrussia so rich?\",\n  \"why is sunburn itchy?\",\n  \"why are tribal tattoos bad?\",\n  \"why are there cyclones in queensland?\",\n  \"why do xena and gabrielle kiss?\",\n  \"why do english singers sound american?\",\n  \"why do klingons change appearance?\",\n  \"why is there gmt?\",\n  \"why is cd(oh)2 not a strong base?\",\n  \"why is there an nfl game in london?\",\n  \"why are rss feeds used?\",\n  \"why we do mca?\",\n  \"why are there no tvs on jersey shore?\",\n  \"why are there swarms of gnats in my yard?\",\n  \"why are fungi called decomposers?\",\n  \"why do love bugs stick together?\",\n  \"why is iago the main character in othello?\",\n  \"why do epidurals cause back pain?\",\n  \"why do hydrangea flowers turn green?\",\n  \"why do people say bw3?\",\n  \"why are there squat toilets?\",\n  \"why is mitosis important?\",\n  \"why is plastic bad?\",\n  \"why is pdf so slow?\",\n  \"why are guys so immature?\",\n  \"why are rf values important?\",\n  \"why do klingons hate romulans?\",\n  \"why are there two due process clauses?\",\n  \"why are distributed systems desirable?\",\n  \"why are lipids not considered to be polymers?\",\n  \"why do fugitives go to mexico?\",\n  \"why is scrafty uu?\",\n  \"why are there bumps on the back of my tongue?\",\n  \"why is diesel better than gas?\",\n  \"why are edible arrangements so expensive?\",\n  \"why are you interested in fmcg?\",\n  \"why is it called a honeymoon?\",\n  \"why is ryze so op?\",\n  \"why is rm so slow?\",\n  \"why are dll files used?\",\n  \"why is cm punk on a break?\",\n  \"why are mp5 so expensive?\",\n  \"why are xlsx files smaller than xls?\",\n  \"why do pc games stutter?\",\n  \"why is there no sound ps3?\",\n  \"why is kris jenner famous?\",\n  \"why is there zinc in denture adhesive?\",\n  \"why is 50 hz used?\",\n  \"why are krill numbers shrinking?\",\n  \"why do texas have death penalty?\",\n  \"why is there no bbc iplayer app?\",\n  \"why is lg washer leaking?\",\n  \"why do pdfs not open in firefox?\",\n  \"why is there an m on wedding rsvp cards?\",\n  \"why is there a need for un mdg?\",\n  \"why are etextbooks so expensive?\",\n  \"why is bmi used?\",\n  \"why do republicans hate unions?\",\n  \"why do muscles twitch?\",\n  \"why is mma banned in new york?\",\n  \"why do teachers give homework?\",\n  \"why do lungs appear dense and compact?\",\n  \"why do celebrate kwanzaa?\",\n  \"why do pythons regurgitate?\",\n  \"why are there lumps in my period?\",\n  \"why is aj styles not in wwe?\",\n  \"why are there nfl games in london?\",\n  \"why are there farm subsidies?\",\n  \"why do agile projects fail?\",\n  \"why are fps not popular in japan?\",\n  \"why are there public sector unions?\",\n  \"why are there suds in my hot tub?\",\n  \"why is there acid in soda?\",\n  \"why do aa members sound brainwashed?\",\n  \"why is pluto not considered a planet?\",\n  \"why is there tax on amazon now?\",\n  \"why do kids play gta?\",\n  \"why is awkward not on tonight?\",\n  \"why are there illuminati symbols?\",\n  \"why is mkv good?\",\n  \"why are oils insoluble in water?\",\n  \"why are earthquakes caused?\",\n  \"why are there january sales?\",\n  \"why is education important for success?\",\n  \"why is aspirin bad?\",\n  \"why are tlc plates useful?\",\n  \"why is flying so safe?\",\n  \"why are dwarfs small?\",\n  \"why is oxygen paramagnetic?\",\n  \"why are peaches fuzzy?\",\n  \"why do planets orbit the sun?\",\n  \"why are there veins on my face?\",\n  \"why is there cramping after an abortion?\",\n  \"why do groups form?\",\n  \"why are there trade barriers?\",\n  \"why are there no krogers in austin?\",\n  \"why do an intercalated bsc?\",\n  \"why do people cc in emails?\",\n  \"why do they tp houses?\",\n  \"why are ny taxes so high?\",\n  \"why do ngos exist in international politics?\",\n  \"why is there two pilots in pacific rim?\",\n  \"why are there more tsunamis in the pacific than the atlantic?\",\n  \"why is deferred revenue a liability?\",\n  \"why are there two spocks?\",\n  \"why is lax called lax?\",\n  \"why is dfo not working?\",\n  \"why do people discriminate lgbt?\",\n  \"why is there no audio on my computer?\",\n  \"why do laker fans hate lebron?\",\n  \"why are pineapples called pineapples?\",\n  \"why is znso4 soluble?\",\n  \"why do explorers explore?\",\n  \"why is there voter registration?\",\n  \"why is there more ozone in rural areas?\",\n  \"why is zinc colorless?\",\n  \"why are tmj splints so expensive?\",\n  \"why are xml used?\",\n  \"why do puppies have worms?\",\n  \"why are lumber prices falling?\",\n  \"why do cbds need to be improved?\",\n  \"why do we need jsonp?\",\n  \"why are my hands peeling?\",\n  \"why do cicadas make noise?\",\n  \"why is there a llama on the peruvian flag?\",\n  \"why are graduation hats flat?\",\n  \"why is ksp important?\",\n  \"why are there economic problems?\",\n  \"why is ccl4 a liquid?\",\n  \"why are israelis so rude?\",\n  \"why do people put xoxo?\",\n  \"why do bulls hate red?\",\n  \"why is jpm down today?\",\n  \"why is bc called british columbia?\",\n  \"why do japanese live longer?\",\n  \"why do zebras have stripes?\",\n  \"why are ntds neglected?\",\n  \"why do snakes coil?\",\n  \"why is there blood after i ejaculate?\",\n  \"why are there am and fm radio?\",\n  \"why there is phase reversal in dsb-sc?\",\n  \"why do laurel leaves turn yellow?\",\n  \"why do xenon headlights need washers?\",\n  \"why are editorials written?\",\n  \"why is qbasic used?\",\n  \"why is there homelessness in america?\",\n  \"why are there no mcdonalds in iceland?\",\n  \"why are mushrooms healthy?\",\n  \"why do bbc shows look different?\",\n  \"why are there geishas in mulan?\",\n  \"why do iguanas lick everything?\",\n  \"why are there no kmarts in texas?\",\n  \"why are newports so expensive?\",\n  \"why are there 2 ccsvchst exe?\",\n  \"why is oklahoma so humid?\",\n  \"why is there homelessness in uk?\",\n  \"why do critics hate cgi?\",\n  \"why do aztecs wear feathers?\",\n  \"why is dgw halted?\",\n  \"why is ddt banned in the us?\",\n  \"why are nfl draft picks on the phone?\",\n  \"why are men attracted to breasts?\",\n  \"why do i eat ice?\",\n  \"why do birds stand on one leg?\",\n  \"why is there bullying in schools?\",\n  \"why are there so many ostriches youtube?\",\n  \"why are there obelisks in rome?\",\n  \"why is xylophone spelled with an x?\",\n  \"why are there no snakes in hawaii?\",\n  \"why are landfills bad?\",\n  \"why are cranberries good for you?\",\n  \"why is rf spectrum analysis necessary?\",\n  \"why is dna replication essential for a cell?\",\n  \"why is zimmerman being charged?\",\n  \"why do women get gbs?\",\n  \"why are there no ipad 2 available?\",\n  \"why is there no gtalk app for iphone?\",\n  \"why do xboxes red ring?\",\n  \"why is there a keypad on the kindle?\",\n  \"why is rt off the air?\",\n  \"why are there several ethnic variations of the 2005 mypyramid?\",\n  \"why are there customs charges?\",\n  \"why are uc students protesting?\",\n  \"why is there emo people?\",\n  \"why is iago such an effective villain?\",\n  \"why is there a kashmir conflict?\",\n  \"why do beats by dre studio need batteries?\",\n  \"why are there bison in golden gate park?\",\n  \"why are legal pads yellow?\",\n  \"why is oedipus a tragic figure according to aristotle?\",\n  \"why is abortion bad?\",\n  \"why did fdr do 3 terms?\",\n  \"why is jupp heynckes leaving bayern?\",\n  \"why is there no interphase in meiosis ii?\",\n  \"why is eevee so rare?\",\n  \"why are there no urban planning jobs?\",\n  \"why are there pal and ntsc?\",\n  \"why are there bystanders?\",\n  \"why do hz matter?\",\n  \"why is sitting bad for you?\",\n  \"why is abraham lincoln on the penny?\",\n  \"why do http ftp?\",\n  \"why are pistachios red?\",\n  \"why is ejaculate cloudy?\",\n  \"why do people hate ksi?\",\n  \"why is there fuzz in my belly button?\",\n  \"why are shrooms illegal?\",\n  \"why are there thorns on roses?\",\n  \"why do athletes take adderall?\",\n  \"why is hno2 a weak electrolyte?\",\n  \"why is mba important for engineers?\",\n  \"why are there eye colours?\",\n  \"why do jpegs corrupt?\",\n  \"why is pvc used for window frames?\",\n  \"why are heroes important?\",\n  \"why are lv bags expensive?\",\n  \"why are ksas important?\",\n  \"why is hmo cheaper than ppo?\",\n  \"why is internet so expensive?\",\n  \"why is futurama getting cancelled?\",\n  \"why did pfc manning do it?\",\n  \"why are there no tv shows this week?\",\n  \"why is there hebrew on the yale logo?\",\n  \"why is there no sound on my iphone 4s?\",\n  \"why do aquarius men like older women?\",\n  \"why is pickled ginger pink?\",\n  \"why is wwe so boring now?\",\n  \"why is yin and yang important?\",\n  \"why are there judges?\",\n  \"why is there an equator?\",\n  \"why is there early access for ap scores?\",\n  \"why do slugs come in my house?\",\n  \"why are there misconceptions about religion?\",\n  \"why is snsd so popular?\",\n  \"why are there bubbles in my aquarium?\",\n  \"why is kansas city in two states?\",\n  \"why are there no women djs?\",\n  \"why is there air pollution?\",\n  \"why do june bugs hiss?\",\n  \"why is aol mail so slow?\",\n  \"why is lynchburg a dry county?\",\n  \"why do plants need nitrogen?\",\n  \"why is uranus blue?\",\n  \"why do tyrannosaurus rex have arms?\",\n  \"why is there judaism?\",\n  \"why are mcdonalds prices different?\",\n  \"why do ckd patients have anemia?\",\n  \"why is oil bad?\",\n  \"why are nc flags at half mast today?\",\n  \"why do bpd lie?\",\n  \"why are oil supplies limited?\",\n  \"why are there no hydrogen bonds in methane?\",\n  \"why is dft symmetric?\",\n  \"why do interest rates rise?\",\n  \"why are cns depressants problematic?\",\n  \"why do oil spills happen?\",\n  \"why is udaipur called the city of lakes?\",\n  \"why are dunes important?\",\n  \"why is rubber a good insulator?\",\n  \"why are yaoi hands so big?\",\n  \"why do dreams seem so real?\",\n  \"why are elephants important?\",\n  \"why is there nerves in teeth?\",\n  \"why are oxygen sensors heated?\",\n  \"why are there voter id laws?\",\n  \"why are there no tanks in gta 4?\",\n  \"why is oil important?\",\n  \"why do koreans say aish?\",\n  \"why is there lust?\",\n  \"why is assessment important?\",\n  \"why are djs so arrogant?\",\n  \"why is rna sensitive to alkaline hydrolysis?\",\n  \"why are kristin and alex not friends?\",\n  \"why is there a cat on oovoo?\",\n  \"why are there so many brazilian mma fighters?\",\n  \"why do geckos do push ups?\",\n  \"why are there dots on my arms?\",\n  \"why do runners get shin splints?\",\n  \"why are there sky bison in legend of korra?\",\n  \"why is there no squime containing 8?\",\n  \"why is lte so expensive?\",\n  \"why is sf called the city?\",\n  \"why is there more yaoi than yuri?\",\n  \"why is there after hours trading?\",\n  \"why do oz and willow break up?\",\n  \"why is there no hunger games on nzbmatrix?\",\n  \"why are ucc members involved in realistic?\",\n  \"why are xylem cells hollow and strong?\",\n  \"why do executioners wear hoods?\",\n  \"why are lunges so hard?\",\n  \"why do we use vpn?\",\n  \"why is oprah rich?\",\n  \"why are there no female mlb umpires?\",\n  \"why is rhyme used in poetry?\",\n  \"why do we itch?\",\n  \"why is there rats in my house?\",\n  \"why is there multiple svchost.exe running?\",\n  \"why do hydrangeas droop?\",\n  \"why are there usb ports on my tv?\",\n  \"why are owls called wise?\",\n  \"why is axiron so expensive?\",\n  \"why do spiders have eight eyes?\",\n  \"why is t mac inactive?\",\n  \"why do squats hurt so much?\",\n  \"why are yellow lighters bad luck?\",\n  \"why do we dream dmt?\",\n  \"why do we do bhajans?\",\n  \"why are there more mtf than ftm?\",\n  \"why do we use xoxo for hugs and kisses?\",\n  \"why is xslt used?\",\n  \"why is dmso illegal?\",\n  \"why are there puppets like frank?\",\n  \"why is xsplit so laggy?\",\n  \"why are legos so expensive?\",\n  \"why is an orange called an orange?\",\n  \"why are some materials magnetic?\",\n  \"why do ozzy osbourne\\\"s hands shake?\",\n  \"why do ryanair prices go up and down?\",\n  \"why is there an ulcer under my tongue?\",\n  \"why are spider monkeys endangered?\",\n  \"why is doug not in hangover 3?\",\n  \"why is there conflict in uganda?\",\n  \"why are there outliers?\",\n  \"why is darmanitan uu?\",\n  \"why is there pain behind my eye?\",\n  \"why are organic foods better?\",\n  \"why are there eyes in chess with friends?\",\n  \"why is csi ny being cancelled?\",\n  \"why do http ftp smtp?\",\n  \"why are there no kangaroos in the uk?\",\n  \"why are jigsaw puzzles good?\",\n  \"why is there no undo in gmail?\",\n  \"why are there weep holes in brick?\",\n  \"why are fuses used?\",\n  \"why is jc penney apologising?\",\n  \"why do ps3 get ylod?\",\n  \"why are rts games dying?\",\n  \"why are zippos so cool?\",\n  \"why is hiv so deadly?\",\n  \"why do women moan?\",\n  \"why are curse words bad?\",\n  \"why do html tags appear in pairs?\",\n  \"why is ebay down?\",\n  \"why is ubuntu slow?\",\n  \"why are ng tubes inserted?\",\n  \"why is atticus finch a hero?\",\n  \"why do implants ripple?\",\n  \"why there is no gps in laptops?\",\n  \"why are lloyds tsb splitting?\",\n  \"why is there ice on rockets?\",\n  \"why is there a pyramid on the us dollar?\",\n  \"why do africans have lip plates?\",\n  \"why is mtv running late?\",\n  \"why is 50 hz current hazardous?\",\n  \"why do kids wet the bed?\",\n  \"why is oxygen important?\",\n  \"why is golden gate bridge orange?\",\n  \"why are there more prey than predators?\",\n  \"why do qtips feel so good?\",\n  \"why are vultures bald?\",\n  \"why is adblock legal?\",\n  \"why is there energy in food?\",\n  \"why are nhl contracts so long?\",\n  \"why is tyler perry so bad?\",\n  \"why is there a gap between wti and brent?\",\n  \"why do companies use rfps?\",\n  \"why is uars falling?\",\n  \"why are there two equivalence points?\",\n  \"why do gmail attachments fail?\",\n  \"why do volcanoes form at subduction zones?\",\n  \"why are ghosts active at night?\",\n  \"why are pinky toes so weird?\",\n  \"why is yoona so popular?\",\n  \"why are dimples cute?\",\n  \"why is forever 21 so cheap?\",\n  \"why are kryptonians allergic to kryptonite?\",\n  \"why is there slugs in my house?\",\n  \"why are urban areas more liberal?\",\n  \"why is wind energy good?\",\n  \"why are oem tires more expensive?\",\n  \"why do ciara and rihanna have beef?\",\n  \"why do wu tang say suuu?\",\n  \"why are there squares on my word document?\",\n  \"why are there no dwarves in lotr?\",\n  \"why do i awake at 3am?\",\n  \"why is there always a bible in hotel rooms?\",\n  \"why is cispa bad?\",\n  \"why are there temperature cycles in pcr?\",\n  \"why are mirrors green?\",\n  \"why are keys made of brass?\",\n  \"why are ulcers so painful?\",\n  \"why are there pumpkins on halloween?\",\n  \"why do squids have 3 hearts?\",\n  \"why are there no utilities on ipad?\",\n  \"why is there the infield fly rule?\",\n  \"why do squats?\",\n  \"why are there no new episodes of csi?\",\n  \"why are there so many refugees from bhutan?\",\n  \"why are there so many ostriches the brochure?\",\n  \"why is there no sound on my pc?\",\n  \"why are hindus vegetarian?\",\n  \"why are joe and teresa fighting?\",\n  \"why do mba?\",\n  \"why are there carpenter ants in my house?\",\n  \"why are there dead cats in bioshock?\",\n  \"why is there other on my ipod?\",\n  \"why is beer bad for you?\",\n  \"why do slugs react to salt?\",\n  \"why are gds and bds beefing?\",\n  \"why are lawyers called esquire?\",\n  \"why are there so many alveoli?\",\n  \"why are mma fighters paid so little?\",\n  \"why do compounds separate in tlc?\",\n  \"why is kayle banned so much?\",\n  \"why is it called candlestick park?\",\n  \"why are vfx companies going bankrupt?\",\n  \"why are shoes called pumps?\",\n  \"why is igoogle being discontinued?\",\n  \"why is einstein\\\"s theory called relativity?\",\n  \"why are there pockets in women\\\"s underwear?\",\n  \"why do spacers hurt so bad?\",\n  \"why is zach randolph called z bo?\",\n  \"why are there expensive hdmi cables?\",\n  \"why are there vultures in my yard?\",\n  \"why are ozone levels high?\",\n  \"why is xenoblade expensive?\",\n  \"why are there no dvd recorders?\",\n  \"why do mx records exist?\",\n  \"why are plant leaves green?\",\n  \"why are leos so annoying?\",\n  \"why are there green apple skittles?\",\n  \"why are there no vehicles in the bf3 beta?\",\n  \"why are there owls on buildings?\",\n  \"why are there gyms in prison?\",\n  \"why is there air in my radiator?\",\n  \"why do overpayments happen wtc8?\",\n  \"why do ms patients die?\",\n  \"why do eggs make me nauseous?\",\n  \"why is there italians in new jersey?\",\n  \"why is pmi required?\",\n  \"why is there dead skin in my ears?\",\n  \"why is svn better than cvs?\",\n  \"why are there tomboys?\",\n  \"why do ryanair charge admin fees?\",\n  \"why is there fluid in my ear?\",\n  \"why are there dwarf planets?\",\n  \"why do we use rfid?\",\n  \"why is there dry blood in my ear?\",\n  \"why do guys get jealous?\",\n  \"why are there import duties?\",\n  \"why are hr useless?\",\n  \"why do i need json?\",\n  \"why is there rust in my radiator?\",\n  \"why are dvds released so late?\",\n  \"why do fish jump out of tank?\",\n  \"why is ct the constitution state?\",\n  \"why do overweight people sweat so much?\",\n  \"why do sneezes smell?\",\n  \"why is there a cvs across from walgreens?\",\n  \"why is osiris still in sims freeplay?\",\n  \"why do nike socks say lg?\",\n  \"why do sda celebrate christmas?\",\n  \"why are pcs so expensive?\",\n  \"why is vw golf called golf?\",\n  \"why is there april fools day?\",\n  \"why do puppies throw up?\",\n  \"why are aquarius so crazy?\",\n  \"why is there child abuse?\",\n  \"why is there no split screen in ssx?\",\n  \"why are there cockroaches in my house?\",\n  \"why is laughing good for you?\",\n  \"why are there cockroaches in nyc?\",\n  \"why do people get fibromyalgia?\",\n  \"why are ikea slipcovers so expensive?\",\n  \"why is ssd so expensive?\",\n  \"why is lvh bad?\",\n  \"why are yield signs yellow?\",\n  \"why are phospholipids important?\",\n  \"why are akribos watches so cheap?\",\n  \"why are there starving people in the world?\",\n  \"why are rpgs addictive?\",\n  \"why are there so many pharmaceutical companies in nj?\",\n  \"why are there mean girls?\",\n  \"why are hz important?\",\n  \"why are there transgender people?\",\n  \"why is gta so popular?\",\n  \"why are there gender roles?\",\n  \"why is lobbying legal?\",\n  \"why are liberals so intolerant?\",\n  \"why do ms in computer?\",\n  \"why is nvidia tesla so expensive?\",\n  \"why do zits form?\",\n  \"why is klonopin better than xanax?\",\n  \"why is there kwanzaa and who celebrates it?\",\n  \"why is cbs not working?\",\n  \"why is slope m?\",\n  \"why are there unavailable movies on netflix?\",\n  \"why is kuwait called a welfare state?\",\n  \"why is snapple called snapple?\",\n  \"why is critical thinking important?\",\n  \"why are there byes in fantasy football?\",\n  \"why is there bullying?\",\n  \"why are cd rates low?\",\n  \"why do cfls need to warm up?\",\n  \"why is there an equal number of men and women?\",\n  \"why is eye color a polygenic trait?\",\n  \"why is there crime in the world?\",\n  \"why are there 3 cds in la noire?\",\n  \"why are hp laptops so hot?\",\n  \"why do clouds move?\",\n  \"why are there orbs in my house?\",\n  \"why is there poverty in south america?\",\n  \"why is there beauty?\",\n  \"why are there no girls in mlb?\",\n  \"why is akinator slow?\",\n  \"why is lye used in soap?\",\n  \"why are there so many avengers?\",\n  \"why is there oil in my distributor?\",\n  \"why is gnp so important?\",\n  \"why are dhs and ice stockpiling ammo?\",\n  \"why is bob marley famous?\",\n  \"why do extroverts like introverts?\",\n  \"why is there obesity in france?\",\n  \"why do dogs eat grass?\",\n  \"why we are using jquery?\",\n  \"why is dfrgntfs.exe running?\",\n  \"why do icebergs flip?\",\n  \"why is cnn in trouble?\",\n  \"why are dbol only cycles bad?\",\n  \"why are rhinos endangered in africa?\",\n  \"why do pvc pipes leak?\",\n  \"why are there turnips on octonauts?\",\n  \"why are mtb so expensive?\",\n  \"why are vw buses so expensive?\",\n  \"why are there high oil prices?\",\n  \"why are there region codes on dvd players?\",\n  \"why is there 2 iexplore.exe running?\",\n  \"why are there nfl replacement officials 2012?\",\n  \"why is cgi so expensive?\",\n  \"why are ccd cameras so expensive?\",\n  \"why is ryan edge famous?\",\n  \"why do ghosts attach themselves to people?\",\n  \"why do people like rpgs?\",\n  \"why are there bears in berlin?\",\n  \"why are bwfc called the trotters?\",\n  \"why are lunchables so expensive?\",\n  \"why are gt40 heads better?\",\n  \"why do quarters have ridges?\",\n  \"why do gymnasts wear grips?\",\n  \"why are there no ketchup chips in america?\",\n  \"why is rvp leaving arsenal?\",\n  \"why iitians are different?\",\n  \"why are there umbrellas in the paralympics?\",\n  \"why are pitbulls banned?\",\n  \"why is ezreal so hard to play?\",\n  \"why is jr smith not starting?\",\n  \"why do llamas live in south america?\",\n  \"why are there ladybugs on the beach?\",\n  \"why is ffa important?\",\n  \"why are kinder eggs illegal?\",\n  \"why is htc one the best phone?\",\n  \"why are there us and uk versions of songs?\",\n  \"why do seasonal changes occur?\",\n  \"why are natural resources important?\",\n  \"why is dna called a double helix?\",\n  \"why is slender scary?\",\n  \"why is there tv commercials?\",\n  \"why is bho bad?\",\n  \"why do they put lb for pounds?\",\n  \"why are there no korean war games?\",\n  \"why do html emails go to spam?\",\n  \"why is there wrestling on the syfy channel?\",\n  \"why do beats by dre leak sound?\",\n  \"why is validity important?\",\n  \"why are there full movies on youtube?\",\n  \"why do ngos exist?\",\n  \"why do seagulls fly over the sea?\",\n  \"why are irregular galaxies irregular?\",\n  \"why are there dry counties in alaska?\",\n  \"why do wwe superstars get released?\",\n  \"why is weed called 420?\",\n  \"why are there so many ostriches family guy episode?\",\n  \"why do people play tchoukball?\",\n  \"why do sri lankans stare?\",\n  \"why is there epoc after exercise?\",\n  \"why do wives cheat?\",\n  \"why is there a plague in oedipus rex?\",\n  \"why are there 13 dns root servers?\",\n  \"why do vultures vomit?\",\n  \"why is rmp negative?\",\n  \"why do led lights flicker?\",\n  \"why is bwi delays?\",\n  \"why is lpg so cheap?\",\n  \"why are there guy gynecologists?\",\n  \"why is there an eject button on the macbook air?\",\n  \"why do dwp make home visits?\",\n  \"why do tyres crack?\",\n  \"why is cck released?\",\n  \"why is there life on earth?\",\n  \"why is aol still around?\",\n  \"why are there no ww1 games?\",\n  \"why is caffeine bad?\",\n  \"why are idioms important?\",\n  \"why do axolotls flap their gills?\",\n  \"why are there borders between countries?\",\n  \"why are there dimples on a golf ball?\",\n  \"why are there obelisks all over the world?\",\n  \"why are there bibles in motels?\",\n  \"why are there birthmarks?\",\n  \"why do you choose ubs?\",\n  \"why are rf keyboards superior?\",\n  \"why do fx rates change?\",\n  \"why are there kids on facebook?\",\n  \"why are there dots on my tongue?\",\n  \"why is whey protein good?\",\n  \"why do people love wuthering heights?\",\n  \"why are there unisex bathrooms?\",\n  \"why is pfizer selling zoetis?\",\n  \"why are taurus women so mean?\",\n  \"why is eminem so popular?\",\n  \"why do people hate ucr?\",\n  \"why are our eyes colored?\",\n  \"why are there inactive pills in birth control?\",\n  \"why is there this squirrel gnawing on my cheeseburger?\",\n  \"why are there escape pods in swtor?\",\n  \"why are apples good for you?\",\n  \"why is there metric and imperial?\",\n  \"why is there poverty in washington dc?\",\n  \"why do auctioneers talk?\",\n  \"why are there cameras in the office?\",\n  \"why are mustangs so slow?\",\n  \"why are eight electrons important?\",\n  \"why is oatmeal so filling?\",\n  \"why are gs poles bent?\",\n  \"why are bf3 servers empty?\",\n  \"why is there egg in lasagna?\",\n  \"why are african americans better athletes?\",\n  \"why are flags at half mast today?\",\n  \"why do ebay charge so much?\",\n  \"why are there two mlk parades in houston?\",\n  \"why do fbi agents wear sunglasses?\",\n  \"why khajiit are the best?\",\n  \"why are there pyramids everywhere?\",\n  \"why are offensive jokes funny?\",\n  \"why are there saints in catholicism?\",\n  \"why are flights so expensive?\",\n  \"why do ccna security?\",\n  \"why is there an owned bed in my house in skyrim?\",\n  \"why are there square brackets in quotes?\",\n  \"why is tmart so cheap?\",\n  \"why is there a dmz in korea?\",\n  \"why is elise banned?\",\n  \"why are there beheadings in mexico?\",\n  \"why are mmos boring?\",\n  \"why is pcr done?\",\n  \"why are there dark spots on my lips?\",\n  \"why aren\\\"t there tsunamis in california?\",\n  \"why are there opiate receptors in the brain?\",\n  \"why is there racism in soccer?\",\n  \"why are ub40 bankrupt?\",\n  \"why do hdtvs look weird?\",\n  \"why is volcanic soil fertile?\",\n  \"why is if5 polar?\",\n  \"why is there disagreement about the value of the seniority rule?\",\n  \"why are veils so expensive?\",\n  \"why do ptsd nightmares repeat?\",\n  \"why are they called wings?\",\n  \"why are mcdonald\\\"s fries so addicting?\",\n  \"why are there two types of planets?\",\n  \"why do sweatshops exist?\",\n  \"why is ntfs better?\",\n  \"why are there gender specific bikes?\",\n  \"why is there nine candles on a menorah?\",\n  \"why do omegas hop?\",\n  \"why do they call nz kiwi?\",\n  \"why do use chopsticks?\",\n  \"why is there iraq war?\",\n  \"why is aamc 6 retired?\",\n  \"why is ck elevated in exercise?\",\n  \"why is utah so weird?\",\n  \"why are ultraviolet rays dangerous?\",\n  \"why is there no mcdonalds in nigeria?\",\n  \"why is xpecial hamster?\",\n  \"why are slugs on my porch?\",\n  \"why is fb down?\",\n  \"why do gauges smell?\",\n  \"why are tnt shows in spanish?\",\n  \"why are celtic nicknamed bhoys?\",\n  \"why is there rosh hashanah?\",\n  \"why are mp3 players bad?\",\n  \"why are there overcrowded prisons?\",\n  \"why is python so popular?\",\n  \"why is john madden so famous?\",\n  \"why do mcdonald\\\"s burgers not﻿ decompose?\",\n  \"why do passports have rfid?\",\n  \"why is xsplit dropping frames?\",\n  \"why are there 68 teams in ncaa tournament?\",\n  \"why are nba 2k12 servers down?\",\n  \"why is rcn internet slow?\",\n  \"why is ayers rock unusual?\",\n  \"why is tcp/ip so important?\",\n  \"why is there an rna intermediate?\",\n  \"why is javascript so popular?\",\n  \"why are there skin color differences?\",\n  \"why is ph important?\",\n  \"why are rpgs so boring?\",\n  \"why do akatsuki wear rings?\",\n  \"why is utah flag at half mast?\",\n  \"why is aguero called kun?\",\n  \"why do apps crash?\",\n  \"why are fungi not plants?\",\n  \"why are there sand on beaches?\",\n  \"why is lt selling his ring?\",\n  \"why are girls complicated?\",\n  \"why are there red dots on my feet?\",\n  \"why is weed called mary jane?\",\n  \"why is gh freak banned?\",\n  \"why do gcse art?\",\n  \"why are sunglasses important?\",\n  \"why do fsh levels rise?\",\n  \"why is effect size important?\",\n  \"why do xylem vessels need to die?\",\n  \"why is nmr spectroscopy useful?\",\n  \"why are there goths?\",\n  \"why are lsu players suspended?\",\n  \"why are there income restrictions on apartments?\",\n  \"why are crowns so expensive?\",\n  \"why are autistic children drawn to water?\",\n  \"why is there no ipv5?\",\n  \"why are there spectator ions?\",\n  \"why do offices leave lights on at night?\",\n  \"why are some people allergic to peanuts?\",\n  \"why we are using vfd?\",\n  \"why do pdfs open zoomed?\",\n  \"why are there ads in hulu plus?\",\n  \"why is diversity valued?\",\n  \"why is xld selective for salmonella?\",\n  \"why is title ix bad?\",\n  \"why do ebay remove items?\",\n  \"why is there traffic on the nj turnpike today?\",\n  \"why are ps3 games so big?\",\n  \"why are there no real cars in gta?\",\n  \"why is crossfit so expensive?\",\n  \"why are dragons called wyrms?\",\n  \"why is andre ethier not playing?\",\n  \"why did einstein do thought experiments?\",\n  \"why is there two dakotas?\",\n  \"why is there cursive?\",\n  \"why is there oxygen in blood?\",\n  \"why do cicadas buzz?\",\n  \"why is there evil in the world buddhism?\",\n  \"why are africans so good at running?\",\n  \"why is there anemia in cml?\",\n  \"why are yeti coolers so expensive?\",\n  \"why are 40 oz illegal in florida?\",\n  \"why is nnamdi asomugha the best corner?\",\n  \"why do ethiopians look different?\",\n  \"why are there no animals in gta?\",\n  \"why is kesha so trashy?\",\n  \"why do jets leave a trail?\",\n  \"why do adults get thrush?\",\n  \"why are my hsa distributions taxable?\",\n  \"why are the vmas on a thursday?\",\n  \"why are cpa salaries so low?\",\n  \"why do we have nrem sleep?\",\n  \"why are there two rydberg constants?\",\n  \"why are pacifiers bad?\",\n  \"why do usb cords stop working?\",\n  \"why do x rays take so long?\",\n  \"why do slugs come out when it rains?\",\n  \"why are tiffany rings so expensive?\",\n  \"why is kbb higher than edmunds?\",\n  \"why do x rays penetrate?\",\n  \"why do patriots have mhk on their uniforms?\",\n  \"why do taiwanese hate chinese?\",\n  \"why do mncs locate in ldcs?\",\n  \"why are bananas bad for you?\",\n  \"why are there two ctrl keys?\",\n  \"why do ulcers hurt more at night?\",\n  \"why is there inequality in india?\",\n  \"why is oil up today?\",\n  \"why do people by art?\",\n  \"why are my boobs itchy?\",\n  \"why is there velcro on top of my hat?\",\n  \"why are there brooms on fb?\",\n  \"why do vampires have to be invited in?\",\n  \"why are rights important?\",\n  \"why do organizational structures differ?\",\n  \"why do people hate bf3?\",\n  \"why are there different html versions?\",\n  \"why are there mustaches on cars?\",\n  \"why are teenagers so lazy?\",\n  \"why are hmos good?\",\n  \"why are humans so smart?\",\n  \"why are there pictures of brooms on facebook?\",\n  \"why are there spiders in my car?\",\n  \"why are there stretch marks on my knees?\",\n  \"why are there so many ostriches quote?\",\n  \"why is ssa not a congruence theorem?\",\n  \"why is md flag at half staff?\",\n  \"why are there still europeans?\",\n  \"why is ukraine referred to as the ukraine?\",\n  \"why do fuel injectors fail?\",\n  \"why is dieting so hard?\",\n  \"why is there bacon in the soap?\",\n  \"why are bees disappearing?\",\n  \"why is there a systolic murmur in aortic stenosis?\",\n  \"why do aang eyes change color?\",\n  \"why is adventure time so weird?\",\n  \"why is there feminine and masculine in french?\",\n  \"why is there no avenue q in brooklyn?\",\n  \"why id is needed?\",\n  \"why are crocs bad?\",\n  \"why are there amendments to the us constitution?\",\n  \"why is ebitda used?\",\n  \"why is efficiency important in business?\",\n  \"why do the fbi investigate?\",\n  \"why do all the starks die?\",\n  \"why do nsaids cause bleeding?\",\n  \"why are pvcs painful?\",\n  \"why are there cherry blossoms in dc?\",\n  \"why is there no squash in the olympics?\",\n  \"why are error bars used?\",\n  \"why is nthabiseng mphahlele leaving muvhango?\",\n  \"why are ptz cameras so expensive?\",\n  \"why are there rats in nyc?\",\n  \"why do dfu restore?\",\n  \"why is xs cargo so cheap?\",\n  \"why do we talk sbs?\",\n  \"why is there censorship in china?\",\n  \"why is there no thymine in rna?\",\n  \"why are there multiple chrome.exe running?\",\n  \"why do they call it tdot?\",\n  \"why are rs prices dropping?\",\n  \"why are there two admirals in the ahl?\",\n  \"why do high efficiency washers stink?\",\n  \"why are evolutionists so angry?\",\n  \"why is xocai healthy chocolate healthy?\",\n  \"why do we sleep?\",\n  \"why are pcbs harmful?\",\n  \"why do people hate uwe boll?\",\n  \"why do cnidarians live in water?\",\n  \"why is wynaut uber?\",\n  \"why are there blood types?\",\n  \"why are there only six episodes of sherlock?\",\n  \"why is rt 50 shut down?\",\n  \"why is autism on the rise?\",\n  \"why do hmos require referrals?\",\n  \"why is dmt illegal?\",\n  \"why do dukh bhanjani sahib?\",\n  \"why do some people talk so loud?\",\n  \"why are there phones in bathrooms?\",\n  \"why are there turkeys in staten island?\",\n  \"why are there different climates on earth?\",\n  \"why are there youth courts?\",\n  \"why do optic nerves cross over?\",\n  \"why are there shark teeth at venice beach?\",\n  \"why dogs are awesome?\",\n  \"why are microbes ubiquitous?\",\n  \"why is my poop red?\",\n  \"why are cigarettes legal?\",\n  \"why are vultures becoming extinct?\",\n  \"why is zionism bad?\",\n  \"why are metals good conductors of electricity?\",\n  \"why do jinns exist?\",\n  \"why are there so many astronauts from ohio?\",\n  \"why do we dream?\",\n  \"why is there no eastenders omnibus?\",\n  \"why do amps matter?\",\n  \"why are obama\\\"s records sealed?\",\n  \"why is work so boring?\",\n  \"why are drinks carbonated?\",\n  \"why is zillow so wrong?\",\n  \"why are pterosaurs not dinosaurs?\",\n  \"why do psychopaths wet the bed?\",\n  \"why do people say bg?\",\n  \"why are there protests in egypt?\",\n  \"why is nwn2 so buggy?\",\n  \"why are bike wheels so expensive?\",\n  \"why do owls hoot to each other?\",\n  \"why are marathons so expensive?\",\n  \"why do fools fall in love chords?\",\n  \"why is dg yola in jail?\",\n  \"why is owen wilson\\\"s nose like that?\",\n  \"why are there empaths?\",\n  \"why is there 1024 bytes in a megabyte?\",\n  \"why are ideologies important?\",\n  \"why are saunas good?\",\n  \"why are there free apps?\",\n  \"why are there good and poor mimics?\",\n  \"why is ghost roaster so rare?\",\n  \"why are there byes in afl?\",\n  \"why are there no nfl games on christmas?\",\n  \"why is disney xd in spanish?\",\n  \"why are there guest judges on x factor?\",\n  \"why is there glass in asphalt?\",\n  \"why is illinois unemployment so high?\",\n  \"why are there no bongs on ebay?\",\n  \"why is israel called a state?\",\n  \"why is there heat in inflammation?\",\n  \"why are sponges considered animals?\",\n  \"why is an oyster cracker an oyster cracker?\",\n  \"why are mncs bad?\",\n  \"why do tmobile charge for voicemail?\",\n  \"why is xl 40?\",\n  \"why are there many hmong speakers in the us?\",\n  \"why do lizards do push ups?\",\n  \"why is dpms so cheap?\",\n  \"why are there chunks in my sperm?\",\n  \"why do eels jump?\",\n  \"why is fnac done?\",\n  \"why are my fps dropping?\",\n  \"why are eating disorders bad?\",\n  \"why is hvdc more efficient?\",\n  \"why are uconn fans wearing red?\",\n  \"why are there 17 stars on the ohio flag?\",\n  \"why are there no khajiit in skyrim?\",\n  \"why is pink called pink?\",\n  \"why is alcohol bad for you?\",\n  \"why is there tylenol in percocet?\",\n  \"why are there cat emojis?\",\n  \"why is kvatch so hard?\",\n  \"why is chemistry important?\",\n  \"why do gnats fly around my head?\",\n  \"why do vacuums smell bad?\",\n  \"why do pyramid sets?\",\n  \"why is izzie stevens seeing denny?\",\n  \"why are brazilians protesting?\",\n  \"why is efficacy important?\",\n  \"why are gemini men so mean?\",\n  \"why are there subliminal messages in disney movies?\",\n  \"why are there public goods?\",\n  \"why is there blood uti?\",\n  \"why do alliance always win bgs?\",\n  \"why do qbs wear hats?\",\n  \"why do gmail filters not work?\",\n  \"why do i need fsuipc?\",\n  \"why is btguard so slow?\",\n  \"why are there sweatshops in china?\",\n  \"why is obamacare unconstitutional?\",\n  \"why is berkeley so weird?\",\n  \"why are there no nba games tonight?\",\n  \"why is there temptation?\",\n  \"why is school boring?\",\n  \"why are there spaceships in sims freeplay?\",\n  \"why do kenyans run so fast?\",\n  \"why do gb matter for xbox?\",\n  \"why are dslr lenses so big?\",\n  \"why is tcp task so difficult?\",\n  \"why do rabbits have long ears?\",\n  \"why do ex gf came back?\",\n  \"why are psychedelic drugs illegal?\",\n  \"why is ozone good and bad?\",\n  \"why do veins stick out?\",\n  \"why do we celebrate bhai tika?\",\n  \"why are dimples so attractive?\",\n  \"why are there roses at the end of vineyards?\",\n  \"why are ebooks better?\",\n  \"why is rvd in wwe 2011 svr?\",\n  \"why are uggs made in china?\",\n  \"why are nsaids bad for your kidneys?\",\n  \"why are taxi cabs yellow?\",\n  \"why do ovarian cysts have hair and teeth?\",\n  \"why is giving birth painful?\",\n  \"why are there duplicates in my itunes library?\",\n  \"why do daylilies not bloom?\",\n  \"why are ecosystems constantly changing?\",\n  \"why are evil eyes blue?\",\n  \"why are there nfl divisions?\",\n  \"why do toenails get thick?\",\n  \"why are there uprisings in catching fire?\",\n  \"why is cm punk a jerk?\",\n  \"why are there no zombie mmos?\",\n  \"why do wisdom teeth hurt?\",\n  \"why are books important?\",\n  \"why are fbi called special agents?\",\n  \"why is pcp called sherm?\",\n  \"why are my rv lights dim?\",\n  \"why do kittens purr?\",\n  \"why is sdg&e bill so high?\",\n  \"why is egypt revolting?\",\n  \"why is xylem important to ferns?\",\n  \"why do russia and china support syria?\",\n  \"why is ezekiel called the son of man?\",\n  \"why is pride a sin?\",\n  \"why is ugadi celebrated?\",\n  \"why are beluga whales endangered?\",\n  \"why do sri lankans eat with?\",\n  \"why is there red in my poop?\",\n  \"why are there chapters in books?\",\n  \"why are lg ovens blue inside?\",\n  \"why are lloyds shares going up?\",\n  \"why do a ktp?\",\n  \"why is tv educational?\",\n  \"why is there red stuff in my poop?\",\n  \"why do men fall in love?\",\n  \"why are there serial killers?\",\n  \"why are there zits on my knees?\",\n  \"why are nhs jobs internal only?\",\n  \"why is akinator not working?\",\n  \"why are there rules about press ownership?\",\n  \"why do oysters live in the intertidal zone?\",\n  \"why is there no itunes in singapore?\",\n  \"why are there gnats in my apartment?\",\n  \"why is there midnight sun?\",\n  \"why do llamas spit on you?\",\n  \"why do zebras have stripes myth?\",\n  \"why are karyotypes important tools for geneticists?\",\n  \"why are jigsaw puzzles good for children?\",\n  \"why do toenails turn yellow?\",\n  \"why are there no female lycans?\",\n  \"why do north and south korea fight?\",\n  \"why do glacial crevasses form?\",\n  \"why is there gas on my spark plugs?\",\n  \"why is cn a weak base?\",\n  \"why is oedipus a hero?\",\n  \"why do pdf files not print?\",\n  \"why do ultrasounds use gel?\",\n  \"why are obese people obese?\",\n  \"why are there no mcdonalds in sudan?\",\n  \"why is there apa style?\",\n  \"why are there wicker baskets on the flags at the us open?\",\n  \"why are there purple lines on my breasts?\",\n  \"why is there no ipad 2 jailbreak?\",\n  \"why are there only 3 omg girlz?\",\n  \"why do people drink alcohol?\",\n  \"why are energy pyramids never inverted?\",\n  \"why are pvp queues so long?\",\n  \"why are dutch people so rude?\",\n  \"why is there full movies on youtube?\",\n  \"why are tattoos frowned upon?\",\n  \"why are the ewells treated differently?\",\n  \"why is mdf bad?\",\n  \"why is rda important?\",\n  \"why do gel nails burn?\",\n  \"why do the rspca need money?\",\n  \"why are argentine ants so successful?\",\n  \"why are there bumps on my vulva?\",\n  \"why is luggage so expensive?\",\n  \"why are there only 20 amino acids?\",\n  \"why is jr smith in the bedrock video?\",\n  \"why do people hate zakk wylde?\",\n  \"why is university so expensive?\",\n  \"why is there flooding in alberta?\",\n  \"why do termites swarm?\",\n  \"why are aesthetics important?\",\n  \"why is there opposition to free trade?\",\n  \"why is ayn rand important?\",\n  \"why are nba players so muscular?\",\n  \"why is there no pressure when i ejaculate?\",\n  \"why do i need xp sp3?\",\n  \"why is there no avengers game?\",\n  \"why are there silent letters?\",\n  \"why are celtic bhoys?\",\n  \"why are americans so rude?\",\n  \"why is identifying bacteria important?\",\n  \"why are there no jobs in nj?\",\n  \"why is epidemiology important?\",\n  \"why are there old american cars in cuba?\",\n  \"why do we need npr?\",\n  \"why is there not a harry potter mmo?\",\n  \"why are rpg games so boring?\",\n  \"why do teens get acne?\",\n  \"why is nba 2k12 so hard?\",\n  \"why is judicial review important?\",\n  \"why do we use xml?\",\n  \"why do we have wto?\",\n  \"why do europeans smell?\",\n  \"why are there income limits on roth ira?\",\n  \"why is there green on my tampon?\",\n  \"why is there age of consent?\",\n  \"why are there broadcast tv networks?\",\n  \"why are ngos so important?\",\n  \"why are the sf 49ers called that?\",\n  \"why are aerial fireworks illegal in mn?\",\n  \"why do tyres go flat?\",\n  \"why is knob and tube wiring bad?\",\n  \"why is there ringing in my left ear?\",\n  \"why is ftl so good?\",\n  \"why is there still royalty in england?\",\n  \"why are lsu and alabama rivals?\",\n  \"why are there no led zeppelin tabs?\",\n  \"why are there gun laws?\",\n  \"why are hp drivers so large?\",\n  \"why do idlis become hard?\",\n  \"why is rna so unstable?\",\n  \"why is ssbb rated t?\",\n  \"why is ac 60 hz?\",\n  \"why is there peer pressure?\",\n  \"why are ice caps melting?\",\n  \"why do evil people succeed?\",\n  \"why are there deserts at 30 degrees latitude?\",\n  \"why are mixed girls stuck up?\",\n  \"why are there birds chirping at night?\",\n  \"why are esters insoluble in water?\",\n  \"why are there owls?\",\n  \"why is abortion immoral?\",\n  \"why are tattoos a sin?\",\n  \"why do i need true rms?\",\n  \"why are oh nmr peaks broad?\",\n  \"why are off road helmets different?\",\n  \"why are there mannequins in nuketown?\",\n  \"why is there a syrian revolution?\",\n  \"why do dvds come out on tuesday?\",\n  \"why do mk4 smell like crayons?\",\n  \"why are there so many nba games?\",\n  \"why is bht bad for you?\",\n  \"why do type ii supernovae explode?\",\n  \"why are there private listings on ebay?\",\n  \"why is there uracil in rna?\",\n  \"why is there skin on milk?\",\n  \"why is mutavault good?\",\n  \"why is fast food unhealthy?\",\n  \"why are lenses made from amorphous solids?\",\n  \"why is there a need for gst in singapore?\",\n  \"why is there keygen music?\",\n  \"why are nose hairs so thick?\",\n  \"why are sulfites added to wine?\",\n  \"why do squirrels bark?\",\n  \"why do kidneys fail?\",\n  \"why is sleep so important?\",\n  \"why are humans here?\",\n  \"why do eyes hurt?\",\n  \"why is vudu so expensive?\",\n  \"why are there different economic systems?\",\n  \"why is there conflict in rwanda?\",\n  \"why do eggs make my stomach hurt?\",\n  \"why do humans fart?\",\n  \"why is california called the golden state?\",\n  \"why are nsw called cockroaches?\",\n  \"why do ielts?\",\n  \"why is gfp green?\",\n  \"why are koreans so good at games?\",\n  \"why is there tundra?\",\n  \"why is there no estate tax in 2010?\",\n  \"why is pvdf piezoelectric?\",\n  \"why do xenon headlights turn pink?\",\n  \"why are circumcisions done?\",\n  \"why do i have no friends?\",\n  \"why are there so many ftms?\",\n  \"why are avocados bad for type o?\",\n  \"why do mma fighters get staph infection?\",\n  \"why is tyler and catelynn on couples therapy?\",\n  \"why are pv devices connected in series?\",\n  \"why are there still american troops in japan?\",\n  \"why do axons have thresholds?\",\n  \"why is gitmo still open?\",\n  \"why do i have double xp mw3?\",\n  \"why are there private prisons?\",\n  \"why do yeast infections hurt more at night?\",\n  \"why is there deforestation in africa?\",\n  \"why are there adverts on bbc news?\",\n  \"why are there tennis balls on walkers?\",\n  \"why do games cap fps?\",\n  \"why are us housing prices depressed?\",\n  \"why is spongebob not on netflix?\",\n  \"why do keep getting hiccups?\",\n  \"why is estimating important in math?\",\n  \"why is there no ipad youtube app?\",\n  \"why are rmt striking?\",\n  \"why are tornadoes only in the us?\",\n  \"why do tyres screech?\",\n  \"why is die hard rated r?\",\n  \"why do you use ubuntu?\",\n  \"why are sickle cells important?\",\n  \"why is carbon unique?\",\n  \"why are there baskets at the us open?\",\n  \"why are hibiscus leaves turning yellow?\",\n  \"why is jk rowling successful?\",\n  \"why is clash of clans not working?\",\n  \"why do ewes reject their lambs?\",\n  \"why do illegal immigrants come to the u.s?\",\n  \"why is there tsunami in japan?\",\n  \"why is bbq carcinogenic?\",\n  \"why do usability testing?\",\n  \"why is route 66 so famous?\",\n  \"why is lucille bluth called gangy?\",\n  \"why do gyms have joining fees?\",\n  \"why do married women have affairs?\",\n  \"why are there russian spies in america?\",\n  \"why is cm punk off tv?\",\n  \"why do ex boyfriends avoid you?\",\n  \"why are there pimples on my tattoo?\",\n  \"why do cyst appear?\",\n  \"why are two negatives a positive?\",\n  \"why are krugerrands illegal?\",\n  \"why do nfl players wear long socks?\",\n  \"why is xoom so slow?\",\n  \"why do knees crack?\",\n  \"why is oxygen necessary for life?\",\n  \"why is lsu softball wearing teal?\",\n  \"why do people hate ucla?\",\n  \"why are there chains under ambulances?\",\n  \"why are there commercials on ifc?\",\n  \"why are there fuses in plugs?\",\n  \"why do ofsted inspect schools?\",\n  \"why are ikea frames weird sizes?\",\n  \"why is there water in steeplechase?\",\n  \"why are there no nfl teams in los angeles?\",\n  \"why is texting so popular?\",\n  \"why are there outbreaks of whooping cough?\",\n  \"why are there no children in gta?\",\n  \"why are there multiple iexplore.exe processes?\",\n  \"why is nzd falling?\",\n  \"why are centuries ahead of years?\",\n  \"why is youtube not loading?\",\n  \"why do pv inverters fail?\",\n  \"why do goats have beards?\",\n  \"why is nds4ios so slow?\",\n  \"why do countries go to war?\",\n  \"why do songs have jr?\",\n  \"why is there grey stuff in my snot?\",\n  \"why do rappers say uh?\",\n  \"why is there guards for the tomb of the unknown soldier?\",\n  \"why do umbrellas turn inside out?\",\n  \"why is abortion good?\",\n  \"why is pgal important?\",\n  \"why are there uk troops in afghanistan?\",\n  \"why do mncs come to india?\",\n  \"why are there evil in the world?\",\n  \"why do fire trucks go with ambulances?\",\n  \"why is there be dragons rated pg-13?\",\n  \"why do aka\\\"s collect frogs?\",\n  \"why is greenville called g vegas?\",\n  \"why do athletes use steroids?\",\n  \"why do aardvarks only eat termites?\",\n  \"why are there flags out today?\",\n  \"why is aatrox 7800 ip?\",\n  \"why are there flies in my garden?\",\n  \"why are there ethnic enclaves?\",\n  \"why are mario and luigi red and green?\",\n  \"why are there two keyboards on a harpsichord?\",\n  \"why is there score hidden on reddit?\",\n  \"why is abortion important?\",\n  \"why is syria having a civil war?\",\n  \"why is funimation so slow?\",\n  \"why do islamic fundamentalists hate the us?\",\n  \"why are there runts in a litter?\",\n  \"why are nhs dentists not free?\",\n  \"why are snakeheads bad?\",\n  \"why is khan so powerful?\",\n  \"why are there irregular periods?\",\n  \"why do dc motors have capacitors?\",\n  \"why is there no color on my xbox?\",\n  \"why are there no mmorpgs for xbox?\",\n  \"why is uc merced a bad school?\",\n  \"why are there emo people?\",\n  \"why do ivs bruise?\",\n  \"why is there conflict in somalia?\",\n  \"why are cfcs harmful to the environment?\",\n  \"why do eyebrows exist?\",\n  \"why is all the rum gone?\",\n  \"why are there arches in the foot?\",\n  \"why do ib program?\",\n  \"why are there two zenonia 3?\",\n  \"why is there only one night fury?\",\n  \"why is ozone dangerous?\",\n  \"why are so many americans in prison?\",\n  \"why are scores hidden on reddit?\",\n  \"why is buffalo ny called buffalo?\",\n  \"why are mba rankings so different?\",\n  \"why are xylem and phloem always together?\",\n  \"why do children with kwashiorkor have edema?\",\n  \"why is there usb on ps2?\",\n  \"why are nvgs green?\",\n  \"why is azerbaijan split in two?\",\n  \"why do external hemorrhoids bleed?\",\n  \"why are xenopus used in research?\",\n  \"why do i have nvidia audio drivers?\",\n  \"why are there wrinkles on my head?\",\n  \"why should i do nlp?\",\n  \"why is tle important?\",\n  \"why do you love nvidia?\",\n  \"why are ryanair flights cancelled?\",\n  \"why is jackie robinson important?\",\n  \"why is kmno4 an oxidizing agent?\",\n  \"why do people hate ktm?\",\n  \"why is there unrest in turkey?\",\n  \"why are rents so high?\",\n  \"why are mr. and mrs.number so happy?\",\n  \"why are nsaids bad for your heart?\",\n  \"why are there no epl games this weekend?\",\n  \"why do rvs park at walmart?\",\n  \"why is gta 4 so hard?\",\n  \"why are there epithelial cells in my urine?\",\n  \"why do over md?\",\n  \"why do people call toronto tdot?\",\n  \"why do macrolides cause qt prolongation?\",\n  \"why is fitness important?\",\n  \"why is there salt in bottled water?\",\n  \"why are there pyramids on the olympic stadium?\",\n  \"why is dc universe free?\",\n  \"why is there thunder but no rain?\",\n  \"why do they call cops pigs?\",\n  \"why is there iron in my well water?\",\n  \"why are there less bees?\",\n  \"why are there pictures of brooms on fb?\",\n  \"why are there guest announcers on the price is right?\",\n  \"why are there helicopters circling my neighborhood?\",\n  \"why do gnats bite people?\",\n  \"why are there flies in my bedroom?\",\n  \"why are the mend in bgt?\",\n  \"why is there 2 svchost.exe?\",\n  \"why are there zodiac signs?\",\n  \"why is dmt released when you die?\",\n  \"why do okonkwo\\\"s enemies criticize him?\",\n  \"why are emerging viruses especially dangerous?\",\n  \"why are gb so good at rowing?\",\n  \"why do gmail messages disappear?\",\n  \"why are there 2 wwe championship belts?\",\n  \"why do trucks use diesel?\",\n  \"why are relationships used in rdbms?\",\n  \"why are there dinosaurs in bf3?\",\n  \"why is hno2 a weak acid?\",\n  \"why are dc motors used?\",\n  \"why are there seagulls in wyoming?\",\n  \"why do nhl players not wear cages?\",\n  \"why are flat feet bad?\",\n  \"why are nsx so expensive?\",\n  \"why do triathletes use tt bikes?\",\n  \"why are nyc taxis yellow?\",\n  \"why are eclipsing binary systems important?\",\n  \"why do dachshunds howl?\",\n  \"why are there lumps on my neck?\",\n  \"why are there artists in court?\",\n  \"why is mcdonalds so cheap?\",\n  \"why is ebola so deadly?\",\n  \"why is there embargo on cuba?\",\n  \"why is udp termed a connectionless protocol?\",\n  \"why is john steinbeck important?\",\n  \"why are there periods?\",\n  \"why do lizards have blue bellies?\",\n  \"why is zac so op?\",\n  \"why is aht important?\",\n  \"why do people protest wto meetings?\",\n  \"why is xfinity wifi not working?\",\n  \"why is ie 10 so slow?\",\n  \"why is there unemployment in the us?\",\n  \"why are there skid marks?\",\n  \"why is npv negative?\",\n  \"why are credit unions better?\",\n  \"why do they call it kmart?\",\n  \"why is sr hazardous to people?\",\n  \"why are utility poles made of wood?\",\n  \"why is zinc not a transition metal?\",\n  \"why is there he\\\"ll?\",\n  \"why are there ghosts on earth?\",\n  \"why is attachment important?\",\n  \"why are rpgs so inaccurate?\",\n  \"why are ct scans reversed?\",\n  \"why hello there dyrus twitch tv?\",\n  \"why is gmail so complicated?\",\n  \"why are zvex pedals so expensive?\",\n  \"why are tna suing wwe?\",\n  \"why are rip currents dangerous?\",\n  \"why do mma fighters have weird ears?\",\n  \"why is jodi arias trial so popular?\",\n  \"why do ds emulators run slow?\",\n  \"why is jp on hell\\\"s kitchen?\",\n  \"why do people hate x pac?\",\n  \"why do you use bgp?\",\n  \"why is ctsh down?\",\n  \"why there is no tsunami in singapore?\",\n  \"why is snowden wanted?\",\n  \"why do xenomorphs drool so much?\",\n  \"why is excel file so large?\",\n  \"why relativity and e are false?\",\n  \"why is instagram crashing?\",\n  \"why do bugs like light?\",\n  \"why are gsp tails docked?\",\n  \"why do sri lankans not play in chennai?\",\n  \"why are yeast infections itchy?\",\n  \"why is ptolemy important to the history of astronomy?\",\n  \"why is ikea bad?\",\n  \"why are there maggots in my garage?\",\n  \"why do windows updates fail?\",\n  \"why is there yellow in my iris?\",\n  \"why are there small bugs in my bathroom?\",\n  \"why is voter id bad?\",\n  \"why is nba playoffs so long?\",\n  \"why are vpso unarmed?\",\n  \"why are bed bugs bad?\",\n  \"why do people like dbz?\",\n  \"why are mkv files so quiet?\",\n  \"why is there no mtv on directv?\",\n  \"why do eels bite?\",\n  \"why are hedgehogs illegal in ga?\",\n  \"why are kbb and nada values different?\",\n  \"why is jpeg used?\",\n  \"why are office chairs so uncomfortable?\",\n  \"why is ccrm so successful?\",\n  \"why is rte player not working?\",\n  \"why is hwy 330 closed?\",\n  \"why are the simpsons yellow?\",\n  \"why do trees fall in heat?\",\n  \"why are whales mammals?\",\n  \"why are some mps rt hon?\",\n  \"why do bt throttle?\",\n  \"why do we need tcp?\",\n  \"why are sedona rocks red?\",\n  \"why are epidemiologists sometimes interested in epizootics?\",\n  \"why is eel not kosher?\",\n  \"why are men exhausted after ejaculation?\",\n  \"why is there 2 discs for bf3?\",\n  \"why are there no planes in gta 4?\",\n  \"why is prostitution immoral?\",\n  \"why is there trial by jury?\",\n  \"why are my wounds oozing?\",\n  \"why is there acid in baking powder?\",\n  \"why is there filter sand in my pool?\",\n  \"why do male dogs have nipples?\",\n  \"why are you crying mummy xlibris?\",\n  \"why is tila tequila famous?\",\n  \"why are there two ji in hiragana?\",\n  \"why is electricity so expensive?\",\n  \"why is elvis the king of rock and roll?\",\n  \"why is identification of a relevant range important?\",\n  \"why are omaha steaks good?\",\n  \"why do rti?\",\n  \"why do tyres have air in them?\",\n  \"why do ezekial cheever and marshal?\",\n  \"why is fynbos so important?\",\n  \"why is othello called the moor?\",\n  \"why are there love bugs in florida?\",\n  \"why is there tax on used items?\",\n  \"why are bridges covered?\",\n  \"why are there awkward moments?\",\n  \"why are dwarves scottish?\",\n  \"why are energy drinks bad for you?\",\n  \"why do squirrels twitch their tail?\",\n  \"why is there an octet rule?\",\n  \"why is hit and run rated r?\",\n  \"why are there viruses on computers?\",\n  \"why are vs bras so expensive?\",\n  \"why are there titans in the wall?\",\n  \"why are zinc and lead produced?\",\n  \"why are there blimps in saving private ryan?\",\n  \"why are tsunamis called tsunamis?\",\n  \"why are dalits considered untouchable?\",\n  \"why is cc sabathia so good?\",\n  \"why are there red bumps on my arms?\",\n  \"why are zombies so popular?\",\n  \"why are oats bad?\",\n  \"why are there different eucharistic prayers?\",\n  \"why 2011 is iyc?\",\n  \"why are laws created?\",\n  \"why do it projects fail?\",\n  \"why are byes used in a tournament?\",\n  \"why are fonts so expensive?\",\n  \"why is there acne on my back?\",\n  \"why do airplanes use 400hz?\",\n  \"why is there affirmative action?\",\n  \"why are psychiatrists called shrinks?\",\n  \"why is harry potter so popular?\",\n  \"why do pyromaniacs start fires?\",\n  \"why do odds change?\",\n  \"why are there gherkins in mcdonalds burgers?\",\n  \"why do june bugs die?\",\n  \"why do sewers steam?\",\n  \"why is iwata holding bananas?\",\n  \"why do we connect qtp qc?\",\n  \"why are eicosanoids called local hormones?\",\n  \"why are there zits on my head?\",\n  \"why is there slugs in my kitchen?\",\n  \"why is dbgt so bad?\",\n  \"why is psych filmed in canada?\",\n  \"why is it called the stanley cup?\",\n  \"why is there vegetable oil in gatorade?\",\n  \"why is el nino important?\",\n  \"why are there leap years yahoo?\",\n  \"why do far away lights twinkle?\",\n  \"why are zombies so slow?\",\n  \"why are gcses being scrapped?\",\n  \"why is oversleeping healthy?\",\n  \"why is pda not allowed in school?\",\n  \"why are there troops in okinawa?\",\n  \"why do aye-ayes have big eyes?\",\n  \"why are syria and israel fighting?\",\n  \"why are oem wheels so expensive?\",\n  \"why do gymnasts have delayed puberty?\",\n  \"why are zimmerman jurors all women?\",\n  \"why are there french in canada?\",\n  \"why are there canals in amsterdam?\",\n  \"why is there no jobs in the uk?\",\n  \"why do dehumidifiers ice up?\",\n  \"why are they closing aj wright?\",\n  \"why are there girls bikes?\",\n  \"why are gpa helmets so expensive?\",\n  \"why are there islamic terrorists?\",\n  \"why are goats evil?\",\n  \"why do yakuza have tattoos?\",\n  \"why are there third world countries?\",\n  \"why do cats have whiskers?\",\n  \"why is there liquid in my ear?\",\n  \"why is he pulling away?\",\n  \"why are there bishops in the house of lords?\",\n  \"why do ostriches bury their heads?\",\n  \"why do whips crack?\",\n  \"why do fingers crack?\",\n  \"why do horse flies bite?\",\n  \"why is there terrorism in pakistan?\",\n  \"why are there prisoners in guantanamo bay?\",\n  \"why do hz matter with lcd tvs?\",\n  \"why is iinet slow?\",\n  \"why are itunes movies so expensive?\",\n  \"why is there scabs on my head?\",\n  \"why do oil prices go up and down?\",\n  \"why do mma?\",\n  \"why are nj tomatoes so good?\",\n  \"why are there no new psp games?\",\n  \"why do anemic people eat ice?\",\n  \"why do foreclosures take so long?\",\n  \"why are there publication bans?\",\n  \"why do small dogs shake?\",\n  \"why are long legs considered attractive?\",\n  \"why are azo dyes highly colored?\",\n  \"why do tncs invest in developing countries?\",\n  \"why do emails bounce?\",\n  \"why are processed foods bad?\",\n  \"why do illegal immigrants get deported?\",\n  \"why is tv addicting?\",\n  \"why is nc the tarheel state?\",\n  \"why are ostriches so big?\",\n  \"why are there different keyboard layouts?\",\n  \"why do vampires sleep in coffins?\",\n  \"why is bm green?\",\n  \"why is owl wise?\",\n  \"why are there letters on a phone?\",\n  \"why are there two cyber?\",\n  \"why are there so many concussions nhl?\",\n  \"why do msds have expiry dates?\",\n  \"why are eosinophils called eosinophils?\",\n  \"why is kbr ir inactive?\",\n  \"why do people tp?\",\n  \"why do people get kwashiorkor?\",\n  \"why are there fleas in my house?\",\n  \"why is there cellulite on my stomach?\",\n  \"why do we celebrate bhai dooj?\",\n  \"why do people ddos 4chan?\",\n  \"why is there ads on my twitter?\",\n  \"why do gmat?\",\n  \"why is smoking bad for you?\",\n  \"why is there fungus in my mulch?\",\n  \"why do gps have bluetooth?\",\n  \"why do mba cost so much?\",\n  \"why are there handles in cars?\",\n  \"why are women pms?\",\n  \"why is there more than one doctor who?\",\n  \"why are tomatoes considered fruit?\",\n  \"why are ions soluble in water?\",\n  \"why do people like wu tang clan?\",\n  \"why are there bubbles in my urine?\",\n  \"why are oxidation numbers calculated?\",\n  \"why is there no rda for sugar?\",\n  \"why are arctic foxes endangered?\",\n  \"why is jquery mobile slow?\",\n  \"why do states acquire wmd?\",\n  \"why are flies attracted to me?\",\n  \"why are there random ads on my youtube?\",\n  \"why do people visit kwazulu natal?\",\n  \"why are there gypsies in ireland?\",\n  \"why is there itchy bumps on my scalp?\",\n  \"why are there llama farms?\",\n  \"why do texas rangers get involved?\",\n  \"why do aggies say whoop?\",\n  \"why is wyoming so empty?\",\n  \"why is there sweatshops?\",\n  \"why is there an envelope on my dstv screen?\",\n  \"why do men like long hair?\",\n  \"why is river song in prison?\",\n  \"why is there gravel on railroad tracks?\",\n  \"why is qemu so slow?\",\n  \"why is pc slow?\",\n  \"why are there apes in gibraltar?\",\n  \"why is there duplicate contacts on my iphone?\",\n  \"why is there imaginary numbers?\",\n  \"why are there no ipad 2 cases?\",\n  \"why do canadians say eh at the end?\",\n  \"why are metals malleable?\",\n  \"why are there vending machines in schools?\",\n  \"why is d\\\"day called d\\\"day?\",\n  \"why are vertical angles congruent?\",\n  \"why is kvd so good?\",\n  \"why are there silent letters in english?\",\n  \"why is there no jimmy johns in nyc?\",\n  \"why do boys get nrb?\",\n  \"why is there protein in csf?\",\n  \"why is lg ally slow?\",\n  \"why are there dark circles under eyes?\",\n  \"why are there australian soldiers in afghanistan?\",\n  \"why are there eggs on twitter?\",\n  \"why do sunburns hurt?\",\n  \"why are team gb in portugal?\",\n  \"why is one eye red?\",\n  \"why do we have a leap year?\",\n  \"why is there no ultimate fighter this week?\",\n  \"why is ubuntu good?\",\n  \"why are there gender stereotypes?\",\n  \"why is there urobilinogen in urine?\",\n  \"why are europeans thinner than americans?\",\n  \"why are there shooting stars?\",\n  \"why do ab workouts?\",\n  \"why are sea levels rising?\",\n  \"why are umbrellas made up of synthetic clothes?\",\n  \"why is there violence in wuthering heights?\",\n  \"why are hdl and ldl cholesterol levels important?\",\n  \"why do people shop at jcpenney?\",\n  \"why are there the hunger games?\",\n  \"why are there israeli settlements?\",\n  \"why is beer good for you?\",\n  \"why is vwap important?\",\n  \"why are dhows important?\",\n  \"why are acrylic tapers bad?\",\n  \"why are there eye floaters?\",\n  \"why do we say um?\",\n  \"why is pms worse with age?\",\n  \"why are swimming trunks called trunks?\",\n  \"why are there no nba games on april 4?\",\n  \"why do australians say aye?\",\n  \"why do schools have mascots?\",\n  \"why do vaccines work?\",\n  \"why are there so many transistors in a cpu?\",\n  \"why is rwanda a genocide?\",\n  \"why are there killers?\",\n  \"why is bw3 called that?\",\n  \"why do jinns bother people?\",\n  \"why do sd cards format?\",\n  \"why do fish have gills?\",\n  \"why are there ghettos?\",\n  \"why is there smoke coming from my engine?\",\n  \"why are dvds so expensive in australia?\",\n  \"why are there bb instruments?\",\n  \"why is there mass defect?\",\n  \"why are there american troops in afghanistan?\",\n  \"why do cyclists run red lights?\",\n  \"why are av receivers so big?\",\n  \"why are the people beseeching oedipus?\",\n  \"why is cbe group calling me?\",\n  \"why are craigslist photos blurry?\",\n  \"why is there color?\",\n  \"why is green not a creative color?\",\n  \"why are there ethical dilemmas in accounting?\",\n  \"why is there citric acid in antacid?\",\n  \"why is hdmi cable used?\",\n  \"why do printers use cmyk instead of rgb?\",\n  \"why is there pimples on my stomach?\",\n  \"why are there so many rpg games?\",\n  \"why is there an equinox?\",\n  \"why are gypsies so disliked?\",\n  \"why are glaciers retreating?\",\n  \"why are bbs wheels so expensive?\",\n  \"why are there earthquakes and volcanoes in washington?\",\n  \"why do akb48 members graduate?\",\n  \"why are there no dwarves in elder scrolls?\",\n  \"why are sf giants wearing yankee uniforms?\",\n  \"why are dmvs so slow?\",\n  \"why do my eyes hurt?\",\n  \"why is there scarcity?\",\n  \"why do you need an ftp client?\",\n  \"why are there reruns of jimmy fallon?\",\n  \"why are there icebergs?\",\n  \"why do americans celebrate cinco de mayo?\",\n  \"why are dogs man\\\"s best friend?\",\n  \"why is there a garage in gta 4?\",\n  \"why is avg free?\",\n  \"why are names important?\",\n  \"why do ivf cycles fail?\",\n  \"why are there clots of blood when on my period?\",\n  \"why is vpn connection so slow?\",\n  \"why is talk of the nation being canceled?\",\n  \"why are actinides always radioactive?\",\n  \"why are mncs good?\",\n  \"why are there three wooden crosses?\",\n  \"why is there an error loading my tweets?\",\n  \"why do we need jsf?\",\n  \"why is there excise tax?\",\n  \"why is there ridges in my nails?\",\n  \"why do horde win bg?\",\n  \"why are zionists bad?\",\n  \"why are there 2 wwe?\",\n  \"why are there delays at jfk?\",\n  \"why do zack and cody live on a ship?\",\n  \"why do keyword research?\",\n  \"why is there different dvd regions?\",\n  \"why is there wind on mars?\",\n  \"why is there judgement day?\",\n  \"why do e ink displays flash?\",\n  \"why 400hz is used in aircraft?\",\n  \"why are mncs successful?\",\n  \"why do dogs run away?\",\n  \"why do kettles whistle?\",\n  \"why do rwd?\",\n  \"why are fbi agents special?\",\n  \"why do skin tags hurt?\",\n  \"why are clouds pink?\",\n  \"why are esters volatile?\",\n  \"why is vfend so expensive?\",\n  \"why are there wasps?\",\n  \"why is xopenex expensive?\",\n  \"why are nfl teams named?\",\n  \"why are there only 28 days in february?\",\n  \"why is uiuc ranked so low?\",\n  \"why is pda loudest at s2?\",\n  \"why do cells die?\",\n  \"why are nct classes so expensive?\",\n  \"why is cte important?\",\n  \"why are there different accents?\",\n  \"why is nato important?\",\n  \"why do fireflies light up?\",\n  \"why are there no iphone 5 available?\",\n  \"why is chandelure uu?\",\n  \"why are pyramids triangular in shape?\",\n  \"why are kardashians rich?\",\n  \"why are there volcanoes on earth?\",\n  \"why is ghost fishing a problem?\",\n  \"why are there public schools?\",\n  \"why do eric and sookie break up?\",\n  \"why is there cyberbullying?\",\n  \"why is shylock a villain?\",\n  \"why is ie not responding?\",\n  \"why are plants important to us?\",\n  \"why is there yellow in my eye?\",\n  \"why are eeg\\\"s used?\",\n  \"why are there circles in my pictures?\",\n  \"why is fsh high?\",\n  \"why are there automatic finalists in eurovision?\",\n  \"why is there no ikea in las vegas?\",\n  \"why is there still poverty in the world?\",\n  \"why do french people smoke?\",\n  \"why is ikea delivery so expensive?\",\n  \"why is there dry skin on my balls?\",\n  \"why is bf3 better than mw3?\",\n  \"why is lte slower than 4g?\",\n  \"why is fn locked on?\",\n  \"why are there mcdonalds in hospitals?\",\n  \"why is there nba lockout 2011?\",\n  \"why is rls at night?\",\n  \"why are grapes bad for dogs?\",\n  \"why is az so hot?\",\n  \"why are our hands webbed?\",\n  \"why do we use nvarchar?\",\n  \"why is eric clapton so good?\",\n  \"why are there alot of flies in my house?\",\n  \"why is there foam in my aquarium?\",\n  \"why is ayn rand wrong?\",\n  \"why is jimmy fallon so bad?\",\n  \"why are there orphans?\",\n  \"why are there swedish flags in angry birds?\",\n  \"why is kurt warner famous?\",\n  \"why are there turks in germany?\",\n  \"why is the oyster important?\",\n  \"why is there replacement officials?\",\n  \"why are there so many crows?\",\n  \"why are x rays bad for you?\",\n  \"why are aeropostale clothes so cheap?\",\n  \"why are there faults in utah?\",\n  \"why is there aboriginal poverty?\",\n  \"why is there more granite than rhyolite?\",\n  \"why is there poop when i wipe?\",\n  \"why is online in french?\",\n  \"why are statistics important?\",\n  \"why are there no private matches in bf3?\",\n  \"why are hearing aids so expensive?\",\n  \"why is there ethnic diversity in the us?\",\n  \"why is tv entertaining?\",\n  \"why isn\\\"t there nba this year?\",\n  \"why are there interest rates?\",\n  \"why are there so many hmong in minnesota?\",\n  \"why is there no gtalk for iphone?\",\n  \"why are there guns in america?\",\n  \"why are upside down crosses bad?\",\n  \"why are all planets round?\",\n  \"why are spiders important?\",\n  \"why do dimples form?\",\n  \"why are squirrels important?\",\n  \"why do opiates help rls?\",\n  \"why do aka\\\"s shake their hair?\",\n  \"why is avis so expensive?\",\n  \"why is there evil if god exists?\",\n  \"why is there dandruff in my eyebrows?\",\n  \"why are there full length movies on youtube?\",\n  \"why is el yunque famous?\",\n  \"why are there snakes in my dreams?\",\n  \"why are there bare spots in my lawn?\",\n  \"why are the ffa colors blue and gold?\",\n  \"why do indicators change color?\",\n  \"why is there no gchat app for iphone?\",\n  \"why do people like n dubz?\",\n  \"why are there ladybugs everywhere?\",\n  \"why is identity theft difficult to investigate?\",\n  \"why are rules important?\",\n  \"why is there pus in my throat?\",\n  \"why is there an x over my battery?\",\n  \"why are pteridophytes larger than bryophytes?\",\n  \"why is animal testing bad?\",\n  \"why is khp soluble in water?\",\n  \"why is fmu better?\",\n  \"why do animals do cellular respiration?\",\n  \"why do balls smell?\",\n  \"why are there tax breaks for married couples?\",\n  \"why is there smoke in singapore?\",\n  \"why do xerophytes have hairs?\",\n  \"why is there a heart in gta iv?\",\n  \"why do warts grow back?\",\n  \"why is there a civil war in uganda?\",\n  \"why is bok choy good for you?\",\n  \"why do june bugs attack people?\",\n  \"why is hypertension considered a silent killer?\",\n  \"why are einstein\\\"s discoveries so important?\",\n  \"why is esmeralda dark?\",\n  \"why do eels move when dead?\",\n  \"why is ethanol good?\",\n  \"why do people use xtc?\",\n  \"why are there inappropriate ads on youtube?\",\n  \"why is string immutable in java?\",\n  \"why is idling bad for your car?\",\n  \"why do lbo?\",\n  \"why are there zits on my legs?\",\n  \"why is csma/cd unsuitable for wireless networks?\",\n  \"why is there gender in languages?\",\n  \"why are lloyds shares going down?\",\n  \"why is there mother\\\"s day?\",\n  \"why are drinks called spirits?\",\n  \"why do oats make me fart?\",\n  \"why is kurt busch hated?\",\n  \"why do lymph nodes swell when fighting infection?\",\n  \"why is there air in my water lines well?\",\n  \"why is there random music playing?\",\n  \"why is rwj banned?\",\n  \"why are there two european parliaments?\",\n  \"why is afrin bad for you?\",\n  \"why are bb guns called bb guns?\",\n  \"why is cvs website down?\",\n  \"why is he important?\",\n  \"why is psy in jail?\",\n  \"why are there 2 admirals in the ahl?\",\n  \"why do schizophrenics hear voices?\",\n  \"why is iim calcutta called joka?\",\n  \"why do beans make you fart?\",\n  \"why are hydrogen bonds important?\",\n  \"why do engines seize?\",\n  \"why do gm foods cause cancer?\",\n  \"why are there keys on reddit?\",\n  \"why is there an eye on the pyramid on the dollar?\",\n  \"why is there a dead?\",\n  \"why are there medication errors?\",\n  \"why is mtbe soluble in water?\",\n  \"why is there water towers?\",\n  \"why is there no ncaa football 11 for wii?\",\n  \"why is cyber bullying a problem?\",\n  \"why is gym important in high school?\",\n  \"why are there cameras everywhere?\",\n  \"why is mk3 so hard?\",\n  \"why are axioms needed to prove theorems?\",\n  \"why are rcts the gold standard?\",\n  \"why do trees have leaves?\",\n  \"why are people so mean?\",\n  \"why do mike and ikes have scribbles?\",\n  \"why are vpns used?\",\n  \"why do i need xp mode?\",\n  \"why do uk have bank holidays?\",\n  \"why is literacy important?\",\n  \"why do they call bw3?\",\n  \"why do baby einstein videos work?\",\n  \"why is hypertension bad?\",\n  \"why are old people mean?\",\n  \"why are our bodies warm?\",\n  \"why is nzonzi wearing goggles?\",\n  \"why is dip bad for you?\",\n  \"why is gta iv so dark?\",\n  \"why do old people sleep so much?\",\n  \"why is ryan gosling so cool?\",\n  \"why is beowulf cgi?\",\n  \"why is cinco de mayo celebrated in the us?\",\n  \"why are people protesting in turkey?\",\n  \"why is molly bad for you?\",\n  \"why is knowledge power?\",\n  \"why is there numbness in my big toe?\",\n  \"why is dlisted down?\",\n  \"why are aggregates important?\",\n  \"why are there kosher rules?\",\n  \"why is ttl 128?\",\n  \"why are there no names in ncaa football?\",\n  \"why do flies keep bothering me?\",\n  \"why is cici\\\"s pizza closed?\",\n  \"why are there no impact craters on the surface of lo?\",\n  \"why do robins lay blue eggs?\",\n  \"why are dps queues so long?\",\n  \"why do definitions of ngos matter?\",\n  \"why are dentists so expensive?\",\n  \"why is there fiberglass in insulation?\",\n  \"why are there jovian and terrestrial planets?\",\n  \"why are iep meetings important?\",\n  \"why is there mucus when i fart?\",\n  \"why is mfg manufacturer?\",\n  \"why are there fireworks in nyc?\",\n  \"why do estonians hate russians?\",\n  \"why do a hnc?\",\n  \"why is og kush so good?\",\n  \"why is ahmadinejad stepping down?\",\n  \"why is yellow dye bad for you?\",\n  \"why is bh3 trigonal planar?\",\n  \"why are there question marks instead of pictures?\",\n  \"why is smoking cool?\",\n  \"why are there symbols on a map?\",\n  \"why is ginger pink?\",\n  \"why are gnats following me?\",\n  \"why are there gnats in my kitchen?\",\n  \"why are there hearts on fb?\",\n  \"why do chest xray for pneumonia?\",\n  \"why are we in iraq?\",\n  \"why are nsaids bad for kidneys?\",\n  \"why do luke and leia kiss?\",\n  \"why is sql important?\",\n  \"why do cells divide?\",\n  \"why do russians hate putin?\",\n  \"why are xbox 360 so expensive?\",\n  \"why are tinted windows illegal?\",\n  \"why are movies rated pg?\",\n  \"why are germans called huns?\",\n  \"why do satellites stay in orbit?\",\n  \"why do robins sing?\",\n  \"why are ngos needed?\",\n  \"why do market research?\",\n  \"why is wartune 18+?\",\n  \"why are hr people so mean?\",\n  \"why is there opposition to obamacare?\",\n  \"why are gnats attracted to people?\",\n  \"why is cj chief of staff?\",\n  \"why is there no mcdonalds in jamaica?\",\n  \"why are ww1 vets called doughboys?\",\n  \"why are wwe superstars going to tna?\",\n  \"why is xbox one called xbox one?\",\n  \"why is srs light on honda accord?\",\n  \"why are lysine and leucine ketogenic?\",\n  \"why is zn 2+?\",\n  \"why are there wood ticks?\",\n  \"why is pyridine aromatic?\",\n  \"why do oceans have tides?\",\n  \"why do bpd self harm?\",\n  \"why do sailors say aye aye?\",\n  \"why is diet soda bad?\",\n  \"why are there so many owl necklaces?\",\n  \"why do eyes twitch?\",\n  \"why is aerobic exercise a good thing?\",\n  \"why do i need nlp?\",\n  \"why are there nuts in my poop?\",\n  \"why is there fluoride in water?\",\n  \"why is ohio a midwestern state?\",\n  \"why is there helium 3 on the moon?\",\n  \"why are operons important?\",\n  \"why do ivf fail?\",\n  \"why are lps better?\",\n  \"why do puppies hiccup?\",\n  \"why is there meiosis 2?\",\n  \"why are lhd cars more expensive?\",\n  \"why are there arranged marriages in india?\",\n  \"why are mbt shoes good?\",\n  \"why are there 5 olympic rings?\",\n  \"why do sda go to church on saturday?\",\n  \"why are xenopus oocytes used?\",\n  \"why are there ivy league schools?\",\n  \"why do women need dhea?\",\n  \"why are pmags sold out?\",\n  \"why are there rats in my yard?\",\n  \"why are there trimesters in pregnancy?\",\n  \"why do we use jsf?\",\n  \"why do fish jump out of water?\",\n  \"why is jk rowling important?\",\n  \"why do ethics matter in negotiation?\",\n  \"why do people put jpg?\",\n  \"why are the ewells poor?\",\n  \"why is there a red x through https?\",\n  \"why is there a yellow flag on my oovoo icon?\",\n  \"why do wasps like water?\",\n  \"why are there so many earthquakes in bc?\",\n  \"why are the tmnt all red?\",\n  \"why are zinc complexes colourless?\",\n  \"why do rhinos charge?\",\n  \"why is iweb going away?\",\n  \"why is there no ak74u in mw3 multiplayer?\",\n  \"why do skin itch?\",\n  \"why is gold so valuable?\",\n  \"why are there 2 koreas?\",\n  \"why are there upside down christmas trees?\",\n  \"why are there ketones in my urine?\",\n  \"why are iphones so great?\",\n  \"why are homeless people homeless?\",\n  \"why is there tax on alcohol?\",\n  \"why do upload and download speeds differ?\",\n  \"why is there microscopic blood in my urine?\",\n  \"why do exes contact you?\",\n  \"why is there sand by the beach?\",\n  \"why are women so attractive?\",\n  \"why are cps teachers striking?\",\n  \"why are there biting flies at the beach?\",\n  \"why do people watch tlc?\",\n  \"why are there three credit scores?\",\n  \"why are zebras not domesticated?\",\n  \"why do rna and dna differ?\",\n  \"why is iron good for you?\",\n  \"why are armstrong and getty off the air?\",\n  \"why are there two mlb leagues?\",\n  \"why is cyber terrorism a threat?\",\n  \"why are there bears in new bern nc?\",\n  \"why is bp high?\",\n  \"why are there jamaicans in england?\",\n  \"why is xylem dead?\",\n  \"why are there nigerians in tokyo?\",\n  \"why is cj not on eggheads?\",\n  \"why is there htm and html?\",\n  \"why is dwyane wade a single dad?\",\n  \"why are hot dogs called franks?\",\n  \"why is cpu so high?\",\n  \"why do utis cause delirium?\",\n  \"why are there human races?\",\n  \"why is there yaoi?\",\n  \"why is ozone important in the stratosphere?\",\n  \"why do oysters make me sick?\",\n  \"why do uk drivers drive on the left?\",\n  \"why are there old and new testaments?\",\n  \"why is there no army in gta 4?\",\n  \"why is there edema in diabetes?\",\n  \"why is nz dollar so strong?\",\n  \"why do tsunamis occur where they do?\",\n  \"why is there ocean waves?\",\n  \"why is aatrox taking so long?\",\n  \"why is there no more dbz?\",\n  \"why is lake tahoe so clear?\",\n  \"why are zebra mussels bad?\",\n  \"why do esters smell good?\",\n  \"why new zealand do the haka?\",\n  \"why do an rfi?\",\n  \"why is wyoming called equality state?\",\n  \"why are kenyans fast runners?\",\n  \"why do bug bites itch?\",\n  \"why are isotopes radioactive?\",\n  \"why are there fake facebook profiles?\",\n  \"why is there ringing in my head?\",\n  \"why is there java on my computer?\",\n  \"why do woodpeckers peck?\",\n  \"why are there many versions of the bible?\",\n  \"why don\\\"t you do right?\",\n  \"why do jw not accept blood?\",\n  \"why are outboard motors so expensive?\",\n  \"why are food additives used?\",\n  \"why do people tweet #fb?\",\n  \"why is pwc a good place to work?\",\n  \"why do cells need oxygen?\",\n  \"why do gorillas have big nostrils?\",\n  \"why is ogallala aquifer important?\",\n  \"why are there no oil refineries in canada?\",\n  \"why are mutations important?\",\n  \"why do projects fail?\",\n  \"why are writers leaving dc comics?\",\n  \"why do cherries make you fart?\",\n  \"why is there eye on the dollar bill?\",\n  \"why is jr smith not a starter?\",\n  \"why are there nets on basketball hoops?\",\n  \"why is there old cars in cuba?\",\n  \"why are egg yolks orange?\",\n  \"why do economists build economic models?\",\n  \"why is hpv so prevalent?\",\n  \"why do kardashians say bible?\",\n  \"why do small businesses fail?\",\n  \"why do you need a jtag to mod?\",\n  \"why do zombies have super strength?\",\n  \"why are typhoons stronger than hurricanes?\",\n  \"why is ctrl c not working?\",\n  \"why do objects float?\",\n  \"why is my computer so slow?\",\n  \"why are there acid attacks in pakistan?\",\n  \"why are there no dunkin donuts in california?\",\n  \"why is there more crime in cities pdf?\",\n  \"why is exercise good for your health?\",\n  \"why do birds suddenly appear?\",\n  \"why is australian dollar falling?\",\n  \"why is kate upton so hot?\",\n  \"why is rms root 2?\",\n  \"why are there endangered animals?\",\n  \"why are organic foods more expensive?\",\n  \"why are there no yahoo comments?\",\n  \"why are dwarf stars so bright?\",\n  \"why do use a semicolon?\",\n  \"why do iron golems hold roses?\",\n  \"why is there so much dlc?\",\n  \"why are there arrows on my desktop icons?\",\n  \"why are there two names for uluru?\",\n  \"why is there increased estrogen in klinefelter\\\"s syndrome?\",\n  \"why do ticks need blood?\",\n  \"why is there slimy stuff in my mouth?\",\n  \"why is there dirt in the bottom of my pool?\",\n  \"why are ak 47 magazines curved?\",\n  \"why are ice makers so expensive?\",\n  \"why are neptune and uranus blue?\",\n  \"why are there letters on mountains?\",\n  \"why is there fluoride in our water?\",\n  \"why is san francisco so dirty?\",\n  \"why is axl rose such a prick?\",\n  \"why are there no dwarves in guild wars 2?\",\n  \"why do we need rti?\",\n  \"why is there tax?\",\n  \"why is qe3 a bad idea?\",\n  \"why are there appetizers?\",\n  \"why is there an x in xylophone?\",\n  \"why are there kangaroos on the one dollar coin?\",\n  \"why are there fireworks in mob of the dead?\",\n  \"why do oak trees have moss?\",\n  \"why are db levels negative?\",\n  \"why do lhasa apso lick so much?\",\n  \"why are lichens important?\",\n  \"why do leaves fall off trees?\",\n  \"why are there economic systems?\",\n  \"why are khloe and lamar getting divorced?\",\n  \"why are lips pink?\",\n  \"why are there no mls teams in the south?\",\n  \"why do ignition coils overheat?\",\n  \"why are dbms important?\",\n  \"why are my eyes always red?\",\n  \"why is nsw better than qld?\",\n  \"why are ea servers down?\",\n  \"why is snsd tiffany hated?\",\n  \"why is olive oil virgin?\",\n  \"why are there no new psych episodes?\",\n  \"why are there killings in darfur?\",\n  \"why do jinns fall in love with humans?\",\n  \"why is zwinky not downloading?\",\n  \"why do engines knock?\",\n  \"why are deserts cold at night?\",\n  \"why do fuel pumps go out?\",\n  \"why are zombies always hungry?\",\n  \"why are there 2 wwe titles?\",\n  \"why are aquatic plants important?\",\n  \"why do swimmers bleach their hair?\",\n  \"why are there so many gps models?\",\n  \"why are there pound signs on facebook?\",\n  \"why are warriors dubs?\",\n  \"why is there sludge in my radiator?\",\n  \"why do seasons occur?\",\n  \"why are people against hst?\",\n  \"why do cystic pimples form?\",\n  \"why are there foreign troops in america?\",\n  \"why do quarterbacks say 319?\",\n  \"why are epi pens so expensive?\",\n  \"why do africans have coarse hair?\",\n  \"why are there gender differences in addiction?\",\n  \"why is byzantine empire important?\",\n  \"why are red tides red?\",\n  \"why are russia in uefa?\",\n  \"why is jp morgan famous?\",\n  \"why do yahoo?\",\n  \"why are klum and seal separating?\",\n  \"why is there sharp pain in my breast?\",\n  \"why is ryder homeschooled in melissa and joey?\",\n  \"why is oh a bad leaving group?\",\n  \"why is justin bieber so hot?\",\n  \"why are bc inland ferries free?\",\n  \"why are edward scissorhands hands scissors?\",\n  \"why is trigonometry important?\",\n  \"why do fools fall in love?\",\n  \"why is mdf sustainable?\",\n  \"why are wyvern bones so expensive?\",\n  \"why are there horror movies psychology today?\",\n  \"why are there eunuchs?\",\n  \"why are erythrocytes biconcave?\",\n  \"why are xlsx files so large?\",\n  \"why is lead poisonous?\",\n  \"why is there turmoil in syria?\",\n  \"why are there electoral colleges?\",\n  \"why is ghost called ghost bc?\",\n  \"why do evaluations of health programs fail?\",\n  \"why are koreans so rude?\",\n  \"why are there nine pieces of eight?\",\n  \"why do owls hunt at night?\",\n  \"why is ky called a commonwealth?\",\n  \"why are there age restrictions in gymnastics?\",\n  \"why are there random apps on my phone?\",\n  \"why are ostriches so fast?\",\n  \"why is nguyen common?\",\n  \"why are pdf files so slow?\",\n  \"why do estate planning?\",\n  \"why is psychology important?\",\n  \"why are there no khajiit to marry?\",\n  \"why do vw beetles float?\",\n  \"why is exercise good for you?\",\n  \"why is there food in my poop?\",\n  \"why is llandudno located by the great orme?\",\n  \"why are most barns red?\",\n  \"why do cds spin?\",\n  \"why are there irregular verbs in spanish?\",\n  \"why do evil things happen?\",\n  \"why is cdna used in pcr?\",\n  \"why is there lunar new year?\",\n  \"why is wukong god tier?\",\n  \"why are there animals dying?\",\n  \"why are oakley sunglasses so great?\",\n  \"why is there mlk day?\",\n  \"why are there cysts on ovaries?\",\n  \"why is crossfit bad?\",\n  \"why are dna and rna called nucleic acids?\",\n  \"why is lse so good?\",\n  \"why do earthquakes cause tsunamis?\",\n  \"why are mreits down?\",\n  \"why are pv cells efficiency?\",\n  \"why are there laws?\",\n  \"why is there epinephrine in novocaine?\",\n  \"why are shirts called wife beaters?\",\n  \"why are cuban cigars illegal in us?\",\n  \"why do ehr implementations fail?\",\n  \"why do you ccw?\",\n  \"why do people smoke weed?\",\n  \"why are there 9 justices?\",\n  \"why is there no tylenol in stores 2012?\",\n  \"why are enzymes important to human health?\",\n  \"why is there sand in my pool?\",\n  \"why do people take dhea?\",\n  \"why is there foam in my toilet?\",\n  \"why is nicotine addictive?\",\n  \"why do all my joints hurt?\",\n  \"why is office so expensive?\",\n  \"why is registeel uu?\",\n  \"why is vf down?\",\n  \"why is there a pearl in an oyster?\",\n  \"why do glasses smell like fish?\",\n  \"why is hp printer offline?\",\n  \"why do eric and donna break up?\",\n  \"why do leaves turn yellow?\",\n  \"why are xbox movies so expensive?\",\n  \"why are some uc majors closed?\",\n  \"why are there chips in my bag of air?\",\n  \"why is there no bbc 1?\",\n  \"why do i bankers work so much?\",\n  \"why is jwoww\\\"s mom in assisted living?\",\n  \"why is there a delay at sfo?\",\n  \"why is there upthrust?\",\n  \"why is there no proof of obama\\\"s death?\",\n  \"why is there no ozone over australia?\",\n  \"why is there a phase shift in rc circuits?\",\n  \"why is gpsphone crashing?\",\n  \"why is drinking cold water bad?\",\n  \"why are dandelions weeds?\",\n  \"why are tsunamis the worst natural disaster?\",\n  \"why are covered bridges covered?\",\n  \"why are lobsters red?\",\n  \"why is there daylight savings time yahoo?\",\n  \"why are there no ipad 2 in stock?\",\n  \"why dg is rated in kva?\",\n  \"why do we need cname?\",\n  \"why do countries join wto?\",\n  \"why are weeds bad?\",\n  \"why is there rust on my brake rotors?\",\n  \"why are itunes songs 1.29?\",\n  \"why is potassium k?\",\n  \"why is ibm down?\",\n  \"why is there vat on second hand vans?\",\n  \"why is there edema in congestive heart failure?\",\n  \"why are dc motors more efficient?\",\n  \"why is spinach good for you?\",\n  \"why are there look alikes?\",\n  \"why are there oil subsidies?\",\n  \"why are g shocks so good?\",\n  \"why is ttc added to motility media?\",\n  \"why are episcopal church doors red?\",\n  \"why are roms illegal?\",\n  \"why is ahri so good?\",\n  \"why are there earthquakes in alaska?\",\n  \"why are marines called devil dogs?\",\n  \"why do people watch svu?\",\n  \"why is ups international so expensive?\",\n  \"why are there no ideal gases in nature?\",\n  \"why are there scabs on my head?\",\n  \"why are there gaps in the asteroid belt?\",\n  \"why is khat illegal?\",\n  \"why are aston martins called db?\",\n  \"why do head gaskets fail?\",\n  \"why is dwarfism dominant?\",\n  \"why are there glass balls on lightning rods?\",\n  \"why do tsunamis occur in the pacific ocean?\",\n  \"why are there so many versions of ubuntu?\",\n  \"why is owning a home a good investment?\",\n  \"why is capitalism bad?\",\n  \"why are people rejected by eharmony?\",\n  \"why are there active volcanoes in oregon and washington?\",\n  \"why is nbc cancelling smash?\",\n  \"why are deeds recorded?\",\n  \"why do bbc have no adverts?\",\n  \"why are kettlebells so effective?\",\n  \"why are there red x\\\"s?\",\n  \"why is there turbulence over the equator?\",\n  \"why do i need fmla?\",\n  \"why iframes are used?\",\n  \"why are wmds bad?\",\n  \"why do engaged men cheat?\",\n  \"why is there no sound hdmi cable?\",\n  \"why are rna viruses so dangerous?\",\n  \"why we do iisreset?\",\n  \"why are there emos?\",\n  \"why is xp running so slow?\",\n  \"why are there fraternities?\",\n  \"why are vpns so slow?\",\n  \"why is einthusan not working in india?\",\n  \"why are azaleas not blooming?\",\n  \"why are there small ants in my room?\",\n  \"why is there rent control?\",\n  \"why is ssae 16 important?\",\n  \"why is there gst on used vehicles?\",\n  \"why do russians say comrade?\",\n  \"why is diversity good?\",\n  \"why are there natural disasters?\",\n  \"why is hunter x hunter on hiatus?\",\n  \"why are there so many illegal immigrants?\",\n  \"why is there vat on silver?\",\n  \"why do htc phones die so fast?\",\n  \"why do hamsters make noises?\",\n  \"why do mcflurry spoons look like that?\",\n  \"why do ohs records need to be kept?\",\n  \"why are scene girls so attractive?\",\n  \"why do qbs say omaha?\",\n  \"why is there zinc in pennies?\",\n  \"why is there only one human species?\",\n  \"why are dogs always hungry?\",\n  \"why is there easter monday?\",\n  \"why are rcd used?\",\n  \"why are rna primers necessary in replication?\",\n  \"why is iweb discontinued?\",\n  \"why do igraine and the duke flee the court?\",\n  \"why are the ewells a disgrace?\",\n  \"why are type 1 diabetics thirsty?\",\n  \"why is squats important?\",\n  \"why are police called pigs?\",\n  \"why are nopales good for you?\",\n  \"why is esau called edom?\",\n  \"why are hv cables screened?\",\n  \"why are some fb profiles different?\",\n  \"why do boys not like me?\",\n  \"why is there pimento in olives?\",\n  \"why are there pimples on my thighs?\",\n  \"why do people like rwj?\",\n  \"why is cloning good?\",\n  \"why do dying people stare?\",\n  \"why is there an obelisk in washington dc?\",\n  \"why is wpa2 the best?\",\n  \"why is bgt not on?\",\n  \"why is there always a java update?\",\n  \"why are there flies in my room?\",\n  \"why are islamic women covered?\",\n  \"why are there yellow stains on my pillow?\",\n  \"why do cells reproduce?\",\n  \"why do betta fish fight?\",\n  \"why is ethics important?\",\n  \"why is oedipus a tragic hero essay?\",\n  \"why are there paragraph symbols in my email?\",\n  \"why are there baskets on the pins at merion?\",\n  \"why is sunny leaving iy2?\",\n  \"why do quinn and barney break up?\",\n  \"why are there two l\\\"s in llama?\",\n  \"why is gsp so good?\",\n  \"why do they make fwd cars?\",\n  \"why do hands sweat?\",\n  \"why is gyarados so good?\",\n  \"why are there two wolverines in mvc2?\",\n  \"why do people travel for vfr?\",\n  \"why is skin considered an organ?\",\n  \"why is ck level high?\",\n  \"why are there warts on my hands?\",\n  \"why is there estrogen in birth control pills?\",\n  \"why do people hate uwo?\",\n  \"why are tv shows so bad?\",\n  \"why is there a bike in the ibrox trophy room?\",\n  \"why is cf4 nonpolar?\",\n  \"why is nyc so hot?\",\n  \"why are yawns contagious yahoo?\",\n  \"why are there holes in bagels?\",\n  \"why are viruses referred to as obligate parasites?\",\n  \"why are watermelons racist?\",\n  \"why is ikea food so cheap?\",\n  \"why do npv profiles cross?\",\n  \"why are cctv cameras bad quality?\",\n  \"why are budgets important?\",\n  \"why are there rules in war?\",\n  \"why is there an outbreak of whooping cough?\",\n  \"why are pga players wearing green?\",\n  \"why are rfid chips in credit cards?\",\n  \"why do people use xp?\",\n  \"why is lh used in ivf?\",\n  \"why are hotels so expensive?\",\n  \"why is there no facetime in uae?\",\n  \"why are nuclear power plants so expensive?\",\n  \"why are there illegal drugs?\",\n  \"why are bbcor bats so expensive?\",\n  \"why do the sf giants jerseys say gigantes?\",\n  \"why is censorship good?\",\n  \"why are there new judges on project runway?\",\n  \"why do dying people cry?\",\n  \"why are vaccines bad?\",\n  \"why do html emails?\",\n  \"why do rats like cheese?\",\n  \"why do ghosts haunt?\",\n  \"why is there cotton in pill bottles?\",\n  \"why do pcr?\",\n  \"why are utah girls so hot?\",\n  \"why are some people shy?\",\n  \"why are there green dots on my screen?\",\n  \"why are roller coasters fun?\",\n  \"why is rms important?\",\n  \"why do cars have gb on them?\",\n  \"why do frogs make noise?\",\n  \"why is bzp illegal?\",\n  \"why are otaku hated in japan?\",\n  \"why are there queens in england?\",\n  \"why is there so much mediocrity ft?\",\n  \"why are khalil mamoon hookahs good?\",\n  \"why do boats float?\",\n  \"why is there no double xp?\",\n  \"why are sweet potatoes sweet?\",\n  \"why is there so much rain in nj?\",\n  \"why is there lag on my tv?\",\n  \"why is gmo bad?\",\n  \"why are there cartoon pictures on fb?\",\n  \"why is egg yolk bad?\",\n  \"why are grapes toxic to dogs?\",\n  \"why are there road laws?\",\n  \"why is there gaps in the fossil record?\",\n  \"why do species become extinct?\",\n  \"why is oxygen important to the body?\",\n  \"why do leaves change color?\",\n  \"why are there pimples in my hair?\",\n  \"why are there two ovaries?\",\n  \"why do zipper pulls say ykk?\",\n  \"why do crows crow?\",\n  \"why do xrays have radiation?\",\n  \"why are there fish flies?\",\n  \"why is xtremepapers not working?\",\n  \"why is high cholesterol bad?\",\n  \"why do runners toenails fall off?\",\n  \"why is there youth unemployment in australia?\",\n  \"why is gsp nickname rush?\",\n  \"why are vmware tools needed?\",\n  \"why are there expiration dates on medications?\",\n  \"why are phospholipids not an essential nutrient?\",\n  \"why is there cloning?\",\n  \"why is accounting so hard?\",\n  \"why is tlc a poor technique for the analysis?\",\n  \"why is omega 3 good?\",\n  \"why are gpcrs good drug targets?\",\n  \"why are there snails in my aquarium?\",\n  \"why are there nazis in metro 2033?\",\n  \"why do zombies limp?\",\n  \"why are disneyland hotels so expensive?\",\n  \"why is there offside rule?\",\n  \"why is fps so low in lol?\",\n  \"why are katanas curved?\",\n  \"why do turtles have tails?\",\n  \"why are rpgs dying?\",\n  \"why are there more women in hr?\",\n  \"why are there oxygen bags on airplanes?\",\n  \"why are dbsk fans called cassiopeia?\",\n  \"why is fx leaving directv?\",\n  \"why is there pain in the back of my knee?\",\n  \"why are there godparents?\",\n  \"why do dvd players stop working?\",\n  \"why do two negatives make a positive?\",\n  \"why is jstor reliable?\",\n  \"why are there zebras?\",\n  \"why are there dashes in my gmail signature?\",\n  \"why do quebec speak french?\",\n  \"why do they call it wc?\",\n  \"why are cdjs so good?\",\n  \"why is he so mean to me?\",\n  \"why do infants sleep so much?\",\n  \"why are aye ayes nocturnal?\",\n  \"why are oompa loompas orange?\",\n  \"why are ieps used?\",\n  \"why is there an r is mrs?\",\n  \"why is oprah not married?\",\n  \"why do djs wear headphones on one ear?\",\n  \"why do vs md?\",\n  \"why are there five gymnasts?\",\n  \"why are nails called penny?\",\n  \"why are people insecure?\",\n  \"why is there world hunger and how did it start?\",\n  \"why is america in debt?\",\n  \"why do abusive men cheat?\",\n  \"why are there so many idiots on the internet?\",\n  \"why is svn used?\",\n  \"why is there gnats in my bathroom?\",\n  \"why is dwyane wade so good?\",\n  \"why is writing an important skill?\",\n  \"why is show called catfish?\",\n  \"why is there msg in food?\",\n  \"why is game of thrones so popular?\",\n  \"why is there urbanisation?\",\n  \"why is one piece so popular?\",\n  \"why do nuclei need neutrons to be stable?\",\n  \"why is ryan gosling hey girl?\",\n  \"why do azaleas die?\",\n  \"why is mbc on strike?\",\n  \"why is rms 707?\",\n  \"why are electrolytes good for you?\",\n  \"why is hwayoung kicked out?\",\n  \"why are aaron hernandez jerseys selling?\",\n  \"why do utis happen?\",\n  \"why do obese people eat so much?\",\n  \"why are there wars in the middle east?\",\n  \"why are people racist?\",\n  \"why is there an oktoberfest?\",\n  \"why are rpi and cpi different?\",\n  \"why is bullying a problem?\",\n  \"why is pgd controversy?\",\n  \"why do rivers flow north?\",\n  \"why are lte phones so big?\",\n  \"why is ivig so expensive?\",\n  \"why is cm punk missing?\",\n  \"why is kanye in paris?\",\n  \"why do avocados taste so bad?\",\n  \"why do vultures circle their prey?\",\n  \"why are there tax brackets?\",\n  \"why do people rp?\",\n  \"why there is queen in england and no king?\",\n  \"why are there business cycles?\",\n  \"why are zamorak pages so expensive?\",\n  \"why are there introns in dna?\",\n  \"why are there ghosts?\",\n  \"why are there bumps behind my nipples?\",\n  \"why is there dust in my hair?\",\n  \"why is sex important in a relationship?\",\n  \"why are there nba memes about pizza rolls?\",\n  \"why do we celebrate xmas?\",\n  \"why are sand cats endangered?\",\n  \"why is there something other than nothing?\",\n  \"why are klein tools good?\",\n  \"why are there no dwarves in lord of the rings?\",\n  \"why are there flies around my dog?\",\n  \"why are there circles in kansas?\",\n  \"why is izzie seeing denny?\",\n  \"why is illustrator so expensive?\",\n  \"why is halloween celebrated?\",\n  \"why ck is high in blood?\",\n  \"why are wetlands important to people?\",\n  \"why do variances occur?\",\n  \"why is there polarization in congress?\",\n  \"why is wyoming named wyoming?\",\n  \"why do mncs invest in china?\",\n  \"why is mk9 rated m?\",\n  \"why are there full albums on youtube?\",\n  \"why are wyoming cowboys called pokes?\",\n  \"why is genetic variation important to the process of evolution?\",\n  \"why are cats better than dogs?\",\n  \"why are hp printers so bad?\",\n  \"why is wmplayer.exe running windows 7?\",\n  \"why are there so many filipinos in kuwait?\",\n  \"why is rome called the eternal city?\",\n  \"why is there a us base in okinawa?\",\n  \"why is there foam in my stool?\",\n  \"why are xylem cells hollow?\",\n  \"why is sfo airport closed?\",\n  \"why do djs scratch?\",\n  \"why do june bugs like light?\",\n  \"why do companies use dba?\",\n  \"why are rss feeds good?\",\n  \"why is jerusalem important?\",\n  \"why do some people have back dimples?\",\n  \"why is there a by election in hougang?\",\n  \"why are there creepy sounds in minecraft?\",\n  \"why do twins look alike?\",\n  \"why do we use xor?\",\n  \"why is there oppression of women in arab countries?\",\n  \"why do dcf valuation?\",\n  \"why are there commercials on youtube?\",\n  \"why are there so many hdmi cables?\",\n  \"why are knees so vulnerable to injury?\",\n  \"why do ebay auctions ended early?\",\n  \"why are there skulls and crossbones on some crosses?\",\n  \"why are there illegal formations in football?\",\n  \"why are expenses increased with a debit?\",\n  \"why do snakes yawn?\",\n  \"why do 120hz tvs look weird?\",\n  \"why do men have facial hair?\",\n  \"why are there hmong in minnesota?\",\n  \"why is byod bad?\",\n  \"why do girls play softball?\",\n  \"why are zandalari in pandaria?\",\n  \"why do we need km?\",\n  \"why is there no mailbox in uldum?\",\n  \"why are cops called pigs?\",\n  \"why is there uneven heating of the earth?\",\n  \"why are there no dunkin donuts in mn?\",\n  \"why is there algae in my pool?\",\n  \"why are there uk riots 2011?\",\n  \"why is stress bad?\",\n  \"why is cmp ordered?\",\n  \"why is illinois so humid?\",\n  \"why is online gambling illegal in the usa?\",\n  \"why is venus hotter than mercury?\",\n  \"why is gsk share price rising?\",\n  \"why do legs get foamy?\",\n  \"why is vpn used?\",\n  \"why is there night and day on mars?\",\n  \"why is there violence in syria?\",\n  \"why are tsh levels low in hyperthyroidism?\",\n  \"why are osteoclasts needed?\",\n  \"why do knees creak?\",\n  \"why are there locks on sd cards?\",\n  \"why do ifunny users hate kik?\",\n  \"why is there a dmz?\",\n  \"why are there any sonics in md?\",\n  \"why are lymphocytes also called immunocytes?\",\n  \"why is krillin so weak?\",\n  \"why are eels not kosher?\",\n  \"why do veterans end up homeless?\",\n  \"why is civil disobedience important?\",\n  \"why are cinder cones steep?\",\n  \"why do mcflurry spoons have a hook?\",\n  \"why is there no lyme vaccine?\",\n  \"why are ozone levels higher in the summer?\",\n  \"why is dvdfab so slow?\",\n  \"why is there royalty in england?\",\n  \"why do aye ayes live in madagascar?\",\n  \"why is dru down in jail?\",\n  \"why do zombies eat if they are dead?\",\n  \"why do people say gtl?\",\n  \"why are there earthquakes in new zealand?\",\n  \"why is world war 2 important?\",\n  \"why is public education essential to democracy?\",\n  \"why are xylem bigger than phloem?\",\n  \"why is scorpion in injustice?\",\n  \"why is there no ionisation energy for astatine?\",\n  \"why are all hgtv shows in canada?\",\n  \"why are there holes in my aquarium plants?\",\n  \"why are there eight notes?\",\n  \"why is uc berkeley so liberal?\",\n  \"why are xbox 360 so loud?\",\n  \"why is attack attack breaking up?\",\n  \"why is fast food bad?\",\n  \"why are there flies in my apartment?\",\n  \"why do we dream sbs?\",\n  \"why do lcds have motion blur?\",\n  \"why is aau basketball bad?\",\n  \"why is illegal immigration an issue?\",\n  \"why are there juvenile detention centers?\",\n  \"why are mhc molecules important?\",\n  \"why do nurses wear scrubs?\",\n  \"why are lv bags so expensive?\",\n  \"why are zits red?\",\n  \"why are kbb and nada different?\",\n  \"why do fawns have spots?\",\n  \"why is there no harry potter mmo?\",\n  \"why is npv better than irr?\",\n  \"why do clothes shrink in the dryer?\",\n  \"why is portland rip city?\",\n  \"why do bsn?\",\n  \"why do a ucc search?\",\n  \"why do my gmail attachments fail?\",\n  \"why are my lps corals dying?\",\n  \"why do dark skinned people smell?\",\n  \"why are pvcs worse after eating?\",\n  \"why are ct scans backwards?\",\n  \"why do dancers tape their shoes?\",\n  \"why is dpi important in gaming?\",\n  \"why is iwatchmoviesonline.eu not working?\",\n  \"why are there dark spots on my face?\",\n  \"why do diatomic molecules form?\",\n  \"why are there pictures of me on google?\",\n  \"why is cheddar orange?\",\n  \"why is the sky blue for kids?\",\n  \"why are there numbers at the top of snapchat?\",\n  \"why are there .nfs files?\",\n  \"why is seed dispersal important?\",\n  \"why are there coins on robert kennedy\\\"s grave?\",\n  \"why fwb is a bad idea?\",\n  \"why is there no t in rna?\",\n  \"why do ultrasound on testicles?\",\n  \"why is america so great?\",\n  \"why is jimmy buffett famous?\",\n  \"why is intervention ending?\",\n  \"why are lymph nodes in my neck swollen?\",\n  \"why are big macs so good?\",\n  \"why is gbp falling?\",\n  \"why are rhino horns valuable?\",\n  \"why do ryanair prices go up?\",\n  \"why is reflective practice important?\",\n  \"why are there two dakotas?\",\n  \"why are ibooks so expensive?\",\n  \"why are eps files so big?\",\n  \"why is zero inflation bad?\",\n  \"why is nanotechnology important?\",\n  \"why is there a need for ivf?\",\n  \"why is monosodium glutamate bad?\",\n  \"why is there always a cvs next to a walgreens?\",\n  \"why is ja rule in jail?\",\n  \"why is lh high in menopause?\",\n  \"why are there goofs in movies?\",\n  \"why are there jokes about heskey?\",\n  \"why is ftl so hard?\",\n  \"why is ppc important?\",\n  \"why is ethane insoluble in water?\",\n  \"why do gray whales migrate?\",\n  \"why is xml better than text?\",\n  \"why is cmyk important?\",\n  \"why are there so many languages?\",\n  \"why is there non iodized salt?\",\n  \"why do the bottom of my feet hurt?\",\n  \"why is gnp better than gdp?\",\n  \"why do people hate fdr?\",\n  \"why do all men cheat?\",\n  \"why is cheating wrong?\",\n  \"why do you use ng tube?\",\n  \"why is watermelon good for you?\",\n  \"why are there atm fees?\",\n  \"why do people hate sfxt?\",\n  \"why do tyrion and sansa get married?\",\n  \"why is there a slash on https?\",\n  \"why are there gnats in my room?\",\n  \"why is folic acid important?\",\n  \"why do people move to wyoming?\",\n  \"why is uws bad?\",\n  \"why do sex offenders offend?\",\n  \"why do boats have names?\",\n  \"why is africa so far behind?\",\n  \"why do erythrocytes have no nucleus?\",\n  \"why is xperia play so cheap?\",\n  \"why is equifax score so low?\",\n  \"why are mris so expensive?\",\n  \"why are there so many svchost.exe processes?\",\n  \"why are online classes good?\",\n  \"why is vnq dropping?\",\n  \"why are there japanese editions?\",\n  \"why are home prices going up?\",\n  \"why are gold prices falling?\",\n  \"why is tv bad?\",\n  \"why is team building important?\",\n  \"why is ford better than chevy?\",\n  \"why is nre account required?\",\n  \"why is there domestic violence?\",\n  \"why do owls have flat faces?\",\n  \"why are dani jonas parents moving in?\",\n  \"why do we laugh?\",\n  \"why is john james audubon famous?\",\n  \"why is t mobile coverage so bad?\",\n  \"why do dll files go missing?\",\n  \"why do plants need xylem?\",\n  \"why do i have svchost.exe running?\",\n  \"why do living things need water?\",\n  \"why is there arsenic in apples?\",\n  \"why are lymph nodes enlarged?\",\n  \"why are there riots in london bbc?\",\n  \"why is owl eyes so amazed?\",\n  \"why is mhc important?\",\n  \"why are yellow lighters unlucky?\",\n  \"why do omega psi phi hop?\",\n  \"why is there sickness in the world?\",\n  \"why is system restore not working?\",\n  \"why is there malware?\",\n  \"why are tv dinners bad for you?\",\n  \"why is tennis scored the way it is?\",\n  \"why are there padlocks on the brooklyn bridge?\",\n  \"why is there no adverts on bbc?\",\n  \"why are there quilt patterns on barns?\",\n  \"why are ssds faster?\",\n  \"why do tortoises live so long?\",\n  \"why is yield important in finance?\",\n  \"why do russians crash so much?\",\n  \"why is rfk buried in arlington?\",\n  \"why do gmail messages get clipped?\",\n  \"why do actors act?\",\n  \"why is there salt in utah?\",\n  \"why do xyz monsters have numbers?\",\n  \"why are hickeys considered trashy?\",\n  \"why are there no krispy kreme in houston?\",\n  \"why is sprint so slow?\",\n  \"why do hmong marry so young?\",\n  \"why are wp7 games so expensive?\",\n  \"why is mdf used in furniture?\",\n  \"why do zucchini turn yellow?\",\n  \"why do you need vps?\",\n  \"why are there global warming deniers?\",\n  \"why are uda called wombles?\",\n  \"why are aerosols important?\",\n  \"why is deet bad?\",\n  \"why is dmitri mendeleev famous?\",\n  \"why is there jelly in my period?\",\n  \"why are tsa agents rude?\",\n  \"why do guys take cold showers?\",\n  \"why is there no www in front of my url?\",\n  \"why is there uprising in egypt?\",\n  \"why is lesson planning important?\",\n  \"why is npv superior to irr?\",\n  \"why is lt retiring?\",\n  \"why is fb blue?\",\n  \"why are oats good for skin?\",\n  \"why is there apple in pineapple?\",\n  \"why are sf giants called giants?\",\n  \"why are dmv people mean?\",\n  \"why is there egg in fried rice?\",\n  \"why is there ginger people?\",\n  \"why is quinoa healthy?\",\n  \"why do dslr\\\"s have a mechanical shutter?\",\n  \"why is there less carbon dioxide in the atmosphere?\",\n  \"why is there an ozone layer?\",\n  \"why are there wrinkles on my neck?\",\n  \"why are echocardiograms done?\",\n  \"why are there 12 steps in aa?\",\n  \"why are used bmw so cheap?\",\n  \"why are zappos employees so happy?\",\n  \"why do diabetics lose limbs?\",\n  \"why is there uranium in airplanes?\",\n  \"why is lse so expensive?\",\n  \"why do geese honk?\",\n  \"why is forever 21 so expensive?\",\n  \"why is xplay ending?\",\n  \"why are rna viruses segmented?\",\n  \"why is australia so expensive?\",\n  \"why is jquery good?\",\n  \"why do we need jstl?\",\n  \"why are tuition costs so high?\",\n  \"why do yahoo videos never work?\",\n  \"why is there a joke about zayn breaking tables?\",\n  \"why do women wear thongs?\",\n  \"why do people hate dbz kai?\",\n  \"why is xds illegal in california?\",\n  \"why do apples cause gas?\",\n  \"why is wyoming the equality state?\",\n  \"why is ewan holding robin?\",\n  \"why is cyber bullying bad?\",\n  \"why do sd cards get corrupted?\",\n  \"why is there no more gcb?\",\n  \"why is victorious cancelled?\",\n  \"why are airplanes so expensive?\",\n  \"why is max b in jail?\",\n  \"why is ochocinco in jail?\",\n  \"why there is kolaveri di?\",\n  \"why are pockets sewn shut?\",\n  \"why is lpg stored in spherical tanks?\",\n  \"why is gps icon on iphone?\",\n  \"why is pvc a good insulator?\",\n  \"why are pcbs dangerous?\",\n  \"why are earthworms called nightcrawlers?\",\n  \"why is cvs successful?\",\n  \"why do uploads fail on facebook?\",\n  \"why are hf radios so expensive?\",\n  \"why are there two yolks in one egg?\",\n  \"why are cv\\\"s important?\",\n  \"why is there no nato in asia pdf?\",\n  \"why do avocados turn red?\",\n  \"why is internet explorer so slow?\",\n  \"why do writers use foreshadowing?\",\n  \"why is effective communication important?\",\n  \"why are they called bw3?\",\n  \"why do liverpool sing ynwa?\",\n  \"why is prayer important?\",\n  \"why do we need ftp server?\",\n  \"why are there curse words?\",\n  \"why are there numbers on golf balls?\",\n  \"why are mold cultures ubiquitous?\",\n  \"why is water a good solvent?\",\n  \"why are there always spiders in my shower?\",\n  \"why are there vulnerabilities in code?\",\n  \"why is otto in jail soa?\",\n  \"why are there dots around my nipple?\",\n  \"why is there no nba season 2011?\",\n  \"why is there fireworks on the 4th of july?\",\n  \"why do er take so long?\",\n  \"why are there 2 primers in pcr?\",\n  \"why is there youth violence?\",\n  \"why do epileptics have seizures?\",\n  \"why are ivf babies induced?\",\n  \"why are green sea turtles endangered?\",\n  \"why is there no krispy kreme in minnesota?\",\n  \"why is vw beetle so expensive?\",\n  \"why is there no fossils in igneous rocks?\",\n  \"why do farts smell good?\",\n  \"why are strikeouts k\\\"s?\",\n  \"why are there no episodes of the middle online?\",\n  \"why are wav files so big?\",\n  \"why are gmos bad?\",\n  \"why is there no kurdistan?\",\n  \"why are kashmiri women so beautiful?\",\n  \"why do acquisitions fail?\",\n  \"why are there no over the counter antibiotics?\",\n  \"why are there english words in japanese songs?\",\n  \"why are there dvd region codes?\",\n  \"why is there a bite out of the apple logo?\",\n  \"why do dying people hallucinate?\",\n  \"why do shows use laugh tracks?\",\n  \"why are there always spiders around me?\",\n  \"why are there so many birds in ohio?\",\n  \"why are there apes still around?\",\n  \"why is 528 hz the love frequency?\",\n  \"why are there yellow leaves on my gardenia?\",\n  \"why are ssds still so expensive?\",\n  \"why are there plateaus in a heating curve?\",\n  \"why are mcflurry spoons hollow?\",\n  \"why are ssd hard drives better?\",\n  \"why do okinawans look different from japanese?\",\n  \"why is amanda bynes famous?\",\n  \"why are there hidden tracks on cds?\",\n  \"why are there number signs on facebook?\",\n  \"why do ribs hurt?\",\n  \"why are there boots on fence posts?\",\n  \"why is there fighting in sudan?\",\n  \"why are there nautical miles?\",\n  \"why is there no 13th floor in hotels?\",\n  \"why are there separate bathrooms?\",\n  \"why is there no gymnastics in the paralympics?\",\n  \"why are official crime statistics biased?\",\n  \"why is mma legal?\",\n  \"why are jaws important?\",\n  \"why is korean food so spicy?\",\n  \"why is there edema during pregnancy?\",\n  \"why are there engagement rings and wedding rings?\",\n  \"why is bpa used in plastic?\",\n  \"why are tcp and ip combined?\",\n  \"why do zombies need to eat?\",\n  \"why is java so popular?\",\n  \"why is there an age restriction on the hpv vaccine?\",\n  \"why are there locks on my folders?\",\n  \"why are there lines on my hd tv?\",\n  \"why are cfcs bad?\",\n  \"why is ignorance bad?\",\n  \"why are there plateaus in weight loss?\",\n  \"why is gluten in food?\",\n  \"why is hsg painful?\",\n  \"why is forecasting important?\",\n  \"why do people smoke?\",\n  \"why do hps lights need a ballast?\",\n  \"why do people hate dbsk?\",\n  \"why are tuxedos so expensive?\",\n  \"why are there elephants in paradise?\",\n  \"why are parents so mean?\",\n  \"why is wuthering heights a good book?\",\n  \"why do people play rpgs?\",\n  \"why are there no teaching jobs in ohio?\",\n  \"why is there a need to produce okazaki?\",\n  \"why are gnats so bad this year?\",\n  \"why are nvz areas in place?\",\n  \"why is download speed so slow?\",\n  \"why do mp3 sound bad?\",\n  \"why are gluten allergies on the rise?\",\n  \"why is fps so important?\",\n  \"why do jamaican men cheat?\",\n  \"why is there energy loss in food chains?\",\n  \"why is eleanor roosevelt famous?\",\n  \"why are there different skin colors?\",\n  \"why do teenagers use mxit?\",\n  \"why are deviled eggs called that?\",\n  \"why are ferrets illegal in some states?\",\n  \"why is there kwanzaa?\",\n  \"why is there an octopus in the closing ceremony?\",\n  \"why do isps throttle?\",\n  \"why do ndas expire?\",\n  \"why is there bacteria in the large intestine?\",\n  \"why are there aggie jokes?\",\n  \"why do galaxies spiral?\",\n  \"why are there different dr whos?\",\n  \"why is rpm important for hard drives?\",\n  \"why are smurfs blue?\",\n  \"why is simon cowell so mean?\",\n  \"why do sinuses fill with mucus?\",\n  \"why is there a pyramid in memphis tn?\",\n  \"why is there independence day?\",\n  \"why is there uracil?\",\n  \"why are there double eyelids?\",\n  \"why is applebees called applebees?\",\n  \"why are there so many ssri drugs?\",\n  \"why do zebras sleep standing up?\",\n  \"why is classification important?\",\n  \"why do we need the rma?\",\n  \"why is vfork obsolete?\",\n  \"why is human resources important?\",\n  \"why do essential oils work?\",\n  \"why is there a miami university in ohio?\",\n  \"why are ladybugs red?\",\n  \"why do i get wtd pay?\",\n  \"why do gps stop working?\",\n  \"why are ahmadis kafir?\",\n  \"why do we use mdf?\",\n  \"why are russians so good at ballet?\",\n  \"why do some people sweat more?\",\n  \"why do old people have big ears?\",\n  \"why do bulldogs like to skateboard?\",\n  \"why do eyes dilate?\",\n  \"why are cells small?\",\n  \"why is javascript called javascript?\",\n  \"why is there earthquakes?\",\n  \"why is eyelid twitching?\",\n  \"why are there kisses on oscar wilde\\\"s tomb?\",\n  \"why are officers more respected?\",\n  \"why do mics use xlr?\",\n  \"why are japanese people so weird?\",\n  \"why do ag+ and cu react spontaneously?\",\n  \"why is mba so expensive?\",\n  \"why is literature important?\",\n  \"why do cats run away?\",\n  \"why is udyr so good?\",\n  \"why do axolotls shed their skin?\",\n  \"why is there sand at the beach?\",\n  \"why do rich people live on hills?\",\n  \"why is twitch so slow?\",\n  \"why is there evidence of glaciers in africa?\",\n  \"why are braces so expensive?\",\n  \"why is aquaculture bad?\",\n  \"why do instead of md?\",\n  \"why do good people die?\",\n  \"why is mk2 so hard?\",\n  \"why do hybrid zones persist?\",\n  \"why are there helicopters over kearny nj?\",\n  \"why do blisters form?\",\n  \"why is pluto a dwarf planet?\",\n  \"why is phosphorus an important biological molecule?\",\n  \"why is cthulhu sleeping?\",\n  \"why is uefi important?\",\n  \"why is there elastic tissue in arteries?\",\n  \"why is there eid?\",\n  \"why is carol fysh leaving tsc?\",\n  \"why do they call it udub?\",\n  \"why are zebras hunted?\",\n  \"why are the crowds so small?\",\n  \"why are there still monkeys if evolution?\",\n  \"why are there wrinkles in the cerebrum?\",\n  \"why do oysters open their shells?\",\n  \"why are there pimples on my breasts?\",\n  \"why is there no oedema in marasmus?\",\n  \"why are there hindus in guyana?\",\n  \"why is klaus a fish?\",\n  \"why are gfcis required?\",\n  \"why are there two dns servers?\",\n  \"why are there geysers in yellowstone national park?\",\n  \"why are klingons different in tos?\",\n  \"why are xylem vessels dead structures?\",\n  \"why do underarms smell like onions?\",\n  \"why are babies like hinges?\",\n  \"why is there gangs?\",\n  \"why do sr-71 pilots need to be married?\",\n  \"why are there asteroids between mars and jupiter?\",\n  \"why are jamaicans so happy?\",\n  \"why is there riots in egypt?\",\n  \"why is there an iditarod?\",\n  \"why are there ratings on movies?\",\n  \"why are enzymes important to biological systems?\",\n  \"why is there laughing in the background?\",\n  \"why do tree roots come to the surface?\",\n  \"why is sf4 trigonal bipyramidal?\",\n  \"why are zombies so popular these days?\",\n  \"why is there only one eiffel tower?\",\n  \"why are nfl players criminals?\",\n  \"why do rc helicopters have 2 blades?\",\n  \"why are there age restrictions on olympic soccer?\",\n  \"why do pdfs print slowly?\",\n  \"why is xna so expensive?\",\n  \"why do beats by dre need batteries?\",\n  \"why are there no liberal ayn rand?\",\n  \"why is there morning sickness?\",\n  \"why do ur feet swell?\",\n  \"why is bb cream called bb cream?\",\n  \"why are opioids addictive?\",\n  \"why do brides wear garters?\",\n  \"why is there an age limit for olympic football?\",\n  \"why is there good in the world?\",\n  \"why is iguazu falls famous?\",\n  \"why do turkeys gobble?\",\n  \"why are there idle servers?\",\n  \"why is hair curly?\",\n  \"why are there always some people unemployed?\",\n  \"why are sweet potatoes healthy?\",\n  \"why are vmpfc patients more utilitarian?\",\n  \"why is there purgatory?\",\n  \"why is rlogin insecure?\",\n  \"why are there skunks?\",\n  \"why are trucks called semis?\",\n  \"why do my teeth hurt?\",\n  \"why is rhubarb green?\",\n  \"why is zucchini slimy?\",\n  \"why do research?\",\n  \"why is there obesity in the usa?\",\n  \"why is there august bank holiday?\",\n  \"why is pyridine soluble in water?\",\n  \"why do rivers flood ks2?\",\n  \"why do kyle and amanda break up?\",\n  \"why are there squiggly lines in my eyes?\",\n  \"why is ehrenreich working as a waitress?\",\n  \"why are there swirls on jet engines?\",\n  \"why are there red x\\\"s where pictures should be?\",\n  \"why are water bottles bad?\",\n  \"why do we have seasons?\",\n  \"why do celebrities date each other?\",\n  \"why are the ewells different from the cunninghams?\",\n  \"why do we need vss?\",\n  \"why are df and du different?\",\n  \"why is potassium important?\",\n  \"why are accents attractive?\",\n  \"why do npv?\",\n  \"why is there an odor when i floss?\",\n  \"why is cdcl3 better than ccl4?\",\n  \"why are rainbows arched?\",\n  \"why are dwemer called dwarves?\",\n  \"why are there koreans in the philippines?\",\n  \"why do xray techs leave the room?\",\n  \"why are there slugs outside my house?\",\n  \"why are gdp important?\",\n  \"why do ivf embryos die?\",\n  \"why are x rays bad?\",\n  \"why is vulva darkened?\",\n  \"why are writers depressed?\",\n  \"why do boobs hurt?\",\n  \"why are events important?\",\n  \"why is othello jealous of cassio?\",\n  \"why do people say gd?\",\n  \"why are xls files so big?\",\n  \"why is there iron in our blood?\",\n  \"why is there low voter turnout?\",\n  \"why is owl so popular?\",\n  \"why is rcd tripping?\",\n  \"why is nitrogen important to plants?\",\n  \"why is tna better than wwe?\",\n  \"why are there eggs in simpsons tapped out?\",\n  \"why are there dry counties in kentucky?\",\n  \"why do frogs have teeth?\",\n  \"why are there different types of carbon fixation?\",\n  \"why do songs say jr?\",\n  \"why do banks sell sba loans?\",\n  \"why is there so many gnats?\",\n  \"why are there two sub zero\\\"s?\",\n  \"why are abortions legal?\",\n  \"why are video games so expensive?\",\n  \"why is ccom a good school?\",\n  \"why is utilitarianism bad?\",\n  \"why are there so many psychological disorders?\",\n  \"why is hznp down?\",\n  \"why is respect important?\",\n  \"why is there radiation in space?\",\n  \"why are osteoclasts important?\",\n  \"why do we need fda?\",\n  \"why do my ankles swell?\",\n  \"why is hydrogen flammable?\",\n  \"why are dw drums the best?\",\n  \"why are there amish in sarasota?\",\n  \"why do gcs?\",\n  \"why is there a lock on my pdf?\",\n  \"why are squash blossoms falling off?\",\n  \"why is hr important?\",\n  \"why is labor day celebrated?\",\n  \"why is facebook blue?\",\n  \"why do people hate ucsd?\",\n  \"why is there 2 kratos in mortal kombat?\",\n  \"why are there helicopters over my house?\",\n  \"why is there summer vacation from school?\",\n  \"why is there ketones in urine?\",\n  \"why is george zimmerman innocent?\",\n  \"why do mps stand up?\",\n  \"why are butterflies important?\",\n  \"why is africa so violent?\",\n  \"why are there points on snapchat?\",\n  \"why do x factor mime?\",\n  \"why are ethics important in computing?\",\n  \"why are evergreens always green?\",\n  \"why do sweat when i sleep?\",\n  \"why do pitbulls like to cuddle?\",\n  \"why are ddos attacks a challenge to prevent?\",\n  \"why is upwelling important to the food chain?\",\n  \"why do umpires grunt?\",\n  \"why is fml down?\",\n  \"why are there syrian rebels?\",\n  \"why do i need nvidia physx?\",\n  \"why is under my eye twitching?\",\n  \"why is there evil in this world?\",\n  \"why is rift going free to play?\",\n  \"why are yeast infections painful?\",\n  \"why are there no apple stores in nz?\",\n  \"why 50hz frequency used in india?\",\n  \"why do mba ppt?\",\n  \"why is urinalysis important?\",\n  \"why are yankees rude?\",\n  \"why is there udp?\",\n  \"why are chinese people so annoying?\",\n  \"why are african penguins endangered?\",\n  \"why do italians wear blue?\",\n  \"why is there a pcmcia slot on my tv?\",\n  \"why do identical twins have the same dna?\",\n  \"why are there tlc references in the other guys?\",\n  \"why are there more autistic children?\",\n  \"why are dsms unreliable?\",\n  \"why do spacers hurt?\",\n  \"why is there terminal velocity?\",\n  \"why are there camels in australia?\",\n  \"why is tomato a fruit?\",\n  \"why are zucchini turning yellow?\",\n  \"why are people in bhutan happy?\",\n  \"why are there troops in kuwait?\",\n  \"why is fnma going up?\",\n  \"why do homeless people talk to themselves?\",\n  \"why are there puppy mills?\",\n  \"why are there bruises on my legs?\",\n  \"why is there occult blood in stool?\",\n  \"why is there so many nguyen?\",\n  \"why do we need fdi in retail?\",\n  \"why is azalea corsage so expensive?\",\n  \"why is there orange on the space needle?\",\n  \"why is there fuzz on a tennis ball?\",\n  \"why are korean people so rude?\",\n  \"why are there french in louisiana?\",\n  \"why are there sick people in this world?\",\n  \"why is sgu not on hulu?\",\n  \"why are oklahoma roads so bad?\",\n  \"why do pmp?\",\n  \"why is dsm iv important?\",\n  \"why do wmv load?\",\n  \"why do odysseus men eat helios cattle?\",\n  \"why are there jug handles in nj?\",\n  \"why is there nitrogen in the air?\",\n  \"why do hmong people live in minnesota?\",\n  \"why do engineers place tolerances on dimensions?\",\n  \"why is xylitol harmful to dogs?\",\n  \"why are there so many iexplore.exe?\",\n  \"why is dna a useful evolutionary clock?\",\n  \"why are children with kwashiorkor listless and inactive?\",\n  \"why are there reserves on ebay?\",\n  \"why are there no jingit ads?\",\n  \"why is high blood pressure dangerous?\",\n  \"why is there bumps on my nipples?\",\n  \"why is gnp given in us$?\",\n  \"why are russian women so hot?\",\n  \"why is fx not on hulu plus?\",\n  \"why is there pain in my hand?\",\n  \"why are there no boats on klamath lake?\",\n  \"why are xml sitemaps important?\",\n  \"why is cj leslie suspended?\",\n  \"why do ulcers cause weight loss?\",\n  \"why are lakes pink?\",\n  \"why are there colors?\",\n  \"why are there no khajiit in the thieves guild?\",\n  \"why is there a bye week?\",\n  \"why jws are wrong?\",\n  \"why are lpg prices so high?\",\n  \"why are there dress codes in school?\",\n  \"why are lush employees so pushy?\",\n  \"why are d&c done?\",\n  \"why is there tax on psn?\",\n  \"why is there no ndp in quebec?\",\n  \"why are eggs benedict called that?\",\n  \"why is there an elephant on the oakland a\\\"s uniform?\",\n  \"why is there snow on the top of mountains?\",\n  \"why do scientists use the scientific method?\",\n  \"why is cydia not working?\",\n  \"why is there an obelisk in jackson ms?\",\n  \"why are there italics?\",\n  \"why is there double weapon xp?\",\n  \"why is ohio so humid?\",\n  \"why is there ethnic conflict in belgium?\",\n  \"why are there so many liberians in rhode island?\",\n  \"why are tlc plates marked in pencil?\",\n  \"why is snooze 9 minutes?\",\n  \"why are there helicopters over san francisco?\",\n  \"why is there more autism today?\",\n  \"why are there so many dysfunctional families?\",\n  \"why are ejb used?\",\n  \"why is hfcs in bread?\",\n  \"why do dragonflies swarm?\",\n  \"why is iweb not publishing changes?\",\n  \"why is iker casillas dropped?\",\n  \"why do people like dbsk?\",\n  \"why are uk salaries so low?\",\n  \"why is there mucus in my stool?\",\n  \"why do schools use xp?\",\n  \"why is she hot and cold?\",\n  \"why are aglets sinister?\",\n  \"why are there no nfl teams in la?\",\n  \"why is low blood pressure problematic?\",\n  \"why are there gingers?\",\n  \"why is there gold in goldschlager?\",\n  \"why do rsvp cards say m?\",\n  \"why do males have nipples?\",\n  \"why is zombie brand unavailable?\",\n  \"why is there yellow stains in my underwear?\",\n  \"why is air travel so expensive?\",\n  \"why is cinco de mayo important?\",\n  \"why do ssris cause nausea?\",\n  \"why is mf global being investigated?\",\n  \"why is rdr not on pc?\",\n  \"why is pda frowned upon?\",\n  \"why are puppies so cute?\",\n  \"why do hormagaunts have bs?\",\n  \"why are npcs called mobs?\",\n  \"why is there slugs in my bathroom?\",\n  \"why is there mercury in the ocean?\",\n  \"why is ezreal so weak?\",\n  \"why is astronomy important?\",\n  \"why are xbox 360 controllers so expensive?\",\n  \"why is there epithelial cells in urine?\",\n  \"why do no guys like me?\",\n  \"why are there apostrophes in names?\",\n  \"why are bubbles round?\",\n  \"why do people prefer xp?\",\n  \"why do narcotics cause constipation?\",\n  \"why do karate?\",\n  \"why is agriculture important?\",\n  \"why are tmnt named after artists?\",\n  \"why are swimmers bad at running?\",\n  \"why are there education budget cuts?\",\n  \"why do things float ks2?\",\n  \"why do people hate the rmp?\",\n  \"why is there no nfl next year?\",\n  \"why are there terrorists?\",\n  \"why do flies buzz?\",\n  \"why do mncs invest in singapore?\",\n  \"why is there two mothers day?\",\n  \"why do people dislike wynton marsalis?\",\n  \"why is there february 29?\",\n  \"why is fx not on demand?\",\n  \"why do kentucky fans hate pitino?\",\n  \"why do edibles take so long?\",\n  \"why do mkv files skip?\",\n  \"why do african americans celebrate juneteenth?\",\n  \"why is there sin and evil in the world?\",\n  \"why are there credits at the end of movies?\",\n  \"why do cds go out of print?\",\n  \"why is there resistance to change?\",\n  \"why is there an x on my text messages?\",\n  \"why is oakland called oakland?\",\n  \"why do gases diffuse easily?\",\n  \"why are there uprisings in syria?\",\n  \"why is there silverfish in my house?\",\n  \"why are ghosts attracted to children?\",\n  \"why is osiris green?\",\n  \"why is flathead lake so clear?\",\n  \"why are immunizations bad?\",\n  \"why do mnemonic devices help memory?\",\n  \"why is fw de klerk famous?\",\n  \"why are pregnant women so hot?\",\n  \"why is fnmix going down?\",\n  \"why do xbox charge for live?\",\n  \"why do mri scanners make a noise?\",\n  \"why is there a x in christmas?\",\n  \"why are ethics important in the healthcare environment?\",\n  \"why is nm called the land of enchantment?\",\n  \"why is there no mcdonalds in iran?\",\n  \"why are there owls everywhere?\",\n  \"why do avalanches happen?\",\n  \"why do dms disappear?\",\n  \"why is there no vaccine for rsv?\",\n  \"why is og kush so popular?\",\n  \"why are x rays harmful?\",\n  \"why do farts stink?\",\n  \"why are enzymes specific?\",\n  \"why do alpacas spit?\",\n  \"why is there no aikido in mma?\",\n  \"why are there pop up ads on my computer?\",\n  \"why are there no dig sites in uldum?\",\n  \"why do tsunamis form?\",\n  \"why do ndebele paint their houses?\",\n  \"why are djs musicians?\",\n  \"why is uganda so homophobic?\",\n  \"why do jinns live in trees?\",\n  \"why is title ix good?\",\n  \"why is bp higher in right arm?\",\n  \"why is there num lock?\",\n  \"why is diego rivera famous?\",\n  \"why do guys like fwb?\",\n  \"why is jquery so slow?\",\n  \"why is fps so low?\",\n  \"why do akala lyrics?\",\n  \"why are prisons overcrowded?\",\n  \"why don\\\"tcha do me right?\",\n  \"why do atoms of metals form cations?\",\n  \"why is csi so popular?\",\n  \"why is african hair different?\",\n  \"why do some people say what?\",\n  \"why are psychopaths attractive?\",\n  \"why are lps popular again?\",\n  \"why do whales beach themselves?\",\n  \"why is erased rated r?\",\n  \"why are there elastic fibres around the alveoli?\",\n  \"why are tongans so big?\",\n  \"why do saiyans eat so much?\",\n  \"why is dg an anchor?\",\n  \"why do pc gamers hate consoles?\",\n  \"why are washrooms labeled wc?\",\n  \"why are there earthquakes in ny?\",\n  \"why are there delays at sfo?\",\n  \"why is there a girl in red in schindler\\\"s list?\",\n  \"why is there a p in pwn?\",\n  \"why is hunter moore famous?\",\n  \"why is jim morrison buried in france?\",\n  \"why do mma fighters drink pedialyte?\",\n  \"why is there metal shavings in my oil?\",\n  \"why do cns axons not regenerate?\",\n  \"why are karyotypes used?\",\n  \"why are there blue stop signs in hawaii?\",\n  \"why do stocks go up and down?\",\n  \"why do sympathetic effects last longer?\",\n  \"why are icebergs melting?\",\n  \"why is wudu performed?\",\n  \"why are there so many htc phones?\",\n  \"why is agent coulson alive?\",\n  \"why do opiates cause hiccups?\",\n  \"why is tumblr successful?\",\n  \"why are iphones better?\",\n  \"why are there no left handed catchers?\",\n  \"why is awk command used in unix?\",\n  \"why do officers touch the back of a car?\",\n  \"why are smileys yellow?\",\n  \"why are jeeps called jk?\",\n  \"why are decomposers important?\",\n  \"why are iberian lynx going extinct?\",\n  \"why is ubuntu better than windows?\",\n  \"why is ultrasound useful in medicine?\",\n  \"why do parrots talk?\",\n  \"why do narcissists marry?\",\n  \"why are there parentheses in quotes?\",\n  \"why are there child soldiers in rwanda?\",\n  \"why is one eye blurry?\",\n  \"why are there chemicals in cigarettes?\",\n  \"why is mba useful?\",\n  \"why is cyber bullying important?\",\n  \"why are texas counties important?\",\n  \"why is nh3 polar?\",\n  \"why are there ethnic differences in science achievement?\",\n  \"why is there no rda for carbohydrate consumption?\",\n  \"why are there nationalist movements in africa?\",\n  \"why is vulnerability important?\",\n  \"why is there no guilt in omelas?\",\n  \"why are zip ties so strong?\",\n  \"why are vfds used?\",\n  \"why do buddhists shave their heads?\",\n  \"why do pygmy goats jump?\",\n  \"why are hmos so popular?\",\n  \"why is hdpe stronger than ldpe?\",\n  \"why is eosinophil count high?\",\n  \"why are circuit boards green?\",\n  \"why do eclipses happen?\",\n  \"why is quinn bad?\",\n  \"why are adoptions so expensive?\",\n  \"why are polar bears endangered?\",\n  \"why do hnd?\",\n  \"why is there leasehold in uk?\",\n  \"why is there osmosis?\",\n  \"why are there bumps on my arm?\",\n  \"why are ghosts not real?\",\n  \"why is there dust in my room?\",\n  \"why are yams good for you?\",\n  \"why are there no new ncis?\",\n  \"why do mints make you sneeze?\",\n  \"why are there full service gas stations?\",\n  \"why do knots form in muscles?\",\n  \"why is of mice and men a classic novel?\",\n  \"why is there a line through https?\",\n  \"why is there bone loss in space?\",\n  \"why is wti less than brent?\",\n  \"why is cnn so bad?\",\n  \"why are cpus stuck at 3 ghz?\",\n  \"why there are anti rh bill?\",\n  \"why is hydration important?\",\n  \"why are there seashells on mt everest?\",\n  \"why is drinking alcohol bad?\",\n  \"why do ozone molecules form in the stratosphere?\",\n  \"why is cdcl3 used in nmr?\",\n  \"why are there guards at buckingham palace?\",\n  \"why are there red dots on my chest?\",\n  \"why do lcd tvs look weird?\",\n  \"why are there gherkins in mcdonalds?\",\n  \"why do i like rpgs?\",\n  \"why is there olympic rings?\",\n  \"why do hdtvs look like soap operas?\",\n  \"why do ocean tides occur?\",\n  \"why is rna different from dna?\",\n  \"why is gfp fluorescence?\",\n  \"why is bone broth good for you?\",\n  \"why are there no bids on ebay?\",\n  \"why is jigglypuff in smash bros?\",\n  \"why are there hired thugs skyrim?\",\n  \"why is swimming so hard?\",\n  \"why is pdf opening in word?\",\n  \"why is uc berkeley the best university?\",\n  \"why is rstp used in digital media?\",\n  \"why do tca cause sedation?\",\n  \"why are knicks called knicks?\",\n  \"why is othello a tragic hero?\",\n  \"why are ionic compounds soluble?\",\n  \"why are xbox analog sticks offset?\",\n  \"why is oil so expensive?\",\n  \"why are xbox one games so expensive?\",\n  \"why are there always gnats around me?\",\n  \"why do ofsted inspect children\\\"s homes?\",\n  \"why is there corn syrup in everything?\",\n  \"why are there american bases in japan?\",\n  \"why is jrr tolkien so popular?\",\n  \"why do kittens knead?\",\n  \"why is uart asynchronous?\",\n  \"why do age spots form?\",\n  \"why are aka\\\"s stuck up?\",\n  \"why is bc count backwards?\",\n  \"why are eeg done?\",\n  \"why are wusthof knives so expensive?\",\n  \"why is jwoww hand wrapped?\",\n  \"why are green vegetables good for you?\",\n  \"why are there multiple svchost.exe processes running?\",\n  \"why are there cracks in the sidewalk?\",\n  \"why are spanish people so loud?\",\n  \"why are cows sacred?\",\n  \"why do sailors swear?\",\n  \"why do yeast infections smell?\",\n  \"why is there a light in the fridge and not in the freezer?\",\n  \"why is evolution a theory?\",\n  \"why is qbw32.exe?\",\n  \"why is there free rotation about cc bond?\",\n  \"why are leopards endangered?\",\n  \"why are there so many spiders in my room?\",\n  \"why are immigrants bad for america?\",\n  \"why is xp so slow?\",\n  \"why is justin bieber popular?\",\n  \"why do nhl referees have numbers?\",\n  \"why do ngondro?\",\n  \"why are there ads on craigslist?\",\n  \"why are aeropostale clothes so small?\",\n  \"why is django unchained racist?\",\n  \"why is eye contact so awkward?\",\n  \"why are there few absolutes in organizational behavior?\",\n  \"why do cme?\",\n  \"why is tsm losing?\",\n  \"why do we use access fm?\",\n  \"why are there plastic balls on power lines?\",\n  \"why is there an equality act?\",\n  \"why is there vegan beer?\",\n  \"why do cyclists shave legs?\",\n  \"why gcses are not important?\",\n  \"why is iit famous?\",\n  \"why are there snails in my yard?\",\n  \"why do animals have tails?\",\n  \"why is ryze in every cinematic?\",\n  \"why is there wheat in soy sauce?\",\n  \"why can kvothe do sympathy?\",\n  \"why is twitter only 140 characters?\",\n  \"why are there arrows on my word document?\",\n  \"why are mp4 files so large?\",\n  \"why do mncs locate in china?\",\n  \"why do gel nails peel off?\",\n  \"why is there a notch in ct border?\",\n  \"why is 50 hz frequency dangerous?\",\n  \"why do patriots have mhk on uniform?\",\n  \"why do bruises hurt?\",\n  \"why there is a risk factor the bpr approach?\",\n  \"why are guys so mean to me?\",\n  \"why are goodbyes so hard?\",\n  \"why is there hypernatremia in diabetes insipidus?\",\n  \"why are the sf giants wearing ny jerseys?\",\n  \"why are pull ups so hard?\",\n  \"why are wuhan cymbals so cheap?\",\n  \"why are there double songs on my iphone?\",\n  \"why is opium so addictive?\",\n  \"why are beats so good?\",\n  \"why is there no hdmi port on my xbox?\",\n  \"why are just my nipples sore?\",\n  \"why are there ants in my laptop?\",\n  \"why there is kolaveri di mp3 song?\",\n  \"why are cbs shows not on netflix?\",\n  \"why do rodeo bulls buck?\",\n  \"why are there ethics in research?\",\n  \"why are there taxes on amazon?\",\n  \"why is gyarados part flying?\",\n  \"why are there more tornadoes in oklahoma?\",\n  \"why are there centipedes in my house?\",\n  \"why is oprah winfrey so rich?\",\n  \"why do a pgdip?\",\n  \"why is there fracking?\",\n  \"why is iowa a swing state?\",\n  \"why is there 4 stars on the nz flag?\",\n  \"why are iv solutions neutral?\",\n  \"why is clannad so sad?\",\n  \"why is hso4- a weak acid?\",\n  \"why do edibles not work on me?\",\n  \"why do cv joints break?\",\n  \"why do physicists use models?\",\n  \"why is switzerland not in the eu?\",\n  \"why is there no admin.txt?\",\n  \"why is iit tough?\",\n  \"why do rappers smoke weed?\",\n  \"why are there gender differences?\",\n  \"why is there water outside the glass?\",\n  \"why are there percent errors?\",\n  \"why is jtg a jobber?\",\n  \"why do egg yolks turn green?\",\n  \"why do dudes get morning wood?\",\n  \"why are images not displaying?\",\n  \"why is vg cats never updated?\",\n  \"why is russia so big?\",\n  \"why are there seven colors in the rainbow?\",\n  \"why is hrithik called greek god?\",\n  \"why are there yellow leaves on my hibiscus?\",\n  \"why is pycelle faking?\",\n  \"why do optical illusions work?\",\n  \"why is there oxygen in the earth crust?\",\n  \"why is ksp unitless?\",\n  \"why are there rats in my house?\",\n  \"why is there no ip address?\",\n  \"why is there no nfl this year?\",\n  \"why is classroom management important?\",\n  \"why are there koreans in uzbekistan?\",\n  \"why do women moan cnn?\",\n  \"why do i feel so depressed?\",\n  \"why is djokovic called nole?\",\n  \"why are dyson vacuums better?\",\n  \"why is there no more music on mtv?\",\n  \"why are owls nocturnal?\",\n  \"why is there no progress bar in ie9?\",\n  \"why are rhinos endangered?\",\n  \"why is sras upward sloping?\",\n  \"why is there a need for hr policies and procedures?\",\n  \"why are pc gamers so annoying?\",\n  \"why is there pus under my toenail?\",\n  \"why is sf city hall blue?\",\n  \"why are galaxies flat?\",\n  \"why is ice cream good for you?\",\n  \"why do ions dissolve in water?\",\n  \"why are there fewer predators than prey?\",\n  \"why do illuminati sacrifice people?\",\n  \"why is there uv dye in pepper spray?\",\n  \"why are there data limits?\",\n  \"why are zebras striped?\",\n  \"why are there mean people?\",\n  \"why is there pebbles on brighton beach?\",\n  \"why is ernest hemingway famous?\",\n  \"why are coral reefs dying?\",\n  \"why are eggs bad for you?\",\n  \"why are people leaving bhutan?\",\n  \"why do glands get swollen?\",\n  \"why are sba loans good?\",\n  \"why is jc caylen famous?\",\n  \"why is the mx5 so good?\",\n  \"why is hydrocodone addictive?\",\n  \"why do a ptt?\",\n  \"why are zucchinis good for you?\",\n  \"why are there tint laws?\",\n  \"why is censorship important?\",\n  \"why is vmware stock dropping?\",\n  \"why do officers get less gas?\",\n  \"why do girl dogs hump?\",\n  \"why do objects weigh less in water?\",\n  \"why do dj and steve break up?\",\n  \"why do i keep getting yeast infections?\",\n  \"why is ftp not secure?\",\n  \"why do tdm plugins cost more?\",\n  \"why is turkey protesting?\",\n  \"why do my jpegs look fuzzy?\",\n  \"why is russia called mother russia?\",\n  \"why is there no more mr bean?\",\n  \"why is rwj so popular?\",\n  \"why are offspring different from their parents?\",\n  \"why are tv commercials so loud?\",\n  \"why is nginx better than apache?\",\n  \"why is pypy faster?\",\n  \"why are there 2 ignition wires?\",\n  \"why are there synonym codons?\",\n  \"why do wedding rsvps have an m?\",\n  \"why do hp laptops heat up?\",\n  \"why is rssi negative?\",\n  \"why do akatsuki paint their nails?\",\n  \"why do people dislike ikea?\",\n  \"why is there water in a blister?\",\n  \"why are there islamic extremists?\",\n  \"why do islamic women wear hijab?\",\n  \"why is urine warm?\",\n  \"why is tcp better than udp?\",\n  \"why is there low humidity on the west coast?\",\n  \"why is tv a bad influence?\",\n  \"why is oil drilling bad?\",\n  \"why is eden of the east rated ma?\",\n  \"why are national parks important?\",\n  \"why are armenians rich?\",\n  \"why are there suds in my dishwasher?\",\n  \"why is there hyperpigmentation in addison\\\"s disease?\",\n  \"why is there so much aids in africa?\",\n  \"why do the tlingit hold potlatches?\",\n  \"why are there no known isolated systems?\",\n  \"why is there tingling in my hand?\",\n  \"why do my mkv files stutter?\",\n  \"why is jp not on hell\\\"s kitchen?\",\n  \"why is abortion morally wrong?\",\n  \"why are there different editions of books?\",\n  \"why do i need a vga to hdmi converter?\",\n  \"why is pdf file so large?\",\n  \"why do nba players go broke?\",\n  \"why is there crusty stuff on my nipple?\",\n  \"why do ants bite?\",\n  \"why is ewell so angry?\",\n  \"why is there sweet 16?\",\n  \"why is everyone laughing at me?\",\n  \"why is aj lee so hot?\",\n  \"why do male cats spray?\",\n  \"why do guys like eating girls out?\",\n  \"why are there ginger people?\",\n  \"why is jquery called jquery?\",\n  \"why are there hills in san francisco?\",\n  \"why are owls the symbol of wisdom?\",\n  \"why are there so many men on omegle?\",\n  \"why do tncs locate in ledcs?\",\n  \"why is there powder on gum?\",\n  \"why is mpc important?\",\n  \"why are some wma files protected?\",\n  \"why is there dark blood in my discharge?\",\n  \"why is css used?\",\n  \"why is there no youtube app on ios 6?\",\n  \"why do dragonflies hover over water?\",\n  \"why do couples fight?\",\n  \"why is hvap higher than hfus?\",\n  \"why is there no ketchup chips in the usa?\",\n  \"why do hindus cremate?\",\n  \"why are bison endangered?\",\n  \"why is there a canadian flag in msg?\",\n  \"why is cnn showing the zimmerman trial?\",\n  \"why is effective communication important in education?\",\n  \"why is vmax not a constant?\",\n  \"why are there no hydrogen bonds in ethoxyethane?\",\n  \"why is django unchained controversy?\",\n  \"why is cyber bullying wrong?\",\n  \"why is there domestic violence against women?\",\n  \"why do we give ffp?\",\n  \"why is there cinco de mayo celebrated?\",\n  \"why are vw expensive to fix?\",\n  \"why is arkansas the natural state?\",\n  \"why are there earwigs in the house?\",\n  \"why is fsh used in fertility treatment?\",\n  \"why are marines called marines?\",\n  \"why are there errors in the bible?\",\n  \"why is ivf used?\",\n  \"why are there meteor showers?\",\n  \"why is of mice and men banned?\",\n  \"why atm is better?\",\n  \"why do teens drink?\",\n  \"why is wto important?\",\n  \"why are ds games still expensive?\",\n  \"why is there a kansas city mo?\",\n  \"why are you looking for a new job?\",\n  \"why are obama\\\"s school records sealed?\",\n  \"why are there zip codes?\",\n  \"why are facebook comments out of order?\",\n  \"why is vpn safe?\",\n  \"why are htc batteries so bad?\",\n  \"why are umbrellas called umbrellas?\",\n  \"why do xylem vessels need to be dead?\",\n  \"why is there a riot in london?\",\n  \"why is gfr higher in african americans?\",\n  \"why are vaccines effective?\",\n  \"why is there guy fawkes?\",\n  \"why are there so many somalis in mn?\",\n  \"why are there outsiders?\",\n  \"why are job descriptions important?\",\n  \"why is tea bad for you?\",\n  \"why are there earthquakes in youngstown ohio?\",\n  \"why are there bumps on my head?\",\n  \"why is lte faster than wimax?\",\n  \"why is tt assen on saturday?\",\n  \"why do ace inhibitors cause cough?\",\n  \"why is ttt curve c shaped?\",\n  \"why is there dot on number 5?\",\n  \"why are mr. and mrs. klobber?\",\n  \"why are there school is a point to it?\",\n  \"why do ravers wear masks?\",\n  \"why are there dysfunctional families?\",\n  \"why are there no female lycans in underworld?\",\n  \"why do i love you?\",\n  \"why do we celebrate eid day?\",\n  \"why are there dry counties?\",\n  \"why is there blood in pimples?\",\n  \"why are there ethical dilemmas?\",\n  \"why is there bits of blood in my discharge?\",\n  \"why are mp3 files smaller?\",\n  \"why do pyramids have 4 sides?\",\n  \"why do they call it the grapevine?\",\n  \"why are kinder surprise eggs illegal?\",\n  \"why are there silent ks?\",\n  \"why do aa batteries overheat?\",\n  \"why are symbols used instead of words?\",\n  \"why is abilify so expensive?\",\n  \"why is nvidia better?\",\n  \"why are ctu striking?\",\n  \"why are dc shoes called dc?\",\n  \"why is ahi tuna red?\",\n  \"why are there two oil prices?\",\n  \"why are fossils important?\",\n  \"why is there no ketamine?\",\n  \"why are there hundreds of flies in my house?\",\n  \"why is there no snow in mn?\",\n  \"why are tsunamis important?\",\n  \"why do xboxes break so often?\",\n  \"why are eels endangered?\",\n  \"why are eels declining?\",\n  \"why are people npo before surgery?\",\n  \"why is vpn important?\",\n  \"why are there no red lobsters in bc?\",\n  \"why are there llamas on deviantart?\",\n  \"why are there rings of cartilage around the trachea?\",\n  \"why is torture wrong?\",\n  \"why do dogs bark?\",\n  \"why do zebras kill baby zebras?\",\n  \"why are pistachios dyed red?\",\n  \"why are there holes in some igneous rocks?\",\n  \"why are cop cars rwd?\",\n  \"why is tpb still up?\",\n  \"why is there oxygen in water?\",\n  \"why is ua called the capstone?\",\n  \"why is there teddy bears in call of duty?\",\n  \"why are there itchy bumps on my finger?\",\n  \"why is there fluid in my uterus?\",\n  \"why is there no yuengling in massachusetts?\",\n  \"why is mkv so good?\",\n  \"why are seeds good for you?\",\n  \"why are ohio taxes so high?\",\n  \"why are there no ps vita games?\",\n  \"why is there an m on wedding rsvp?\",\n  \"why are oil refineries bad?\",\n  \"why are there volcanoes in japan?\",\n  \"why do we use dfds?\",\n  \"why is mr. fix it rated r?\",\n  \"why is hpv dangerous?\",\n  \"why is iwo jima famous?\",\n  \"why are old klingons different?\",\n  \"why are prokaryotes ubiquitous?\",\n  \"why do poppies close at night?\",\n  \"why is wpf so slow?\",\n  \"why are there no hpv tests for men?\",\n  \"why do people abuse cns depressants?\",\n  \"why is fb blocked in china?\",\n  \"why is there english in gangnam style?\",\n  \"why do ohms matter in speakers?\",\n  \"why do ovaries hurt in early pregnancy?\",\n  \"why are there toads in my yard?\",\n  \"why do dna testing?\",\n  \"why is putah creek closed to fishing?\",\n  \"why is hwayoung out of t-ara?\",\n  \"why are gpas important?\",\n  \"why do women cheat?\",\n  \"why do xcelite tools stink?\",\n  \"why are zwitterions insoluble?\",\n  \"why do veins pop out on legs?\",\n  \"why are dolphins endangered?\",\n  \"why are hmong in minnesota?\",\n  \"why is qe3 good?\",\n  \"why do feet get swollen?\",\n  \"why are eidolons so weak?\",\n  \"why are symbols used in literature?\",\n  \"why is nylon so strong?\",\n  \"why is gnc so expensive?\",\n  \"why do nfl players use adderall?\",\n  \"why is there dress codes in school?\",\n  \"why are there two iexplore.exe running?\",\n  \"why is edward snowden wanted?\",\n  \"why is there endangered animals?\",\n  \"why is kmart so cheap?\",\n  \"why is there no acdc on spotify?\",\n  \"why are lincoln ls so cheap?\",\n  \"why is vshare crashing?\",\n  \"why is there no panera in nyc?\",\n  \"why do mcdonald\\\"s spoons have holes?\",\n  \"why are ncfc called the canaries?\",\n  \"why is vmware better than virtualbox?\",\n  \"why are there fires in colorado?\",\n  \"why is time relative?\",\n  \"why are moths attracted to light?\",\n  \"why is there a x on my battery?\",\n  \"why were there lynchings?\",\n  \"why is vegas called sin city?\",\n  \"why is athena important?\",\n  \"why do rich people play golf?\",\n  \"why are cvs prices so high?\",\n  \"why is cube world so laggy?\",\n  \"why are there palm trees in ireland?\",\n  \"why are oomycetes and fungi?\",\n  \"why is ukraine called little russia?\",\n  \"why is syntax important?\",\n  \"why do fusion and fission produce energy?\",\n  \"why is opec important?\",\n  \"why do waves break?\",\n  \"why do wwe fans say what?\",\n  \"why are there multiple chrome.exe?\",\n  \"why are gb dominating cycling?\",\n  \"why do cyclists wear bibs?\",\n  \"why are there new wiggles?\",\n  \"why is there bubbles in my pool?\",\n  \"why is xda developers down?\",\n  \"why do i need ubuntu?\",\n  \"why is there two wolverines in mvc2?\",\n  \"why is t mobile internet so slow?\",\n  \"why do parents hate the middle child?\",\n  \"why is kmp dropping?\",\n  \"why is qe2 important?\",\n  \"why are there phones in hotel bathrooms?\",\n  \"why is dubai rich?\",\n  \"why are oceans different colors?\",\n  \"why is zed good?\",\n  \"why do tpm?\",\n  \"why is title ix important?\",\n  \"why are there plate boundaries?\",\n  \"why do yugioh cards cost so much?\",\n  \"why do crossfit?\",\n  \"why are there sand dunes?\",\n  \"why are nike roshe so popular?\",\n  \"why are bacteria bad at math?\",\n  \"why are oil rigs dangerous?\",\n  \"why do business implement tps?\",\n  \"why are lobsters cooked alive?\",\n  \"why do my fb comments disappear?\",\n  \"why is lunch called dinner?\",\n  \"why are there less pc games?\",\n  \"why do ears get hot?\",\n  \"why are there purple ribbons?\",\n  \"why is ibn battuta important?\",\n  \"why do i crave ajax?\",\n  \"why do boxers hug?\",\n  \"why are there girls and boys?\",\n  \"why are there other planets in the universe?\",\n  \"why cats are awesome?\",\n  \"why do tcp resets occur?\",\n  \"why are airplane wings curved?\",\n  \"why is dla taking so long?\",\n  \"why is greece broke?\",\n  \"why are zebra mussels invasive?\",\n  \"why do plants foam?\",\n  \"why are there weight classes in wrestling?\",\n  \"why are grapes bad for you?\",\n  \"why is egypt protesting?\",\n  \"why is coal not considered to be a mineral?\",\n  \"why do wills go to probate?\",\n  \"why is there double jeopardy?\",\n  \"why do i have rls?\",\n  \"why do you cover rv tires?\",\n  \"why are there no lvl 1 pokemon?\",\n  \"why do upper eyelids sag?\",\n  \"why is there conflict in sudan?\",\n  \"why are there ants in my room?\",\n  \"why is zusi suspended?\",\n  \"why is there pimples on my chest?\",\n  \"why are odysseus and poseidon enemies?\",\n  \"why are truffles so expensive?\",\n  \"why are ebooks so expensive?\",\n  \"why do veins pop out when it\\\"s hot?\",\n  \"why do people live in wyoming?\",\n  \"why is time important?\",\n  \"why do directioners hate the wanted?\",\n  \"why is there tingling in my arm?\",\n  \"why is only bow wow hosting?\",\n  \"why do i need nri account?\",\n  \"why are ophiolites found in the himalayas?\",\n  \"why are irish people pale?\",\n  \"why is ocean water green?\",\n  \"why is grapefruit good for you?\",\n  \"why are there mixed economies?\",\n  \"why do mbbs?\",\n  \"why we are using vmware?\",\n  \"why is there ice in my fridge?\",\n  \"why is effective communication important in management?\",\n  \"why do dvds have region codes?\",\n  \"why are ecco shoes so expensive?\",\n  \"why is emma stone voice raspy?\",\n  \"why is corn good for you?\",\n  \"why do illegal immigrants pay taxes?\",\n  \"why is apple better than samsung?\",\n  \"why are there svchost.exe running?\",\n  \"why is there a server in the house pdf?\",\n  \"why do we need ehr?\",\n  \"why do people write xo?\",\n  \"why is cyanogenmod better?\",\n  \"why are vw keys so expensive?\",\n  \"why are there ketones in urine?\",\n  \"why do illnesses get worse at night?\",\n  \"why is there curfew?\",\n  \"why is there hair under your arm?\",\n  \"why are utis so painful?\",\n  \"why are there worms in my dog\\\"s poop?\",\n  \"why do parents hate gta?\",\n  \"why do objects stay in orbit?\",\n  \"why are africans so dark?\",\n  \"why is there carbon dioxide in cottage cheese?\",\n  \"why is dunsparce so good?\",\n  \"why do oxygen sensors fail?\",\n  \"why is there cervical mucus?\",\n  \"why do ethiopians have big foreheads?\",\n  \"why are mp3s so expensive?\",\n  \"why is torres wearing a mask?\",\n  \"why do diabetics need sugar?\",\n  \"why are uranus and neptune considered twins?\",\n  \"why is there obesity in the us?\",\n  \"why is identification important?\",\n  \"why do we need udid?\",\n  \"why do dachshunds shiver?\",\n  \"why are there no animals in minecraft xbox?\",\n  \"why do utis make you pee?\",\n  \"why are hd channels quieter?\",\n  \"why are there no basements in oklahoma?\",\n  \"why are there so many psychics in nyc?\",\n  \"why do mma fighters wear gloves?\",\n  \"why do armpits get dark?\",\n  \"why are iframes slow?\",\n  \"why is there red clay in georgia?\",\n  \"why do italian names end in vowels?\",\n  \"why is there clear stuff in my underwear?\",\n  \"why is ppf bowed out?\",\n  \"why are elephants good luck?\",\n  \"why do aeroplanes leave a vapour trail?\",\n  \"why is sustainability important?\",\n  \"why are police cars so fast?\",\n  \"why is pmi important?\",\n  \"why do offices leave lights on?\",\n  \"why are estuaries so important?\",\n  \"why do women discharge?\",\n  \"why do nuns cover their head?\",\n  \"why do people hate t pain?\",\n  \"why do companies pvt ltd?\",\n  \"why are tomatoes healthy?\",\n  \"why do palms itch?\",\n  \"why is hookah bad?\",\n  \"why do oxen have nose rings?\",\n  \"why are there nine members of the supreme court?\",\n  \"why do affairs happen?\",\n  \"why is economics called the dismal science?\",\n  \"why are advertisements important?\",\n  \"why do lb7 injectors fail?\",\n  \"why is there a new mexico?\",\n  \"why is art important?\",\n  \"why were there dynasties in china?\",\n  \"why are there empty seats?\",\n  \"why do people like jrpgs?\",\n  \"why is sqrt 2 irrational?\",\n  \"why are kangaroos endangered?\",\n  \"why are there no jobs?\",\n  \"why are women so shallow?\",\n  \"why is there violence in sports?\",\n  \"why is hf a liquid and hcl a gas?\",\n  \"why do psychics lie?\",\n  \"why is oklahoma susceptible to tornadoes?\",\n  \"why are there june bugs?\",\n  \"why do fingernails split?\",\n  \"why are there veins on my breast?\",\n  \"why is there no cure for pcos?\",\n  \"why is dzhokhar tsarnaev in critical condition?\",\n  \"why do dna strands appear flexible?\",\n  \"why are there x\\\"s on marie laveau\\\"s tomb?\",\n  \"why do cba?\",\n  \"why is there hypokalemia in renal tubular acidosis?\",\n  \"why do nba players wear suits?\",\n  \"why is there redstone in minecraft pocket edition?\",\n  \"why is there no cfl video game?\",\n  \"why is there low and high tides?\",\n  \"why are everton called the toffees?\",\n  \"why are there two types of dvi connectors?\",\n  \"why is title ix a problem?\",\n  \"why do americans say mom?\",\n  \"why is ykk on my zipper?\",\n  \"why is there zombies in the walking dead?\",\n  \"why are people moving to wyoming?\",\n  \"why are babies breech?\",\n  \"why do people use eharmony?\",\n  \"why are ryan and esposito fighting?\",\n  \"why are mozambique and rwanda in the commonwealth?\",\n  \"why is ectopic pregnancy dangerous?\",\n  \"why do frogs make noise at night?\",\n  \"why do we hiccup?\",\n  \"why are wrestlers ears messed up?\",\n  \"why are ions important?\",\n  \"why are there middle names?\",\n  \"why do oats give me heartburn?\",\n  \"why is ayn rand bad?\",\n  \"why do vw engines burn oil?\",\n  \"why is efficient gas exchange important?\",\n  \"why are tumblr videos so slow?\",\n  \"why is my period late?\",\n  \"why are fungi considered as saprobes?\",\n  \"why is ghb illegal?\",\n  \"why aren there tsunamis in the atlantic?\",\n  \"why is gddr faster than ddr?\",\n  \"why is izzie stevens fired?\",\n  \"why is there an e at the top of my iphone?\",\n  \"why do people put xd?\",\n  \"why is trust important?\",\n  \"why is there five olympic rings?\",\n  \"why do clouds turn grey?\",\n  \"why are unions formed?\",\n  \"why do we us lb for pound?\",\n  \"why do they call it a flea market?\",\n  \"why is ios smoother than android?\",\n  \"why is psy so popular?\",\n  \"why are ozil\\\"s eyes?\",\n  \"why are there so many bhutanese refugees?\",\n  \"why are italians so cocky?\",\n  \"why are kurds considered a stateless nation?\",\n  \"why are rpgs boring?\",\n  \"why are there so many deer in nj?\",\n  \"why is air a poor conductor of heat?\",\n  \"why do ex gf want to be friends?\",\n  \"why do sri lankans eat with their hands?\",\n  \"why do shirts shrink?\",\n  \"why are takis so addicting?\",\n  \"why is ebay shipping so high?\",\n  \"why do ndc numbers change?\",\n  \"why are there cyber criminals?\",\n  \"why are pancakes called flapjacks?\",\n  \"why do pga golfers wear pants?\",\n  \"why are there big roaches in my house?\",\n  \"why is sbs on demand not working?\",\n  \"why are rc helicopters hard to fly?\",\n  \"why are there teddy bears in mw3?\",\n  \"why is smart water smart?\",\n  \"why is ignorance bliss?\",\n  \"why are sf giants wearing 42?\",\n  \"why do companies become ltd?\",\n  \"why are pounds lbs?\",\n  \"why are north and south korea at war?\",\n  \"why do birds sing lp?\",\n  \"why is there jelly in my orange?\",\n  \"why are auctioneers called colonel?\",\n  \"why is lte better than 3g?\",\n  \"why is dpc used?\",\n  \"why is there juvenile delinquency?\",\n  \"why is mla important?\",\n  \"why is there olympic mascots?\",\n  \"why do accents exist?\",\n  \"why do koreans smoke so much?\",\n  \"why is there no road between panama and columbia?\",\n  \"why are there closers in baseball?\",\n  \"why are xmas trees so expensive?\",\n  \"why do omegas brand themselves?\",\n  \"why are colleges so expensive?\",\n  \"why are cuticles bad?\",\n  \"why aren there dwarves in elder scrolls?\",\n  \"why are xml files used?\",\n  \"why do people hate rotc?\",\n  \"why is there ireland and northern ireland?\",\n  \"why are acids and bases considered electrolytes?\",\n  \"why is pttrx dropping?\",\n  \"why is bce used instead of bc?\",\n  \"why is it called a flea market?\",\n  \"why do akitas shed?\",\n  \"why is mcdonalds coffee so good?\",\n  \"why do companies issue stock?\",\n  \"why is dust 514 free?\",\n  \"why are avocados bad for dogs?\",\n  \"why do people hate kyle busch?\",\n  \"why is lgbt now lgbt?\",\n  \"why do vultures eat dead animals?\",\n  \"why do students cheat?\",\n  \"why is iima called wimwi?\",\n  \"why is weed so expensive?\",\n  \"why do we say uhh?\",\n  \"why are q tips bad for your ears?\",\n  \"why do gcse history?\",\n  \"why are there evil and suffering in this world?\",\n  \"why are there guards at the tomb of the unknowns?\",\n  \"why is there no more csi miami?\",\n  \"why is there a napoleon dynamite cartoon?\",\n  \"why do zucchini plants rot?\",\n  \"why are ngos important?\",\n  \"why do windows fog?\",\n  \"why do opposites attract yahoo?\",\n  \"why is there cyber crime?\",\n  \"why is rtf file so big?\",\n  \"why are mkv files smaller?\",\n  \"why are ovarian cysts so painful?\",\n  \"why is there nystagmus?\",\n  \"why do people hate xd?\",\n  \"why are kumquats good for you?\",\n  \"why is rhode island named that?\",\n  \"why is there lint in my belly button?\",\n  \"why do axolotls gulp air?\",\n  \"why are there just 28 days in feb?\",\n  \"why are nyquil pills so big?\",\n  \"why are there bugs in my rice?\",\n  \"why is ovechkin so good?\",\n  \"why is there wood on train tracks?\",\n  \"why is there quickscoping in mw3?\",\n  \"why is there bleeding during uti?\",\n  \"why do republicans love guns?\",\n  \"why are there no images of muhammad?\",\n  \"why are video games addictive?\",\n  \"why are pga players wearing duck pins?\",\n  \"why are kids picky eaters?\",\n  \"why is kublai khan important?\",\n  \"why is email called spam?\",\n  \"why do gcses expire?\",\n  \"why is there nipple hair?\",\n  \"why are there no greybeards in high hrothgar?\",\n  \"why is gdp flawed?\",\n  \"why are monks bald?\",\n  \"why do bites itch?\",\n  \"why are omaha steaks so expensive?\",\n  \"why is there violence in the world?\",\n  \"why are there bhutanese refugees?\",\n  \"why are there no motorcycles in gta 3?\",\n  \"why do cf patients take enzymes?\",\n  \"why do nfl teams trade down in the draft?\",\n  \"why are there no mls teams in the southeast?\",\n  \"why are mules sterile?\",\n  \"why are lunges good?\",\n  \"why do wine glasses have stems?\",\n  \"why do rv catch on fire?\",\n  \"why do ivs hurt?\",\n  \"why is singapore so rich?\",\n  \"why are there slugs on my deck?\",\n  \"why is eoq robust?\",\n  \"why do dj headphones swivel?\",\n  \"why is there ee on my iphone?\",\n  \"why are tomatoes red?\",\n  \"why are nvidia drivers so big?\",\n  \"why are there australia floods?\",\n  \"why is there no ncl5?\",\n  \"why are fto so cheap?\",\n  \"why are there gangs yahoo answers?\",\n  \"why do cbt in london?\",\n  \"why are skyline gtr illegal?\",\n  \"why is there rosemary on anzac day?\",\n  \"why is baby poop seedy?\",\n  \"why do friends fight?\",\n  \"why are oasis important?\",\n  \"why are there four eucharistic prayers?\",\n  \"why are xeon processors better for servers?\",\n  \"why do epipens work?\",\n  \"why do ravers wear beads?\",\n  \"why are there red eyes?\",\n  \"why is there blood in my snot?\",\n  \"why do engineers confuse halloween and christmas?\",\n  \"why are there ads in my gmail?\",\n  \"why are ddntps used in sequencing?\",\n  \"why are there swears?\",\n  \"why do tires need to be balanced?\",\n  \"why do dock leaves grow near nettles?\",\n  \"why is sriracha called rooster sauce?\",\n  \"why are there no sports games for pc?\",\n  \"why is there steam in nyc?\",\n  \"why do bunnies dig?\",\n  \"why is tsunami spelled with a t?\",\n  \"why is pgp used?\",\n  \"why are unlocked phones so expensive?\",\n  \"why are probiotics good for you?\",\n  \"why are clowns so scary?\",\n  \"why are fireworks illegal?\",\n  \"why are there so many stonewalls in ct?\",\n  \"why is rflp useful?\",\n  \"why are kansas city the royals?\",\n  \"why are there nine supreme court justices?\",\n  \"why are there ghettoes in america?\",\n  \"why is bgp better than ospf?\",\n  \"why is vw so unreliable?\",\n  \"why are paparazzi legal?\",\n  \"why do nba refs wear numbers?\",\n  \"why are economists concerned about inflation answer?\",\n  \"why is ignorance not bliss?\",\n  \"why are bikes so expensive?\",\n  \"why are gtrs automatic?\",\n  \"why do lymph nodes get swollen?\",\n  \"why are there beauty pageants?\",\n  \"why is bh3 nonpolar?\",\n  \"why are school uniforms a bad idea?\",\n  \"why is ayers rock red?\",\n  \"why do npv and irr?\",\n  \"why is cgi important?\",\n  \"why are ohioans so rude?\",\n  \"why is ehow not credible?\",\n  \"why do xenon lights need washers?\",\n  \"why is ohio called the heart of it all?\",\n  \"why is there wto?\",\n  \"why is animal testing good?\",\n  \"why is there over consumption?\",\n  \"why are there different versions of mpeg?\",\n  \"why is san francisco city hall blue?\",\n  \"why are xbox one games expensive?\",\n  \"why are there giraffes in the last of us?\",\n  \"why is there an epidemic of breast cancer?\",\n  \"why do xml namespaces start with http?\",\n  \"why is lbt?\",\n  \"why is sb5 bad texas?\",\n  \"why do gas prices change?\",\n  \"why is there an epidemic of vitamin d deficiency?\",\n  \"why are patients npo for pancreatitis?\",\n  \"why is there a zit on my tongue?\",\n  \"why is mulan a disney princess?\",\n  \"why are there mutations in dna?\",\n  \"why are there weights on power lines?\",\n  \"why is amy freeze leaving wfld?\",\n  \"why are albino eyes red?\",\n  \"why is there cotton in pill bottles joke?\",\n  \"why do mkv files have subtitles?\",\n  \"why are you single?\",\n  \"why are drop side cribs banned?\",\n  \"why do x\\\"s stand for kisses?\",\n  \"why is there 3 iexplore.exe?\",\n  \"why is hrt dangerous?\",\n  \"why are ak mags curved?\",\n  \"why is there cotton in vitamin bottles?\",\n  \"why are zunes better than ipods?\",\n  \"why is there stigma attached to mental illness?\",\n  \"why do pdf files not open?\",\n  \"why do tybalt and mercutio fight?\",\n  \"why is dfs dropping?\",\n  \"why is ivf better than iui?\",\n  \"why do lcd tvs burn?\",\n  \"why is dna a polymer?\",\n  \"why is sweat sticky?\",\n  \"why do people hate dlc?\",\n  \"why are there wasps in my garden?\",\n  \"why are aly and aj called 78violet?\",\n  \"why are additives used in food?\",\n  \"why are there three different versions of html?\",\n  \"why are turkish people rioting?\",\n  \"why are there obelisks?\",\n  \"why do volcanoes form?\",\n  \"why do ethnicities clash?\",\n  \"why is equestrian a sport?\",\n  \"why are hre wheels so expensive?\",\n  \"why are there no cribs at ikea?\",\n  \"why do orbs show up in pictures?\",\n  \"why are you interested in nursing?\",\n  \"why are wraps healthier than bread?\",\n  \"why there is joker in playing cards?\",\n  \"why do nfl players go broke?\",\n  \"why are there glaciers in glacier national park?\",\n  \"why do vaccines hurt?\",\n  \"why are there no green stars?\",\n  \"why are companies pushing hsa?\",\n  \"why is egypt so important?\",\n  \"why is luigi green?\",\n  \"why are gfci upside down?\",\n  \"why are there gears on bikes?\",\n  \"why do ebay charge invoice?\",\n  \"why is kbr ionic?\",\n  \"why are there pop up ads?\",\n  \"why do we need water?\",\n  \"why are oyster crackers?\",\n  \"why is my dog throwing up?\",\n  \"why are gases described as fluid?\",\n  \"why is dystopian fiction so popular?\",\n  \"why is there illiteracy?\",\n  \"why is cnn spelling morsi with a y?\",\n  \"why is benjamin franklin famous?\",\n  \"why are there different citation styles?\",\n  \"why is nunu so op?\",\n  \"why do utilities pay dividends?\",\n  \"why are there psas?\",\n  \"why are there jokers in playing cards?\",\n  \"why is there urbanization?\",\n  \"why do other women hate me?\",\n  \"why are uranus and neptune so blue?\",\n  \"why is ff7 so expensive?\",\n  \"why is mars red?\",\n  \"why is vf shockable?\",\n  \"why do ulcers make you tired?\",\n  \"why do zombies eat?\",\n  \"why do cups sweat?\",\n  \"why do pirates have parrots?\",\n  \"why are identical twins different?\",\n  \"why are beets good for you?\",\n  \"why are there no african american swimmers?\",\n  \"why do i have svchost.exe processes running?\",\n  \"why are there qts standards?\",\n  \"why are cpus important?\",\n  \"why is aol offline?\",\n  \"why do cpu sockets change?\",\n  \"why is rmr important?\",\n  \"why are korean guys so girly?\",\n  \"why are water droplets spherical?\",\n  \"why is rwanda genocide important?\",\n  \"why is ozzy osbourne famous?\",\n  \"why is wpa better?\",\n  \"why do bb creams cause breakouts?\",\n  \"why do vultures eat dead meat?\",\n  \"why do we use t tests?\",\n  \"why is bgs so cheap runescape?\",\n  \"why is owen wilson\\\"s nose messed up?\",\n  \"why is there an oort cloud?\",\n  \"why is glass transparent?\",\n  \"why is ifunny 17+?\",\n  \"why is zod from superman?\",\n  \"why is ttfn a banned book?\",\n  \"why is there estrogen in birth control?\",\n  \"why are there no oil refineries in alberta?\",\n  \"why is ubuntu better?\",\n  \"why is there traffic on the 60 west?\",\n  \"why is ft pink?\",\n  \"why is ovarian cancer hard to detect?\",\n  \"why do we boil kmno4?\",\n  \"why are they called ub40?\",\n  \"why are oceans important?\",\n  \"why is there an umbra and penumbra?\",\n  \"why are vietnamese people so mean?\",\n  \"why are there five gymnasts instead of seven?\",\n  \"why do i get hs_err_pid?\",\n  \"why is cj corona being impeached?\",\n  \"why do officers carry pistols?\",\n  \"why is there gas in my crankcase?\",\n  \"why is ffilms.org not working?\",\n  \"why hello there lyrics?\",\n  \"why are there lines on my computer screen?\",\n  \"why are eggplants purple?\",\n  \"why do immigrants want to come to america?\",\n  \"why is it there is night or day?\",\n  \"why are yale students called eli?\",\n  \"why do people put xmas?\",\n  \"why are there layers in the rainforest?\",\n  \"why is gbp going up?\",\n  \"why is ecclesiastes in the bible?\",\n  \"why do swear words exist?\",\n  \"why is there laws?\",\n  \"why do cbc blood tests?\",\n  \"why do nurses eat their young?\",\n  \"why are ktm\\\"s so expensive?\",\n  \"why are mmos so boring?\",\n  \"why is louie ck agent a kid?\",\n  \"why are there divisions in nba?\",\n  \"why are there only 3 downs in the cfl?\",\n  \"why are there qualifications for president?\",\n  \"why do unions exist?\",\n  \"why is wwe fake?\",\n  \"why are there pimples on my chest?\",\n  \"why do dogs eat their poop?\",\n  \"why do people like fps so much?\",\n  \"why is there school?\",\n  \"why is eq important?\",\n  \"why is there an odor in my nose?\",\n  \"why is sfo closed?\",\n  \"why is glue sticky?\",\n  \"why do imacs get so hot?\",\n  \"why are ky flags at half staff?\",\n  \"why do icebergs float?\",\n  \"why is facebook so popular?\",\n  \"why is there no rdi for carbohydrates?\",\n  \"why do people say uh?\",\n  \"why do cd players stop working?\",\n  \"why is jp arencibia not playing?\",\n  \"why do foxes dive into snow?\",\n  \"why is there abuse of children?\",\n  \"why is punctuation important?\",\n  \"why are there two ways to calculate gdp?\",\n  \"why is there electoral college?\",\n  \"why is zangetsu always in shikai?\",\n  \"why do airplanes bank when they turn?\",\n  \"why do jobs drug test?\",\n  \"why is ndtv imagine closing down?\",\n  \"why is lol so popular?\",\n  \"why is outbreak rated r?\",\n  \"why are there small bumps on my face?\",\n  \"why is xeon better for servers?\",\n  \"why is ezekiel bread better?\",\n  \"why is there cursing in wendell and vinnie?\",\n  \"why is wordpress so slow?\",\n  \"why do oxygen tanks explode?\",\n  \"why is gta 5 not on ps4?\",\n  \"why do lifeguards bob their heads?\",\n  \"why is there quotes?\",\n  \"why are there no fleas in utah?\",\n  \"why do us marshals get involved?\",\n  \"why do fx trading?\",\n  \"why is mxe legal?\",\n  \"why rdbms are not scalable?\",\n  \"why is water considered a polar molecule?\",\n  \"why is tchaikovsky important?\",\n  \"why is aquarius an air sign?\",\n  \"why is there no download button on tpb?\",\n  \"why do smart people do drugs?\",\n  \"why are odds 100/30 not 10/3?\",\n  \"why are there sloths all over the internet?\",\n  \"why is there a square on the iphone home button?\",\n  \"why do azaleas not bloom?\",\n  \"why are diesel engines more efficient?\",\n  \"why is there no espn miami?\",\n  \"why are mtv videos unavailable?\",\n  \"why are there moths in my house?\",\n  \"why are elite socks so expensive?\",\n  \"why is mxit popular?\",\n  \"why do equality impact assessments?\",\n  \"why are xlr cables better?\",\n  \"why is tpn hard on the liver?\",\n  \"why are gypsies so bad?\",\n  \"why is aol blocking my emails?\",\n  \"why is there an e in whiskey?\",\n  \"why is heat rated r?\",\n  \"why are omega 3 good for you?\",\n  \"why do llamas protect sheep?\",\n  \"why is there writing on kangas?\",\n  \"why are there quotes in my csv file?\",\n  \"why do girls like bad boys?\",\n  \"why do cfcs not hydrolysed in water?\",\n  \"why do stars burn?\",\n  \"why is pg down today?\",\n  \"why do ryanair prices change?\",\n  \"why do oklahomans hate texas?\",\n  \"why are wushu swords so floppy?\",\n  \"why are aboriginals attracted to nrl?\",\n  \"why is rtts so hard?\",\n  \"why do offspring resemble their parents?\",\n  \"why is swelling bad?\",\n  \"why is dmx in jail?\",\n  \"why are hdmi cables different prices?\",\n  \"why are erythrocytes red?\",\n  \"why is omgpop shutting down?\",\n  \"why are unicorns healthier than dragons?\",\n  \"why do twitch streams lag?\",\n  \"why are dams built?\",\n  \"why are noble gases unreactive?\",\n  \"why is nrega referred to as right to work?\",\n  \"why are my dms disappearing?\",\n  \"why is there holes in swiss cheese?\",\n  \"why is there yellow stuff in my underwear?\",\n  \"why is research important?\",\n  \"why is fps important in gaming?\",\n  \"why are there numbers on pills?\",\n  \"why are there no episodes this week?\",\n  \"why do avocados hurt my stomach?\",\n  \"why do djs wear earplugs?\",\n  \"why do gfci fail?\",\n  \"why are there scary sounds in minecraft?\",\n  \"why do far away things look small?\",\n  \"why are high clouds always thin?\",\n  \"why are there eras?\",\n  \"why is there balls on power lines?\",\n  \"why do iphones get slower?\",\n  \"why do gypsies call people gorgers?\",\n  \"why is ryder leaving glee?\",\n  \"why are walnuts healthy?\",\n  \"why are there two iditarod routes?\",\n  \"why do we go for jquery?\",\n  \"why is blood red?\",\n  \"why are there empty nets in hockey?\",\n  \"why are there ads on fb?\",\n  \"why is liam scared of spoons?\",\n  \"why is ppv so expensive?\",\n  \"why do dna mutations occur?\",\n  \"why do blisters ooze?\",\n  \"why is gunpowder important?\",\n  \"why are cities liberal?\",\n  \"why is there economic water scarcity?\",\n  \"why are there idiots on the internet?\",\n  \"why do road bikers wear spandex?\",\n  \"why title ix is still critical?\",\n  \"why are crocs so expensive?\",\n  \"why do airplanes crash?\",\n  \"why is rpm going up and down?\",\n  \"why do epidurals cause hypotension?\",\n  \"why is there gift giving on christmas?\",\n  \"why is lean hard to implement in practice?\",\n  \"why is omega 3 good for you?\",\n  \"why should i do my hw?\",\n  \"why is there no cure for hsv 1?\",\n  \"why are there so many noobs in bf3?\",\n  \"why is neil peart\\\"s nose red?\",\n  \"why is dpms bad?\",\n  \"why do rhinestones darken?\",\n  \"why is epinephrine used in dentistry?\",\n  \"why are navy nwu\\\"s blue?\",\n  \"why do immigrants come to the united states today?\",\n  \"why are tna sweaters so expensive?\",\n  \"why is ccleaner taking so long?\",\n  \"why are xenon bulbs better?\",\n  \"why is tlo switching to zerg?\",\n  \"why are cbs shows reruns?\",\n  \"why are patients npo?\",\n  \"why is ppt so large?\",\n  \"why is there illuminati in gravity falls?\",\n  \"why is illuminati on the dollar bill?\",\n  \"why do osha standards exist?\",\n  \"why are oxford professors called dons?\",\n  \"why is india so poor?\",\n  \"why is there deforestation in the amazon?\",\n  \"why is overtime taxed more?\",\n  \"why are there jarls in windhelm?\",\n  \"why do i feel so weak?\",\n  \"why are there always delays at sfo?\",\n  \"why do pc games crash?\",\n  \"why are ideas important?\",\n  \"why do eukaryotic cells have organelles?\",\n  \"why is bsn better than adn?\",\n  \"why are rich people so greedy?\",\n  \"why is the osu qb so old?\",\n  \"why is there air on earth?\",\n  \"why do sda not eat pork?\",\n  \"why are forests important?\",\n  \"why are zillow estimates so high?\",\n  \"why do dogs lick people?\",\n  \"why is uub so strong?\",\n  \"why are there snakes on the caduceus?\",\n  \"why is einstein important to history?\",\n  \"why is obama bad?\",\n  \"why is lgbt colors the rainbow?\",\n  \"why is there a baby in aaliyah\\\"s song?\",\n  \"why do condoms break?\",\n  \"why do hps overheat?\",\n  \"why do islamic people smell?\",\n  \"why are uakari endangered?\",\n  \"why is there unemployment in a recession?\",\n  \"why do eggs float?\",\n  \"why do hrt bother?\",\n  \"why do laptops overheat?\",\n  \"why are unions important today?\",\n  \"why do mha?\",\n  \"why is there an outbreak of pertussis?\",\n  \"why are ucc members involved?\",\n  \"why are underwriters so picky?\",\n  \"why is there evil in the world bible?\",\n  \"why are roaches bad?\",\n  \"why is alcohol considered a drug?\",\n  \"why is multiculturalism important?\",\n  \"why is udp useful?\",\n  \"why do we need ftp?\",\n  \"why are there active volcanoes in hawaii?\",\n  \"why are expenses debits?\",\n  \"why are breasts sore?\",\n  \"why are sunglasses so expensive?\",\n  \"why is lexus lx so expensive?\",\n  \"why do teens get pregnant?\",\n  \"why are apps free?\",\n  \"why is attack on titan so popular?\",\n  \"why is there fog in minecraft?\",\n  \"why do tca have anticholinergic effects?\",\n  \"why do turtles live so long?\",\n  \"why are vw so expensive?\",\n  \"why is izzy hilton famous?\",\n  \"why are vmware snapshots bad?\",\n  \"why are owls so trendy?\",\n  \"why is nsa watching us?\",\n  \"why are there less women in science?\",\n  \"why is llandudno and llandudno?\",\n  \"why is there bronies?\",\n  \"why is there bed bug epidemic?\",\n  \"why are iphone chargers so expensive?\",\n  \"why are there quiet eruptions?\",\n  \"why is fm important?\",\n  \"why do pdfs look different?\",\n  \"why are nj people rude?\",\n  \"why are dmv lines so long?\",\n  \"why are tsunamis formed?\",\n  \"why do people rt?\",\n  \"why are there valves in the heart?\",\n  \"why is filipino spelled with an f?\",\n  \"why are strikeouts called k\\\"s?\",\n  \"why do cnidarians live underwater?\",\n  \"why do legs ache?\",\n  \"why do we measure vswr?\",\n  \"why do people say uh huh?\",\n  \"why do africans speak french?\",\n  \"why is turbo rated pg?\",\n  \"why is genetic variation good in a species?\",\n  \"why is aatrox so op?\",\n  \"why do some people not dream?\",\n  \"why is avogadro\\\"s law important?\",\n  \"why are notes to the financial statements important?\",\n  \"why is there a new lauren in eastenders?\",\n  \"why is budgeting important?\",\n  \"why is sleeping on your stomach bad?\",\n  \"why is rsbot not working?\",\n  \"why are there adverts on bbc website?\",\n  \"why do khajiit speak in third person?\",\n  \"why are there japanese people in brazil?\",\n  \"why are there bubbles in my pool?\",\n  \"why is eoc so bad?\",\n  \"why are the ayatollahs successful in iran?\",\n  \"why is human diversity important?\",\n  \"why is bgl measured?\",\n  \"why are there sandy hook conspiracies?\",\n  \"why are alternators rated in kva and not in kw?\",\n  \"why is jim thorpe famous?\",\n  \"why do ezekial cheever?\",\n  \"why are furbies banned?\",\n  \"why are we in afghanistan zweig?\",\n  \"why is bytevalue not abstract?\",\n  \"why is td jakes a false teacher?\",\n  \"why are there protests in oakland?\",\n  \"why is odysseus disguised as beggar?\",\n  \"why do bc years count backwards?\",\n  \"why do rotors warp?\",\n  \"why do babies fight sleep?\",\n  \"why do vulcans think humans smell?\",\n  \"why are pyramids built?\",\n  \"why is there winter and summer?\",\n  \"why do people use ky jelly?\",\n  \"why are zn2+ colorless?\",\n  \"why do low carb diets work?\",\n  \"why is avocado so good for you?\",\n  \"why do lsu fans hate les miles?\",\n  \"why are cbs shows not online?\",\n  \"why is there traffic on 580?\",\n  \"why is dc better than ac?\",\n  \"why is 405 fwy closing?\",\n  \"why is the xdm made in croatia?\",\n  \"why is there fruit flies in my bathroom?\",\n  \"why is urine sterile?\",\n  \"why is qe2 inflationary?\",\n  \"why is cyanide toxic?\",\n  \"why are fbi badges so small?\",\n  \"why are zn2+ compounds colorless?\",\n  \"why are there kings and queens?\",\n  \"why are pyramid schemes bad?\",\n  \"why do dying people see dead relatives?\",\n  \"why are there more tsunamis in the pacific?\",\n  \"why are there old cars in cuba?\",\n  \"why are mike and ike crossed out?\",\n  \"why are autism rates rising?\",\n  \"why do people hate sgu?\",\n  \"why are kylie and kendall jenner famous?\",\n  \"why are xd cards expensive?\",\n  \"why is there no bbc sport app?\",\n  \"why do girls love beyonce lyrics?\",\n  \"why do mma fighters use vaseline?\",\n  \"why is jre required?\",\n  \"why are overdraft fees so high?\",\n  \"why do abusers abuse?\",\n  \"why is there water by my furnace?\",\n  \"why is there youth crime?\",\n  \"why are there grooves in the road?\",\n  \"why are bats dying?\",\n  \"why are obese people more susceptible to diabetes?\",\n  \"why is efficiency never 100?\",\n  \"why are ozone holes at the poles?\",\n  \"why are there spiders?\",\n  \"why are there four leaf clovers?\",\n  \"why do espresso shots expire?\",\n  \"why there are mountains lp?\",\n  \"why is there plastic around wires?\",\n  \"why are owls wise?\",\n  \"why do mba in usa?\",\n  \"why is uiwebview slow?\",\n  \"why is mrs. drover in london weegy?\",\n  \"why are there no mcdonalds in mongolia?\",\n  \"why do edmunds and kbb differ?\",\n  \"why do planes leave smoke trails?\",\n  \"why is there no hdmi input?\",\n  \"why are there jokes about demba ba?\",\n  \"why is yitzhak rabin important?\",\n  \"why is there no itunes in south africa?\",\n  \"why is bart so expensive?\",\n  \"why is there mucus in the esophagus?\",\n  \"why are there homeless youth?\",\n  \"why is avocado bad for dogs?\",\n  \"why do americans like football?\",\n  \"why are effects greyed out on audacity?\",\n  \"why do italians say dear joe?\",\n  \"why is gbp so weak?\",\n  \"why is fiber good for you?\",\n  \"why are brock\\\"s eyes closed?\",\n  \"why do i have svchost.exe?\",\n  \"why is variation essential for evolution?\",\n  \"why do saltines help morning sickness?\",\n  \"why are party leaders important in congress?\",\n  \"why is parker rated r?\",\n  \"why are pv cells expensive?\",\n  \"why is there plastic in the ocean?\",\n  \"why are htc executives leaving?\",\n  \"why are there spiders in my bathroom?\",\n  \"why are uconn called the huskies?\",\n  \"why is rna important?\",\n  \"why are enzymes essential to life?\",\n  \"why are sd flags at half mast?\",\n  \"why do mma fighters smoke weed?\",\n  \"why are alkenes considered unsaturated?\",\n  \"why are ultra tickets so expensive?\",\n  \"why are executives paid so much?\",\n  \"why is gatorade bad for kids?\",\n  \"why is there pressure under water?\",\n  \"why is dpph stable?\",\n  \"why is there mucus when i poop?\",\n  \"why are there two carolinas?\",\n  \"why is hangover 3 rated r?\",\n  \"why is death valley so hot?\",\n  \"why is there more autism?\",\n  \"why do airlines charge change fees?\",\n  \"why are my abs and tcs lights on?\",\n  \"why are there lumps on the back of my tongue?\",\n  \"why is there blood in my eye?\",\n  \"why are there yellow patches on my lawn?\",\n  \"why do fronts tend to create precipitation?\",\n  \"why are nrl players wearing pink?\",\n  \"why do pms cramps?\",\n  \"why is larry mccarren leaving wfrv?\",\n  \"why do roosters crow?\",\n  \"why are there mimes?\",\n  \"why is there human verification?\",\n  \"why are people leaving t mobile?\",\n  \"why are korean dramas so popular?\",\n  \"why are underwear called pairs?\",\n  \"why are tsa agents so rude?\",\n  \"why is there trouble in libya?\",\n  \"why is there edema in hypothyroidism?\",\n  \"why is nexus 4 so cheap?\",\n  \"why khajiits are awesome?\",\n  \"why is espn switching to facebook?\",\n  \"why is hf an acid?\",\n  \"why is there no gambling in africa?\",\n  \"why do legs swell?\",\n  \"why are german cars better?\",\n  \"why is there a hole in cds?\",\n  \"why is there abdominal pain in dengue?\",\n  \"why are bhutanese so happy?\",\n  \"why do umrah?\",\n  \"why is it called good friday?\",\n  \"why are there jack-o-lanterns on halloween?\",\n  \"why do ppl say bless you?\",\n  \"why are there swear words?\",\n  \"why are there wildfires in california?\",\n  \"why do eyelashes fall out?\",\n  \"why is cnn losing viewers?\",\n  \"why are teenage girls so mean?\",\n  \"why is odysseus brave?\",\n  \"why are uavs good?\",\n  \"why is tanning bad for you?\",\n  \"why do people bs?\",\n  \"why is friendship important?\",\n  \"why do eskimos not hunt penguins?\",\n  \"why is sr20det illegal?\",\n  \"why is ssd better?\",\n  \"why are gdp estimates revised?\",\n  \"why is bht added to food?\",\n  \"why is there estrogen in soy milk?\",\n  \"why are there one eyed jacks?\",\n  \"why are two primers needed in pcr?\",\n  \"why is khloe kardashian famous?\",\n  \"why is nick carraway made the narrator?\",\n  \"why are there fish in lakes?\",\n  \"why do we cry?\",\n  \"why are cpt modifiers important?\",\n  \"why do cbap?\",\n  \"why is there an error connecting to ultimate team?\",\n  \"why are there three types of volcanoes?\",\n  \"why do hsg test?\",\n  \"why are there no ww1 video games?\",\n  \"why are nj flags at half mast today?\",\n  \"why do hv transformers hum?\",\n  \"why are there clumps in my period?\",\n  \"why are emo people so annoying?\",\n  \"why are pyramids shaped like triangles?\",\n  \"why is xcalizorz gamertag thee3nd?\",\n  \"why is there only eight planets?\",\n  \"why is there scary music in minecraft?\",\n  \"why are there two kansas cities?\",\n  \"why are cars fwd?\",\n  \"why is there bonfires on 11th july?\",\n  \"why is mlb 2k13 so bad?\",\n  \"why are there no bmw in tdu2?\",\n  \"why do eyes water?\",\n  \"why is gst regressive?\",\n  \"why are there fillers in naruto?\",\n  \"why is weed sticky?\",\n  \"why is there a tmp file?\",\n  \"why is kobe number 24?\",\n  \"why is kb 1024 bytes?\",\n  \"why is there snow in april?\",\n  \"why is twitter not working?\",\n  \"why are earwigs so bad this year?\",\n  \"why do apps close on ipad?\",\n  \"why are there stripes on a tiger?\",\n  \"why is my ktm overheating?\",\n  \"why is syracuse orange?\",\n  \"why is where\\\"s waldo banned?\",\n  \"why is syphilis called the clap?\",\n  \"why is homosexuality a sin?\",\n  \"why is olive oil called virgin?\",\n  \"why are mp3 albums so expensive?\",\n  \"why are unions important?\",\n  \"why are there ice crystals in my freezer?\",\n  \"why do mps address the speaker?\",\n  \"why is there silk on corn?\",\n  \"why are estuaries so productive?\",\n  \"why do i feel lonely?\",\n  \"why do some mkv?\",\n  \"why do kyosuke and kuroneko break up?\",\n  \"why is there an e on my iphone 3gs?\",\n  \"why is texas chainsaw rated r?\",\n  \"why do hmong people come?\",\n  \"why is eeyore named eeyore?\",\n  \"why is ck elevated in hypothyroidism?\",\n  \"why are trees important?\",\n  \"why are there longer days in summer?\",\n  \"why are there more pcs than macs?\",\n  \"why are ndes different?\",\n  \"why are there age limits on alcohol?\",\n  \"why do babies cry when they are born?\",\n  \"why is ddr3 so expensive?\",\n  \"why do nails get yellow?\",\n  \"why do acrylic nails turn yellow?\",\n  \"why is lv bag famous?\",\n  \"why are there seasons yahoo?\",\n  \"why is zno amphoteric?\",\n  \"why is there a warrant for cuba gooding jr?\",\n  \"why is bww called bdubs?\",\n  \"why is there two garters in a set?\",\n  \"why are aquarius so distant?\",\n  \"why is there cyclic electron flow?\",\n  \"why are there age restrictions on films?\",\n  \"why do csr?\",\n  \"why is jtf2 so secretive?\",\n  \"why do ohio state players say the?\",\n  \"why are there spiders in my bed?\",\n  \"why are volvos so cheap?\",\n  \"why are there pyromaniacs?\",\n  \"why is buffalo wild wings bw3?\",\n  \"why is there a size zero?\",\n  \"why do hot air balloons rise?\",\n  \"why are there fans in tunnels?\",\n  \"why is bmw steering heavy?\",\n  \"why is it called bw3?\",\n  \"why is there dots on my screen?\",\n  \"why is mla used?\",\n  \"why is fluent news shutting down?\",\n  \"why are there 4 eucharistic prayers?\",\n  \"why are there so many ebook formats?\",\n  \"why are there so few girls on omegle?\",\n  \"why is kobe called mamba?\",\n  \"why are gas prices rising?\",\n  \"why do rabbits stomp?\",\n  \"why is there tides?\",\n  \"why is wmplayer.exe always running?\",\n  \"why are rv refrigerators so expensive?\",\n  \"why do sikhs wear turbans?\",\n  \"why are nuts good for you?\",\n  \"why do earthquakes happen where they do?\",\n  \"why are vga cables so expensive?\",\n  \"why is dhs buying ammo?\",\n  \"why do apps crash on my ipod?\",\n  \"why is snake in brawl?\",\n  \"why are there resealable tampon wrappers?\",\n  \"why do leaves appear green?\",\n  \"why is gypsy racist?\",\n  \"why are there no capcom games at mlg?\",\n  \"why are there oligopolies?\",\n  \"why is there average atomic mass?\",\n  \"why is tennis played on clay?\",\n  \"why are jordans so hard to get?\",\n  \"why do eeg?\",\n  \"why don\\\"t i sweat?\",\n  \"why is there extreme weather?\",\n  \"why do cats knead?\",\n  \"why is nj so hated?\",\n  \"why are rfid chips in passports?\",\n  \"why are odd numbers more appealing?\",\n  \"why do epidurals fail?\",\n  \"why is jr smith called jr?\",\n  \"why are ddos attacks illegal?\",\n  \"why is kurtosis important?\",\n  \"why are ssds 2.5?\",\n  \"why is usa so rich?\",\n  \"why do systems analysts use dfds?\",\n  \"why is aaron hernandez a suspect?\",\n  \"why do small birds follow hawks?\",\n  \"why is oveta culp hobby important?\",\n  \"why are rcti necessary?\",\n  \"why is sbarro so expensive?\",\n  \"why are there synapses?\",\n  \"why are skittles called skittles?\",\n  \"why are there enzymes in tears and mucus?\",\n  \"why is nsc 68 important?\",\n  \"why do dead bodies float?\",\n  \"why is there afcon 2013?\",\n  \"why is yahoo not working?\",\n  \"why is there no tylenol on the shelves?\",\n  \"why is unemployment so high?\",\n  \"why there is no nwo?\",\n  \"why is hno3 used to dissolve metals?\",\n  \"why are iphone screens so fragile?\",\n  \"why are there no girls in nhl?\",\n  \"why is there italians in wales?\",\n  \"why are there two methods for calculating gdp?\",\n  \"why are there 2 classes of mhc?\",\n  \"why do authors use foreshadowing?\",\n  \"why are there zits on my neck?\",\n  \"why do mutations occur?\",\n  \"why is apple stock down?\",\n  \"why is dbm measured in negative numbers?\",\n  \"why are x rays dangerous?\",\n  \"why is there apa and mla?\",\n  \"why are there lumps on my testicles?\",\n  \"why are rhetorical devices used?\",\n  \"why do zazen?\",\n  \"why are lsu fans corndogs?\",\n  \"why do we use qtp?\",\n  \"why is there an o in sfo?\",\n  \"why are there so many fillers in naruto?\",\n  \"why are aerosol cans cold?\",\n  \"why are klondike bars smaller?\",\n  \"why do guys get nrb?\",\n  \"why is age of wushu rated m?\",\n  \"why are there fireworks in portland tonight?\",\n  \"why are there dots on a guitar neck?\",\n  \"why are manhole covers round?\",\n  \"why are earth and venus alike?\",\n  \"why do zits have pus?\",\n  \"why do gnat bites swell?\",\n  \"why are empty calories bad?\",\n  \"why is there orange hair in my beard?\",\n  \"why do ivs blow?\",\n  \"why is there not a gb football team?\",\n  \"why is rc willey closed on sunday?\",\n  \"why is there only a dh in the american league?\",\n  \"why do dbz fans hate naruto?\",\n  \"why do tvs make popping noises?\",\n  \"why do we use rf value?\",\n  \"why are there six teams in the nl central?\",\n  \"why is there fbi and cia?\",\n  \"why do economists concerned themselves with externalities?\",\n  \"why do zira and kovu live in the outlands?\",\n  \"why are there fences in wyoming?\",\n  \"why are dhl and ozsale perfect partners?\",\n  \"why is gneiss a metamorphic rock?\",\n  \"why are gpus upside down?\",\n  \"why is there a rooster on the ugandan flag?\",\n  \"why do mice poop so much?\",\n  \"why do pdf files open in word?\",\n  \"why are ct scans better than x-rays?\",\n  \"why is kbb and edmunds so different?\",\n  \"why are there itchy bumps on my head?\",\n  \"why are proteins ubiquitinated?\",\n  \"why is dst used?\",\n  \"why do most zippers have ykk?\",\n  \"why are guys dbags?\",\n  \"why is rpi better than cpi?\",\n  \"why is nginx on facebook?\",\n  \"why do onions hurt your eyes?\",\n  \"why are there tube strikes?\",\n  \"why do guys get boners?\",\n  \"why is sbs not working in brisbane?\",\n  \"why is mkv better than avi?\",\n  \"why do minors tend to gather in groups?\",\n  \"why is pwo down?\",\n  \"why do tyres burst?\",\n  \"why is uif collected?\",\n  \"why is equal rights important?\",\n  \"why do xenomorphs drool?\",\n  \"why is xss bad?\",\n  \"why do yuccas go yellow?\",\n  \"why are html tables evil?\",\n  \"why is mla format so important?\",\n  \"why is there filler in anime?\",\n  \"why is there iron in soil?\",\n  \"why is dry ice dangerous?\",\n  \"why is apple better than android?\",\n  \"why do khr characters have numbers?\",\n  \"why do gnats swarm my dog?\",\n  \"why do ptarmigans have feathered feet?\",\n  \"why do llcs formed in delaware?\",\n  \"why do lutherans believe in infant baptism?\",\n  \"why is rna unstable?\",\n  \"why is rice good for you?\",\n  \"why is cpu usage so high windows 7?\",\n  \"why is dsl so slow?\",\n  \"why do toddlers bite?\",\n  \"why are there iraqi refugees?\",\n  \"why are there so many zubats?\",\n  \"why do rna viruses recombine?\",\n  \"why are dynamics important in music?\",\n  \"why is mcgrady in sona?\",\n  \"why is there blood in my mucus?\",\n  \"why is there a cbd?\",\n  \"why are gtr so expensive?\",\n  \"why is azurill normal?\",\n  \"why are there troops in uganda?\",\n  \"why are there pimples on my nipples?\",\n  \"why are there riots in istanbul?\",\n  \"why are there education tax credits?\",\n  \"why are there terrorists in the world?\",\n  \"why are northerners called yankees?\",\n  \"why do aardvarks have big ears?\",\n  \"why are glaciers melting?\",\n  \"why are there moths everywhere?\",\n  \"why are there wrinkles on my fingers?\",\n  \"why is it called bww3?\",\n  \"why are there pennies?\",\n  \"why is oxidation bad?\",\n  \"why is food so good?\",\n  \"why are pdfs not opening on my mac?\",\n  \"why do pca?\",\n  \"why do gto drivers want to race?\",\n  \"why is ajinomoto harmful?\",\n  \"why is xplay getting cancelled?\",\n  \"why are there four plates on chopped?\",\n  \"why is bpm so important to organizations?\",\n  \"why do political parties exist?\",\n  \"why do africans have aids?\",\n  \"why do ppl hate me?\",\n  \"why are there wicker baskets on the flag sticks at merion?\",\n  \"why do you rsvp?\",\n  \"why do puppies get worms?\",\n  \"why are there term limits for the president?\",\n  \"why are there chickens in key west?\",\n  \"why is there english in korean songs?\",\n  \"why is rfid an improvement over barcodes?\",\n  \"why are there more obese girls than boys?\",\n  \"why are there video ads on my facebook?\",\n  \"why is kim kardashian in pain?\",\n  \"why is hno3 stronger than hno2?\",\n  \"why are there multiple svchost.exe?\",\n  \"why are there irrational numbers?\",\n  \"why is dpi important?\",\n  \"why is water wet gza?\",\n  \"why do eagles lock talons?\",\n  \"why is there an nba strike?\",\n  \"why are kyle and camille fighting?\",\n  \"why do gnats swarm in the same place?\",\n  \"why is there a cid in every ff?\",\n  \"why is there terrorism in the middle east?\",\n  \"why are rickenbacker guitars so expensive?\",\n  \"why are bb guns orange?\",\n  \"why is phone in safe mode?\",\n  \"why is there horse flies in my house?\",\n  \"why are there racists?\",\n  \"why are rocks red?\",\n  \"why are phone numbers 7 digits?\",\n  \"why is yukon men not on?\",\n  \"why is andy cohen sober?\",\n  \"why is there high pressure at the poles?\",\n  \"why do yeast infections get worse at night?\",\n  \"why is iphone 5 better?\",\n  \"why are japanese cars so reliable?\",\n  \"why is ffxiii so hard?\",\n  \"why are mscs therapeutic?\",\n  \"why do orthodox women wear wigs?\",\n  \"why are there zombies in minecraft?\",\n  \"why is iambic pentameter used?\",\n  \"why do joints crack?\",\n  \"why is kate upton famous?\",\n  \"why are there more illnesses in the winter?\",\n  \"why do squats hurt my back?\",\n  \"why is there love it or list it too?\",\n  \"why do adults molest children?\",\n  \"why do llamas have long eyelashes?\",\n  \"why are ghetto people so mean?\",\n  \"why do nurses get pinned?\",\n  \"why do cvs?\",\n  \"why do iguanas bite?\",\n  \"why do education important?\",\n  \"why are there three discs for rage?\",\n  \"why are there sacraments?\",\n  \"why do i have lpr?\",\n  \"why is obama going to africa?\",\n  \"why is there eternal punishment?\",\n  \"why is there a e instead of 3g?\",\n  \"why are lcds better than plasmas?\",\n  \"why is aquaman awesome?\",\n  \"why is tdap given to postpartum women?\",\n  \"why do patients need tpn?\",\n  \"why do ewoks think c3po is a god?\",\n  \"why are cherries so expensive?\",\n  \"why are there three stars on the tn flag?\",\n  \"why do opposites attract?\",\n  \"why are there autoimmune diseases?\",\n  \"why are there js in my email?\",\n  \"why is english important?\",\n  \"why is zumba good?\",\n  \"why do we use fft?\",\n  \"why is there ac and dc?\",\n  \"why is tuberculosis called tuberculosis?\",\n  \"why is atp important?\",\n  \"why is there employee theft?\",\n  \"why is ii used instead of iv?\",\n  \"why do my dms on twitter disappeared?\",\n  \"why are babies cute?\",\n  \"why is ns used for blood transfusions?\",\n  \"why is xsd schema used?\",\n  \"why do vegetarians eat fish?\",\n  \"why do ryanair need passport?\",\n  \"why are peppers hot?\",\n  \"why are dh bikes so expensive?\",\n  \"why are there no fuel efficient trucks?\",\n  \"why do i need rfid protection?\",\n  \"why are there out of state fees for college?\",\n  \"why do tires squeal?\",\n  \"why do gds and bds beef?\",\n  \"why is lpso closing?\",\n  \"why is olive oil good for hair?\",\n  \"why is there gas in my oil on my riding mower?\",\n  \"why is vmax unchanged in competitive inhibition?\",\n  \"why do we measure cvp?\",\n  \"why are vw passats so cheap?\",\n  \"why do planes crash?\",\n  \"why is zfs slow?\",\n  \"why is there pyramid on the dollar bill?\",\n  \"why is jw player slow buffering?\",\n  \"why are there shells on the beach?\",\n  \"why are otakus so weird?\",\n  \"why are there no mmorpgs on consoles?\",\n  \"why are by elections held?\",\n  \"why do vacation package prices fluctuate?\",\n  \"why is there hunger games?\",\n  \"why are evos better than sti?\",\n  \"why is mlp so popular?\",\n  \"why do foreigners hate america?\",\n  \"why is pork bad for dogs?\",\n  \"why do printers use dma?\",\n  \"why is nuclear power good?\",\n  \"why do cbc?\",\n  \"why are pdfs opening in word?\",\n  \"why do my ears ring?\",\n  \"why is there ww1?\",\n  \"why is gnome 3 so bad?\",\n  \"why are there earthquakes in uk?\",\n  \"why is cursing wrong?\",\n  \"why are there gnats everywhere?\",\n  \"why is wc handy famous?\",\n  \"why are there japanese in peru?\",\n  \"why are vw campers so expensive?\",\n  \"why are zionists evil?\",\n  \"why do experiments need a control?\",\n  \"why are there deserts?\",\n  \"why do umpires point strike?\",\n  \"why do people hate dbgt?\",\n  \"why are cut tomatoes tcs?\",\n  \"why do earthquakes happen ks3?\",\n  \"why are trees considered to be producers?\",\n  \"why is ctrl v paste?\",\n  \"why is there hunger in haiti?\",\n  \"why do awards matter?\",\n  \"why do bt never turn up?\",\n  \"why is physics important?\",\n  \"why are plums good for you?\",\n  \"why do imessage sometimes send as texts?\",\n  \"why are eyeballs?\",\n  \"why is there a wtf folder on my desktop?\",\n  \"why is there knee pain?\",\n  \"why is gucci mane in jail?\",\n  \"why do bcg injections scar?\",\n  \"why are the gs in google blue?\",\n  \"why is there caffeine in soda?\",\n  \"why is there mercury in water?\",\n  \"why is there hell?\",\n  \"why is there overpopulation in china?\",\n  \"why is there mercury in fillings?\",\n  \"why do nfl players wear shirts?\",\n  \"why are there no other dwarves in lotr?\",\n  \"why do people get lpr?\",\n  \"why is square dancing taught in school?\",\n  \"why are there 88 counties in ohio?\",\n  \"why do fungi produce spores?\",\n  \"why are there now ads on facebook?\",\n  \"why is hz important?\",\n  \"why do cats purr?\",\n  \"why are animals euthanized?\",\n  \"why is authenticated denial of existence necessary?\",\n  \"why are there no nbc shows this week?\",\n  \"why are there hackers?\",\n  \"why is there flooding in germany?\",\n  \"why do idiots believe in the illuminati?\",\n  \"why is there diarrhea in ulcerative colitis?\",\n  \"why is movie 43 rated r?\",\n  \"why is tt injection given?\",\n  \"why are iphone pictures sideways?\",\n  \"why is xml bad?\",\n  \"why do hydrocarbons not dissolve in water?\",\n  \"why is mezcal smoky?\",\n  \"why do zack and cody live on a boat?\",\n  \"why do mars wear fedoras?\",\n  \"why do cuts ooze clear liquid?\",\n  \"why is cthulhu scary?\",\n  \"why do hpt not work for me?\",\n  \"why are macs expensive?\",\n  \"why do cows have big udders?\",\n  \"why do ryanair land so hard?\",\n  \"why do iphones send blurry videos?\",\n  \"why are reverse tcp connections effective?\",\n  \"why is there european architecture in argentina?\",\n  \"why are there illusions?\",\n  \"why is effy so weird?\",\n  \"why do people support ddt?\",\n  \"why do aquarius?\",\n  \"why are zipp wheels so expensive?\",\n  \"why is there no availability on utorrent?\",\n  \"why do fuses keep blowing?\",\n  \"why is eleanor roosevelt important?\",\n  \"why is iodine a solid?\",\n  \"why are there slugs around my house?\",\n  \"why are there episodes missing on hulu?\",\n  \"why is cbc ordered?\",\n  \"why are there temperature differences on the moon?\",\n  \"why do oysters make you sick?\",\n  \"why is omegle video not working?\",\n  \"why are there no cvs in arkansas?\",\n  \"why do mbti?\",\n  \"why do ff on twitter?\",\n  \"why do pimples pop?\",\n  \"why is toronto in the mlb?\",\n  \"why are aquarius men so difficult?\",\n  \"why aren\\\"t there lysosomes in plant cells?\",\n  \"why do crows chase hawks?\",\n  \"why do only a few sperm survive?\",\n  \"why is there west virginia?\",\n  \"why do airbags burn you?\",\n  \"why is ntu better than nus?\",\n  \"why is ayers rock sacred?\",\n  \"why is lpg cheaper than petrol?\",\n  \"why are overnight oats good for you?\",\n  \"why is aj lee with dolph ziggler?\",\n  \"why are yeast infections worse at night?\",\n  \"why are nike shoes so popular?\",\n  \"why is xcom so hard?\",\n  \"why is acai good for you?\",\n  \"why is awful negative?\",\n  \"why is there traffic on 101 south?\",\n  \"why is there jokes about chuck norris?\",\n  \"why are jwoww and snooki flying to ireland?\",\n  \"why is kent hovind in jail?\",\n  \"why is rna primer necessary?\",\n  \"why is fuel going up?\",\n  \"why are there afghan refugees?\",\n  \"why do dc motors work?\",\n  \"why are there fewer predators than producers?\",\n  \"why are yeast cells classified as fungi?\",\n  \"why is eggplant called eggplant?\",\n  \"why are golf courses 18 holes?\",\n  \"why do wrestlers wear thongs?\",\n  \"why is planet fitness bad?\",\n  \"why are hd videos on youtube choppy?\",\n  \"why is gbp weakening?\",\n  \"why are old women so mean?\",\n  \"why is natural gas better?\",\n  \"why do salts dissolve in water?\",\n  \"why are there water bugs in my pool?\",\n  \"why are bd-r dl so expensive?\",\n  \"why is hvdc better than ac?\",\n  \"why are three lsu players suspended?\",\n  \"why do wu tang say god?\",\n  \"why is there liquid nitrogen in nyc?\",\n  \"why do developing countries join wto?\",\n  \"why is quicksort nlogn?\",\n  \"why do boxers have a hole?\",\n  \"why is there hypertension in nephritic syndrome?\",\n  \"why are nz troops in afghanistan?\",\n  \"why is dark souls so hard?\",\n  \"why are bt shares down?\",\n  \"why is pdf blank?\",\n  \"why is xenoblade so good?\",\n  \"why is cvp important?\",\n  \"why is there low tide?\",\n  \"why are iwc watches so expensive?\",\n  \"why is there job security in nursing?\",\n  \"why are there airplane graveyards?\",\n  \"why are there no kmarts in houston?\",\n  \"why is hxh on hiatus?\",\n  \"why do nipples hurt?\",\n  \"why do nsaids cause cardiac problems?\",\n  \"why are there no cyclones in south america?\",\n  \"why is vpn connection slow?\",\n  \"why is jpopsuki down?\",\n  \"why are there stretch marks on my arms?\",\n  \"why are there no new tv shows this week?\",\n  \"why is tlc run in a closed container?\",\n  \"why do pms symptoms change from month to month?\",\n  \"why is bg going to prison?\",\n  \"why is oobleck a solid and a liquid?\",\n  \"why is the big wedding rated r?\",\n  \"why is over the hedge rated pg?\",\n  \"why is identity important?\",\n  \"why is there a dharma symbol on the shark?\",\n  \"why is nra powerful?\",\n  \"why are klondike bars expensive?\",\n  \"why are there 2 umpires in rounders?\",\n  \"why do other countries hate the us?\",\n  \"why is deadpool rated m?\",\n  \"why are we here ffa?\",\n  \"why are fx processors bad?\",\n  \"why are otic preparations used?\",\n  \"why do aquarius men leave?\",\n  \"why are there holes in ozone layer?\",\n  \"why do photographers use umbrellas?\",\n  \"why are there no eyelids on fish?\",\n  \"why is there a dh only in the al?\",\n  \"why is there high protein in my urine?\",\n  \"why are there protests in libya?\",\n  \"why are dreams so weird?\",\n  \"why is wine good for you?\",\n  \"why are there tunnels under paris?\",\n  \"why is there fuzz on a tennis ball yahoo answers?\",\n  \"why do vga cables screw in?\",\n  \"why is everyone mad at paula deen?\",\n  \"why is paula deen racist?\",\n  \"why is there condensation on the outside of a glass?\",\n  \"why is economic growth important?\",\n  \"why are there delayed penalties in hockey?\",\n  \"why do volkswagen beetles have flowers?\",\n  \"why do aggies say btho?\",\n  \"why do our eyes water when we yawn?\",\n  \"why is there an ozone layer in the stratosphere?\",\n  \"why are italians called guineas?\",\n  \"why is jtv lagging?\",\n  \"why is there clotting in my periods?\",\n  \"why are there three different branches of government?\",\n  \"why is mma legal in new york?\",\n  \"why are hamburgers called ham?\",\n  \"why are there fewer bees?\",\n  \"why is there mitochondria in sperm?\",\n  \"why is jimmy fallon leaving?\",\n  \"why is fx leaving direct tv?\",\n  \"why are we on earth?\",\n  \"why is odysseus punished by poseidon?\",\n  \"why do people say what?\",\n  \"why are radishes hot?\",\n  \"why do americans call it soccer?\",\n  \"why is there gunk in my radiator?\",\n  \"why do oceans have salt water?\",\n  \"why are hr people so evil?\",\n  \"why do islamic extremists kill?\",\n  \"why are evilswarms good?\",\n  \"why is there hunger in america?\",\n  \"why do dying animals hide?\",\n  \"why do wrestlers have cauliflower ears?\",\n  \"why is there ash in formula?\",\n  \"why do avent bottles leak?\",\n  \"why is klonopin a controlled substance?\",\n  \"why are loggerhead sea turtles endangered?\",\n  \"why is tnt overtime not working?\",\n  \"why do people use bwahaha?\",\n  \"why are tna pants so expensive?\",\n  \"why is gta v rated m?\",\n  \"why is ryan lochte famous?\",\n  \"why do nipples have bumps?\",\n  \"why is kt tape different colors?\",\n  \"why is adam elmakias bald?\",\n  \"why are forests important to us?\",\n  \"why do i need vmware tools?\",\n  \"why are nfl jerseys so expensive?\",\n  \"why is there dna in chloroplast?\",\n  \"why do bboys slap the ground?\",\n  \"why do bpd leave?\",\n  \"why do zebra migrate?\",\n  \"why is ascorbic acid and vitamin c?\",\n  \"why are dimes so small?\",\n  \"why are puppies born with worms?\",\n  \"why are carrots orange?\",\n  \"why are there ethnicities?\",\n  \"why do sheep baa?\",\n  \"why do eritreans have good hair?\",\n  \"why are gray wolves endangered?\",\n  \"why is bharatanatyam important?\",\n  \"why are there nightmares?\",\n  \"why is there a dns error on my ps3?\",\n  \"why is kvar negative?\",\n  \"why is wcf used?\",\n  \"why are there afc and nfc?\",\n  \"why is there no ak47 in zombies?\",\n  \"why are kraft singles bad for you?\",\n  \"why do objects have color?\",\n  \"why are ak 47 so cheap?\",\n  \"why are you my clarity lyrics?\",\n  \"why do twins look different?\",\n  \"why is there no avatar 3d blu ray?\",\n  \"why do us companies outsource?\",\n  \"why are mosquito bites itchy?\",\n  \"why is jcp failing?\",\n  \"why is nwoye interested in the missionaries?\",\n  \"why are there gnats in my bathroom sink?\",\n  \"why do liberals hate guns?\",\n  \"why do pyrimidines bond to purines?\",\n  \"why is turkey rioting?\",\n  \"why is bulimia bad?\",\n  \"why are zombie games so popular?\",\n  \"why are there various ehr systems?\",\n  \"why are there viola jokes?\",\n  \"why is there an s after http?\",\n  \"why is jcpenney failing?\",\n  \"why are fps games so popular?\",\n  \"why is there no gmail app?\",\n  \"why do rappers go uh?\",\n  \"why is there war in ivory coast?\",\n  \"why is rpc bad?\",\n  \"why are there leukocytes in urine?\",\n  \"why is overfishing a problem?\",\n  \"why are there concentration camps in america?\",\n  \"why are there grey smurfs?\",\n  \"why are there rebates?\",\n  \"why do hipsters like pabst?\",\n  \"why are idioms hard to understand?\",\n  \"why do tires lose air?\",\n  \"why are there orange balls on power lines?\",\n  \"why do glofish glow?\",\n  \"why is kwashiorkor worse than marasmus?\",\n  \"why is lloyds tsb splitting?\",\n  \"why is svu so popular?\",\n  \"why are zucchinis bitter?\",\n  \"why are tube amps better?\",\n  \"why do they say t minus?\",\n  \"why are there no new ncis episodes?\",\n  \"why are mtv videos not working?\",\n  \"why do ibex spit?\",\n  \"why are there phases?\",\n  \"why is glycine a zwitterion?\",\n  \"why is there no nhl season 2012?\",\n  \"why is oxygen diatomic?\",\n  \"why is silicon valley so expensive?\",\n  \"why do stitches itch?\",\n  \"why do turtles hibernate?\",\n  \"why are there offsides in soccer?\",\n  \"why do i crave salt?\",\n  \"why is pinterest successful?\",\n  \"why is there an estate tax?\",\n  \"why is disney evil?\",\n  \"why do we use xpath in selenium?\",\n  \"why is there job loss?\",\n  \"why is there disease?\",\n  \"why is svchost running so high?\",\n  \"why are there rules in school?\",\n  \"why is hume an empiricist?\",\n  \"why are there words on twisted tea caps?\",\n  \"why are there furlough days?\",\n  \"why are ostrich eggs so expensive?\",\n  \"why are there four stars on the nz flag?\",\n  \"why are illegal immigrants a problem?\",\n  \"why are there holes in pen caps?\",\n  \"why are bullies bullies?\",\n  \"why do dwarf hamsters vibrate?\",\n  \"why do ebooks cost so much?\",\n  \"why is kingdom kvcd down?\",\n  \"why is ice bad for burns?\",\n  \"why are uavs called drones?\",\n  \"why is usher leaving the voice?\",\n  \"why are vulcans emotionless?\",\n  \"why are there english names in the bible?\",\n  \"why are rssi values negative?\",\n  \"why do yellow jackets sting?\",\n  \"why is there empty space in atoms?\",\n  \"why are school buses yellow?\",\n  \"why is mm used for millions?\",\n  \"why is there ocean currents?\",\n  \"why do ps3s freeze?\",\n  \"why do we use ftp?\",\n  \"why is there a filter on tpn?\",\n  \"why are pc gamers such douchebags?\",\n  \"why are there no mcdonalds in airports?\",\n  \"why do i need to fsck?\",\n  \"why are good girls single?\",\n  \"why are professional ethics important?\",\n  \"why are my armpits dark?\",\n  \"why are there traffic jams?\",\n  \"why is ikea furniture so cheap?\",\n  \"why is there such a stunning diversity of life?\",\n  \"why do i need mx records?\",\n  \"why is money important?\",\n  \"why are there palm trees in california?\",\n  \"why are idaho flags at half mast?\",\n  \"why is cbs cancelling rules of engagement?\",\n  \"why do joints ache before rain?\",\n  \"why do the ncr keep attacking me?\",\n  \"why do ms in computer science?\",\n  \"why do ghosts haunt people?\",\n  \"why do mps get expenses?\",\n  \"why is ptr offline?\",\n  \"why do slugs exist?\",\n  \"why are there boys and girls?\",\n  \"why is there holes in my tonsils?\",\n  \"why do long distance relationships fail?\",\n  \"why is zayn on crutches?\",\n  \"why is windows 8 so slow?\",\n  \"why is dying so scary?\",\n  \"why is euthanasia wrong?\",\n  \"why are there no gtx 680s?\",\n  \"why are there crickets in my house?\",\n  \"why do i need ftp software?\",\n  \"why do a cbc after surgery?\",\n  \"why do ice and salt burn?\",\n  \"why are nc taxes so high?\",\n  \"why are bumble bees so big?\",\n  \"why is there poverty in america?\",\n  \"why is tv so cheap?\",\n  \"why is symbolism important?\",\n  \"why are yukon gold potatoes yellow?\",\n  \"why is dlp cheaper than lcd?\",\n  \"why do vs why does?\",\n  \"why do office buildings leave lights on?\",\n  \"why is hydrogen bonding so strong?\",\n  \"why are there cramps during periods?\",\n  \"why do dmt?\",\n  \"why do piercings smell?\",\n  \"why is ngo dinh diem important?\",\n  \"why is up sad?\",\n  \"why are there solar eclipses?\",\n  \"why do oysters create pearls?\",\n  \"why are bt bills so complicated?\",\n  \"why are there cells?\",\n  \"why are yellow peppers more expensive?\",\n  \"why are illuminati symbols everywhere?\",\n  \"why are tn panels bad?\",\n  \"why are glutes important?\",\n  \"why is there a bible in every hotel room?\",\n  \"why are there two divisions in meiosis?\",\n  \"why is overtime taxed higher?\",\n  \"why is space cold?\",\n  \"why are japanese commercials so weird?\",\n  \"why are equilibrium constants dimensionless?\",\n  \"why are oreos so good?\",\n  \"why is uw called udub?\",\n  \"why are there virgins?\",\n  \"why is kim kardashian hiding her baby?\",\n  \"why are there fruit flies?\",\n  \"why is there bad in the world?\",\n  \"why is cm punk so good?\",\n  \"why is bf3 lewis acid?\",\n  \"why are ftp and telnet dangerous?\",\n  \"why are cds bad for the environment?\",\n  \"why is ephedra bad?\",\n  \"why do people cut?\",\n  \"why do ears itch?\",\n  \"why is there wax in ears?\",\n  \"why there is atmosphere on earth?\",\n  \"why do immigrants come to america for jobs?\",\n  \"why are wyoming and colorado square?\",\n  \"why are there no terminals on fsx?\",\n  \"why is twitch chat not loading?\",\n  \"why is there erosion on the moon?\",\n  \"why are graves 6 feet?\",\n  \"why is there hair on my toes?\",\n  \"why is fsh test done?\",\n  \"why are tv commercials so long?\",\n  \"why are aircraft 400 hz?\",\n  \"why are umbilical cords clamped?\",\n  \"why are earthworms described as hermaphrodites?\",\n  \"why are there negative numbers?\",\n  \"why is there de in my pool?\",\n  \"why do mba from fms?\",\n  \"why are gnma funds dropping?\",\n  \"why do they call christina xtina?\",\n  \"why do ducks float?\",\n  \"why is apple buying back shares?\",\n  \"why are there lots of ants in my house?\",\n  \"why do knuckles swell?\",\n  \"why do fwb end?\",\n  \"why do countries measure gdp?\",\n  \"why do notes disappear on iphone?\",\n  \"why are npk fertilizers needed?\",\n  \"why is there bubbles in urine?\",\n  \"why is ttg down?\",\n  \"why are there symbols on the periodic table?\",\n  \"why is there no roulette in oklahoma?\",\n  \"why are there slugs in my kitchen at night?\",\n  \"why is t mobile iphone cheaper?\",\n  \"why do grasshoppers chirp?\",\n  \"why is ice cloudy?\",\n  \"why are there exchange rates?\",\n  \"why are there nets on foul poles?\",\n  \"why do parakeets chirp?\",\n  \"why is there orange walks?\",\n  \"why are there no servers on aa3?\",\n  \"why do celtic fans sing ynwa?\",\n  \"why do efficient markets benefit society?\",\n  \"why is eeyore always sad?\",\n  \"why are oils good for you?\",\n  \"why are there rupees in zelda?\",\n  \"why do polarized sunglasses reduce glare?\",\n  \"why is there calcium in water?\",\n  \"why is there salt in iv?\",\n  \"why is nt scan required?\",\n  \"why do we need ozone to live?\",\n  \"why are gold prices down?\",\n  \"why are there often so many steps?\",\n  \"why is there a new kristina on general hospital?\",\n  \"why is nfl tax exempt?\",\n  \"why is luke bryan so hot?\",\n  \"why is there lag on my xbox 360?\",\n  \"why is kik not working?\",\n  \"why are jumping spiders cute?\",\n  \"why do ukrainians hate russia?\",\n  \"why is avocado good for you?\",\n  \"why is there a lump behind my ear?\",\n  \"why is there water outside?\",\n  \"why do scorpios get so jealous?\",\n  \"why are there gates on i 70?\",\n  \"why do hp laptops crash?\",\n  \"why are chinese people so smart?\",\n  \"why do russian cars have cameras?\",\n  \"why is mrna called a template?\",\n  \"why do americans like capitalism?\",\n  \"why are rick and lori fighting?\",\n  \"why are there sticks in sunflower seeds?\",\n  \"why is there ash in food?\",\n  \"why is there tipping in america?\",\n  \"why there are conflicts between sales and mktg?\",\n  \"why is there swelling after a tummy tuck?\",\n  \"why do mkv files have no sound?\",\n  \"why is writing important for children?\",\n  \"why is meat bad for you?\",\n  \"why are atomic fireballs so hot?\",\n  \"why are sweet potatoes good for you?\",\n  \"why is lsa mix good for you?\",\n  \"why are walnuts so expensive?\",\n  \"why do yeast infections cause painful intercourse?\",\n  \"why do ie tabs change colour?\",\n  \"why is there so much violence in the world?\",\n  \"why are eyes yellow?\",\n  \"why are there holes in cds?\",\n  \"why is sparta better than athens?\",\n  \"why do korean people say hwaiting?\",\n  \"why do obese people get diabetes?\",\n  \"why is there alcohol in cough syrup?\",\n  \"why is there no episode 2 of the borgias?\",\n  \"why is there phosphoric acid in soda?\",\n  \"why are sixlets called sixlets?\",\n  \"why do spiders have eight legs?\",\n  \"why do armpits smell like onions?\",\n  \"why do gf like?\",\n  \"why is there oxygen on earth?\",\n  \"why is there so many ostriches?\",\n  \"why are there multiple httpd processes?\",\n  \"why do you get goosebumps?\",\n  \"why is there more ghost activity at night?\",\n  \"why are smoothies good for you?\",\n  \"why is there female circumcision?\",\n  \"why are there no krispy kreme in scotland?\",\n  \"why are edibles stronger?\",\n  \"why are hdl and ldl monitored?\",\n  \"why are there sticky keys?\",\n  \"why are ieps important?\",\n  \"why are there video game ratings?\",\n  \"why are there knots in my hair?\",\n  \"why is agriculture important to australia?\",\n  \"why is there royal family?\",\n  \"why are there data caps?\",\n  \"why are us houses made of wood?\",\n  \"why are there uniforms?\",\n  \"why are parabens bad for hair?\",\n  \"why is mma good for you?\",\n  \"why are tncs in ledcs?\",\n  \"why do dvd players have wifi?\",\n  \"why is lloyd from breakout kings in jail?\",\n  \"why is there income tax?\",\n  \"why is udi bread frozen?\",\n  \"why is pluto no longer a planet?\",\n  \"why are so many svchost.exe running?\",\n  \"why are there fireworks in denver tonight?\",\n  \"why is idaho the gem state?\",\n  \"why are essays so hard?\",\n  \"why is dna replication called semiconservative?\",\n  \"why are ice baths good for you?\",\n  \"why do glow bugs glow?\",\n  \"why are ocean levels rising?\",\n  \"why do root canals hurt?\",\n  \"why is cj back on eggheads 2013?\",\n  \"why do business in wyoming?\",\n  \"why are rmp called monkeys?\",\n  \"why is economics considered a science?\",\n  \"why is cyclops a douche?\",\n  \"why are there other planets?\",\n  \"why do ducks shake their tails?\",\n  \"why are there third parties?\",\n  \"why are there red spots on my tongue?\",\n  \"why do humans wear clothes?\",\n  \"why is nme successful?\",\n  \"why is there upwelling at equator?\",\n  \"why is fish used in ivf?\",\n  \"why are there ridges in my toenails?\",\n  \"why is outlook 2010 so slow?\",\n  \"why is hummus good for you?\",\n  \"why do eyebrows stop growing?\",\n  \"why are genes important?\",\n  \"why are there demons?\",\n  \"why are people afraid of love?\",\n  \"why is pizza bad for you?\",\n  \"why do tattoos peel?\",\n  \"why do babies drool?\",\n  \"why are hcl and hno3 strong acids?\",\n  \"why is byzantium rated r?\",\n  \"why do we need dlp?\",\n  \"why are offsets considered protectionist measures?\",\n  \"why is syria important to russia?\",\n  \"why are tvs rectangular?\",\n  \"why do newborns smile?\",\n  \"why are japanese people so nice?\",\n  \"why is uw better than wsu?\",\n  \"why are there skid marks in my underwear?\",\n  \"why do people hashtag fb?\",\n  \"why are there click beetles in my house?\",\n  \"why do people hate gt?\",\n  \"why are ducatis so expensive?\",\n  \"why is bpa bad for babies?\",\n  \"why do we use cmos?\",\n  \"why is gold falling?\",\n  \"why are ecosystems important?\",\n  \"why do dealerships exist?\",\n  \"why do pms symptoms vary?\",\n  \"why is junk food bad?\",\n  \"why are restrooms labeled wc?\",\n  \"why is lbc not on freeview?\",\n  \"why do avery and nia fight?\",\n  \"why do spiders bite at night?\",\n  \"why are hospitals cold?\",\n  \"why is there narration on abc?\",\n  \"why are owls considered wise?\",\n  \"why is dylan o\\\"brien so hot?\",\n  \"why is dota 2 so popular?\",\n  \"why do skunks dig up lawns?\",\n  \"why is hsv1 an std?\",\n  \"why do magnets attract?\",\n  \"why are okazaki fragments needed?\",\n  \"why is there an x on my wireless?\",\n  \"why is jim a nickname for james?\",\n  \"why are there only two sexes?\",\n  \"why are there wooden fences in wyoming?\",\n  \"why do varicose veins hurt?\",\n  \"why is there an epidemic of obesity?\",\n  \"why are there side effects from the flu shot?\",\n  \"why is autism called a spectrum disorder?\",\n  \"why are there undefined terms in geometry?\",\n  \"why are mcflurry spoons weird?\",\n  \"why are there townships?\",\n  \"why are government bureaucracies necessary?\",\n  \"why are there scribbles on mike and ike boxes?\",\n  \"why is ewr closed?\",\n  \"why is bpa bad for you?\",\n  \"why are there bumps on my legs?\",\n  \"why do arabs hate israel?\",\n  \"why are there wrinkles on my forehead?\",\n  \"why do bsod occur?\",\n  \"why are there racist people?\",\n  \"why do npv and irr disagree?\",\n  \"why do ears pop in an airplane?\",\n  \"why are vw polos so expensive?\",\n  \"why do swimmers shave?\",\n  \"why are ferrets illegal?\",\n  \"why is amber rose bald?\",\n  \"why are xenon lights so expensive?\",\n  \"why is there egg in cake?\",\n  \"why do you need json?\",\n  \"why is ohio so boring?\",\n  \"why are there genocides?\",\n  \"why is there homosexuality?\",\n  \"why is axis radius closing?\",\n  \"why is orudis kt discontinued?\",\n  \"why do yaoi fangirls hate women?\",\n  \"why do warts form?\",\n  \"why do sunspots occur?\",\n  \"why do mps vote in divisions?\",\n  \"why do old people get cold?\",\n  \"why is osu so hard?\",\n  \"why are hot dogs bad for you?\",\n  \"why is there an e on my phone?\",\n  \"why do a ddos attack?\",\n  \"why is mrna important?\",\n  \"why is exercise important?\",\n  \"why do ya build me up buttercup baby lyrics?\",\n  \"why is the nwo satanic?\",\n  \"why are there more women than men?\",\n  \"why is old glass wavy?\",\n  \"why do we have seasons.wmv?\",\n  \"why are mkv files so small?\",\n  \"why is latin a dead language?\",\n  \"why is nj called the armpit of america?\",\n  \"why do integration by parts?\",\n  \"why is there iowa caucus?\",\n  \"why are there just 4 charged mesons?\",\n  \"why is zucchini turning yellow?\",\n  \"why do laptops still have vga?\",\n  \"why is low blood pressure bad?\",\n  \"why do volcanoes occur at plate boundaries?\",\n  \"why is dlco decreased in emphysema?\",\n  \"why are video games good?\",\n  \"why do sunburns itch?\",\n  \"why is wwii called the good war?\",\n  \"why is nps important?\",\n  \"why do you choose td?\",\n  \"why do i by joe purdy?\",\n  \"why are there any koalas in tasmania?\",\n  \"why are there more crows?\",\n  \"why do pms symptoms change?\",\n  \"why do gnats keep biting me?\",\n  \"why does dory have memory loss?\",\n  \"why do ice cubes crack?\",\n  \"why do mncs locate in ledcs?\",\n  \"why are there armadillos in tennessee?\",\n  \"why is there no itv hd on sky?\",\n  \"why is urine yellow or clear?\",\n  \"why is there an r in mrs?\",\n  \"why is nhl not popular?\",\n  \"why are there zombies in deadly premonition?\",\n  \"why is there vegetable broth in tuna?\",\n  \"why do tears taste salty?\",\n  \"why are there new people on storage wars?\",\n  \"why is homework good?\",\n  \"why are ethics important in science?\",\n  \"why is there water on earth?\",\n  \"why is lpg so expensive?\",\n  \"why do old men hit on me?\",\n  \"why are humans so weak?\",\n  \"why is olaf bad?\",\n  \"why are there no ww1 movies?\",\n  \"why are magnets dangerous if swallowed?\",\n  \"why do amish men have beards?\",\n  \"why is there dry skin on my nipples?\",\n  \"why is aol blocking my domain?\",\n  \"why are we here ffa members?\",\n  \"why is iron important for your body?\",\n  \"why are koalas endangered?\",\n  \"why are there blank pages in my pdf?\",\n  \"why do you join eharmony?\",\n  \"why are cgc comics so expensive?\",\n  \"why do goats faint?\",\n  \"why is eps important to investors?\",\n  \"why are there olive branches on the un flag?\",\n  \"why are jim and della round characters?\",\n  \"why is nitrogen important in soil?\",\n  \"why is there light in the fridge and not in the freezer?\",\n  \"why do scars itch?\",\n  \"why do computers slow down?\",\n  \"why are there cedar trees in cemeteries?\",\n  \"why are aries so mean?\",\n  \"why is oatmeal good for your face?\",\n  \"why are lg tvs better than samsung?\",\n  \"why are zoos good?\",\n  \"why is oovoo so blurry?\",\n  \"why are there embassies in other countries?\",\n  \"why is there evil if god is good?\",\n  \"why is gpu better than cpu?\",\n  \"why are bf3 molecules nonpolar?\",\n  \"why do loopers have to kill themselves?\",\n  \"why do we use tms in nmr?\",\n  \"why are there qwerty keyboards?\",\n  \"why do economists measure unemployment?\",\n  \"why is wpa2 better than wpa?\",\n  \"why is talc bad?\",\n  \"why is there enamel space?\",\n  \"why are rainforests important?\",\n  \"why is england called britain?\",\n  \"why are healthcare costs so high?\",\n  \"why is there no cure for dmd?\",\n  \"why is 13.56 mhz used?\",\n  \"why is there no effective vaccine for hiv?\",\n  \"why do fps make me sick?\",\n  \"why is agave bad?\",\n  \"why is io volcanically active?\",\n  \"why is dexter ending?\",\n  \"why are nfl players paid so little?\",\n  \"why do ionic compounds form?\",\n  \"why is tor so slow?\",\n  \"why are hfr strains important?\",\n  \"why are dmv pictures so bad?\",\n  \"why are there wrinkles in the brain?\",\n  \"why do birds take dust baths?\",\n  \"why is utorrent so slow mac?\",\n  \"why do kyc?\",\n  \"why is lh increased in cryptorchidism?\",\n  \"why are oxygen oxygen bonds weak?\",\n  \"why do bpd cut themselves?\",\n  \"why is there very little tundra in the southern hemisphere?\",\n  \"why is icloud full?\",\n  \"why is there is a need for the coating of tablets?\",\n  \"why do avery and dustin break up?\",\n  \"why is lv so expensive?\",\n  \"why are there age restrictions on concerts?\",\n  \"why is there no cure for premature ejaculation?\",\n  \"why is there no dst in arizona?\",\n  \"why do nhl goalies wear 30?\",\n  \"why is there a doppler effect when the source?\",\n  \"why is there bone pain in leukemia?\",\n  \"why do .wmv files not play?\",\n  \"why are bpd so controlling?\",\n  \"why are there skin colors?\",\n  \"why is there hair growing on my shaft?\",\n  \"why do writers use irony?\",\n  \"why is equilibrium considered a dynamic process?\",\n  \"why do you choose hsbc?\",\n  \"why are gases important?\",\n  \"why is jwoww in a lawsuit?\",\n  \"why do people hate ubuntu unity?\",\n  \"why are pga players wearing pink?\",\n  \"why is there an epidemic of myopia?\",\n  \"why are htc phones bad?\",\n  \"why are people in abu dhabi rich?\",\n  \"why are 7 svchost.exe running?\",\n  \"why are there upper and lower limits to the masses of stars?\",\n  \"why is ehr certification important?\",\n  \"why are bottle rockets illegal in california?\",\n  \"why do tvs have static?\",\n  \"why do djs wear headphones?\",\n  \"why are xylem and phloem called vascular tissues?\",\n  \"why are imaginary numbers important?\",\n  \"why is eharmony so successful?\",\n  \"why do azerbaijan hate armenians?\",\n  \"why do daddy long legs clump?\",\n  \"why are ucas points important?\",\n  \"why are there orange bikes in edmonton?\",\n  \"why do adults abuse children?\",\n  \"why is rwanda in the commonwealth?\",\n  \"why are there fossils?\",\n  \"why is there water in the toilet?\",\n  \"why do elephants have tusks?\",\n  \"why are there warm spots in lakes?\",\n  \"why is there genetic variation?\",\n  \"why do koalas sleep so much?\",\n  \"why are there tags on pillows?\",\n  \"why do tides rise and fall?\",\n  \"why is gmo harmful?\",\n  \"why do dina and caroline not speak?\",\n  \"why are there earthquakes on the ring of fire?\",\n  \"why is jtv not working?\",\n  \"why is there racism in ukraine?\",\n  \"why are dna strands complementary?\",\n  \"why is raw milk illegal?\",\n  \"why is there an iowa straw poll?\",\n  \"why do i need wpa2?\",\n  \"why is there sediment in my well water?\",\n  \"why do junior doctors carry handbags?\",\n  \"why is iexplore.exe running multiple times?\",\n  \"why do mcdonald\\\"s burgers taste different?\",\n  \"why is nasa important?\",\n  \"why is us dollar so weak?\",\n  \"why do two negatives equal a positive?\",\n  \"why do octopuses eat themselves?\",\n  \"why do japanese sit on the floor?\",\n  \"why do fish like worms?\",\n  \"why are there bumps on my nipples?\",\n  \"why is iframe bad?\",\n  \"why are rolex watches so expensive?\",\n  \"why do cuts itch when they heal?\",\n  \"why are mission statements important?\",\n  \"why do spider veins occur?\",\n  \"why is utopia important?\",\n  \"why do they call him little finger?\",\n  \"why are there douchebags?\",\n  \"why do women cheat vs men?\",\n  \"why is there so many svchost.exe?\",\n  \"why is there no gravity in space?\",\n  \"why do objects float ks1?\",\n  \"why are gas prices going up?\",\n  \"why are there aliens in sims freeplay?\",\n  \"why are there 2 narrators in wuthering heights?\",\n  \"why do they put hfcs in everything?\",\n  \"why are alkali metals so reactive?\",\n  \"why are rm files so small?\",\n  \"why are there many koreans in the philippines?\",\n  \"why are fruits and vegetables important?\",\n  \"why do aquarius men need space?\",\n  \"why are ottomans so expensive?\",\n  \"why is oyster card cheaper?\",\n  \"why is there a need for csr?\",\n  \"why is ubuntu 13.04 so slow?\",\n  \"why are mdb files blocked?\",\n  \"why are there rulers on coolers?\",\n  \"why are cd rates so low?\",\n  \"why do tsh levels fluctuate?\",\n  \"why are quokkas endangered?\",\n  \"why are bananas good for you?\",\n  \"why is wyoming the least populated state?\",\n  \"why are tcp ip protocols important?\",\n  \"why do people hate wynton marsalis?\",\n  \"why do trees sap?\",\n  \"why is earth\\\"s sky blue?\",\n  \"why are there volcanoes in hawaii?\",\n  \"why are there delays at lga?\",\n  \"why is racism bad?\",\n  \"why are there purple boxes in trees?\",\n  \"why are there stem changing verbs in spanish?\",\n  \"why are there air bubbles in ice?\",\n  \"why are japanese people so cute?\",\n  \"why is alcohol legal?\",\n  \"why is there nfl lockout 2011?\",\n  \"why is there a vacuum in an x ray tube?\",\n  \"why are tyler perry movies popular?\",\n  \"why is bb cream so good?\",\n  \"why are there symbols in novels?\",\n  \"why do fish have scales?\",\n  \"why are warheads so sour?\",\n  \"why is there no snow in ny?\",\n  \"why are there two country music awards?\",\n  \"why is mr popo blue?\",\n  \"why is there oxygen in the atmosphere?\",\n  \"why is there no kids in gta iv?\",\n  \"why are there symbols on twitter?\",\n  \"why are upwelling regions so productive?\",\n  \"why do we have cv?\",\n  \"why is yid offensive?\",\n  \"why are there so many refurbished gps?\",\n  \"why do you get skin tags?\",\n  \"why are there extraneous solutions to radical equations?\",\n  \"why are there limited editions?\",\n  \"why is sbi remit suspended?\",\n  \"why is ie crashing?\",\n  \"why is there a pyramid on the 1 dollar bill?\",\n  \"why are there earthquakes in ohio?\",\n  \"why is there no kissing in bollywood?\",\n  \"why are we at war?\",\n  \"why do koreans eat dogs?\",\n  \"why are actors liberal?\",\n  \"why do parakeets puff up?\",\n  \"why are there air bubbles in ice cubes?\",\n  \"why is tcs light on?\",\n  \"why do goldfish change colors?\",\n  \"why is wca calling?\",\n  \"why do ac capacitors fail?\",\n  \"why is mkv file so small?\",\n  \"why is ejaculation tiring?\",\n  \"why is pvp.net down?\",\n  \"why are there multiple doctors?\",\n  \"why is bow wow broke?\",\n  \"why is hydraulic fracturing bad?\",\n  \"why is there vegetable oil in baby formula?\",\n  \"why are there an odd number of justices?\",\n  \"why are there unions?\",\n  \"why do bagels have holes?\",\n  \"why do djs use laptops?\",\n  \"why are photographers so expensive?\",\n  \"why is dht produced?\",\n  \"why are eyes red in pictures?\",\n  \"why are kurds persecuted?\",\n  \"why are the flags at half mast today?\",\n  \"why are there wrinkles under my eyes?\",\n  \"why are cigarettes so good?\",\n  \"why are dvds so expensive in japan?\",\n  \"why are er doctors so rude?\",\n  \"why is there no rfc for skype?\",\n  \"why do days get longer?\",\n  \"why do gnats like mirrors?\",\n  \"why is npr liberal?\",\n  \"why are there homeless veterans?\",\n  \"why do we need dht?\",\n  \"why are there ducks on the cadillac emblem?\",\n  \"why are ddr2 expensive?\",\n  \"why are there uprisings in libya?\",\n  \"why are there commercials on cable tv?\",\n  \"why is atp necessary for active transport?\",\n  \"why is estate planning important?\",\n  \"why are vms so slow?\",\n  \"why is hwy 101 closed?\",\n  \"why do cfl light bulbs flicker?\",\n  \"why do kurds hate turks?\",\n  \"why are sharks endangered?\",\n  \"why is there iron in birth control pills?\",\n  \"why is bph worse at night?\",\n  \"why is there youtube advertisement?\",\n  \"why is there itching during pregnancy?\",\n  \"why do ppc?\",\n  \"why is there less oxygen now?\",\n  \"why do they call it bw3?\",\n  \"why are there lunar eclipses?\",\n  \"why is intervention cancelled?\",\n  \"why do farts sound different?\",\n  \"why do ryanair charge for web check in?\",\n  \"why do you like ucsd?\",\n  \"why are ctenophores known as comb jelly?\",\n  \"why is himalayan salt pink?\",\n  \"why is xp still popular?\",\n  \"why do we need svd?\",\n  \"why are ice cubes bad for dogs?\",\n  \"why are there mirrors on the ceiling?\",\n  \"why are plants called autotrophs?\",\n  \"why is there ash wednesday?\",\n  \"why are hydrogen bonds the strongest of the intermolecular forces?\",\n  \"why do we celebrate dhanteras?\",\n  \"why is gypsum added to soil?\",\n  \"why do we need dhea?\",\n  \"why are vmax and km important?\",\n  \"why are zazzle stamps so expensive?\",\n  \"why are cnn ratings low?\",\n  \"why are oceans so important?\",\n  \"why do dorm chairs rock?\",\n  \"why are there djinn in clash of the titans?\",\n  \"why is there voodoo in new orleans?\",\n  \"why is eine kleine nachtmusik famous?\",\n  \"why are there only 5 platonic solids?\",\n  \"why do vegans look sick?\",\n  \"why do people say wut?\",\n  \"why is derrick rose out?\",\n  \"why are there lines in the sky?\",\n  \"why is there clear discharge with my period?\",\n  \"why do dogs eat poop?\",\n  \"why do women like older men?\",\n  \"why is poetry important?\",\n  \"why do seals slap the water?\",\n  \"why is vpn on my iphone?\",\n  \"why is fruitvale station rated r?\",\n  \"why do ax men wear suspenders?\",\n  \"why are there african masks?\",\n  \"why do fps freeks work?\",\n  \"why do cd players skip?\",\n  \"why are there no rivers in the yucatan?\",\n  \"why is there awkwardness?\",\n  \"why is wmv choppy?\",\n  \"why is msft going up?\",\n  \"why is business interesting?\",\n  \"why are owls bad luck?\",\n  \"why is there smoke coming from my oven?\",\n  \"why are there diseases?\",\n  \"why is there no rcmp in ontario?\",\n  \"why do dvds have sleeves?\",\n  \"why is type 2 diabetes on the rise?\",\n  \"why is gta 5 not on pc?\",\n  \"why is aquarium water green?\",\n  \"why is scott thorson in jail?\",\n  \"why do avocados make me sick?\",\n  \"why is there an antenna on the lg voyager?\",\n  \"why do dwarves live underground?\",\n  \"why is bmw called beamer?\",\n  \"why is lpso closing down?\",\n  \"why are pdf files popular?\",\n  \"why are ilmenite and rutile considered to be ores?\",\n  \"why are ostriches so mean?\",\n  \"why is there still religion?\",\n  \"why are police called the fuzz?\",\n  \"why are generators rated in kw?\",\n  \"why are vultures dying in india?\",\n  \"why are additives intentionally added to foods?\",\n  \"why is mdt working important?\",\n  \"why is ipa called india?\",\n  \"why are there windows and portals on european banknotes?\",\n  \"why are mtv shows not in hd?\",\n  \"why is there blood on my q tip?\",\n  \"why are there numbers in arabic words?\",\n  \"why is there so much mucus in my throat?\",\n  \"why do we do fmea?\",\n  \"why is sbs not working?\",\n  \"why do egg yolks turn grey?\",\n  \"why do unions oppose merit pay?\",\n  \"why do pt cruisers overheat?\",\n  \"why are oxidation and reduction key to respiration?\",\n  \"why is pe important?\",\n  \"why do nfl teams trade down?\",\n  \"why do plasmas have high hz?\",\n  \"why are nuts bad for dogs?\",\n  \"why is there suffering ravi zacharias?\",\n  \"why is izzy in a wheelchair in coronation street?\",\n  \"why is ctfxc for haters?\",\n  \"why are ak47 illegal in canada?\",\n  \"why are there ocean tides?\",\n  \"why do cyber bullies bully?\",\n  \"why are there large clots in my period?\",\n  \"why do ex bfs call?\",\n  \"why are there spots on my feet?\",\n  \"why is there unemployment in europe?\",\n  \"why is there rust on mars?\",\n  \"why are the 3 r\\\"s important?\",\n  \"why are wrestlers always wet?\",\n  \"why do guys use xoxo?\",\n  \"why is there an equal time rule?\",\n  \"why are squirrels suicidal?\",\n  \"why do aerosol cans explode if heated?\",\n  \"why is there summer school?\",\n  \"why do gps have female voices?\",\n  \"why is xs energy drink healthy?\",\n  \"why are there icicles hanging from my roof?\",\n  \"why do an nlp course?\",\n  \"why are there nicolas cage memes?\",\n  \"why are cars important?\",\n  \"why are hr policies and procedures important?\",\n  \"why are jockeys so small?\",\n  \"why is andy cohen not drinking?\",\n  \"why are there no suitors available for emily?\",\n  \"why are episcopal doors red?\",\n  \"why is skyrim so laggy?\",\n  \"why do iphones delete the word obama?\",\n  \"why are there fema coffins?\",\n  \"why are there slaters in my house?\",\n  \"why do hdmi cables go bad?\",\n  \"why are ticks good?\",\n  \"why is there swelling after surgery?\",\n  \"why is oprah so famous?\",\n  \"why is wfaa vhf?\",\n  \"why is there sinkholes?\",\n  \"why do kangaroos jump?\",\n  \"why are our feet arched?\",\n  \"why are women npo during labor?\",\n  \"why is there dust everywhere?\",\n  \"why is eharmony successful?\",\n  \"why are xml files text files?\",\n  \"why are there tiles in tunnels?\",\n  \"why are there introns?\",\n  \"why is there war in the middle east?\",\n  \"why is there a lump in my breast?\",\n  \"why are there genetically modified food?\",\n  \"why do japanese bow?\",\n  \"why is there life on earth for kids?\",\n  \"why is ccs closing?\",\n  \"why is there turkey on thanksgiving?\",\n  \"why do guys like boobs so much?\",\n  \"why do i need ftp program?\",\n  \"why is uga the bulldog?\",\n  \"why are there hundreds of different enzymes in a cell?\",\n  \"why is there night?\",\n  \"why do cnidarians have tissues?\",\n  \"why is the purge rated r?\",\n  \"why is radiation harmful?\",\n  \"why are ocean currents important to coastal regions?\",\n  \"why are adults so mean to kids?\",\n  \"why are there no women on omegle?\",\n  \"why do mres make you constipated?\",\n  \"why is nvg green?\",\n  \"why is there no tv reception?\",\n  \"why do cpr?\",\n  \"why do i have 2 vmdk files?\",\n  \"why do rcmp wear red berets?\",\n  \"why are there so many country awards shows?\",\n  \"why do onions flower?\",\n  \"why is mbta in debt?\",\n  \"why do ohms matter in headphones?\",\n  \"why do hdds fail?\",\n  \"why are there more species in the tropics?\",\n  \"why are mx records needed?\",\n  \"why is hecarim banned?\",\n  \"why do acids and bases conduct electricity?\",\n  \"why is outsourcing good?\",\n  \"why is bb cream good?\",\n  \"why is the polish zloty weak?\",\n  \"why are used mercedes so cheap?\",\n  \"why do isotopes have different masses?\",\n  \"why is there ketchup on my sleeve?\",\n  \"why are there earwigs in my house?\",\n  \"why are food prices rising?\",\n  \"why do ducklings follow?\",\n  \"why do you rt on twitter?\",\n  \"why is there oil on my spark plug threads?\",\n  \"why do you think tcp/ip is often?\",\n  \"why do ukraine women marry foreigners?\",\n  \"why do i feel weak?\",\n  \"why do news programs use vnrs?\",\n  \"why are girls mean to other girls?\",\n  \"why is cuddling good for you?\",\n  \"why do gfci breakers trip?\",\n  \"why are financial statements important?\",\n  \"why are there alot of italians in argentina?\",\n  \"why do europeans have big noses?\",\n  \"why do people do fwb?\",\n  \"why is getting a job so hard?\",\n  \"why is there attraction between sodium and chlorine?\",\n  \"why are owls eyes yellow?\",\n  \"why is kyle so awesome?\",\n  \"why are there 1024 kb in a mb?\",\n  \"why is gba4ios not working?\",\n  \"why are sunspots dark?\",\n  \"why is paraben bad?\",\n  \"why is there nfl replacement refs?\",\n  \"why are there ridges on the roof of my mouth?\",\n  \"why are msm at risk for hiv?\",\n  \"why do i only get sbs channels?\",\n  \"why do english say zed?\",\n  \"why do evergreen trees stay green?\",\n  \"why is cm punk announcing and not wrestling?\",\n  \"why do witches have cats?\",\n  \"why mythbusters won\\\"t do rfid?\",\n  \"why do other countries get movies first?\",\n  \"why are dnr papers?\",\n  \"why xdm is better than glock?\",\n  \"why is there oxygen in the desert?\",\n  \"why do people like j crew?\",\n  \"why is there no nfl?\",\n  \"why are observations important in childcare?\",\n  \"why do swordfish have swords?\",\n  \"why do people hate ubuntu?\",\n  \"why is there period pain?\",\n  \"why do i itch?\",\n  \"why do i owe nc state taxes?\",\n  \"why is ndaa unconstitutional?\",\n  \"why is there not a ncaa basketball 12?\",\n  \"why are people posting cm on facebook?\",\n  \"why is bzip2 running?\",\n  \"why there is dyspnea in asthma?\",\n  \"why do lymph nodes get inflamed?\",\n  \"why are there riots in oakland?\",\n  \"why are zebra plecos so expensive?\",\n  \"why are hashtags used in twitter?\",\n  \"why are they called wu tang?\",\n  \"why use do?\",\n  \"why are isotopes unstable?\",\n  \"why are dvd cases so big?\",\n  \"why do nsaids cause heart attacks?\",\n  \"why are goosebumps called goosebumps?\",\n  \"why do lymph nodes enlarge?\",\n  \"why are there snails in my garden?\",\n  \"why do we read pg wodehouse?\",\n  \"why do cnidarians exhibit radial symmetry?\",\n  \"why do aquarius men disappear?\",\n  \"why are ncaa coaches wearing sneakers?\",\n  \"why is there gun control?\",\n  \"why is wyoming windy?\",\n  \"why do zits pop?\",\n  \"why are there two oxygen sensors?\",\n  \"why are there egg yolks in ice cream?\",\n  \"why is xcode free?\",\n  \"why do ivf?\",\n  \"why is there gm island?\",\n  \"why are tom and daisy reconciled?\",\n  \"why are there upside down question marks spanish?\",\n  \"why are furbies so expensive?\",\n  \"why do xbox controllers disconnect?\",\n  \"why do aaa batteries leak?\",\n  \"why do bond prices go down?\",\n  \"why do giants play in nj?\",\n  \"why do newborns cry?\",\n  \"why do you like uchicago?\",\n  \"why do bees have stingers?\",\n  \"why are islanders so big?\",\n  \"why are there albinos?\",\n  \"why are ssds so expensive 2013?\",\n  \"why is there no sound on youtube?\",\n  \"why is there no zero punctuation?\",\n  \"why are there multiple blood types?\",\n  \"why is idaho so windy?\",\n  \"why do newborns sleep so much?\",\n  \"why do swot analysis?\",\n  \"why is there algae in my saltwater pool?\",\n  \"why are owls good luck?\",\n  \"why do heels hurt?\",\n  \"why do africans smell?\",\n  \"why do telnet to udp ports fail?\",\n  \"why is our sky blue?\",\n  \"why is trade important?\",\n  \"why are pms and pregnancy symptoms so similar?\",\n  \"why is agave bad for you?\",\n  \"why is nascar so popular?\",\n  \"why is jquery important?\",\n  \"why are xmas songs called carols?\",\n  \"why do vfd cause harmonics?\",\n  \"why do deer poop pellets?\",\n  \"why do group ii cations form?\",\n  \"why are buffers important to living things?\",\n  \"why are pads so uncomfortable?\",\n  \"why are there ghosts in bioshock?\",\n  \"why are mkv files larger than mp4?\",\n  \"why do kids cut themselves?\",\n  \"why is scott disick rich?\",\n  \"why is there mucus when i pee?\",\n  \"why is there only 18 holes in golf?\",\n  \"why is there evil by dostoevsky?\",\n  \"why is python gzip slow?\",\n  \"why are gdp figures important?\",\n  \"why are sloths so popular now?\",\n  \"why are there so many svchost.exe running?\",\n  \"why are there fewer efferent?\",\n  \"why is there advertising on my facebook?\",\n  \"why is there a red cross on bbm?\",\n  \"why is there an av nodal delay?\",\n  \"why is odysseus a bad leader?\",\n  \"why is pie so good?\",\n  \"why do sgrhos have canes?\",\n  \"why are eizo monitors so expensive?\",\n  \"why is mlk famous?\",\n  \"why do we need xml schema?\",\n  \"why do gcse?\",\n  \"why are there bullies?\",\n  \"why are there valves in the aorta?\",\n  \"why is ie 10 slow?\",\n  \"why is sodium bad for you?\",\n  \"why is there no atmosphere on mars?\",\n  \"why are mri machines so small?\",\n  \"why are djs cool?\",\n  \"why are there more lynx than hares?\",\n  \"why is ee cummings lowercase?\",\n  \"why do rich people steal?\",\n  \"why are there elbow pads on jackets?\",\n  \"why is there dd bra size?\",\n  \"why are australian guys so hot?\",\n  \"why are there green flies in my house?\",\n  \"why do bubbles float?\",\n  \"why are gcses so important?\",\n  \"why is number abbreviated no?\",\n  \"why is fynbos endangered?\",\n  \"why is there powder in airbags?\",\n  \"why do ants like sperm?\",\n  \"why is znso4 acidic?\",\n  \"why are there no shootouts in nhl playoffs?\",\n  \"why is there a horse in front of pf changs?\",\n  \"why is cf4 not soluble in water?\",\n  \"why are cnidarians classified as animals?\",\n  \"why are feces green?\",\n  \"why is bpa used?\",\n  \"why are nfl tickets so expensive?\",\n  \"why do people say xd?\",\n  \"why is xoom so expensive?\",\n  \"why is there educational inequality?\",\n  \"why is there cash value on coupons?\",\n  \"why is central bank independence important?\",\n  \"why are snakes important?\",\n  \"why are there episodes missing on netflix?\",\n  \"why is ps3 so slow?\",\n  \"why is planning important?\",\n  \"why are there minority scholarships?\",\n  \"why is there separation of powers?\",\n  \"why do the x factor finalists mime?\",\n  \"why is there weight gain with ssri?\",\n  \"why are there no realms on ptr?\",\n  \"why are there red x on the skyrim map?\",\n  \"why is there a cvs next to every walgreens?\",\n  \"why do laxatives cause diarrhea?\",\n  \"why do snakes exist?\",\n  \"why are there doors on the freeway?\",\n  \"why are noble gases stable?\",\n  \"why are there flies in my kitchen?\",\n  \"why is jpg a good file format?\",\n  \"why are nickels bigger than dimes?\",\n  \"why are there middle class republicans?\",\n  \"why is phoenix so hot?\",\n  \"why are there lumps in my breast?\",\n  \"why is there ring around the sun?\",\n  \"why is vnc not connecting?\",\n  \"why are djs so popular?\",\n  \"why is there unrest in the middle east?\",\n  \"why is there scorpions in my house?\",\n  \"why are there dead flies in my basement?\",\n  \"why are there burmese refugees?\",\n  \"why do jerks get ahead?\",\n  \"why is tsm doing so bad?\",\n  \"why is eye cream important?\",\n  \"why is fdi important for india?\",\n  \"why are there irreversible steps in glycolysis?\",\n  \"why are there different phases of the moon?\",\n  \"why is sb 1070 good?\",\n  \"why are ibs symptoms worse at night?\",\n  \"why do owls whistle?\",\n  \"why is there upper and lower canada?\",\n  \"why is there sand at the bottom of my pool?\",\n  \"why do we celebrate memorial day?\",\n  \"why do people say ftw?\",\n  \"why do ct before lp?\",\n  \"why are u hauls registered in arizona?\",\n  \"why is there no multiplayer in fsx?\",\n  \"why is pwt so hard?\",\n  \"why are mushrooms good for you?\",\n  \"why is gyarados flying?\",\n  \"why are arteries elastic?\",\n  \"why is there organized crime?\",\n  \"why do eskimos have dark skin?\",\n  \"why is lydia immune?\",\n  \"why are deadlifts so good?\",\n  \"why is jesus called the word?\",\n  \"why are rf values measured?\",\n  \"why is nra against background checks?\",\n  \"why do americans hate communism?\",\n  \"why is hz important in a led tv?\",\n  \"why do people go to rwanda?\",\n  \"why is there an eternal flame at jfk\\\"s grave?\",\n  \"why is there a giant circle around the moon?\",\n  \"why is there sludge in my oil?\",\n  \"why is there egg in wine?\",\n  \"why do nba players go to china?\",\n  \"why do oxygen masks have bags?\",\n  \"why are mpeg files so big?\",\n  \"why do ospreys migrate?\",\n  \"why do eels and sodium explode?\",\n  \"why is yuri gagarin important?\",\n  \"why is there oil in transformers?\",\n  \"why do rhinos have horns?\",\n  \"why is burn notice ending?\",\n  \"why are there growers and showers?\",\n  \"why is there bacteria in yogurt?\",\n  \"why are electric cars expensive?\",\n  \"why is wolverine so popular?\",\n  \"why is an elephant the a\\\"s mascot?\",\n  \"why is xlv 45 in roman numerals?\",\n  \"why are kinder eggs banned?\",\n  \"why do voters turnout to vote?\",\n  \"why do ewoks speak tagalog?\",\n  \"why is there no bbc plus 1?\",\n  \"why is ogogo guaranteed bronze?\",\n  \"why is otto von bismarck important?\",\n  \"why is rms used?\",\n  \"why is msg used?\",\n  \"why is ajay leaving neighbours?\",\n  \"why is osmosis important?\",\n  \"why are yellow cabs orange?\",\n  \"why do khatna?\",\n  \"why are the riders ejected from the bed?\",\n  \"why is kevlar so strong?\",\n  \"why is wmi slow?\",\n  \"why is there a need for xenotransplantation?\",\n  \"why are there pink bows on candy crush?\",\n  \"why is biodiversity important to humans?\",\n  \"why do fireflies glow?\",\n  \"why are there 2 kratos?\",\n  \"why are there 5 kangaroos on the 1 coin?\",\n  \"why are there wasps on my oak tree?\",\n  \"why are ieds so dangerous?\",\n  \"why is due date rated r?\",\n  \"why do cats love q tips?\",\n  \"why are alkyl groups electron donating?\",\n  \"why do pop rocks pop?\",\n  \"why are abs uneven?\",\n  \"why do people use uber?\",\n  \"why is tv so bad?\",\n  \"why is the mx revolution so expensive?\",\n  \"why is jcp apologizing?\",\n  \"why is gfp used as a biological reporter?\",\n  \"why is there fleas in my bed?\",\n  \"why is addiction a disease?\",\n  \"why do eggs smell so bad?\",\n  \"why are there two ny baseball teams?\",\n  \"why are there sanctions on iran?\",\n  \"why is there no itv hd in northern ireland?\",\n  \"why is paula deen being fired?\",\n  \"why are africans so fast?\",\n  \"why are reptiles cold blooded?\",\n  \"why is oat bran good for you?\",\n  \"why is xcode no longer free?\",\n  \"why is renewable energy important?\",\n  \"why is cgl down?\",\n  \"why are crackers called nabs?\",\n  \"why is there an upward force on objects in water?\",\n  \"why is tc radioactive?\",\n  \"why is owning a hedgehog illegal in pennsylvania?\",\n  \"why is there acne on my chest?\",\n  \"why are there six kingdoms instead of five?\",\n  \"why are iambic pentameter used?\",\n  \"why is there no ike in mike and ikes?\",\n  \"why do people hate ikea?\",\n  \"why are there lumps on my head?\",\n  \"why is deflation bad?\",\n  \"why are ds games blurry on 3ds?\",\n  \"why is volume important?\",\n  \"why are there two nfl conferences?\",\n  \"why are tyler and catelynn on couples therapy?\",\n  \"why are uk and us ounces different?\",\n  \"why are there rules in croquet?\",\n  \"why do ryanair block off seats?\",\n  \"why do boys have nipples?\",\n  \"why are msds needed?\",\n  \"why is teen pregnancy a problem?\",\n  \"why do birds fly into windows?\",\n  \"why do lcvp?\",\n  \"why are there two primers in pcr?\",\n  \"why is there ever a 13th floor in hotels?\",\n  \"why are pv panels so expensive?\",\n  \"why are hdmi cables so cheap on ebay?\",\n  \"why do people hate ff13?\",\n  \"why are performance cars rwd?\",\n  \"why are flags at half staff?\",\n  \"why do my kidneys hurt?\",\n  \"why do some babies wear helmets?\",\n  \"why are there home and away uniforms?\",\n  \"why is 440 hz bad?\",\n  \"why is rice thrown at weddings?\",\n  \"why is there traffic in dc?\",\n  \"why are odps registered practitioners?\",\n  \"why is processed food bad?\",\n  \"why is there never any rum?\",\n  \"why do people say uh er um?\",\n  \"why is gpib so expensive?\",\n  \"why is caillou bald?\",\n  \"why do you use ajax?\",\n  \"why is she ignoring my texts?\",\n  \"why are triangles strong?\",\n  \"why is wukong not viable?\",\n  \"why do eritreans look different?\",\n  \"why is fps kyle rich?\",\n  \"why are tv cameras so big?\",\n  \"why do phase changes occur?\",\n  \"why is there am radio?\",\n  \"why is vim hjkl?\",\n  \"why are pharmacists important?\",\n  \"why are nba jerseys so expensive?\",\n  \"why are xml namespaces important?\",\n  \"why are there small flies in my bathroom?\",\n  \"why do buddhists wear orange?\",\n  \"why are there empty seats at the olympics?\",\n  \"why do my feet smell?\",\n  \"why do glow worms glow?\",\n  \"why are there oil spots on my laundry?\",\n  \"why are rtf files scanned for viruses?\",\n  \"why do exchange rates fluctuate?\",\n  \"why is shakespeare still worth reading?\",\n  \"why engineers are awesome?\",\n  \"why is there vertical erosion in the upper course?\",\n  \"why are ny bagels the best?\",\n  \"why is mn gas so expensive?\",\n  \"why do twitch vods lag?\",\n  \"why are there 2 iexplore exe processes?\",\n  \"why do kittens meow?\",\n  \"why are efficiency ratios important?\",\n  \"why is gps off on garmin?\",\n  \"why do we need nlp?\",\n  \"why do people migrate to uae?\",\n  \"why are ostriches flightless?\",\n  \"why do moles grow?\",\n  \"why do food allergies develop?\",\n  \"why is rc cola so cheap?\",\n  \"why is there gold in california?\",\n  \"why is there evil dostoevsky?\",\n  \"why is there a zip on google?\",\n  \"why is tumblr popular?\",\n  \"why is zimmerman suing nbc?\",\n  \"why is there no naruto mmorpg?\",\n  \"why is there turmoil over kashmir?\",\n  \"why is my mxtube not working?\",\n  \"why is mf doom good?\",\n  \"why is cfa so hard?\",\n  \"why do economists fear inflation?\",\n  \"why do we fall tdkr ost?\",\n  \"why are there accents in the world?\",\n  \"why do i need jquery?\",\n  \"why are my ftp speeds slow?\",\n  \"why is there urban growth?\",\n  \"why do eyes take so long?\",\n  \"why are you interested in working for our company?\",\n  \"why is there static in my hair?\",\n  \"why are there two types of klingons?\",\n  \"why is ajax important?\",\n  \"why are mnc in india?\",\n  \"why do qbs wear fanny packs?\",\n  \"why do priests molest?\",\n  \"why is xlr better than rca?\",\n  \"why is nsx so expensive?\",\n  \"why is zack ryder being buried?\",\n  \"why is there an owl on the 1 dollar bill?\",\n  \"why are skies blue?\",\n  \"why do bpd leave and come back?\",\n  \"why do they call it bw three\\\"s?\",\n  \"why do jihadists behead?\",\n  \"why do md phd program?\",\n  \"why is there ads on facebook?\",\n  \"why are squirrels so cute?\",\n  \"why is cj watson not playing?\",\n  \"why is there fireworks today?\",\n  \"why there is no snakes in nz?\",\n  \"why is dbgt not canon?\",\n  \"why is mp3 rocket not connecting?\",\n  \"why is ie in quirks mode?\",\n  \"why are airsoft guns so expensive?\",\n  \"why is anthony bourdain on cnn?\",\n  \"why is there jaundice in cholecystitis?\",\n  \"why are ejbs bad?\",\n  \"why are there roadblocks in gta 4?\",\n  \"why is arsenic toxic?\",\n  \"why is xls so large?\",\n  \"why are there no krispy kremes in perth?\",\n  \"why do you calculate rf values?\",\n  \"why are there youth gangs?\",\n  \"why is lgbt rainbow?\",\n  \"why is an oyster card so called?\",\n  \"why is there no espn detroit?\",\n  \"why is jason aldean getting a divorce?\",\n  \"why do hmong live in minnesota?\",\n  \"why is there federal income tax?\",\n  \"why is at&t internet so slow?\",\n  \"why are skeletons scary?\",\n  \"why are there gangsters yahoo?\",\n  \"why is there will be blood rated r?\",\n  \"why are newspapers so big?\",\n  \"why are you my remedy mp3?\",\n  \"why is there fighting in uganda?\",\n  \"why is bystolic advantages?\",\n  \"why is dvi better than vga?\",\n  \"why do kids tp?\",\n  \"why is there no hpv test for males?\",\n  \"why are there eight spores in an ascus?\",\n  \"why are there standards in education?\",\n  \"why is there less oxygen at high altitudes?\",\n  \"why are ivf babies smaller?\",\n  \"why are there kids at soccer games?\",\n  \"why are flights delayed at lga today?\",\n  \"why is illiteracy a problem?\",\n  \"why is the gtr so expensive?\",\n  \"why is there aspirin in alka seltzer?\",\n  \"why is marriage so hard?\",\n  \"why is there iron in the earth core?\",\n  \"why are phones important?\",\n  \"why are there cuts on my tongue?\",\n  \"why is love blind?\",\n  \"why is israel so important?\",\n  \"why is there two ctrl keys?\",\n  \"why are there trade-offs in economic decisions?\",\n  \"why are there 4 keys to wep?\",\n  \"why is gun ammo hard to find?\",\n  \"why is there no fluid when i ejaculate?\",\n  \"why is there skeletal muscle in the esophagus?\",\n  \"why do heating pads help cramps?\",\n  \"why is windows 8 so bad?\",\n  \"why is rpe subjective?\",\n  \"why do agricultural prices fluctuate?\",\n  \"why are kidney stones formed?\",\n  \"why is ghost hunters not on?\",\n  \"why is green tea healthy?\",\n  \"why do abused women stay?\",\n  \"why are hospitals requiring bsn?\",\n  \"why are there side effects?\",\n  \"why is xobni so slow?\",\n  \"why is there duty free?\",\n  \"why is byu called the y?\",\n  \"why are there iranian refugees?\",\n  \"why is zendaya so hot?\",\n  \"why are sunflower seeds good for you?\",\n  \"why are jim and pam moving to austin?\",\n  \"why are oil prices rising?\",\n  \"why do crazy people talk to themselves?\",\n  \"why is dmc 2 so bad?\",\n  \"why are there deserts in the world?\",\n  \"why are drugs bad for you?\",\n  \"why is there no more eastenders omnibus?\",\n  \"why is pms?\",\n  \"why do republicans hate california?\",\n  \"why do mullet jump?\",\n  \"why is steam so slow?\",\n  \"why are russians so badass?\",\n  \"why are there screens in front of microphones?\",\n  \"why are hondas easy to steal?\",\n  \"why are pdfs not opening in safari?\",\n  \"why do officers need a degree?\",\n  \"why are mbas useful?\",\n  \"why is aquaculture important?\",\n  \"why do cfls burn out?\",\n  \"why do erasers get hard?\",\n  \"why is xdr-tb different to ordinary tb?\",\n  \"why is fb app so slow?\",\n  \"why are there age restrictions on video games?\",\n  \"why are there balls on power lines?\",\n  \"why are dutch called dutch?\",\n  \"why is equator hot?\",\n  \"why do usopp and luffy fight?\",\n  \"why do tsunamis get bigger?\",\n  \"why is bmw successful?\",\n  \"why is eeyore so depressed?\",\n  \"why do abs look uneven?\",\n  \"why are oem tires bad?\",\n  \"why is there silica gel in shoe boxes?\",\n  \"why is dfs crashing?\",\n  \"why are there ghosts in my house?\",\n  \"why are owls important?\",\n  \"why are ibuprofen sugar coated?\",\n  \"why is there bonfire night?\",\n  \"why is there a jimi hendrix shrine in vancouver?\",\n  \"why is ackee illegal?\",\n  \"why are televisions attracted to people?\",\n  \"why is there six teams in the nl central?\",\n  \"why are my dhea levels high?\",\n  \"why do greenhead flies bite?\",\n  \"why is ukraine so poor?\",\n  \"why are there zombies in dead island?\",\n  \"why is there few clouds in the stratosphere?\",\n  \"why do irish wear kilts?\",\n  \"why do cats hate water?\",\n  \"why are automatic guns illegal?\",\n  \"why do ectopic pregnancies occur?\",\n  \"why are ncr attacking me?\",\n  \"why are jingles effective?\",\n  \"why are values important?\",\n  \"why do juveniles join gangs?\",\n  \"why are there acts in plays?\",\n  \"why do my gf?\",\n  \"why is ahab a tragic hero?\",\n  \"why are the mend in bgt final?\",\n  \"why are apps so popular?\",\n  \"why do video games come out on tuesday?\",\n  \"why is dynamite called dynamite?\",\n  \"why are zinc fingers important?\",\n  \"why do agencies use umbrella companies?\",\n  \"why do ghosts say boo?\",\n  \"why do ups drivers drive so fast?\",\n  \"why is there dna in our food?\",\n  \"why is there cotton in the air?\",\n  \"why is gmo good?\",\n  \"why do hickeys hurt?\",\n  \"why are there waterfalls in the fdr memorial?\",\n  \"why is there daylight saving time?\",\n  \"why do dslrs have shutters?\",\n  \"why is there ocean layering?\",\n  \"why is there plate tectonics?\",\n  \"why are there pennies on paul revere\\\"s grave?\",\n  \"why are there apple fanboys?\",\n  \"why is muni so slow?\",\n  \"why do zack and cody live in a hotel?\",\n  \"why do amino acids become zwitterions?\",\n  \"why are atoms important?\",\n  \"why is duck dynasty ending?\",\n  \"why do people hate aj pierzynski?\",\n  \"why is iodine a solid at room temperature?\",\n  \"why is sf2 polar?\",\n  \"why is ian kennedy suspended?\",\n  \"why are lemons good for you?\",\n  \"why do some cbd need to be improved?\",\n  \"why is cnn spelling morsi morsi?\",\n  \"why is edward snowden a traitor?\",\n  \"why are there errors in garry\\\"s mod?\",\n  \"why do celebrate eid?\",\n  \"why do africans say eh?\",\n  \"why are dmv photos so bad?\",\n  \"why is helen keller famous?\",\n  \"why is there two borgia series?\",\n  \"why are there brazil protests?\",\n  \"why is eoq important?\",\n  \"why is there acetaminophen in hydrocodone?\",\n  \"why is eevee so popular?\",\n  \"why are europeans so rude?\",\n  \"why is lemonade pink?\",\n  \"why do we gm food?\",\n  \"why is there oil in my turbo?\",\n  \"why are jolly ranchers so good?\",\n  \"why are there physical laws?\",\n  \"why do an rss feed?\",\n  \"why do psychopaths kill?\",\n  \"why are cbc\\\"s done?\",\n  \"why are kufis worn?\",\n  \"why do katherine and elena look alike?\",\n  \"why are there afk rooms in lol?\",\n  \"why is ccl4 nonpolar?\",\n  \"why are hdmi cables so expensive?\",\n  \"why are there no khajiits to marry in skyrim?\",\n  \"why do cats like q tips?\",\n  \"why is cgi slow?\",\n  \"why are agricultural subsidies bad?\",\n  \"why is emotional intelligence important?\",\n  \"why are raisins bad for dogs?\",\n  \"why is there x in xmas?\",\n  \"why do tlc spots have to be small?\",\n  \"why are nhl tickets so expensive?\",\n  \"why is there cyanide in cigarettes?\",\n  \"why are isotopes used as tracers?\",\n  \"why do bullies bully?\",\n  \"why is etna there?\",\n  \"why do hamsters bite?\",\n  \"why is rfid better than barcode?\",\n  \"why are ethernet cables twisted?\",\n  \"why are there suddenly ads everywhere?\",\n  \"why do i keep getting cold sores?\",\n  \"why not to do dmt?\",\n  \"why are vampires so popular?\",\n  \"why are avocados so good?\",\n  \"why are there rainbows?\",\n  \"why is ghana poor?\",\n  \"why is sdsu\\\"s mascot an aztec?\",\n  \"why is there ulcers?\",\n  \"why is uesp down?\",\n  \"why are there waves at the beach?\",\n  \"why is cnn so bad now?\",\n  \"why are there so many brazilians in mma?\",\n  \"why is there rna splicing?\",\n  \"why are cvs and walgreens always together?\",\n  \"why are igneous rocks best for radiometric dating?\",\n  \"why do you think ezra is a?\",\n  \"why is perseverance important?\",\n  \"why are aquarius men so attractive?\",\n  \"why is insider trading illegal?\",\n  \"why are there immovable joints?\",\n  \"why are tonsils taken out?\",\n  \"why do adc go bot?\",\n  \"why do virgo men disappear?\",\n  \"why do icons move on desktop?\",\n  \"why are knuckleballs hard to hit?\",\n  \"why is there no mcdonalds in cambodia?\",\n  \"why is there gunk in my dog\\\"s eye?\",\n  \"why do other girls hate me?\",\n  \"why is kosher salt kosher?\",\n  \"why do people cc?\",\n  \"why are awkward people awkward?\",\n  \"why is jury duty important?\",\n  \"why are vntrs useful for dna profiling?\",\n  \"why are there two a in aardvark?\",\n  \"why is omegle full of perverts?\",\n  \"why do bc years go backward?\",\n  \"why is quinoa not paleo?\",\n  \"why is wmp so slow?\",\n  \"why is there violence in schools?\",\n  \"why are epiphone guitars so cheap?\",\n  \"why is smogon down?\",\n  \"why do probiotics make you poop?\",\n  \"why is bcl3 nonpolar?\",\n  \"why is cup of noodles bad for you?\",\n  \"why is oymyakon so cold?\",\n  \"why do you choose jp morgan?\",\n  \"why do eye drops sting?\",\n  \"why do i feel tired all the time?\",\n  \"why is dslr better?\",\n  \"why are illegal drugs illegal?\",\n  \"why is there a line through mike and ikes?\",\n  \"why do turkeys have snoods?\",\n  \"why are rpoc important?\",\n  \"why are iww called wobblies?\",\n  \"why are nbc ratings so low?\",\n  \"why do shingles hurt?\",\n  \"why are aquifers valuable?\",\n  \"why are there russian troops in america?\",\n  \"why are cyclists so arrogant?\",\n  \"why are illegal fireworks illegal?\",\n  \"why is kmno4 not a primary standard?\",\n  \"why is qms important?\",\n  \"why is there economic growth?\",\n  \"why do police swerve on the freeway?\",\n  \"why are there no snowy owls in pottermore?\",\n  \"why do sailors drink rum?\",\n  \"why is bmi the same for men and women?\",\n  \"why is there less destruction in bf3?\",\n  \"why do i bruise easily?\",\n  \"why do clouds look flat on the bottom?\",\n  \"why is there salt in the ocean?\",\n  \"why is there a bank holiday in nsw?\",\n  \"why are foamposites so expensive?\",\n  \"why is america the best country?\",\n  \"why is there acid in batteries?\",\n  \"why do ears smell like cheese?\",\n  \"why do people still use rmvb?\",\n  \"why is zone defense illegal in nba?\",\n  \"why is jquery slow?\",\n  \"why is everybody afraid of love?\",\n  \"why do planets orbit in the same direction?\",\n  \"why are there forest fires?\",\n  \"why do vulcans have green blood?\",\n  \"why do we use ajax in java?\",\n  \"why do small dogs bark so much?\",\n  \"why are there canals in venice?\",\n  \"why do mcdonalds employees hate coning?\",\n  \"why is xbox 1 bad?\",\n  \"why are rwd bad in snow?\",\n  \"why is winrar free?\",\n  \"why is there a rooster on sriracha?\",\n  \"why do ddos attacks work?\",\n  \"why is louis ck divorced?\",\n  \"why are there equestrian events in the olympics?\",\n  \"why are there upside down rainbows?\",\n  \"why do x\\\"s represent kisses?\",\n  \"why is fn scar so expensive?\",\n  \"why is rhogam given at 28 weeks?\",\n  \"why is bullying an issue?\",\n  \"why are pigments color?\",\n  \"why are epic heroes important?\",\n  \"why are college beds twin xl?\",\n  \"why do djs still use vinyl?\",\n  \"why are there airport delays?\",\n  \"why do aquariums need lights?\",\n  \"why there is trouble ahead for apple\\\"s stock?\",\n  \"why is of2 polar?\",\n  \"why is there 12 in kruskal-wallis formula?\",\n  \"why are there js in emails?\",\n  \"why do athletes use adderall?\",\n  \"why is ksi so popular?\",\n  \"why is aubrey plaza so weird?\",\n  \"why is there bleeding with uti?\",\n  \"why are there american flags flying today?\",\n  \"why do cows have udders?\",\n  \"why is there a wti brent spread?\",\n  \"why are guys jerks?\",\n  \"why is golden gate bridge famous?\",\n  \"why are ukrainian women so beautiful?\",\n  \"why are ultrasounds used instead of x-rays?\",\n  \"why is there hypokalemia in rta?\",\n  \"why are sbr illegal?\",\n  \"why is jpeg lossy?\",\n  \"why are there two karmapas?\",\n  \"why is social media bad?\",\n  \"why do ukuleles have nylon strings?\",\n  \"why are there 4 wires on a cpu fan?\",\n  \"why do lymph glands swell up?\",\n  \"why are there no folders in gmail?\",\n  \"why do tnc\\\"s?\",\n  \"why is there hair on my breast?\",\n  \"why is ocean energy renewable?\",\n  \"why is pt elevated?\",\n  \"why is there thunderstorms?\",\n  \"why are zune movies so expensive?\",\n  \"why is xtranormal not free anymore?\",\n  \"why is there jealousy in relationships?\",\n  \"why do cockroaches come?\",\n  \"why is there gold in the yukon?\",\n  \"why do people use jpeg?\",\n  \"why are there posers?\",\n  \"why are cme dangerous?\",\n  \"why is there kicking in my stomach?\",\n  \"why do avocados have strings?\",\n  \"why are there no lawyers in utopia?\",\n  \"why do toilets run?\",\n  \"why is xna slow?\",\n  \"why is snapchat not working?\",\n  \"why are jeep wranglers so expensive?\",\n  \"why do electrons move?\",\n  \"why is xenophobia important?\",\n  \"why are there four chrome.exe?\",\n  \"why is avocado a fruit?\",\n  \"why do we use vmware?\",\n  \"why is there two wwe championships?\",\n  \"why is space dark?\",\n  \"why are there male and female bikes?\",\n  \"why do oil and water not mix?\",\n  \"why is tuition so expensive?\",\n  \"why are nike shoes so expensive?\",\n  \"why are there weighing stations?\",\n  \"why are lc and heidi not friends?\",\n  \"why are twisted pair cables twisted?\",\n  \"why are there giant rocks in runescape?\",\n  \"why is there blood in my poop?\",\n  \"why are there four seasons?\",\n  \"why is tsh high?\",\n  \"why do dc motors need brushes?\",\n  \"why is egypt so poor?\",\n  \"why is it called madden 25?\",\n  \"why are there craters on the moon?\",\n  \"why is tsunade in a coma?\",\n  \"why are there typos in kindle ebooks?\",\n  \"why is xtranormal down?\",\n  \"why is there jokes?\",\n  \"why are girls so mean to guys?\",\n  \"why are snails slime?\",\n  \"why do erasers erase?\",\n  \"why are there certain presidents on money?\",\n  \"why is there gluten in beer?\",\n  \"why do ozone levels drop off at night?\",\n  \"why are there planets in our solar system?\",\n  \"why are so many svchost running?\",\n  \"why are jpegs blurry?\",\n  \"why is tlb fully associative?\",\n  \"why is md5 broken?\",\n  \"why are fps so popular?\",\n  \"why do siblings look different?\",\n  \"why is uws a bad uni?\",\n  \"why do hands prune?\",\n  \"why is education so expensive?\",\n  \"why are zinc solutions colorless?\",\n  \"why are there blue reflectors in the road?\",\n  \"why do clocks have iiii?\",\n  \"why is there no foreach on ienumerable?\",\n  \"why are there typos in books?\",\n  \"why is there no h m in hawaii?\",\n  \"why are umbrellas metal?\",\n  \"why are epa and dha important?\",\n  \"why are there celebrations during the month of december?\",\n  \"why do job applications ask for race?\",\n  \"why are there two catherines in wuthering heights?\",\n  \"why are there no basements in tx?\",\n  \"why are there multiple iexplore exe running?\",\n  \"why are there ken billboards?\",\n  \"why do people hate ayn rand?\",\n  \"why is cnn credible?\",\n  \"why are xrays used in medical imaging?\",\n  \"why do good people suffer?\",\n  \"why is toby helping a?\",\n  \"why are there goth people?\",\n  \"why is air considered to be a solution?\",\n  \"why is there 2 kwik e marts?\",\n  \"why is there no vaccine for hsv?\",\n  \"why are there freckles?\",\n  \"why do alcoholics drink?\",\n  \"why do atoms form ions?\",\n  \"why is there an outbreak of cholera in haiti?\",\n  \"why is ultegra better than 105?\",\n  \"why are there amish people?\",\n  \"why are jtags offline?\",\n  \"why are tigers endangered?\",\n  \"why are there jails?\",\n  \"why are there different ethnicities?\",\n  \"why do fools fall in love lyrics?\",\n  \"why are there environmental problems?\",\n  \"why is aseptic technique important?\",\n  \"why is lvmh successful?\",\n  \"why is lcd better than plasma?\",\n  \"why do plants need npk fertilizer?\",\n  \"why is there fur on a tennis ball?\",\n  \"why is nwanime not working?\",\n  \"why are deserts dry?\",\n  \"why is there gunk in my oil?\",\n  \"why is npv important to a project?\",\n  \"why is there hair on my stomach girl?\",\n  \"why are akitas dangerous?\",\n  \"why is there ash in pet food?\",\n  \"why are dwarf hamsters so aggressive?\",\n  \"why is vw golf popular?\",\n  \"why do relationships fail?\",\n  \"why are laws necessary?\",\n  \"why are there owls on the dollar bill?\",\n  \"why do people use xmas?\",\n  \"why are there still analog tv stations?\",\n  \"why is and why are?\",\n  \"why are gsk shares falling?\",\n  \"why are mcdonald\\\"s burgers so small?\",\n  \"why do i need xps viewer?\",\n  \"why is there a period after mrs?\",\n  \"why is mpv high in blood test?\",\n  \"why do itches happen?\",\n  \"why are less men going to college?\",\n  \"why are there highlights in my kindle book?\",\n  \"why is iron toxic?\",\n  \"why is iphone weather always wrong?\",\n  \"why is nzbroyalty down?\",\n  \"why are identical twins considered clones?\",\n  \"why are cm3 and ml the same?\",\n  \"why is taq polymerase used in pcr?\",\n  \"why is ifunny not funny?\",\n  \"why is nnpc classified as a corporation?\",\n  \"why do veins show?\",\n  \"why do ex bf get jealous?\",\n  \"why do mlb players use pine tar?\",\n  \"why are there hypocrites?\",\n  \"why are dwarves always extinct?\",\n  \"why is there tax on amazon prime membership?\",\n  \"why is us money green?\",\n  \"why is there kung fu in the karate kid?\",\n  \"why is there no yield strength for wood?\",\n  \"why do gps work?\",\n  \"why are nissan gtr illegal?\",\n  \"why do people get ptsd?\",\n  \"why is gcb cancelled?\",\n  \"why is kaka not playing for brazil?\",\n  \"why are the pwrr called the tigers?\",\n  \"why are yearbooks so expensive?\",\n  \"why are utis more common in pregnancy?\",\n  \"why do sloths have long claws?\",\n  \"why is there cramping during period?\",\n  \"why do headphones tangle?\",\n  \"why are bcs tickets so high?\",\n  \"why do animals hibernate?\",\n  \"why is hfcs so bad?\",\n  \"why are nc flags at half staff today?\",\n  \"why is democracy bad?\",\n  \"why are lipids in tpn?\",\n  \"why is there defensive 3 seconds?\",\n  \"why is there water in my exhaust?\",\n  \"why do i need wcf?\",\n  \"why are vaccines good?\",\n  \"why do our eyes have color?\",\n  \"why are there stars on houses in ohio?\",\n  \"why do furbies die?\",\n  \"why is kmno4 purple in aqueous solution?\",\n  \"why are dvd recorders disappearing?\",\n  \"why do off eggs float?\",\n  \"why is there a knot in my bruise?\",\n  \"why are koreans so beautiful?\",\n  \"why are there guardian angels?\",\n  \"why is there taurine in cat food?\",\n  \"why are dollars called bucks?\",\n  \"why are there so many httpd processes?\",\n  \"why is evolution important?\",\n  \"why is there cruelty in the world?\",\n  \"why are pyramid schemes unsustainable by nature?\",\n  \"why is there acetaminophen in percocet?\",\n  \"why are firetrucks red ifunny?\",\n  \"why do ulcers form?\",\n  \"why women aren\\\"t funny?\",\n  \"why is ivory valuable?\",\n  \"why do fdi?\",\n  \"why do europeans drive on the left side?\",\n  \"why is earth round?\",\n  \"why do omegas wear gold boots?\",\n  \"why are htc better than iphones?\",\n  \"why are my boobs so sore?\",\n  \"why is there zero gravity?\",\n  \"why is there jaundice with pancreatitis?\",\n  \"why do we need iis?\",\n  \"why is economy bad?\",\n  \"why is hp failing?\",\n  \"why is nz so expensive?\",\n  \"why is there more ozone in the stratosphere?\",\n  \"why is vshare so slow?\",\n  \"why are jacks called jacks?\",\n  \"why do upper lips smell?\",\n  \"why do nrl refs wear pink?\",\n  \"why do nlp?\",\n  \"why do we burp?\",\n  \"why do effervescent tablets dissolve faster in hot water?\",\n  \"why are the engine light vsc and 4wd on?\",\n  \"why are school uniforms good?\",\n  \"why do xylem vessels have pits?\",\n  \"why is jk rowling a bad writer?\",\n  \"why do men rape women?\",\n  \"why do i need dd-wrt?\",\n  \"why is xerox successful?\",\n  \"why is cdna patentable?\",\n  \"why is censorship bad?\",\n  \"why is there two eids?\",\n  \"why do children get cancer?\",\n  \"why do mba in hr?\",\n  \"why is pepsi better than coke?\",\n  \"why do africans braid so tight?\",\n  \"why are jrpgs dying?\",\n  \"why is ulysses s grant a bad president?\",\n  \"why is pubic hair curly?\",\n  \"why are there icicles?\",\n  \"why do relationships end?\",\n  \"why is bling ring rated r?\",\n  \"why do frogs have two lungs?\",\n  \"why do vampires burn in the sun?\",\n  \"why is fnma stock rising?\",\n  \"why are there so many hackers on pc?\",\n  \"why do we need vmware?\",\n  \"why do illegal immigrants get welfare?\",\n  \"why do gmos cause cancer?\",\n  \"why is there aquaculture?\",\n  \"why are nyc subways so hot?\",\n  \"why do illegal immigrants come to america?\",\n  \"why do volcanoes erupt ks3?\",\n  \"why do rc tires balloon?\",\n  \"why do vmware snapshots grow?\",\n  \"why is kobe not playing?\",\n  \"why are xenon lights legal?\",\n  \"why is photography important?\",\n  \"why are avi files so big?\",\n  \"why is egg used in baking?\",\n  \"why are there jokes about helen keller?\",\n  \"why are women so soft?\",\n  \"why are there empty seats at yankee stadium?\",\n  \"why is nginx on my computer?\",\n  \"why is he called birdman?\",\n  \"why are there orcs in the hobbit?\",\n  \"why are there gangs in the uk?\",\n  \"why do ms symptoms come and go?\",\n  \"why do rna viruses mutate?\",\n  \"why is eeyore sad?\",\n  \"why is fdr so important?\",\n  \"why is yawning contagious?\",\n  \"why are kangaroos important?\",\n  \"why do jumping beans jump?\",\n  \"why are mcdonald\\\"s fries so good?\",\n  \"why do apples wake you up?\",\n  \"why is there a chorus in oedipus?\",\n  \"why are fish pedicures illegal?\",\n  \"why do clouds form?\",\n  \"why do xylem cells have no nucleus?\",\n  \"why do illegal immigrants get food stamps?\",\n  \"why is there load shedding in pakistan?\",\n  \"why are there nitrates in urine?\",\n  \"why is there so much lag in bf3?\",\n  \"why are eigenvectors useful?\",\n  \"why is gbp called sterling?\",\n  \"why do tv shows run late?\",\n  \"why are there statutes of limitations?\",\n  \"why is ebay in euros?\",\n  \"why do geranium leaves turn yellow?\",\n  \"why do lungs need to be moist?\",\n  \"why is xtranormal slow?\",\n  \"why is ksi called ksi?\",\n  \"why is there human trafficking?\",\n  \"why is there no youtube app for ipad?\",\n  \"why do x rays cause cancer?\",\n  \"why are viruses considered parasites?\",\n  \"why do babies cry in their sleep?\",\n  \"why is there clear discharge?\",\n  \"why are there ira contribution limits?\",\n  \"why is there an age limit on hpv vaccine?\",\n  \"why are there afghanistan refugees?\",\n  \"why is greenland called greenland?\",\n  \"why is wmplayer running in the background?\",\n  \"why do zinnias fade?\",\n  \"why is sloth a sin?\",\n  \"why do economists use regression analysis?\",\n  \"why are umbilical arteries called arteries?\",\n  \"why are there so many turkey vultures?\",\n  \"why do we use lpg?\",\n  \"why is xtranormal not working?\",\n  \"why is ftp bad?\",\n  \"why are kids so cruel?\",\n  \"why are mri loud?\",\n  \"why are squats so hard?\",\n  \"why are wma files protected?\",\n  \"why is butter bad for you?\",\n  \"why are there tpa skins?\",\n  \"why do ketone bodies form?\",\n  \"why are lsu and oregon playing at cowboy stadium?\",\n  \"why are wwdc tickets so expensive?\",\n  \"why are my lp\\\"s dying?\",\n  \"why do episcopalians accept homosexuals?\",\n  \"why are there organs at hockey games?\",\n  \"why is eonline in french?\",\n  \"why do fleas exist?\",\n  \"why are eigenvalues important?\",\n  \"why are grades important?\",\n  \"why are there daleks in rugrats?\",\n  \"why do tattoo artists hate tlc?\",\n  \"why is fptp unfair?\",\n  \"why is fluency important?\",\n  \"why is c murda in jail?\",\n  \"why are google images blurry?\",\n  \"why are there centipedes in my bathtub?\",\n  \"why is there a red line through https?\",\n  \"why are rhinos killed for their horns?\",\n  \"why don\\\"t you stay?\",\n  \"why do tncs want to move to china?\",\n  \"why do mlb players wear rope necklaces?\",\n  \"why is israel a cube?\",\n  \"why is ssd good?\",\n  \"why is ncis popular?\",\n  \"why are vascular plants widely distributed?\",\n  \"why are there uprisings in the middle east?\",\n  \"why are nmr peaks broad?\",\n  \"why is there a preparation date on msds?\",\n  \"why do lymph nodes swell during infection?\",\n  \"why is vegetable oil bad?\",\n  \"why are item sets disabled?\",\n  \"why is there speed limits?\",\n  \"why are only neutral mutations useful?\",\n  \"why are llamas so popular?\",\n  \"why do gcse geography?\",\n  \"why is there a new spiderman?\",\n  \"why are there 2 zenonia 3?\",\n  \"why do people yawn?\",\n  \"why are there sperm banks?\",\n  \"why is huckleberry finn banned?\",\n  \"why is there frost on my propane tank?\",\n  \"why do hindus not eat meat?\",\n  \"why do dbz characters scream?\",\n  \"why is squidward so miserable?\",\n  \"why are there baskets on the flags at the us open?\",\n  \"why do joints pop all the time?\",\n  \"why do breasts enlarge before period?\",\n  \"why are republicans so evil?\",\n  \"why is cystitis more common in females?\",\n  \"why do universities exist?\",\n  \"why do you pva walls?\",\n  \"why is there no vga signal?\",\n  \"why are ebook prices so high?\",\n  \"why are there ads on gmail?\",\n  \"why is wti rising?\",\n  \"why is there nfl referee lockout?\",\n  \"why is ottawa called the senators?\",\n  \"why are movie theatres cold?\",\n  \"why are there no commercials on tcm?\",\n  \"why is there pulsus paradoxus in asthma?\",\n  \"why do lcd tvs have delay?\",\n  \"why are there different languages?\",\n  \"why do hindus worship cows?\",\n  \"why are there easter eggs?\",\n  \"why are ryanair landings so bad?\",\n  \"why do we preserve fynbos?\",\n  \"why is jcaho accreditation important?\",\n  \"why is naruto still a genin?\",\n  \"why is qmv criticised?\",\n  \"why are there so many lyrics sites?\",\n  \"why is taco bell so good?\",\n  \"why do spiders come out at night?\",\n  \"why is app store so slow?\",\n  \"why do i feel depressed?\",\n  \"why is exfoliation important?\",\n  \"why is sdlc considered a waterfall process?\",\n  \"why is vpn good?\",\n  \"why is there jamestown?\",\n  \"why are otters important?\",\n  \"why is ovarian cancer so deadly?\",\n  \"why is amtrak so slow?\",\n  \"why cms are bad?\",\n  \"why are yeezys so expensive?\",\n  \"why do veterans get ptsd?\",\n  \"why are there ants on my hibiscus?\",\n  \"why is ndp left wing?\",\n  \"why do hr people?\",\n  \"why is celery good for men?\",\n  \"why are there vigors in bioshock infinite?\",\n  \"why is mkv choppy in vlc?\",\n  \"why do spiders bite?\",\n  \"why is cvg so expensive?\",\n  \"why is jordan better than lebron?\",\n  \"why are the twins tc?\",\n  \"why are jalapenos hot?\",\n  \"why are mbs negatively convex?\",\n  \"why do cmp?\",\n  \"why is jtg jobbing?\",\n  \"why are iyers smart?\",\n  \"why do owls like being petted?\",\n  \"why is electricity 60 hz?\",\n  \"why are there olympic values?\",\n  \"why is protein synthesis important?\",\n  \"why are there tf2 idle servers?\",\n  \"why are udp packets lost?\",\n  \"why is edta called a chelating agent?\",\n  \"why are azo dyes banned?\",\n  \"why are there zits in my pubes?\",\n  \"why are there new five euro notes?\",\n  \"why are immigrants important?\",\n  \"why is there is no looting in japan?\",\n  \"why is qmjhl backwards?\",\n  \"why is she always on my mind?\",\n  \"why are you so obsessed with me?\",\n  \"why do pvpers use default ui?\",\n  \"why there is kolaveri song?\",\n  \"why is there a green claptrap in fyrestone?\",\n  \"why is there edema in nephrotic syndrome?\",\n  \"why do you want to work for our company?\",\n  \"why are earthworms invertebrates?\",\n  \"why is rct gold standard?\",\n  \"why are there double rims?\",\n  \"why is ft lauderdale water yellow?\",\n  \"why is there a knot in my back?\",\n  \"why are you interested in this position?\",\n  \"why is nrl better than afl?\",\n  \"why do people hate gt5?\",\n  \"why do your ears ring?\",\n  \"why do i feel dizzy?\",\n  \"why is it cold if there\\\"s global warming?\",\n  \"why is psn down?\",\n  \"why do sinkholes happen?\",\n  \"why is luffy so strong?\",\n  \"why do runners shave their legs?\",\n  \"why is environmental education important?\",\n  \"why are there assassins after me in skyrim?\",\n  \"why do pga golfers wear long pants?\",\n  \"why is xsin(1/x) not differentiable?\",\n  \"why is there two versions of movie 43?\",\n  \"why are quiet people the most dangerous?\",\n  \"why are offices so cold?\",\n  \"why is typography important?\",\n  \"why are xbox servers down?\",\n  \"why is there static in my pc speakers?\",\n  \"why are quasars so bright?\",\n  \"why is there two wwe champions?\",\n  \"why do disney characters wear gloves?\",\n  \"why is there no mcdonalds in bangladesh?\",\n  \"why is there civil unrest in jamaica?\",\n  \"why is equality important?\",\n  \"why is six afraid of seven?\",\n  \"why do farmers burn fields?\",\n  \"why do droughts happen?\",\n  \"why do we need nclb?\",\n  \"why is hsbc website down?\",\n  \"why do critics hate the great gatsby?\",\n  \"why is kendall jenner famous?\",\n  \"why is eyesight important?\",\n  \"why is sdsu a good school?\",\n  \"why are there no e85 stations in nj?\",\n  \"why is there violence in chicago?\",\n  \"why are africans better runners?\",\n  \"why are there asterisks in books?\",\n  \"why is aesop important?\",\n  \"why do kangaroos hop?\",\n  \"why do bruises change color?\",\n  \"why is there violence in prison?\",\n  \"why do eggs make you fart?\",\n  \"why do bugs exist?\",\n  \"why do we have dreams?\",\n  \"why are pvcs worse at night?\",\n  \"why is there censorship in music?\",\n  \"why is there a rnc?\",\n  \"why are there left handed guitars?\",\n  \"why do hf radio signals fade?\",\n  \"why is pva glue good to use?\",\n  \"why do zombies spawn in my house?\",\n  \"why do clouds burst?\",\n  \"why is there never enough money?\",\n  \"why is there no audio on youtube?\",\n  \"why is kuwait so rich?\",\n  \"why is there 2 wwe?\",\n  \"why is there a truck by the ss anne?\",\n  \"why do people rp in wow?\",\n  \"why do dogs have tails?\",\n  \"why are iframes bad for seo?\",\n  \"why are there volcanoes in the pacific northwest?\",\n  \"why iits are best?\",\n  \"why is bycatch bad?\",\n  \"why do oxygen saturation levels drop?\",\n  \"why is there only one god?\",\n  \"why are there after hours trading?\",\n  \"why is kbr used as a diluent?\",\n  \"why is it so biased?\",\n  \"why is gdp a good economic indicator?\",\n  \"why are walnuts good for you?\",\n  \"why are there no impact craters on earth?\",\n  \"why is there tax on ebay?\",\n  \"why are there female mr mimes?\",\n  \"why is hdi important?\",\n  \"why are women attracted to bad boys?\",\n  \"why are there jack o lanterns?\",\n  \"why is fdr a hero?\",\n  \"why is tlc canceling sister wives?\",\n  \"why are kryptonians stronger?\",\n  \"why is there no youtube on roku?\",\n  \"why do nba players dress like nerds?\",\n  \"why is dietary vitamin a good for eyesight?\",\n  \"why do i get svt?\",\n  \"why is nfl so popular?\",\n  \"why is there cartilage in the trachea?\",\n  \"why do languages change?\",\n  \"why do clouds get dark?\",\n  \"why do mdm?\",\n  \"why do japanese people bow?\",\n  \"why is there ultimate team tax?\",\n  \"why do obsessive thoughts occur?\",\n  \"why are lpg prices rising?\",\n  \"why are there two dns server addresses?\",\n  \"why are there 65 teams in the ncaa tournament?\",\n  \"why are there road rules?\",\n  \"why are supplements not fda approved?\",\n  \"why do tans fade?\",\n  \"why are iphones good?\",\n  \"why is there thunderstorms in the summer?\",\n  \"why are there male and female?\",\n  \"why is fx not on hulu?\",\n  \"why is there an ideal gas law?\",\n  \"why are there holes in donuts?\",\n  \"why is xylitol good for your teeth?\",\n  \"why are there zero dislikes on youtube?\",\n  \"why do midgets laugh when they run?\",\n  \"why are there no icons on my desktop?\",\n  \"why is bs player lagging?\",\n  \"why are there rocks by train tracks?\",\n  \"why are rich people mean?\",\n  \"why is nj ocean so cold?\",\n  \"why are kepler\\\"s three laws important?\",\n  \"why are veins blue?\",\n  \"why is hitler bad?\",\n  \"why is there boogers in my eye?\",\n  \"why are nissan gtr automatic?\",\n  \"why do ds games stop working?\",\n  \"why do nhs dentists go private?\",\n  \"why is empathy important?\",\n  \"why is ioffer so cheap?\",\n  \"why are ebay sales so slow 2013?\",\n  \"why are epithelial cells stratified?\",\n  \"why is snoring bad?\",\n  \"why is there an e in the corner of my iphone?\",\n  \"why is there such diversity in people mhc?\",\n  \"why do eritreans have curly hair?\",\n  \"why do quakers wear hats?\",\n  \"why do people call her xtina?\",\n  \"why are steroids illegal?\",\n  \"why is there unemployment in uk?\",\n  \"why is there dna on license plates?\",\n  \"why is football so popular?\",\n  \"why is lbs stand for pounds?\",\n  \"why are cats tongues rough?\",\n  \"why is iis server used?\",\n  \"why is ewan holding robin on gh?\",\n  \"why are epidurals bad?\",\n  \"why is utorrent running so slow?\",\n  \"why is there wrinkles on my head?\",\n  \"why is there rocks on roofs?\",\n  \"why do chemical reactions occur?\",\n  \"why is my ck level high?\",\n  \"why are there no taxes on some ryanair flights?\",\n  \"why is there human trafficking in thailand?\",\n  \"why are cv\\\"s used?\",\n  \"why are arabs so rude?\",\n  \"why do volleyball girls wear spandex?\",\n  \"why is there gooey stuff on my underwear?\",\n  \"why is there 1024 kb in a mb?\",\n  \"why are lps coming back?\",\n  \"why is verizon so expensive?\",\n  \"why is jk rowling trending?\",\n  \"why is there thunder when it\\\"s hot?\",\n  \"why do my g diapers leak?\",\n  \"why are there java updates everyday?\",\n  \"why is there no bbc2 hd?\",\n  \"why do dsms always break?\",\n  \"why are xmas carols called carols?\",\n  \"why is there no mls team in phoenix?\",\n  \"why are there screens over pools in florida?\",\n  \"why are there snakes on the medical symbol?\",\n  \"why is frisco offensive?\",\n  \"why are gdp and gnp different?\",\n  \"why do wildfires occur?\",\n  \"why is there a square on the iphone button?\",\n  \"why are proteins essential to the body?\",\n  \"why is hp photosmart printer offline?\",\n  \"why is there inequality in the world?\",\n  \"why do we use xrays?\",\n  \"why do dvds freeze?\",\n  \"why is aorta so thick?\",\n  \"why are volcanoes good?\",\n  \"why do agile?\",\n  \"why are there no nba games today?\",\n  \"why do people hate hst?\",\n  \"why do puppies chew?\",\n  \"why are there frogs in my house?\",\n  \"why is there cursive writing?\",\n  \"why are oscilloscopes so expensive?\",\n  \"why is air pollution important?\",\n  \"why is there kosher?\",\n  \"why is ccsf losing accreditation?\",\n  \"why is there a css beta?\",\n  \"why are there two dna?\",\n  \"why do some farts burn?\",\n  \"why do buzzards circle?\",\n  \"why is plagiarism wrong?\",\n  \"why do iphones overheat?\",\n  \"why do owls screech at night?\",\n  \"why is there not a pokemon mmorpg?\",\n  \"why is pgd an ethical issue?\",\n  \"why do hypnic jerks happen?\",\n  \"why are sloths so awesome?\",\n  \"why do chips ahoy taste different?\",\n  \"why do people like ayn rand?\",\n  \"why is there no cure for cf?\",\n  \"why are there veins on my legs?\",\n  \"why are guys mean to girls they like?\",\n  \"why are hnbr materials peroxide cured?\",\n  \"why is there glass around a light bulb?\",\n  \"why is there climate change?\",\n  \"why do people use node.js?\",\n  \"why are there dwarves in las meninas?\",\n  \"why are squats bad for you?\",\n  \"why are there no mlb videos on youtube?\",\n  \"why is iambic pentameter effective?\",\n  \"why is there earwigs in my house?\",\n  \"why do noses run and feet smell?\",\n  \"why are ffxiv servers down?\",\n  \"why are twinkies discontinued?\",\n  \"why is fracking good?\",\n  \"why do we fart?\",\n  \"why are there locks on the fence in paris?\",\n  \"why are mn flags at half mast?\",\n  \"why do acids and bases react?\",\n  \"why is bcg not given in the us?\",\n  \"why is izzy so expensive?\",\n  \"why are mx helmets different?\",\n  \"why do fsh levels change?\",\n  \"why are there less honey bees?\",\n  \"why is there audio but no video?\",\n  \"why are two photons produced in annihilation?\",\n  \"why is there no episode 12 of jericho?\",\n  \"why do cv boots torn?\",\n  \"why is cj mahaney stepping down?\",\n  \"why is there illuminati symbolism in movies?\",\n  \"why do knuckles crack?\",\n  \"why is irony important?\",\n  \"why do jw not take blood?\",\n  \"why do adults get hfmd?\",\n  \"why are there virtually no polyandrous societies?\",\n  \"why do we use db?\",\n  \"why are ak47 illegal?\",\n  \"why are there more mds than dos?\",\n  \"why is bw3\\\"s named?\",\n  \"why do dogs wag their tails?\",\n  \"why do i need ajax?\",\n  \"why is there 2 leagues in mlb?\",\n  \"why is there more than one svchost exe?\",\n  \"why are there different gdp?\",\n  \"why is meiosis called reduction division?\",\n  \"why is there 2 kansas cities?\",\n  \"why are pandas endangered?\",\n  \"why are eels long?\",\n  \"why is there a crack in the liberty bell?\",\n  \"why is nfl.com so slow?\",\n  \"why is otterbox so good?\",\n  \"why is megabus so cheap?\",\n  \"why is snapchat so popular?\",\n  \"why are we here na?\",\n  \"why do bonds sell at a premium?\",\n  \"why are there blue eyes?\",\n  \"why is qe2 good?\",\n  \"why are audi leases so high?\",\n  \"why is there only 3 boys to men?\",\n  \"why is there an error sharing photos on facebook?\",\n  \"why are guns bad?\",\n  \"why are there accents?\",\n  \"why is nginx so fast?\",\n  \"why do dreams come true?\",\n  \"why is there no qualifying in gt5?\",\n  \"why is there a delay on my xbox controller?\",\n  \"why do i have nvidia physx?\",\n  \"why are there iron filings in cereal?\",\n  \"why are there earthworms in my pool?\",\n  \"why are my eyes red?\",\n  \"why is there higher biodiversity at an ecotone?\",\n  \"why are there irregular time zones?\",\n  \"why are tuition costs rising?\",\n  \"why is there bubbles in my fish tank?\",\n  \"why do kayans wear neck rings?\",\n  \"why is there edsa revolution?\",\n  \"why are vmi cadets called rats?\",\n  \"why is there a rivalry between uf and fsu?\",\n  \"why is epinephrine used with lidocaine?\",\n  \"why do farts smell like eggs?\",\n  \"why do i need nvidia on my computer?\",\n  \"why are sight words important?\",\n  \"why is there no mlb the show for xbox?\",\n  \"why is eunhyuk called anchovy?\",\n  \"why do viruses exist?\",\n  \"why is there no naruto rpg?\",\n  \"why are there ants on peonies?\",\n  \"why is healthy eating important?\",\n  \"why is brutus noble?\",\n  \"why is hvac maintenance important?\",\n  \"why is jpg so popular?\",\n  \"why is mf global bankrupt?\",\n  \"why is equity important?\",\n  \"why is fx 8150 bad?\",\n  \"why is google chrome so slow?\",\n  \"why are there egyptian protests?\",\n  \"why is there salt in tears?\",\n  \"why is kvm so slow?\",\n  \"why do people like wuthering heights?\",\n  \"why do soap operas look weird?\",\n  \"why is there corruption?\",\n  \"why is triple dog rated r?\",\n  \"why are jw wrong?\",\n  \"why do manufacturers use hfcs?\",\n  \"why do esp guitars say ltd?\",\n  \"why do horses need shoes?\",\n  \"why is ophelia mad?\",\n  \"why is wukong op?\",\n  \"why are there itchy bumps on my scalp?\",\n  \"why are cnas paid so little?\",\n  \"why are there different races?\",\n  \"why are nz wages so low?\",\n  \"why is there civil war in africa?\",\n  \"why do tampons hurt?\",\n  \"why are beauty pageants bad?\",\n  \"why is oriental racist?\",\n  \"why is fmla important?\",\n  \"why do autistic people like sonic?\",\n  \"why do grown men play video games?\",\n  \"why is jrotc important?\",\n  \"why are there so many portuguese in rhode island?\",\n  \"why is geometry important?\",\n  \"why do i love uae?\",\n  \"why is ncl3 polar?\",\n  \"why is uk not in eurozone?\",\n  \"why are mk dons called franchise?\",\n  \"why are there so many hmong in mn?\",\n  \"why are awkward silences awkward?\",\n  \"why do i need cmhc?\",\n  \"why are there africans in jamaica?\",\n  \"why do mtg cards say deckmaster?\",\n  \"why do juveniles commit serious crimes?\",\n  \"why do nightingales sing at night?\",\n  \"why are bc powders bad for you?\",\n  \"why is orange juice yellow?\",\n  \"why are irises colored?\",\n  \"why is cfa a health hazard to humans?\",\n  \"why do people ddos attack?\",\n  \"why do sri lankans smell?\",\n  \"why do idioms exist?\",\n  \"why is there mildew in my dishwasher?\",\n  \"why are there errors in trouble in terrorist town?\",\n  \"why is cpu usage so low?\",\n  \"why are there so many men in uae?\",\n  \"why is td bank down?\",\n  \"why are earthquakes to be expected in chile?\",\n  \"why do nhl coaches wear suits?\",\n  \"why is xopenex so expensive?\",\n  \"why is iim lucknow called hell?\",\n  \"why is qe not causing inflation?\",\n  \"why are there pickles on mcdonalds burgers?\",\n  \"why is drunk driving a problem?\",\n  \"why do multiple iexplore.exe?\",\n  \"why is there electricity?\",\n  \"why do people hate gta 4?\",\n  \"why are there ice ages?\",\n  \"why do we need rfid?\",\n  \"why is there sand on the beach?\",\n  \"why do i feel so alone?\",\n  \"why are apes so strong?\",\n  \"why is cinco de mayo celebrated in the usa?\",\n  \"why is money green?\",\n  \"why are nuts expensive?\",\n  \"why are girls posting cm on facebook?\",\n  \"why do dwarf hamsters die?\",\n  \"why are diuretics banned?\",\n  \"why are there approximately 28 days in a month?\",\n  \"why are gas prices so high?\",\n  \"why are traffic tickets so expensive?\",\n  \"why are birkenstocks so expensive?\",\n  \"why is dlp so cheap?\",\n  \"why is there no yuengling in ohio?\",\n  \"why are there now 13 zodiac signs?\",\n  \"why do tomatoes taste bad?\",\n  \"why do ppl cheat?\",\n  \"why is bcg given?\",\n  \"why do people think npr is liberal?\",\n  \"why is ddt dangerous?\",\n  \"why is there judgment?\",\n  \"why are johns called ian?\",\n  \"why are there jets flying over chicago?\",\n  \"why do evil spirits follow me?\",\n  \"why are there cliques in high school?\",\n  \"why do birds migrate?\",\n  \"why is there pus in my finger?\",\n  \"why do adults get ear infections?\",\n  \"why is evolution considered a theory?\",\n  \"why is fluoride in the water?\",\n  \"why are there kosher pickles?\",\n  \"why is water blue?\",\n  \"why do atoms form bonds?\",\n  \"why are otter boxes so expensive?\",\n  \"why do mri scan?\",\n  \"why do cv joints go bad?\",\n  \"why is jwoww so hot?\",\n  \"why are koreans so angry?\",\n  \"why do tsa swab your hands?\",\n  \"why are pounds written lbs?\",\n  \"why do officers carry sidearms?\",\n  \"why is xor used in cryptography?\",\n  \"why is there jelly in my sperm?\",\n  \"why are there oil sands in alberta?\",\n  \"why do snails exist?\",\n  \"why do fingernails curl?\",\n  \"why do geese fly in a v?\",\n  \"why are flights delayed at sfo?\",\n  \"why is kmno4 acidified?\",\n  \"why are lips red?\",\n  \"why is there water under my car?\",\n  \"why is dfp a potent poison?\",\n  \"why do i need rss feed?\",\n  \"why do butterflies migrate?\",\n  \"why do pdf files not open in safari?\",\n  \"why are there spirits?\",\n  \"why is dead island rated m?\",\n  \"why are internships important?\",\n  \"why is there no alternative to ebay?\",\n  \"why is there no new ncis?\",\n  \"why are there event pokemon?\",\n  \"why are sedimentary rocks important?\",\n  \"why is there an owl in my tree?\",\n  \"why do mcflurry spoons have a hole?\",\n  \"why to do ncfm?\",\n  \"why is fracking bad?\",\n  \"why is driving exhausting?\",\n  \"why is there brain freeze?\",\n  \"why are scabs itchy?\",\n  \"why is plagiarism bad?\",\n  \"why do rabbits shake?\",\n  \"why are epithelial cells prone to cancer?\",\n  \"why do you get hiccups?\",\n  \"why are there no dunkin donuts in utah?\",\n  \"why are there no kangaroos in england?\",\n  \"why do cats eat q tips?\",\n  \"why is kissing healthy?\",\n  \"why are advance directives important?\",\n  \"why is dmf a good solvent?\",\n  \"why is cc used in emails?\",\n  \"why do our stomachs growl?\",\n  \"why are earthworms good for soil?\",\n  \"why are squats important?\",\n  \"why are angiosperms so successful?\",\n  \"why do nba players wear headbands?\",\n  \"why are estuaries so polluted?\",\n  \"why don\\\"t oil and water mix?\",\n  \"why do aardvarks eat ants?\",\n  \"why is sfo called sfo?\",\n  \"why is there vat on biscuits and not cakes?\",\n  \"why are there holes in hats?\",\n  \"why is there occupy toronto?\",\n  \"why do texas rangers wear a necklace?\",\n  \"why is there ammo in mass effect 2?\",\n  \"why is opium illegal?\",\n  \"why is europe a continent?\",\n  \"why is there aggression in sports?\",\n  \"why is stretching important?\",\n  \"why is new york called gotham?\",\n  \"why is oddjob cheap goldeneye?\",\n  \"why are hmos bad?\",\n  \"why are there transposing instruments?\",\n  \"why do lungs have lobes?\",\n  \"why are octopus mollusks?\",\n  \"why do bbm stop working?\",\n  \"why do women get fibroids?\",\n  \"why are there 16 oz in a pound?\",\n  \"why is gst important?\",\n  \"why do we dream vsauce?\",\n  \"why are rice fields curved?\",\n  \"why is data important?\",\n  \"why do kangaroos have 3 vaginas?\",\n  \"why is nz internet so slow?\",\n  \"why is silver down?\",\n  \"why do guys moan?\",\n  \"why do turkeys stop gobbling?\",\n  \"why are there many svchost exe running?\",\n  \"why are there property taxes?\",\n  \"why is there pink stuff in my shower?\",\n  \"why are gcses getting harder?\",\n  \"why do rcmp have baggy pants?\",\n  \"why there is nstp?\",\n  \"why is sf so foggy?\",\n  \"why are gb athletes in portugal?\",\n  \"why is wow losing subscribers?\",\n  \"why is exercise good for the heart?\",\n  \"why are coronal mass ejections dangerous?\",\n  \"why wcf is required?\",\n  \"why do fish jump?\",\n  \"why do fish have mercury?\",\n  \"why do dvds pause in the middle?\",\n  \"why is pet society shutting down?\",\n  \"why do eskimos kiss by rubbing noses?\",\n  \"why do conservatives hate fdr?\",\n  \"why are ps3 updates so slow?\",\n  \"why is slade\\\"s son having surgery?\",\n  \"why do shins hurt after running?\",\n  \"why do cpoe?\",\n  \"why are there no vultures in australia?\",\n  \"why do employers use cvs?\",\n  \"why do road accidents occur?\",\n  \"why are vmi cadets called keydets?\",\n  \"why is ramen so cheap?\",\n  \"why are cpap masks so expensive?\",\n  \"why is there purple weed?\",\n  \"why is jk rowling famous?\",\n  \"why is eola attacking me?\",\n  \"why is jwoww\\\"s belly button missing?\",\n  \"why is there deforestation in venezuela?\",\n  \"why do idiots get promoted?\",\n  \"why are tncs bad?\",\n  \"why do gram-positive cells stain purple?\",\n  \"why do people put ftw?\",\n  \"why are cysts painful?\",\n  \"why is lyrica a controlled substance?\",\n  \"why is cycling good for you?\",\n  \"why is gmail not working?\",\n  \"why are aerosols bad?\",\n  \"why is wpf better than winforms?\",\n  \"why is there violence on tv?\",\n  \"why are there ads on my facebook timeline?\",\n  \"why are there slugs in my room?\",\n  \"why is there no mda telethon?\",\n  \"why are windows updates so slow?\",\n  \"why is hpv so common?\",\n  \"why do people say iyess?\",\n  \"why is dbpoweramp so big?\",\n  \"why is antarctica so cold?\",\n  \"why is starbucks called starbucks?\",\n  \"why do italians have dark skin?\",\n  \"why is humor important?\",\n  \"why do we do uat?\",\n  \"why do koi jump?\",\n  \"why is there saran wrap in grease?\",\n  \"why are rcds important?\",\n  \"why do squirrels move so jerky?\",\n  \"why is there kindergarten graduation?\",\n  \"why are pine nuts so expensive?\",\n  \"why do ya build me up?\",\n  \"why do oil pans leak?\",\n  \"why do eggs have to be refrigerated?\",\n  \"why are there helicopters over chicago?\",\n  \"why is jpcsp so slow?\",\n  \"why do old people wake up early?\",\n  \"why are kuwaitis so arrogant?\",\n  \"why do hockey players fight?\",\n  \"why are yankees so rude?\",\n  \"why is syria fighting?\",\n  \"why is wyoming so sparsely populated?\",\n  \"why are there lines when i print pictures?\",\n  \"why do omegas bark?\",\n  \"why are there carbs in vitamin water zero?\",\n  \"why is tcp/ip so popular?\",\n  \"why are there cuss words?\",\n  \"why is tcu so expensive?\",\n  \"why is edm so popular?\",\n  \"why is tv good for kids?\",\n  \"why is lyme disease increasing?\",\n  \"why are there eight stars on the venezuelan flag?\",\n  \"why are oysters considered an aphrodisiac?\",\n  \"why is uaa a stop codon?\",\n  \"why do cicadas fly into things?\",\n  \"why are identical twins always the same gender?\",\n  \"why do exchange rates matter?\",\n  \"why are there no hydrogen cars?\",\n  \"why is merge sort nlogn?\",\n  \"why are weights 45 lbs?\",\n  \"why is xylitol good for you?\",\n  \"why do people become cnas?\",\n  \"why is bf3 so laggy?\",\n  \"why is sf foggy?\",\n  \"why do plants need npk?\",\n  \"why is udp needed?\",\n  \"why do my ovaries hurt?\",\n  \"why is drinking water important?\",\n  \"why is there genocide in darfur?\",\n  \"why is nclb good?\",\n  \"why are htc phones good?\",\n  \"why is electrical engineering so hard?\",\n  \"why is uee in after school?\",\n  \"why is love so important?\",\n  \"why is nginx fast?\",\n  \"why is my vga port disabled?\",\n  \"why do rivers flow south?\",\n  \"why is omega 6 good for you?\",\n  \"why is kvm better than xen?\",\n  \"why do arabs smoke hookah?\",\n  \"why do objects sink or float?\",\n  \"why is izabel goulart not an angel?\",\n  \"why are americans afraid of dragons?\",\n  \"why jvm is better?\",\n  \"why are there different time zones?\",\n  \"why are children with kwashiorkor inactive?\",\n  \"why is bgt not on tonight?\",\n  \"why are nvqs good?\",\n  \"why are uc schools so expensive?\",\n  \"why is there no feeling when i ejaculate?\",\n  \"why do people join ngos?\",\n  \"why are my feet peeling?\",\n  \"why is zn(oh)2 soluble in hcl?\",\n  \"why is rmr higher than bmr?\",\n  \"why is rls so good?\",\n  \"why is atp a high energy molecule?\",\n  \"why is bf3 sp2?\",\n  \"why ewoks are evil?\",\n  \"why are bcs bowls on espn?\",\n  \"why are eastern europeans so racist?\",\n  \"why is dubstep so popular?\",\n  \"why do married men flirt?\",\n  \"why are there tiny spiders in my house?\",\n  \"why do deer snort?\",\n  \"why is irr important to an organization?\",\n  \"why is gmail so slow today?\",\n  \"why do atoms form chemical bonds?\",\n  \"why is there a hole in my cd case?\",\n  \"why are axl rose and slash enemies?\",\n  \"why are people against fdi?\",\n  \"why is euthanasia illegal in the us?\",\n  \"why are exit interviews important?\",\n  \"why are hwabis so cheap?\",\n  \"why do zombies eat flesh?\",\n  \"why is social media important?\",\n  \"why do mnemonic devices work?\",\n  \"why are you applying for this position?\",\n  \"why is there water in my ac vent?\",\n  \"why do apartments not allow pets?\",\n  \"why are yawns so contagious?\",\n  \"why are gfs pickups so cheap?\",\n  \"why do the wto and g-8 attract protests?\",\n  \"why is jk rowling a good writer?\",\n  \"why do volcanoes erupt kids?\",\n  \"why do jim and pam fight?\",\n  \"why is there iodine in table salt?\",\n  \"why do you take dhea?\",\n  \"why is cvp analysis useful to managers?\",\n  \"why do people drink bhang on shivratri?\",\n  \"why are sri lankans coming to australia?\",\n  \"why is espn not working?\",\n  \"why are frogs important?\",\n  \"why is there terrorism?\",\n  \"why are xenon headlights better?\",\n  \"why is there no cure for herpes?\",\n  \"why is there hidden aliens in south park?\",\n  \"why are there bounding pulses in pda?\",\n  \"why do oak trees fall?\",\n  \"why is hm a word?\",\n  \"why do onions cause headaches?\",\n  \"why do most zippers have ykk on them?\",\n  \"why are there accent marks in spanish?\",\n  \"why is cdcl3 a triplet in 13c nmr?\",\n  \"why is there only one dwarf in lotr?\",\n  \"why is vsauce so smart?\",\n  \"why are mmo graphics bad?\",\n  \"why do x-linked conditions appear?\",\n  \"why do lp tanks freeze?\",\n  \"why is there echo on my phone?\",\n  \"why is xcode so complicated?\",\n  \"why we are deducting tds?\",\n  \"why do squirrels fight?\",\n  \"why is there edema with glomerulonephritis?\",\n  \"why is there pain in the back of my head?\",\n  \"why do dogs shake?\",\n  \"why do i need qtls?\",\n  \"why is there more than one iexplore.exe?\",\n  \"why is there a bb in nail polish?\",\n  \"why is there dandruff in my hair?\",\n  \"why are there no mcdonalds in kenya?\",\n  \"why do wars happen?\",\n  \"why are ethics important in healthcare?\",\n  \"why is there nfl on thursday?\",\n  \"why is there no bmw in tdu2?\",\n  \"why is obama in africa?\",\n  \"why are keywords important?\",\n  \"why are kidneys important?\",\n  \"why is variation important?\",\n  \"why are kentucky blue people blue?\",\n  \"why do older dogs pant?\",\n  \"why do eyes water when yawn?\",\n  \"why are cpt codes important?\",\n  \"why do ebooks cost more?\",\n  \"why is there cotton in ibuprofen bottles?\",\n  \"why are bbq places closed on mondays?\",\n  \"why are obama\\\"s speeches so good?\",\n  \"why are fsmo roles used?\",\n  \"why are there peanuts in bars?\",\n  \"why are zucchini leaves yellow?\",\n  \"why are there seven sacraments?\",\n  \"why do flea bites itch?\",\n  \"why are june bugs always on their backs?\",\n  \"why is there station identification?\",\n  \"why do ubese hate jedi?\",\n  \"why is there elder abuse?\",\n  \"why is there no cure for mrsa?\",\n  \"why are ssris better than tcas?\",\n  \"why do dogs sleep so much?\",\n  \"why do horses have manes?\",\n  \"why do ps3 have gb?\",\n  \"why do okc fans boo beverley?\",\n  \"why are women so difficult?\",\n  \"why are there so many krill in antarctica?\",\n  \"why are punctuation marks important?\",\n  \"why are there sunsets?\",\n  \"why do autistic kids stim?\",\n  \"why do rose leaves turn yellow?\",\n  \"why are anime dubs so bad?\",\n  \"why are ticks so bad this year?\",\n  \"why is ktlk moving?\",\n  \"why are cats so cute?\",\n  \"why is there no ksp value for nacl?\",\n  \"why is oakland called bump city?\",\n  \"why do pugs shed so much?\",\n  \"why is there ebonics?\",\n  \"why are glial cells important?\",\n  \"why do hp laptops overheat?\",\n  \"why is my zwinky not working?\",\n  \"why do dykes look like men?\",\n  \"why is there space?\",\n  \"why are vst so expensive?\",\n  \"why is there night and day?\",\n  \"why is aria a?\",\n  \"why is skateboarding so hard?\",\n  \"why are oysters served on salt?\",\n  \"why are there red dots on my hydrocodone?\",\n  \"why do armpits smell?\",\n  \"why do oolites form on beaches?\",\n  \"why is vmware stock down?\",\n  \"why is there an m on my wedding rsvp?\",\n  \"why do boys like me?\",\n  \"why is yugioh so broken?\",\n  \"why do earbuds tangle?\",\n  \"why do zucchini taste bitter?\",\n  \"why is there copper i and copper ii?\",\n  \"why is air pollution a problem?\",\n  \"why do exhaust pipes rust?\",\n  \"why is qe3 good for gold?\",\n  \"why do ur bones crack?\",\n  \"why are all fps the same?\",\n  \"why are team gb so good?\",\n  \"why are there 2 dns?\",\n  \"why do spider bites itch?\",\n  \"why are hyperbolic functions called hyperbolic?\",\n  \"why is unemployment so high in spain?\",\n  \"why are lcd screens suitable for laptops?\",\n  \"why are lv wallets so expensive?\",\n  \"why is avocado a superfood?\",\n  \"why is there partial relaxation in graph (c)?\",\n  \"why is pmt negative?\",\n  \"why do yawn so much?\",\n  \"why do americans tip?\",\n  \"why do people put rt in their tweets?\",\n  \"why are bf3 servers laggy?\",\n  \"why is nationalism important?\",\n  \"why are there zombies in shaun of the dead?\",\n  \"why are there 150 psalms?\",\n  \"why are dj mixers so expensive?\",\n  \"why is nvl used in sql?\",\n  \"why do epidurals hurt?\",\n  \"why is there a e instead of a question mark?\",\n  \"why do idiots believe in god?\",\n  \"why is my ck high?\",\n  \"why do tlc spots need to be small?\",\n  \"why are gba games so expensive?\",\n  \"why is nsa surveillance bad?\",\n  \"why do people think ezra is a?\",\n  \"why are there 2 ovaries?\",\n  \"why is equity a call option?\",\n  \"why is there balls in nail polish?\",\n  \"why are gnats so attracted to me?\",\n  \"why do we need uat?\",\n  \"why is ahri so bad?\",\n  \"why is there natural disasters?\",\n  \"why is iron magnetic?\",\n  \"why are cells important?\",\n  \"why is there no www in my web address?\",\n  \"why are there ducks in my garden?\",\n  \"why is brittany leaving glee?\",\n  \"why is eczema worse at night?\",\n  \"why are cctv important?\",\n  \"why do other countries hate americans?\",\n  \"why is awkward unavailable on netflix?\",\n  \"why is missouri the show me state?\",\n  \"why is there no itunes for android?\",\n  \"why is nutrition important for kids?\",\n  \"why is there women\\\"s chess?\",\n  \"why do syringes expire?\",\n  \"why do tv shows get cancelled?\",\n  \"why are there ducks in my pool?\",\n  \"why are keyboards qwerty?\",\n  \"why is there so much gold in alaska?\",\n  \"why do gypsies like bling?\",\n  \"why are there high birth rates in ldcs?\",\n  \"why are klonopins prescribed?\",\n  \"why are muscles sore?\",\n  \"why is urine darker in the morning?\",\n  \"why is honey good for your skin?\",\n  \"why are there protests in ny?\",\n  \"why is there dots on a guitar?\",\n  \"why is ocean salt water?\",\n  \"why is gpps brittle?\",\n  \"why do puppies twitch?\",\n  \"why are actinides radioactive?\",\n  \"why are wetlands in danger?\",\n  \"why do pilots say uhh?\",\n  \"why are db schemes closing?\",\n  \"why do ads keep popping up?\",\n  \"why is there snow in spring?\",\n  \"why is dna antiparallel?\",\n  \"why are there icebergs in the atlantic?\",\n  \"why are patients npo after midnight?\",\n  \"why are there gorillas around norwich?\",\n  \"why are there gyri and sulci?\",\n  \"why is xsl used?\",\n  \"why is vuze not opening?\",\n  \"why is jesus called the son of man?\",\n  \"why is donna noble so important?\",\n  \"why is ruby on rails so popular?\",\n  \"why is xo kiss and hug?\",\n  \"why do pregnant women get heartburn?\",\n  \"why is ups so slow?\",\n  \"why is golden gate bridge called golden?\",\n  \"why are sri lankan names long?\",\n  \"why is there double rainbows?\",\n  \"why are pdf files so popular?\",\n  \"why are team gb so bad?\",\n  \"why are girls so shallow?\",\n  \"why is odysseus not a hero?\",\n  \"why are cyst formed?\",\n  \"why is kwek kwek orange?\",\n  \"why do sturgeon jump?\",\n  \"why do i have gbs?\",\n  \"why are transformer rated in kva?\",\n  \"why do oysters have carbs?\",\n  \"why is there a garage in gta iv?\",\n  \"why do people say t minus?\",\n  \"why is there an eye at the end of the pact?\",\n  \"why are mkv smaller than avi?\",\n  \"why do tattoos fade?\",\n  \"why are there ghost followers on instagram?\",\n  \"why are supras so expensive?\",\n  \"why do pros use wooden bats?\",\n  \"why do aggies say here?\",\n  \"why do tlingit dance?\",\n  \"why do tsunamis have multiple waves?\",\n  \"why are women always cold?\",\n  \"why are sf giants wearing new uniforms?\",\n  \"why are bart workers striking?\",\n  \"why are there no tolls in ct?\",\n  \"why is there a gsh on the bears jerseys?\",\n  \"why do my pecs hurt?\",\n  \"why do cnidarians use stinging cells?\",\n  \"why are there so many debian cds?\",\n  \"why is there night and day for kids?\",\n  \"why are x-rays important?\",\n  \"why is sugar bad for you?\",\n  \"why are there love bugs?\",\n  \"why is there an odor after my period?\",\n  \"why is fdny not nyfd?\",\n  \"why do fdny say k?\",\n  \"why is lvs going down?\",\n  \"why do lunges hurt my knees?\",\n  \"why do djs use 4 cdjs?\",\n  \"why are ngos formed?\",\n  \"why is weed bad?\",\n  \"why are cc and ml the same?\",\n  \"why is tv bad for your health?\",\n  \"why are there hunger games?\",\n  \"why is there viruses?\",\n  \"why is there discrimination against gypsies?\",\n  \"why do djs wear masks?\",\n  \"why is fema building camps?\",\n  \"why are there ocean basins continents and mountains?\",\n  \"why do you like dbsk?\",\n  \"why do cpap machines need a prescription?\",\n  \"why is there cursive on the sat?\",\n  \"why is there an oculus in the pantheon?\",\n  \"why do avocados fall off the tree?\",\n  \"why is there government?\",\n  \"why are rfid tags used?\",\n  \"why do warts appear?\",\n  \"why do people use ddt?\",\n  \"why are fire hydrants red?\",\n  \"why is there fur around hood?\",\n  \"why is django so good?\",\n  \"why are my ears ringing?\",\n  \"why is rwanda considered a genocide?\",\n  \"why are aerospokes so expensive?\",\n  \"why are there illegal immigrants?\",\n  \"why are swiss banks so good?\",\n  \"why do ewoks worship c3po?\",\n  \"why do oysters increase libido?\",\n  \"why do runners get cramps?\",\n  \"why is ibm stock falling?\",\n  \"why is pcr a chain reaction?\",\n  \"why are khaki pants called khakis?\",\n  \"why is dwight howard hated?\",\n  \"why are there trees?\",\n  \"why are hdls called good cholesterol?\",\n  \"why are there x\\\"s on my facebook?\",\n  \"why are punjabis so hot?\",\n  \"why is cilantro good for you?\",\n  \"why is illegal immigration a problem in the united states?\",\n  \"why do ocean waves break?\",\n  \"why do aquarius men ignore?\",\n  \"why is pmi bad?\",\n  \"why do we use ajax in .net?\",\n  \"why is osteoporosis called the silent disease?\",\n  \"why are there ads on xbox live?\",\n  \"why is rss going away?\",\n  \"why are there so many hmong in wisconsin?\",\n  \"why are zinc and nickel used in coins?\",\n  \"why do some people get car sick?\",\n  \"why is there piracy in somalia?\",\n  \"why do fools fall in love full movie?\",\n  \"why is there typhoons?\",\n  \"why do jiu jitsu?\",\n  \"why do i get bsod when i play games?\",\n  \"why do aat qualification?\",\n  \"why are there marriage benefits?\",\n  \"why is aerobic exercise good for you?\",\n  \"why do nice guys finish last?\",\n  \"why is there arabic writing on pringles?\",\n  \"why are bases 90 ft apart?\",\n  \"why is xcode so buggy?\",\n  \"why bzr is better than git?\",\n  \"why is ivanhoe a hero?\",\n  \"why do dying people reach upward?\",\n  \"why are there dinosaurs in dbz?\",\n  \"why is msg so bad?\",\n  \"why do adults take adderall?\",\n  \"why is nrt so expensive?\",\n  \"why do we yawn?\",\n  \"why is there a zipper in the bottom of my suitcase?\",\n  \"why do glaciers move?\",\n  \"why do my rpms jump?\",\n  \"why is there road rage?\",\n  \"why are hsbc shares dropping?\",\n  \"why do uti cause confusion?\",\n  \"why is drinking age 21?\",\n  \"why is ee cummings important?\",\n  \"why is there fresh blood in my stool?\",\n  \"why are frames so expensive?\",\n  \"why do hackers use ubuntu?\",\n  \"why is there ignorance?\",\n  \"why are there llamas at machu picchu?\",\n  \"why is there a kangaroo in flashforward?\",\n  \"why are dancers so mean?\",\n  \"why are dogs afraid of fireworks?\",\n  \"why are umbrellas round?\",\n  \"why are ccas compulsory?\",\n  \"why is there different races of people?\",\n  \"why do qbs identify the mike?\",\n  \"why do hipsters like wu tang?\",\n  \"why is now a bad thing?\",\n  \"why is there current in the neutral?\",\n  \"why is kudzu a problem?\",\n  \"why do fwd cars have spoilers?\",\n  \"why do people rsvp?\",\n  \"why do dogs chase their tails?\",\n  \"why are there circles under my eyes?\",\n  \"why are eames chairs so expensive?\",\n  \"why is effort important?\",\n  \"why do sloths hang upside down?\",\n  \"why is there no dvr for radio?\",\n  \"why hello there urban dictionary?\",\n  \"why are gsm cells hexagonal?\",\n  \"why is sony hx9v discontinued?\",\n  \"why is there swelling with a broken bone?\",\n  \"why are servlets better than cgi?\",\n  \"why is fbar required?\",\n  \"why are there no connections available?\",\n  \"why are humans afraid of spiders?\",\n  \"why is twilight so bad?\",\n  \"why are there kings and queens in england?\",\n  \"why are there deserts on our planet?\",\n  \"why is there baggage fees?\",\n  \"why are there sanctions on cuba?\",\n  \"why is there botulism in honey?\",\n  \"why is airfare so expensive?\",\n  \"why is there very little atmosphere on the moon?\",\n  \"why are there vegans?\",\n  \"why do hr consulting?\",\n  \"why do lymph nodes hurt?\",\n  \"why do eels like the sargasso sea?\",\n  \"why is aeschylus important to world literature?\",\n  \"why do dvd players stop reading discs?\",\n  \"why do people hate lg phones?\",\n  \"why do amps have fx loops?\",\n  \"why is bb cream so expensive?\",\n  \"why do foils fall in love?\",\n  \"why do mkv files stutter?\",\n  \"why is ejbfindbyprimarykey mandatory?\",\n  \"why is eye contact important in public speaking?\",\n  \"why is einsteinium named after einstein?\",\n  \"why do we have dmt?\",\n  \"why is nhur dropping?\",\n  \"why do lpg prices go up?\",\n  \"why is nj ocean water so cold?\",\n  \"why is overtraining bad?\",\n  \"why is vmware fusion so slow?\",\n  \"why is uganda called uganda?\",\n  \"why is there an e on my calculator?\",\n  \"why are ghetto people so loud?\",\n  \"why are germans so rude?\",\n  \"why is there a zombie apocalypse?\",\n  \"why do you sneeze?\",\n  \"why do muscles spasm?\",\n  \"why do you need vmware?\",\n  \"why do people hate nickelback?\",\n  \"why are dka patients npo?\",\n  \"why are gsk shares rising?\",\n  \"why are there 13 wraps in a noose?\",\n  \"why are there no ultras in england?\",\n  \"why is there ketoacidosis in diabetes?\",\n  \"why are there after school programs?\",\n  \"why is fdr ranked as a great president?\",\n  \"why are diamonds expensive?\",\n  \"why are us troops in afghanistan?\",\n  \"why is akon in jail?\",\n  \"why is there high unemployment in spain?\",\n  \"why do identical twins have different phenotypes?\",\n  \"why is lte faster than wifi?\",\n  \"why is aizen immortal?\",\n  \"why is there traffic on freeways?\",\n  \"why do bacteria have lps?\",\n  \"why are boys so confusing?\",\n  \"why are pcbs bad?\",\n  \"why is there four seasons?\",\n  \"why is bht in cereal?\",\n  \"why do mmos have bad graphics?\",\n  \"why is gpu faster than cpu?\",\n  \"why are lh and fsh referred to as gonadotropins?\",\n  \"why are there geniuses?\",\n  \"why do khloe and lamar have a loft?\",\n  \"why is yugioh so addicting?\",\n  \"why is there dark matter?\",\n  \"why is california broke?\",\n  \"why are people boycotting jcpenney?\",\n  \"why is there a statue of lincoln in wyoming?\",\n  \"why are patients npo for surgery?\",\n  \"why is gdp not accurate?\",\n  \"why are there other religions?\",\n  \"why are bbq chips so good?\",\n  \"why are there bibles in hotel rooms?\",\n  \"why do women wear high heels?\",\n  \"why do virgo men cheat?\",\n  \"why are there rainbows around the sun?\",\n  \"why is there air in my water system?\",\n  \"why is wcf so slow?\",\n  \"why is psychic weak to bug?\",\n  \"why do quaker parrots puff up?\",\n  \"why is there no cd?\",\n  \"why is there seeds in my poop?\",\n  \"why are aeroplanes pressurised?\",\n  \"why are geese so mean?\",\n  \"why do volatility smiles exist?\",\n  \"why do twin flames separate?\",\n  \"why are tomato leaves turning yellow?\",\n  \"why is jack a nickname for john?\",\n  \"why are there april showers?\",\n  \"why do arabs own liquor stores?\",\n  \"why are there three types of hepatitis?\",\n  \"why are utis more common in women than men?\",\n  \"why do ghosts haunt us?\",\n  \"why are moths dusty?\",\n  \"why is cvp analysis important?\",\n  \"why is mf doom a fake?\",\n  \"why is iphone better than galaxy?\",\n  \"why is there fog over water?\",\n  \"why is there immunity?\",\n  \"why are there ice caps?\",\n  \"why are there five platonic solids?\",\n  \"why is oakland so ghetto?\",\n  \"why do bruises turn yellow?\",\n  \"why are african americans so fast?\",\n  \"why is there a ho-oh in the first episode of pokemon?\",\n  \"why is funner not a word?\",\n  \"why is there an mtv2?\",\n  \"why are there so many tsunamis?\",\n  \"why is lbs the abbreviation for pounds?\",\n  \"why is there only kangaroos in australia?\",\n  \"why do hangnails hurt?\",\n  \"why is bsa added to restriction digest?\",\n  \"why is gum illegal in singapore?\",\n  \"why are there pop up ads on youtube?\",\n  \"why do daft punk wear masks?\",\n  \"why is beer on tap better?\",\n  \"why is there dst?\",\n  \"why are there no good tv shows?\",\n  \"why are there public bathrooms in korea?\",\n  \"why are there different types of soil?\",\n  \"why is there an eject button on the remote?\",\n  \"why is kellie pickler bald?\",\n  \"why are nj flags at half staff today?\",\n  \"why do eels generate electricity?\",\n  \"why do frogs require water to reproduce?\",\n  \"why are there calories in vodka?\",\n  \"why are there eight days in hanukkah?\",\n  \"why do hot air balloons float?\",\n  \"why is pvc used?\",\n  \"why do objects bounce?\",\n  \"why is gta 4 not working?\",\n  \"why is psychology important as a social science?\",\n  \"why is there kings and queens?\",\n  \"why do illegal immigrants demand rights?\",\n  \"why is my hvac leaking water?\",\n  \"why do zulus hate xhosas?\",\n  \"why are there no servers on gmod?\",\n  \"why are carl\\\"s jr and hardee\\\"s different?\",\n  \"why are klm flights so expensive?\",\n  \"why is the sky blue?\",\n  \"why is qe bad for pensions?\",\n  \"why is vs2010 so slow?\",\n  \"why is kundalini dangerous?\",\n  \"why are there no fossils in igneous rocks?\",\n  \"why are there few blue colored plants?\",\n  \"why is there no self service in nj?\",\n  \"why is there islamic extremism?\",\n  \"why do hearing aids whistle?\",\n  \"why do labs chew?\",\n  \"why is there rice a roni in my coffee?\",\n  \"why do ethiopians have good hair?\",\n  \"why is there hypokalemia in dka?\",\n  \"why are snes games so expensive?\",\n  \"why is ie better than chrome?\",\n  \"why is there always a cvs buy walgreens?\",\n  \"why is cpu at 100?\",\n  \"why is there poison oak?\",\n  \"why do laws exist?\",\n  \"why is ppf concave?\",\n  \"why are ksp values so low?\",\n  \"why are mncs controversial?\",\n  \"why is there euthanasia?\",\n  \"why is william shakespeare important?\",\n  \"why is there two washingtons?\",\n  \"why are there grooves in tires?\",\n  \"why are sardines good for you?\",\n  \"why are there no absolute truths in science?\",\n  \"why are there ps3 iso?\",\n  \"why are aly and aj famous?\",\n  \"why are glasses so expensive?\",\n  \"why are writers so weird?\",\n  \"why do rpms fluctuate?\",\n  \"why is tyler perry so famous?\",\n  \"why do quail dig in the dirt?\",\n  \"why are there medical schools in the caribbean?\",\n  \"why are there very few volcanoes in the himalayas?\",\n  \"why are rmds required?\",\n  \"why are tsunamis hard to detect?\",\n  \"why do ovarian cysts burst?\",\n  \"why is sds used in protein electrophoresis?\",\n  \"why is jk rowling so famous?\",\n  \"why is nmr important?\",\n  \"why do we say uh?\",\n  \"why do people hate ndamukong suh?\",\n  \"why do hospitals need jcaho accreditation?\",\n  \"why are oxidation reduction reactions important?\",\n  \"why is dwyane wade not playing?\",\n  \"why do we need lte?\",\n  \"why do nz hate australia?\",\n  \"why are there rings around planets?\",\n  \"why are there quilt squares on barns?\",\n  \"why is halibut so expensive?\",\n  \"why is there voltage across an open circuit?\",\n  \"why is time base 60?\",\n  \"why are native plants important?\",\n  \"why are air mags so expensive?\",\n  \"why are xylem and phloem called complex tissues?\",\n  \"why do kids get warts?\",\n  \"why is btu important?\",\n  \"why are there exclamation marks on my itunes?\",\n  \"why do shrimp turn pink?\",\n  \"why do onions upset my stomach?\",\n  \"why do hypoglycemics sweat?\",\n  \"why is there mental illness?\",\n  \"why is broccoli good for you?\",\n  \"why do oil companies use fracking?\",\n  \"why is global warming happening?\",\n  \"why are kwa glocks discontinued?\",\n  \"why pmps are invaluable to an organization?\",\n  \"why is there a surge in ppi complaints?\",\n  \"why is feminism important?\",\n  \"why are dll files missing?\",\n  \"why are there so many hmong people in minnesota?\",\n  \"why are there extra pages at the end of books?\",\n  \"why do yelp reviews disappear?\",\n  \"why do zombies run fast?\",\n  \"why is there 2 a in aaron?\",\n  \"why do vampires bite necks?\",\n  \"why are gills external and lungs internal?\",\n  \"why do girls say eww?\",\n  \"why is there occupational segregation?\",\n  \"why is there no prostate cancer awareness?\",\n  \"why do labs eat grass?\",\n  \"why do women shave their legs?\",\n  \"why are tv screens measured diagonally?\",\n  \"why do kittens lick you?\",\n  \"why do i get fps lag?\",\n  \"why are there nets in bathing suits?\",\n  \"why is sleep important?\",\n  \"why do women like jerks?\",\n  \"why do we have nightmares?\",\n  \"why do hdmi ports go bad?\",\n  \"why is there arsenic in food?\",\n  \"why do men have affairs?\",\n  \"why is ny called the big apple?\",\n  \"why do omega psi phi bark?\",\n  \"why are there supply depots on mlg maps?\",\n  \"why are there new presenters on ok tv?\",\n  \"why is there limited vegetation in the tundra?\",\n  \"why do people hate nj?\",\n  \"why do people use mkv format?\",\n  \"why is there salt in the ocean and not in lakes?\",\n  \"why do aeroplanes fly?\",\n  \"why is cnn in atlanta?\",\n  \"why are umbrellas made of nylon?\",\n  \"why is it bw3 and not bw2?\",\n  \"why are rpgs so fun?\",\n  \"why are volcanoes dangerous?\",\n  \"why do ghosts scare people?\",\n  \"why are bananas bad luck on a boat?\",\n  \"why are tumi bags so expensive?\",\n  \"why do people work?\",\n  \"why is there sales tax on ebay?\",\n  \"why are pictures square?\",\n  \"why do azeotropes form?\",\n  \"why is xfire down?\",\n  \"why are there jealous people?\",\n  \"why are there no basements in texas?\",\n  \"why is fyrinnae closed?\",\n  \"why is fynbos important?\",\n  \"why are fps games popular?\",\n  \"why is there an obesity epidemic in america?\",\n  \"why is xbox one bad?\",\n  \"why are gas prices so high now?\",\n  \"why is johnny depp tonto?\",\n  \"why are abercrombie stores so dark?\",\n  \"why do sgrhos say ee-yip?\",\n  \"why is sweeney todd rated r?\",\n  \"why are there numbers in how i met your mother?\",\n  \"why do bpd split?\",\n  \"why are there no mcdonalds or starbucks in sudan?\",\n  \"why is there high lh in pcos?\",\n  \"why is ozone important to life on earth?\",\n  \"why are bf3 patches so big?\",\n  \"why is bigamy illegal?\",\n  \"why is there authoritarianism?\",\n  \"why do people get rls?\",\n  \"why is gmail free?\",\n  \"why are ddos attacks hard to stop?\",\n  \"why is climate change a problem?\",\n  \"why are there so many socially awkward people?\",\n  \"why is gst divided by 11?\",\n  \"why is irony used?\",\n  \"why do eskimos kiss with their noses?\",\n  \"why are cds 74 minutes?\",\n  \"why do patriots uniforms say mhk?\",\n  \"why is veigar bad?\",\n  \"why is energy needed when the body is at rest?\",\n  \"why are there no kangaroos in the bible?\",\n  \"why do we use rsvp?\",\n  \"why is knowledge good?\",\n  \"why is there no h m online store?\",\n  \"why do jamaicans run so fast?\",\n  \"why do americans hate soccer?\",\n  \"why are there lines on my lcd tv?\",\n  \"why is rdio so expensive?\",\n  \"why are iep teams important?\",\n  \"why are there unmyelinated axons?\",\n  \"why is there mercury in fluorescent light bulbs?\",\n  \"why are there so many versions of html?\",\n  \"why are squash rotting on the vine?\",\n  \"why are pdf files blank?\",\n  \"why are officers called pigs?\",\n  \"why is gucci mane in jail 2013?\",\n  \"why do i get tmp files?\",\n  \"why are there no krogers in florida?\",\n  \"why are pfts done?\",\n  \"why do we use xmlserializer class?\",\n  \"why do reptiles shed?\",\n  \"why are there two svchost?\",\n  \"why do people support pgd?\",\n  \"why do pregnant women snore?\",\n  \"why are dmvs closed on mondays?\",\n  \"why is there more daylight in the summer?\",\n  \"why is xpadder not working?\",\n  \"why do questions?\",\n  \"why are the greens at tpc?\",\n  \"why is idvd not on my mac?\",\n  \"why are there zero calories in pickles?\",\n  \"why do veins pop out?\",\n  \"why are there no dinosaur fossils in ohio?\",\n  \"why is oil good?\",\n  \"why is tnt cancelling southland?\",\n  \"why are nyc bagels so good?\",\n  \"why do ryanair charge an administration fee?\",\n  \"why do people protest wto?\",\n  \"why are tiffany sb so expensive?\",\n  \"why are there deserts in utah nevada and arizona?\",\n  \"why is green tea good for you?\",\n  \"why are fungi important?\",\n  \"why do gt5 licenses?\",\n  \"why are there more peanut allergies today?\",\n  \"why is xerath getting reworked?\",\n  \"why are there helen keller jokes?\",\n  \"why is lga closed?\",\n  \"why does xd mean?\",\n  \"why do planets rotate?\",\n  \"why do people like windows xp?\",\n  \"why do african americans hate africans?\",\n  \"why are there byes in fantasy basketball?\",\n  \"why do ex gf come back?\",\n  \"why are ct scans done?\",\n  \"why do women douche?\",\n  \"why is there pee in my blood?\",\n  \"why is there a john muir award?\",\n  \"why is agility important?\",\n  \"why is wmpnetwk.exe running?\",\n  \"why is mmr hidden?\",\n  \"why is rupee weakening?\",\n  \"why are current events important?\",\n  \"why is there pain in my chest?\",\n  \"why is there wire in bras?\",\n  \"why do zucchini shrivel up?\",\n  \"why is pmi so expensive?\",\n  \"why is chad johnson in jail?\",\n  \"why are there more bugs in summer?\",\n  \"why is cnn showing boston\\\"s finest?\",\n  \"why are people fleeing bhutan?\",\n  \"why are employee benefits important?\",\n  \"why is lol called pinky?\",\n  \"why do upperclassmen hate freshmen?\",\n  \"why is drinking bad?\",\n  \"why do dfs take so long?\",\n  \"why are there gods?\",\n  \"why are nurses so mean?\",\n  \"why are there gnats in my house plants?\",\n  \"why are whales hunted?\",\n  \"why is avocado good for hair?\",\n  \"why is zncl2 a lewis acid?\",\n  \"why do urinals exist?\",\n  \"why is there bond convexity?\",\n  \"why do we use wcf services?\",\n  \"why is wyatt earp famous?\",\n  \"why is xylem important to plants?\",\n  \"why do legs get sore?\",\n  \"why is ie8 so slow?\",\n  \"why bzr is better than x?\",\n  \"why do lemons float and limes sink?\",\n  \"why is there a kink in a clinical thermometer?\",\n  \"why do aquatic animals excrete ammonia?\",\n  \"why is eyewitness testimony still used?\",\n  \"why is market research important?\",\n  \"why are there justin bieber haters?\",\n  \"why do guys pull away?\",\n  \"why do wwe superstars shave?\",\n  \"why do ryanair land so fast?\",\n  \"why is gba4ios not opening?\",\n  \"why do ideas seem better at night?\",\n  \"why is there earthquakes in oklahoma?\",\n  \"why is ewan mcgregor so hot?\",\n  \"why are zoos a good thing?\",\n  \"why do my dms disappear?\",\n  \"why do jaws pop?\",\n  \"why are dc hotels so expensive?\",\n  \"why are there so many stray cats in kuwait?\",\n  \"why is aquaman so lame?\",\n  \"why is iowa so liberal?\",\n  \"why are there owls in harry potter?\",\n  \"why are bt so rubbish?\",\n  \"why are there two narrators in wuthering heights?\",\n  \"why are smart people mean?\",\n  \"why do nuns wear veils?\",\n  \"why are nv diet pills discontinued?\",\n  \"why do redheads have no soul?\",\n  \"why is there empty seats at the olympics?\",\n  \"why are md80s so loud?\",\n  \"why are there different kanji for the same word?\",\n  \"why do some programs trigger uac?\",\n  \"why do ibanking?\",\n  \"why is there no bb bra size?\",\n  \"why are attics so hot?\",\n  \"why is there a lion on sri lanka flag?\",\n  \"why do plants have thorns?\",\n  \"why do turtles hiss?\",\n  \"why is uiwebview so slow?\",\n  \"why are hp touchpads so cheap?\",\n  \"why are the ionization nebulae so bright?\",\n  \"why is there poverty?\",\n  \"why are there veins on my feet?\",\n  \"why are there different authors for the 39 clues?\",\n  \"why are rna primers needed for dna replication?\",\n  \"why are graduation hats square?\",\n  \"why do rhinos stomp out fires?\",\n  \"why is there different versions of the bible?\",\n  \"why are there 5 debian dvds?\",\n  \"why is halo rated m?\",\n  \"why are there sugar ants in my bathroom?\",\n  \"why is farmed salmon bad?\",\n  \"why is solar energy good?\",\n  \"why are oklahomans called sooners?\",\n  \"why is lv successful?\",\n  \"why do kroner have holes?\",\n  \"why do equality\\\"s teachers?\",\n  \"why are gb doing so well?\",\n  \"why do dwarf hamsters make noises?\",\n  \"why is zenni optical so cheap?\",\n  \"why are there 2 csrss.exe running?\",\n  \"why are irrational numbers important?\",\n  \"why are celebrities liberal?\",\n  \"why are mmo characters called toons?\",\n  \"why is nba 2k13 freezing?\",\n  \"why are there egyptian obelisks in rome?\",\n  \"why is wto good?\",\n  \"why are dystopian novels important?\",\n  \"why are flies important?\",\n  \"why are there scabs on my dog?\",\n  \"why are there commercials?\",\n  \"why are rna primers produced?\",\n  \"why do cupcakes sink?\",\n  \"why are tsunamis shallow water waves?\",\n  \"why do authors use metaphors?\",\n  \"why are twitter accounts suspended?\",\n  \"why is gvwr less than gawr?\",\n  \"why do people use mkv files?\",\n  \"why are us airlines so bad?\",\n  \"why is xml such an important development?\",\n  \"why are jovian planets so large?\",\n  \"why do seasons happen?\",\n  \"why do estp like infj?\",\n  \"why is hpv curable?\",\n  \"why are there supply depots on gsl maps?\",\n  \"why is sgu cancelled?\",\n  \"why is eponine in the epilogue?\",\n  \"why are neuromuscular blocking agents important?\",\n  \"why do sd cards stop working?\",\n  \"why are otters endangered?\",\n  \"why is there quinoa in my poop?\",\n  \"why is kobe bryant so good?\",\n  \"why are there tornadoes in the usa?\",\n  \"why are wireframes important?\",\n  \"why do men have npples?\",\n  \"why is fresh choice closed?\",\n  \"why is cdata on my contacts?\",\n  \"why is slavery good?\",\n  \"why are there gnats in my sink?\",\n  \"why do ethics matter?\",\n  \"why are html standards important?\",\n  \"why are koreans so annoying?\",\n  \"why is eonline green?\",\n  \"why do nba players flop?\",\n  \"why are pffs plans going away?\",\n  \"why is there rush hour traffic?\",\n  \"why is louis ck so funny?\",\n  \"why is there biodiversity?\",\n  \"why are llanelli people called turks?\",\n  \"why do orientals have small eyes?\",\n  \"why is uganda called the pearl of africa?\",\n  \"why is there weight gain after quitting smoking?\",\n  \"why are there so many hmong people in wisconsin?\",\n  \"why is azdrama not working?\",\n  \"why are there clocks in chess?\",\n  \"why are old people grumpy?\",\n  \"why are psychologists important?\",\n  \"why are japanese eggs so orange?\",\n  \"why is illegal immigration important?\",\n  \"why are there holes in my tomatoes?\",\n  \"why is zelda so popular?\",\n  \"why is there violence?\",\n  \"why is ffx so good?\",\n  \"why do patriots have mhk on their jerseys?\",\n  \"why are metals shiny?\",\n  \"why are dystopias common in contemporary myth?\",\n  \"why are new media a linkage institution?\",\n  \"why do i feel bloated?\",\n  \"why is there gherkin in a mcdonalds burger?\",\n  \"why is there yellow in my sperm?\",\n  \"why do you need jquery?\",\n  \"why is there a thumbs.db file?\",\n  \"why are exams timed?\",\n  \"why are fda regulations important?\",\n  \"why is existentialism bad?\",\n  \"why are shoulders so hard to develop?\",\n  \"why are there no sprouts at jimmy johns?\",\n  \"why are knees darker?\",\n  \"why is there very little water in the desert?\",\n  \"why are there cannibals?\",\n  \"why are nj gas stations full service?\",\n  \"why are lucky strikes so expensive?\",\n  \"why is there tuft of hair in spina bifida?\",\n  \"why are earbuds magnetic?\",\n  \"why do canadians need uae visa?\",\n  \"why is wtc called ground zero?\",\n  \"why do mcdonald\\\"s not deliver?\",\n  \"why do crayfish molt?\",\n  \"why is gbp called cable?\",\n  \"why are there tides yahoo?\",\n  \"why do cells undergo mitosis?\",\n  \"why are there ocean ridges?\",\n  \"why is there gst?\",\n  \"why are lpg prices so high australia?\",\n  \"why is there always war?\",\n  \"why are there frog statues in erie pa?\",\n  \"why are mlb fields different sizes?\",\n  \"why is jay z hov?\",\n  \"why do english people say mum?\",\n  \"why is fx not on fios on demand?\",\n  \"why is australia upside down?\",\n  \"why is are we there yet rated pg?\",\n  \"why is dfw closed?\",\n  \"why are there no animals in aokigahara?\",\n  \"why is the drinking age 21?\",\n  \"why are ghosts scary?\",\n  \"why is bmi still used?\",\n  \"why is uk so expensive?\",\n  \"why is egypt famous in the history of storytelling?\",\n  \"why is hr management important?\",\n  \"why is there high cpu usage?\",\n  \"why do iguanas get dark?\",\n  \"why is fyrinnae down?\",\n  \"why are vitamins essential to good health?\",\n  \"why are there gold quarters?\",\n  \"why do ms in us?\",\n  \"why are there bumps on my penis?\",\n  \"why do emos cut?\",\n  \"why are ebooks so expensive 2013?\",\n  \"why do italians look arab?\",\n  \"why are iron triangles important?\",\n  \"why are mbt shoes good for you?\",\n  \"why is iphone 5 so slow?\",\n  \"why are gnma funds dropping 2013?\",\n  \"why do i get eharmony emails?\",\n  \"why do dogs lick us?\",\n  \"why are dysons so expensive?\",\n  \"why is there advertising on youtube?\",\n  \"why are bg shares going down?\",\n  \"why is euthanasia good?\",\n  \"why is there night and day on earth?\",\n  \"why is there a plague in oedipus?\",\n  \"why is cinco de mayo celebrated more in the us?\",\n  \"why is dzeko not playing?\",\n  \"why do we need fdi?\",\n  \"why is there lime in corona?\",\n  \"why do kids get lice?\",\n  \"why do teens do drugs?\",\n  \"why is there blood in urine uti?\",\n  \"why are dc shoes so expensive?\",\n  \"why is emulsification important?\",\n  \"why is rvd coming back to wwe 2013?\",\n  \"why is there money on the kennedy graves?\",\n  \"why do virgo men lie?\",\n  \"why do umpires touch the catcher?\",\n  \"why is facetime not working?\",\n  \"why is school so boring?\",\n  \"why is prince philip not king?\",\n  \"why is argo rated r?\",\n  \"why is skype so slow?\",\n  \"why are nvidia tesla so expensive?\",\n  \"why do a qtip trust?\",\n  \"why do vulcans look like romulans?\",\n  \"why do nsaids cause hypertension?\",\n  \"why are silver prices dropping?\",\n  \"why do xbox games get scratched?\",\n  \"why do ngos go where they go?\",\n  \"why are pmcs bad?\",\n  \"why is oymyakon russia so cold?\",\n  \"why is ftb not working?\",\n  \"why are beats so expensive?\",\n  \"why do opiates make you feel so good?\",\n  \"why do objects fall at the same rate?\",\n  \"why is jaden smith so worried?\",\n  \"why are there few civil rights in the uae?\",\n  \"why is rt in english?\",\n  \"why do cigarettes make you light headed?\",\n  \"why are izaya\\\"s eyes red?\",\n  \"why do burns ooze?\",\n  \"why do skaters smoke weed?\",\n  \"why are there no bikes in gta 3?\",\n  \"why do vulcans look like humans?\",\n  \"why do diesels smoke?\",\n  \"why is pwc better than deloitte?\",\n  \"why do wounds ooze?\",\n  \"why is pablo sandoval not playing?\",\n  \"why is rvd in smackdown 2011?\",\n  \"why are siberian tigers endangered?\",\n  \"why do veins look blue?\",\n  \"why are cnidarians important to humans?\",\n  \"why are offshore accounts illegal?\",\n  \"why is statistics important?\",\n  \"why is cps closing schools?\",\n  \"why is there multiple svchost exe?\",\n  \"why are there application fees?\",\n  \"why do ovarian cysts cause pain?\",\n  \"why are akb48 so popular?\",\n  \"why do chihuahuas bark a lot?\",\n  \"why are there no more ww2 games?\",\n  \"why is night vision green?\",\n  \"why is vga better than hdmi?\",\n  \"why do we celebrate ozone day?\",\n  \"why are there octopus in steampunk?\",\n  \"why do i need udid?\",\n  \"why do oysters make my stomach hurt?\",\n  \"why do veins pop out on hands?\",\n  \"why do kyrgyz look chinese?\",\n  \"why are eels dark?\",\n  \"why are zn solutions colorless?\",\n  \"why is there censorship in schools?\",\n  \"why is bgt not on itv player?\",\n  \"why do we use kwh?\",\n  \"why do we use rms values?\",\n  \"why are there so many nhl games?\",\n  \"why is there april showers?\",\n  \"why is gmo dangerous?\",\n  \"why do uniforms have the flag backwards?\",\n  \"why are ewoks hated?\",\n  \"why do oscar fish fight?\",\n  \"why is lucifer called satan?\",\n  \"why is eos lip balm in an egg?\",\n  \"why is aj from pitbulls and parolees in jail?\",\n  \"why are gmo foods bad for us?\",\n  \"why are xlr cables used?\",\n  \"why is there doctor patient confidentiality?\",\n  \"why is there double d?\",\n  \"why do armpits stink?\",\n  \"why are teams essential to health care?\",\n  \"why are ciara and rihanna beefing?\",\n  \"why are there optical illusions?\",\n  \"why is 60 fwy closed?\",\n  \"why are upwellings important?\",\n  \"why are iframes deprecated?\",\n  \"why is weed so good?\",\n  \"why is smosh so popular?\",\n  \"why are pmcs good?\",\n  \"why are hdl and ldl formed?\",\n  \"why is there air in my hot water line?\",\n  \"why is 1420 mhz protected?\",\n  \"why do people hate ffx?\",\n  \"why is there turbulence when flying?\",\n  \"why is mxit free on cell c?\",\n  \"why is there after school red and blue?\",\n  \"why do girls say hmm?\",\n  \"why are there zigzag lines on london streets?\",\n  \"why do abs cramp up?\",\n  \"why do vitamins make me tired?\",\n  \"why isnt there nba?\",\n  \"why are lgbt youth bullied?\",\n  \"why is ahri good?\",\n  \"why do virgos worry so much?\",\n  \"why is cheese yellow?\",\n  \"why is there just one girl smurf?\",\n  \"why are butterfly knives illegal?\",\n  \"why is wobbuffet banned?\",\n  \"why are there volcanoes at subduction zones?\",\n  \"why do koreans say fighting?\",\n  \"why are there breaks in the tour de france?\",\n  \"why is ck elevated in muscular dystrophy?\",\n  \"why is there two l\\\"s in llama?\",\n  \"why are there several ethnic variations of mypyramid?\",\n  \"why is jr smith not playing?\",\n  \"why is fb down today?\",\n  \"why are there two different king neptunes?\",\n  \"why is music haram?\",\n  \"why do ant bites itch?\",\n  \"why is dsl slow?\",\n  \"why do skyscrapers have spires?\",\n  \"why is knife spelt with a k?\",\n  \"why do i have high fsh?\",\n  \"why are x rays so expensive?\",\n  \"why are ctenophores bioluminescent?\",\n  \"why is there no mcdonalds in belize?\",\n  \"why is dyrus mid?\",\n  \"why is there an apostrophe in oakland a\\\"s?\",\n  \"why is dlna so slow?\",\n  \"why is the?\",\n  \"why is cvg called cvg?\",\n  \"why are kuwaitis arrogant?\",\n  \"why is xm radio so expensive?\",\n  \"why is dhoni not playing?\",\n  \"why do tcas cause weight gain?\",\n  \"why do leg cramps happen?\",\n  \"why are enzymes important to living systems?\",\n  \"why are there multiple open reading frames?\",\n  \"why do expatriates fail?\",\n  \"why do robbers wear stockings?\",\n  \"why we are using rmi?\",\n  \"why is hydropower bad?\",\n  \"why do koreans use metal utensils?\",\n  \"why is lvs stock dropping?\",\n  \"why is there pain with ms?\",\n  \"why are ohs records kept?\",\n  \"why do horses wear blinders?\",\n  \"why are egyptians protesting?\",\n  \"why is current i?\",\n  \"why is ohio school funding unconstitutional?\",\n  \"why are there no xbox 360 emulators?\",\n  \"why is there an x in lax?\",\n  \"why is there kosher salt?\",\n  \"why is there korean in nicki minaj?\",\n  \"why do toenails curl?\",\n  \"why do people fart?\",\n  \"why is ahmad rashad on golf channel?\",\n  \"why are saabs so cheap?\",\n  \"why do usher wear red shoes?\",\n  \"why is wyoming square?\",\n  \"why do old dogs pant?\",\n  \"why do rhodesian ridgebacks whine?\",\n  \"why do nfl players die young?\",\n  \"why is oots down?\",\n  \"why is ftb crashing?\",\n  \"why are chemical equations balanced?\",\n  \"why are there squatters rights?\",\n  \"why do people say xmas instead of christmas?\",\n  \"why are rpgs so long?\",\n  \"why are wetlands ditched?\",\n  \"why do guys have nipples?\",\n  \"why is there no pst recoverable?\",\n  \"why do teens join gangs?\",\n  \"why do we need wpf?\",\n  \"why is there no dv for protein?\",\n  \"why do nipples get sore?\",\n  \"why are dna tests never 100?\",\n  \"why are there 1024 bytes in a kilobyte?\",\n  \"why is there tingling in my feet?\",\n  \"why is there a new zodiac sign?\",\n  \"why is hz important in lcd tvs?\",\n  \"why is gps always on iphone?\",\n  \"why is there no cure for osteoporosis?\",\n  \"why is wpa better than wep?\",\n  \"why are vitamins not fda approved?\",\n  \"why is json faster than xml?\",\n  \"why is water the universal solvent?\",\n  \"why is aylmer described as pale?\",\n  \"why are bf3 servers so laggy?\",\n  \"why are frogs so loud at night?\",\n  \"why are there two keck telescopes?\",\n  \"why is pms and pregnancy symptom similar?\",\n  \"why do people put fml?\",\n  \"why is mac so slow?\",\n  \"why is sb 1070 controversy?\",\n  \"why is deforestation a problem?\",\n  \"why do the kwakwaka\\\"wakw perform the potlatch?\",\n  \"why are there no earthquakes in rhode island?\",\n  \"why do ghouls fall in love putlocker?\",\n  \"why do i always feel tired?\",\n  \"why do tncs invest in ledcs?\",\n  \"why is amumu always banned?\",\n  \"why are heavy metals toxic?\",\n  \"why is there snot in my throat?\",\n  \"why are there rollie pollies in my house?\",\n  \"why do rspca help?\",\n  \"why is there a square on a basketball backboard?\",\n  \"why is there thymine in dna and uracil in rna?\",\n  \"why are there youtube ads?\",\n  \"why are hrt in f1?\",\n  \"why are bricks red?\",\n  \"why are there pyramids all around the world?\",\n  \"why are there so many commercials on mtv?\",\n  \"why do yawns feel good?\",\n  \"why are there worms in my oatmeal?\",\n  \"why is nc called first in flight?\",\n  \"why do dci?\",\n  \"why is mtp so slow?\",\n  \"why is there a system of checks and balances?\",\n  \"why is humidity important?\",\n  \"why is tpn so expensive?\",\n  \"why do vaccines contain mercury?\",\n  \"why is there eight days of passover?\",\n  \"why are otters so cute?\",\n  \"why is there only 4 members in shinee?\",\n  \"why do people say kmt?\",\n  \"why do we use ndvi?\",\n  \"why is there pain in uti?\",\n  \"why do gdp and gnp differ?\",\n  \"why is there no aleve pm?\",\n  \"why do you need gb on xbox?\",\n  \"why is adobe reader so slow?\",\n  \"why do owls hoot in the daytime?\",\n  \"why is ryan seacrest famous?\",\n  \"why is there crime?\",\n  \"why do people get tmj?\",\n  \"why do it bands get tight?\",\n  \"why are mcdonalds spoons so weird?\",\n  \"why do we use ubuntu?\",\n  \"why are edibles more potent?\",\n  \"why is zinc good for men?\",\n  \"why is there judgement?\",\n  \"why are there skulls on clothes?\",\n  \"why is there favoritism in the workplace?\",\n  \"why are ccb contraindicated in heart failure?\",\n  \"why is oxygen needed by the body?\",\n  \"why is there a zipper on google?\",\n  \"why is there jet lag?\",\n  \"why are air conditioners measured in tons?\",\n  \"why are tcu the horned frogs?\",\n  \"why is twitter 140 characters?\",\n  \"why are there no kangaroos in america?\",\n  \"why do my fps?\",\n  \"why are there weevils in flour?\",\n  \"why do tampons hurt me?\",\n  \"why are eclipses rare?\",\n  \"why do md phd?\",\n  \"why is ombre hair so popular?\",\n  \"why is wmplayer exe running?\",\n  \"why do you use jpeg?\",\n  \"why is spam bad for you?\",\n  \"why do men like breasts?\",\n  \"why hvac is a good career?\",\n  \"why are vw so unreliable?\",\n  \"why do people say fyi?\",\n  \"why do gray hairs grow?\",\n  \"why are illuminati evil?\",\n  \"why is coffee called joe?\",\n  \"why are watersheds important?\",\n  \"why is jw player so slow?\",\n  \"why are bha and bht added to foods?\",\n  \"why do people hate t mobile?\",\n  \"why are pdf files opening in word?\",\n  \"why is lunch meat bad for you?\",\n  \"why are there orange bikes in tampa?\",\n  \"why is ubuntu so buggy?\",\n  \"why are spaghetti westerns called that?\",\n  \"why are round trip tickets cheaper?\",\n  \"why is slavery bad?\",\n  \"why are az flags at half mast?\",\n  \"why is there baskets at the us open?\",\n  \"why are there fishing regulations?\",\n  \"why is there rainbow around the sun?\",\n  \"why is love so hard to find?\",\n  \"why are there swarms of gnats?\",\n  \"why is there global poverty?\",\n  \"why is there curse words?\",\n  \"why do khajiit?\",\n  \"why do bpds push people away?\",\n  \"why is there an nhl trade deadline?\",\n  \"why is iambic pentameter important?\",\n  \"why are dbns sparse?\",\n  \"why do lefties die sooner?\",\n  \"why are retrospectives important in xp?\",\n  \"why do eric ears bleed?\",\n  \"why do jokes?\",\n  \"why is ogre club an axe?\",\n  \"why is there bacon in pvz?\",\n  \"why is there inflation in brazil?\",\n  \"why are antioxidants important?\",\n  \"why is owen wilson\\\"s nose crooked?\",\n  \"why are elections important?\",\n  \"why are air yeezys so expensive?\",\n  \"why are wrenches offset 15 degrees?\",\n  \"why are there fake owls on top of buildings?\",\n  \"why is mp3 so popular?\",\n  \"why do german shepherds have moles?\",\n  \"why are jaguars important?\",\n  \"why are eight electrons stable?\",\n  \"why is there an obesity problem in the united states?\",\n  \"why do butts smell?\",\n  \"why are there meteorites in antarctica?\",\n  \"why is cinnamon good for your skin?\",\n  \"why is there bet and not wet?\",\n  \"why is there pressure in the ocean?\",\n  \"why is nwc recovered?\",\n  \"why do aerobics?\",\n  \"why are there coffins in georgia?\",\n  \"why are ipads good?\",\n  \"why is time going by so fast?\",\n  \"why is there deja vu?\",\n  \"why are there so many cms?\",\n  \"why is rc a time constant?\",\n  \"why do koreans add ah?\",\n  \"why is scream 4 rated r?\",\n  \"why is there a writers strike?\",\n  \"why is there a problem with xbox live marketplace?\",\n  \"why are ulcers caused?\",\n  \"why do germans stare?\",\n  \"why do liberals hate the nra?\",\n  \"why are there american military bases in japan?\",\n  \"why do two iexplore.exe start?\",\n  \"why is sn2 favored by nai in acetone?\",\n  \"why do humans yawn?\",\n  \"why is neptune blue?\",\n  \"why are evergreens dying?\",\n  \"why are there ticks in my yard?\",\n  \"why are zach and trey rivals?\",\n  \"why do american women shave?\",\n  \"why is css called cascading?\",\n  \"why is mud rated pg 13?\",\n  \"why are bt upgrading modems?\",\n  \"why is fft symmetric?\",\n  \"why are there parishes in louisiana instead of counties?\",\n  \"why do illegals get food stamps?\",\n  \"why do symbols show up as boxes?\",\n  \"why are there eight bits in a byte?\",\n  \"why do aids patients lose weight?\",\n  \"why is there fighting in turkey?\",\n  \"why are there two positions where the image is in focus?\",\n  \"why do people use ftp?\",\n  \"why are iphones so cool?\",\n  \"why do abscess hurt?\",\n  \"why is xcopy so slow?\",\n  \"why are yawns?\",\n  \"why are potatoes not paleo?\",\n  \"why do dock leaves work on nettles?\",\n  \"why do bees like pool water?\",\n  \"why do nsaids cause constipation?\",\n  \"why is xoom better than ipad?\",\n  \"why is there other on my iphone?\",\n  \"why are women so jealous?\",\n  \"why is sri lanka a developing country?\",\n  \"why do llamas spit so much?\",\n  \"why are jw a cult?\",\n  \"why is there numbers on facebook?\",\n  \"why are there gideon bibles in hotel rooms?\",\n  \"why is bpm important?\",\n  \"why are there seeds in my weed?\",\n  \"why is there blood when i wipe?\",\n  \"why is azolla considered a natural fertilizer?\",\n  \"why are there squids in hockey?\",\n  \"why do horses lay down?\",\n  \"why do borussia dortmund sing ynwa?\",\n  \"why are there pearls in oysters?\",\n  \"why are you interested in pwc?\",\n  \"why is pi important?\",\n  \"why is there protest in brazil?\",\n  \"why are fossil fuels bad?\",\n  \"why are ptr servers locked?\",\n  \"why is ultrasound used?\",\n  \"why are nhl jerseys so expensive?\",\n  \"why do mlg players use 2 headsets?\",\n  \"why are plastic bags being banned?\",\n  \"why is bc and ad used?\",\n  \"why is eiffel tower important?\",\n  \"why are there tennis shoes on power lines?\",\n  \"why are pandas going extinct?\",\n  \"why is food important?\",\n  \"why are there snakes on the martinique flag?\",\n  \"why is climate change bad?\",\n  \"why do moths exist?\",\n  \"why are volcanoes important?\",\n  \"why do aa meetings work?\",\n  \"why do nz move to australia?\",\n  \"why is bacon bad for you?\",\n  \"why is npv the best method?\",\n  \"why is there oil in my coffee?\",\n  \"why are type o universal donors?\",\n  \"why is there braille on atms?\",\n  \"why is xfinity internet slow?\",\n  \"why is vga clearer than hdmi?\",\n  \"why are oem products cheaper?\",\n  \"why do i feel so sad?\",\n  \"why do phones have bad esn?\",\n  \"why do gpus get so hot?\",\n  \"why is there different religions?\",\n  \"why are pdf documents opening in word?\",\n  \"why do llamas attack?\",\n  \"why are there empty spaces in the periodic table?\",\n  \"why is pounds lbs?\",\n  \"why is kurt cobain so hot?\",\n  \"why are there girl and boy bikes?\",\n  \"why do urban areas flood?\",\n  \"why are there snaps on jeans?\",\n  \"why do sunburns feel hot?\",\n  \"why are midgets born midgets?\",\n  \"why is al terzi leaving wfsb?\",\n  \"why are cops so mean?\",\n  \"why are there sweepstakes?\",\n  \"why are my fb messages unavailable?\",\n  \"why is there pal and ntsc?\",\n  \"why do bulls have udders in barnyard?\",\n  \"why are there so many dystopian novels?\",\n  \"why do fools fall in love soundtrack?\",\n  \"why is wti in backwardation?\",\n  \"why is ej not stefano\\\"s son?\",\n  \"why are omega 6 bad?\",\n  \"why are opinion polls important?\",\n  \"why are there telescopes in space?\",\n  \"why do axons decussate?\",\n  \"why do ie tabs change color?\",\n  \"why do golfers wear gloves?\",\n  \"why is psn so slow?\",\n  \"why is yuleema imaginee famous yahoo?\",\n  \"why are israel in uefa?\",\n  \"why are there earthquakes in nz?\",\n  \"why is there pink sand?\",\n  \"why are diapers so expensive?\",\n  \"why do men rape?\",\n  \"why do people hate tiffany hwang?\",\n  \"why is globalization important?\",\n  \"why are there new nfl referees?\",\n  \"why is there chlorine in swimming pools?\",\n  \"why is texas the lone star state?\",\n  \"why is climate change important?\",\n  \"why are rms values used?\",\n  \"why is there pimples on my head?\",\n  \"why are omnivores important?\",\n  \"why are americans so patriotic?\",\n  \"why do koreans say aja aja?\",\n  \"why do tcas cause orthostatic hypotension?\",\n  \"why are dmv workers so rude?\",\n  \"why are bacteria considered ubiquitous?\",\n  \"why do x factor finalists mime?\",\n  \"why are there hnlc regions?\",\n  \"why are smart people religious?\",\n  \"why is vga still around?\",\n  \"why are there errors on page?\",\n  \"why is earth the just right planet?\",\n  \"why is xyrem so expensive?\",\n  \"why are phones getting bigger?\",\n  \"why are hcfcs better than cfcs?\",\n  \"why are xboxes not allowed in china?\",\n  \"why is there snow in my freezer?\",\n  \"why is gfp hydrophobic?\",\n  \"why do kleenex sparkle?\",\n  \"why do nice girls finish last?\",\n  \"why are there immigration quotas?\",\n  \"why are there so many japanese in hawaii?\",\n  \"why do eggs come in a dozen?\",\n  \"why is europe better than america?\",\n  \"why is ezreal so good?\",\n  \"why is there egg hunting on easter?\",\n  \"why is uic a good school?\",\n  \"why do nsaids cause strokes?\",\n  \"why are there no iphone 5 accessories?\",\n  \"why is there katakana?\",\n  \"why is there milk in my breast?\",\n  \"why is umezawa\\\"s jitte so good?\",\n  \"why is aggregate supply upward sloping?\",\n  \"why is nndb not credible?\",\n  \"why is pfizer exchanging stock with zoetis?\",\n  \"why is there a squiggly line in my vision?\",\n  \"why is north korea called democratic?\",\n  \"why is bf3 sp2 hybridized?\",\n  \"why are there armadillos in dracula?\",\n  \"why is kesha famous?\",\n  \"why is ajax asynchronous?\",\n  \"why are mps getting a pay rise?\",\n  \"why are there protests against the wto?\",\n  \"why is eps important?\",\n  \"why is there so much gold in the klondike?\",\n  \"why is folate important?\",\n  \"why are there dead cockroaches in my house?\",\n  \"why are there x\\\"s on the skyrim map?\",\n  \"why are nj taxes so high?\",\n  \"why are there two iditarod trails?\",\n  \"why are hr managers important?\",\n  \"why are there question marks instead of pictures on facebook?\",\n  \"why are there exhaust fans in bathrooms?\",\n  \"why is there no air is space?\",\n  \"why is odysseus tied to the mast?\",\n  \"why are g shocks so expensive?\",\n  \"why are hyacinth macaws so expensive?\",\n  \"why is nh3 stable?\",\n  \"why are there bags under my eyes?\",\n  \"why is axe called axe?\",\n  \"why is mk banned in australia?\",\n  \"why is there weight gain during periods?\",\n  \"why do you use ky jelly?\",\n  \"why are there millipedes in my house?\",\n  \"why is cannabis illegal?\",\n  \"why is there oil in my air filter?\",\n  \"why is yahoo email so slow?\",\n  \"why is nonverbal communication important?\",\n  \"why is cdc important?\",\n  \"why is rms greater than average?\",\n  \"why is gandhi famous?\",\n  \"why are there locks on the brooklyn bridge?\",\n  \"why are movies nr?\",\n  \"why ieps are bad?\",\n  \"why is there phlegm?\",\n  \"why do i need an lpa?\",\n  \"why is vancouver so expensive?\",\n  \"why is ibuprofen bad for your liver?\",\n  \"why are there 2 wwe champions?\",\n  \"why do vulcans speak english?\",\n  \"why is obamacare bad for doctors?\",\n  \"why are electric cars so expensive?\",\n  \"why is kissing fun?\",\n  \"why is mr dilaurentis mad at hanna?\",\n  \"why is absinthe illegal?\",\n  \"why is lv famous?\",\n  \"why is mzhiphop not working?\",\n  \"why are seat belts important?\",\n  \"why are there two svchost.exe?\",\n  \"why are shoes so important?\",\n  \"why is south park not on netflix?\",\n  \"why are there no servers on css?\",\n  \"why are there so few hd radios?\",\n  \"why do vultures circle?\",\n  \"why are printers cmyk?\",\n  \"why are there nursing theories?\",\n  \"why is nwoye a disappointment to okonkwo?\",\n  \"why is there more matter than antimatter?\",\n  \"why do you use lb for pounds?\",\n  \"why are mlb players wearing camo?\",\n  \"why is there matter?\",\n  \"why do joints hurt?\",\n  \"why do skunks stink?\",\n  \"why is illmatic so good?\",\n  \"why is there a slash in cvs pharmacy?\",\n  \"why is there pyramid on dollar?\",\n  \"why is effy depressed?\",\n  \"why do toes cramp?\",\n  \"why do uk lawyers wear wigs?\",\n  \"why is btc-e down?\",\n  \"why is soda bad for you?\",\n  \"why is uars satellite falling?\",\n  \"why are fingerprints unique?\",\n  \"why do equinoxes occur?\",\n  \"why is english hard to learn?\",\n  \"why ykk are on zippers?\",\n  \"why are gps paid so much?\",\n  \"why is secret life ending?\",\n  \"why do new businesses fail?\",\n  \"why do nsaids cause heart failure?\",\n  \"why do horses crib?\",\n  \"why aren\\\"t there dwarves in lord of the rings?\",\n  \"why do we need lvm?\",\n  \"why are green screens green?\",\n  \"why is utorrent so slow?\",\n  \"why is deet harmful?\",\n  \"why do glasses get dirty?\",\n  \"why is nonny sad on bubble guppies?\",\n  \"why is gc content important?\",\n  \"why are there no oboes in marching band?\",\n  \"why are there so many refurbished dysons?\",\n  \"why are mpcs so expensive?\",\n  \"why are ibanez jems so expensive?\",\n  \"why was there rwandan genocide?\",\n  \"why is wcf so difficult?\",\n  \"why do mlb players chew tobacco?\",\n  \"why is ebitda so important?\",\n  \"why do axons have a refractory period?\",\n  \"why do ions form?\",\n  \"why is kyle reese so important?\",\n  \"why do cds have holes?\",\n  \"why are id badges important?\",\n  \"why are mdb files blocked in sharepoint?\",\n  \"why do students plagiarize?\",\n  \"why do errors keep occuring on youtube?\",\n  \"why is cpap contraindicated in hypotension?\",\n  \"why is oxygen considered a medication?\",\n  \"why is pta important?\",\n  \"why are dlls registered?\",\n  \"why is there fuzz in my fish tank?\",\n  \"why are eggs dairy?\",\n  \"why is there cramping after iui?\",\n  \"why is wfm down?\",\n  \"why are there termites in my house?\",\n  \"why do sd cards lock?\",\n  \"why is effective communication important in business?\",\n  \"why are people ticklish?\",\n  \"why is rct3 lagging?\",\n  \"why is mono lake salty?\",\n  \"why is nc so humid?\",\n  \"why do people protest against wto?\",\n  \"why are there no ads on bbc?\",\n  \"why is rvd leaving tna?\",\n  \"why do fsh levels rise during menopause?\",\n  \"why is utilitarianism important?\",\n  \"why is there a knot in my ear lobe?\",\n  \"why are nba players so good?\",\n  \"why are rts so hard?\",\n  \"why is sex a sin?\",\n  \"why are there ads on my youtube video?\",\n  \"why do tsunamis occur after volcanoes?\",\n  \"why is npv better than other methods?\",\n  \"why do khajiit lick?\",\n  \"why is there two wwe belts?\",\n  \"why do oxygen sensors go bad?\",\n  \"why do people like ncis?\",\n  \"why is imovie so slow?\",\n  \"why is nj called garden state?\",\n  \"why is there french in louisiana?\",\n  \"why is ukee washington not on the news?\",\n  \"why is there no nhl season?\",\n  \"why is there no zaros godsword?\",\n  \"why do you like ft island?\",\n  \"why are iv fluids given?\",\n  \"why do awd cars understeer?\",\n  \"why is queen elizabeth queen?\",\n  \"why are dogs tails docked?\",\n  \"why is ayatollah khomeini important?\",\n  \"why do europeans wear speedos?\",\n  \"why is lhc underground?\",\n  \"why is aol not working?\",\n  \"why do other countries hate america?\",\n  \"why is tim tebow so famous?\",\n  \"why is there worms in my rice?\",\n  \"why do optical illusions move?\",\n  \"why are there storms?\",\n  \"why is fish not meat?\",\n  \"why is it there is no 13th floor?\",\n  \"why are zodiac signs so accurate?\",\n  \"why are there riots in stockholm?\",\n  \"why do diabetics lose weight?\",\n  \"why do gps earn so much?\",\n  \"why do ozone levels drop off sharply at night?\",\n  \"why do xbox fanboys hate ps3?\",\n  \"why is there insulin resistance in pcos?\",\n  \"why is there coke zero and diet coke?\",\n  \"why is there identity theft?\",\n  \"why is sb always with nicki minaj?\",\n  \"why do yeast infections come back?\",\n  \"why is there phlegm when i cough?\",\n  \"why are km called clicks?\",\n  \"why are there estate taxes?\",\n  \"why is there gang violence?\",\n  \"why is yiddish similar to german?\",\n  \"why are economists concerned about inflation?\",\n  \"why do we need jre?\",\n  \"why are extracurricular activities important?\",\n  \"why do people #ff?\",\n  \"why do cpus cost so much?\",\n  \"why are rdp houses built?\",\n  \"why is there nuclear power?\",\n  \"why are there suds in my pool?\",\n  \"why do wwe stars go to tna?\",\n  \"why are there no nfl teams in canada?\",\n  \"why is hwayoung leaving t ara?\",\n  \"why are fbar penalties so high?\",\n  \"why do my breasts hurt?\",\n  \"why are iag shares rising?\",\n  \"why is pcp called angel dust?\",\n  \"why is azshara horde symbol?\",\n  \"why are mcdonalds spoons square?\",\n  \"why are eyes important?\",\n  \"why are twins always together?\",\n  \"why is year round school good?\",\n  \"why is there fireworks in mob of the dead?\",\n  \"why do md/mba?\",\n  \"why do djs use macbook pro?\",\n  \"why do roaches fly?\",\n  \"why are there different dvd zones?\",\n  \"why do mncs exist?\",\n  \"why is khan british star trek?\",\n  \"why do hermia and helena argue?\",\n  \"why are dntps used in pcr?\",\n  \"why are alkane molecules nonpolar?\",\n  \"why are my wma files protected?\",\n  \"why do nsaids cause gi problems?\",\n  \"why is there tax on ios developer program?\",\n  \"why is kmp stock falling?\",\n  \"why is there narration on fox?\",\n  \"why do emails go to spam?\",\n  \"why are abortions so expensive?\",\n  \"why do republicans hate democrats?\",\n  \"why are ostrich boots so expensive?\",\n  \"why do vultures circle their food?\",\n  \"why is there sexism?\",\n  \"why do i have negative jcoins?\",\n  \"why is uganda underdeveloped?\",\n  \"why do ds games freeze?\",\n  \"why is there tingling in my fingers?\",\n  \"why are there two dates on the nc flag?\",\n  \"why is msg in everything?\",\n  \"why is iverson broke?\",\n  \"why are efas important?\",\n  \"why do nsaids cause drowsiness?\",\n  \"why is rcb wearing green?\",\n  \"why are chips ahoy called chips ahoy?\",\n  \"why are there so many samoans in utah?\",\n  \"why is ktm so good?\",\n  \"why are there human rights?\",\n  \"why do celebrities go crazy?\",\n  \"why are there no austrian socialists?\",\n  \"why is gps disabled on droid?\",\n  \"why are oscars called oscars?\",\n  \"why do overweight people get diabetes?\",\n  \"why is there only a 20 chance of pregnant?\",\n  \"why are electric cars good?\",\n  \"why is hsg done?\",\n  \"why are sewers round?\",\n  \"why is there agency cost?\",\n  \"why is dg a fraternity?\",\n  \"why are cbc labs ordered?\",\n  \"why are earthquakes common in california?\",\n  \"why is omega 6 bad for you?\",\n  \"why is akira so popular?\",\n  \"why do ppl get married?\",\n  \"why are typewriter keys where they are?\",\n  \"why do yellow fly bites itch?\",\n  \"why do pregnant women have cravings?\",\n  \"why are there flavored condoms?\",\n  \"why do sf grow beards?\",\n  \"why is there abusive relationships?\",\n  \"why is jsf used?\",\n  \"why do we use 50 hz?\",\n  \"why do jaws lock?\",\n  \"why do nosebleeds happen at night?\",\n  \"why do boils form?\",\n  \"why do rich people do drugs?\",\n  \"why is sriracha good for you?\",\n  \"why do adults have stem cells?\",\n  \"why are naps good for you?\",\n  \"why do your boobs hurt?\",\n  \"why is there reality tv?\",\n  \"why ncl5 do not exist?\",\n  \"why is there a key on a map?\",\n  \"why are multivitamins bad for you?\",\n  \"why is eleanor a beard?\",\n  \"why do ozone levels drop at night?\",\n  \"why is scott disick so rich?\",\n  \"why is hvac important to computer security?\",\n  \"why do puppies dig?\",\n  \"why is illinois called land of lincoln?\",\n  \"why is there baptism?\",\n  \"why is aol slow?\",\n  \"why is there plasma in blood?\",\n  \"why do food deserts exist?\",\n  \"why is there discharge when i poop?\",\n  \"why do yugi and yami duel?\",\n  \"why do fungal infections itch?\",\n  \"why is x gal added to plates?\",\n  \"why is pandora not working?\",\n  \"why is downloading music illegal?\",\n  \"why are pats wearing mhk?\",\n  \"why is there drake pictures?\",\n  \"why is there ring around the moon?\",\n  \"why is uk better than the us?\",\n  \"why is psychology not a science?\",\n  \"why do companies issue bonds?\",\n  \"why are lymph nodes clustered?\",\n  \"why is ck elevated?\",\n  \"why are wwe crowds so dead?\",\n  \"why is milk bad for you?\",\n  \"why is mlk important?\",\n  \"why are wyoming flags at half staff?\",\n  \"why do people say kthxbai?\",\n  \"why do girls have discharge?\",\n  \"why are there no gymnastics in the paralympics?\",\n  \"why is there toll roads?\",\n  \"why are there 2 sodium ions in na2co3?\",\n  \"why is dhs buying bullets?\",\n  \"why are there storage auctions?\",\n  \"why do want this job?\",\n  \"why are twins born early?\",\n  \"why do you need ajob?\",\n  \"why do lsu fans smell like corndogs?\",\n  \"why are there no owls in antarctica?\",\n  \"why do onions go to seed early?\",\n  \"why are snakes tongues forked?\",\n  \"why do monks wear orange?\",\n  \"why is africa important?\",\n  \"why is hope important?\",\n  \"why is gto called a goat?\",\n  \"why is there no b sharp?\",\n  \"why is there a nwo?\",\n  \"why do my mkv files skip?\",\n  \"why is there maggots in my dog\\\"s poop?\",\n  \"why are there so many award shows?\",\n  \"why do rabbits dig holes?\",\n  \"why are there different screw heads?\",\n  \"why is vmware important?\",\n  \"why is espn first take not on?\",\n  \"why is ike scratched out?\",\n  \"why is ottawa the senators?\",\n  \"why are ncos the backbone of the army?\",\n  \"why is there no men\\\"s rhythmic gymnastics?\",\n  \"why are there 2 iexplore.exe?\",\n  \"why is ftd shipping so expensive?\",\n  \"why is there ginger in my beard?\",\n  \"why is rawhide bad for dogs?\",\n  \"why are sunsets red?\",\n  \"why do eyes change color with clothes?\",\n  \"why do silent letters exist?\",\n  \"why are ms drugs so expensive?\",\n  \"why is mccoy called bones?\",\n  \"why are djarum cigarettes illegal?\",\n  \"why is ddr2 so expensive now?\",\n  \"why are marines called jarheads?\",\n  \"why do you cc someone in an email?\",\n  \"why are there any koalas in wa?\",\n  \"why are llamas so awesome?\",\n  \"why are nz soldiers in afghanistan?\",\n  \"why is there eutrophication?\",\n  \"why are there roman numerals in compounds?\",\n  \"why is rvd returning?\",\n  \"why is there gender discrimination in the workplace?\",\n  \"why do pythons squeeze their prey?\",\n  \"why do people say kk?\",\n  \"why are nvqs changing?\",\n  \"why is sf so cold?\",\n  \"why are there blue lobsters?\",\n  \"why are san franciscans so busy?\",\n  \"why is there fog in sf?\",\n  \"why are rpgs so hard?\",\n  \"why is there liquid in blisters?\",\n  \"why are there so many eunuchs in india?\",\n  \"why are yams good for bodybuilding?\",\n  \"why are there ip addresses?\",\n  \"why are there gnats in my shower?\",\n  \"why is there life after death?\",\n  \"why do iraqis hate americans?\",\n  \"why are vulcans so strong?\",\n  \"why do judges serve for life?\",\n  \"why do hr audits?\",\n  \"why do i need lvm?\",\n  \"why is there zonation in a mangrove habitat?\",\n  \"why is bpa dangerous?\",\n  \"why is tape sticky?\",\n  \"why is there no jobs uk?\",\n  \"why do arabs hate the us?\",\n  \"why do pisces lie?\",\n  \"why is there extreme poverty?\",\n  \"why are there afk rooms in league of legends?\",\n  \"why is celery good for you?\",\n  \"why are dogs so loyal?\",\n  \"why is nflx down today?\",\n  \"why are fsh and icsh referred to as gonadotropins?\",\n  \"why do sikhs wear kara?\",\n  \"why do xenon headlights flicker?\",\n  \"why do they call it a honeymoon?\",\n  \"why is cbs cancelling vegas?\",\n  \"why are there open container laws?\",\n  \"why do ivf cycles get cancelled?\",\n  \"why is mrs turner drawn to janie?\",\n  \"why is socialism bad?\",\n  \"why is there fluid in the lungs?\",\n  \"why do floods occur?\",\n  \"why are kryptonians weak on krypton?\",\n  \"why do ids expire?\",\n  \"why are silver prices so low?\",\n  \"why is hwoarang not in the tekken movie?\",\n  \"why is there a knocking noise in my engine?\",\n  \"why is ukraine important to the us?\",\n  \"why is ffvii so popular?\",\n  \"why do mosquitoes bite feet?\",\n  \"why don\\\"t we dating?\",\n  \"why is there laughing in tv shows?\",\n  \"why do ducks stand on one leg?\",\n  \"why are educational standards important?\",\n  \"why is there a system idle process?\",\n  \"why unions are bad?\",\n  \"why is zfs so good?\",\n  \"why are texas homes so cheap?\",\n  \"why is there no equality?\",\n  \"why are usher and shakira leaving the voice?\",\n  \"why do deer shed their antlers?\",\n  \"why are zappos employees happy?\",\n  \"why are there no new tv episodes this week?\",\n  \"why do we pay tds?\",\n  \"why do people move ks2?\",\n  \"why is there conflict between israel and palestine?\",\n  \"why is there illuminati in mw3?\",\n  \"why is gba4ios not downloading?\",\n  \"why are liquids usually difficult to compress?\",\n  \"why is pwned spelled with a p?\",\n  \"why is bbq called bbq?\",\n  \"why are cuban cigars the best?\",\n  \"why is there mhk on the patriots uniform?\",\n  \"why are acura tl so expensive?\",\n  \"why do fbi agents always wear suits?\",\n  \"why is there greenhouse effect and global warming?\",\n  \"why is there no avatar book 4?\",\n  \"why is ruby slow?\",\n  \"why are there hills in clermont fl?\",\n  \"why is ginger good for you?\",\n  \"why are there poppies ww1?\",\n  \"why do rpm go up and down?\",\n  \"why are there empty pages at the end of books?\",\n  \"why are lps so expensive?\",\n  \"why are condoms so expensive?\",\n  \"why do we use kbr in ir?\",\n  \"why are eels electric?\",\n  \"why is there gang violence in chicago?\",\n  \"why are there no basements in az?\",\n  \"why do people hate fb timeline?\",\n  \"why are there 3 different versions of html?\",\n  \"why are ikea prices so low?\",\n  \"why do squirrels attack snakes?\",\n  \"why is muni so bad?\",\n  \"why are zanzibar leopards endangered?\",\n  \"why is sd card not showing correct capacity?\",\n  \"why are there exceptions to ionization energy?\",\n  \"why is anastasia karanikolaou famous?\",\n  \"why is there only one master chief?\",\n  \"why is catfish called catfish?\",\n  \"why is ppd bad?\",\n  \"why is md the old line state?\",\n  \"why are you my remedy?\",\n  \"why are there roly polys in my house?\",\n  \"why are quakers called friends?\",\n  \"why are there unfinished houses in puno?\",\n  \"why is tobacco legal?\",\n  \"why are there different oceans?\",\n  \"why are there agricultural subsidies?\",\n  \"why are there ice hockey fights?\",\n  \"why do children get kwashiorkor?\",\n  \"why is sgt pepper so good?\",\n  \"why are mammoths extinct?\",\n  \"why are ucu on strike?\",\n  \"why are ibex endangered?\",\n  \"why are leatherback sea turtles endangered?\",\n  \"why do you need tpn?\",\n  \"why are there no krispy kremes in ny?\",\n  \"why do edamame have hair?\",\n  \"why is there education?\",\n  \"why is lloyd called the earl of pudding?\",\n  \"why do people say nm?\",\n  \"why is nsa prism bad?\",\n  \"why do ice ages happen?\",\n  \"why are there red x\\\"s instead of pictures?\",\n  \"why do psychics use candles?\",\n  \"why are there seagulls in utah?\",\n  \"why do knees swell up?\",\n  \"why are there americans in libya?\",\n  \"why are ssd prices going up?\",\n  \"why are actors paid so much?\",\n  \"why do accents go away when singing?\",\n  \"why is ellen showing reruns?\",\n  \"why is there ozone hole in antarctica?\",\n  \"why do alcoholics lie?\",\n  \"why is there ghost?\",\n  \"why are there hardee\\\"s and carl\\\"s jr?\",\n  \"why do akitas bark?\",\n  \"why is sfo shutdown?\",\n  \"why is there no bob dylan on spotify?\",\n  \"why are uk houses so small?\",\n  \"why do you love me lyrics?\",\n  \"why are mlps tax advantaged?\",\n  \"why are there so many ukrainian orphans?\",\n  \"why are wrestlers so strong?\",\n  \"why do equity research?\",\n  \"why is stealing wrong?\",\n  \"why do people watch tmz?\",\n  \"why is there an upward force on objects in a fluid?\",\n  \"why is sinister rated r?\",\n  \"why is tylenol safe for pregnancy women?\",\n  \"why is there hurricanes?\",\n  \"why is alcohol a depressant?\",\n  \"why is msg dangerous?\",\n  \"why is there going to be a pink moon?\",\n  \"why is there photosynthesis?\",\n  \"why is jk rowling influential?\",\n  \"why are there different ssris?\",\n  \"why is there silence on the moon?\",\n  \"why are sf giants wearing gigantes?\",\n  \"why are kelp forests important?\",\n  \"why do i see?\",\n  \"why do gauges smell bad?\",\n  \"why do ms symptoms move around?\",\n  \"why are there penguin statues in tulsa ok?\",\n  \"why are uc schools good?\",\n  \"why do hangovers hurt?\",\n  \"why is there low salinity at the equator?\",\n  \"why are suits so expensive?\",\n  \"why do tma hate mma?\",\n  \"why is there numbers in arabic?\",\n  \"why do the bcs computers hate wisconsin?\",\n  \"why is true religion so popular?\",\n  \"why are all the ffxiv servers down?\",\n  \"why do i need a xobni account?\",\n  \"why is lynne stewart in jail?\",\n  \"why are there protests in bahrain?\",\n  \"why is there in easter bunny?\",\n  \"why are there subtitles on my netflix?\",\n  \"why do people like cm punk?\",\n  \"why is xlr cable balanced?\",\n  \"why are there so many awkward silences?\",\n  \"why are fungi ubiquitous?\",\n  \"why are there orphans in ukraine?\",\n  \"why is svchost connecting to the internet?\",\n  \"why is pwned owned?\",\n  \"why is cvs always across from walgreens?\",\n  \"why is ivf immoral?\",\n  \"why do siberian huskies howl?\",\n  \"why do we need dfd?\",\n  \"why do i fart alot?\",\n  \"why do newborns cry in their sleep?\",\n  \"why is vw camper backfiring?\",\n  \"why are illnesses worse at night?\",\n  \"why is there a hippocratic oath?\",\n  \"why do people bully?\",\n  \"why do gmo\\\"s need protection?\",\n  \"why is there fighting in hockey?\",\n  \"why do nonmetals tend to form anions?\",\n  \"why is there ever a thirteenth floor?\",\n  \"why is boiling-point elevation a colligative property?\",\n  \"why are there fans on golf courses?\",\n  \"why is there so many idiots?\",\n  \"why is there fluoride in nursery water?\",\n  \"why do we need ngos in india?\",\n  \"why is there lumps in my sperm?\",\n  \"why is there symmetry in biology?\",\n  \"why are azerbaijan in eurovision?\",\n  \"why are there 82 games in nhl season?\",\n  \"why is udp considered unreliable?\",\n  \"why are there rocks on roofs?\",\n  \"why do ayakashi wear masks?\",\n  \"why are there so many vitamin b\\\"s?\",\n  \"why is taking initiative important?\",\n  \"why are there volcanoes on io?\",\n  \"why do mosquitoes bite?\",\n  \"why are humans so intelligent?\",\n  \"why is wind power good?\",\n  \"why is fundraising important?\",\n  \"why are there circles in fields?\",\n  \"why do yeast infections itch and burn?\",\n  \"why are there other galaxies?\",\n  \"why is ulysses a good book?\",\n  \"why is hot water good for you?\",\n  \"why do zebras have stripes for kids?\",\n  \"why is tna suing wwe?\",\n  \"why is fmcc going down?\",\n  \"why is there less oxygen in warm water?\",\n  \"why is there so much other on iphone?\",\n  \"why are there no operons in eukaryotes?\",\n  \"why are immigrants good for the economy?\",\n  \"why do qbs lift their leg?\",\n  \"why are gypsies so hot?\",\n  \"why are there olympic mascots?\",\n  \"why are there bibles in all hotel rooms?\",\n  \"why is omaha steaks so expensive?\",\n  \"why is there implantation bleeding?\",\n  \"why are there hashtags on roblox?\",\n  \"why are there multiple oxidation numbers?\",\n  \"why is adderall banned in sports?\",\n  \"why do nails grow fast?\",\n  \"why are there cheerleaders at the olympics?\",\n  \"why are https sites blocked?\",\n  \"why are there height restrictions on roller coasters?\",\n  \"why are overweight people strong?\",\n  \"why do tdap shots hurt?\",\n  \"why are there unnatural omens during the night?\",\n  \"why are there helicopters over cambridge?\",\n  \"why is guacamole bad for you?\",\n  \"why do teenagers drink nz?\",\n  \"why are there us troops in japan?\",\n  \"why is there sharp pains in my stomach?\",\n  \"why is rfid used?\",\n  \"why are there dragons in the bible?\",\n  \"why is nitroglycerin such a powerful explosive?\",\n  \"why are there sanctions against iran?\",\n  \"why are there 19 stars on the mn flag?\",\n  \"why is spam called spam?\",\n  \"why is hno3 and nano3 not a buffer?\",\n  \"why is russia backing syria?\",\n  \"why is there different types of blood?\",\n  \"why are legumes bad?\",\n  \"why is there a lump under my armpit?\",\n  \"why is the xds not legal in california?\",\n  \"why is there a jordan jersey in miami?\",\n  \"why are there 2 ethernet ports?\",\n  \"why do mdm projects fail?\",\n  \"why is python slow?\",\n  \"why are there iceberg hunters?\",\n  \"why are there cycling accidents?\",\n  \"why are there planets in solar system?\",\n  \"why is rye bread good for you?\",\n  \"why is suburbanization considered to be an urban problem?\",\n  \"why are there big flies in my house?\",\n  \"why is obama not impeached?\",\n  \"why do road tyres have grooves?\",\n  \"why do zebras live in herds?\",\n  \"why is tv better than books?\",\n  \"why is hf covalent?\",\n  \"why is nra so powerful?\",\n  \"why is there odor?\",\n  \"why are designers selected using qbs?\",\n  \"why are there abc stores?\",\n  \"why are irish girls so attractive?\",\n  \"why are nj flags at half staff?\",\n  \"why do point bars form?\",\n  \"why is nicotine bad?\",\n  \"why is there sweetcorn in poo?\",\n  \"why is squatting so important?\",\n  \"why are mkv files jerky?\",\n  \"why are gmos in food?\",\n  \"why do krogstad and christine meet?\",\n  \"why do imessages send as text?\",\n  \"why is json important?\",\n  \"why do military men cheat?\",\n  \"why is google so slow?\",\n  \"why are adenoids removed?\",\n  \"why do elephants have ivory tusks?\",\n  \"why are pyramids made?\",\n  \"why is oda nobunaga famous?\",\n  \"why are deserts so dry?\",\n  \"why are special effects called fx?\",\n  \"why is fn 5.7 so expensive?\",\n  \"why are sweat stains yellow?\",\n  \"why do pigs oink?\",\n  \"why are uruguay in the confederations cup?\",\n  \"why are african elephants endangered?\",\n  \"why do lbo investors use debt?\",\n  \"why is wti so low?\",\n  \"why do rna seq?\",\n  \"why are irish people so strong?\",\n  \"why are you proud of uae?\",\n  \"why are pugs so cute?\",\n  \"why is there still no cure for cancer?\",\n  \"why are ivory billed woodpeckers hunted?\",\n  \"why do oysters spit?\",\n  \"why are there zits on my arms?\",\n  \"why are squats so good?\",\n  \"why do pc games run slow?\",\n  \"why are there 6 rs?\",\n  \"why do mcdonald\\\"s burgers taste so good?\",\n  \"why is there airplane mode on phones?\",\n  \"why are there so many ps3 updates?\",\n  \"why do ups drivers honk?\",\n  \"why is ny so expensive?\",\n  \"why are data plans so expensive?\",\n  \"why are over under shotguns expensive?\",\n  \"why is there jelly in my seamen?\",\n  \"why are there blocked tabs on ultimate guitar?\",\n  \"why is there ethanol in cough medicine?\",\n  \"why do fools fall in love movie online?\",\n  \"why are css used?\",\n  \"why are writing skills important in the workplace?\",\n  \"why are rsv shots so expensive?\",\n  \"why are igneous rocks strong?\",\n  \"why is there an x in my battery icon?\",\n  \"why are seals hunted?\",\n  \"why is there ginger with sushi?\",\n  \"why is xcode 4 not free?\",\n  \"why do llamas have weird eyes?\",\n  \"why is yi so op?\",\n  \"why is pluto not a planet anymore?\",\n  \"why is o negative?\",\n  \"why is there less wind at night?\",\n  \"why are ramen noodles so cheap?\",\n  \"why are raisins called raisins?\",\n  \"why do pools have chlorine?\",\n  \"why is oschino locked up?\",\n  \"why is earth tilted?\",\n  \"why is there a uk budget deficit?\",\n  \"why do lunar phases occur?\",\n  \"why do squirrels swish their tails?\",\n  \"why do beats by dre cost so much?\",\n  \"why do efficiency wages cause unemployment?\",\n  \"why are dmaa products discontinued?\",\n  \"why do infants cry?\",\n  \"why is ziggs not played?\",\n  \"why do people like uberhaxornova?\",\n  \"why is my printer offline?\",\n  \"why do bhupathi and paes fight?\",\n  \"why is climate important?\",\n  \"why is bcaa important?\",\n  \"why is kidney failure life threatening?\",\n  \"why do hris systems fail?\",\n  \"why are bees so important?\",\n  \"why is there good and evil in the world?\",\n  \"why are there sloth memes?\",\n  \"why are there few volcanoes in the himalaya?\",\n  \"why is there a knife in the last supper?\",\n  \"why are pvc toys dangerous?\",\n  \"why is there 2 avp.exe?\",\n  \"why is there discrimination?\",\n  \"why do some cbds suffer from decline?\",\n  \"why are there little hairs on tires?\",\n  \"why is there no home and away?\",\n  \"why are eigenvalues and eigenvectors important?\",\n  \"why is dwight eisenhower famous?\",\n  \"why is there time differences?\",\n  \"why is mkv better?\",\n  \"why are plastics called polymers?\",\n  \"why is there no espn philly?\",\n  \"why isn\\\"t there mrs. santa claus?\",\n  \"why are oysters important?\",\n  \"why is iit the perfect place for me?\",\n  \"why are cockroaches bad?\",\n  \"why are airfares so high?\",\n  \"why are nyc hotels so expensive?\",\n  \"why are there boogers in my underwear?\",\n  \"why do ezio and desmond look the same?\",\n  \"why do jen and cj break up?\",\n  \"why do icebergs float in water?\",\n  \"why is oklahoma more prone to tornadoes?\",\n  \"why is baby poop yellow?\",\n  \"why do ducks hiss?\",\n  \"why do wwe fans chant yes?\",\n  \"why are ppm used in nmr?\",\n  \"why are lyrics important?\",\n  \"why do leaves turn upside down?\",\n  \"why are fbi agents important?\",\n  \"why are there violent video games?\",\n  \"why do they mime on x factor?\",\n  \"why are there two victorias in twilight?\",\n  \"why do bed bugs come?\",\n  \"why do lights flicker?\",\n  \"why are there pyramids in egypt and south america?\",\n  \"why is xerath underplayed?\",\n  \"why is ezekiel called a prophet of justice?\",\n  \"why are hr departments so bad?\",\n  \"why is ttfn banned?\",\n  \"why do volcanoes occur?\",\n  \"why is ww1 significant?\",\n  \"why is egypt protesting 2013?\",\n  \"why are aye ayes killed?\",\n  \"why are there cliques in church?\",\n  \"why are there dark spots on my skin?\",\n  \"why is dbm negative?\",\n  \"why do haters hate?\",\n  \"why is ogden nash famous?\",\n  \"why is urea in cigarettes?\",\n  \"why do ocean waves refract?\",\n  \"why do genital warts itch?\",\n  \"why are there dams on rivers?\",\n  \"why do i get dlinksearch?\",\n  \"why is fsh high in menopause?\",\n  \"why is million mm?\",\n  \"why is gtr so fast?\",\n  \"why do people play rpg games?\",\n  \"why do legs fall asleep?\",\n  \"why is gta 3 so hard?\",\n  \"why do serial killers kill?\",\n  \"why are there tornadoes in bangladesh?\",\n  \"why is there lava in bo2 zombies?\",\n  \"why is there an h on my cell phone?\",\n  \"why is my fwb jealous?\",\n  \"why is there no www?\",\n  \"why do tsunamis happen in japan?\",\n  \"why is nz a democracy?\",\n  \"why are kumquats sour?\",\n  \"why is there gnats in my house?\",\n  \"why states are opposing fdi?\",\n  \"why is og kush the best strain?\",\n  \"why is cultural appropriation bad?\",\n  \"why are cvt transmissions bad?\",\n  \"why is there genetically modified food?\",\n  \"why is ogsmc so good?\",\n  \"why are xdm illegal in california?\",\n  \"why is ginger root good for you?\",\n  \"why is there currently in the coil?\",\n  \"why are mkv so small?\",\n  \"why are hydrangeas not blooming?\",\n  \"why do babies get rsv?\",\n  \"why do ohio state and michigan hate?\",\n  \"why are herbs not fda approved?\",\n  \"why do nettles sting?\",\n  \"why is gold valuable?\",\n  \"why are there skill testing questions?\",\n  \"why is kh3 on xbox?\",\n  \"why do people say eh?\",\n  \"why are there us embassies in other countries?\",\n  \"why do graves sink?\",\n  \"why is kryptonite superman\\\"s weakness?\",\n  \"why are there no girls in sf?\",\n  \"why are all the bees dying?\",\n  \"why is whatsapp so popular?\",\n  \"why is snowden a traitor?\",\n  \"why are ehrs important?\",\n  \"why is phosphorus important?\",\n  \"why is there nausea during pregnancy?\",\n  \"why are there missing episodes on netflix?\",\n  \"why is wti and brent different?\",\n  \"why is there arsenic in rice?\",\n  \"why do equations need to be balanced?\",\n  \"why do ethics training?\",\n  \"why is fye going out of business?\",\n  \"why is dc better than marvel?\",\n  \"why do dead fish float?\",\n  \"why is hdmi worse than vga?\",\n  \"why do xenomorphs have 2 mouths?\",\n  \"why is there ethanol in my gas?\",\n  \"why is vitamin d important?\",\n  \"why do cysts form on ovaries?\",\n  \"why do dock items move?\",\n  \"why do we celebrate eid?\",\n  \"why do nuts itch?\",\n  \"why is there upwelling on the equator?\",\n  \"why do oats give me gas?\",\n  \"why is gmail not working on iphone?\",\n  \"why is xkcd 3d?\",\n  \"why is there three credit scores?\",\n  \"why are ultimate guitar tabs blocked?\",\n  \"why do they call it a wake?\",\n  \"why is bt safe for humans?\",\n  \"why is there no zara australia online?\",\n  \"why do paul jr and senior fight?\",\n  \"why is there laughing in sitcoms?\",\n  \"why are tornadoes dangerous?\",\n  \"why are pdf files so large when scanned?\",\n  \"why are there more blue m&ms?\",\n  \"why are nsaids contraindicated in chf?\",\n  \"why is there the running of the bulls?\",\n  \"why are drivers in russia so bad?\",\n  \"why are ms patients sensitive to heat?\",\n  \"why is bsa used as a standard?\",\n  \"why do hamsters squeak?\",\n  \"why are wasps so aggressive?\",\n  \"why are ms quints so expensive?\",\n  \"why do dreads thin out?\",\n  \"why is there a mobo awards?\",\n  \"why is khso4 acidic?\",\n  \"why is amanda bynes wearing wigs?\",\n  \"why are there bye weeks in fantasy basketball?\",\n  \"why is there no nba team in pittsburgh?\",\n  \"why is there iodine in shrimp?\",\n  \"why is odysseus a hero in trouble?\",\n  \"why are all zippers ykk?\",\n  \"why is ff14 so bad?\",\n  \"why are there koreans in wcs europe?\",\n  \"why do dwarfs have big heads?\",\n  \"why are rpgs so popular in japan?\",\n  \"why are there un troops in america?\",\n  \"why are the kardashians famous?\",\n  \"why is gymnastics a good sport?\",\n  \"why are ring tailed lemurs endangered?\",\n  \"why are hispanic men so creepy?\",\n  \"why do funerals cost so much?\",\n  \"why do aboriginals have blonde hair?\",\n  \"why are there phosphates in detergents?\",\n  \"why do seagulls stand on one leg?\",\n  \"why is there violence in the middle east?\",\n  \"why do the tmnt have italian names?\",\n  \"why are there viruses on the internet?\",\n  \"why is there lye in soap?\",\n  \"why is e waste bad?\",\n  \"why are there earthquakes in utah?\",\n  \"why is bt infinity slow?\",\n  \"why is jcp sorry?\",\n  \"why is there other on my ipad?\",\n  \"why are there weight limits on roads?\",\n  \"why is ebay stock down?\",\n  \"why is yield never 100?\",\n  \"why is there a dead pakistani on my couch?\",\n  \"why is shutter island rated r?\",\n  \"why are pterodactyls not birds?\",\n  \"why is bt so slow?\",\n  \"why are shoes so expensive?\",\n  \"why is there more than 1 svchost?\",\n  \"why is there no spirited away 2?\",\n  \"why is furniture so expensive?\",\n  \"why are there so many svchost?\",\n  \"why is there no tv this week?\",\n  \"why do pregnant women get headaches?\",\n  \"why are equatorial forests important?\",\n  \"why are russians so bad at driving?\",\n  \"why are there exceptions to the aufbau principle?\",\n  \"why is psychology a science?\",\n  \"why do dyes fade?\",\n  \"why are there rules in croquet riddle answer?\",\n  \"why do aka\\\"s like frogs?\",\n  \"why is loyalty important?\",\n  \"why are operating rooms cold?\",\n  \"why do hsg?\",\n  \"why is barbara west leaving wftv?\",\n  \"why are cc and bcc used?\",\n  \"why do schools have dress codes?\",\n  \"why do we use dhcp?\",\n  \"why is scala better than java?\",\n  \"why are red pandas endangered?\",\n  \"why do transformers hum?\",\n  \"why is there mucus in my child\\\"s stool?\",\n  \"why is there an equal number of protons and electrons?\",\n  \"why are there dots on my bruise?\",\n  \"why are there oryx in new mexico?\",\n  \"why are cyanobacteria classified as producers?\",\n  \"why is victory dragon banned?\",\n  \"why are there undroppable players on fantasy football?\",\n  \"why are writers crazy?\",\n  \"why are jim parsons hands so red?\",\n  \"why are ds9 uniforms different?\",\n  \"why do ghosts appear in photos?\",\n  \"why are emojis called emojis?\",\n  \"why is health important?\",\n  \"why are awards given?\",\n  \"why is there a j in ssj?\",\n  \"why are cities banning plastic bags?\",\n  \"why are there beings at all instead of nothing?\",\n  \"why are there myspace commercials?\",\n  \"why is my fwb avoiding me?\",\n  \"why are there no european martial arts?\",\n  \"why is there no ibooks for mac?\",\n  \"why are hdd smaller than advertised?\",\n  \"why are there zombies in my house minecraft?\",\n  \"why we do xrd?\",\n  \"why is there no rda for energy?\",\n  \"why is early intervention important?\",\n  \"why is lte so slow?\",\n  \"why do axons connect by interrupting synapses?\",\n  \"why are they called sf 49ers?\",\n  \"why are there inequalities in education?\",\n  \"why do epidurals cause itching?\",\n  \"why is there cctv?\",\n  \"why is jon stewart gone?\",\n  \"why is there a difference between cpi and rpi?\",\n  \"why are the d\\\"backs wearing green?\",\n  \"why are there equal amounts of adenine and thymine?\",\n  \"why do people cheat?\",\n  \"why do estrogen levels increase?\",\n  \"why are our senses important?\",\n  \"why is wc3 dead?\",\n  \"why are there 68 teams in the ncaa tourney?\",\n  \"why are eigenvectors linearly independent?\",\n  \"why is there no key of h?\",\n  \"why is yellowstone national park important?\",\n  \"why is dna classified as a polymer?\",\n  \"why is there generally no problem?\",\n  \"why is eop important?\",\n  \"why is there pectin in yogurt?\",\n  \"why are by products bad for dogs?\",\n  \"why is overfishing bad?\",\n  \"why is wwe pushing curtis axel?\",\n  \"why are impact drivers better?\",\n  \"why do odors linger?\",\n  \"why do avocados cause migraines?\",\n  \"why are mn flags at half staff?\",\n  \"why do athletes use performance enhancing drugs?\",\n  \"why are nissan skylines illegal?\",\n  \"why is http //thepiratebay.se/ down?\",\n  \"why is kissing important?\",\n  \"why are there errors in baseball?\",\n  \"why are there swarms of flies in my house?\",\n  \"why is there bamboo in dc?\",\n  \"why is ocarina of time so good?\",\n  \"why are oil prices dropping?\",\n  \"why is ecuador helping assange?\",\n  \"why do objects appear different in water?\",\n  \"why is there veterans day?\",\n  \"why are there more obese people?\",\n  \"why are there byes in fantasy baseball?\",\n  \"why are bbc channels not working?\",\n  \"why are there fewer hummingbirds this year?\",\n  \"why is jesus called the son of david?\",\n  \"why is there bumps on my head?\",\n  \"why is there cholera epidemic haiti?\",\n  \"why is uhohbro banned from vidcon?\",\n  \"why are there holes in plugs?\",\n  \"why are alternators rated in kva?\",\n  \"why do people hate victoria fx?\",\n  \"why is kwaito performed?\",\n  \"why is there flag day?\",\n  \"why is there so much oxygen in tnt?\",\n  \"why are europeans so liberal?\",\n  \"why is there voltage between neutral and ground?\",\n  \"why is xylem tissue important to ferns?\",\n  \"why is oil non renewable?\",\n  \"why is fox news bad?\",\n  \"why are rain clouds gray?\",\n  \"why do hp laptops die so fast?\",\n  \"why was there ww1?\",\n  \"why is fx channel gone?\",\n  \"why is there polygamy in the bible?\",\n  \"why are gibson sg so cheap?\",\n  \"why do we have fmla?\",\n  \"why is there an l in lbs?\",\n  \"why are segways so expensive?\",\n  \"why is fsx multiplayer not working?\",\n  \"why are lymphocytes low in hiv patients?\",\n  \"why are there four gospels instead of one?\",\n  \"why are there import quotas?\",\n  \"why is lh elevated in pcos?\",\n  \"why is xcode so big?\",\n  \"why do we need rms value?\",\n  \"why are there amendments to the constitution?\",\n  \"why do umpires yell?\",\n  \"why is nurse so upset?\",\n  \"why do ears pop?\",\n  \"why is there no tylenol at cvs?\",\n  \"why is one of my nipples sore?\",\n  \"why is there fever?\",\n  \"why is there zombies in uncharted?\",\n  \"why is titration important?\",\n  \"why is there big flies in my house?\",\n  \"why are there double d\\\"s?\",\n  \"why is there natural evil?\",\n  \"why is bg in prison?\",\n  \"why are cpus so expensive?\",\n  \"why do writers use allusions?\",\n  \"why is there more rrna than mrna?\",\n  \"why is justin bieber so rude?\",\n  \"why is there middle names?\",\n  \"why is there a bye in the nfl?\",\n  \"why do karate people yell?\",\n  \"why is dyrus so monotone?\",\n  \"why is avocado healthy?\",\n  \"why are rhinos endangered for kids?\",\n  \"why is there kansas city in missouri?\",\n  \"why are skype messages pending?\",\n  \"why are laws important?\",\n  \"why are operating systems important?\",\n  \"why do atoms share electrons?\",\n  \"why is vsd an acyanotic defect?\",\n  \"why is tsm so bad?\",\n  \"why can i do hw?\",\n  \"why is ogogo guaranteed a medal?\",\n  \"why are there rocks on oskar schindler\\\"s grave?\",\n  \"why are there spanish steps in rome?\",\n  \"why are there bugs?\",\n  \"why is there lines on my lcd tv?\",\n  \"why are there yellow leaves on my tomato plants?\",\n  \"why is fm 13 so hard?\",\n  \"why is there lorem ipsum on chipotle bags?\",\n  \"why is hawaii water warm?\",\n  \"why is there no cure for poison ivy?\",\n  \"why is aj pierzynski so hated?\",\n  \"why do some countries drive on the left?\",\n  \"why are prions unique?\",\n  \"why are dna molecules antiparallel?\",\n  \"why is there multiple svchost?\",\n  \"why do flies bite?\",\n  \"why do gymnastics?\",\n  \"why do uterine polyps need to be removed?\",\n  \"why is there smoke in denver today?\",\n  \"why are global variables bad?\",\n  \"why do swimmers have abs?\",\n  \"why is pc gaming so hard?\",\n  \"why do glocks kb?\",\n  \"why is there a red line on https?\",\n  \"why is lloyd called bumble?\",\n  \"why is wto bad?\",\n  \"why is gmail so slow?\",\n  \"why is there no sound on pc?\",\n  \"why do people use mdf?\",\n  \"why is there no uldum portal?\",\n  \"why is nfc in the battery?\",\n  \"why do cats like catnip?\",\n  \"why is excel so slow?\",\n  \"why are there so few people in wyoming?\",\n  \"why is there more crime in cities?\",\n  \"why is there dust in my belly button?\",\n  \"why is there lumps in my neck?\",\n  \"why is iweb gone?\",\n  \"why is hollister called hollister?\",\n  \"why is beef bad for you?\",\n  \"why is there electrical energy in the brain?\",\n  \"why do riots happen?\",\n  \"why are x-rays used for medical diagnosis?\",\n  \"why is kris the leader of exo m?\",\n  \"why don\\\"t we do it in the road?\",\n  \"why dzongkha is important?\",\n  \"why are scorpios mean?\",\n  \"why is ikea so popular?\",\n  \"why is cranberry juice good for you?\",\n  \"why is gpl bad?\",\n  \"why are cds of global concern?\",\n  \"why are there shoes on powerlines?\",\n  \"why are humans ticklish?\",\n  \"why do gps have sd cards?\",\n  \"why are gypsies discriminated?\",\n  \"why do people hate cgi?\",\n  \"why are dlp lamps so expensive?\",\n  \"why is ayurveda important?\",\n  \"why do dll files disappear?\",\n  \"why is victini uu?\",\n  \"why is there electron sharing in a peptide bond?\",\n  \"why do polar bodies form?\",\n  \"why is npr so popular?\",\n  \"why is fmj illegal to hunt with?\",\n  \"why do rivers meander?\",\n  \"why do kids snort condoms?\",\n  \"why are there less movies on netflix?\",\n  \"why are eukaryotic cells compartmentalized?\",\n  \"why do tsunamis retreat?\",\n  \"why do orchid leaves turn yellow?\",\n  \"why do people like izaya?\",\n  \"why do people bully lgbt?\",\n  \"why is cyanobacteria important?\",\n  \"why is there no rdi for energy?\",\n  \"why is df n-1?\",\n  \"why are there races of people?\",\n  \"why are fx cameras so expensive?\",\n  \"why is gbe beefing with soulja boy?\",\n  \"why is there gift tax?\",\n  \"why is office 365 so slow?\",\n  \"why are hdmi cables expensive?\",\n  \"why is toronto yyz?\",\n  \"why do pylons buzz?\",\n  \"why there are no volcanoes in uae?\",\n  \"why is pollution bad?\",\n  \"why are cds round?\",\n  \"why is there poison ivy?\",\n  \"why are cmyk colors used?\",\n  \"why are there 43560 sq ft in an acre?\",\n  \"why do we need cv?\",\n  \"why are there curbs?\",\n  \"why do people use udp?\",\n  \"why are sisters mean?\",\n  \"why do nhl players use smelling salts?\",\n  \"why do cymbals crack?\",\n  \"why do illegals get benefits?\",\n  \"why is tn called the volunteer state?\",\n  \"why is there bruising after iv?\",\n  \"why is there no sound on mp4?\",\n  \"why do ms symptoms get worse at night?\",\n  \"why is dwayne johnson called the rock?\",\n  \"why are there fewer efferent vessels?\",\n  \"why is preschool important?\",\n  \"why are llamas called trucks of the andes?\",\n  \"why is french food so expensive?\",\n  \"why is uconn a good school?\",\n  \"why do umbrellas have curved handles?\",\n  \"why are there seasons in nz?\",\n  \"why is there arranged marriages?\",\n  \"why is aquaman so good in injustice?\",\n  \"why are there riots in turkey?\",\n  \"why do old books smell good?\",\n  \"why are effective communication skills important?\",\n  \"why is there a new ryan in corrie?\",\n  \"why do you rv?\",\n  \"why do pcp?\",\n  \"why is school bus yellow?\",\n  \"why is there centripetal force?\",\n  \"why are uavs bad?\",\n  \"why is there egg in flu shots?\",\n  \"why are sig sauers so expensive?\",\n  \"why are negative externalities unfair?\",\n  \"why are estuaries productive?\",\n  \"why do rastas smoke weed?\",\n  \"why is there dmt?\",\n  \"why are there dark spots on my stomach?\",\n  \"why do klaine break up?\",\n  \"why is fye closing stores?\",\n  \"why is jwoww getting sewed?\",\n  \"why are advertisements good?\",\n  \"why is there hair on my neck?\",\n  \"why do lottery winners go broke?\",\n  \"why do pupils get big?\",\n  \"why is there road tax?\",\n  \"why is there arabic writing on a pringles can?\",\n  \"why is there weight gain with antidepressants?\",\n  \"why is urine hot?\",\n  \"why is zwinky bad?\",\n  \"why is zen flight so slow?\",\n  \"why is there emotions?\",\n  \"why is ndp bad?\",\n  \"why are bhutanese happy?\",\n  \"why is there zombies in the barn in the walking dead?\",\n  \"why are professors liberal?\",\n  \"why are there so many ds?\",\n  \"why is swimming so good for you?\",\n  \"why is there play on the end of a tape measure?\",\n  \"why is ghee good for you?\",\n  \"why is there property tax?\",\n  \"why are dandelions good for you?\",\n  \"why is ejection fraction important?\",\n  \"why are there fake yugioh cards?\",\n  \"why is jiang jieshi important?\",\n  \"why are hydroxides insoluble?\",\n  \"why is walking good for you?\",\n  \"why is ff7 so good?\",\n  \"why are there cliques?\",\n  \"why are physical exams important?\",\n  \"why are there flower crowns on tumblr?\",\n  \"why do vietnamese people hate china?\",\n  \"why is riboflavin important?\",\n  \"why is text now not working?\",\n  \"why are bhajans important?\",\n  \"why is there cuts on my tongue?\",\n  \"why is whole grain good for you?\",\n  \"why is there taurine in energy drinks?\",\n  \"why is there no gmail app for iphone?\",\n  \"why are there tiny flies in my room?\",\n  \"why do lcd screens burn?\",\n  \"why do psychologists study animals?\",\n  \"why is russell hornsby on crutches?\",\n  \"why do away with the federal reserve?\",\n  \"why are cybermen allergic to gold?\",\n  \"why is there empty space in an atom?\",\n  \"why are there ozone holes in the stratosphere?\",\n  \"why is there nuclear weapons?\",\n  \"why is warriors called dubs?\",\n  \"why is frida kahlo famous?\",\n  \"why are there obstacles?\",\n  \"why is america obese?\",\n  \"why is dna sequencing important?\",\n  \"why is eight a lucky number?\",\n  \"why do hospitals pursue jcaho accreditation?\",\n  \"why are there tolls?\",\n  \"why is there a cat on my oovoo?\",\n  \"why do edgar davids wear glasses?\",\n  \"why are autistic kids so strong?\",\n  \"why are cylinders strong?\",\n  \"why are they called q tips?\",\n  \"why is oatmeal good for your heart?\",\n  \"why is fnma up?\",\n  \"why is stem important?\",\n  \"why do td banks have cops?\",\n  \"why is access denied?\",\n  \"why is universe expanding?\",\n  \"why are episcopalians rich?\",\n  \"why do you love someone?\",\n  \"why is there a statue of fdr in oslo?\",\n  \"why are there apps in my recycle bin?\",\n  \"why is ea so bad?\",\n  \"why are there ads on dvds?\",\n  \"why do rv toilets smell?\",\n  \"why are dams important?\",\n  \"why is pi 3.14?\",\n  \"why do mnemonics work?\",\n  \"why are ottomans called ottomans?\",\n  \"why are there no servers on bf2142?\",\n  \"why is vsa light on?\",\n  \"why are looks so important?\",\n  \"why do we celebrate ayudha pooja?\",\n  \"why are xeons so expensive?\",\n  \"why are kreayshawn and lil debbie friends?\",\n  \"why is it called the clap?\",\n  \"why are hamburgers called hamburgers?\",\n  \"why is there xmas?\",\n  \"why are zillow estimates so low?\",\n  \"why is year round school bad?\",\n  \"why are x rays so dangerous?\",\n  \"why do iguanas shed?\",\n  \"why do men go bald?\",\n  \"why is there gynecomastia in liver disease?\",\n  \"why are bt shares going up?\",\n  \"why do twins run in families?\",\n  \"why is there toilet paper in dayz?\",\n  \"why are there currents in the ocean?\",\n  \"why do men have xy chromosomes?\",\n  \"why is audi fwd?\",\n  \"why is ie 10 so bad?\",\n  \"why is eating late bad?\",\n  \"why is pfeiffer beach sand purple?\",\n  \"why is there a miami ohio?\",\n  \"why are there cloppers?\",\n  \"why are slicks illegal?\",\n  \"why is organic food better?\",\n  \"why are there three versions of html?\",\n  \"why are g shocks expensive?\",\n  \"why are there bison on catalina island?\",\n  \"why do they call gtos goats?\",\n  \"why are jpegs bad?\",\n  \"why are rainbows curved?\",\n  \"why are there kidnappers?\",\n  \"why are my hands always cold?\",\n  \"why are there arrogant people?\",\n  \"why is xeo3 polar?\",\n  \"why do psychopaths get married?\",\n  \"why do apps disappear from my iphone?\",\n  \"why are hedgehogs illegal?\",\n  \"why are there union territories in india?\",\n  \"why are condors endangered?\",\n  \"why do americans drive on the right?\",\n  \"why is sweet and low bad for you?\",\n  \"why do nba referees have numbers?\",\n  \"why do apartments raise rent?\",\n  \"why are there school uniforms?\",\n  \"why is there jokers in cards?\",\n  \"why are old people always cold?\",\n  \"why do au pairs leave?\",\n  \"why is mrsa dangerous?\",\n  \"why are ergonomics important?\",\n  \"why are twins different?\",\n  \"why is guitar so hard?\",\n  \"why do i need xp service pack 3?\",\n  \"why are cramps worse some months?\",\n  \"why is performance management important?\",\n  \"why is asparagus expensive?\",\n  \"why do new yorkers hate nj?\",\n  \"why are hdls useful?\",\n  \"why are there filler episodes in naruto?\",\n  \"why are hp laptops so slow?\",\n  \"why is bart closed?\",\n  \"why is there the death penalty?\",\n  \"why is there mercury in cfl bulbs?\",\n  \"why do u choose hsbc?\",\n  \"why is there different eye colours?\",\n  \"why are there eskimos?\",\n  \"why do hives itch?\",\n  \"why are there cuts on my labia?\",\n  \"why is oprah winfrey important?\",\n  \"why is ffp given?\",\n  \"why is exercise intensity important?\",\n  \"why do accents develop?\",\n  \"why do vm snapshots grow?\",\n  \"why there is no neutral in ht cables?\",\n  \"why is democracy important?\",\n  \"why do women get yeast infections?\",\n  \"why are hawaiian monk seals endangered?\",\n  \"why is ikemefuna killed?\",\n  \"why are there no tornadoes in california?\",\n  \"why are nj flags at half mast?\",\n  \"why are there jobs in north dakota?\",\n  \"why are tsunamis so deadly?\",\n  \"why are there x on images?\",\n  \"why are there icicles on my house?\",\n  \"why are ie tabs purple?\",\n  \"why are vw busses so expensive?\",\n  \"why is there latitude and longitude?\",\n  \"why do i need tpd insurance?\",\n  \"why is there potassium iodine in table salt?\",\n  \"why is biodiversity worth preserving?\",\n  \"why are there no more zeppelins?\",\n  \"why is there dwarfism?\",\n  \"why are toyota supras so fast?\",\n  \"why are there boy and girl bikes?\",\n  \"why is justin bieber such a douche?\",\n  \"why are there seven dwarfs?\",\n  \"why do swimming goggles fog up?\",\n  \"why is oscar de la hoya famous?\",\n  \"why are tomatoes a tcs food?\",\n  \"why are there x\\\"s instead of pictures?\",\n  \"why are cyclists so annoying?\",\n  \"why are zombies called zed?\",\n  \"why is svchost using 50 cpu?\",\n  \"why are hz important in tv?\",\n  \"why is there no harry potter rpg?\",\n  \"why is mbt going out of business?\",\n  \"why are there kangaroos on the 1 dollar coin?\",\n  \"why do izzie and alex get divorced?\",\n  \"why are retarded people so strong?\",\n  \"why are ngt inserted?\",\n  \"why is there phases of the moon?\",\n  \"why do hyperlinks stop working in excel?\",\n  \"why do dhcp leases expire?\",\n  \"why is xfinity not working?\",\n  \"why are fb profile pics cartoons?\",\n  \"why are hp laptops so cheap?\",\n  \"why do root canals fail?\",\n  \"why are voices so low in movies?\",\n  \"why is there illuminati symbolism?\",\n  \"why are the sd chargers called the chargers?\",\n  \"why do ngos fail?\",\n  \"why do vps not allow irc?\",\n  \"why are there octopus in hockey?\",\n  \"why do adults bully?\",\n  \"why is zwinky so slow?\",\n  \"why is there yellow goo in my eye?\",\n  \"why is bw3 buffalo wild wings?\",\n  \"why do skaters hate scooters?\",\n  \"why is there no avatar 3d?\",\n  \"why is bht harmful?\",\n  \"why do kentucky fans hate rick pitino?\",\n  \"why is there no tv signal?\",\n  \"why is advertising important?\",\n  \"why do twins come early?\",\n  \"why wysiwyg are bad?\",\n  \"why is dmt the most illegal drug?\",\n  \"why are csts important?\",\n  \"why is there sloth memes?\",\n  \"why is hfcs bad?\",\n  \"why are there jellyfish?\",\n  \"why is there famine in africa?\",\n  \"why are aztec codices important to historians?\",\n  \"why do we get gbs?\",\n  \"why do hmong people?\",\n  \"why is ethiopia so poor?\",\n  \"why is pmc always down?\",\n  \"why is my stool green?\",\n  \"why are rna viruses more dangerous?\",\n  \"why are apple employees headed for the exits?\",\n  \"why do pimples grow?\",\n  \"why is ultrasound gel used?\",\n  \"why is there tension between north and south korea?\",\n  \"why are there different types of volcanoes?\",\n  \"why do dreams feel so real?\",\n  \"why are pyromaniacs dangerous to themselves?\",\n  \"why do lhasa apsos howl?\",\n  \"why do mlb coaches wear uniforms?\",\n  \"why is there islamophobia?\",\n  \"why are there drones in the us?\",\n  \"why is ib so hard?\",\n  \"why is dpt given?\",\n  \"why are there only 6 jurors in the zimmerman trial?\",\n  \"why are evangelicals republicans?\",\n  \"why is aetherling good?\",\n  \"why is evil dead rated r?\",\n  \"why is there oceans?\",\n  \"why is oklahoma beer weaker?\",\n  \"why are there dead spots in my lawn?\",\n  \"why is iap cracker not working?\",\n  \"why is there felt on the bottom of shoes?\",\n  \"why is yoga a sin?\",\n  \"why is there a squirrel in spongebob?\",\n  \"why are most people right handed?\",\n  \"why are okonkwo and his family exiled?\",\n  \"why is kobe beef illegal?\",\n  \"why are there apparent motion of the stars and sun?\",\n  \"why are oats better than wheat?\",\n  \"why are nyc taxes so high?\",\n  \"why are mcnuggets so good?\",\n  \"why are bc ferries so expensive?\",\n  \"why do metals conduct electricity?\",\n  \"why are bt so useless?\",\n  \"why are cigars bad for you?\",\n  \"why is there age limits for drinking?\",\n  \"why is effective communication with families important?\",\n  \"why are there fires after earthquakes?\",\n  \"why are there four gospels?\",\n  \"why do koi fish die?\",\n  \"why do alcoholics drink vodka?\",\n  \"why are there dashcams in russia?\",\n  \"why do aeroplanes leave a trail?\",\n  \"why do kegels?\",\n  \"why do iwastesomuchtime?\",\n  \"why are jpa exceptions unchecked?\",\n  \"why are transformers rated kva?\",\n  \"why do wrestlers live in tampa?\",\n  \"why do onions make you sleepy?\",\n  \"why is there mitochondrial dna?\",\n  \"why are there three branches of government?\",\n  \"why is there labor day?\",\n  \"why is europe so rich?\",\n  \"why do trucks get weighed?\",\n  \"why do babies get acne?\",\n  \"why are there crosses on the side of the road?\",\n  \"why are irish women so mean?\",\n  \"why are there pc viruses?\",\n  \"why is zwinky down?\",\n  \"why is traveling important?\",\n  \"why are there innies and outies?\",\n  \"why do hermit crabs molt?\",\n  \"why are accessory pigments important?\",\n  \"why is abalone season closed in july?\",\n  \"why is there bloating during pms?\",\n  \"why is bc powder bad for you?\",\n  \"why do you taper tpn?\",\n  \"why are rna primers necessary in dna synthesis?\",\n  \"why do people hate fx?\",\n  \"why is there a shared pc on my mac?\",\n  \"why do klingons have forehead ridges?\",\n  \"why do urine test in pregnancy?\",\n  \"why do sammi and jwoww get in a fight?\",\n  \"why are otter pops so addicting?\",\n  \"why are all edmonton addresses nw?\",\n  \"why are movies pg?\",\n  \"why do okinawans live so long?\",\n  \"why do people smoke nz?\",\n  \"why is flight rated r?\",\n  \"why is there no 22 ammo?\",\n  \"why are nitrates bad for babies?\",\n  \"why is there gooey stuff in my poop?\",\n  \"why do tybalt and benvolio fight?\",\n  \"why are there no jobs in ohio?\",\n  \"why is there a border css?\",\n  \"why is gun control bad?\",\n  \"why is bmi so important?\",\n  \"why are clouds different colors?\",\n  \"why do gel nails lift?\",\n  \"why are there numbers on nhl helmets?\",\n  \"why are cnidarians important?\",\n  \"why are kbb and edmunds so different?\",\n  \"why do snails have shells?\",\n  \"why is ewen holding robin hostage?\",\n  \"why do organisms need nitrogen?\",\n  \"why do hdmi cables have ethernet?\",\n  \"why are advil sweet?\",\n  \"why are there valves in the veins?\",\n  \"why do zucchini blossoms fall off?\",\n  \"why are there no mcdonalds in vietnam?\",\n  \"why do omegas shave their heads?\",\n  \"why is there no fb in china?\",\n  \"why is wfnx still playing?\",\n  \"why are there greek temples in italy?\",\n  \"why is ahi tuna raw?\",\n  \"why is ray charles blind?\",\n  \"why is bypass surgery necessary?\",\n  \"why do hdmi cables vary in price?\",\n  \"why are americans so religious?\",\n  \"why do i not have iweb?\",\n  \"why do all zippers have ykk?\",\n  \"why are there umpires in baseball?\",\n  \"why is katt williams in jail?\",\n  \"why is sodium bad?\",\n  \"why is there sediment in my urine?\",\n  \"why is crime so high in oakland?\",\n  \"why is ert given?\",\n  \"why are kurdish refugees?\",\n  \"why is there nfl lockout?\",\n  \"why do jingles work?\",\n  \"why is git so slow?\",\n  \"why is wc bathroom?\",\n  \"why do diabetics have dry skin?\",\n  \"why is there dog years?\",\n  \"why is there isotopes?\",\n  \"why is rice bad for you?\",\n  \"why is html called markup language?\",\n  \"why is marketing important?\",\n  \"why is alcohol good for you?\",\n  \"why there is kolaveri di lyrics?\",\n  \"why do old people sleep less?\",\n  \"why is there screen tearing?\",\n  \"why do sea lions look up?\",\n  \"why is mp3 called mp3?\",\n  \"why do governments use propaganda?\",\n  \"why is aerobic exercise important?\",\n  \"why is there a difference between wti and brent?\",\n  \"why is there no prestige on pc?\",\n  \"why is there global warming happening?\",\n  \"why do people go to fsu?\",\n  \"why is there money yahoo?\",\n  \"why do vegans not eat honey?\",\n  \"why is there lava?\",\n  \"why are there so many debian dvds?\",\n  \"why are writing skills important?\",\n  \"why is azog cgi?\",\n  \"why is mexico poor?\",\n  \"why are cpr dummies called annie?\",\n  \"why is alcohol called spirits?\",\n  \"why is acetone bad?\",\n  \"why are leos so controlling?\",\n  \"why is mma so expensive?\",\n  \"why are office supplies important?\",\n  \"why is airplay not working?\",\n  \"why is dsl asymmetric?\",\n  \"why is there wicker baskets at us open?\",\n  \"why do we need ieee standards?\",\n  \"why are we concerned about ddt?\",\n  \"why is jquery better than prototype?\",\n  \"why are .mx domains so expensive?\",\n  \"why is life like a shower?\",\n  \"why are gmo crops bad?\",\n  \"why do we need ozone?\",\n  \"why is zucchini bitter?\",\n  \"why is lh test done?\",\n  \"why is vuze so slow?\",\n  \"why is xlsread so slow?\",\n  \"why are mp3 files so popular?\",\n  \"why are there illegal immigrants in the us?\",\n  \"why are there not more aquatic marsupials?\",\n  \"why are spitballs illegal?\",\n  \"why are goods and services scarce?\",\n  \"why is z wave so expensive?\",\n  \"why are there urban legends?\",\n  \"why are wusthof knives good?\",\n  \"why are there immigration laws?\",\n  \"why do sd cards have classes?\",\n  \"why is there ash in baby formula?\",\n  \"why are there seagulls in ohio?\",\n  \"why do offspring resemble parents?\",\n  \"why is nba 2k13 server down?\",\n  \"why is there bilirubin in urine?\",\n  \"why are ears of corn called ears?\",\n  \"why is there an octet rule with lewis structures?\",\n  \"why are there pictures of drake?\",\n  \"why are bwh climates so dry?\",\n  \"why is oscar romero famous?\",\n  \"why are airplane wings shaped the way they are?\",\n  \"why are americans overweight?\",\n  \"why is tea good for you?\",\n  \"why do gmos work?\",\n  \"why are there wolf spiders in my house?\",\n  \"why are there many operating systems?\",\n  \"why is aaron hernandez going to jail?\",\n  \"why is east palo alto ghetto?\",\n  \"why is there anovulation in pcos?\",\n  \"why is there used space after format?\",\n  \"why is jpm stock going down?\",\n  \"why is there urea in lotion?\",\n  \"why are dvds region locked?\",\n  \"why are tunnels tiled?\",\n  \"why are bt shares down today?\",\n  \"why is there gun violence?\",\n  \"why do lumber mills water logs?\",\n  \"why are all u hauls from arizona?\",\n  \"why are there oil speculators?\",\n  \"why do we have hst?\",\n  \"why is pdanet so slow?\",\n  \"why are ghosts bad liars?\",\n  \"why is hvac a good career choice?\",\n  \"why do small businesses fail sba?\",\n  \"why are dyes colored?\",\n  \"why is yugioh so complicated?\",\n  \"why is dmv so slow?\",\n  \"why are there drake memes?\",\n  \"why is smiley rated r?\",\n  \"why is there no john adams memorial?\",\n  \"why is there splenomegaly in cml?\",\n  \"why is taurine bad for you?\",\n  \"why is there an upgrade fee for verizon?\",\n  \"why is there no football game on cbs?\",\n  \"why is there national service in singapore?\",\n  \"why do i have two vmdk files?\",\n  \"why do cbs shows look different?\",\n  \"why do rice krispies pop?\",\n  \"why is there arsenic in chicken feed?\",\n  \"why is epiduo so expensive?\",\n  \"why are awards shows on sundays?\",\n  \"why do pcos women miscarry?\",\n  \"why are hindu gods blue?\",\n  \"why is yuleema famous?\",\n  \"why is apple so expensive?\",\n  \"why is btc dropping?\",\n  \"why are the sf giants wearing old uniforms?\",\n  \"why is oovoo better than skype?\",\n  \"why are ny bagels better?\",\n  \"why are action potentials unidirectional?\",\n  \"why do old people fart so much?\",\n  \"why do schools have uniforms?\",\n  \"why are xenotransplants required?\",\n  \"why is there snails in my fish tank?\",\n  \"why is there no nba this year?\",\n  \"why is there power outage in san diego?\",\n  \"why is there silica gel in everything?\",\n  \"why do many hospitals pursue jcaho?\",\n  \"why is there yolk in mooncake?\",\n  \"why are there russian dashcams?\",\n  \"why is after earth rated pg 13?\",\n  \"why is kmart called kmart?\",\n  \"why is there zoos?\",\n  \"why are cops called fuzz?\",\n  \"why are lpns getting phased out?\",\n  \"why is pcl5 nonpolar?\",\n  \"why is rvd coming back to wwe?\",\n  \"why do lions have manes?\",\n  \"why are fad diets bad?\",\n  \"why is there no new ncaa basketball game?\",\n  \"why is bsnl internet so slow?\",\n  \"why is nba finals in spanish?\",\n  \"why are there safety corridors?\",\n  \"why are women so complicated?\",\n  \"why is xcelerator closed?\",\n  \"why do you get warts?\",\n  \"why is kyle quincey wearing a cage?\",\n  \"why is there no word that rhymes with orange?\",\n  \"why is there phlegm in my stool?\",\n  \"why is exercising so hard?\",\n  \"why do fbi agents wear suits?\",\n  \"why is the ocean blue?\",\n  \"why do people put rt on twitter?\",\n  \"why is tsukuyomi banned?\",\n  \"why do cigarettes make me lightheaded?\",\n  \"why do office chairs have 5 legs?\",\n  \"why are there rainbows lyrics?\",\n  \"why is cloning unethical?\",\n  \"why are there galaxies?\",\n  \"why is python good?\",\n  \"why are the oceans salty?\",\n  \"why is there dust on my car?\",\n  \"why is there water in the bottom of my dishwasher?\",\n  \"why are there lights under escalators?\",\n  \"why is there no xkcd today?\",\n  \"why are iir filters unstable?\",\n  \"why do people like btr?\",\n  \"why are there illegal websites?\",\n  \"why do you love uae?\",\n  \"why is there static on skype?\",\n  \"why do gcse latin?\",\n  \"why is fsu a good school?\",\n  \"why do cats drool?\",\n  \"why is there an e on my iphone screen?\",\n  \"why do mps shout in parliament?\",\n  \"why are oils liquid at room temperature?\",\n  \"why are there idiots?\",\n  \"why is there evil dostoevsky summary?\",\n  \"why do twitches occur?\",\n  \"why is there illegal immigration in the united states?\",\n  \"why is emma watson so hot?\",\n  \"why is there pimples on my legs?\",\n  \"why do lcd tv look blurry?\",\n  \"why is gmt used?\",\n  \"why is ironclad rated r?\",\n  \"why is there magnets in speakers?\",\n  \"why are there amendments?\",\n  \"why is mn gas so high?\",\n  \"why do restriction enzymes cut dna?\",\n  \"why is drake so popular?\",\n  \"why is gh silent?\",\n  \"why are there ravens in the tower of london?\",\n  \"why is there placebo pills in birth control?\",\n  \"why are voter id laws racist?\",\n  \"why are they called g strings?\",\n  \"why are oxygen masks on planes?\",\n  \"why are there seasons?\",\n  \"why are lacoste shirts so expensive?\",\n  \"why do episcopalians have red doors?\",\n  \"why are there ocean currents?\",\n  \"why do msc economics?\",\n  \"why do nrotc?\",\n  \"why is there opposition to stem cell research?\",\n  \"why is zns insoluble in water?\",\n  \"why is there a gherkin in a big mac?\",\n  \"why is joy behar not on the view?\",\n  \"why was there ww2?\",\n  \"why are there ads on the bbc news website?\",\n  \"why is there coastal erosion?\",\n  \"why are twinkies coming back?\",\n  \"why are there now 5 oceans?\",\n  \"why do mlb players wear braided necklaces?\",\n  \"why is there no zero in roman numerals?\",\n  \"why do use powerpoint?\",\n  \"why are there trees in harlem?\",\n  \"why is there zombies?\",\n  \"why are motors rated in kw?\",\n  \"why do virologists consider viruses to be non-living?\",\n  \"why are x\\\"s kisses and o\\\"s hugs?\",\n  \"why is iodine a necessary nutrient?\",\n  \"why is yellow rice yellow?\",\n  \"why are atoms neutrally charged?\",\n  \"why is xkcd so popular?\",\n  \"why is ksi called jj?\",\n  \"why are sea otters endangered?\",\n  \"why do ie8 tabs change color?\",\n  \"why are ozil\\\"s eyes like that?\",\n  \"why is fwd more efficient?\",\n  \"why is nvc taking so long?\",\n  \"why is nvidia good?\",\n  \"why is rdram faster than sdram?\",\n  \"why are there tulips in ottawa?\",\n  \"why are there four gospels in the bible?\",\n  \"why is there abdominal pain with pneumonia?\",\n  \"why is there pimples on my balls?\",\n  \"why is there will be blood good?\",\n  \"why do zucchinis rot on the vine?\",\n  \"why are there several svchost exe running?\",\n  \"why are brazilians so good at soccer?\",\n  \"why are oceans salt water?\",\n  \"why is there swelling behind my knee?\",\n  \"why are there names on eddie stobart trucks?\",\n  \"why is there cytoplasmic streaming in elodea?\",\n  \"why are there irreversible reactions in glycolysis?\",\n  \"why do people have fwb?\",\n  \"why do rhinos have wrinkles?\",\n  \"why are there basements in the north?\",\n  \"why is espn so liberal?\",\n  \"why is there only one queen bee?\",\n  \"why is fnb offline?\",\n  \"why is atp required for glycolysis?\",\n  \"why is media literacy important?\",\n  \"why are wwe divas leaving?\",\n  \"why are there dark spots on my armpits?\",\n  \"why are age restricted communities legal?\",\n  \"why is there tilapia in yogurt?\",\n  \"why do ovarian cysts form?\",\n  \"why do oil and water separate?\",\n  \"why is handwashing important?\",\n  \"why do ohms in yoga?\",\n  \"why is iodine called an indicator?\",\n  \"why is gcf useful?\",\n  \"why is xtra detergent so cheap?\",\n  \"why are onions toxic to dogs?\",\n  \"why are there england riots?\",\n  \"why are lladro figures so expensive?\",\n  \"why do men lie?\",\n  \"why is friends not on netflix?\",\n  \"why is facebook so slow?\",\n  \"why is there no nba season?\",\n  \"why is aerobic exercise good for your heart?\",\n  \"why is iwilldominate banned from lcs?\",\n  \"why do aussies call brits poms?\",\n  \"why are pvm and mpi so different?\",\n  \"why there is no aaa congruence postulate?\",\n  \"why is engineering so hard?\",\n  \"why are there no good psp emulators?\",\n  \"why are ugg boots called uggs?\",\n  \"why are x rays harmful to pregnant women?\",\n  \"why do foils fall in love jessie?\",\n  \"why is there still restlessness in govinda\\\"s heart?\",\n  \"why are there tsunamis in japan?\",\n  \"why are there trails behind planes?\",\n  \"why are there weigh stations on highways?\",\n  \"why is there no logical xor in c++?\",\n  \"why is there a q in q tip?\",\n  \"why are there different types of screw heads?\",\n  \"why are there lucky numbers on fortune cookies?\",\n  \"why are apple seeds bad for you?\",\n  \"why do bronies exist?\",\n  \"why are the ddo forums down?\",\n  \"why are iep goals important?\",\n  \"why is uptown charlotte called uptown?\",\n  \"why are there no new tv shows?\",\n  \"why is ivory billed woodpecker endangered?\",\n  \"why is highway 50 closed?\",\n  \"why is nnamdi asomugha good?\",\n  \"why are sloths rapists?\",\n  \"why do owls have yellow eyes?\",\n  \"why is fnatic not in kiev?\",\n  \"why is there two spocks?\",\n  \"why are ionic compounds called electrolytes?\",\n  \"why are there moustaches everywhere?\",\n  \"why do you need vmware tools?\",\n  \"why are there ewoks in star wars?\",\n  \"why is oil a nonrenewable resource?\",\n  \"why do utis burn?\",\n  \"why do iguanas spit?\",\n  \"why is ford stock so cheap?\",\n  \"why is nt a territory?\",\n  \"why do ohmmeters need batteries?\",\n  \"why is there redness around my nose?\",\n  \"why is he mean to me?\",\n  \"why is there old blood?\",\n  \"why is philosophy important?\",\n  \"why are ionic bonds soluble in water?\",\n  \"why is blood classified as a tissue?\",\n  \"why do dwp do home visits?\",\n  \"why is switzerland ch?\",\n  \"why are nickelodeon shows off netflix?\",\n  \"why is there a need for ias 36?\",\n  \"why is td bank the better bank?\",\n  \"why are oats good?\",\n  \"why do turtles bite each other?\",\n  \"why do zippers break?\",\n  \"why is lemon water good for you?\",\n  \"why are guns good?\",\n  \"why are do\\\"s better than md\\\"s?\",\n  \"why is there jpg and jpeg?\",\n  \"why is there a zipper on my google page?\",\n  \"why is there christmas in july?\",\n  \"why is nyquil addictive?\",\n  \"why do teeth chatter?\",\n  \"why do owls move their heads?\",\n  \"why is there often a rhythm to the surf?\",\n  \"why is america the greatest country in the world?\",\n  \"why are there illegal interview questions?\",\n  \"why is there a pyramid in rome?\",\n  \"why is there no bgt tour?\",\n  \"why is there a zebra in hot n cold?\",\n  \"why is a perfect qb rating 158.3?\",\n  \"why do pms cramps happen?\",\n  \"why do u light a chalice?\",\n  \"why do wwe refs wear earpieces?\",\n  \"why is america so racist?\",\n  \"why is rda in pandora?\",\n  \"why is there a syrian uprising?\",\n  \"why are citations important?\",\n  \"why is cvs called cvs?\",\n  \"why is lunch called lunch?\",\n  \"why do illegal immigrants get benefits?\",\n  \"why are irregular galaxies called irregulars?\",\n  \"why do we have xrays?\",\n  \"why are there 8 dwarfs?\",\n  \"why do yawns seem contagious?\",\n  \"why are gst cheques late?\",\n  \"why is guinness so good?\",\n  \"why do some people believe the senate is undemocratic?\",\n  \"why are there tax loopholes?\",\n  \"why are acids corrosive?\",\n  \"why do lockers have vents?\",\n  \"why is there a gdl requirement in delaware?\",\n  \"why do women use ky jelly?\",\n  \"why do under the skin pimples hurt?\",\n  \"why do police hate fbi?\",\n  \"why is https important?\",\n  \"why is ppt file so large?\",\n  \"why is there a lock on my pdf icon?\",\n  \"why do mkv files crash windows explorer?\",\n  \"why is paula deen in trouble?\",\n  \"why is there no nfl on cbs?\",\n  \"why are there zombies in world war z?\",\n  \"why are there metal balls in nail polish?\",\n  \"why is there aspartame in gum?\",\n  \"why are there no good rpg games?\",\n  \"why are hr departments so slow?\",\n  \"why is there no msn messenger for android?\",\n  \"why are rflps diallelic?\",\n  \"why is danny koker called the count?\",\n  \"why are iphones so small?\",\n  \"why is ssl secure?\",\n  \"why is ohio always mentioned in movies?\",\n  \"why do patriots jerseys say mhk?\",\n  \"why are there so few rts games?\",\n  \"why is nyc called gotham?\",\n  \"why is turmeric good for you?\",\n  \"why don\\\"t boys like me?\",\n  \"why do i lag in dfo?\",\n  \"why are nj housewives fighting?\",\n  \"why is avg not free anymore?\",\n  \"why is silver going down?\",\n  \"why is there both hiragana and katakana?\",\n  \"why are there jetties at the beach?\",\n  \"why is there weight classes in boxing?\",\n  \"why do tampons hurt so bad?\",\n  \"why is dogpatch called dogpatch?\",\n  \"why is there a xerox folder?\",\n  \"why do alphas differ among industries?\",\n  \"why do lungs have small openings?\",\n  \"why are there no commercials on bbc?\",\n  \"why do pilots say mayday?\",\n  \"why are jimmy choos so expensive?\",\n  \"why do dvds get scratched?\",\n  \"why are there afk games in lol?\",\n  \"why are zayn and harry fighting?\",\n  \"why are bf3 maps so small?\",\n  \"why is oblivion rated m?\",\n  \"why is there a limit on dvd region changes?\",\n  \"why is there an uprising in district 8?\",\n  \"why is rl stine famous?\",\n  \"why is there only 5 platonic solids?\",\n  \"why are there age ratings for films?\",\n  \"why is gun control good?\",\n  \"why is sftp slow?\",\n  \"why are vshare downloads so slow?\",\n  \"why is there no jurassic park ebook?\",\n  \"why are ukuleles popular?\",\n  \"why is tlc limited to nonvolatile samples?\",\n  \"why is jimmy fallon leaving late night?\",\n  \"why is tdap given?\",\n  \"why are abs so attractive?\",\n  \"why do nails curl?\",\n  \"why do kentucky fans hate duke?\",\n  \"why do animals have fur?\",\n  \"why is there foam in my pond?\",\n  \"why do pvcs come and go?\",\n  \"why is hdl good and ldl bad?\",\n  \"why do vegetables taste bad?\",\n  \"why do oysters taste good?\",\n  \"why do you hate ikea?\",\n  \"why is csr important?\",\n  \"why is there bc?\",\n  \"why are tyres made of rubber?\",\n  \"why are there ducks on the roof of duck commander?\",\n  \"why is employee recognition important?\",\n  \"why is there accents?\",\n  \"why do amish pull teeth?\",\n  \"why is einstein significant?\",\n  \"why are there small moths in my house?\",\n  \"why are there sketch artists in court?\",\n  \"why do oil and margarine mix together?\",\n  \"why do coyotes howl?\",\n  \"why is texting while driving dangerous?\",\n  \"why is shampoo called shampoo?\",\n  \"why are movies released overseas first?\",\n  \"why are swimmers so lean?\",\n  \"why are k\\\"s used for strikeouts?\",\n  \"why are bugs scary?\",\n  \"why do farts burn?\",\n  \"why is it called a hamburger?\",\n  \"why is there korean in check it out?\",\n  \"why is gsp so boring?\",\n  \"why do we use nvl in oracle?\",\n  \"why is jk simmons leaving the closer?\",\n  \"why do good girls dmx?\",\n  \"why is there pus in acne?\",\n  \"why do dsl modems go bad?\",\n  \"why is mars called the red planet?\",\n  \"why is tpa so good?\",\n  \"why are there different dvi cables?\",\n  \"why are md flags at half staff?\",\n  \"why is texas so big?\",\n  \"why is xcopy faster than copy?\",\n  \"why do liberals love islam?\",\n  \"why do ionic compounds conduct electricity?\",\n  \"why do bc years countdown?\",\n  \"why are dachshunds long?\",\n  \"why is ivy not in 90210?\",\n  \"why is there age restrictions?\",\n  \"why do akitas have webbed feet?\",\n  \"why is adequate intake of fiber important?\",\n  \"why are mp called honourable?\",\n  \"why is squash bumpy?\",\n  \"why are there pirates in somalia?\",\n  \"why are there 8 debian dvds?\",\n  \"why are zelda games so good?\",\n  \"why are ouija boards illegal?\",\n  \"why is wwe so popular?\",\n  \"why is dfo closing down?\",\n  \"why do chihuahuas burrow?\",\n  \"why do oysters spit water?\",\n  \"why is cinnamon challenge dangerous?\",\n  \"why is udl important in the learning environment?\",\n  \"why are apple seeds poisonous?\",\n  \"why is mt vesuvius there?\",\n  \"why is there no cure for hiv?\",\n  \"why are bees so important to us?\",\n  \"why is umass called zoomass?\",\n  \"why is vnc insecure?\",\n  \"why is university of kansas called ku?\",\n  \"why do mcdonald\\\"s fries never rot?\",\n  \"why are there 1024 mb in gb?\",\n  \"why do mlb players take steroids?\",\n  \"why is anchorman rated r?\",\n  \"why do dogs lick your face?\",\n  \"why are acids called proton donors?\",\n  \"why are there earthquakes away from fault lines?\",\n  \"why are ayr called the honest men?\",\n  \"why are there bells on el camino real?\",\n  \"why are skaters so mean?\",\n  \"why are immigrants so rude?\",\n  \"why are fungi not classified as plants?\",\n  \"why is llc important?\",\n  \"why are gtos called goats?\",\n  \"why are you suitable for this job?\",\n  \"why is methyl triphenylphosphoranylidene acetate stable?\",\n  \"why are crops planted in circles?\",\n  \"why is dns important?\",\n  \"why are there active volcanoes on the ocean floor?\",\n  \"why is there one tree in a field?\",\n  \"why are there supermoons?\",\n  \"why do you cc in email?\",\n  \"why are there no chase banks in dc?\",\n  \"why is llivia in spain?\",\n  \"why is there apparent motion of the stars and sun?\",\n  \"why is xef2 nonpolar?\",\n  \"why is there violence in the media?\",\n  \"why are there elephants in les miserables?\",\n  \"why are there different oil prices?\",\n  \"why do female cats spray?\",\n  \"why is flag at half mast today?\",\n  \"why do oxycodone make you itch?\",\n  \"why is framing so expensive?\",\n  \"why is dyrus in jail?\",\n  \"why are there surveys?\",\n  \"why do oatmeal baths work?\",\n  \"why do ethnic people smell?\",\n  \"why is azog alive?\",\n  \"why is there minus sign in the definition of ph?\",\n  \"why are days longer in summer?\",\n  \"why is there egg and milk in wine?\",\n  \"why are there other planets yahoo?\",\n  \"why are there sharks?\",\n  \"why is xef4 nonpolar?\",\n  \"why are there yellow spots on my tomato plant leaves?\",\n  \"why are aye ayes dying out?\",\n  \"why do bystanders do nothing?\",\n  \"why are aquarius so cold?\",\n  \"why is vocabulary important?\",\n  \"why are there 7 svchost.exe running?\",\n  \"why are wisdom teeth removed?\",\n  \"why are gnats attracted to my car?\",\n  \"why is there water left in my dishwasher?\",\n  \"why is glucose converted to glycogen?\",\n  \"why are there moon cycles?\",\n  \"why are we here rvb?\",\n  \"why is self esteem so important?\",\n  \"why are vw engines so loud?\",\n  \"why is milk bad for cats?\",\n  \"why is jesus called the lamb of god?\",\n  \"why do we need dhcp server?\",\n  \"why are rich people so stingy?\",\n  \"why is there skin peeling on my nipples?\",\n  \"why are there so many members in akb48?\",\n  \"why are people selfish?\",\n  \"why are there less women ceos?\",\n  \"why is aa anonymous?\",\n  \"why is there june bugs?\",\n  \"why are lsu the tigers?\",\n  \"why is there water scarcity?\",\n  \"why is kush so strong?\",\n  \"why are libra men so mean?\",\n  \"why is there seat belt laws?\",\n  \"why is zimmerman innocent?\",\n  \"why is there a kansas city mo and ks?\",\n  \"why is kyle busch not racing?\",\n  \"why are there empty towns in spain?\",\n  \"why do people hate ewoks?\",\n  \"why is there wicker baskets at merion?\",\n  \"why is there obesity?\",\n  \"why do limbs fall asleep?\",\n  \"why are there demonstrations in turkey?\",\n  \"why are salmon red?\",\n  \"why are there no dwarves in skyrim?\",\n  \"why do fleas bite?\",\n  \"why are guys mean to girls?\",\n  \"why is running bad for you?\",\n  \"why do ncaa clearinghouse?\",\n  \"why is esther important in the bible?\",\n  \"why is mercury toxic?\",\n  \"why do abs look better in the morning?\",\n  \"why is there fard and sunnah fasting?\",\n  \"why is yellowstone a national park?\",\n  \"why do russian dash cam?\",\n  \"why are there 2 vmdk files?\",\n  \"why is fmoc base sensitive?\",\n  \"why do mba after bca?\",\n  \"why is there a crown on the bc flag?\",\n  \"why is there ammonia in cigarettes?\",\n  \"why are curly wurlys smaller?\",\n  \"why is there still a queen?\",\n  \"why are rhinos hunted?\",\n  \"why is there voltage on the neutral?\",\n  \"why is there byes in espn fantasy football?\",\n  \"why is zapdos so hard to catch?\",\n  \"why is there people homeless?\",\n  \"why are everyone?\",\n  \"why do xylem vessels die?\",\n  \"why are there sulfites in wine?\",\n  \"why do edibles get you higher?\",\n  \"why do hamsters like wheels?\",\n  \"why is there offensive goaltending?\",\n  \"why are there so many fjords in bc?\",\n  \"why is rvd not in wwe?\",\n  \"why is matt cain called the horse?\",\n  \"why are equations useful?\",\n  \"why is gta rated m?\",\n  \"why are there so many earthquakes in utah?\",\n  \"why is there no ncaa basketball 12 video game?\",\n  \"why do radio stations start with k?\",\n  \"why are sit ups bad?\",\n  \"why is there ginger hair?\",\n  \"why is there other messages on facebook?\",\n  \"why do i get nrb?\",\n  \"why is gmail down?\",\n  \"why are there sand traps in golf?\",\n  \"why is there weigh stations?\",\n  \"why is astrid shutting down?\",\n  \"why is syria at war with itself?\",\n  \"why is there knots in wood?\",\n  \"why are there boogers?\",\n  \"why do office chairs cost so much?\",\n  \"why is there an embargo against cuba?\",\n  \"why are there palmetto bugs in my house?\",\n  \"why is kim kardashian so hot?\",\n  \"why is square root always positive?\",\n  \"why is lake placid important?\",\n  \"why do users use memory cards?\",\n  \"why is oklahoma soil red?\",\n  \"why is gypsy a slur?\",\n  \"why is willy annoyed at biff?\",\n  \"why are there stickers on fruit?\",\n  \"why are pterosaurs and mosasaurs not dinosaurs?\",\n  \"why is journalism important?\",\n  \"why do road bikes go faster?\",\n  \"why is there plate boundaries?\",\n  \"why is there weight loss with cancer?\",\n  \"why is there open source software?\",\n  \"why are there no dwarf women?\",\n  \"why are gmos harmful?\",\n  \"why is mustard yellow?\",\n  \"why is there no dh in the national league?\",\n  \"why do pregnant women sleep a lot?\",\n  \"why is there an ebb and flow of tides?\",\n  \"why do cats lick you?\",\n  \"why is dbz so awesome?\",\n  \"why are demographics important?\",\n  \"why are fevers good?\",\n  \"why are rss feeds important?\",\n  \"why are there coyotes in nc?\",\n  \"why are there identical and fraternal twins?\",\n  \"why do nortenos wear red?\",\n  \"why is osmosis important to cells?\",\n  \"why is there blood in my poo?\",\n  \"why is there genocide in rwanda?\",\n  \"why is ecuador named what it is?\",\n  \"why do akitas howl?\",\n  \"why is ddt used?\",\n  \"why are there knots in wood?\",\n  \"why is there weather on earth?\",\n  \"why are printers so bad?\",\n  \"why do you like ucf?\",\n  \"why is pv negative in excel?\",\n  \"why is rvd returning to wwe?\",\n  \"why are americans called yanks?\",\n  \"why are kuyichi jeans sustainable?\",\n  \"why do nightcrawlers come out in the rain?\",\n  \"why is there an epidemic of depression?\",\n  \"why do authors use dialogue in narrative essays?\",\n  \"why is there no cmip4?\",\n  \"why ehrs are bad?\",\n  \"why are hmong in america?\",\n  \"why is there a prada store in marfa tx?\",\n  \"why are veneers so expensive?\",\n  \"why is krishna blue skinned?\",\n  \"why is dwyane wade called flash?\",\n  \"why are airline tickets non transferable?\",\n  \"why aren there gyms in airports?\",\n  \"why is there a notch in ct?\",\n  \"why is there no single ionic molecule?\",\n  \"why are eizo so expensive?\",\n  \"why is purge rated r?\",\n  \"why is there sugar in minecraft pe?\",\n  \"why is lauryn hill going to jail?\",\n  \"why are noble gases called noble?\",\n  \"why are educated people more liberal?\",\n  \"why is bhakti important?\",\n  \"why do you want to join our company?\",\n  \"why is there humidity on the east coast?\",\n  \"why are honda cbr so cheap?\",\n  \"why do bpr?\",\n  \"why are greece ahead of russia?\",\n  \"why is gym important?\",\n  \"why are brits called poms?\",\n  \"why do eyes glow in photos?\",\n  \"why is there june gloom?\",\n  \"why do the hsc?\",\n  \"why is wuthering heights a love story?\",\n  \"why is there name travis porter?\",\n  \"why is keratin good for your hair?\",\n  \"why do systems of classification change?\",\n  \"why is nitrogen fixation important?\",\n  \"why are they called miranda rights?\",\n  \"why is puerto rico not a state?\",\n  \"why do episodes disappear on netflix?\",\n  \"why is there orange around my pupil?\",\n  \"why are fm stations odd?\",\n  \"why is sri lanka important?\",\n  \"why are khloe and kim mad at each other?\",\n  \"why is reddit store on xkcd?\",\n  \"why is skype blurry?\",\n  \"why do our bodies need water?\",\n  \"why are relationships important?\",\n  \"why is there a system reserved drive?\",\n  \"why is there no ww1 games?\",\n  \"why are rfps important?\",\n  \"why are egg yolks bad for you?\",\n  \"why is pulp fiction called pulp fiction?\",\n  \"why is zwinky not loading?\",\n  \"why are there germans in kazakhstan?\",\n  \"why is there heartburn during pregnancy?\",\n  \"why is there no chase in dc?\",\n  \"why is zombie swipeout closing?\",\n  \"why is there a zig zag on the periodic table?\",\n  \"why is there ticks in my room?\",\n  \"why are msds used?\",\n  \"why are emerging markets down?\",\n  \"why are there fights in nhl?\",\n  \"why is djokovic so good?\",\n  \"why is alex smith qb?\",\n  \"why do teenagers sleep so much?\",\n  \"why do we use lbs?\",\n  \"why is bart so noisy?\",\n  \"why is there haze in kuala lumpur?\",\n  \"why do roosters fight?\",\n  \"why do things float ks1?\",\n  \"why is there no bgt tour 2012?\",\n  \"why are there general education requirements?\",\n  \"why is there traffic on 95?\",\n  \"why are djarums banned?\",\n  \"why is there synaptic delay?\",\n  \"why is there an eiffel tower in tokyo?\",\n  \"why is there human suffering?\",\n  \"why is fynbos such an important biome?\",\n  \"why are there appellate courts?\",\n  \"why do you need vpn?\",\n  \"why are urban schools failing?\",\n  \"why is there prescription ibuprofen?\",\n  \"why are ak 47 so expensive?\",\n  \"why is the cgi in jurassic park?\",\n  \"why are hsos overwhelmingly organized as corporations?\",\n  \"why is there turbulence on planes?\",\n  \"why do itunes movies lag?\",\n  \"why do vulcans have no emotions?\",\n  \"why is your cgpa so low?\",\n  \"why are swedish fish swedish?\",\n  \"why are there different methodologies under the sdlc?\",\n  \"why is lhc important?\",\n  \"why is there no krav maga in mma?\",\n  \"why is youtube blocked in china?\",\n  \"why is jquery so big?\",\n  \"why are pupils so big?\",\n  \"why is uw madison a good school?\",\n  \"why is there currently an interest in wind power?\",\n  \"why is shakira leaving the voice?\",\n  \"why is caso4 insoluble in water?\",\n  \"why do i need iwork?\",\n  \"why is obito evil?\",\n  \"why do taste buds change?\",\n  \"why is outlook offline?\",\n  \"why are apples waxed?\",\n  \"why are there us troops in kuwait?\",\n  \"why are oncogenes considered gain-of-function mutations?\",\n  \"why is jerry remy out?\",\n  \"why is yin yoga good for you?\",\n  \"why do yelp reviews get filtered?\",\n  \"why are there gherkins in big macs?\",\n  \"why do i need vps hosting?\",\n  \"why is there no krispy kreme in new york?\",\n  \"why do we need ndt?\",\n  \"why do bug zappers work?\",\n  \"why do rcmp pants bulge?\",\n  \"why is there only 28 days in february?\",\n  \"why do volkswagen beetles smell like crayons?\",\n  \"why is wpf used?\",\n  \"why are they called ajko?\",\n  \"why is yield not 100?\",\n  \"why do my rpms drop?\",\n  \"why are metals good conductors?\",\n  \"why are nsaids bad?\",\n  \"why are there certain people on your facebook profile?\",\n  \"why is there eggs on easter?\",\n  \"why are sprinters so muscular?\",\n  \"why are dj decks so expensive?\",\n  \"why is blue cheese blue?\",\n  \"why do uk windows open outwards?\",\n  \"why are there four different gospels?\",\n  \"why is gfp used?\",\n  \"why is there smog in singapore?\",\n  \"why are there bones on the national mall?\",\n  \"why do zebras live in africa?\",\n  \"why are there more orange m&m\\\"s?\",\n  \"why is aerosol cold?\",\n  \"why is there a ketamine drought?\",\n  \"why is mhk on the patriots jerseys?\",\n  \"why are neutrinos so difficult to detect?\",\n  \"why do nails curve?\",\n  \"why is there vat on vans?\",\n  \"why do eggs smell bad?\",\n  \"why are old people so annoying?\",\n  \"why is national debt bad?\",\n  \"why do employers check credit?\",\n  \"why is there a texas panhandle?\",\n  \"why do rainbows arch?\",\n  \"why is there always a walgreens near a cvs?\",\n  \"why is bmi not reliable?\",\n  \"why is rf useful?\",\n  \"why are ipas so popular?\",\n  \"why is rhode island called island?\",\n  \"why are there temp files?\",\n  \"why are there above ground graves?\",\n  \"why are babies called dd?\",\n  \"why are bt shares rising?\",\n  \"why do lsu fans say geaux?\",\n  \"why are nvgs so expensive?\",\n  \"why do irish people say grand?\",\n  \"why do tattoos itch?\",\n  \"why is there variation within a species?\",\n  \"why is freezer burn bad?\",\n  \"why are aquarius women so cold?\",\n  \"why are ssd faster than hdd?\",\n  \"why is axe bad for you?\",\n  \"why do okazaki fragments occur?\",\n  \"why are there knots in my back?\",\n  \"why is there rice in a salt shaker?\",\n  \"why are there holes in swiss cheese?\",\n  \"why is odysseus arrogant?\",\n  \"why are pc gamers so arrogant?\",\n  \"why do girls have periods?\",\n  \"why are lysosomes important?\",\n  \"why are gcses so hard?\",\n  \"why do funny bones hurt?\",\n  \"why are there vegetarians?\",\n  \"why is rcmp a canadian symbol?\",\n  \"why is there often a wind at the mouth of a cave?\",\n  \"why are bc teachers going on strike?\",\n  \"why is other so big on mac?\",\n  \"why are there fights in school?\",\n  \"why is there nickel in stainless steel?\",\n  \"why do ovarian cysts cause bloating?\",\n  \"why do wwe fans hate john cena?\",\n  \"why do plants have dmt?\",\n  \"why is gbp jpy so volatile?\",\n  \"why are phone speakers on the back?\",\n  \"why do beans give you gas?\",\n  \"why are honey bees dying?\",\n  \"why do job applications ask for references?\",\n  \"why is there less krill?\",\n  \"why do hp computers overheat?\",\n  \"why do officers carry swords?\",\n  \"why are rhodesian ridgebacks dangerous?\",\n  \"why do dabs make you cough?\",\n  \"why is iggy azalea famous?\",\n  \"why do newborns grunt?\",\n  \"why is everyone making fun of drake?\",\n  \"why are dslrs so expensive?\",\n  \"why is learning important?\",\n  \"why are there fruit flies in my freezer?\",\n  \"why is hamlet a tragedy?\",\n  \"why is there emphasis on self-assessment?\",\n  \"why is ikea so expensive?\",\n  \"why are there bats in austin?\",\n  \"why are there curves in the spine?\",\n  \"why is rvd back in wwe?\",\n  \"why are ryan and scarlett divorcing?\",\n  \"why is there school yahoo?\",\n  \"why is dzhokhar tsarnaev innocent?\",\n  \"why do mphil?\",\n  \"why are there english words in german?\",\n  \"why do we need uav?\",\n  \"why do usc quarterbacks fail in the nfl?\",\n  \"why is avg my new tab?\",\n  \"why are lawyers so unhappy?\",\n  \"why is zero love in tennis?\",\n  \"why is there no ketchup chips in the us?\",\n  \"why do people get dla?\",\n  \"why do our fingers wrinkle?\",\n  \"why are ct flags at half mast?\",\n  \"why is cdna only made from mrna?\",\n  \"why are there full moons and half moons?\",\n  \"why is there estrogen in the water?\",\n  \"why are grasses important?\",\n  \"why is there a ghost in my picture?\",\n  \"why is there traffic on rt 80?\",\n  \"why is there an error on my printer?\",\n  \"why are there holes in my lawn?\",\n  \"why is duncan divorcing?\",\n  \"why is there yoga in p90x?\",\n  \"why are there turbines in tunnels?\",\n  \"why do rc helicopters fly?\",\n  \"why is cloning bad?\",\n  \"why do ovaries hurt during ovulation?\",\n  \"why do rta underperform?\",\n  \"why are transformers rated in kva and not in kw?\",\n  \"why are there immigrants?\",\n  \"why do zippers have ykk on it?\",\n  \"why do we use jpeg?\",\n  \"why is there no gold in ohio?\",\n  \"why is there ocean pollution?\",\n  \"why is kim kardashian so famous?\",\n  \"why are red wolves endangered?\",\n  \"why are there cyclists during rowing?\",\n  \"why is there methane on titan?\",\n  \"why are uranus and neptune respectively green-blue and blue?\",\n  \"why is ebay so successful?\",\n  \"why are there still monkeys?\",\n  \"why are nmr samples spun?\",\n  \"why is ezekiel bread so good for you?\",\n  \"why do phones get hot?\",\n  \"why are there long lines at the dmv?\",\n  \"why is there goo in my underwear?\",\n  \"why are celebrities bad role models?\",\n  \"why is there an nfl officials lockout?\",\n  \"why are snoozes 9 minutes?\",\n  \"why are people homeless?\",\n  \"why fyrom is hated?\",\n  \"why are there holes in igneous rocks?\",\n  \"why is there ozone hole?\",\n  \"why are there nfl replacement officials?\",\n  \"why is there bacteria in my urine?\",\n  \"why is ayers rock there?\",\n  \"why is there japanese in peru?\",\n  \"why are lightning cables so expensive?\",\n  \"why is respiration an exothermic reaction?\",\n  \"why is akron ohio famous?\",\n  \"why are tdm plugins so expensive?\",\n  \"why are llamas important animals in peru?\",\n  \"why is apple called apple?\",\n  \"why do cfl bulbs burn out?\",\n  \"why is there an odd number justices?\",\n  \"why are there governors on cars?\",\n  \"why is ayn rand so controversial?\",\n  \"why are there question marks in the star spangled banner?\",\n  \"why do stock prices change?\",\n  \"why is ocean different colors?\",\n  \"why do people snore?\",\n  \"why is ddt banned?\",\n  \"why is there a lump on my vulva?\",\n  \"why are there no girl umpires?\",\n  \"why are there fewer gymnasts?\",\n  \"why is there a quality chasm pdf?\",\n  \"why do mph?\",\n  \"why do people visit nz?\",\n  \"why are cats so mean?\",\n  \"why is cyanide harmless to some bacteria?\",\n  \"why are ocelots endangered?\",\n  \"why are there ponies everywhere?\",\n  \"why are cfcs so harmful?\",\n  \"why is pismo beach famous?\",\n  \"why are utah rocks red?\",\n  \"why do omegas call themselves quotes?\",\n  \"why is hippo milk pink?\",\n  \"why do pregnant women get gbs?\",\n  \"why are ligers so big?\",\n  \"why is there photostream and camera roll?\",\n  \"why are there more tsunamis in the pacific ocean?\",\n  \"why are texas flags at half staff today?\",\n  \"why are books better than movies?\",\n  \"why are there so many krill?\",\n  \"why do you shake vp tubes?\",\n  \"why are there time limits on candy crush?\",\n  \"why are jpeg file used?\",\n  \"why is there nick studio 10?\",\n  \"why is vga cable not working?\",\n  \"why are bodies buried 6 ft?\",\n  \"why is bzero deprecated?\",\n  \"why are krispy kreme stores closing?\",\n  \"why is ichigo always in shikai?\",\n  \"why are urban places ranked?\",\n  \"why do utis hurt so much?\",\n  \"why is hollywood called hollywood?\",\n  \"why do people join nra?\",\n  \"why is dwyane wade playing so bad?\",\n  \"why is there no jobs?\",\n  \"why are there rules in croquet work?\",\n  \"why are cfcs harmful?\",\n  \"why are odes written?\",\n  \"why is there opposition to health care reform?\",\n  \"why do lymph nodes get hard?\",\n  \"why are there 2 cyber sub zero?\",\n  \"why do phone batteries swell?\",\n  \"why are there lumps in my sperm?\",\n  \"why is there metal balls in nail polish?\",\n  \"why do hmong people marry so early?\",\n  \"why are vst plugins so expensive?\",\n  \"why are flight prices so high?\",\n  \"why are gdp measures important?\",\n  \"why is iron man 3 rated pg-13?\",\n  \"why is aorta the largest artery?\",\n  \"why is krauthammer in a wheelchair?\",\n  \"why is there 2 cyber sub zero?\",\n  \"why are whales so big?\",\n  \"why is jira called jira?\",\n  \"why is tpn given?\",\n  \"why do alliance fail at bg?\",\n  \"why do bypass grafts fail?\",\n  \"why is sdlc important?\",\n  \"why do we sweat?\",\n  \"why are there delays at lax?\",\n  \"why are pteranodons not dinosaurs?\",\n  \"why are nuclear power plants dangerous?\",\n  \"why do you?\",\n  \"why is there kinetic energy in space?\",\n  \"why is there no mcdonalds in albania?\",\n  \"why is biodiversity valuable?\",\n  \"why are first impressions important?\",\n  \"why are there hypocrites in the church?\",\n  \"why do opposite poles attract?\",\n  \"why do change efforts fail?\",\n  \"why do conservatives hate npr?\",\n  \"why are tsunamis dangerous?\",\n  \"why do rapists rape?\",\n  \"why do pvc and cpvc pipes fail?\",\n  \"why do i feel so dizzy?\",\n  \"why are there civil war reenactments?\",\n  \"why do pvcs hurt?\",\n  \"why is there hair on your privates?\",\n  \"why do hd movies look fake?\",\n  \"why is there attraction?\",\n  \"why are ahmadis wrong?\",\n  \"why is skype video not working?\",\n  \"why are there kill shelters?\",\n  \"why is memory important?\",\n  \"why do horses wear shoes?\",\n  \"why is bzip2 slow?\",\n  \"why is talia so famous?\",\n  \"why do aka\\\"s wear 20 pearls?\",\n  \"why do ht leads need replacing?\",\n  \"why is uganda in debt?\",\n  \"why do we need jquery?\",\n  \"why is uae tax free?\",\n  \"why is nutella bad?\",\n  \"why bother why is there a udp?\",\n  \"why is jquery not loading?\",\n  \"why are museums important?\",\n  \"why is bullying bad?\",\n  \"why is there an equatorial undercurrent?\",\n  \"why do men hit women?\",\n  \"why are avocados considered a fruit?\",\n  \"why do mosquitoes bite me?\",\n  \"why is mayonnaise bad for you?\",\n  \"why do lg phones turn off?\",\n  \"why are there nuclear power plants?\",\n  \"why are there numbers on top of buildings in la?\",\n  \"why is offset in jail migos?\",\n  \"why are there 2 dns servers?\",\n  \"why is tds charged?\",\n  \"why is vulnerability attractive?\",\n  \"why do a npv calculation?\",\n  \"why do mlg use vga?\",\n  \"why is dyrus called dyrone?\",\n  \"why are scholarships important?\",\n  \"why do pga pros wear pants?\",\n  \"why is eeuu?\",\n  \"why are expiring contracts good?\",\n  \"why is slaughterhouse five banned?\",\n  \"why is ryan gosling in detroit?\",\n  \"why are there floods?\",\n  \"why is there two kansas cities?\",\n  \"why are tanning beds dangerous?\",\n  \"why is there aboriginal art?\",\n  \"why do urban legends exist?\",\n  \"why is justin bieber famous?\",\n  \"why are all inhalers now hfa?\",\n  \"why is physical activity important?\",\n  \"why do i need vsync?\",\n  \"why do rlc circuits oscillate?\",\n  \"why are there two pilots in pacific rim?\",\n  \"why is nvidia stock going down?\",\n  \"why is google called google?\",\n  \"why is ff9 underrated?\",\n  \"why is aerospace engineering important?\",\n  \"why do pcs slow down?\",\n  \"why are type 2 diabetes overweight?\",\n  \"why are curfews good?\",\n  \"why do i keep farting?\",\n  \"why are nfl players paid so much?\",\n  \"why is oatmeal not paleo?\",\n  \"why is there overpopulation in the philippines?\",\n  \"why do phase iii trials fail?\",\n  \"why do plants have leaves?\",\n  \"why do a cmp blood test?\",\n  \"why are planets spherical?\",\n  \"why are carrots good for you?\",\n  \"why is there day and night on earth for kids?\",\n  \"why is riff raff rich?\",\n  \"why is bhopal india known?\",\n  \"why is awareness important?\",\n  \"why do dock leaves cure nettle stings?\",\n  \"why do people write rt on twitter?\",\n  \"why is eclipse so slow?\",\n  \"why do elephants lift weights?\",\n  \"why are there commercials on xm?\",\n  \"why are there unmovable files?\",\n  \"why is there hair in my poop?\",\n  \"why is eye contact so intense?\",\n  \"why is dhcp not enabled?\",\n  \"why are no cbs shows on hulu?\",\n  \"why do aggies say tu?\",\n  \"why is kwd the highest currency?\",\n  \"why is klaus a hybrid?\",\n  \"why is there no oscar for comedy?\",\n  \"why do we need ielts?\",\n  \"why is xopenex better than albuterol?\",\n  \"why is ivf wrong?\",\n  \"why is there home field advantage?\",\n  \"why are there two types of screws?\",\n  \"why is operations management important?\",\n  \"why is sgot high?\",\n  \"why is there an electoral college?\",\n  \"why is ready for love cancelled?\",\n  \"why do dslrs cost so much?\",\n  \"why is aatrox op?\",\n  \"why are there gluten free products?\",\n  \"why are placebos used?\",\n  \"why is there ketones in my urine?\",\n  \"why is squatting legal?\",\n  \"why is there estate tax?\",\n  \"why do llamas wear hats?\",\n  \"why is fbs heat inactivated?\",\n  \"why do lsac accounts expire?\",\n  \"why is there immigration laws?\",\n  \"why do our noses get stuffy?\",\n  \"why do ears burn?\",\n  \"why are dmv people so mean?\",\n  \"why is there no tylenol?\",\n  \"why do cows have 4 udders?\",\n  \"why is there lactose in potato chips?\",\n  \"why are there no female umpires?\",\n  \"why is iiii on clock faces?\",\n  \"why are beans bad for you?\",\n  \"why are footnotes important?\",\n  \"why are kinder eggs illegal in us?\",\n  \"why are kyle and maci not together?\",\n  \"why are okapis endangered?\",\n  \"why is there fun in the philippines?\",\n  \"why are plants green?\",\n  \"why are pdfs useful?\",\n  \"why is ryan braun on the bereavement list?\",\n  \"why is sr-90 hazardous?\",\n  \"why is klove called k love?\",\n  \"why are there no skyscrapers in washington dc?\",\n  \"why is lbs pounds?\",\n  \"why do jpegs have artifacts?\",\n  \"why are watermelons good for you?\",\n  \"why is there gold fringe on the american flag?\",\n  \"why do pimples explode?\",\n  \"why are dna important?\",\n  \"why do microwaves spin?\",\n  \"why do small dogs have seizures?\",\n  \"why are there pentakill skins?\",\n  \"why are islamists so violent?\",\n  \"why is there earth day?\",\n  \"why is fmea important?\",\n  \"why do people hate npr?\",\n  \"why are fried foods bad?\",\n  \"why are condoms flavored?\",\n  \"why is salmon pink?\",\n  \"why are there guest judges on xfactor?\",\n  \"why is oxygen an element (points 3)?\",\n  \"why are quiznos closing?\",\n  \"why is silver so cheap?\",\n  \"why is weed called pot?\",\n  \"why are there iowa caucuses?\",\n  \"why is dc not a state?\",\n  \"why is jstor not free?\",\n  \"why is there a i\\\"m feeling lucky button?\",\n  \"why is msg so bad for you?\",\n  \"why do dykes hate men?\",\n  \"why is swelling bad for injuries?\",\n  \"why is ewen mckenzie called link?\",\n  \"why do goldfish make bubbles?\",\n  \"why do beats by dre use batteries?\",\n  \"why is there zero g?\",\n  \"why are italians called degos?\",\n  \"why do dwarves have scottish accents?\",\n  \"why is eharmony not working?\",\n  \"why is there iodine in milk?\",\n  \"why do writers use literary devices?\",\n  \"why are there no ob tampons in the stores?\",\n  \"why do iphones cost so much?\",\n  \"why do aerosol containers display the warning?\",\n  \"why do far away lights flicker?\",\n  \"why do diesels last longer?\",\n  \"why is there offset in golf clubs?\",\n  \"why are lcd monitors so expensive?\",\n  \"why are there rainy seasons?\",\n  \"why is there overpopulation?\",\n  \"why do hmong people have blonde hair?\",\n  \"why are there outies?\",\n  \"why is there economic inequality?\",\n  \"why are mcdonald\\\"s burgers so bad?\",\n  \"why is borderlands 2 rated m?\",\n  \"why is halo 4 rated m?\",\n  \"why are snowflakes six sided?\",\n  \"why are there random fences in wyoming?\",\n  \"why is there no epl games this weekend?\",\n  \"why is there ghosts in my house?\",\n  \"why is there msg in soup?\",\n  \"why are pmi rates so high?\",\n  \"why are furries so hated?\",\n  \"why is there earth hour?\",\n  \"why is nfl hall of fame in canton?\",\n  \"why do ax men get tb?\",\n  \"why are there so many vmdk files?\",\n  \"why are there chunks in my period blood?\",\n  \"why are dmvs closed on weekends?\",\n  \"why is rihanna beefing with ciara?\",\n  \"why do lsu fans like corn dogs?\",\n  \"why is there an fm1 and fm2?\",\n  \"why is there blood in my dog\\\"s poop?\",\n  \"why is there mercury in coal?\",\n  \"why do i smell ozone?\",\n  \"why do people say rt on twitter?\",\n  \"why do esters smell?\",\n  \"why are nurses important?\",\n  \"why are newports so popular?\",\n  \"why are there tail fins on aerial bombs?\",\n  \"why do ukrainians speak russian?\",\n  \"why are ssd small?\",\n  \"why is there so many tornadoes in oklahoma?\",\n  \"why is eyewitness memory so poor?\",\n  \"why is smoking bad for diabetics?\",\n  \"why are there sneakers on power lines?\",\n  \"why are foreigners allowed on bgt?\",\n  \"why are eels dying out?\",\n  \"why are lutheran church doors red?\",\n  \"why are zumba pants so expensive?\",\n  \"why do nurses wear crocs?\",\n  \"why are mk dons called dons?\",\n  \"why are there cave paintings?\",\n  \"why do u haul trailers sway?\",\n  \"why are there no xenomorphs in prometheus?\",\n  \"why is lauri back on rhoc?\",\n  \"why are wwe wrestlers wet?\",\n  \"why are there no women umpires?\",\n  \"why do cyclists shave their legs?\",\n  \"why is twitter important?\",\n  \"why do klan members burn crosses?\",\n  \"why is dlc region locked?\",\n  \"why are judges appointed for life?\",\n  \"why is citizenship important?\",\n  \"why is lsu called the tigers?\",\n  \"why is there ethernet on hdmi?\",\n  \"why is my son crying?\",\n  \"why do osteophytes form?\",\n  \"why is owen wilson\\\"s nose weird?\",\n  \"why is there oil in my radiator?\",\n  \"why are there evil ghosts?\",\n  \"why are there lots of flies in my house?\",\n  \"why are there huge ants in my house?\",\n  \"why are abscesses painful?\",\n  \"why are lungs collapsed in a fetal pig?\",\n  \"why do people put rt?\",\n  \"why is there clear slime in my underwear?\",\n  \"why is there a zipper on the google page?\",\n  \"why is there an eye on the dollar?\",\n  \"why is gps useful?\",\n  \"why are ulysses and diomedes in hell?\",\n  \"why are css expressions bad?\",\n  \"why are hdmi kvm so expensive?\",\n  \"why do ipods crash?\",\n  \"why are there yellow stains on my underwear?\",\n  \"why do flies rub their hands?\",\n  \"why is there overpopulation in asia?\",\n  \"why is twerking bad?\",\n  \"why is there lead in ginger?\",\n  \"why is there satan?\",\n  \"why are chinese people so loud?\",\n  \"why is there cultural differences?\",\n  \"why is jtg still employed?\",\n  \"why is there rioting in stockholm?\",\n  \"why do vw need synthetic oil?\",\n  \"why do military aircraft use uhf?\",\n  \"why do hmong people come to minnesota?\",\n  \"why are onions bad for cats?\",\n  \"why is svr high in hypovolemic shock?\",\n  \"why do people ddos?\",\n  \"why is there a tsunami in the day after tomorrow?\",\n  \"why did einstein do poorly in school?\",\n  \"why are there holes is swiss cheese?\",\n  \"why is some weed purple?\",\n  \"why is td jakes daughter getting a divorce?\",\n  \"why are nst done?\",\n  \"why are dimes smaller than pennies?\",\n  \"why is kbr neutral?\",\n  \"why do dogs lick you?\",\n  \"why are there two arteries in the umbilical cord?\",\n  \"why is worship important?\",\n  \"why do xbox controllers keep disconnecting?\",\n  \"why are there six jurors?\",\n  \"why is jtv down?\",\n  \"why are there earthquakes?\",\n  \"why are cba shares falling?\",\n  \"why are there hydrogen bonds?\",\n  \"why is ozone depletion a concern?\",\n  \"why do ppl smoke?\",\n  \"why is there no proof of osama?\",\n  \"why are firetrucks red?\",\n  \"why do turtles bury themselves?\",\n  \"why is there a new ps3?\",\n  \"why is there a bsod?\",\n  \"why is there an e at the top of my phone?\",\n  \"why do revolutions happen?\",\n  \"why are tncs important?\",\n  \"why is economic development important?\",\n  \"why is there homophobia?\",\n  \"why is ewen holding robin on general hospital?\",\n  \"why is ulysses s grant on the 50 dollar bill?\",\n  \"why are xenon lights illegal?\",\n  \"why do furries exist?\",\n  \"why is kyrgyzstan important?\",\n  \"why are cpi and gdp deflator difference?\",\n  \"why do we need ngos?\",\n  \"why do they say jr?\",\n  \"why do pga players wear pants?\",\n  \"why is aj styles wearing gloves?\",\n  \"why do people say uh so much?\",\n  \"why is gene expression regulation important?\",\n  \"why do pgce?\",\n  \"why are funerals so expensive?\",\n  \"why is bp so cheap?\",\n  \"why do autistic kids like water?\",\n  \"why do estuaries become so polluted?\",\n  \"why do snakes eat their own tails?\",\n  \"why do sharks attack?\",\n  \"why do we need dmz?\",\n  \"why are there 2 mr noodles?\",\n  \"why is there a pyramid on the us dollar bill?\",\n  \"why are there australians in django unchained?\",\n  \"why is there no cure for ulcerative colitis?\",\n  \"why is iker casillas on the bench?\",\n  \"why are there no pins available on pinterest?\",\n  \"why are there 8 svchost.exe running?\",\n  \"why do iranians not wear ties?\",\n  \"why is bhp share price falling?\",\n  \"why do kurdish men come to england?\",\n  \"why are there protests in oman?\",\n  \"why do africans have yellow eyes?\",\n  \"why is ghetto cool?\",\n  \"why there is itching?\",\n  \"why is monsanto so evil?\",\n  \"why is iwo jima important?\",\n  \"why are there dark spots on the sun?\",\n  \"why we are using json?\",\n  \"why do people think the nwo is real?\",\n  \"why is skype free?\",\n  \"why is honey boo boo famous?\",\n  \"why is there spiders in my room?\",\n  \"why is bart so slow?\",\n  \"why is weed purple?\",\n  \"why are homeless people crazy?\",\n  \"why is equiano permitted to stay on deck?\",\n  \"why are there two l\\\"s in lloyd?\",\n  \"why is greek yogurt different?\",\n  \"why are hmong people so ghetto?\",\n  \"why is there corn syrup in baby formula?\",\n  \"why is lohanthony famous?\",\n  \"why is wpix not on cablevision?\",\n  \"why are tyres important?\",\n  \"why is xylitol so expensive?\",\n  \"why is bho dark?\",\n  \"why is bomani jones on highly questionable?\",\n  \"why is unapologetic not on spotify?\",\n  \"why is rcd burnt out?\",\n  \"why is organic food better for you?\",\n  \"why is there welfare?\",\n  \"why is lloyd leaving casualty?\",\n  \"why is there wind for kids?\",\n  \"why is vudu buffering?\",\n  \"why is vsauce so popular?\",\n  \"why do djs host mixtapes?\",\n  \"why is python illegal in california?\",\n  \"why do cranberries float?\",\n  \"why is ellie immune?\",\n  \"why do aeroplanes have wings?\",\n  \"why are apples red?\",\n  \"why is open source better?\",\n  \"why is pwm used?\",\n  \"why is charles shaw so cheap?\",\n  \"why is svchost so large?\",\n  \"why is there pressure on my uterus?\",\n  \"why is there clothing for identification?\",\n  \"why are there players?\",\n  \"why are there bridesmaids?\",\n  \"why is pwn spelled pwn?\",\n  \"why is there silica in my vitamins?\",\n  \"why is diversity important?\",\n  \"why is quinn so bad?\",\n  \"why is acceleration due to gravity constant?\",\n  \"why are movies rated pg 13?\",\n  \"why do aquarius men stare?\",\n  \"why do people do xd?\",\n  \"why do all zippers say ykk?\",\n  \"why are high heels attractive?\",\n  \"why do dc motors need a starter?\",\n  \"why is ncis not on hulu plus?\",\n  \"why are gps maps so expensive?\",\n  \"why ewoks are cool?\",\n  \"why are sushi chefs only men?\",\n  \"why are there upper and lower limits to cells?\",\n  \"why are lsu and oregon playing in arlington?\",\n  \"why is austin so liberal?\",\n  \"why are camels happy on wednesday?\",\n  \"why is tdu 2 rated t?\",\n  \"why do people play fps games?\",\n  \"why is there no ac/dc greatest hits?\",\n  \"why are bt shares dropping?\",\n  \"why is ntsc video interlaced?\",\n  \"why is xbox controller flashing?\",\n  \"why is cn electron withdrawing?\",\n  \"why is olivia palermo famous?\",\n  \"why is there body hair?\",\n  \"why are there less krill?\",\n  \"why are dna and rna called acids?\",\n  \"why is owl considered wise?\",\n  \"why are there bank holidays?\",\n  \"why are eels slippery?\",\n  \"why do slugs have slime?\",\n  \"why do immigrants get benefits?\",\n  \"why is aquarius an air element?\",\n  \"why do wwe wrestlers wet their hair?\",\n  \"why do full moons affect people?\",\n  \"why is there minimum wage laws?\",\n  \"why is mp3 rocket going to youtube?\",\n  \"why are australians so hot?\",\n  \"why is pms so painful?\",\n  \"why are there hungry people in the world?\",\n  \"why is there a spare room in hjerim?\",\n  \"why are vespas so expensive?\",\n  \"why are germans so angry?\",\n  \"why is wolverine called wolverine?\",\n  \"why do sloths like to hug?\",\n  \"why is adh known as vasopressin?\",\n  \"why do hindus worship idols?\",\n  \"why is there excess capacity in monopolistic competition?\",\n  \"why are there puddles of water in my refrigerator?\",\n  \"why is dubai building so much?\",\n  \"why is srs light on?\",\n  \"why is there a tv licence?\",\n  \"why is apple so successful?\",\n  \"why do people write xoxo?\",\n  \"why is there knocking in macbeth?\",\n  \"why do i need mdm?\",\n  \"why is there unrest in egypt?\",\n  \"why is klitschko so good?\",\n  \"why are owls so cute?\",\n  \"why is there 2 l\\\"s in llama?\",\n  \"why are liquor stores closed on sunday?\",\n  \"why there is kolaveri di song?\",\n  \"why do underarms sweat so much?\",\n  \"why is cpu usage 100?\",\n  \"why is icarly ending?\",\n  \"why are sports cars rwd?\",\n  \"why is one direction so popular?\",\n  \"why are overbites bad?\",\n  \"why are ebay fees so expensive?\",\n  \"why is pumpkin good for you?\",\n  \"why are apple stocks dropping?\",\n  \"why is doctor who so good?\",\n  \"why are girls so sensitive?\",\n  \"why are cfcs bad for the environment?\",\n  \"why is ewan holding robin hostage?\",\n  \"why are lymph nodes swollen?\",\n  \"why is jcpenney hurting?\",\n  \"why are honey bees so important?\",\n  \"why are ryan homes so cheap?\",\n  \"why do siblings look alike?\",\n  \"why is school mandatory?\",\n  \"why do we taper tpn?\",\n  \"why is git so complicated?\",\n  \"why do we write cv?\",\n  \"why are imessages not working?\",\n  \"why is cbs cancelling golden boy?\",\n  \"why are there vertical lines on my nails?\",\n  \"why is rna single stranded?\",\n  \"why are zazzle cases so expensive?\",\n  \"why do old people talk so much?\",\n  \"why are there so many owls in futurama?\",\n  \"why are mrna codons important?\",\n  \"why are rna and dna important for cells?\",\n  \"why are jumping spiders so cute?\",\n  \"why is there going to be a pink moon tonight?\",\n  \"why do abusers apologize?\",\n  \"why do people hate mf doom?\",\n  \"why is the mona lisa famous?\",\n  \"why do the ewells eat squirrel?\",\n  \"why is gnma down?\",\n  \"why is bylsma wearing a red ribbon?\",\n  \"why are the lsats so hard?\",\n  \"why is there ads on google chrome?\",\n  \"why is udp faster than tcp?\",\n  \"why is ksi popular?\",\n  \"why are oats not paleo?\",\n  \"why are biceps called guns?\",\n  \"why are more people right handed?\",\n  \"why is there no sound in bs player?\",\n  \"why are gypsies not liked?\",\n  \"why is there no tax on ryanair?\",\n  \"why do people need ng tubes?\",\n  \"why is jimmy fallon growing a beard?\",\n  \"why do npqml?\",\n  \"why is xkcd called xkcd?\",\n  \"why is there conflict between npv and irr?\",\n  \"why do jw not celebrate birthdays?\",\n  \"why are people mean?\",\n  \"why is tcp reliable?\",\n  \"why are gps satellites in a high orbit?\",\n  \"why do jalapenos turn red?\",\n  \"why are rdw levels high?\",\n  \"why are adaptations important?\",\n  \"why is there gum in ice cream?\",\n  \"why do bugs bite me?\",\n  \"why are kb homes bad?\",\n  \"why do belly buttons smell?\",\n  \"why do people like rpg games?\",\n  \"why do pms symptoms get worse with age?\",\n  \"why is there bears in mw3?\",\n  \"why is texas growing so fast?\",\n  \"why is there citric acid in alka seltzer?\",\n  \"why is illinois gas so expensive?\",\n  \"why is jt leaving the young and the restless?\",\n  \"why are pistachios good for you?\",\n  \"why are funnels shaped like cones?\",\n  \"why were there aztec sacrifices?\",\n  \"why is aeroflot so cheap?\",\n  \"why is economics considered a social science?\",\n  \"why do oysters change genders?\",\n  \"why do i have xfinity?\",\n  \"why is zolpidem a controlled substance?\",\n  \"why are european cars right hand drive?\",\n  \"why is there bears in mw2?\",\n  \"why are earthquakes dangerous?\",\n  \"why is youtube blurry?\",\n  \"why do sri lankans celebrate diwali?\",\n  \"why is there vegetable oil in soda?\",\n  \"why do rna viruses replicate in the cytoplasm?\",\n  \"why is there yellow crust in my underwear?\",\n  \"why do hrt?\",\n  \"why are pyramids pointed?\",\n  \"why is hpv considered an std?\",\n  \"why are iron triangles bad?\",\n  \"why are vaccines important?\",\n  \"why are there padlocks on bridges?\",\n  \"why is there night and day myth?\",\n  \"why is ozone depletion?\",\n  \"why do traffic school?\",\n  \"why is there an apostrophe in o\\\"clock?\",\n  \"why is there a uc in merced?\",\n  \"why are officers called brass?\",\n  \"why do you need udid?\",\n  \"why is there foreign ownership of government securities?\",\n  \"why are there purple lines on my legs?\",\n  \"why is there yellow on my tongue?\",\n  \"why are rvs so expensive?\",\n  \"why do eft take so long?\",\n  \"why are audio books so expensive?\",\n  \"why is sharepoint so slow?\",\n  \"why do yeast infection creams burn?\",\n  \"why do otters hold hands?\",\n  \"why are oats not gluten free?\",\n  \"why is nra calling me?\",\n  \"why is awkward unavailable to stream on netflix?\",\n  \"why is ethanol soluble in water?\",\n  \"why do i need ddns?\",\n  \"why are there gyri and sulci in the brain?\",\n  \"why are bytes 8 bits?\",\n  \"why are turtles endangered?\",\n  \"why is there mercury in cfl?\",\n  \"why is npr so boring?\",\n  \"why is iron man rated pg-13?\",\n  \"why is nbc\\\"s logo a peacock?\",\n  \"why are cnidarians considered invertebrates?\",\n  \"why is dha important?\",\n  \"why is hwy 10 closed?\",\n  \"why do people play fps?\",\n  \"why are evaluations important?\",\n  \"why is xm radio updating?\",\n  \"why are there gaps in my html table?\",\n  \"why is oedipus considered a tragedy?\",\n  \"why do cells undergo meiosis?\",\n  \"why do wrens song?\",\n  \"why is atticus defending tom robinson?\",\n  \"why is hdl called good cholesterol?\",\n  \"why hsas are bad?\",\n  \"why are ivy leagues so selective?\",\n  \"why are yachts so expensive?\",\n  \"why are there random wells in minecraft?\",\n  \"why are utilities sensitive to interest rates?\",\n  \"why is there swelling in inflammation?\",\n  \"why is there slime in underwear?\",\n  \"why is there evil yahoo?\",\n  \"why are nba games so late?\",\n  \"why is there a dot after mr?\",\n  \"why do parents hit their children?\",\n  \"why do new tattoos itch?\",\n  \"why is there a dvr service fee?\",\n  \"why is there no itv1?\",\n  \"why are cucumber plants turning yellow?\",\n  \"why is effective training important?\",\n  \"why is css important?\",\n  \"why is there red stuff in my underwear?\",\n  \"why is there april fools?\",\n  \"why do labs have webbed feet?\",\n  \"why are there prisons?\",\n  \"why is hvac measured in tons?\",\n  \"why do islam kill people?\",\n  \"why are cicadas important?\",\n  \"why are there questions at the beginning of this essay?\",\n  \"why is there bet but no wet?\",\n  \"why is there a european grand prix?\",\n  \"why are generators measured in kva?\",\n  \"why is there ageing population?\",\n  \"why is bcbg so expensive?\",\n  \"why are graves 6 feet deep?\",\n  \"why is nmr insensitive?\",\n  \"why are tsunamis caused?\",\n  \"why are there criminals?\",\n  \"why do xerophytes have spines?\",\n  \"why did einstein do bad in school?\",\n  \"why are there no lymph arteries?\",\n  \"why is cbt important?\",\n  \"why is sgpt test done?\",\n  \"why is there mucus in my mouth?\",\n  \"why are manners important?\",\n  \"why do aircraft use 400hz?\",\n  \"why are treasury yields rising?\",\n  \"why is tcl popular?\",\n  \"why do people hate jc staff?\",\n  \"why is there censorship in singapore?\",\n  \"why is there gunk in my eyes when i wake up?\",\n  \"why are there planets?\",\n  \"why is gym good for you?\",\n  \"why are illegal immigrants coming to america?\",\n  \"why are gb good at cycling?\",\n  \"why are there dark spots on my clothes?\",\n  \"why is pfiesteria dangerous to humans?\",\n  \"why is hick rated r?\",\n  \"why is there evil islam?\",\n  \"why is there heavy rainfall near the equator?\",\n  \"why are there 24 books in the odyssey?\",\n  \"why is rna called a messenger?\",\n  \"why do koreans have 3 names?\",\n  \"why is bmw so expensive?\",\n  \"why is bsod blue?\",\n  \"why is nd the fighting irish?\",\n  \"why is oil considered a nonrenewable resource?\",\n  \"why are there cutbacks in education?\",\n  \"why are leo women so attractive?\",\n  \"why do oysters make people frisky?\",\n  \"why do us airports start with k?\",\n  \"why are cmyk colours dull?\",\n  \"why are kazakhstan in uefa?\",\n  \"why are lunch meats bad for you?\",\n  \"why are there no episodes of the middle?\",\n  \"why is dvd better than cd?\",\n  \"why is jk rowling your favorite author?\",\n  \"why is bart so loud?\",\n  \"why is gcf important?\",\n  \"why is django unchained so good?\",\n  \"why is it bw 3?\",\n  \"why are equifax and transunion scores different?\",\n  \"why is eye contact important with children?\",\n  \"why is there usb port on my tv?\",\n  \"why is there so little fdi in japan?\",\n  \"why is arwen dying?\",\n  \"why do ssri cause insomnia?\",\n  \"why do taurus men ignore you?\",\n  \"why do people cc themselves?\",\n  \"why are uc schools so good?\",\n  \"why do gmd3 need a new name?\",\n  \"why are there knots in trees?\",\n  \"why are glaciers so important?\",\n  \"why is jt austin not on wizards?\",\n  \"why is there eggs in ice cream?\",\n  \"why is there an odor behind the ears?\",\n  \"why is there early voting in some states?\",\n  \"why is there mold on my bathroom ceiling?\",\n  \"why are ssi checks late this month?\",\n  \"why do some pimples hurt?\",\n  \"why do people like jcpenney?\",\n  \"why is cs important lol?\",\n  \"why is umass called the zoo?\",\n  \"why is epidemiologic surveillance important?\",\n  \"why are symbols important to lyric poetry?\",\n  \"why are lymphocytes low?\",\n  \"why is pollination important?\",\n  \"why are there no basements in california?\",\n  \"why are table cells td?\",\n  \"why are ayyappan\\\"s legs tied?\",\n  \"why are there alligators in florida?\",\n  \"why are love bugs stuck together?\",\n  \"why is illuminati?\",\n  \"why do qbs not throw at combine?\",\n  \"why are gases compressible?\",\n  \"why are ovarian cysts so common?\",\n  \"why do tpms sensors go bad?\",\n  \"why are there dips in ionization energy?\",\n  \"why is aquarius attracted to aries?\",\n  \"why are snakes evil?\",\n  \"why is sgu canceled?\",\n  \"why do spanish speak with a lisp?\",\n  \"why is ohio so popular?\",\n  \"why is there summer and winter?\",\n  \"why is there an m on m&ms?\",\n  \"why is there border patrol?\",\n  \"why is there glass in chewing tobacco?\",\n  \"why are oceans blue?\",\n  \"why do rspca put dogs down?\",\n  \"why is there a nyc tax?\",\n  \"why is there no football on cbs today?\",\n  \"why are zn complexes colorless?\",\n  \"why is ntp important for log analysis?\",\n  \"why is cvs always by walgreens?\",\n  \"why are fb pictures cartoons?\",\n  \"why do idiots say yolo?\",\n  \"why is modern masters so expensive?\",\n  \"why do ribs hurt when pregnant?\",\n  \"why are owls nocturnal animals?\",\n  \"why are there no good mmorpgs?\",\n  \"why are coral reefs important ehow?\",\n  \"why is there no nfl game on cbs?\",\n  \"why do mms pictures come in as movies?\",\n  \"why is osmosis passive transport?\",\n  \"why are flies so fast?\",\n  \"why are kids annoying?\",\n  \"why is episode 1 called pilot?\",\n  \"why are aquarius so selfish?\",\n  \"why is axe flammable?\",\n  \"why is ny the empire state?\",\n  \"why is jello good for you?\",\n  \"why are quail eggs spotted?\",\n  \"why is there ozone in water?\",\n  \"why is sdlc required?\",\n  \"why is bpa in canned foods?\",\n  \"why do people wear ucla?\",\n  \"why is hvac filter wet?\",\n  \"why is there overpopulation in third world countries?\",\n  \"why is there mucus in my dog\\\"s poop?\",\n  \"why is there gas in my oil motorcycle?\",\n  \"why is xd proxy in history?\",\n  \"why are golf balls dimpled?\",\n  \"why are girls putting cm on facebook?\",\n  \"why do uat?\",\n  \"why is there different types of weed?\",\n  \"why is there more oxygen in cold water?\",\n  \"why are there voices in my head?\",\n  \"why is minecraft so expensive?\",\n  \"why is there pus in my ear?\",\n  \"why is there slimy stuff in my underwear?\",\n  \"why there\\\"s so many homeless in sf?\",\n  \"why do pilots say uh?\",\n  \"why are logos blurred on tv?\",\n  \"why is texting and driving bad?\",\n  \"why is there may day?\",\n  \"why are there no dvrs?\",\n  \"why are piercing guns bad?\",\n  \"why is ie so hard to develop for?\",\n  \"why is njhs important?\",\n  \"why are there palestinian refugees?\",\n  \"why do hindus have a dot?\",\n  \"why is hvac leaking?\",\n  \"why is lte not 4g?\",\n  \"why do people use hjsplit?\",\n  \"why do sisters fight?\",\n  \"why is bf3 not on steam?\",\n  \"why is there education budget cuts?\",\n  \"why are there so few dvd recorders?\",\n  \"why is there spanish in jai ho?\",\n  \"why are there no hydrogen bonds in rna?\",\n  \"why is asthma worse at night?\",\n  \"why is ukraine called the breadbasket of europe?\",\n  \"why are gnats attacking me?\",\n  \"why is scientology bad?\",\n  \"why are cds better than cassettes?\",\n  \"why is rob halford using a cane?\",\n  \"why is eye contact important?\",\n  \"why is vuze not working?\",\n  \"why do tattoos get infected?\",\n  \"why are nephrons important?\",\n  \"why are pga players growing beards?\",\n  \"why do bc dates go backwards?\",\n  \"why did einstein do it?\",\n  \"why do nba players wear compression sleeves?\",\n  \"why do rna viruses evolve so quickly?\",\n  \"why are hurt so slow?\",\n  \"why is bg going to jail?\",\n  \"why are there no snakes in nz?\",\n  \"why are type 2 diabetes obese?\",\n  \"why are xenoliths important?\",\n  \"why is gunther not on shake it up?\",\n  \"why do joints canoe?\",\n  \"why do scars form?\",\n  \"why are there irregular verbs?\",\n  \"why is there more than one religion?\",\n  \"why are creepers scared of cats?\",\n  \"why is there tuna in oil?\",\n  \"why is there a pyramid inside the human body?\",\n  \"why is there beetles in my house?\",\n  \"why is photosynthesis important?\",\n  \"why do snakes have scales?\",\n  \"why do vpn tunnels drop?\",\n  \"why is vlc so bad?\",\n  \"why is esperanza afraid of sire?\",\n  \"why do glands swell?\",\n  \"why is jc monahan on chronicle?\",\n  \"why are there haters in the world?\",\n  \"why do unknown numbers call me?\",\n  \"why is eel good for men?\",\n  \"why is there pyramid on the back of the dollar bill?\",\n  \"why we are using jsp?\",\n  \"why are libraries important?\",\n  \"why is there an eye on the pyramid on the dollar bill?\",\n  \"why are odd functions symmetric about the origin?\",\n  \"why is nguyen pronounced win?\",\n  \"why are birds chirping at night 2013?\",\n  \"why is zucchini good for you?\",\n  \"why are there no woodwinds in dci?\",\n  \"why is obesity a problem?\",\n  \"why is there blood in my urine?\",\n  \"why is vertu so expensive?\",\n  \"why do phases of the moon occur?\",\n  \"why is there impairment of goodwill?\",\n  \"why do our bones pop?\",\n  \"why are snow leopards endangered?\",\n  \"why is vw golf so good?\",\n  \"why do nvidia cards run hot?\",\n  \"why are ryback\\\"s eyes always red?\",\n  \"why is there cp on 4chan?\",\n  \"why is vnq down?\",\n  \"why do guys like girls?\",\n  \"why are pretty girls single?\",\n  \"why is usps so slow?\",\n  \"why are there idiots on youtube?\",\n  \"why are human rights important?\",\n  \"why do they call coffee joe?\",\n  \"why do us companies outsource jobs?\",\n  \"why is ccs going out of business?\",\n  \"why are pyramids on the dollar bill?\",\n  \"why do azeris hate armenians?\",\n  \"why is there evil in the world if god exists?\",\n  \"why do exchange rates change?\",\n  \"why do developers use ubuntu?\",\n  \"why is there drake memes?\",\n  \"why is there violence in iraq?\",\n  \"why is everybody always pickin on me?\",\n  \"why is air important?\",\n  \"why do not md?\",\n  \"why is lpg not popular?\",\n  \"why are leos attracted to scorpios?\",\n  \"why are there 6 nl central teams?\",\n  \"why are gnats attracted to my face?\",\n  \"why is ezio so old in revelations?\",\n  \"why are there centipedes in my basement?\",\n  \"why are there interstates in hawaii?\",\n  \"why is dpt vaccine given?\",\n  \"why are ecgs performed?\",\n  \"why is fwb rated r?\",\n  \"why is there tax on used cars?\",\n  \"why are there lone wolves?\",\n  \"why are .fm domains so expensive?\",\n  \"why are there beetles in my house?\",\n  \"why are there new host on 106 and park?\",\n  \"why is oyster expensive?\",\n  \"why is side effects rated r?\",\n  \"why are the ewells not credible witnesses?\",\n  \"why is there african cup of nations in 2013?\",\n  \"why do air conditioners go in windows?\",\n  \"why do xbox get map packs first?\",\n  \"why do people hate ncis?\",\n  \"why are ultraviolet rays helpful?\",\n  \"why do ducks fly in a v?\",\n  \"why do cuts ooze?\",\n  \"why are they ending house md?\",\n  \"why is there no itv1 hd?\",\n  \"why do gps give wrong directions?\",\n  \"why are french fries french?\",\n  \"why is there early voting in ohio?\",\n  \"why are cnc machines used?\",\n  \"why is there apartheid?\",\n  \"why do birds by carpenters?\",\n  \"why do zane and rikki break up?\",\n  \"why is isaac newton famous?\",\n  \"why is there a full stop after mr?\",\n  \"why do rabbits thump?\",\n  \"why is ssh not working?\",\n  \"why do some ants have wings?\",\n  \"why are there no new oil refineries?\",\n  \"why are there observatories in chile?\",\n  \"why is there dry skin on my eyelids?\",\n  \"why is sram faster than dram?\",\n  \"why is android ui slow?\",\n  \"why do we need vpn?\",\n  \"why are there laws of physics?\",\n  \"why is there pain during menstruation?\",\n  \"why do xboxes get banned from live?\",\n  \"why is there age limits?\",\n  \"why is there double taxation?\",\n  \"why is there phlegm in my lungs?\",\n  \"why is one nostril always clogged?\",\n  \"why is mcat so hard?\",\n  \"why do qb spike the ball?\",\n  \"why is there conflict between armenia and azerbaijan?\",\n  \"why is abortion legal?\",\n  \"why is there age limits on games?\",\n  \"why is ghee paleo?\",\n  \"why is pfizer offering zoetis stock?\",\n  \"why are msnbc ratings so low?\",\n  \"why is tv censored?\",\n  \"why is kbb higher than nada?\",\n  \"why is hse important?\",\n  \"why do we use bst?\",\n  \"why is ogplanet down?\",\n  \"why are there two versions of fma?\",\n  \"why is there rust in my well water?\",\n  \"why are upload speeds slower?\",\n  \"why is there a kelvin scale?\",\n  \"why do i keep getting colds?\",\n  \"why is there 2 kratos?\",\n  \"why do ryanair prices keep changing?\",\n  \"why is tsarnaev pleading not guilty?\",\n  \"why is only one nipple sore?\",\n  \"why are lymph nodes important?\",\n  \"why do lps skip?\",\n  \"why are there homeowners associations?\",\n  \"why are there so many tcp connections?\",\n  \"why is earth called earth?\",\n  \"why is there statute of limitations?\",\n  \"why do mice have tails?\",\n  \"why is oot the best game ever?\",\n  \"why are jpegs better than gifs?\",\n  \"why is amtrak so expensive?\",\n  \"why are there age restrictions on dextromethorphan?\",\n  \"why are there olympic medals?\",\n  \"why is there fungus in my fish tank?\",\n  \"why is abraham important?\",\n  \"why do feet cramp?\",\n  \"why do whales sing?\",\n  \"why is wolverine not in the avengers?\",\n  \"why are harddrives so expensive?\",\n  \"why do kung fu?\",\n  \"why do oxygen masks drop in planes?\",\n  \"why are eotech magnifiers so expensive?\",\n  \"why is ct better than mri?\",\n  \"why is there something instead of nothing?\",\n  \"why is quitting smoking so hard?\",\n  \"why is there so much poison ivy?\",\n  \"why is rhyming important?\",\n  \"why are ak\\\"s so expensive?\",\n  \"why are there no iphone 4s?\",\n  \"why is farringdon zfd?\",\n  \"why is having an education important?\",\n  \"why are dynamic characters important?\",\n  \"why is there smog in la?\",\n  \"why do i need ehic?\",\n  \"why is there numbers above sky sports?\",\n  \"why is ccsvchst high in cpu usage?\",\n  \"why is mr t famous?\",\n  \"why is there scabs on my scalp?\",\n  \"why do dwarf hamsters eat their babies?\",\n  \"why is nh3 classified as a polar molecule?\",\n  \"why is there atmosphere?\",\n  \"why are rf values different?\",\n  \"why is hp stock going up?\",\n  \"why is ahi tuna so expensive?\",\n  \"why is rhogam given?\",\n  \"why do ncr rangers attack me?\",\n  \"why is there bedrock in the nether?\",\n  \"why are there gas attendants in oregon?\",\n  \"why do uterine contractions hurt?\",\n  \"why is there slavery in the bible?\",\n  \"why is ad downward sloping?\",\n  \"why is nzbsrus down?\",\n  \"why are there mixed economy?\",\n  \"why is liquor called spirits?\",\n  \"why we are using dbms?\",\n  \"why is hsbc not working?\",\n  \"why are oval diamonds cheaper?\",\n  \"why are road bikes so expensive?\",\n  \"why are viruses not considered living organisms?\",\n  \"why are experiments important?\",\n  \"why are cc domains so expensive?\",\n  \"why is there tripping in brawl?\",\n  \"why do other guys stare at me?\",\n  \"why is there free trade between states?\",\n  \"why is rt 66 famous?\",\n  \"why is there bce and ce?\",\n  \"why are awards called oscars?\",\n  \"why is fn button not working?\",\n  \"why do we do a pfc test?\",\n  \"why are emotions important?\",\n  \"why are there llamas in sims?\",\n  \"why is nh4cl used instead of hcl?\",\n  \"why do cfl bulbs flicker when off?\",\n  \"why do hvac units freeze?\",\n  \"why is there killing in burma?\",\n  \"why do things float?\",\n  \"why is gdp better than gnp?\",\n  \"why do nyc sewers steam?\",\n  \"why do rich people eat caviar?\",\n  \"why is cesar chavez important?\",\n  \"why are there sugar ants in my house?\",\n  \"why are hr people?\",\n  \"why are there pimples on my forehead?\",\n  \"why is aeneas a hero?\",\n  \"why are bf3 guns so weak?\",\n  \"why are there age restrictions on facebook?\",\n  \"why is clark howard not on kste?\",\n  \"why is there an increasing number of ngos?\",\n  \"why are lsu and oregon playing in arlington tx?\",\n  \"why are there two irelands?\",\n  \"why are identical twins not clones?\",\n  \"why are there are concerns about high-stakes tests?\",\n  \"why are there no iphone 4s cases?\",\n  \"why are there activation fees?\",\n  \"why is nrg cheap?\",\n  \"why is walmart bad?\",\n  \"why are green beans good for you?\",\n  \"why are people banning ezreal?\",\n  \"why is there an osi model?\",\n  \"why are there so few nhs dentists?\",\n  \"why is there olympics?\",\n  \"why do mncs expand?\",\n  \"why are they called udders?\",\n  \"why is there plastic on wires?\",\n  \"why is there dha in prenatal vitamins?\",\n  \"why are there viruses?\",\n  \"why are dc schools closed today?\",\n  \"why is there a synapse?\",\n  \"why do iron weights feel heavier?\",\n  \"why is rsync so fast?\",\n  \"why do rainbows form?\",\n  \"why are native americans in poverty?\",\n  \"why are zucchini blossoms dying?\",\n  \"why is there now a southern ocean?\",\n  \"why are there two green lanterns?\",\n  \"why is my dog shaking?\",\n  \"why are there words on my tv?\",\n  \"why is writing so difficult?\",\n  \"why is udina councilor in me3?\",\n  \"why is there no greenhouse effect on mars?\",\n  \"why do stink bugs stink?\",\n  \"why is there slime in my dog\\\"s poop?\",\n  \"why is doma unconstitutional?\",\n  \"why are synapses important?\",\n  \"why do ofsted inspect?\",\n  \"why is xna dead?\",\n  \"why are chielo and ezinma so close?\",\n  \"why do x rays cost so much?\",\n  \"why is exercise good for diabetics?\",\n  \"why is business ethics important?\",\n  \"why are nm flags at half mast?\",\n  \"why are there plants?\",\n  \"why is there gold?\",\n  \"why is tnt explosive?\",\n  \"why do emoticons show up as squares?\",\n  \"why is genetic diversity important?\",\n  \"why are yawns catching?\",\n  \"why is aol mail so slow 2013?\",\n  \"why do rfp?\",\n  \"why is there shoulder pain with ectopic pregnancy?\",\n  \"why do cutters cut?\",\n  \"why is nba finals 2-3-2?\",\n  \"why are there grooves on a golf club?\",\n  \"why is animal crossing fun?\",\n  \"why are there less lightning bugs?\",\n  \"why is ohio considered the midwest?\",\n  \"why do rhinos roll in the mud?\",\n  \"why is pwn own?\",\n  \"why is there gooey stuff coming out?\",\n  \"why do stomachs growl?\",\n  \"why is squash good for you?\",\n  \"why is apoptosis important?\",\n  \"why do grain elevators explode?\",\n  \"why is there smoke in the smoky mountains?\",\n  \"why do suits get shiny?\",\n  \"why do rv roofs leak?\",\n  \"why are oats bad for you?\",\n  \"why is there no nhl on pc?\",\n  \"why do gtp?\",\n  \"why is skyrim rated m?\",\n  \"why is there inflation in uk?\",\n  \"why is j crew so expensive?\",\n  \"why are there imaginary lines on the globe?\",\n  \"why are gorillas poached?\",\n  \"why are nvidia cards so bad at bitcoin mining?\",\n  \"why are there tides twice a day?\",\n  \"why is minnie leaving mzansi insider?\",\n  \"why do we need sb 1070?\",\n  \"why are there seagulls in oklahoma?\",\n  \"why is vsepr theory important?\",\n  \"why are foamposites so popular?\",\n  \"why are there zits on my thighs?\",\n  \"why is yellowstone park called yellowstone?\",\n  \"why are mattresses so expensive?\",\n  \"why is johnny depp so hot?\",\n  \"why do ryanair block seats?\",\n  \"why do symptoms get worse at night?\",\n  \"why are there no europeans in the presidents cup?\",\n  \"why is illinois important?\",\n  \"why is nj so boring?\",\n  \"why do wmv files have to load?\",\n  \"why are closing costs so expensive?\",\n  \"why are there concerns about stem cell research?\",\n  \"why are yugioh cards so cheap?\",\n  \"why are there gluten free foods?\",\n  \"why are there side effects to medicine?\",\n  \"why is there a knot in my calf?\",\n  \"why are sloths so cute?\",\n  \"why is there jaundice in hepatitis?\",\n  \"why is there american independence day?\",\n  \"why is hpv vaccine for 26?\",\n  \"why is there a period after ms?\",\n  \"why are dc shoes popular?\",\n  \"why is dhcp important?\",\n  \"why do koreans say hwaiting?\",\n  \"why are vans so expensive?\",\n  \"why are overweight people at risk for diabetes?\",\n  \"why is wti lower than brent?\",\n  \"why are jim parsons hands red?\",\n  \"why are knees and elbows dark?\",\n  \"why is eminem the best rapper?\",\n  \"why is oolong tea so expensive?\",\n  \"why is dpi important mouse?\",\n  \"why do pterodactyls fly?\",\n  \"why are orange cats male?\",\n  \"why are there 2 uchiha madara?\",\n  \"why are there low tides?\",\n  \"why is there undigested food in my stool?\",\n  \"why are there so many possums in nz?\",\n  \"why is tcp/ip important?\",\n  \"why do people use vmware?\",\n  \"why are my bf3 assignments locked?\",\n  \"why are there flies?\",\n  \"why are tables a good ui component?\",\n  \"why do people tp houses?\",\n  \"why is text message blue on iphone?\",\n  \"why is ck high?\",\n  \"why is there echo?\",\n  \"why is pilates good for you?\",\n  \"why are investments in fdic considered safe?\",\n  \"why is there a pc server on my mac?\",\n  \"why are there polar bodies in oogenesis?\",\n  \"why is there ads on youtube videos?\",\n  \"why are tattoos permanent?\",\n  \"why is accutane bad?\",\n  \"why is rvd coming back?\",\n  \"why are german words so long?\",\n  \"why are there idiots in the world?\",\n  \"why is centurylink so slow?\",\n  \"why are tomatoes good for you?\",\n  \"why is there rugae in the stomach?\",\n  \"why do i need nodejs?\",\n  \"why do lightning bugs glow?\",\n  \"why are rvus used in healthcare?\",\n  \"why are celebrities scientologists?\",\n  \"why do nhl players fight?\",\n  \"why are ultrasounds done?\",\n  \"why is there ykk on zippers?\",\n  \"why is there milk coming from my breast?\",\n  \"why is there snow on mountains?\",\n  \"why are minor parties important?\",\n  \"why is there evolution?\",\n  \"why is rss dying?\",\n  \"why are there no porsches in gt5?\",\n  \"why do men have nipples?\",\n  \"why do poor people smoke?\",\n  \"why is oyster card called?\",\n  \"why do city lights flicker?\",\n  \"why do entrepreneurs fail?\",\n  \"why is iron important to the body?\",\n  \"why is dbms important?\",\n  \"why is there mushrooms in my grass?\",\n  \"why do frogs need water?\",\n  \"why is ketchup called ketchup?\",\n  \"why is there cinco de mayo?\",\n  \"why is chocolate bad for dogs?\",\n  \"why is there worm in the bottom of tequila?\",\n  \"why is there no free pdf editor?\",\n  \"why do trucks go to weigh stations?\",\n  \"why are there versions of the bible?\",\n  \"why are there two umpires in rounders?\",\n  \"why do implants fail?\",\n  \"why is there no king of monaco?\",\n  \"why is jeffrey king?\",\n  \"why is bf3 an electrophile?\",\n  \"why are sf giants wearing ny?\",\n  \"why do ibooks disappear?\",\n  \"why are amur leopards endangered?\",\n  \"why is there no gas in ny?\",\n  \"why is there gluten in ice cream?\",\n  \"why are there hipsters?\",\n  \"why is gps inaccurate?\",\n  \"why is mona lisa famous?\",\n  \"why do illuminati kill celebrities?\",\n  \"why are bystanders bad?\",\n  \"why are xlsx files smaller?\",\n  \"why is cdna important?\",\n  \"why is ppcp removal difficult?\",\n  \"why are italian mtg cards cheap?\",\n  \"why do a cvp analysis?\",\n  \"why are there usb ports on a ps2?\",\n  \"why is edc so popular?\",\n  \"why is earth day important?\",\n  \"why do jordan 11 turn yellow?\",\n  \"why do i need bgp?\",\n  \"why do cds scratch so easily?\",\n  \"why do people bcc in email?\",\n  \"why do epidermal cells die?\",\n  \"why are there lumps under my nipples?\",\n  \"why are cuban cigars illegal?\",\n  \"why is lg lucid so cheap?\",\n  \"why are gas prices so high in california?\",\n  \"why is energy important?\",\n  \"why are llcs formed in delaware?\",\n  \"why is ayat al kursi importance?\",\n  \"why are there yellow spots on my skin?\",\n  \"why is there an upgrade fee for at t?\",\n  \"why do dogs eat their own poop?\",\n  \"why is there air in my water pipes?\",\n  \"why is cell specialization important?\",\n  \"why is bse closed today?\",\n  \"why is ghost roaster so expensive?\",\n  \"why is there discrimination against gypsies and travellers?\",\n  \"why do tick bites itch?\",\n  \"why is ff surrender?\",\n  \"why is rhode island a state?\",\n  \"why is there arsenic in our water?\",\n  \"why is xlsx so big?\",\n  \"why is there no ikea in st louis?\",\n  \"why do we use rms voltage?\",\n  \"why is there money?\",\n  \"why is ryze so good?\",\n  \"why is there swelling during pregnancy?\",\n  \"why is charge usually transferred by electrons?\",\n  \"why is ck mb elevated?\",\n  \"why are hp laptops cheap?\",\n  \"why is after effects so slow?\",\n  \"why is burn notice being cancelled?\",\n  \"why is there 13 knots in a noose?\",\n  \"why do birds fly?\",\n  \"why is mcdonalds coffee so hot?\",\n  \"why are ieps so important?\",\n  \"why are offensive tackles called tackles?\",\n  \"why are ohioans called buckeyes?\",\n  \"why do people rt on twitter?\",\n  \"why are there so many effeminate men?\",\n  \"why do oceans have waves?\",\n  \"why do i have so much gas?\",\n  \"why are you the way that you are?\",\n  \"why are there protests on may day?\",\n  \"why are states opposing gst?\",\n  \"why is there dark red discharge?\",\n  \"why are engagement rings so expensive?\",\n  \"why do gnats swarm around me?\",\n  \"why is btr ending?\",\n  \"why are mlb salaries so high?\",\n  \"why are there airplane symbols on the interstate?\",\n  \"why are there earthquakes in kansas?\",\n  \"why is there question marks in my dock?\",\n  \"why are jordans so expensive?\",\n  \"why are there phosphates in fertilizer?\",\n  \"why is there no mcdonalds in syria?\",\n  \"why is there lag on ps3?\",\n  \"why is there electoral votes?\",\n  \"why are goals important?\",\n  \"why do ions conduct electricity?\",\n  \"why are ozone levels not reported in winter?\",\n  \"why are there pads for men?\",\n  \"why is there iron overload in thalassemia?\",\n  \"why is ogletree suspended?\",\n  \"why is moonshine illegal?\",\n  \"why do i burp so much?\",\n  \"why is tsunade so weak?\",\n  \"why is there interest?\",\n  \"why is origin bad?\",\n  \"why is ivf controversial?\",\n  \"why is there censorship in fahrenheit 451?\",\n  \"why do you need an sbc?\",\n  \"why is cpk elevated?\",\n  \"why is iwork asking for a serial number?\",\n  \"why are ozone injections illegal?\",\n  \"why do mps say hear hear?\",\n  \"why is there silent letters?\",\n  \"why is there tape on your nose?\",\n  \"why is circumcision important?\",\n  \"why is there water in my cpap hose?\",\n  \"why is sdsu hard to get into?\",\n  \"why is jr smith out?\",\n  \"why are leggings so popular?\",\n  \"why is there yogurt in this cap?\",\n  \"why do kurdish people live in turkey?\",\n  \"why is there mucus in my lungs?\",\n  \"why is nba officiating so bad?\",\n  \"why do hives keep coming back?\",\n  \"why are fm channels odd?\",\n  \"why is there mucus in my eye?\",\n  \"why there is rupee crunch in bhutan?\",\n  \"why do vw beetles have flowers?\",\n  \"why is ohio so important?\",\n  \"why are odd harmonics?\",\n  \"why are msc cruises so cheap?\",\n  \"why are there crop circles?\",\n  \"why there is negative peak in hplc?\",\n  \"why is hr so useless?\",\n  \"why are there cracks in my tomatoes?\",\n  \"why is there always blood in my snot?\",\n  \"why do a vng test?\",\n  \"why is kwh used?\",\n  \"why do diamonds sparkle?\",\n  \"why do ibis stand on one leg?\",\n  \"why is there no rain in oklahoma?\",\n  \"why are aha splitting up?\",\n  \"why is there an umlaut in naive?\",\n  \"why is there escape velocity?\",\n  \"why is there no ios 5 update?\",\n  \"why is fresno so hot?\",\n  \"why is onision banned from vidcon?\",\n  \"why is uars crashing?\",\n  \"why are abalone so expensive?\",\n  \"why is there no bob dylan on youtube?\",\n  \"why are edibles stronger than smoking?\",\n  \"why is nvidia so expensive?\",\n  \"why do rhododendron leaves droop?\",\n  \"why is xolair expensive?\",\n  \"why do dwarves hate elves?\",\n  \"why is aquaman hated?\",\n  \"why is number 7 lucky?\",\n  \"why are there rainbows on cds?\",\n  \"why do fft?\",\n  \"why are uavs used?\",\n  \"why is fnma going down?\",\n  \"why are timeshares bad?\",\n  \"why are there giraffes in colchester?\",\n  \"why are co2 and ccl4 nonpolar?\",\n  \"why is urine dark?\",\n  \"why is tpms light on?\",\n  \"why is there no relegation in mls?\",\n  \"why are gymnasts so ripped?\",\n  \"why is youtube loading so slow?\",\n  \"why are there no kettles in america?\",\n  \"why is there no ikea in london ontario?\",\n  \"why do hd movies look weird?\",\n  \"why is iis used?\",\n  \"why are there jellyfish on the beach?\",\n  \"why is mold dangerous?\",\n  \"why is tmobile down today?\",\n  \"why do hydrangeas not bloom?\",\n  \"why are there 2 svchost.exe?\",\n  \"why are cds 72 minutes long?\",\n  \"why is ewan mcgregor famous?\",\n  \"why are ntfps interesting?\",\n  \"why do adults smoke?\",\n  \"why are xylem dead?\",\n  \"why is splenda bad for you?\",\n  \"why is iphone 5 better than 4s?\",\n  \"why is there a cmos chip on a motherboard?\",\n  \"why do you want sfdc training?\",\n  \"why is the uw mascot a husky?\",\n  \"why do people say .jpg?\",\n  \"why is cnn so biased?\",\n  \"why are mri\\\"s done?\",\n  \"why is there an umlaut in you and i?\",\n  \"why is there ethnic diversity in the united states?\",\n  \"why is oatmeal heart healthy?\",\n  \"why is there no osama body?\",\n  \"why are there bumps on my nipple?\",\n  \"why is there hyperkalemia in ckd?\",\n  \"why do people lie?\",\n  \"why do people like vw?\",\n  \"why is there graffiti on the berlin wall?\",\n  \"why are kmno4 and i2 similar in color?\",\n  \"why do dogs have whiskers?\",\n  \"why is cutting bad?\",\n  \"why are there earwigs in my apartment?\",\n  \"why are there crickets in my basement?\",\n  \"why are leos so sensitive?\",\n  \"why are ikea beds so low?\",\n  \"why are neurotransmitters important?\",\n  \"why is ash still 10?\",\n  \"why is there is no king in england?\",\n  \"why is mf so strong?\",\n  \"why do you get rls?\",\n  \"why are there agencies outside the department of defense?\",\n  \"why there is no volcanoes in uae?\",\n  \"why is superman so strong?\",\n  \"why is pacific ocean cold?\",\n  \"why is bt corn bad?\",\n  \"why is hno3 used for the acidification?\",\n  \"why is hookah bad for you?\",\n  \"why is there bible in hotel rooms?\",\n  \"why do snakes have split tongues?\",\n  \"why is risk management important in organizations?\",\n  \"why is there tax on fast food?\",\n  \"why is high blood sugar bad?\",\n  \"why do spits form?\",\n  \"why are arteries thicker than veins?\",\n  \"why do sea otters hold hands?\",\n  \"why do zebu have humps?\",\n  \"why do epidemics still occur?\",\n  \"why are mbas so expensive?\",\n  \"why is omegle not connecting?\",\n  \"why is there food in skyrim?\",\n  \"why is there child soldiers?\",\n  \"why is pc so slow?\",\n  \"why is there a need for okazaki fragments?\",\n  \"why is there carl\\\"s jr and hardee\\\"s?\",\n  \"why is ckm unitarity?\",\n  \"why is there an odd player in volleyball?\",\n  \"why are there tax havens?\",\n  \"why are there typos in kindle books?\",\n  \"why do windows fog up?\",\n  \"why are monopolies bad?\",\n  \"why do agamemnon and achilles fight?\",\n  \"why do we use 440 hz?\",\n  \"why are there square roots?\",\n  \"why are there zombies in the hayloft?\",\n  \"why is drive rated r?\",\n  \"why is zuna always looking down?\",\n  \"why are there centipedes in my house plant?\",\n  \"why are there no ob tampons?\",\n  \"why are there holes in kayaks?\",\n  \"why wm3 are guilty?\",\n  \"why is ukraine a developing country?\",\n  \"why is git and git?\",\n  \"why is offshoring bad?\",\n  \"why is llc good?\",\n  \"why are there seagulls in parking lots?\",\n  \"why are there holes in bricks?\",\n  \"why is bp low?\",\n  \"why is eddie not in kickin it anymore?\",\n  \"why are there kids in the world cup?\",\n  \"why are ubisoft servers down?\",\n  \"why do fish die?\",\n  \"why is there an equal amount of adenine and thymine?\",\n  \"why is iya villania verified on twitter?\",\n  \"why is dharma important?\",\n  \"why are there no kung fu in ufc?\",\n  \"why is knossos important?\",\n  \"why do people hate x factor?\",\n  \"why is there quartz in a watch?\",\n  \"why are there empty seats at olympics 2012?\",\n  \"why is there celery in a bloody mary?\",\n  \"why is there dew in the morning?\",\n  \"why is there unrest in libya?\",\n  \"why is juicing healthy?\",\n  \"why is dmt so hard to find?\",\n  \"why do we need nre account?\",\n  \"why do cv axles break?\",\n  \"why is ktla in spanish?\",\n  \"why is odd future\\\"s so popular?\",\n  \"why are there stars on the nz flag?\",\n  \"why is there bullying yahoo?\",\n  \"why are bengal tigers endangered?\",\n  \"why are eric and bill in trouble with the authority?\",\n  \"why is tpp secret?\",\n  \"why is there a pyramid on the dollar bill?\",\n  \"why do others yawn when we yawn?\",\n  \"why is wmi so slow?\",\n  \"why are there guards at the tomb of the unknown soldier?\",\n  \"why is dietary fiber important?\",\n  \"why is there polydipsia in dm?\",\n  \"why is ct scan done?\",\n  \"why do people hate jquery?\",\n  \"why are bc3 bulbs so expensive?\",\n  \"why is mt st helens there?\",\n  \"why is there ads on my facebook?\",\n  \"why do they put ee.uu?\",\n  \"why is cthulhu evil?\",\n  \"why are cmp ordered?\",\n  \"why is there lightning in a volcanic eruption?\",\n  \"why do books have vat?\",\n  \"why are if statements useful?\",\n  \"why are cfcs bad for the atmosphere?\",\n  \"why are there duplicate contacts in my iphone?\",\n  \"why do people fail nclex?\",\n  \"why is gdp better than gdp?\",\n  \"why is there a zero slope?\",\n  \"why are oboes so expensive?\",\n  \"why is gfr different in african americans?\",\n  \"why do spouses cheat?\",\n  \"why is zooey deschanel annoying?\",\n  \"why is oats good for you?\",\n  \"why is there a delay in gmail?\",\n  \"why is osmosis important to plants?\",\n  \"why are there no episodes of the mentalist online?\",\n  \"why are khloe and lamar leaving dallas?\",\n  \"why do babies grunt?\",\n  \"why are gas so expensive?\",\n  \"why is there more ulnar deviation?\",\n  \"why is dna replication so important?\",\n  \"why do crows caw?\",\n  \"why is title ix so important?\",\n  \"why is there no kmart in texas?\",\n  \"why is there crust behind my ear?\",\n  \"why do birds have feathers?\",\n  \"why do abortions happen?\",\n  \"why are there fake profiles on instagram?\",\n  \"why do eclipses occur?\",\n  \"why do people go to ajmer sharif?\",\n  \"why is there quinine in tonic?\",\n  \"why is ptsd on the rise?\",\n  \"why are paul and jr fighting?\",\n  \"why do numbers come up unknown?\",\n  \"why do infants vomit?\",\n  \"why are there 3 iexplore.exe running?\",\n  \"why is cbs called the tiffany network?\",\n  \"why are there multiple pids for a single program?\",\n  \"why are ray bans so expensive?\",\n  \"why do ccds have to be cooled?\",\n  \"why are mn flags at half staff today?\",\n  \"why is zach braff using kickstarter?\",\n  \"why do it hurt when i pee?\",\n  \"why is there pain in my knee?\",\n  \"why are there hymens?\",\n  \"why is there pressure when i pee?\",\n  \"why is there flesh in my period?\",\n  \"why are oomycetes not classified as fungi?\",\n  \"why is there worms in my pool?\",\n  \"why is there only one season of firefly?\",\n  \"why is vwap so important?\",\n  \"why are funny people depressed?\",\n  \"why uitm is the best university in malaysia?\",\n  \"why do cuts puss?\",\n  \"why is language important?\",\n  \"why is kobe bryant not playing?\",\n  \"why is apple juice good for you?\",\n  \"why is there vevo on youtube?\",\n  \"why do sinuses hurt?\",\n  \"why are there uk troops in germany?\",\n  \"why is dna replication considered mutant proof?\",\n  \"why are there kosher laws?\",\n  \"why do you need ftp?\",\n  \"why is acid rain a problem?\",\n  \"why do dwarf hamsters fight?\",\n  \"why are mushrooms illegal?\",\n  \"why is there kosher wine?\",\n  \"why are jordan 11 called concords?\",\n  \"why is xoxo mean hugs and kisses?\",\n  \"why is there yeast in my stool?\",\n  \"why is there more girls than boys?\",\n  \"why is there dmt in plants?\",\n  \"why are errors counted in baseball?\",\n  \"why do companies use vpn?\",\n  \"why is there ads on my tumblr?\",\n  \"why are there question marks on my finder?\",\n  \"why do canadians say ay?\",\n  \"why are ethiopians?\",\n  \"why do you like j pop?\",\n  \"why are warriors called dubs?\",\n  \"why do all zippers have ykk on them?\",\n  \"why is there dd?\",\n  \"why is gdp inaccurate?\",\n  \"why is jupiter so big?\",\n  \"why are there haves and have-nots?\",\n  \"why do skin tags pop up?\",\n  \"why are krugerrands a different color?\",\n  \"why do djs turn knobs?\",\n  \"why is uae so hot?\",\n  \"why are valence electrons important?\",\n  \"why are detrivores essential to an ecosystem?\",\n  \"why do ubuntu recommend 32 bit?\",\n  \"why is there potassium iodide in salt?\",\n  \"why is slavery wrong?\",\n  \"why are highway signs green?\",\n  \"why is sbr2 nonpolar?\",\n  \"why are there circles in washington dc?\",\n  \"why do amish people pull teeth?\",\n  \"why are there no tigers in sri lanka?\",\n  \"why is pwo server down?\",\n  \"why do sunburns stay hot?\",\n  \"why is amber alert rated r?\",\n  \"why is there smoke outside?\",\n  \"why is joe namath in the hall of fame?\",\n  \"why is there 2 iexplore.exe in task manager?\",\n  \"why are there bc and ad?\",\n  \"why are there blank pages in books?\",\n  \"why are koreans so good at lol?\",\n  \"why is eos so popular?\",\n  \"why are gtr illegal?\",\n  \"why is othello jealous?\",\n  \"why are mri machines so noisy?\",\n  \"why are ebay fees so high?\",\n  \"why is lleyton hewitt called rusty?\",\n  \"why is ddo not loading?\",\n  \"why do men have wet dreams?\",\n  \"why do roaches fly at you?\",\n  \"why is oyster creek closing?\",\n  \"why is there half moons?\",\n  \"why do ozone levels fluctuate?\",\n  \"why is ikemefuna so afraid?\",\n  \"why are oysters greedy math answer?\",\n  \"why is identity thief not rated?\",\n  \"why are everglades important?\",\n  \"why is teller silent?\",\n  \"why is there no other life in the universe?\",\n  \"why do gyms fail?\",\n  \"why is nz so boring?\",\n  \"why are there missing episodes of bleach?\",\n  \"why is there mushrooms growing in my garden?\",\n  \"why do muscles cramp?\",\n  \"why is umbridge evil?\",\n  \"why is pmon in jail?\",\n  \"why are there no nfl games on saturday?\",\n  \"why is ammo so expensive?\",\n  \"why are hsa\\\"s bad?\",\n  \"why do ib diploma?\",\n  \"why is there hypocalcemia in acute pancreatitis?\",\n  \"why are there events before the opening ceremony?\",\n  \"why is wmplayer running?\",\n  \"why are there fireworks on july 4th?\",\n  \"why is there ice on my air conditioner?\",\n  \"why are html frames deprecated?\",\n  \"why do conservatives like ayn rand?\",\n  \"why is xlsx file so large?\",\n  \"why is dpms cheap?\",\n  \"why are traditions important?\",\n  \"why is there no music on mtv?\",\n  \"why is there static in my fm transmitter?\",\n  \"why do akatsuki wear nail polish?\",\n  \"why is there two kratos?\",\n  \"why is wyoming important?\",\n  \"why is tcp/ip used?\",\n  \"why is school important?\",\n  \"why is vwallpaper not working?\",\n  \"why are ophthalmoscopic examinations important?\",\n  \"why are plants called producers?\",\n  \"why are there equal numbers of men and women?\",\n  \"why is our flag at half mast?\",\n  \"why do people like mf doom?\",\n  \"why do parrots dance?\",\n  \"why is there lead in lipstick?\",\n  \"why is upload speed so slow?\",\n  \"why is there an e on my iphone?\",\n  \"why are there ads on my website?\",\n  \"why are houses so cheap in texas?\",\n  \"why is there glass around the drummer?\",\n  \"why are there so many dna polymerases?\",\n  \"why do people use fml?\",\n  \"why are there gates in pineville ky?\",\n  \"why is there 2 wwe championship?\",\n  \"why is ozone highly reactive?\",\n  \"why is there msg in vaccines?\",\n  \"why do mlb players spit so much?\",\n  \"why are gold and silver prices falling?\",\n  \"why is there no dv recommendation for protein?\",\n  \"why is ntp important?\",\n  \"why is ssh preferred over telnet?\",\n  \"why do ryan and marissa break up?\",\n  \"why are there ads on google?\",\n  \"why is there no liberal ayn rand slate?\",\n  \"why are dpg cars red?\",\n  \"why are leaves green?\",\n  \"why is pf3 a good pi acceptor?\",\n  \"why is lgbt rights important?\",\n  \"why is fdi good?\",\n  \"why is lincoln on the penny?\",\n  \"why is ginger tea good for you?\",\n  \"why are dvi switches so expensive?\",\n  \"why do yawns occur?\",\n  \"why are energy drinks good for you?\",\n  \"why is iweb not in ilife 11?\",\n  \"why are there ads on youtube?\",\n  \"why is there tornadoes?\",\n  \"why do companies outsource?\",\n  \"why are all goods and services scarce?\",\n  \"why are my fps so low?\",\n  \"why is hno3 polar?\",\n  \"why do people hate wmg?\",\n  \"why is there steam in nyc streets?\",\n  \"why are scion tcs so slow?\",\n  \"why are there mosquitoes in my house?\",\n  \"why is pcp addictive?\",\n  \"why do ibeats break easily?\",\n  \"why do cnidarians use their tentacles?\",\n  \"why is sgot test done?\",\n  \"why are gcse important?\",\n  \"why is kbb so low?\",\n  \"why is there la clippers and la lakers?\",\n  \"why are there gaps in the periodic table?\",\n  \"why is cleopatra famous?\",\n  \"why is there small indents in the wall on pokemon?\",\n  \"why is eorlund gray mane dead?\",\n  \"why is gba4ios crashing?\",\n  \"why do rspca help animals?\",\n  \"why is nicolas cage?\",\n  \"why are planets spheres?\",\n  \"why is audience analysis important?\",\n  \"why is pf usage so high?\",\n  \"why do my hands shake?\",\n  \"why is there tissue paper in wedding invitations?\",\n  \"why are nc flags at half mast?\",\n  \"why do fish smell?\",\n  \"why are there no nba games?\",\n  \"why is sfmoma closing?\",\n  \"why are psychics bad?\",\n  \"why do cuticles hurt?\",\n  \"why is there unemployment in south africa?\",\n  \"why are ikea curtains so long?\",\n  \"why are there balls in aerosol cans?\",\n  \"why are vulcans vegetarian?\",\n  \"why is gnp always given in us$?\",\n  \"why is science important?\",\n  \"why is there ageing population in singapore?\",\n  \"why is there 16 ounces in a pound?\",\n  \"why is uic called circle?\",\n  \"why do babies cry?\",\n  \"why is there youth unemployment?\",\n  \"why is there no eucharist in john\\\"s gospel?\",\n  \"why is there platinum in catalytic converters?\",\n  \"why is there juvenile court?\",\n  \"why is imessage green?\",\n  \"why do celebrate eid al adha?\",\n  \"why is eisenhower on the dime?\",\n  \"why are there air restrictors in nerf guns?\",\n  \"why do ducks poop so much?\",\n  \"why is omega 3 important?\",\n  \"why are there any libertarian countries?\",\n  \"why are there glaciers in tropics?\",\n  \"why is lust bad?\",\n  \"why do we exercise ks2?\",\n  \"why do bt lie?\",\n  \"why do i need a vga cable?\",\n  \"why are there sharps and flats?\",\n  \"why are q tips bad?\",\n  \"why are ssd prices so high?\",\n  \"why do toddlers bang their heads?\",\n  \"why is birdman called birdman?\",\n  \"why is tuition rising?\",\n  \"why are there two tidal bulges?\",\n  \"why do ultrasound at 5 weeks?\",\n  \"why do cuts throb?\",\n  \"why are there riots in london?\",\n  \"why is wikipedia bad?\",\n  \"why are there synonyms?\",\n  \"why are macadamia nuts so expensive?\",\n  \"why are blueprints blue?\",\n  \"why do they call q tips?\",\n  \"why is there homelessness?\",\n  \"why do people say ixnay?\",\n  \"why is there national league and american league?\",\n  \"why is there ozone in the stratosphere?\",\n  \"why are oranges good for you?\",\n  \"why are there baskets on the pins at the us open?\",\n  \"why are csf nucleated cells elevated?\",\n  \"why are there symbols on my word document?\",\n  \"why is there zombies in call of duty?\",\n  \"why are there gaps in saturn\\\"s rings?\",\n  \"why are there gnats everywhere in my house?\",\n  \"why is lga cheaper than jfk?\",\n  \"why is mba good?\",\n  \"why are skeletal muscle fibers multinucleated?\",\n  \"why do adults have temper tantrums?\",\n  \"why do yucca plants turn yellow?\",\n  \"why do we have hw?\",\n  \"why are pyramids everywhere?\",\n  \"why are pmags banned?\",\n  \"why do people get dvt?\",\n  \"why are there young earth creationists?\",\n  \"why is there no commander in bf3?\",\n  \"why is vpn useful for security?\",\n  \"why are outlet malls cheaper?\",\n  \"why is kmno4 colour?\",\n  \"why are nike sb so expensive?\",\n  \"why do hipsters like apple?\",\n  \"why is there felt on a tennis ball?\",\n  \"why are there japanese in brazil?\",\n  \"why are there eucalyptus trees in california?\",\n  \"why is kakadu there?\",\n  \"why is danny called the count?\",\n  \"why are mbt shoes so expensive?\",\n  \"why are birthdays important?\",\n  \"why is uee so popular?\",\n  \"why are ckd patients anemia?\",\n  \"why is xgames leaving la?\",\n  \"why is there space between lyons?\",\n  \"why is izamal painted yellow?\",\n  \"why is there an eject button on my macbook air?\",\n  \"why is sbi stock falling?\",\n  \"why is time travel impossible?\",\n  \"why is bf3 lagging so much?\",\n  \"why do we use pgrep command?\",\n  \"why are lungs important?\",\n  \"why are kbb and nada so different?\",\n  \"why is nsa on illuminati?\",\n  \"why are rflps important?\",\n  \"why are cell phones so expensive?\",\n  \"why are agar plates inverted?\",\n  \"why is there residual volume?\",\n  \"why are oils bad for you?\",\n  \"why is ahmadinejad leaving?\",\n  \"why is there opposition to voter id?\",\n  \"why are australians so mean?\",\n  \"why are khloe and lamar divorcing?\",\n  \"why is there quarrels among you?\",\n  \"why there is cyclone?\",\n  \"why are there lines on our hands?\",\n  \"why is nsa bad?\",\n  \"why are road bikes faster?\",\n  \"why is avocado good?\",\n  \"why are mmos dying?\",\n  \"why are there so many dutch djs?\",\n  \"why is sd card not showing up?\",\n  \"why is uic called circle campus?\",\n  \"why is love so powerful?\",\n  \"why are movies rated nr?\",\n  \"why are there men gynecologist?\",\n  \"why do healing wounds itch?\",\n  \"why is there pus in milk?\",\n  \"why are oem parts better?\",\n  \"why are there hippos in colombia?\",\n  \"why is there ads everywhere?\",\n  \"why is there a nc and a sc?\",\n  \"why is there bacon in plants vs zombies?\",\n  \"why is ttyl by lauren myracle banned?\",\n  \"why do people fb stalk?\",\n  \"why is hp better than dell?\",\n  \"why do genocides occur?\",\n  \"why don\\\"t you get a job?\",\n  \"why is there a lock on my mp3?\",\n  \"why are there dvd regions?\",\n  \"why is linkedin so cool?\",\n  \"why is lpg better than petrol?\",\n  \"why is there writing on the nurburgring?\",\n  \"why do we need wcf?\",\n  \"why is there civil war in egypt?\",\n  \"why are mncs criticised?\",\n  \"why are there no more miracles?\",\n  \"why are drug cartels so violent?\",\n  \"why is ckm matrix unitary?\",\n  \"why do appendix burst?\",\n  \"why do we go for jsp?\",\n  \"why do tcon boards fail?\",\n  \"why do we need vmware tools?\",\n  \"why are there orange spots on my towels?\",\n  \"why is emma watson so perfect?\",\n  \"why is there hell if god forgives?\",\n  \"why is there gluten in soy sauce?\",\n  \"why is operation repo so fake?\",\n  \"why is klaus a fish american dad?\",\n  \"why are tna ratings so low?\",\n  \"why are ethiopians so rude?\",\n  \"why do i need vmware?\",\n  \"why do japanese drive on the left?\",\n  \"why do you need ucas points?\",\n  \"why is kvothe weak?\",\n  \"why do urinary tract infections happen?\",\n  \"why is there no sound in fpse?\",\n  \"why do deer freeze in headlights?\",\n  \"why is bbq meat bad for you?\",\n  \"why do bodybuilders eat ezekiel bread?\",\n  \"why are vans popular?\",\n  \"why do ostrich put head in ground?\",\n  \"why is there pain on my left side?\",\n  \"why are hydrangeas blue?\",\n  \"why are there crosses on clothes?\",\n  \"why are games so expensive?\",\n  \"why are there wicker baskets?\",\n  \"why are igneous rocks important?\",\n  \"why is there not an identity for subtraction?\",\n  \"why are llamas farmed?\",\n  \"why are omega watches expensive?\",\n  \"why is there oil in oklahoma?\",\n  \"why is there no treatment for hpv?\",\n  \"why is human cloning wrong?\",\n  \"why is hpc important?\",\n  \"why do people hate ff12?\",\n  \"why are there santas in nyc?\",\n  \"why are metals shiny in appearance?\",\n  \"why are there imaginary numbers?\",\n  \"why is nrma so expensive?\",\n  \"why is lvs down today?\",\n  \"why is ulquiorra so popular?\",\n  \"why is there school uniforms?\",\n  \"why are feet swollen?\",\n  \"why do legs cramp?\",\n  \"why are rpgs nerdy?\",\n  \"why is ibm called big blue?\",\n  \"why are there harmful chemicals in cigarettes?\",\n  \"why are there no mmos on consoles?\",\n  \"why is there dust on my walls?\",\n  \"why are tt bikes different?\",\n  \"why is jodi arias allowed to tweet?\",\n  \"why is xenon a fairly unreactive element?\",\n  \"why is natural selection important?\",\n  \"why are syllables important?\",\n  \"why is there other space on my ipod?\",\n  \"why are buffers important in chemistry?\",\n  \"why do a vsm?\",\n  \"why is jquery mobile so slow?\",\n  \"why are mlps going down?\",\n  \"why do goats scream?\",\n  \"why is pizza so good?\",\n  \"why is there no bbc1 1?\",\n  \"why are there acid attacks?\",\n  \"why is there an nba lockout yahoo answers?\",\n  \"why do rc helicopters have 2 rotors?\",\n  \"why are there small holes in my yard?\",\n  \"why are wetlands disappearing?\",\n  \"why is there pain in my pelvic area?\",\n  \"why are gold prices dropping?\",\n  \"why is there more muscle in the left ventricle?\",\n  \"why are immigrants bad?\",\n  \"why is space a vacuum?\",\n  \"why are kvms so expensive?\",\n  \"why do writers drink?\",\n  \"why is sbs digital reception poor?\",\n  \"why horoscopes are bs?\",\n  \"why do keyboard keys stop working?\",\n  \"why is there no ncaa basketball 12?\",\n  \"why do lpc?\",\n  \"why is ebay charging me?\",\n  \"why are kangaroos so jacked?\",\n  \"why are sunburns hot?\",\n  \"why do xerophytes have a thick cuticle?\",\n  \"why are there application fees for college?\",\n  \"why is tna clothing so expensive?\",\n  \"why is pt high?\",\n  \"why are there silverfish in my bed?\",\n  \"why do dogs eat cat poop?\",\n  \"why are pwc different?\",\n  \"why do bruises itch?\",\n  \"why do people hate dmb?\",\n  \"why is shiva blue?\",\n  \"why is there fringe on chaps?\",\n  \"why do an fx swap?\",\n  \"why are there no kangaroos in africa?\",\n  \"why is xbox one not backwards compatible?\",\n  \"why is blaziken uber?\",\n  \"why is ptolemy important?\",\n  \"why do kraft shapes taste better?\",\n  \"why is ccl4 a preferred solvent?\",\n  \"why is kyle leaving smash?\",\n  \"why are there plastic balls in guinness?\",\n  \"why are there sailors at wimbledon?\",\n  \"why are carbs bad?\",\n  \"why is there scabs in my belly button?\",\n  \"why do they call washington udub?\",\n  \"why are there 2 arteries in the umbilical cord?\",\n  \"why is there skin peeling on my fingers?\",\n  \"why is qe3 bad?\",\n  \"why do nhl players wear suits?\",\n  \"why do iphone cables break?\",\n  \"why are there small bumps on my hands?\",\n  \"why is fbs added to media?\",\n  \"why is huldrych zwingli important?\",\n  \"why is there rich and poor?\",\n  \"why is oprah inspirational?\",\n  \"why is alcatraz important?\",\n  \"why are mris used?\",\n  \"why are there no okazaki fragments in transcription?\",\n  \"why do wbc during pregnancy?\",\n  \"why are there pop up ads on facebook?\",\n  \"why is bt internet slow?\",\n  \"why are cfls good?\",\n  \"why do you need a mx record?\",\n  \"why do we use oz for ounces?\",\n  \"why don\\\"t we just dance?\",\n  \"why is there an odor after intercourse?\",\n  \"why do warts come out?\",\n  \"why is blood a connective tissue?\",\n  \"why is ibuprofen insoluble in water?\",\n  \"why is owings mills mall empty?\",\n  \"why are polar bodies made?\",\n  \"why is igor stravinsky important?\",\n  \"why do civilizations fall?\",\n  \"why do iguanas sneeze?\",\n  \"why are orange and tmobile merging?\",\n  \"why is pdf better than word?\",\n  \"why is xbox live so slow?\",\n  \"why is bee pollen good for you?\",\n  \"why rpgs are good for you?\",\n  \"why is ie so terrible?\",\n  \"why are there spots on my tongue?\",\n  \"why are significant figures important?\",\n  \"why is scott disick famous?\",\n  \"why do we ban ddt?\",\n  \"why are lhasa apso good dogs?\",\n  \"why are dmv rude?\",\n  \"why are there monkeys if we evolved?\",\n  \"why are jupiter\\\"s moons so different?\",\n  \"why is omegle all guys?\",\n  \"why do people cc themselves on email?\",\n  \"why are there illuminati symbols on the dollar bill?\",\n  \"why is there traffic congestion in the cbd?\",\n  \"why do research at uq?\",\n  \"why are rv parks so expensive?\",\n  \"why is judge judy so mean?\",\n  \"why are there worms in my compost?\",\n  \"why is fmla unpaid?\",\n  \"why is ddos illegal?\",\n  \"why do we use dll files?\",\n  \"why do okc fans hate beverley?\",\n  \"why is fsh low in pcos?\",\n  \"why are there 2 mlb leagues?\",\n  \"why are there voices coming from my computer?\",\n  \"why is there a need to run an sds-page gel?\",\n  \"why is there greenhouse effect?\",\n  \"why is there teddy bears in mw3?\",\n  \"why are outlets so cheap?\",\n  \"why is there kanji in japanese?\",\n  \"why are there funeral processions?\",\n  \"why is uae a developing country?\",\n  \"why do acura tl transmissions fail?\",\n  \"why is gym membership so expensive?\",\n  \"why is tim duncan so boring?\",\n  \"why are there fruit flies in my bedroom?\",\n  \"why do effervescent tablets work?\",\n  \"why is bsu turf blue?\",\n  \"why are there no iphones available?\",\n  \"why is tybalt mad at romeo?\",\n  \"why are armpits so sensitive?\",\n  \"why is there afterlife?\",\n  \"why are cherries good for you?\",\n  \"why are cfl light bulbs better?\",\n  \"why is there rust in my water?\",\n  \"why is there honey in golf balls?\",\n  \"why is racial profiling bad?\",\n  \"why are fixies so popular?\",\n  \"why do runners wear gloves?\",\n  \"why are twins so common now?\",\n  \"why are hearts of palm considered a delicacy?\",\n  \"why is there ip conflict?\",\n  \"why are some people always late?\",\n  \"why are gmos used?\",\n  \"why is osmotic pressure a colligative property?\",\n  \"why are there flags today?\",\n  \"why do businesses use xp?\",\n  \"why are there only 18 holes in golf?\",\n  \"why are there pyramids in egypt?\",\n  \"why is alakazam uu?\",\n  \"why do illusions occur?\",\n  \"why are gtr called godzilla?\",\n  \"why are dna and rna different?\",\n  \"why is there red hair in my beard?\",\n  \"why is zapdos uu?\",\n  \"why are there copyright laws?\",\n  \"why are mbas important?\",\n  \"why is there no h&m in australia?\",\n  \"why do wrestlers have long hair?\",\n  \"why is george zimmerman suing nbc?\",\n  \"why are pyramid schemes illegal?\",\n  \"why is xbox called 360?\",\n  \"why are there no crows in nz?\",\n  \"why is cnn covering the zimmerman trial?\",\n  \"why is wind energy controversial?\",\n  \"why do we have udhr?\",\n  \"why is there bc and ad?\",\n  \"why are ice caps important?\",\n  \"why is the nwo so obvious?\",\n  \"why are there different images of buddha?\",\n  \"why is lgbt wrong?\",\n  \"why do whales jump?\",\n  \"why is there no vaccine for mrsa?\",\n  \"why do fruits have seeds?\",\n  \"why is lady gaga in a wheelchair?\",\n  \"why do hospitals pursue jcaho?\",\n  \"why is y mx b linear?\",\n  \"why do urinals have ice?\",\n  \"why are there more mtf?\",\n  \"why are teenagers so tired?\",\n  \"why is there snow on mountains in the summer?\",\n  \"why do business in nz?\",\n  \"why is there expiration date on sour cream?\",\n  \"why is ibuprofen bad for your heart?\",\n  \"why is there roman numerals?\",\n  \"why are ncaa games on trutv?\",\n  \"why are otter boxes called otterbox?\",\n  \"why is cdc in atlanta?\",\n  \"why is red velvet cake red?\",\n  \"why is tyler the creator so angry?\",\n  \"why are elephants so big?\",\n  \"why are cnas underpaid?\",\n  \"why do ssris work?\",\n  \"why do hurricanes form?\",\n  \"why are there few trees in the tundra?\",\n  \"why are there different types of igneous rock?\",\n  \"why is cd not playing in laptop?\",\n  \"why is there a need for ngos?\",\n  \"why do ethiopians run so fast?\",\n  \"why is cj spiller a wr?\",\n  \"why are there snakes on ambulances?\",\n  \"why do job applications ask for ssn?\",\n  \"why is frozen food bad?\",\n  \"why do monsoons occur?\",\n  \"why are there weird laws?\",\n  \"why is lbs?\",\n  \"why do we need rfc?\",\n  \"why are chromosomes important?\",\n  \"why are yankees tickets so expensive?\",\n  \"why is gsp out?\",\n  \"why is ncis not on netflix?\",\n  \"why is rms value used in ac measurements?\",\n  \"why is public health important?\",\n  \"why are xenon headlights so expensive?\",\n  \"why are sda vegetarian?\",\n  \"why is there rust on my cutlery?\",\n  \"why are there holes in my shirt?\",\n  \"why is there oil in my intake manifold?\",\n  \"why do zombies attack humans?\",\n  \"why are nhs dentists going private?\",\n  \"why do urinary tract infections hurt?\",\n  \"why is there bacteria in the mouth?\",\n  \"why are there endangered species?\",\n  \"why do plants need xylem and phloem?\",\n  \"why is there edema in acute glomerulonephritis?\",\n  \"why do twitter accounts link to chacha?\",\n  \"why are cds released on tuesday?\",\n  \"why is there ads on my google homepage?\",\n  \"why are there fake owls on buildings?\",\n  \"why is oil lighter than water?\",\n  \"why do xerophytes have less stomata?\",\n  \"why are there orange bikes all over tampa?\",\n  \"why are there so many typos in ebooks?\",\n  \"why is rna not double stranded?\",\n  \"why is ucsf a good school?\",\n  \"why is fertilizer so expensive?\",\n  \"why is ssa called the ambiguous case?\",\n  \"why isn\\\"t there kung fu in ufc?\",\n  \"why is nh2cl polar?\",\n  \"why is smoking addictive?\",\n  \"why are klum and seal divorcing?\",\n  \"why do gfci outlets go bad?\",\n  \"why do bpd hoover?\",\n  \"why do apps need permission?\",\n  \"why are hispanic girls so attractive?\",\n  \"why is physics so hard?\",\n  \"why do a pg year?\",\n  \"why do cysts have hair?\",\n  \"why do iv needles hurt?\",\n  \"why do dogs like q tips?\",\n  \"why is there chlorine in our water?\",\n  \"why is there cramping after ivf transfer?\",\n  \"why is there darkness?\",\n  \"why is there flooding in canada?\",\n  \"why is iweb so slow?\",\n  \"why is globalization good?\",\n  \"why is dzhokhar a suspect?\",\n  \"why is there oxygen in the air?\",\n  \"why is gatorade bad for you?\",\n  \"why is ovulation late?\",\n  \"why do mosquitoes love me?\",\n  \"why is mtv called music television?\",\n  \"why do americans like guns?\",\n  \"why do you want to be a nurse?\",\n  \"why are illustrator files so large?\",\n  \"why is gnc bad?\",\n  \"why are gases considered to be fluids?\",\n  \"why is xcode so slow?\",\n  \"why do djs hate requests?\",\n  \"why do echinoderms lack cephalization?\",\n  \"why do we need dha?\",\n  \"why do lumberjacks wear suspenders?\",\n  \"why do alveoli need moist endothelium?\",\n  \"why are ice sheets important?\",\n  \"why are elephants hunted?\",\n  \"why do azerbaijan do well at eurovision?\",\n  \"why is owl eyes at gatsby\\\"s funeral?\",\n  \"why do roses have thorns?\",\n  \"why do we celebrate kwanzaa?\",\n  \"why do tires dry rot?\",\n  \"why is ogallala aquifer drying up?\",\n  \"why do females discharge?\",\n  \"why are there ozone holes at the poles?\",\n  \"why is lb broth used?\",\n  \"why is equality good?\",\n  \"why do clocks iiii?\",\n  \"why we do rf survey?\",\n  \"why is there earthquakes in california?\",\n  \"why is hdl considered good cholesterol?\",\n  \"why are avocados superfoods?\",\n  \"why are there maggots in my room?\",\n  \"why is blood in my poop?\",\n  \"why are there flies in my garage?\",\n  \"why did cm punk do commentary?\",\n  \"why is there korean in adventure time?\",\n  \"why do ducks quack?\",\n  \"why do newborns have hiccups?\",\n  \"why do people leave bhutan?\",\n  \"why do tncs go global?\",\n  \"why are there swarms of dragonflies?\",\n  \"why do bee stings hurt?\",\n  \"why is matt smith leaving doctor who?\",\n  \"why is excadrill uber?\",\n  \"why are there nitrogen tanks on nyc streets?\",\n  \"why are there replacement officials nfl?\",\n  \"why are there commercials on nick jr?\",\n  \"why are justices appointed for life?\",\n  \"why do moles itch?\",\n  \"why is ammunition so scarce?\",\n  \"why do noses bleed randomly?\",\n  \"why are there high and low tides?\",\n  \"why do wine bottles have punts?\",\n  \"why is ui design important?\",\n  \"why is lying wrong?\",\n  \"why do etfs trade at a discount?\",\n  \"why is ahri so hot?\",\n  \"why do looks matter?\",\n  \"why are zestimates so wrong?\",\n  \"why do we use gd&t?\",\n  \"why is erosion a problem?\",\n  \"why is there discharge?\",\n  \"why is there a lincoln monument in wyoming?\",\n  \"why is fye overpriced?\",\n  \"why is planetary annihilation so expensive?\",\n  \"why are humans so cruel?\",\n  \"why are there fake people on facebook?\",\n  \"why is there water in a bong?\",\n  \"why are obese people discriminated against?\",\n  \"why do nz hate quade cooper?\",\n  \"why is quinine in tonic water?\",\n  \"why is hf polar?\",\n  \"why are there flies on my car?\",\n  \"why are there two taps in uk?\",\n  \"why is futurama being cancelled again?\",\n  \"why do the amish pull their teeth?\",\n  \"why are igbos light skinned?\",\n  \"why do aeronautical engineering?\",\n  \"why is ukraine called the ukraine?\",\n  \"why are there constellations?\",\n  \"why are nj devils called the devils?\",\n  \"why are ryan and tatum o\\\"neal estranged?\",\n  \"why do two iexplore exe show in task manager?\",\n  \"why are kansas taxes so high?\",\n  \"why are there volcanoes around the pacific ocean?\",\n  \"why are there shadows on the moon?\",\n  \"why is vntr used for dna fingerprinting?\",\n  \"why is there pimples on my back?\",\n  \"why do lions roar?\",\n  \"why do my balls hurt?\",\n  \"why is ottawa important to canada?\",\n  \"why are there orc guards in uc?\",\n  \"why do lortabs make me itch?\",\n  \"why do we need json?\",\n  \"why are taxes so high?\",\n  \"why do plants need sunlight?\",\n  \"why is there tuna oil in baby food?\",\n  \"why are there wars over religion?\",\n  \"why is rwanda a developing country?\",\n  \"why is pvc a problem when burned?\",\n  \"why are klon centaur so expensive?\",\n  \"why are pvc figures expensive?\",\n  \"why is there rap music in the great gatsby?\",\n  \"why is there bombing in syria?\",\n  \"why are iwo jima and okinawa significance?\",\n  \"why are astronauts weightless in the space station?\",\n  \"why do use condom?\",\n  \"why do snails leave a trail?\",\n  \"why do europeans think they are superior?\",\n  \"why is guantanamo bay in cuba?\",\n  \"why is ttc so expensive?\",\n  \"why do owls stand on one leg?\",\n  \"why is title ix controversy?\",\n  \"why are there loners?\",\n  \"why are there no cbs shows on netflix?\",\n  \"why are rts games so hard?\",\n  \"why is there clover in my grass?\",\n  \"why is maria sansone leaving lx?\",\n  \"why is fwd better than rwd?\",\n  \"why do writers write?\",\n  \"why is wifi so slow?\",\n  \"why are there little bumps on my fingers?\",\n  \"why is wcf better than asmx?\",\n  \"why are there kisses on oscar wildes grave?\",\n  \"why is ewr the code for newark?\",\n  \"why is there fighting in the northern areas of pakistan?\",\n  \"why do organisms need energy?\",\n  \"why is there civil unrest in syria?\",\n  \"why are q tips called q tips?\",\n  \"why are igloos round?\",\n  \"why do we need qt?\",\n  \"why is programming so hard?\",\n  \"why is lbt bad?\",\n  \"why is yakult so small?\",\n  \"why are there few effective hci standards?\",\n  \"why do tyres wear on the inside?\",\n  \"why is there energy crisis?\",\n  \"why do patriots wear mhk?\",\n  \"why is there fighting in somalia?\",\n  \"why is oxygen flammable?\",\n  \"why are there question marks on snapchat names?\",\n  \"why is eating healthy important?\",\n  \"why do diabetics get thirsty?\",\n  \"why are yankee candles the best?\",\n  \"why is there a e on my phone?\",\n  \"why is there a cross on https?\",\n  \"why is protein good for you?\",\n  \"why are there warnings on aerosol cans?\",\n  \"why is fusion better than fission?\",\n  \"why is there a bye in afl?\",\n  \"why are u hauls so expensive?\",\n  \"why are wetlands economically important?\",\n  \"why are gtrs illegal in us?\",\n  \"why are there uk riots?\",\n  \"why is there iodized salt?\",\n  \"why do hyenas eat prey alive?\",\n  \"why is there tension between china and taiwan?\",\n  \"why are angry birds angry?\",\n  \"why are audis fwd?\",\n  \"why is tpa skin unavailable?\",\n  \"why are health insurance premiums rising?\",\n  \"why are hot dogs called hot dogs?\",\n  \"why are there no female jrs?\",\n  \"why do some people have dimples?\",\n  \"why are zunes so expensive now?\",\n  \"why is there age discrimination?\",\n  \"why do men xdress?\",\n  \"why is eotech so expensive?\",\n  \"why are koi fish so expensive?\",\n  \"why is cbcinnovis on my credit report?\",\n  \"why is ayp important?\",\n  \"why is elena throwing up blood?\",\n  \"why are there random ads on youtube?\",\n  \"why are equality and diversity important?\",\n  \"why is there pus in my nipple?\",\n  \"why are there two types of mhc?\",\n  \"why is russia so poor?\",\n  \"why is jt leaving y&r?\",\n  \"why do zookeepers train the lions?\",\n  \"why is sushi so good?\",\n  \"why is there oxygen in earth atmosphere?\",\n  \"why is ian mckellen a knight?\",\n  \"why do cpa?\",\n  \"why is hwy 5 called the grapevine?\",\n  \"why are keyboards arranged the way they are?\",\n  \"why do people do bhangra?\",\n  \"why is there exclamation points on my itunes?\",\n  \"why is nyu so expensive?\",\n  \"why is there jelly in my eye?\",\n  \"why are knuckle push ups harder?\",\n  \"why is there air bubbles in my pool?\",\n  \"why is fiber important?\",\n  \"why is eharmony so slow?\",\n  \"why do people hate wyoming?\",\n  \"why is nvidia bad for bitcoin mining?\",\n  \"why are fb cover photos public?\",\n  \"why is there swelling in osteoarthritis?\",\n  \"why is mk9 online so laggy?\",\n  \"why is rna unstable in alkaline conditions?\",\n  \"why is mtgox down?\",\n  \"why are there commercials on hulu plus?\",\n  \"why are ajax fc called ajax?\",\n  \"why are there eggs in bread?\",\n  \"why are there worms on the sidewalk after it rains?\",\n  \"why are vouchers bad?\",\n  \"why are guys attracted to girls?\",\n  \"why do companies go ltd?\",\n  \"why are x\\\"s used as kisses?\",\n  \"why is ejaculation painful?\",\n  \"why is running good for you?\",\n  \"why do vulcans have the same haircut?\",\n  \"why do night terrors happen?\",\n  \"why is vsync bad?\",\n  \"why do we fall?\",\n  \"why is vnc so slow on mac?\",\n  \"why are sewer covers round?\",\n  \"why is there no hbo hd on demand?\",\n  \"why are there less earthquakes on the east coast?\",\n  \"why is there dvd regions?\",\n  \"why are nj gas prices low?\",\n  \"why are there dashes in pride and prejudice?\",\n  \"why are there 2 bbc hd channels?\",\n  \"why is squatting good?\",\n  \"why is aquaman so useless?\",\n  \"why is there thunder and lightning kids?\",\n  \"why is umpire called blue?\",\n  \"why is there cedar in dog beds?\",\n  \"why do cicadas wait 17 years?\",\n  \"why are quarterly taxes due in june?\",\n  \"why is pork bad for you?\",\n  \"why is fm 2013 so hard?\",\n  \"why do they dock dogs tails?\",\n  \"why are federal judges appointed for life?\",\n  \"why is nj the garden state?\",\n  \"why are operating systems written in c?\",\n  \"why is cj on eggheads?\",\n  \"why is there so many earthquakes in oklahoma?\",\n  \"why is iblitzcrank banned?\",\n  \"why is there starvation in africa?\",\n  \"why is jesus important?\",\n  \"why are there scholarships for minorities?\",\n  \"why do illegal immigrants get free education?\",\n  \"why do houses creak?\",\n  \"why do i fart so much?\",\n  \"why are orangutans poached?\",\n  \"why is nrem sleep important?\",\n  \"why are the mdgs failing?\",\n  \"why are mbas so popular?\",\n  \"why is google reader going away?\",\n  \"why are there so many rocks in ct?\",\n  \"why do hypothesis testing?\",\n  \"why is boosie in jail?\",\n  \"why is ff13 bad?\",\n  \"why are you there?\",\n  \"why do hp ink cartridges expire?\",\n  \"why are djarum clove cigarettes banned?\",\n  \"why do ex bf come back?\",\n  \"why is vnc slow?\",\n  \"why are rv rentals so expensive?\",\n  \"why do volcanoes go extinct?\",\n  \"why is there labour day?\",\n  \"why is cfc harmful to the environment?\",\n  \"why are rockets important?\",\n  \"why is fighting allowed in hockey?\",\n  \"why is einstein a hero?\",\n  \"why is obama still president?\",\n  \"why are there no ionic molecules?\",\n  \"why is dc metro so expensive?\",\n  \"why is ebay charging me an invoice?\",\n  \"why are rna primers needed?\",\n  \"why are large biological molecules covalent?\",\n  \"why are the?\",\n  \"why are there moon phases?\",\n  \"why is dna called deoxyribonucleic acid?\",\n  \"why is pgp illegal?\",\n  \"why is cyrus the great important?\",\n  \"why is there no volume available on netflix?\",\n  \"why is there no umbra in skyrim?\",\n  \"why do people have ndes?\",\n  \"why do horde always win bg?\",\n  \"why do our bodies need sleep?\",\n  \"why are sprouts a tcs food?\",\n  \"why is iphoto so slow?\",\n  \"why do sailors wear stripes?\",\n  \"why is zoolander rated pg-13?\",\n  \"why are there full moons?\",\n  \"why is feminism bad?\",\n  \"why do people hate the lgbt community?\",\n  \"why is there suffering if there is a god?\",\n  \"why is wrestling out of olympics?\",\n  \"why is fm better than am?\",\n  \"why is hris important?\",\n  \"why is gni important?\",\n  \"why do svq?\",\n  \"why are surveys important?\",\n  \"why do other countries hate the united states?\",\n  \"why are there region locks?\",\n  \"why are harp seals endangered?\",\n  \"why do dvd regions exist?\",\n  \"why is vmax never reached?\",\n  \"why is kobe better than lebron?\",\n  \"why is open source software important?\",\n  \"why is wrigley field named wrigley?\",\n  \"why is wmr down?\",\n  \"why is there bumps on my legs?\",\n  \"why is xbox music free?\",\n  \"why is ukraine not in fifa 13?\",\n  \"why is there ethnocentrism?\",\n  \"why is there urea in the stomach?\",\n  \"why is oedipus revered by the people?\",\n  \"why is eosinophils low?\",\n  \"why are avocados a fruit?\",\n  \"why are our lips red?\",\n  \"why are ovarian cysts formed?\",\n  \"why are there psychics?\",\n  \"why is dgw not trading?\",\n  \"why are ny bagels so good?\",\n  \"why are dmaa products being discontinued?\",\n  \"why are there purple minions?\",\n  \"why is jcpenney changing?\",\n  \"why is bb cream so popular?\",\n  \"why is there no psp emulator?\",\n  \"why are web images 72 dpi?\",\n  \"why are there nhs reforms?\",\n  \"why do dachshunds have long bodies?\",\n  \"why is hsbc closing my accounts?\",\n  \"why is there a zipper on google today?\",\n  \"why do turtles cross the road?\",\n  \"why is there an error in the itunes store?\",\n  \"why do tweakers twitch?\",\n  \"why is lysogeny advantageous to a bacteriophage?\",\n  \"why are there eunuchs in india?\",\n  \"why are teenagers so mean?\",\n  \"why is there immigration in the us?\",\n  \"why is dc a district?\",\n  \"why is cell division important?\",\n  \"why do nvq?\",\n  \"why are there air bubbles in my cake?\",\n  \"why is outer space so cold?\",\n  \"why do people use cb radios?\",\n  \"why is there tax on everything?\",\n  \"why do girls say mhm?\",\n  \"why are there flies in my house?\",\n  \"why is there no nhl 2k12?\",\n  \"why is gdp not a good measure?\",\n  \"why is there 24 hrs in a day?\",\n  \"why is pcp used?\",\n  \"why is there eyeliner in my snot?\",\n  \"why are estuaries ecologically important?\",\n  \"why is there acne on my forehead?\",\n  \"why do a kwl chart?\",\n  \"why do tv shows change days?\",\n  \"why is there slime in my fish tank?\",\n  \"why is ivan denisovich called shukhov?\",\n  \"why are there ice road truckers?\",\n  \"why are there no deals on ebay?\",\n  \"why is there japanese people in peru?\",\n  \"why do unions matter?\",\n  \"why do apples make me burp?\",\n  \"why do hamsters die?\",\n  \"why is organic chemistry important?\",\n  \"why do akala?\",\n  \"why are there question marks in ms project?\",\n  \"why is djia down today?\",\n  \"why is there foam when juicing?\",\n  \"why is sfo delays today?\",\n  \"why is there pyramids on mars?\",\n  \"why is ncr attacking me?\",\n  \"why is snapchat dangerous?\",\n  \"why is god silent?\",\n  \"why do nz alcohol laws exist?\",\n  \"why are arthropods so successful?\",\n  \"why is there will be blood called that?\",\n  \"why are there eight nights of hanukkah?\",\n  \"why are nd filters so expensive?\",\n  \"why are there more tornadoes in the midwest?\",\n  \"why are audi tt so cheap?\",\n  \"why do dying people reach up?\",\n  \"why is he avoiding me?\",\n  \"why do green beans spark in the microwave?\",\n  \"why do newborns laugh in their sleep?\",\n  \"why is there order?\",\n  \"why do zippers ykk?\",\n  \"why is there red eye?\",\n  \"why do hvac capacitors go bad?\",\n  \"why is there green stuff on my earrings?\",\n  \"why do samurai kill themselves?\",\n  \"why is krypton a fairly unreactive element?\",\n  \"why do my rpms drop when i brake?\",\n  \"why is bubble gum pink?\",\n  \"why is there a cycle of sunspots?\",\n  \"why are padres sdg?\",\n  \"why is aquarium water cloudy?\",\n  \"why are owl pellets fumigated?\",\n  \"why are ethics important in psychology?\",\n  \"why is ulysses so good?\",\n  \"why do flies keep landing on me?\",\n  \"why is ccl4 nonpolar molecule?\",\n  \"why are there no xbox emulators?\",\n  \"why is by product bad for dogs?\",\n  \"why is xtend good?\",\n  \"why is xp_cmdshell a security risk?\",\n  \"why is pg stock down?\",\n  \"why do yukon potatoes turn green?\",\n  \"why is there music on b?\",\n  \"why is nly down today?\",\n  \"why are cigarettes so expensive?\",\n  \"why are there more zebras than lions?\",\n  \"why is bwi closed?\",\n  \"why is tds deducted from salary?\",\n  \"why do i need nginx?\",\n  \"why is innovation important?\",\n  \"why is ios 7 so slow?\",\n  \"why is gas going up?\",\n  \"why are kvm switches so expensive?\",\n  \"why do you like jk rowling?\",\n  \"why is there katakana and hiragana?\",\n  \"why is draya famous?\",\n  \"why is there no dwarves in elder scrolls?\",\n  \"why do people watch ncis?\",\n  \"why is cgi expensive?\",\n  \"why do jim and pam move to austin?\",\n  \"why are there different writing styles?\",\n  \"why is django unchained rated r?\",\n  \"why are trials said to be tunable?\",\n  \"why do dogs lick their paws?\",\n  \"why are civil liberties important?\",\n  \"why is there jihad?\",\n  \"why do actors work with uwe boll?\",\n  \"why are there gmo foods?\",\n  \"why is fb slow?\",\n  \"why are there no zeppelins?\",\n  \"why we do wudu?\",\n  \"why is online dating so difficult?\",\n  \"why do clouds turn pink?\",\n  \"why is there kanji?\",\n  \"why is there uprising in syria?\",\n  \"why do ian and anthony live together?\",\n  \"why are bananas healthy?\",\n  \"why are officers called cops?\",\n  \"why is cialis so expensive?\",\n  \"why are there so few oil refineries?\",\n  \"why are ipos underpriced?\",\n  \"why are there rings around uranus?\",\n  \"why do phd?\",\n  \"why is oedipus concerned about his daughters?\",\n  \"why is there conflict in israel?\",\n  \"why do elephants have trunks?\",\n  \"why do we need udp protocol?\",\n  \"why do patriots have mhk on jersey?\",\n  \"why do brain zaps happen?\",\n  \"why are there no jets on gulf of oman?\",\n  \"why is smoking weed illegal?\",\n  \"why is dzhokhar tsarnaev injured?\",\n  \"why are oxygen tanks compressed?\",\n  \"why is there glucose in my urine?\",\n  \"why do apartments do credit checks?\",\n  \"why do sam and jwoww fight?\",\n  \"why are africans so smart?\",\n  \"why is ethnic identity important?\",\n  \"why are there earthquakes in japan?\",\n  \"why are there beehives on utah signs?\",\n  \"why do i lag in bgs?\",\n  \"why are substances soluble in water?\",\n  \"why are there international editions of books?\",\n  \"why are plants classified as producers?\",\n  \"why are acura tl so cheap?\",\n  \"why is htc one delay?\",\n  \"why do xrays show bones?\",\n  \"why is there nitrogen in fossil fuels?\",\n  \"why is ktla off the air?\",\n  \"why do skunks spray?\",\n  \"why is ie so bad?\",\n  \"why are there umbrellas in drinks?\",\n  \"why are cvads used?\",\n  \"why are there two tides every day?\",\n  \"why is lte faster than cable?\",\n  \"why is dfo closing?\",\n  \"why are tattoos addictive?\",\n  \"why is jay z so rich?\",\n  \"why are tpn used?\",\n  \"why are rhinos poached for their horns?\",\n  \"why do we need vfd?\",\n  \"why is zac efron so hot?\",\n  \"why is rubber rated r?\",\n  \"why are azo compounds coloured?\",\n  \"why is pdf not printing?\",\n  \"why is benjamin lasnier famous?\",\n  \"why are eels important?\",\n  \"why are there nfl cheerleaders?\",\n  \"why is there sacrifices in ezekiel\\\"s temple?\",\n  \"why is dmaa banned?\",\n  \"why do phone cords get twisted?\",\n  \"why are longboards so expensive?\",\n  \"why is there ringing in my ears?\",\n  \"why is vmware player so slow?\",\n  \"why is iphone camera blurry?\",\n  \"why are there 2 wwe belts?\",\n  \"why are cycling classes in the dark?\",\n  \"why do people write fml?\",\n  \"why do they hate us?\",\n  \"why is there genetic variation in meiosis?\",\n  \"why do my feet hurt?\",\n  \"why are there still gmail invites?\",\n  \"why are there gypsies?\",\n  \"why is there an eye on the american dollar?\",\n  \"why is there no idisk in icloud?\",\n  \"why is absolute deception rated r?\",\n  \"why is life so unfair?\",\n  \"why are mmos going free to play?\",\n  \"why is xylitol good for teeth?\",\n  \"why are leos attracted to virgos?\",\n  \"why is life so complicated?\",\n  \"why is zulu time used?\",\n  \"why are lpns important?\",\n  \"why do insect bites itch?\",\n  \"why is there imitation crab?\",\n  \"why is ps3 better than xbox?\",\n  \"why are there so many ukrainian brides?\",\n  \"why do sneezes feel good?\",\n  \"why are yearbooks important?\",\n  \"why do dna strands run antiparallel?\",\n  \"why is json used?\",\n  \"why are there pimples on my nose?\",\n  \"why are military people so mean?\",\n  \"why do oscillations occur?\",\n  \"why do dwarfs die young?\",\n  \"why are heels attractive?\",\n  \"why is there ammonia in my tap water?\",\n  \"why are pv cells wired in series?\",\n  \"why is gambling bad?\",\n  \"why do odsts hate spartans?\",\n  \"why is nfl popular?\",\n  \"why is there protesting in oakland?\",\n  \"why is gza the genius?\",\n  \"why are pitchers bad hitters?\",\n  \"why do people hate yngwie?\",\n  \"why do clouds turn gray?\",\n  \"why do dying people sleep so much?\",\n  \"why is there silica in stevia?\",\n  \"why are there eggs in cake?\",\n  \"why are ivs used?\",\n  \"why is hidan immortal?\",\n  \"why are water molecules polar?\",\n  \"why is there head lice?\",\n  \"why is there a h on my w995?\",\n  \"why do ducks sleep on one leg?\",\n  \"why do dslrs have mirrors?\",\n  \"why are there so many writers?\",\n  \"why is there ice on the moon?\",\n  \"why is there a cvs across from every walgreens?\",\n  \"why do guys like feet?\",\n  \"why is flying east faster?\",\n  \"why are illinois flags at half mast?\",\n  \"why do people cut themselves?\",\n  \"why are small dogs so mean?\",\n  \"why are nc called tar heels?\",\n  \"why do hips hurt?\",\n  \"why is bwg called junk?\",\n  \"why are there so many helicopters in dc?\",\n  \"why are there so few women mps?\",\n  \"why is the ocean salty?\",\n  \"why do eosinophils increase?\",\n  \"why are apples so filling?\",\n  \"why are otter boxes so cheap on ebay?\",\n  \"why are ultrasounds bad for a baby?\",\n  \"why do we use xoxo?\",\n  \"why are ureters important?\",\n  \"why do oats reduce cholesterol?\",\n  \"why is dft used?\",\n  \"why is there ethnic conflict in afghanistan?\",\n  \"why is there employee turnover?\",\n  \"why is tpn filter?\",\n  \"why are clouds gray?\",\n  \"why is axe so popular?\",\n  \"why is ynwa liverpool song?\",\n  \"why is lgf stock going down?\",\n  \"why is scary movie rated r?\",\n  \"why is ethnography important?\",\n  \"why is aaron hernandez being investigated?\",\n  \"why is edin dzeko not playing?\",\n  \"why are there two genders?\",\n  \"why do we by kiwini vaitai lyrics?\",\n  \"why is there two new yorks?\",\n  \"why are there american bases in germany?\",\n  \"why is music important in schools?\",\n  \"why is there no aaa theorem?\",\n  \"why is there world hunger?\",\n  \"why is ubuntu so popular?\",\n  \"why is sgd rising?\",\n  \"why is there pancakes in the silverware drawer?\",\n  \"why are there bees on urinals?\",\n  \"why is ppo better than hmo?\",\n  \"why are humans so advanced?\",\n  \"why is before midnight rated r?\",\n  \"why is oovoo so slow?\",\n  \"why are oreos bad for you?\",\n  \"why is science important for kids?\",\n  \"why are icelandic women so beautiful?\",\n  \"why is olive oil so expensive?\",\n  \"why are guys so shallow?\",\n  \"why do nri need pan card?\",\n  \"why is mm million?\",\n  \"why is guinness good for you?\",\n  \"why is there rubber bands in braces?\",\n  \"why do allergies exist?\",\n  \"why is there okazaki fragments?\",\n  \"why is e^ix?\",\n  \"why is gmail better than yahoo?\",\n  \"why is iron man not on netflix?\",\n  \"why do hysterectomy?\",\n  \"why are ajwa dates so expensive?\",\n  \"why are electronic cigarettes bad?\",\n  \"why is utorrent taking so long?\",\n  \"why are snakeheads illegal?\",\n  \"why is mme loisel full of anxiety?\",\n  \"why are mike ike splitting up?\",\n  \"why is there no youtube on ios 6?\",\n  \"why are our fingers different lengths?\",\n  \"why is vwehx closed?\",\n  \"why is there pus in my toe?\",\n  \"why is bill gates so rich?\",\n  \"why are there so many earthquakes in nz?\",\n  \"why is there bile in my stool?\",\n  \"why is nyc so big?\",\n  \"why do psychologists use statistics?\",\n  \"why is there famine in north korea?\",\n  \"why is dvorak better than qwerty?\",\n  \"why is written communication skills important?\",\n  \"why are ahmadis persecution?\",\n  \"why are ia and ib alleles codominant?\",\n  \"why is jason statham in fast 6?\",\n  \"why is balance important?\",\n  \"why is yugioh not on netflix?\",\n  \"why is san francisco so expensive?\",\n  \"why do gcse french?\",\n  \"why do lbs stand for pounds?\",\n  \"why is minecraft so slow?\",\n  \"why is iodine in salt?\",\n  \"why are there more ticks now?\",\n  \"why is rsync copying everything?\",\n  \"why is duck dynasty so popular?\",\n  \"why are grains good for you?\",\n  \"why is crm important?\",\n  \"why are hippos endangered?\",\n  \"why is hd more expensive?\",\n  \"why is there silence on watch the throne?\",\n  \"why are there no women in the tour de france?\",\n  \"why is cthulhu so popular?\",\n  \"why is there suffering if god exists?\",\n  \"why are engineers so arrogant?\",\n  \"why do vfd fail?\",\n  \"why is there emf?\",\n  \"why is there hunger in ethiopia?\",\n  \"why do pc users hate macs?\",\n  \"why is gmail better?\",\n  \"why are there ants in my house?\",\n  \"why are there two umbilical arteries?\",\n  \"why is there smog in beijing?\",\n  \"why do humans exist?\",\n  \"why do djs get girls?\",\n  \"why are there no walmarts in sf?\",\n  \"why are there two mr noodles?\",\n  \"why are there no ipad 2?\",\n  \"why do droughts occur?\",\n  \"why is nfl 2k5 the best?\",\n  \"why is mf doom so good?\",\n  \"why do tvs have wifi?\",\n  \"why are lefties called southpaw?\",\n  \"why do typewriters not have 1?\",\n  \"why do laptops get hot?\",\n  \"why is pmi legal?\",\n  \"why do so many people smoke?\",\n  \"why are there expiration dates on food?\",\n  \"why are x ray telescopes in space?\",\n  \"why are nutrients important?\",\n  \"why is there no cbs app?\",\n  \"why is gta 4 so good?\",\n  \"why is there loads of flies in my house?\",\n  \"why are there thunderstorms?\",\n  \"why is lbj important?\",\n  \"why there are ethical dilemmas in management accounting?\",\n  \"why are cfl bulbs dangerous?\",\n  \"why are houses so expensive?\",\n  \"why is ndp the best party?\",\n  \"why is ramsay snow torturing theon?\",\n  \"why is ndamukong suh so good?\",\n  \"why do typhoons happen?\",\n  \"why do i need dlna?\",\n  \"why is there fighting in israel?\",\n  \"why do use xml?\",\n  \"why do drinks taste better cold?\",\n  \"why do oxford students wear carnations?\",\n  \"why do i say uh?\",\n  \"why are jinns invisible?\",\n  \"why is everyone so afraid of love?\",\n  \"why are ct scans used?\",\n  \"why is nbc doing so poorly?\",\n  \"why is there red blood in my stool?\",\n  \"why is there cracks on my tongue?\",\n  \"why do derivatives never grow old?\",\n  \"why is lpg cheaper?\",\n  \"why is apple stock falling?\",\n  \"why are azo dyes coloured?\",\n  \"why is blood blue?\",\n  \"why is uploaded.net down?\",\n  \"why do people use xd?\",\n  \"why is okonkwo a tragic hero?\",\n  \"why is there fighting in the middle east?\",\n  \"why are echinoderms classified close to chordates?\",\n  \"why is okonkwo considered a tragic hero?\",\n  \"why do ivf success rates vary?\",\n  \"why is there civil war in sri lanka?\",\n  \"why do sd cards go bad?\",\n  \"why is iphone in recovery mode?\",\n  \"why is there ghost towns?\",\n  \"why do we use ajax?\",\n  \"why are axolotls endangered?\",\n  \"why are there cows in zelda?\",\n  \"why is mf so strong now?\",\n  \"why is marilyn monroe famous?\",\n  \"why is there 3 cds for la noire?\",\n  \"why are people obsessed with ayn rand?\",\n  \"why are carriers designated cv?\",\n  \"why is ncaa 2k3 for gamecube rare?\",\n  \"why are liberals so hateful?\",\n  \"why is lvs down?\",\n  \"why do humans need sleep?\",\n  \"why are ozone concentrations lower in the winter?\",\n  \"why do alaskans get pfd?\",\n  \"why are knuckles dark?\",\n  \"why is iron man 3 set at christmas?\",\n  \"why is dlc so expensive?\",\n  \"why are koreans so pale?\",\n  \"why is there a gmail folder in my outlook?\",\n  \"why is algebra important?\",\n  \"why is asacol being discontinued?\",\n  \"why is nf3 tetrahedral?\",\n  \"why do zippers split?\",\n  \"why do evangelicals support israel?\",\n  \"why is mk9 so laggy?\",\n  \"why is ttc so hard?\",\n  \"why are ikea employees called coworkers?\",\n  \"why is there dust on the moon?\",\n  \"why are there so many cvs?\",\n  \"why is there a e on my iphone?\",\n  \"why is there high and low tide?\",\n  \"why is cinco de mayo significant to all americans?\",\n  \"why is tmobile getting rid of contracts?\",\n  \"why do hmong come to minnesota?\",\n  \"why are scorpio men so mean?\",\n  \"why is there obesity in canada?\",\n  \"why do tsunamis occur?\",\n  \"why is william called bill?\",\n  \"why are there classic cars in cuba?\",\n  \"why xna is good?\",\n  \"why do some people talk so much?\",\n  \"why do elevators say ez?\",\n  \"why do sd cards have different classes?\",\n  \"why do pdfs print gibberish?\",\n  \"why are itunes songs greyed out?\",\n  \"why do i get rls?\",\n  \"why are cookies called cookies?\",\n  \"why vncviewer is used?\",\n  \"why do nia and avery fight?\",\n  \"why are custom item sets disabled?\",\n  \"why is npk important to plants?\",\n  \"why is there salt in ice cream?\",\n  \"why do umpires have numbers?\",\n  \"why do arthropods molt?\",\n  \"why is there condensation on the outside of my windows?\",\n  \"why is there illuminati symbols everywhere?\",\n  \"why are there question marks on pictures?\",\n  \"why is dsl not working?\",\n  \"why are there so many xp updates?\",\n  \"why were ub funkeys discontinued?\",\n  \"why do pcs crash?\",\n  \"why is there god?\",\n  \"why do q tips feel good?\",\n  \"why do mcat scores take a month?\",\n  \"why is axl rose mad at slash?\",\n  \"why do bones crack?\",\n  \"why are there no ipads?\",\n  \"why is there fog?\",\n  \"why is wukong not played in tournaments?\",\n  \"why are there spaces between sidewalks?\",\n  \"why are there child soldiers?\",\n  \"why do zoe and wade break up?\",\n  \"why do people pray ks2?\",\n  \"why do tv shows have laugh tracks?\",\n  \"why is there a disney xd?\",\n  \"why is oxygen an element?\",\n  \"why do ionic liquids conduct electricity?\",\n  \"why is there phlegm in my throat all the time?\",\n  \"why is json better than xml?\",\n  \"why are there double yolks?\",\n  \"why do redwoods live so long?\",\n  \"why is hf soluble?\",\n  \"why are there beehives on utah road signs?\",\n  \"why do aa batteries corrode?\",\n  \"why is dz algeria?\",\n  \"why do horde always lose bg?\",\n  \"why do epidemiologists calculate chi-square tests?\",\n  \"why is legolas in the hobbit?\",\n  \"why do voices crack?\",\n  \"why are there so many updates for ubuntu?\",\n  \"why do klingons look different in into darkness?\",\n  \"why is idaho so republican?\",\n  \"why is aol rejecting my email?\",\n  \"why do aircraft use 400hz power?\",\n  \"why are wmv files so small?\",\n  \"why do gcse languages?\",\n  \"why is there an nhl lockout?\",\n  \"why are educators liberal?\",\n  \"why do mco3 precipitates?\",\n  \"why are girls always cold?\",\n  \"why is kmp going down?\",\n  \"why is varys called the spider?\",\n  \"why are there balls on telephone wires?\",\n  \"why is zlata filipovic famous?\",\n  \"why is globalization bad?\",\n  \"why is there jelly stuff in my underwear?\",\n  \"why do mushrooms grow?\",\n  \"why is dna soluble in water?\",\n  \"why is there gravity in space?\",\n  \"why are nuts a heart healthy food?\",\n  \"why are interest rates so low?\",\n  \"why do snails die from salt?\",\n  \"why is dwarf fortress fun?\",\n  \"why are osiris shoes so big?\",\n  \"why do governments impose taxes?\",\n  \"why are ccd cameras cooled?\",\n  \"why is awkward bleeped?\",\n  \"why is us in afghanistan?\",\n  \"why is ceres a dwarf planet?\",\n  \"why is zwinktopia not working?\",\n  \"why are bc wines so expensive?\",\n  \"why is rfid good?\",\n  \"why is lpg so expensive in australia?\",\n  \"why are there rhinos in southampton?\",\n  \"why is wwe so fake?\",\n  \"why is vasodilation important to tissue repair?\",\n  \"why is ssh secure?\",\n  \"why is tlc cancelling what not to wear?\",\n  \"why is dyson fan so expensive?\",\n  \"why do mlb players wear necklaces?\",\n  \"why is azula\\\"s firebending blue?\",\n  \"why is there judgment day?\",\n  \"why are seagulls protected?\",\n  \"why are jamaicans so fast?\",\n  \"why do cells have enzymes?\",\n  \"why are tundra plants small and stunted?\",\n  \"why do dfs always have a sale on?\",\n  \"why do nails split?\",\n  \"why do whales breach?\",\n  \"why is xls so big?\",\n  \"why are there so many ppi adverts?\",\n  \"why is lpg more popular?\",\n  \"why are mice important in fynbos?\",\n  \"why are there names on the bottom of paper bags?\",\n  \"why is there low water pressure in house?\",\n  \"why is dungeon fighter closing?\",\n  \"why is cd 74 minutes long?\",\n  \"why is fructose bad?\",\n  \"why is smoking weed a sin?\",\n  \"why do mx helmets have visors?\",\n  \"why are ceos paid so much?\",\n  \"why do our bodies need oxygen?\",\n  \"why are there fountains in shinto temples?\",\n  \"why are there riots in brazil?\",\n  \"why do yeast infections happen?\",\n  \"why are skylanders so hard to find?\",\n  \"why are there no basements in nc?\",\n  \"why do aqueous solutions conduct electricity?\",\n  \"why is eileen collins famous?\",\n  \"why do awkward moments happen?\",\n  \"why are you npo before surgery?\",\n  \"why are oysters greedy?\",\n  \"why is gitmo in cuba?\",\n  \"why is wow so addictive?\",\n  \"why are police called cops?\",\n  \"why are sharks attracted to blood?\",\n  \"why is there a eureka 3.5?\",\n  \"why are there 0 ohm resistors?\",\n  \"why do smart people wear glasses?\",\n  \"why is ionizing radiation dangerous?\",\n  \"why are vw beetles so expensive?\",\n  \"why do people rt instead of retweet?\",\n  \"why is internet so slow?\",\n  \"why are udon noodles good for you?\",\n  \"why are zoos called zoos?\",\n  \"why is there wisdom teeth?\",\n  \"why are you doing this cbr?\",\n  \"why are squats so important?\",\n  \"why are dmv examiners so mean?\",\n  \"why do atoms look like cds?\",\n  \"why is there dirt in oakland raiders field?\",\n  \"why are numbers important?\",\n  \"why are emails stuck in outbox?\",\n  \"why are there military bases in germany?\",\n  \"why is there old music in fallout 3?\",\n  \"why are there zombies in mob of the dead?\",\n  \"why are roshe runs so popular?\",\n  \"why are illegal drugs bad?\",\n  \"why is recycling important?\",\n  \"why is priceline stock so high?\",\n  \"why are berries good for you?\",\n  \"why is there so much rain?\",\n  \"why are wp7 apps more expensive?\",\n  \"why is there a lock on sd cards?\",\n  \"why are there hearts on street signs in worcester?\",\n  \"why is hf and kf a buffer system?\",\n  \"why is septuagint called lxx?\",\n  \"why do jw not celebrate holidays?\",\n  \"why is tpg so cheap?\",\n  \"why is espn in bristol?\",\n  \"why is pf3 polar?\",\n  \"why are there x\\\"s where pictures should be?\",\n  \"why are there tornadoes in oklahoma?\",\n  \"why is breakfast important?\",\n  \"why do dock leaves?\",\n  \"why is dvd flick so slow?\",\n  \"why are animals so cute?\",\n  \"why are there weeds?\",\n  \"why is there ammonia in urine?\",\n  \"why is cdata used?\",\n  \"why is there no road between panama and colombia?\",\n  \"why is vpk important?\",\n  \"why are there no skyscrapers in dc?\",\n  \"why are there epithelial cells in urine?\",\n  \"why do bpd women cheat?\",\n  \"why do emails get hacked?\",\n  \"why are there mental illnesses?\",\n  \"why are lobsters immortal?\",\n  \"why is blood pumped through the body?\",\n  \"why are amines basic?\",\n  \"why do tmobile keep calling me?\",\n  \"why is economics so hard?\",\n  \"why are there dotted lines in excel?\",\n  \"why is there fuel in my air filter?\",\n  \"why is there dwarf planets?\",\n  \"why do mris take so long?\",\n  \"why are there tootsie rolls at planet fitness?\",\n  \"why is thebox.bz down?\",\n  \"why is there oil in my peanut butter?\",\n  \"why do i have to pee so much?\",\n  \"why are there height restrictions on rides?\",\n  \"why is wrestling fake?\",\n  \"why is lying bad?\",\n  \"why are there eftpos minimums?\",\n  \"why is there volcanic activity on io?\",\n  \"why is there an e-waste problem?\",\n  \"why do cpap machines need distilled water?\",\n  \"why is jr smith in jail?\",\n  \"why are women so emotional?\",\n  \"why is there a ku klux klan?\",\n  \"why is there no oath sworn by the conspirators?\",\n  \"why do gnats bite?\",\n  \"why is mercury bad?\",\n  \"why do eggs make me poop?\",\n  \"why is ksp so laggy?\",\n  \"why is nj transit so slow?\",\n  \"why are lenses so expensive?\",\n  \"why are there no mcdonalds on army bases?\",\n  \"why is there turmoil in libya?\",\n  \"why is there oxygen in space?\",\n  \"why are nfl players using adderall?\",\n  \"why do traffic jams happen?\",\n  \"why is our economy so bad?\",\n  \"why is klaus scared of kol?\",\n  \"why are ct scans performed?\",\n  \"why is there orange lightning?\",\n  \"why are there 2 ice beams in metroid?\",\n  \"why is there no signal on my gps?\",\n  \"why are ssd drives faster?\",\n  \"why are there ants in my pool?\",\n  \"why is venmo better than paypal?\",\n  \"why do people hiccup?\",\n  \"why is klaus so nice to caroline?\",\n  \"why do koreans dominate lpga?\",\n  \"why is dr who so popular?\",\n  \"why is there a key in my mailbox?\",\n  \"why is ksp independent of volume?\",\n  \"why are other women intimidated by me?\",\n  \"why is adequan on backorder?\",\n  \"why is there gold in computers?\",\n  \"why are ibooks more expensive?\",\n  \"why do mba after btech?\",\n  \"why are you there in tagalog?\",\n  \"why do texas license plates expire?\",\n  \"why is uee called honey thighs?\",\n  \"why is there no ssa similarity theorem?\",\n  \"why are there tunnels on the chesapeake bay bridge?\",\n  \"why is there ice on my central air conditioner?\",\n  \"why are there no good fps?\",\n  \"why is ivory so special?\",\n  \"why is quinoa good for you?\",\n  \"why mhealth is important?\",\n  \"why is ddr2 ram so expensive?\",\n  \"why are relationships so hard?\",\n  \"why do ivf patients take progesterone?\",\n  \"why do patients need ng tubes?\",\n  \"why are there yellow spots on my cannabis leaves?\",\n  \"why is bmw a good car?\",\n  \"why is dna a double helix?\",\n  \"why is sleeping with sirens called that?\",\n  \"why are rf keyboards considered superior?\",\n  \"why is uae so wealthy?\",\n  \"why is skype not working?\",\n  \"why are there no bb guns on ebay?\",\n  \"why is jquery free?\",\n  \"why do omegas get branded?\",\n  \"why is pizza unhealthy?\",\n  \"why do fbi wear sunglasses?\",\n  \"why is vnc so laggy?\",\n  \"why is bpa used in cans?\",\n  \"why is downton abbey so good?\",\n  \"why is there summer break?\",\n  \"why do underarms smell?\",\n  \"why is bf3 so laggy on pc?\",\n  \"why are you the best person for the job?\",\n  \"why do dock leaves work?\",\n  \"why do qbs say 180?\",\n  \"why iitians are arrogant?\",\n  \"why do pvcs start?\",\n  \"why is elf so cheap?\",\n  \"why do you need a wms?\",\n  \"why is olympia the capital of washington?\",\n  \"why are vpn connections so slow?\",\n  \"why do uncompetitive inhibitors lower km?\",\n  \"why do nj pump gas?\",\n  \"why do zippers say ykk?\",\n  \"why do sidewalks have cracks?\",\n  \"why do atoms bond?\",\n  \"why are there elephants in melbourne cbd?\",\n  \"why is there a silent t in tsunami?\",\n  \"why are there small people?\",\n  \"why is there betz limit?\",\n  \"why is there a giant ring around the moon?\",\n  \"why are fossils found in sedimentary rock?\",\n  \"why are there no adverts on bbc?\",\n  \"why jrpgs are dead?\",\n  \"why is there no yahoo messenger for linux?\",\n  \"why is there tv license?\",\n  \"why is wtc red?\",\n  \"why do oysters turn you on?\",\n  \"why do you use vpn?\",\n  \"why do beats by dre break easily?\",\n  \"why are msds useful for nail technicians?\",\n  \"why are there no planes in gta iv?\",\n  \"why do plants and animals need nitrogen?\",\n  \"why do balls itch?\",\n  \"why is there avocado in sushi?\",\n  \"why is louis ck funny?\",\n  \"why is there eggs and bunnies on easter?\",\n  \"why do fundamentalist mormons believe in polygamy?\",\n  \"why is there bilirubin in my urine?\",\n  \"why is utah so mormon?\",\n  \"why are ssris bad?\",\n  \"why are centuries ahead?\",\n  \"why is there racism?\",\n  \"why are there different types of hdmi cables?\",\n  \"why do you need true rms?\",\n  \"why is julius caesar famous?\",\n  \"why is ethics important in business?\",\n  \"why do scientists use models?\",\n  \"why are evos so fast?\",\n  \"why is there a p in pwned?\",\n  \"why are dhea levels high?\",\n  \"why we do rt pcr?\",\n  \"why are there myanmar refugees?\",\n  \"why is nz in afghanistan?\",\n  \"why are grapefruits good for you?\",\n  \"why are rn\\\"s so important?\",\n  \"why do dna fragments separate?\",\n  \"why are mitosis and meiosis similar?\",\n  \"why is zardari still president?\",\n  \"why are ls engines so good?\",\n  \"why is cpap used?\",\n  \"why is pancreatic cancer so deadly?\",\n  \"why are nerds so mean?\",\n  \"why is lte?\",\n  \"why are there no krispy kremes in mn?\",\n  \"why are aerodynamics important?\",\n  \"why are pigs pink?\",\n  \"why do gcp training?\",\n  \"why is there checkers and rally\\\"s?\",\n  \"why is nickelback hated?\",\n  \"why is outsourcing bad?\",\n  \"why is klaus after katherine?\",\n  \"why is idaho named idaho?\",\n  \"why is venus hotter than earth?\",\n  \"why is bhutan so expensive?\",\n  \"why do cma?\",\n  \"why maps are required?\",\n  \"why is hwy 26 closed?\",\n  \"why is there order in the universe?\",\n  \"why do cats have mhk on jersey?\",\n  \"why are there only 4 trophic levels?\",\n  \"why do ionic bonds dissociate in water?\",\n  \"why do oolites only form on beaches?\",\n  \"why are the ewells poor in to kill a mockingbird?\",\n  \"why is there no mcdonalds in africa?\",\n  \"why is hp elitebook so expensive?\",\n  \"why is there no napoleon ii?\",\n  \"why is ummah important?\",\n  \"why is ahsoka tano called snips?\",\n  \"why is there economy?\",\n  \"why are new yorkers rude?\",\n  \"why are there bumps on my vagina?\",\n  \"why are cells limited in size?\",\n  \"why is there an r in gbr?\",\n  \"why are there crystals in urine?\",\n  \"why do we need to when we had gatt?\",\n  \"why is aquaculture good?\",\n  \"why are xrays expensive?\",\n  \"why are voltmeters connected in parallel?\",\n  \"why are eyes the window to the soul?\",\n  \"why are ozone holes at south pole?\",\n  \"why is xemnas looking for ven?\",\n  \"why is mblaq fans called a+?\",\n  \"why do a dlco?\",\n  \"why is there sulfites in wine?\",\n  \"why is ostrich meat red?\",\n  \"why are yeezy 2 so expensive?\",\n  \"why are there polish jokes?\",\n  \"why is there a dh in a national league park?\",\n  \"why do mice like cheese?\",\n  \"why are there italians in new jersey?\",\n  \"why are sloths so popular?\",\n  \"why is there an arrow on aang\\\"s head?\",\n  \"why is there lead in paint?\",\n  \"why do tvs creak?\",\n  \"why is there so much rain in ohio?\",\n  \"why is vga analog?\",\n  \"why is there feb 29?\",\n  \"why is kate spade so expensive?\",\n  \"why do they call him cj2k?\",\n  \"why do pdfs not print?\",\n  \"why are neon lights illegal?\",\n  \"why is there no uk soccer team?\",\n  \"why are my ck levels high?\",\n  \"why are jokes funny?\",\n  \"why do companies use hfcs?\",\n  \"why do hdmi cables cost so much?\",\n  \"why do twin flames run?\",\n  \"why is sunburn hot?\",\n  \"why do iwake up with a headache?\",\n  \"why is there no nhs in america?\",\n  \"why is there rallies and checkers?\",\n  \"why is xplornet so slow?\",\n  \"why is there a ring around the moon?\",\n  \"why are there hyperlinks?\",\n  \"why is md5 irreversible?\",\n  \"why is there no msg hd?\",\n  \"why is there no dh in the nl?\",\n  \"why are erikson\\\"s stages important?\",\n  \"why do gcses matter?\",\n  \"why are there cults?\",\n  \"why is there conflict in northern ireland?\",\n  \"why are hp drivers so big?\",\n  \"why are there pyramids on mars?\",\n  \"why are skunks called polecats?\",\n  \"why do lhasa apso bite?\",\n  \"why is affirmative action bad?\",\n  \"why is vga bad?\",\n  \"why are ionic bonds important?\",\n  \"why is there so many iexplore.exe?\",\n  \"why is knowledge important?\",\n  \"why is fpl a monopoly?\",\n  \"why is there low pressure at the equator?\",\n  \"why are there dots on my dlp tv?\",\n  \"why are ykk zippers good?\",\n  \"why is car insurance so expensive?\",\n  \"why do an fba?\",\n  \"why is there federation?\",\n  \"why is there seaweed?\",\n  \"why is organization important?\",\n  \"why do we use udp protocol?\",\n  \"why do planes use 400hz?\",\n  \"why are oovoo ads in spanish?\",\n  \"why are fbi called g men?\",\n  \"why is oklahoma baseball wearing blue?\",\n  \"why is there worms in my house?\",\n  \"why are there hamsters in kia commercials?\",\n  \"why do cells have to be small?\",\n  \"why do evangelism?\",\n  \"why are dc flags at half mast?\",\n  \"why is rs falling?\",\n  \"why are cfcs a bad alternative to cfcs?\",\n  \"why are csi theme songs from the who?\",\n  \"why are school buses yellow ask?\",\n  \"why is there a moon on mre boxes?\",\n  \"why are there fireworks tonight in nyc?\",\n  \"why is hvap greater than hfus?\",\n  \"why is x factor usa not on tonight?\",\n  \"why are aquarians so mean?\",\n  \"why is immigration reform important?\",\n  \"why are uae so rich?\",\n  \"why are zara sizes so small?\",\n  \"why do chameleons change color?\",\n  \"why is lloyd the green ninja?\",\n  \"why is there volcanoes in iceland?\",\n  \"why is there elections?\",\n  \"why do americans call football soccer?\",\n  \"why there is no dbz games on pc?\",\n  \"why is asparagus good for you?\",\n  \"why do pools turn green?\",\n  \"why is t mobile service so bad?\",\n  \"why is alcoholism a disease?\",\n  \"why is there olympic soccer?\",\n  \"why do good girls like bad guys lyrics?\",\n  \"why do puppies shake?\",\n  \"why is bht bad?\",\n  \"why is there celcius and farenheit?\",\n  \"why is there no audio when i burn a dvd?\",\n  \"why do girls use xoxo?\",\n  \"why are equity markets reasonably competitive?\",\n  \"why are men better than women?\",\n  \"why are gsxr riders such douchebags?\",\n  \"why is heimerdinger not viable?\",\n  \"why are mk1 called mk1?\",\n  \"why is there blood in my cm?\",\n  \"why are gfci breakers so expensive?\",\n  \"why is there no mcdonalds in vietnam?\",\n  \"why is bho called errl?\",\n  \"why is security important?\",\n  \"why is sweet caroline played at fenway?\",\n  \"why do we need cms?\",\n  \"why are klitschko so good?\",\n  \"why are ipad stylus so thick?\",\n  \"why is yu darvish so good?\",\n  \"why is tpb down?\",\n  \"why do nipples hurt during period?\",\n  \"why are nzers called kiwis?\",\n  \"why are parents so strict?\",\n  \"why is there eight stars on the nfl logo?\",\n  \"why are there no npcs in minecraft villages?\",\n  \"why is there no krispy kreme in adelaide?\",\n  \"why do rca cables go bad?\",\n  \"why are there phone interviews?\",\n  \"why do people use vpn?\",\n  \"why is office space rated r?\",\n  \"why is there oil in the spark plugs?\",\n  \"why do eels shock?\",\n  \"why is there an x on my dropbox?\",\n  \"why is nj unemployment website down?\",\n  \"why are kentucky and virginia commonwealth\\\"s?\",\n  \"why do aeroplanes have streamlined shapes?\",\n  \"why do you prefer tcs?\",\n  \"why is kmp down?\",\n  \"why is orange juice bad?\",\n  \"why is arcanine uu?\",\n  \"why is gsm preferred over cdma?\",\n  \"why do kids do drugs?\",\n  \"why is episode 4 of hannibal unaired?\",\n  \"why is lux so popular?\",\n  \"why do shoes smell?\",\n  \"why are mp3 players so expensive?\",\n  \"why are cyclohexane and cyclohexene insoluble in water?\",\n  \"why is there no pokemon mmo?\",\n  \"why do ears ring?\",\n  \"why do ethiopians have big stomachs?\",\n  \"why is there extra space between paragraphs?\",\n  \"why is aztec important?\",\n  \"why do xylem cells have thick walls?\",\n  \"why are ddr2 prices so high?\",\n  \"why do kurds hate arabs?\",\n  \"why do atoms have different isotopes?\",\n  \"why do we need rmi?\",\n  \"why is oatmeal not gluten free?\",\n  \"why do deer wag their tails?\",\n  \"why is formaldehyde bad?\",\n  \"why is dota 2 banned in china?\",\n  \"why is homework bad?\",\n  \"why are cnn videos so slow?\",\n  \"why do hp printer cartridges expire?\",\n  \"why is bw3?\",\n  \"why are juice cleanses so expensive?\",\n  \"why are there turtles on the supreme court building?\",\n  \"why are juveniles tried as adults?\",\n  \"why is cvt bad?\",\n  \"why are there no writings from jesus?\",\n  \"why is lsu the tigers?\",\n  \"why is steven cohen leaving wfd?\",\n  \"why are so many svchost.exe processes running?\",\n  \"why are there droughts?\",\n  \"why do lcd screens need a backlight?\",\n  \"why are there gnats in my living room?\",\n  \"why is kwashiorkor common in children?\",\n  \"why do texas rangers claw?\",\n  \"why are xylem cells specialised?\",\n  \"why are there 12 days of xmas?\",\n  \"why are bt so bad?\",\n  \"why do syrians want to overthrow assad?\",\n  \"why do fertility drugs include fsh?\",\n  \"why are ohioans against fracking?\",\n  \"why do voltmeters have high resistance?\",\n  \"why is there never any good news?\",\n  \"why are there worms in my fish tank?\",\n  \"why is there so many fps?\",\n  \"why is ctfxc called ctfxc?\",\n  \"why are xenopus laevis used in research?\",\n  \"why is zncl2 a salt?\",\n  \"why do crabs walk sideways?\",\n  \"why are zestimates so low?\",\n  \"why is aldi so cheap?\",\n  \"why are dpc and dpm used?\",\n  \"why is title ix significant?\",\n  \"why are there so many perverts on omegle?\",\n  \"why is dwight howard leaving the lakers?\",\n  \"why is lumber blue?\",\n  \"why is ronald reagan the devil?\",\n  \"why is there no espn fantasy basketball app?\",\n  \"why are djs so expensive?\",\n  \"why do mtv videos not work?\",\n  \"why is cinnamon good for you?\",\n  \"why is vitamin b12 important?\",\n  \"why is the septuagint abbreviated lxx?\",\n  \"why do they name hurricanes?\",\n  \"why is there so much violence in chicago?\",\n  \"why is there an octopus in assassin\\\"s creed 2?\",\n  \"why are there crickets everywhere?\",\n  \"why do bpd cheat?\",\n  \"why is zotac so cheap?\",\n  \"why are ships called she?\",\n  \"why is credit karma free?\",\n  \"why do dumpers come back?\",\n  \"why is my dog eating grass?\",\n  \"why is euclid important?\",\n  \"why do people say uber?\",\n  \"why do italians use hand gestures?\",\n  \"why do poor people vote republican?\",\n  \"why is there weather?\",\n  \"why do kryptonians look like humans?\",\n  \"why are there global winds?\",\n  \"why do toddlers hit?\",\n  \"why is there a lion on the sri lankan flag?\",\n  \"why are jrpgs so bad?\",\n  \"why are there little bubbles in my aquarium?\",\n  \"why is bill hader leaving snl?\",\n  \"why is buster posey not catching?\",\n  \"why do rna viruses mutate faster?\",\n  \"why is there no nba live 2011?\",\n  \"why are there ads on my fb?\",\n  \"why do love hurt?\",\n  \"why do cpus get so hot?\",\n  \"why are there more tornadoes in tornado alley?\",\n  \"why is cursive important?\",\n  \"why are there american teams in the chl?\",\n  \"why are there chickens in kauai?\",\n  \"why are tnc headquarters in medcs?\",\n  \"why are there jagged and smooth edges on coins?\",\n  \"why are there so many idiots on the road?\",\n  \"why is pfk a rate limiting enzyme?\",\n  \"why is avatar so good?\",\n  \"why is tds deducted?\",\n  \"why are rainbows colorful?\",\n  \"why is bwtorrents not working?\",\n  \"why are there little bumps on my lips?\",\n  \"why are there sweatshops?\",\n  \"why do they say bw3?\",\n  \"why is iyaz called iyaz?\",\n  \"why is sbcglobal blocking emails?\",\n  \"why is skyrim so hard?\",\n  \"why is flexibility important?\",\n  \"why are there books missing from the bible?\",\n  \"why is dairy good for you?\",\n  \"why is there no ksp for nacl?\",\n  \"why do dancers wear tights?\",\n  \"why is futurama being cancelled?\",\n  \"why is there an error downloading ios 6?\",\n  \"why are oysters and bacteria important to an estuary?\",\n  \"why do kangaroos fight?\",\n  \"why do jordans squeak?\",\n  \"why is there an increase in ptsd?\",\n  \"why is json preferred over xml?\",\n  \"why is soccer called soccer?\",\n  \"why do ghouls fall in love?\",\n  \"why is there no cure for rheumatoid arthritis?\",\n  \"why are dvds released on tuesdays?\",\n  \"why are uavs important?\",\n  \"why are there civilians on the enterprise?\",\n  \"why are pmags so popular?\",\n  \"why are ionic solids hard?\",\n  \"why is there two a\\\"s in aaron?\",\n  \"why do koreans say ah after a name?\",\n  \"why is nadp+ needed in photosynthesis?\",\n  \"why do ethiopians have curly hair?\",\n  \"why are ptas important?\",\n  \"why are feet so sensitive?\",\n  \"why are all fps games the same?\",\n  \"why is nature calls rated r?\",\n  \"why are there essence rather than nothing?\",\n  \"why are there asteroids?\",\n  \"why is jtg not in wwe 12?\",\n  \"why is there poverty in the us?\",\n  \"why are zammy pages so expensive?\",\n  \"why are hp laptops bad?\",\n  \"why are there civil wars?\",\n  \"why do surfers wax their board?\",\n  \"why do adults bully kids?\",\n  \"why are cyclists so angry?\",\n  \"why are scientific models important?\",\n  \"why are there nets on army helmets?\",\n  \"why are ghetto people so rude?\",\n  \"why are upload speeds slower than download?\",\n  \"why do a pgce course?\",\n  \"why do ulcers happen?\",\n  \"why do sharks produce urea?\",\n  \"why are there pyramids all over the world?\",\n  \"why do gnats exist?\",\n  \"why is there deforestation in the amazon rainforest?\",\n  \"why do conservation efforts currently focus?\",\n  \"why is there absolute poverty?\",\n  \"why is rtf used?\",\n  \"why do identical twins look different?\",\n  \"why is there ozone in my water?\",\n  \"why is there dancing in bollywood movies?\",\n  \"why is ryan lochte so hot?\",\n  \"why are html tables bad?\",\n  \"why is there bags under my eyes?\",\n  \"why do miscarriages happen?\",\n  \"why is napa valley good for wine?\",\n  \"why are there troops in germany?\",\n  \"why is tnt broadcasting in spanish?\",\n  \"why are turks so rude?\",\n  \"why do pt/inr?\",\n  \"why is gzip so slow?\",\n  \"why are there many different types of humans?\",\n  \"why are there no women in motogp?\",\n  \"why is there edema in heart failure?\",\n  \"why are bhandas important in yoga?\",\n  \"why is ebay not working?\",\n  \"why is kobe called vino?\",\n  \"why are luxury watches so expensive?\",\n  \"why do smokers cough?\",\n  \"why do underarms stink?\",\n  \"why is gfr important?\",\n  \"why is lhc so big?\",\n  \"why are there photos at the end of frasier?\",\n  \"why are there gnats on my plants?\",\n  \"why are adjusting entries important?\",\n  \"why do wwe superstars wear underwear?\",\n  \"why are there skyscrapers?\",\n  \"why is ejaculate clear?\",\n  \"why are xylem vessels dead?\",\n  \"why are chips ahoy so good?\",\n  \"why is there phenylalanine in gum?\",\n  \"why do rivers flow?\",\n  \"why is fx not on sky player?\",\n  \"why is there no xenical?\",\n  \"why is there hair in my belly button?\",\n  \"why do work wp plugin?\",\n  \"why do old people smell?\",\n  \"why are cds 80 minutes?\",\n  \"why do economists study perfect competition?\",\n  \"why are iframes evil?\",\n  \"why is there question marks on snapchat?\",\n  \"why do gps use radio waves?\",\n  \"why do moths like light?\",\n  \"why are there pyramids in mexico?\",\n  \"why is online dating called catfish?\",\n  \"why are there no epl matches this weekend?\",\n  \"why is cfl better than incandescent?\",\n  \"why are higher elevations colder?\",\n  \"why is too much sodium bad?\",\n  \"why is there unrequited love?\",\n  \"why do we use jquery?\",\n  \"why is ocean water blue?\",\n  \"why are edmunds prices lower?\",\n  \"why are there bells on harleys?\",\n  \"why are there accidentals in music?\",\n  \"why are there spanish nba jerseys?\",\n  \"why is new jersey the garden state?\",\n  \"why is there back pain during period?\",\n  \"why do people like wu tang?\",\n  \"why is pwc unique?\",\n  \"why are adirondack chairs so expensive?\",\n  \"why is there zip codes?\",\n  \"why are asl and bsl different?\",\n  \"why is there gunk in my belly button?\",\n  \"why are there nfl replacement referees?\",\n  \"why is planet of the dead not on netflix?\",\n  \"why are there cliques in school?\",\n  \"why is salt lake salty?\",\n  \"why is jruby faster than ruby?\",\n  \"why is there killing in syria?\",\n  \"why are there so many dudes?\",\n  \"why are you?\",\n  \"why are there swing states?\",\n  \"why are boys better than girls?\",\n  \"why do xboxes need gbs?\",\n  \"why are there koreans in exo m?\",\n  \"why is omegle so slow?\",\n  \"why do good people die young?\",\n  \"why do nfl players take adderall?\",\n  \"why do crabs blow bubbles?\",\n  \"why is rmr lower than bmr?\",\n  \"why do dogs howl at sirens?\",\n  \"why is seven psychopaths rated r?\",\n  \"why is there no mlb clips on youtube?\",\n  \"why do oocytes have polar bodies?\",\n  \"why is there no uk domain?\",\n  \"why is there protein in urine?\",\n  \"why are there health disparities?\",\n  \"why do we use xpath?\",\n  \"why do eels have two hearts?\",\n  \"why is there no ebola vaccine?\",\n  \"why are krill so important?\",\n  \"why is there death?\",\n  \"why is gta 5 delayed?\",\n  \"why are there 16 nl teams?\",\n  \"why do ticks like dog ears?\",\n  \"why is spm in jail?\",\n  \"why is kvothe waiting to die?\",\n  \"why is glee so bad now?\",\n  \"why do xenomorphs grow so fast?\",\n  \"why are nvidia drivers so large?\",\n  \"why are my cookies flat?\",\n  \"why are wisdom teeth called wisdom teeth?\",\n  \"why is world war 1 important?\",\n  \"why are rfid chips bad?\",\n  \"why is fpsrussia popular?\",\n  \"why are there seasons for kids?\",\n  \"why are there dykes?\",\n  \"why is dha a ketotriose?\",\n  \"why are hr decisions heavily regulated?\",\n  \"why do vultures eat their chicks?\",\n  \"why is azula\\\"s flame blue?\",\n  \"why do ae jeans smell?\",\n  \"why do us wines have sulfites?\",\n  \"why is there no mtv on direct tv?\",\n  \"why are there elephants around melbourne?\",\n  \"why is eharmony down for maintenance?\",\n  \"why is dow so high?\",\n  \"why do transformers explode?\",\n  \"why is udl important?\",\n  \"why do cupcakes deflate?\",\n  \"why are there russian mail order brides?\",\n  \"why are cigarettes so heavily taxed?\",\n  \"why do oakleys scratch so easily?\",\n  \"why are illegal immigrants good for the economy?\",\n  \"why is there slime in my eye?\",\n  \"why do nsaids cause stomach pain?\",\n  \"why do ssds fail?\",\n  \"why is there a flower in the vw beetle?\",\n  \"why is there fighting in ivory coast?\",\n  \"why are biracial people so attractive?\",\n  \"why do bees swarm?\",\n  \"why is kwd so high?\",\n  \"why are girls so crazy?\",\n  \"why do nba players wear tights?\",\n  \"why is there health inequality in gender?\",\n  \"why are weddings so expensive?\",\n  \"why are schools adopting rti?\",\n  \"why do other birds attack hawks?\",\n  \"why are there different eye shapes?\",\n  \"why are autotrophs important?\",\n  \"why is ice cold?\",\n  \"why do aerosol cans explode in fire?\",\n  \"why are aquarius men so detached?\",\n  \"why is pawn stars moving to thursday?\",\n  \"why is cydia so slow?\",\n  \"why do hindus wear bindi?\",\n  \"why do bonito flakes move?\",\n  \"why are there toilet seat covers?\",\n  \"why do immigrants hate america?\",\n  \"why is dvd volume so low?\",\n  \"why are oats good for breastfeeding?\",\n  \"why do italians eat salad last?\",\n  \"why is nbc logo green?\",\n  \"why are there different classes of sd cards?\",\n  \"why are dslrs not allowed in concerts?\",\n  \"why is cfc bad?\",\n  \"why are there furries in taylor swift\\\"s video?\",\n  \"why is peace important?\",\n  \"why is there traffic on the grapevine?\",\n  \"why is fbi looking for jimmy hoffa?\",\n  \"why there is no wwe game for pc?\",\n  \"why is cg expensive?\",\n  \"why do hydrogen bonds form?\",\n  \"why are there dead bodies on mt everest?\",\n  \"why is rhetoric important today?\",\n  \"why is ds emulator slow?\",\n  \"why is there famine in somalia?\",\n  \"why is there an m on rsvp cards?\",\n  \"why are gm foods produced?\",\n  \"why are dna strands antiparallel?\",\n  \"why are there ridges on the top of your mouth?\",\n  \"why do red foxes scream?\",\n  \"why are edamame beans good for you?\",\n  \"why are ozone holes in the poles?\",\n  \"why is red meat bad for you?\",\n  \"why do living things need phosphorus?\",\n  \"why are there two wwe champions?\",\n  \"why are there no npcs in minecraft 1.8?\",\n  \"why are roads called fm?\",\n  \"why do fmea?\",\n  \"why is there a waiting list for pinterest?\",\n  \"why are there different names for ebonics?\",\n  \"why is there birdsong on big brother?\",\n  \"why is snake old?\",\n  \"why do guys like long hair?\",\n  \"why is queen elizabeth 1 famous?\",\n  \"why is there brake dust on my wheels?\",\n  \"why do people like rvs?\",\n  \"why are wind turbines important?\",\n  \"why do gcse pe?\",\n  \"why do e ink screens flash?\",\n  \"why are there obese children?\",\n  \"why are there cyclones?\",\n  \"why are there lumps under my skin?\",\n  \"why are zambonis so big?\",\n  \"why do clothes fade?\",\n  \"why is dc united so bad?\",\n  \"why are ultrasound machines so expensive?\",\n  \"why is there junk in space?\",\n  \"why are there x\\\"s on headlights?\",\n  \"why is albany the capital of new york?\",\n  \"why is zimbabwe poor?\",\n  \"why are chia seeds good for you?\",\n  \"why is eos shaped like an egg?\",\n  \"why is aged wine better?\",\n  \"why is fitbit flex delayed?\",\n  \"why is pi called pi?\",\n  \"why is there a 500 euro note?\",\n  \"why is kentucky called the bluegrass state?\",\n  \"why do 2 ie windows open?\",\n  \"why are krill dying out?\",\n  \"why is there 2 ctrl?\",\n  \"why do svn cleanup?\",\n  \"why is xsplit so expensive?\",\n  \"why do skeletal muscles work in pairs?\",\n  \"why do owls attack people?\",\n  \"why are xml namespaces urls?\",\n  \"why do owls come out at night?\",\n  \"why do xylem cells die?\",\n  \"why are there locks on my pictures?\",\n  \"why is there cultural diversity in the uk?\",\n  \"why is mlb 2k12 freezing?\",\n  \"why do people take dmt?\",\n  \"why is inbreeding bad?\",\n  \"why do dying people talk to dead people?\",\n  \"why are leos so childish?\",\n  \"why is there static on tv?\",\n  \"why is kmart closing stores?\",\n  \"why is there breast cancer awareness month?\",\n  \"why is to kill a mockingbird banned?\",\n  \"why is voice of resurgence so good?\",\n  \"why is there an owl on ovoxo?\",\n  \"why are there maggots in my dog\\\"s poop?\",\n  \"why are xylem and phloem next to each other?\",\n  \"why are pink dolphins pink?\",\n  \"why is ucita outdated?\",\n  \"why are there male gynecologists?\",\n  \"why are there bridezillas?\",\n  \"why is there gravity on the moon?\",\n  \"why do phones have speakers on the back?\",\n  \"why are windmills bad?\",\n  \"why are there chinatowns?\",\n  \"why is tchaikovsky a great composer?\",\n  \"why is oil not soluble in water?\",\n  \"why are mk dons hated?\",\n  \"why do omegas say roo?\",\n  \"why is there smoke in the air in houston?\",\n  \"why are native americans important?\",\n  \"why is tv bad for babies?\",\n  \"why is there braille on drive through atms?\",\n  \"why we don\\\"t do lp\\\"s?\",\n  \"why do iris not bloom?\",\n  \"why do girls write xoxo?\",\n  \"why do pyrex dishes explode?\",\n  \"why are there silverfish in my room?\",\n  \"why do arabs own gas stations?\",\n  \"why is tesla going up?\",\n  \"why is there feedback on garageband?\",\n  \"why is there background noise on my computer?\",\n  \"why is nba 2k12 server down?\",\n  \"why is jennifer lawrence so hot?\",\n  \"why is pvp gear bad for pve?\",\n  \"why do gypsies travel?\",\n  \"why is xsellize down?\",\n  \"why are there fake people on instagram?\",\n  \"why is fptp good?\",\n  \"why is eren a titan?\",\n  \"why is python so great?\",\n  \"why is sprint service so bad?\",\n  \"why are there shiny pokemon?\",\n  \"why do zombies crave human flesh?\",\n  \"why is written tone important?\",\n  \"why are zebra cakes so good?\",\n  \"why do umpires wear blazers?\",\n  \"why are there pygmy animals?\",\n  \"why are flights delayed at bwi?\",\n  \"why are turtles reptiles?\",\n  \"why is there an nfl preseason?\",\n  \"why are there rocks in my quinoa?\",\n  \"why are there bye weeks in espn fantasy basketball?\",\n  \"why is rmb rising?\",\n  \"why is xp slow?\",\n  \"why is there evil and suffering?\",\n  \"why are there slugs?\",\n  \"why do we use dhcp server?\",\n  \"why are my pms symptoms changing?\",\n  \"why do salmon die after spawning?\",\n  \"why are overhead power lines dangerous?\",\n  \"why is there filter paper in tlc?\",\n  \"why do planes fly?\",\n  \"why do overhead squats?\",\n  \"why is dmx suing oprah?\",\n  \"why ike are we cross?\",\n  \"why is mrsa resistant?\",\n  \"why do tb shots hurt?\",\n  \"why is ssdi so hard to get?\",\n  \"why is there dried blood in my underwear?\",\n  \"why is gsh on the bears jersey?\",\n  \"why is ucsd socially dead?\",\n  \"why are allergies worse at night?\",\n  \"why are ucu striking?\",\n  \"why are organic compounds important?\",\n  \"why are there bumps on my elbow?\",\n  \"why do fainting goats faint?\",\n  \"why are there chemtrails in the sky?\",\n  \"why are there boxes around my apps?\",\n  \"why is there dry counties?\",\n  \"why is there dh?\",\n  \"why are there nuts in bars?\",\n  \"why is professional development important?\",\n  \"why is aspirin good for the heart?\",\n  \"why is there always a cvs next to walgreens?\",\n  \"why is npv important?\",\n  \"why did btk do it?\",\n  \"why are azides explosive?\",\n  \"why do rabbits bite?\",\n  \"why is there opposition to the carbon tax?\",\n  \"why do iguanas poop in water?\",\n  \"why is there no ssa postulate?\",\n  \"why do stars shine?\",\n  \"why are nba jerseys in spanish?\",\n  \"why is there something wrong with siri?\",\n  \"why are elephants scared of mice?\",\n  \"why is bgw called junk?\",\n  \"why are ubers banned?\",\n  \"why is no one hiring me?\",\n  \"why do monks shave their heads?\",\n  \"why is essay writing important?\",\n  \"why are centers bad at free throws?\",\n  \"why are vw cars so expensive?\",\n  \"why is there no psyren anime?\",\n  \"why are there no updates for htc desire?\",\n  \"why is game called ogame?\",\n  \"why is global warming bad?\",\n  \"why is knowledge sharing important?\",\n  \"why is xfinity not working on xbox?\",\n  \"why do air conditioners leak water?\",\n  \"why are gsw called dubs?\",\n  \"why are there no wrestling games on pc?\",\n  \"why vfd is used?\",\n  \"why do you join tcs?\",\n  \"why is ohio famous?\",\n  \"why is ewoldsen trail closed?\",\n  \"why is dgemm so fast?\",\n  \"why are smarties called smarties?\",\n  \"why is there a yellow flag on my oovoo?\",\n  \"why is nmos a good conductor of 0?\",\n  \"why is nwoye attracted by the missionaries?\",\n  \"why are offenders sent to supermax facilities?\",\n  \"why is there a q in bbq?\",\n  \"why is npr ending talk of the nation?\",\n  \"why is there only breast cancer awareness?\",\n  \"why is there female genital mutilation?\",\n  \"why is gucci so expensive?\",\n  \"why do tcas cause dry mouth?\",\n  \"why do they celebrate kwanzaa?\",\n  \"why is aetherling so good?\",\n  \"why are wushu swords so thin?\",\n  \"why is there no ncaa basketball game?\",\n  \"why are nz called kiwis?\",\n  \"why is there tripping in ssbb?\",\n  \"why are flags at half staff today in california?\",\n  \"why is dg yola locked up?\",\n  \"why are there triangles in music videos?\",\n  \"why are there boroughs in new york?\",\n  \"why are there birth defects?\",\n  \"why do epsom salts work?\",\n  \"why is there pine tar on helmets?\",\n  \"why are there elephants in africa and india?\",\n  \"why is wukong not played?\",\n  \"why is iggy pop so ripped?\",\n  \"why do my feet swell?\",\n  \"why is feminism called feminism?\",\n  \"why is there a bye week in football?\",\n  \"why are there 6 rs in directioner?\",\n  \"why do my fans burn couches?\",\n  \"why is iis so slow?\",\n  \"why is there wind on the moon?\",\n  \"why is there male and female?\",\n  \"why are there roaches?\",\n  \"why is there no football on cbs?\",\n  \"why are american women so spoiled?\",\n  \"why are there half moons on outhouses?\",\n  \"why do utis hurt more at night?\",\n  \"why is ipad not charging?\",\n  \"why are bruises yellow?\",\n  \"why are there 3 hpv shots?\",\n  \"why is there washington dc?\",\n  \"why are there different prices for hdmi cables?\",\n  \"why are dslr cameras expensive?\",\n  \"why is there no terminal 4 at o\\\"hare?\",\n  \"why is there cream of tartar in snickerdoodles?\",\n  \"why are jaguar xf so cheap?\",\n  \"why is oxygen o2?\",\n  \"why is there nine planets?\",\n  \"why do we have xmas trees?\",\n  \"why do eels die after spawning?\",\n  \"why are there numerous languages throughout the world?\",\n  \"why is lsu a good college?\",\n  \"why is othello a tragedy?\",\n  \"why do nfl players wear visors?\",\n  \"why is there upper and lower limits to cell size?\",\n  \"why are zales diamonds so cheap?\",\n  \"why are convoys illegal?\",\n  \"why is owning moon rocks illegal?\",\n  \"why are anchors so popular?\",\n  \"why are mkv files so popular?\",\n  \"why is there rocks on railroad tracks?\",\n  \"why are bc apples illegal in the us?\",\n  \"why is earth considered a closed system?\",\n  \"why are pterodactyls not dinosaurs?\",\n  \"why are type ii diabetes obese?\",\n  \"why is there conflict over the ilisu dam?\",\n  \"why do pupils dilate?\",\n  \"why is xtranormal closing down?\",\n  \"why is sb5 bad?\",\n  \"why is there blood during uti?\",\n  \"why are aquarius men so moody?\",\n  \"why is htc one only 4mp?\",\n  \"why is nbg not trading?\",\n  \"why is rt.com not working?\",\n  \"why is xpath slow?\",\n  \"why are there no scots in the gb football team?\",\n  \"why are there itchy bumps on my legs?\",\n  \"why is rpi so high?\",\n  \"why is lucifer evil?\",\n  \"why are only certain things illegal?\",\n  \"why are taxis yellow?\",\n  \"why is hsb more intuitive?\",\n  \"why are vultures good for the environment?\",\n  \"why is acid illegal?\",\n  \"why are immunizations important?\",\n  \"why is kbb and nada different?\",\n  \"why are there wasps in my grass?\",\n  \"why is ttl difference?\",\n  \"why do a pt test?\",\n  \"why is there low oxygen at high altitude?\",\n  \"why do sgrhos carry a cane?\",\n  \"why do htc phones freeze?\",\n  \"why are there bees on the ground?\",\n  \"why is msn my homepage?\",\n  \"why are avocados poisonous to dogs?\",\n  \"why are there only 6 jurors in zimmerman?\",\n  \"why are the 5 k\\\"s important to sikhs?\",\n  \"why is feces green?\",\n  \"why do our noses run?\",\n  \"why are shrimp pink?\",\n  \"why do away with the epa?\",\n  \"why is obama a good president?\",\n  \"why are drinks called cocktails?\",\n  \"why are odwalla bottles smaller?\",\n  \"why is mhc restriction important?\",\n  \"why are hospitals not hiring lvns?\",\n  \"why is airport food so expensive?\",\n  \"why is qmv controversial?\",\n  \"why are oceans becoming more acidic?\",\n  \"why is lg refrigerator freezing everything?\",\n  \"why do aquariums need filters?\",\n  \"why are there 52 debian cds?\",\n  \"why are knees and elbows darker?\",\n  \"why do people like ikea?\",\n  \"why do essays need conclusions?\",\n  \"why do illegal immigrants have rights?\",\n  \"why is rcn so slow?\",\n  \"why is there chuck norris jokes?\",\n  \"why is ghost hunters not on itunes?\",\n  \"why is there laughter in comedy shows?\",\n  \"why do people hate fwd?\",\n  \"why is there self employment tax?\",\n  \"why is there a difference between gdp and gnp?\",\n  \"why is hf weaker than hcl?\",\n  \"why hello there dyrus twitch?\",\n  \"why is there so much dna in a strawberry?\",\n  \"why is eye bloodshot?\",\n  \"why are umbilical cords blue?\",\n  \"why are io domains so expensive?\",\n  \"why are there tiny bumps on my arm?\",\n  \"why do people hate ubisoft?\",\n  \"why are there other races?\",\n  \"why are gnats attracted to light?\",\n  \"why do gyroscopes work?\",\n  \"why is coit tower blue tonight?\",\n  \"why do glasses fog up?\",\n  \"why is wmg ruining youtube?\",\n  \"why is everything made in china?\",\n  \"why is there so many mlb games?\",\n  \"why is there evil if god is loving?\",\n  \"why do cops need to be controlled?\",\n  \"why is zfs awesome?\",\n  \"why is fsu better than uf?\",\n  \"why is there good and evil?\",\n  \"why do aa batteries explode?\",\n  \"why is there no wwe draft 2012?\",\n  \"why do italians yell?\",\n  \"why is everything so expensive?\",\n  \"why do africans look like apes?\",\n  \"why is there no gold on the rmah?\",\n  \"why are there voids in space?\",\n  \"why do husband cheat?\",\n  \"why is there lots of flies in my house?\",\n  \"why are there no tsunamis in the atlantic?\",\n  \"why do alcoholics have a red face?\",\n  \"why are all inhalers hfa?\",\n  \"why are there zippers on girls pants?\",\n  \"why don\\\"t guys like me?\",\n  \"why is ps4 not backwards compatible?\",\n  \"why is there a nba lockout?\",\n  \"why are celtic called bhoys?\",\n  \"why are there ice in urinals?\",\n  \"why are laws made?\",\n  \"why is there edema in kwashiorkor?\",\n  \"why is market closed today?\",\n  \"why are x-rays used?\",\n  \"why are passports so expensive?\",\n  \"why do we use udp?\",\n  \"why do ohioans?\",\n  \"why is oxygenated blood red?\",\n  \"why are there joints between bones?\",\n  \"why are there unatural omens during the night?\",\n  \"why do ozone levels drop in spring?\",\n  \"why do yankees hate southerners?\",\n  \"why do kettlebells work so well?\",\n  \"why is abortion controversial?\",\n  \"why is fabbbyyy the gatekeeper?\",\n  \"why are cuban cigars special?\",\n  \"why are zwitterions less soluble?\",\n  \"why is fwd better in snow?\",\n  \"why is hr dominated by women?\",\n  \"why is there 5 gymnasts instead of 7?\",\n  \"why are away games?\",\n  \"why is there e coli in beef?\",\n  \"why are there blimps in fringe?\",\n  \"why do people support sb 1070?\",\n  \"why do you hate wyoming incident?\",\n  \"why are crows protected?\",\n  \"why is there red dye in kerosene?\",\n  \"why is bleach called bleach?\",\n  \"why is npr so liberal?\",\n  \"why do roots need oxygen?\",\n  \"why are awareness campaigns effective?\",\n  \"why is the xdm not legal in california?\",\n  \"why is there tourism?\",\n  \"why are ducks born yellow?\",\n  \"why are chinese people so mean?\",\n  \"why is there autumn and fall?\",\n  \"why are there no .uk domains?\",\n  \"why is there a ring around the sun?\",\n  \"why is dfs always on sale?\",\n  \"why do islamic countries hate america?\",\n  \"why do krav maga?\",\n  \"why are zinc and copper good conductors?\",\n  \"why are there extra pieces in lego sets?\",\n  \"why do celebrities change their names?\",\n  \"why are there duplicate songs in itunes?\",\n  \"why are rhubarb leaves poisonous?\",\n  \"why is there frost in my fridge?\",\n  \"why are apple products so expensive?\",\n  \"why do erp implementations fail?\",\n  \"why is nclb bad?\",\n  \"why are epsom salts good for plants?\",\n  \"why is there dust in my brush?\",\n  \"why is ub40 called ub40?\",\n  \"why is dog eating grass?\",\n  \"why is there no red lobster in bc?\",\n  \"why is there other religions?\",\n  \"why do they call bathrooms wc?\",\n  \"why are there cracks in my ceiling?\",\n  \"why is there poverty in uk?\",\n  \"why are there magnets in an electric motor?\",\n  \"why is there no ns12?\",\n  \"why are there illegal immigration?\",\n  \"why are guys such jerks?\",\n  \"why is there extinction?\",\n  \"why are bond prices falling?\",\n  \"why do pgd?\",\n  \"why is there ecosystem diversity in the biosphere?\",\n  \"why is jr not on wwe anymore?\",\n  \"why is kwame nkrumah important?\",\n  \"why do windows xp updates fail?\",\n  \"why are jks fans called eels?\",\n  \"why is nfs so slow?\",\n  \"why do los zetas kill people?\",\n  \"why are there eight dwarves?\",\n  \"why is texas doing so well?\",\n  \"why do i need nvidia?\",\n  \"why are cigarettes fda approved?\",\n  \"why do cold sores form?\",\n  \"why are the avengers fighting the x men?\",\n  \"why do we use npv?\",\n  \"why are exchange rates important?\",\n  \"why are mds called doctor?\",\n  \"why are there cervical and lumbar enlargements?\",\n  \"why is there no itunes store in south africa?\",\n  \"why do people join rotc?\",\n  \"why is there benzene in cigarettes?\",\n  \"why is mortgage rate going up?\",\n  \"why are there different types of yoga?\",\n  \"why is there cancer?\",\n  \"why is gbp stronger than usd?\",\n  \"why do the ewells get special privileges?\",\n  \"why do other planets exist?\",\n  \"why is volunteering good?\",\n  \"why is there worms in my fish tank?\",\n  \"why is ethanol bad for engines?\",\n  \"why is rocket science so hard?\",\n  \"why do ex come back?\",\n  \"why do we use 60 hz?\",\n  \"why are there oil spills?\",\n  \"why do agnostics bother pi?\",\n  \"why do dht levels increase?\",\n  \"why is ajrichies so cheap?\",\n  \"why is there a doppler effect when the source of sound?\",\n  \"why do ivs hurt so much?\",\n  \"why are there missing episodes of avatar on netflix?\",\n  \"why do cells age and die?\",\n  \"why are there valves between chambers of the heart?\",\n  \"why is kva different to kw?\",\n  \"why do zayn and harry sleep together?\",\n  \"why do we use vfd?\",\n  \"why is fletcher leaving wfnx?\",\n  \"why is there 6 teams in the nl central?\",\n  \"why is there a bcs system?\",\n  \"why do zits bleed?\",\n  \"why are magic mushrooms illegal?\",\n  \"why do sd cards need to be formatted?\",\n  \"why are ivory keys illegal?\",\n  \"why are lhasa apsos aggressive?\",\n  \"why is there slimy stuff in my poop?\",\n  \"why are there syrian refugees?\",\n  \"why are there free books on ibooks?\",\n  \"why are there differences between identical twins?\",\n  \"why is cs go so laggy?\",\n  \"why is jupiter there?\",\n  \"why are there banned books?\",\n  \"why are ebay fees so high 2013?\",\n  \"why do employers hire illegal immigrants?\",\n  \"why is lemon good for you?\",\n  \"why are botnets used in ddos attacks?\",\n  \"why is there no new psych on hulu?\",\n  \"why are uc better than csu?\",\n  \"why is dance important?\",\n  \"why is only one nostril runny?\",\n  \"why is order of operations important?\",\n  \"why is there water in venice?\",\n  \"why is there yellow stuff in my sperm?\",\n  \"why do objects float in space?\",\n  \"why is mcdonalds so bad for you?\",\n  \"why are smartphones so big?\",\n  \"why are there bed bugs?\",\n  \"why are nominal and real gdp important?\",\n  \"why is there netting on ww2 helmets?\",\n  \"why are cctv images so bad?\",\n  \"why do oil and water not mix for kids?\",\n  \"why are australians so rude?\",\n  \"why is fda approval important?\",\n  \"why is there no kung fu in mma?\",\n  \"why do nfl players commit crimes?\",\n  \"why is there an advantage for female pigs to?\",\n  \"why is there phenylalanine in soda?\",\n  \"why are zn2 solutions colorless?\",\n  \"why are ikea beds bigger?\",\n  \"why is ezra a?\",\n  \"why is there nba lockout?\",\n  \"why are humans afraid of bugs?\",\n  \"why are hp elitebooks so expensive?\",\n  \"why is technology bad?\",\n  \"why are ncaa athletes not paid?\",\n  \"why are the 2012 vmas on a thursday?\",\n  \"why is there an increase in type ii diabetes?\",\n  \"why is ssd better than hdd?\",\n  \"why are flamingos pink?\",\n  \"why do objects float in water?\",\n  \"why is hsbc closing branches?\",\n  \"why is squealer out at midnight?\",\n  \"why is there cyanide in apple seeds?\",\n  \"why is austin carlile in jail?\",\n  \"why do nba players not use the backboard?\",\n  \"why is there people in the world?\",\n  \"why do people write xmas?\",\n  \"why is there violence in brazil?\",\n  \"why is ownership important?\",\n  \"why is ivory important?\",\n  \"why is xkcd down?\",\n  \"why are ozone levels increasing?\",\n  \"why is there no avatar state in legend of korra?\",\n  \"why do aerobic exercise?\",\n  \"why are eggs hard to peel?\",\n  \"why is byu so cheap?\",\n  \"why is kimchi good for you?\",\n  \"why is tsh low?\",\n  \"why are there tax returns?\",\n  \"why are there water towers in texas?\",\n  \"why is there blood in my dog\\\"s stool?\",\n  \"why is there orbs in pictures?\",\n  \"why title ix is wrong?\",\n  \"why are cats so weird?\",\n  \"why is kudzu invasive?\",\n  \"why are there no zero molecular reactions?\",\n  \"why do mps stand up in parliament?\",\n  \"why are gm foods good?\",\n  \"why do greeks smash plates?\",\n  \"why are only 28 days in february?\",\n  \"why is creatine bad?\",\n  \"why is there air in my pool lines?\",\n  \"why is there extra skin on my anus?\",\n  \"why is nhl 13 so slow?\",\n  \"why do warts happen?\",\n  \"why is there argon in the atmosphere?\",\n  \"why do unions resist change?\",\n  \"why is cydia blank?\",\n  \"why is mkv choppy?\",\n  \"why is there smoke in nm?\",\n  \"why is there purple sand?\",\n  \"why are funyuns so good?\",\n  \"why is full frame better?\",\n  \"why are bf3 servers down?\",\n  \"why is body of proof cancelled?\",\n  \"why are cj and janine getting a divorce?\",\n  \"why are carbohydrates important?\",\n  \"why is there very little wind in the doldrums?\",\n  \"why are air jordans banned?\",\n  \"why are there ants in my laundry?\",\n  \"why are there different writing formats?\",\n  \"why are clothes so expensive?\",\n  \"why is there no tylenol on store shelves?\",\n  \"why do african dwarf frogs sing?\",\n  \"why is mhc important to t cells?\",\n  \"why do nations trade?\",\n  \"why is instagram popular?\",\n  \"why is gmc better than chevy?\",\n  \"why do mkv files lag on vlc?\",\n  \"why do vulcans have pointy ears?\",\n  \"why do they say hwaiting?\",\n  \"why are we ahmadi?\",\n  \"why do disney stars go bad?\",\n  \"why are upkicks illegal in mma?\",\n  \"why do people rv?\",\n  \"why do birds sing at night?\",\n  \"why are movies pg 13?\",\n  \"why are nuclear weapons so powerful?\",\n  \"why are americans so selfish?\",\n  \"why do oil rigs have a flame?\",\n  \"why do utopias fail?\",\n  \"why are there just two political parties?\",\n  \"why is there king of england?\",\n  \"why do an nda?\",\n  \"why is bmi important?\",\n  \"why are airplanes important?\",\n  \"why are there villains?\",\n  \"why do lethal alleles stay in a population?\",\n  \"why are sphalerite and wurtzite structures polymorphic?\",\n  \"why is there lightning without thunder?\",\n  \"why is there prejudice?\",\n  \"why is there lots of bluebottles in my house?\",\n  \"why is dlc bad?\",\n  \"why is dubai so rich?\",\n  \"why is vw successful?\",\n  \"why is seattle called the emerald city?\",\n  \"why are there tornadoes?\",\n  \"why are silencers illegal?\",\n  \"why are ibeats discontinued?\",\n  \"why is there skill testing questions?\",\n  \"why is dynamic stretching good?\",\n  \"why do companies use npv?\",\n  \"why is td jakes a false prophet?\",\n  \"why is tdd good?\",\n  \"why is africa still poor?\",\n  \"why are there dots on my mailbox?\",\n  \"why are nvidia quadro so expensive?\",\n  \"why are there no blueprints for sustainable development?\",\n  \"why is salt water salty?\",\n  \"why is isolation bad?\",\n  \"why is rcb wearing green jersey?\",\n  \"why are there vents in lockers?\",\n  \"why is there entropy?\",\n  \"why is there different eye colors?\",\n  \"why are schematic diagrams useful?\",\n  \"why is mpv high?\",\n  \"why is mls so bad?\",\n  \"why is there voter apathy?\",\n  \"why is echoing fury so good?\",\n  \"why we are using qtp?\",\n  \"why are lto drives so expensive?\",\n  \"why do people call gtos goats?\",\n  \"why are trix round?\",\n  \"why is there smoke coming from my exhaust?\",\n  \"why are poems written in iambic pentameter?\",\n  \"why are zombies scary?\",\n  \"why is ethnic studies important?\",\n  \"why is kobe 24?\",\n  \"why do electrons flow from the anode to the cathode?\",\n  \"why is mba necessary?\",\n  \"why is ice slippery?\",\n  \"why are there plateaus in heating and cooling curves?\",\n  \"why is dennis rodman called the worm?\",\n  \"why do cbc test?\",\n  \"why are hurricanes named?\",\n  \"why is qe good for stocks?\",\n  \"why is there ammonia in my fish tank?\",\n  \"why do a ptlls course?\",\n  \"why is cbt effective?\",\n  \"why is yield to maturity important?\",\n  \"why do ssl certificates expire?\",\n  \"why is emotional intelligence important in the workplace?\",\n  \"why is xsplit laggy?\",\n  \"why are there no taxes on ryanair flights?\",\n  \"why are there protests in seattle?\",\n  \"why are polar climates so dry?\",\n  \"why is noodling illegal?\",\n  \"why are russians so good at chess?\",\n  \"why are june bugs so clumsy?\",\n  \"why are sf giants tickets so expensive?\",\n  \"why do lips twitch?\",\n  \"why is overpopulation important?\",\n  \"why is there no dwarves in lord of the rings?\",\n  \"why is israel in uefa?\",\n  \"why is ndtv imagine not working?\",\n  \"why is xlv 45?\",\n  \"why are nrl teams wearing pink?\",\n  \"why do crows follow me?\",\n  \"why is uncharted 3 40gb?\",\n  \"why are there vertical ridges in my fingernails?\",\n  \"why is there no audio on cnn live?\",\n  \"why is ukraine\\\"s population decreasing?\",\n  \"why are lbos legal?\",\n  \"why is there odor in my urine?\",\n  \"why is there no vaccine for eee?\",\n  \"why are there fishing licenses?\",\n  \"why do camels have humps?\",\n  \"why are there bye weeks in football?\",\n  \"why do axolotls change colour?\",\n  \"why are there ridges in my nails?\",\n  \"why is there question marks where pictures should be?\",\n  \"why do chromosomes coil during mitosis?\",\n  \"why do people hate dhoni?\",\n  \"why is youtube not working?\",\n  \"why is it called silicon valley?\",\n  \"why is vallejo so cheap?\",\n  \"why is there no stv hd on sky?\",\n  \"why are typhoons called typhoons?\",\n  \"why are mtv shows unavailable?\",\n  \"why is there school yahoo answers?\",\n  \"why is there magnesium in omeprazole?\",\n  \"why are gdiapers so expensive?\",\n  \"why is squat the best exercise?\",\n  \"why are muscles sore after a workout?\",\n  \"why is sunset red?\",\n  \"why is rna less stable?\",\n  \"why is sd card write protected?\",\n  \"why is tpa ezreal unavailable?\",\n  \"why are there so many crows in rochester mn?\",\n  \"why is there water at the bottom of my fridge?\",\n  \"why is there bumps on my lips?\",\n  \"why do ph indicators change color?\",\n  \"why is red porcelain illegal?\",\n  \"why are oysters good for men?\",\n  \"why is quickmeme banned on reddit?\",\n  \"why is rhubarb sour?\",\n  \"why is d\\\"link router unable to connect?\",\n  \"why is 440 hz?\",\n  \"why are aeron chair so expensive?\",\n  \"why is there violence against women in india?\",\n  \"why is windows 7 so slow?\",\n  \"why are stocks so high?\",\n  \"why is gym class important?\",\n  \"why is volunteering important?\",\n  \"why do eyes get puffy?\",\n  \"why do writers include organizational features?\",\n  \"why do i need svn?\",\n  \"why is fye closing?\",\n  \"why is organic better?\",\n  \"why is there military helicopters flying around?\",\n  \"why are there bombs in the ocean?\",\n  \"why is hpv bad?\",\n  \"why is there welsh teams in the english league?\",\n  \"why are hands so hard to draw?\",\n  \"why is ehow reliable?\",\n  \"why is there no eastenders omnibus today?\",\n  \"why are clients npo before surgery?\",\n  \"why are mmorpgs so popular?\",\n  \"why do aa members maintain anonymity?\",\n  \"why are ivy league schools so prestigious?\",\n  \"why do we measure gdp?\",\n  \"why do ducks fight?\",\n  \"why is uganda\\\"s land fertile?\",\n  \"why do edibles make me sick?\",\n  \"why do klingons use cloaking devices?\",\n  \"why are outlets grounded?\",\n  \"why is oakland so poor?\",\n  \"why are epics important?\",\n  \"why is svedka so cheap?\",\n  \"why are otterboxes good?\",\n  \"why is aamrq stock going up?\",\n  \"why is there circumcision?\",\n  \"why is akbar the great important?\",\n  \"why are there gaps in sidewalks?\",\n  \"why is there other languages?\",\n  \"why is cytokinesis important?\",\n  \"why are there discs of cartilage in the vertebral column?\",\n  \"why is oyster good for men?\",\n  \"why is babe ruth famous?\",\n  \"why are there so many nguyen in vietnam?\",\n  \"why is xtranormal closing?\",\n  \"why are bt changing infinity modems?\",\n  \"why is there steam under nyc?\",\n  \"why are the initials mhk on the patriots jerseys?\",\n  \"why is there seeds in my weed?\",\n  \"why are hospitals not hiring lpns?\",\n  \"why are there peacocks in florida?\",\n  \"why do eggs expire?\",\n  \"why are my ogrines linked?\",\n  \"why is zillow not working?\",\n  \"why is imessage not working?\",\n  \"why is mla format important?\",\n  \"why is iago angry with othello?\",\n  \"why is there no outsourced season 2?\",\n  \"why do uterine polyps cause bleeding?\",\n  \"why is xlr called xlr?\",\n  \"why is xerneas a fairy type?\",\n  \"why do urban schools fail?\",\n  \"why are ethical standards important?\",\n  \"why is she so mean?\",\n  \"why are there 2 l\\\"s in lloyd?\",\n  \"why is turkey revolting?\",\n  \"why are kurtofsky shippers called pirates?\",\n  \"why is there an lh surge?\",\n  \"why is izual back in diablo 3?\",\n  \"why are there side effects to antibiotics?\",\n  \"why is there flooding in minot nd?\",\n  \"why is ketchup called fancy?\",\n  \"why is usd rising?\",\n  \"why are chia seeds good?\",\n  \"why hello there ms lady?\",\n  \"why is there abdominal pain in dka?\",\n  \"why is olivia pope in the hospital?\",\n  \"why is there two mlb leagues?\",\n  \"why are wwe matches predetermined?\",\n  \"why is there a different base in rna?\",\n  \"why is uart used?\",\n  \"why is there a jihad against america?\",\n  \"why is oxygen needed in cellular respiration?\",\n  \"why is there zip in girls jeans?\",\n  \"why are there only 5 regular polyhedrons?\",\n  \"why are nj stores closed on sundays?\",\n  \"why are lcd tvs so expensive?\",\n  \"why is there no hms portsmouth?\",\n  \"why do tires get bumps?\",\n  \"why is there hst?\",\n  \"why is there spotting between periods?\",\n  \"why is lcm used in accounting?\",\n  \"why are there no jimmy john\\\"s in california?\",\n  \"why is ubuntu so slow?\",\n  \"why is xdm legal in ca?\",\n  \"why do imessages turn green?\",\n  \"why are there two dna strands?\",\n  \"why do military wives cheat?\",\n  \"why is there not an aaa postulate?\",\n  \"why do pregnant women crave pickles?\",\n  \"why are ethiopians stomachs so big?\",\n  \"why do i feel so empty?\",\n  \"why do we use cgi?\",\n  \"why are sharks important?\",\n  \"why are there so many idiots?\",\n  \"why are there drug cartels?\",\n  \"why do identical twins look alike?\",\n  \"why are css called cascading?\",\n  \"why are there weeks?\",\n  \"why do i need vpn on iphone?\",\n  \"why are we gb not uk?\",\n  \"why is there a writing section on the sat?\",\n  \"why are men attracted to women?\",\n  \"why is there glass in front of drums?\",\n  \"why is there bed bugs?\",\n  \"why do freckles form?\",\n  \"why do cpus need fans?\",\n  \"why are there volcanoes in africa?\",\n  \"why is there condensation on my windows?\",\n  \"why do feet crack?\",\n  \"why is there gluten free food?\",\n  \"why are obama\\\"s college transcripts sealed?\",\n  \"why is wcf better?\",\n  \"why is avocado so expensive?\",\n  \"why is ozone harmful?\",\n  \"why are nz people called kiwis?\",\n  \"why is there no more ike?\",\n  \"why are there fema camps?\",\n  \"why do oceans not mix?\",\n  \"why is tuna good for you?\",\n  \"why is ozone bad?\",\n  \"why are the muppets rated pg?\",\n  \"why is zumba so popular?\",\n  \"why are there verses missing from niv?\",\n  \"why is there gunk on my earrings?\",\n  \"why are there tiny bumps on my lips?\",\n  \"why are there hidden chests in skyrim?\",\n  \"why is wyoming so windy?\",\n  \"why do zack and slater fight?\",\n  \"why does cj do the jackal?\",\n  \"why are dogs so loving?\",\n  \"why is ksp lagging?\",\n  \"why is there no rda for protein?\",\n  \"why are ppfs bowed out?\",\n  \"why is ddt illegal?\",\n  \"why are lynx endangered?\",\n  \"why are eia important?\",\n  \"why do ultrasounds need gel?\",\n  \"why is mtbe added to gasoline?\",\n  \"why are emulators illegal?\",\n  \"why do uk automatically qualify for eurovision?\",\n  \"why is evaporation a cooling process?\",\n  \"why are poets poor dd-30?\",\n  \"why are there accounting standards?\",\n  \"why is there rioting in sweden?\",\n  \"why is there ash in dog food?\",\n  \"why is xcode so hard to learn?\",\n  \"why do jw not celebrate thanksgiving?\",\n  \"why is there an owl in my backyard?\",\n  \"why do ghouls fall in love youtube?\",\n  \"why is apple stock so low?\",\n  \"why are spermatogenesis and oogenesis different?\",\n  \"why is npr dropping talk of the nation?\",\n  \"why is vw golf expensive?\",\n  \"why is there velvet on antlers?\",\n  \"why is dfo shutting down?\",\n  \"why do numbers never end?\",\n  \"why do irish car bombs curdle?\",\n  \"why is there a honda and acura nsx?\",\n  \"why is ts eliot important?\",\n  \"why is there lymphatic tissue in the digestive system?\",\n  \"why are there slugs everywhere?\",\n  \"why are wwe referees so weak?\",\n  \"why is there a pterodactyl in torchwood?\",\n  \"why is rtp used?\",\n  \"why is pyruvate important?\",\n  \"why is air a mixture?\",\n  \"why ratings are in kva?\",\n  \"why do tv series skip weeks?\",\n  \"why is twitter so popular?\",\n  \"why is qe inflationary?\",\n  \"why do economies of scale occur?\",\n  \"why are hdmi cables so cheap online?\",\n  \"why are joints important?\",\n  \"why is there photophobia in meningitis?\",\n  \"why do mkv files play choppy?\",\n  \"why do people #ff on twitter?\",\n  \"why is identity thief rated ma?\",\n  \"why are nctm process standards important?\",\n  \"why are there so many mshta.exe?\",\n  \"why do fsh levels vary?\",\n  \"why is there an eftpos minimum?\",\n  \"why is there no ps3 emulator?\",\n  \"why is it mx+b?\",\n  \"why is lh elevated in androgen insensitivity?\",\n  \"why do islamic women wear scarves?\",\n  \"why are there humans on earth?\",\n  \"why is there crisis in syria?\",\n  \"why are there no fireflies in utah?\",\n  \"why is bzip2 so slow?\",\n  \"why is the zloty so weak?\",\n  \"why do laptops get so hot?\",\n  \"why do mp4 videos play slow?\",\n  \"why are ipads good for school?\",\n  \"why are there different oil weights?\",\n  \"why are there alot of filipino nurses?\",\n  \"why is there boric acid in eye drops?\",\n  \"why is there phillips and flathead?\",\n  \"why is there deserts?\",\n  \"why do cvs testing?\",\n  \"why is there malnutrition in india?\",\n  \"why is zoey mad at bill?\",\n  \"why is perseverance important for a biologist?\",\n  \"why is yngwie malmsteen selling guitars?\",\n  \"why is there tension between pakistan and india?\",\n  \"why x is greater than xq?\",\n  \"why is ivory valuable in china?\",\n  \"why is aj lee crazy?\",\n  \"why do oligopolies exist list five?\",\n  \"why is ethical behavior important?\",\n  \"why is there egypt unrest?\",\n  \"why are unions bad?\",\n  \"why do opiates make it hard to urinate?\",\n  \"why is fx not on dish network anymore?\",\n  \"why are there many japanese in brazil?\",\n  \"why do junkies like sugar?\",\n  \"why is cci ammo out of stock?\",\n  \"why are avocados good for you?\",\n  \"why do xeons cost so much?\",\n  \"why is pink lemonade pink?\",\n  \"why is roche stock going up?\",\n  \"why is ttl important?\",\n  \"why are gt characters so weak?\",\n  \"why are there hunger strikes in guantanamo?\",\n  \"why is there dna in mitochondria?\",\n  \"why is wps light red?\",\n  \"why are uranus rings sideways?\",\n  \"why is pcr useful?\",\n  \"why do jobs do credit checks?\",\n  \"why are there no men in hr?\",\n  \"why is one of my eyes red?\",\n  \"why is there no identity for subtraction?\",\n  \"why do btec business?\",\n  \"why are there so many nguyen?\",\n  \"why is pee yellow?\",\n  \"why is https slower than http?\",\n  \"why is vnc laggy?\",\n  \"why do unborn babies kick?\",\n  \"why is hso4 not a good nucleophile?\",\n  \"why are elections held?\",\n  \"why is gdp a monetary measure?\",\n  \"why are there blue ribbons in paramus nj?\",\n  \"why do people like tmz?\",\n  \"why is there pepper in hyper fx?\",\n  \"why is ulysses s grant important?\",\n  \"why are there no treaties in bc?\",\n  \"why are mma gyms so expensive?\",\n  \"why is there job growth in texas?\",\n  \"why are river logs so valuable?\",\n  \"why are kyle and kim fighting?\",\n  \"why are jt paintballs banned?\",\n  \"why do you need gb for ps3?\",\n  \"why is kbb lower than nada?\",\n  \"why are there nine innings in baseball?\",\n  \"why are there ticks in my house?\",\n  \"why are patriots wearing mhk?\",\n  \"why is zn(oh)2 amphoteric?\",\n  \"why do axolotls float?\",\n  \"why is education important?\",\n  \"why are there no impact craters on the surface of io?\",\n  \"why is rc4 weak?\",\n  \"why is there the same scream in every movie?\",\n  \"why is there gnats in my plant?\",\n  \"why is xenon called the alien?\",\n  \"why is islam wrong?\",\n  \"why do nzers hate quade cooper?\",\n  \"why is there a rfid chip in passports?\",\n  \"why is flint michigan so bad?\",\n  \"why is there naloxone in suboxone?\",\n  \"why is own not on directv?\",\n  \"why is kuaiyong not working?\",\n  \"why do ketones cause acidosis?\",\n  \"why are there obelisks everywhere?\",\n  \"why is there holes in electrical plugs?\",\n  \"why do glaciers look blue?\",\n  \"why are flags at half mast today california?\",\n  \"why do dlp chips go bad?\",\n  \"why is there jelly in my poo?\",\n  \"why do small planes crash more?\",\n  \"why is there life on other planets?\",\n  \"why is gif pronounced jif?\",\n  \"why is nhl 13 so hard?\",\n  \"why is there gst on tampons?\",\n  \"why is tesla so expensive?\",\n  \"why do oxygen molecules leave the blood?\",\n  \"why is mmtc falling?\",\n  \"why is snowden in trouble?\",\n  \"why is planning important in marketing?\",\n  \"why is qe good for gold?\",\n  \"why do zombies moan?\",\n  \"why is snot green?\",\n  \"why are there odd and even numbers?\",\n  \"why are wyoming flags at half mast today?\",\n  \"why is state of decay rated m?\",\n  \"why are there olympians without country?\",\n  \"why is pfizer a good investment?\",\n  \"why are there jaw bones in rothwell?\",\n  \"why iframes are a bad idea?\",\n  \"why are there nfl replacement refs?\",\n  \"why is breaking bad so good?\",\n  \"why is efficiency important to business owners?\",\n  \"why are quasars called quasi-stellar?\",\n  \"why is pot bad for you?\",\n  \"why are utis worse at night?\",\n  \"why do you want to be a teacher?\",\n  \"why is fertilizer so explosive?\",\n  \"why do people like cgi?\",\n  \"why are ky flags at half mast?\",\n  \"why do hormones change?\",\n  \"why is ttl faster than cmos?\",\n  \"why is there oxygen at the bottom of the ocean?\",\n  \"why is eoc bad?\",\n  \"why is psych ending?\",\n  \"why do europeans like soccer?\",\n  \"why is ehic not free?\",\n  \"why are there cowboys fans in dc?\",\n  \"why is there an astronaut on the ohio quarter?\",\n  \"why do styes form?\",\n  \"why is yahoo so liberal?\",\n  \"why is tutoring important?\",\n  \"why are people against hs2?\",\n  \"why do people like pf changs?\",\n  \"why are there so many colleges in ohio?\",\n  \"why do people hate eric wynalda?\",\n  \"why are ribosomes important?\",\n  \"why do i sweat so much?\",\n  \"why are idiots popular?\",\n  \"why is there an umbra and penumbra in an eclipse?\",\n  \"why are swedish people blonde?\",\n  \"why do hd channels freeze?\",\n  \"why is fdi important?\",\n  \"why is there bitter taste in my mouth?\",\n  \"why are dna bases different sizes?\",\n  \"why is there no cure for hsv?\",\n  \"why is rsa encryption secure?\",\n  \"why is there always an awkward silence?\",\n  \"why is there apartheid in south africa?\",\n  \"why are msg bad for you?\",\n  \"why is rf values used?\",\n  \"why is mdina called the silent city?\",\n  \"why is rc snubber ckt used?\",\n  \"why is there yellow in my poop?\",\n  \"why do people ddos minecraft?\",\n  \"why is there no gchat app?\",\n  \"why is homosexuality not a mental disorder?\",\n  \"why are there empty seats at the london olympics?\",\n  \"why is kyra sedgwick leaving the closer?\",\n  \"why is ahri so weak?\",\n  \"why is ipad slow on wifi?\",\n  \"why are there rfid chips in credit cards?\",\n  \"why is there boogers in your nose?\",\n  \"why are there helicopters over hollywood?\",\n  \"why do puppies cry?\",\n  \"why are there orbs in my videos?\",\n  \"why do turtles carry salmonella?\",\n  \"why is there legislation covering ohs?\",\n  \"why is there a red line through https on facebook?\",\n  \"why is there xenophobia?\",\n  \"why do i yawn so much?\",\n  \"why is there red in my egg?\",\n  \"why do rpms drop?\",\n  \"why are there missing episodes on hulu?\",\n  \"why is there a nevada day?\",\n  \"why do klingons in tos look different?\",\n  \"why is xenoblade chronicles so expensive?\",\n  \"why is there blood in the uterus?\",\n  \"why is there easter eggs?\",\n  \"why are msi laptops so cheap?\",\n  \"why is jk rowling an entrepreneur?\",\n  \"why is there premature ejaculation?\",\n  \"why are there nitrogen tanks in nyc?\",\n  \"why are nsaids contraindicated in asthma?\",\n  \"why are axis called x and y?\",\n  \"why are siblings so different?\",\n  \"why is nrl starting on thursday?\",\n  \"why is there extra fabric in women underwear?\",\n  \"why are russians good at math?\",\n  \"why is oobleck a colloid?\",\n  \"why is vshare not downloading?\",\n  \"why is gd and cl called skydragon?\",\n  \"why are plants suitable for genetic engineering?\",\n  \"why is nd playing in chicago?\",\n  \"why is kscn used in iodometry?\",\n  \"why is srs light on in honda civic?\",\n  \"why are there cheerleaders?\",\n  \"why do ncaa footballs have stripes?\",\n  \"why is there physical water scarcity?\",\n  \"why is iyengar yoga different?\",\n  \"why is pizza called pizza?\",\n  \"why are kettlebells so expensive?\",\n  \"why are equipotential lines perpendicular?\",\n  \"why is there kosher food?\",\n  \"why is there legal size paper?\",\n  \"why do cnidarians have tentacles?\",\n  \"why is there fear?\",\n  \"why do hdtvs look fake?\",\n  \"why is there dry skin on my feet?\",\n  \"why is tv so popular?\",\n  \"why is islam so violent?\",\n  \"why are the ikes crossed out?\",\n  \"why is there no kung fu in ufc?\",\n  \"why do two iexplore exe open?\",\n  \"why is there electricity in zombieland?\",\n  \"why is xdm illegal in california?\",\n  \"why do people stutter?\",\n  \"why is nguyen a popular last name?\",\n  \"why are there chinooks over london?\",\n  \"why is there wealth inequality?\",\n  \"why is mft so large?\",\n  \"why are there six jurors in the zimmerman case?\",\n  \"why is there shia and sunni?\",\n  \"why are there refugees from somalia?\",\n  \"why are there no taxes on ryanair?\",\n  \"why are oceans salty?\",\n  \"why are leo men mean?\",\n  \"why do hpge detectors need to be cooled?\",\n  \"why is zimmerman on trial?\",\n  \"why is oedipus guilty?\",\n  \"why is eisenhower important?\",\n  \"why are ikea kitchens cheap?\",\n  \"why do flamingos stand on one leg?\",\n  \"why is dwight d. eisenhower important?\",\n  \"why do identical twins happen?\",\n  \"why is nh4no3 ionic?\",\n  \"why do ankles crack?\",\n  \"why is gentrification bad?\",\n  \"why are rental cars so expensive?\",\n  \"why is lying a sin?\",\n  \"why are there bodies on mt everest?\",\n  \"why are gymnosperms naked seed plants?\",\n  \"why is there autotune in some nights?\",\n  \"why are ie9 tabs yellow?\",\n  \"why is og kush called og kush?\",\n  \"why are there oxygen masks on planes?\",\n  \"why are my pimples oozing?\",\n  \"why is 1420 mhz forbidden?\",\n  \"why is cgmp important?\",\n  \"why is iwo jima called sulfur island?\",\n  \"why do i get cgi-bin/redirect.ha?\",\n  \"why are there no kadabra cards?\",\n  \"why do identical twins have different personalities?\",\n  \"why are there landmines in cambodia?\",\n  \"why is lg going down?\",\n  \"why are old growth forests important?\",\n  \"why is putin such a badass?\",\n  \"why are umpires not called referees?\",\n  \"why are transitions important in writing?\",\n  \"why are there locks on bridges in paris?\",\n  \"why is nme called nme?\",\n  \"why do eyes have color?\",\n  \"why is there a delay on my xbox?\",\n  \"why is owen wilson famous?\",\n  \"why do gcse music?\",\n  \"why are there tolls on bridges?\",\n  \"why are water towers so high?\",\n  \"why do people like ubuntu?\",\n  \"why do hdmi cables stop working?\",\n  \"why is there suffering if god loves us?\",\n  \"why are ivanko weights so expensive?\",\n  \"why is there a need for gst?\",\n  \"why is smoking weed bad for you?\",\n  \"why is js bach so famous?\",\n  \"why is gnma going down?\",\n  \"why are there food deserts?\",\n  \"why is there foam on my plants?\",\n  \"why do guys get boners in the morning?\",\n  \"why are there air spaces in the spongy mesophyll?\",\n  \"why is wheat bad for you?\",\n  \"why are there purple boxes hanging from trees?\",\n  \"why are unicorns not called unihorns?\",\n  \"why are ice baths good?\",\n  \"why is there electricity in the brain?\",\n  \"why are twin studies important?\",\n  \"why is ugolino in hell?\",\n  \"why are there volcanoes on the west coast of canada?\",\n  \"why do apps crash on ipod?\",\n  \"why are there tensions between india and pakistan?\",\n  \"why is there volatility skew?\",\n  \"why is there eye colors?\",\n  \"why do i want dd wrt?\",\n  \"why are aye ayes endangered?\",\n  \"why are there computer viruses yahoo answers?\",\n  \"why are babies so cute?\",\n  \"why is there a system of research ethics review?\",\n  \"why are there air spaces in leaves?\",\n  \"why are there few basements in oklahoma?\",\n  \"why is muir beach closed?\",\n  \"why is there space between lyons and spakowski?\",\n  \"why do plants need oxygen?\",\n  \"why do chest pt?\",\n  \"why are there school shootings?\",\n  \"why are rhubarb leaves toxic?\",\n  \"why is there no game on cbs?\",\n  \"why are smart people weird?\",\n  \"why is mblaq underrated?\",\n  \"why are there accents in french?\",\n  \"why is there karma?\",\n  \"why is ohio flat?\",\n  \"why do athletes use anabolic steroids?\",\n  \"why is there tsp in cereal?\",\n  \"why is there a worm in tequila?\",\n  \"why are calico cats always female?\",\n  \"why is littering bad?\",\n  \"why are fast swimming fish fusiform?\",\n  \"why is eutrophication bad?\",\n  \"why do dvds skip?\",\n  \"why is wasabi green?\",\n  \"why are there hydrogen bonds in dna?\",\n  \"why is dying your hair bad?\",\n  \"why are there rna primers in dna replication?\",\n  \"why are the smurfs rated pg?\",\n  \"why is there a zit in my ear?\",\n  \"why is illegal downloading bad?\",\n  \"why is there not a pokemon mmo?\",\n  \"why are there rules in croquet math worksheet answers?\",\n  \"why is espn so biased?\",\n  \"why is there red dots on my legs?\",\n  \"why are there no 7 11 in nc?\",\n  \"why is zayn afraid of spoons?\",\n  \"why is there symmetry?\",\n  \"why are there epiphytes in the rainforest?\",\n  \"why do tcp retransmissions occur?\",\n  \"why is school so important?\",\n  \"why is there abdominal pain in uti?\",\n  \"why are there puerto ricans in new york?\",\n  \"why is there something rather than nothing?\",\n  \"why is gd after rick ross?\",\n  \"why is fdr the best president?\",\n  \"why is nra against gun control?\",\n  \"why is mrs. drover in london?\",\n  \"why are dinosaurs extinct?\",\n  \"why is xspeeds down?\",\n  \"why are there bats in my house?\",\n  \"why is dfu mode not working?\",\n  \"why do hickeys form?\",\n  \"why are kindle books so expensive?\",\n  \"why is there suffering in the world?\",\n  \"why are there gorillas in bristol?\",\n  \"why are there empty seats at the french open?\",\n  \"why are vmware snapshots so small?\",\n  \"why is economy important?\",\n  \"why is there 1024 mb in a gb?\",\n  \"why is ulrich zwingli important?\",\n  \"why is odysseus an epic hero?\",\n  \"why are there upper limits to cell size?\",\n  \"why are eukaryotic cells larger?\",\n  \"why is there child obesity?\",\n  \"why are running shoes so expensive?\",\n  \"why do fps players hate snipers?\",\n  \"why are wind turbines bad?\",\n  \"why do hr need to collect data?\",\n  \"why are oxidants bad?\",\n  \"why is wine not vegan?\",\n  \"why are lumber prices dropping?\",\n  \"why is online dating good?\",\n  \"why do mma fighters get staph?\",\n  \"why is nz the best country in the world?\",\n  \"why do critics hate man of steel?\",\n  \"why is ppe important in healthcare?\",\n  \"why is there an obelisk at the vatican?\",\n  \"why is there fluorescein in antifreeze?\",\n  \"why is pandora skipping?\",\n  \"why are the fasb and iasb interested in convergence?\",\n  \"why is svchost.exe so much memory?\",\n  \"why is there lettuce in my poop?\",\n  \"why are rates going up?\",\n  \"why is corn syrup bad for you?\",\n  \"why is cobalion uu?\",\n  \"why are there hate crimes?\",\n  \"why are biomes important?\",\n  \"why do pyroclastic flows happen?\",\n  \"why is there fuzz on peaches?\",\n  \"why do oxygen levels drop?\",\n  \"why is kordell divorcing porsha?\",\n  \"why do tyres blew out?\",\n  \"why are upside down forks better?\",\n  \"why are pla and pga renewable?\",\n  \"why do people love sf?\",\n  \"why is gsp called rush?\",\n  \"why is there bad people in the world?\",\n  \"why do aquarius men lose interest?\",\n  \"why are opiates bad for you?\",\n  \"why is there iron in fertilizer?\",\n  \"why is raven like a writing desk?\",\n  \"why is there fourth of july?\",\n  \"why do koalas eat eucalyptus leaves?\",\n  \"why is ebay charging me seller fees?\",\n  \"why are there church road signs?\",\n  \"why are there crazy people?\",\n  \"why is there deforestation in brazil?\",\n  \"why is there a lock on my mp3 file?\",\n  \"why are you npo after surgery?\",\n  \"why is floyd mayweather going to jail?\",\n  \"why is nunu banned?\",\n  \"why do economies grow?\",\n  \"why do i need vpn?\",\n  \"why are there slums in india?\",\n  \"why is there double songs on my ipod?\",\n  \"why are there 20 pearls for aka?\",\n  \"why is there abandoned cars in dubai?\",\n  \"why are there double sharps?\",\n  \"why is pygmalion called pygmalion?\",\n  \"why do eels open their mouths?\",\n  \"why is hrithik roshan hospitalised?\",\n  \"why do rn\\\"s make so much?\",\n  \"why is north up?\",\n  \"why do directors use cgi?\",\n  \"why is wcf so hard?\",\n  \"why is pvc toxic?\",\n  \"why is there no ms access for mac?\",\n  \"why do zits hurt so bad?\",\n  \"why do ct scan?\",\n  \"why do snakes eat itself?\",\n  \"why are there four chambers of the heart?\",\n  \"why is there child soldiers in uganda?\",\n  \"why is bf skinner important to psychology?\",\n  \"why are there small ants in my house?\",\n  \"why are there undroppable players in fantasy baseball?\",\n  \"why do dfe visit schools?\",\n  \"why are earwigs called earwigs?\",\n  \"why are europeans so thin?\",\n  \"why is ideology important?\",\n  \"why is there edema in liver cirrhosis?\",\n  \"why is healthcare important?\",\n  \"why is cnn off the air?\",\n  \"why are you join tcs?\",\n  \"why are there three types of rna?\",\n  \"why is there spotting during pregnancy?\",\n  \"why are kansas and arkansas pronounced differently?\",\n  \"why is nyc so expensive?\",\n  \"why are there multiple iexplore?\",\n  \"why is oil change important?\",\n  \"why do only boys get ald?\",\n  \"why are children with kwashiorkor usually listless and inactive?\",\n  \"why is there abuse in nursing homes?\",\n  \"why is switzerland so expensive?\",\n  \"why are there holes in the ozone layer over the poles?\",\n  \"why is khp an acidic salt?\",\n  \"why are there maggots in my compost?\",\n  \"why do ssris make you sleepy?\",\n  \"why is food so expensive?\",\n  \"why are scion tc so cheap?\",\n  \"why are synagogues round?\",\n  \"why do dogs pant?\",\n  \"why is there milk in wine?\",\n  \"why do people say xyz?\",\n  \"why is there pain during periods?\",\n  \"why are rmvb files small?\",\n  \"why is ocean salty?\",\n  \"why do pythons yawn?\",\n  \"why there is kolaveri mp3 download?\",\n  \"why are mormons so nice?\",\n  \"why are there titans inside the wall?\",\n  \"why is oprah so rich?\",\n  \"why is fernando torres wearing a mask?\",\n  \"why is llc best?\",\n  \"why is there wind?\",\n  \"why are lithium ion batteries better?\",\n  \"why do swimmers wear two caps?\",\n  \"why is culture important?\",\n  \"why is kissing so important?\",\n  \"why do plants have xylem?\",\n  \"why are bras so expensive?\",\n  \"why is mucus green?\",\n  \"why is there any other gender?\",\n  \"why do iguanas dig holes?\",\n  \"why is giardia called beaver fever?\",\n  \"why do nfl players get arrested?\",\n  \"why are there no scots in team gb?\",\n  \"why are there abandoned supercars in dubai?\",\n  \"why are vultures important to the ecosystem?\",\n  \"why is usher called usher?\",\n  \"why are there bumps on my nails?\",\n  \"why is there a knot in my stomach?\",\n  \"why is jr smith suspended?\",\n  \"why is mt rushmore there?\",\n  \"why are fog lights yellow?\",\n  \"why is there poverty in ukraine?\",\n  \"why is xolair so expensive?\",\n  \"why are there 7 dwarfs?\",\n  \"why is eminems name eminem?\",\n  \"why do pms occur?\",\n  \"why are mcgriddles so good?\",\n  \"why are ct scans given?\",\n  \"why are there no other intelligent species?\",\n  \"why is there seasons on earth?\",\n  \"why is there no ikea in new zealand?\",\n  \"why are there ads on my fb page?\",\n  \"why are there writers?\",\n  \"why are sdlc important?\",\n  \"why are ffa jackets blue?\",\n  \"why is responsibility important?\",\n  \"why are dvi cables so expensive?\",\n  \"why are there extra lyrics?\",\n  \"why is bora bora so expensive?\",\n  \"why do trade networks arise?\",\n  \"why do klingons look human?\",\n  \"why are gangs formed?\",\n  \"why are ig accounts being deleted?\",\n  \"why is there gherkins in mcdonalds?\",\n  \"why is there so many svchost running?\",\n  \"why is vitamin c important?\",\n  \"why are urinalysis important?\",\n  \"why is there low voter turnout in the us?\",\n  \"why do people dislike cgi?\",\n  \"why is there no king?\",\n  \"why is there no host for the 2011 mmas?\",\n  \"why is title ix unfair?\",\n  \"why is there imperialism?\",\n  \"why is there beef between drake and common?\",\n  \"why is puerto rico a commonwealth?\",\n  \"why is jk rowling a good role model?\",\n  \"why is there poverty in south africa?\",\n  \"why is hvdc used?\",\n  \"why is there ads on my google?\",\n  \"why is there a ring on my xbox game?\",\n  \"why is there skin in my poop?\",\n  \"why are there earwigs?\",\n  \"why is fsu game delayed?\",\n  \"why do i poop so much?\",\n  \"why is league of legends lagging?\",\n  \"why do people use wmv?\",\n  \"why are there lumps on my boxers body?\",\n  \"why is soda cheaper than water?\",\n  \"why do pms cramps hurt?\",\n  \"why do sriracha bottles leak?\",\n  \"why is vuze so slow 2013?\",\n  \"why is there mandatory retirement?\",\n  \"why are tsunamis destructive?\",\n  \"why are cpus usually mounted in a socket?\",\n  \"why are ultrasounds bad?\",\n  \"why is there sugar in my urine?\",\n  \"why is there oxygen in seawater?\",\n  \"why are smart people depressed?\",\n  \"why is there adverts on the bbc website?\",\n  \"why are hdmi cables gold plated?\",\n  \"why is sangan banned?\",\n  \"why is kim kardashian famous?\",\n  \"why do cfcs cause ozone depletion?\",\n  \"why is lh released?\",\n  \"why are there patterns in nature?\",\n  \"why do qbs lick their fingers?\",\n  \"why are tattoos bad?\",\n  \"why are we here?\",\n  \"why is bss segment required?\",\n  \"why are pyramids important?\",\n  \"why is ttyl banned?\",\n  \"why is there only 3 omg girlz?\",\n  \"why is words with friends so slow?\",\n  \"why do humans have hair on head?\",\n  \"why is hal in a wheelchair?\",\n  \"why do pregnant women swell?\",\n  \"why is tna failing?\",\n  \"why is there radiation in bananas?\",\n  \"why are ohlins so good?\",\n  \"why are skin tags formed?\",\n  \"why are ryanair flights so expensive?\",\n  \"why is there rust in my hot water?\",\n  \"why are gps voices female?\",\n  \"why is there japanese bonus tracks?\",\n  \"why is there a lump in my throat?\",\n  \"why is jodi arias on trial?\",\n  \"why is http port 80?\",\n  \"why is ssrs so slow?\",\n  \"why do cells go through mitosis?\",\n  \"why is there mardi gras?\",\n  \"why is there pain?\",\n  \"why are there lines on my hands?\",\n  \"why are there mustaches everywhere?\",\n  \"why are ohio state and michigan rivals?\",\n  \"why is there not a cure for ms?\",\n  \"why is siri called siri?\",\n  \"why are plum skins sour?\",\n  \"why are there rh negative people?\",\n  \"why do lcd displays fade?\",\n  \"why do gtp instead of pgce?\",\n  \"why is mxit bad?\",\n  \"why are oranges segmented?\",\n  \"why is squall called leon?\",\n  \"why do gypsies beg?\",\n  \"why are icebergs blue?\",\n  \"why do jim and karen break up?\",\n  \"why is jonghyun not in why so serious?\",\n  \"why is there traffic on 495 north?\",\n  \"why do unborn babies get hiccups?\",\n  \"why do people use jquery?\",\n  \"why is wti going up?\",\n  \"why are there iguanas on my coffee table?\",\n  \"why is there lunar eclipse?\",\n  \"why are kyra sedgwick\\\"s hands red?\",\n  \"why are there red dots on my thighs?\",\n  \"why do ebooks have errors?\",\n  \"why do we need sfp?\",\n  \"why is dlp better than lcd?\",\n  \"why are there javale mcgee memes?\",\n  \"why is there oxygen?\",\n  \"why is there a lawsuit against jwoww?\",\n  \"why is usc ranked so low?\",\n  \"why do ian hate barbershop pole?\",\n  \"why is iodized salt bad?\",\n  \"why is pgd good?\",\n  \"why are bugs attracted to me?\",\n  \"why are yellow trucks orange?\",\n  \"why is canola oil bad?\",\n  \"why is there glucose in urine?\",\n  \"why is outlook slow?\",\n  \"why is osha training important?\",\n  \"why do employees resist change?\",\n  \"why is there no ff7 remake?\",\n  \"why is ounce oz?\",\n  \"why is there no j street dc?\",\n  \"why are bb guns illegal in australia?\",\n  \"why is europe called europe?\",\n  \"why do headlights fog?\",\n  \"why are pcbs green?\",\n  \"why are there 2 ctrl keys?\",\n  \"why is there no school on mlk day?\",\n  \"why is illuminati bad?\",\n  \"why are there 2 oil prices?\",\n  \"why is india so dirty?\",\n  \"why are there olympic trials?\",\n  \"why do juveniles commit crimes?\",\n  \"why is aetna leaving california?\",\n  \"why do iphone chargers break?\",\n  \"why is there spam on my facebook?\",\n  \"why do pvc plastics gradually deteriorate?\",\n  \"why is idvd so slow?\",\n  \"why is there an eyeball on the dollar bill?\",\n  \"why are there us troops in south korea?\",\n  \"why is there no nhl on espn america?\",\n  \"why do ie tabs turn yellow?\",\n  \"why are tncs good?\",\n  \"why are dugongs important?\",\n  \"why do you need jtag?\",\n  \"why are there efforts to explore space?\",\n  \"why is hd better?\",\n  \"why are venus and earth alike?\",\n  \"why is imperialism bad?\",\n  \"why is ireland so green?\",\n  \"why are cctv cameras good?\",\n  \"why is ie6 so bad?\",\n  \"why is there an oak branch on the dime?\",\n  \"why do eels jump out of tanks?\",\n  \"why is there immigration going on the us?\",\n  \"why are wrx so fast?\",\n  \"why do gba games not save?\",\n  \"why is weed bad for your health?\",\n  \"why do my pvcs come and go?\",\n  \"why are dwarf stars difficult to find?\",\n  \"why are crunches bad?\",\n  \"why is awd good?\",\n  \"why is urban sprawl a problem?\",\n  \"why are there pink dolphins?\",\n  \"why is zimmerman guilty?\",\n  \"why is fabby the gatekeeper?\",\n  \"why is there improved sanitation in developing countries?\",\n  \"why are there fiscal years?\",\n  \"why are there zombies in call of duty?\",\n  \"why is there no iphone 4s in stock?\",\n  \"why is odysseus hesitant to sleep in the woods?\",\n  \"why are bf3 updates so big?\",\n  \"why is there aluminum in baking powder?\",\n  \"why is air canada so expensive?\",\n  \"why is msg?\",\n  \"why is there christmas?\",\n  \"why is there bill of rights?\",\n  \"why is crime legal in the purge?\",\n  \"why is there tsp in cheerios?\",\n  \"why is there evil fyodor dostoevsky summary?\",\n  \"why are glocks so good?\",\n  \"why is there obesity epidemic?\",\n  \"why are khmer so dark?\",\n  \"why is there iron in guinness?\",\n  \"why are there only 5 trophic levels?\",\n  \"why do smoke detectors beep?\",\n  \"why are there atoms?\",\n  \"why is ng tube inserted?\",\n  \"why is xylem tissue important?\",\n  \"why are there egg hunts on easter?\",\n  \"why do khalsa sikhs belong to sikhism?\",\n  \"why do transformers rated in kva?\",\n  \"why are there aurora borealis?\",\n  \"why is the nwu blue?\",\n  \"why is alignment important in iyengar yoga?\",\n  \"why is naruto so popular?\",\n  \"why do companies dba?\",\n  \"why are bs standards important?\",\n  \"why is there peace?\",\n  \"why is school bad?\",\n  \"why are abs made in the kitchen?\",\n  \"why is there woodlice in my house?\",\n  \"why are there fewer births on weekends?\",\n  \"why are dvds still around?\",\n  \"why do air dusters get cold?\",\n  \"why are koreans so mean?\",\n  \"why is there plastic ball in guinness beer?\",\n  \"why is cdma better than gsm?\",\n  \"why is marriage important?\",\n  \"why are there no kids in gta?\",\n  \"why do nsaids raise blood pressure?\",\n  \"why do heels always look?\",\n  \"why is spirit airlines so cheap?\",\n  \"why is xbox live not free?\",\n  \"why are owls thought to be wise?\",\n  \"why is alanine predominantly zwitterionic?\",\n  \"why is ted rated r?\",\n  \"why is eharmony down today?\",\n  \"why are there reruns on tv in october?\",\n  \"why is there no xbox emulator?\",\n  \"why is math so hard?\",\n  \"why are filipinos nurses?\",\n  \"why are justin hammers hands orange?\",\n  \"why is there no ikea in the philippines?\",\n  \"why do djs talk over songs?\",\n  \"why is there an invoice on ebay?\",\n  \"why is water important?\",\n  \"why is cp greater than cv?\",\n  \"why are bt so expensive?\",\n  \"why do ice baths help?\",\n  \"why is there bows on candy crush?\",\n  \"why is pdx the abbreviation for portland?\",\n  \"why are there humans?\",\n  \"why are there no r4 cards on ebay?\",\n  \"why are there waves in the sea?\",\n  \"why do people use iweb?\",\n  \"why are there crows in my backyard?\",\n  \"why are symmetrical faces attractive?\",\n  \"why do i need ftp client?\",\n  \"why are there two fma series?\",\n  \"why do psychopaths stare?\",\n  \"why is salt bad for you?\",\n  \"why are fuels useful?\",\n  \"why is there heaven and hell?\",\n  \"why do i need tls?\",\n  \"why do identical twins have different fingerprints?\",\n  \"why is zloty falling?\",\n  \"why are there hidden messages in songs?\",\n  \"why are there apps saying waiting?\",\n  \"why is cmyk so dull?\",\n  \"why are there llamas in peru?\",\n  \"why are there tsunamis?\",\n  \"why do turtles have shells?\",\n  \"why are there ecosystems?\",\n  \"why are there bonus tracks on cds?\",\n  \"why is aj pierzynski hated?\",\n  \"why is there a star on my bb?\",\n  \"why are there clones in the old republic?\",\n  \"why is red bull bad for you?\",\n  \"why is kanye west so angry?\",\n  \"why are there kirkwood gaps?\",\n  \"why is gsm better than cdma?\",\n  \"why are jr eyebrows so long?\",\n  \"why are some k\\\"s backwards in baseball?\",\n  \"why is fmu best?\",\n  \"why do oakland a\\\"s have an elephant?\",\n  \"why are there metal racks in microwaves?\",\n  \"why are families important to individuals?\",\n  \"why is ndtv imagine closing?\",\n  \"why is dzhokhar?\",\n  \"why do people type xd?\",\n  \"why do ezio and desmond look different?\",\n  \"why do gnats swarm me?\",\n  \"why do nds roms not work?\",\n  \"why are lcd soundsystem breaking up?\",\n  \"why are there byes in football?\",\n  \"why are ryvitas good for you?\",\n  \"why are there 2 nba teams in la?\",\n  \"why are invasive species bad?\",\n  \"why do firms prefer fdi to licensing?\",\n  \"why are lumbar punctures performed?\",\n  \"why are btecs equivalent to gcse?\",\n  \"why are there extraneous solutions?\",\n  \"why do cells need to divide?\",\n  \"why is everything cgi?\",\n  \"why are oem parts so expensive?\",\n  \"why are quotas an example of protectionism weegy?\",\n  \"why do pimples ooze?\",\n  \"why are psychics fake?\",\n  \"why is there weight loss in addison disease?\",\n  \"why are there no more trips to the moon?\",\n  \"why is msn asking me to sign in?\",\n  \"why is awesome good and awful bad?\",\n  \"why is hf stronger than h2o?\",\n  \"why are synthetic drugs legal?\",\n  \"why is there no tylenol on the shelves 2012?\",\n  \"why is xperia z waterproof?\",\n  \"why do we pray ks1?\",\n  \"why is kumon bad?\",\n  \"why is there gravity on earth and not in space?\",\n  \"why is there school dress codes?\",\n  \"why is it called boxing day?\",\n  \"why are the bf3 beta servers down?\",\n  \"why is there two cyber sub?\",\n  \"why is there economic diversity?\",\n  \"why is baseball so boring?\",\n  \"why are feet so gross?\",\n  \"why do pho have numbers?\",\n  \"why is there jokers in a deck of cards?\",\n  \"why are antibodies important to adaptive immunity?\",\n  \"why are josh and anna moving?\",\n  \"why is love so complicated?\",\n  \"why is there silverfish in my bedroom?\",\n  \"why are there ups and downs in a relationship?\",\n  \"why are there so many vps at banks?\",\n  \"why is there no madden for pc?\",\n  \"why do ezekial cheever and marshal herrick arrive?\",\n  \"why is osmotic pressure important?\",\n  \"why do pvcs occur?\",\n  \"why is there a mount rushmore?\",\n  \"why are there roaches on my porch?\",\n  \"why is there aids in africa?\",\n  \"why do italian teams wear blue?\",\n  \"why do glasses cost so much?\",\n  \"why are there ice machines in hotels?\",\n  \"why is there free xbox live?\",\n  \"why are placebos used in nrt trials?\",\n  \"why is there illegal immigration from mexico?\",\n  \"why do economists use models?\",\n  \"why is nh2 a strong activator?\",\n  \"why is epic called epic?\",\n  \"why are kylie and rob so close?\",\n  \"why do pregnant women get rls?\",\n  \"why are reflexes important?\",\n  \"why is there no dylan on youtube?\",\n  \"why do klingons have ridges?\",\n  \"why is there regulation d?\",\n  \"why do you like uc davis?\",\n  \"why are people against the lgbt community?\",\n  \"why are mmo players such jerks?\",\n  \"why do rca?\",\n  \"why is outsourcing bad for america?\",\n  \"why are there irish jokes?\",\n  \"why is there volcanic activity in hawaii?\",\n  \"why are spiders so creepy?\",\n  \"why do two year olds hit?\",\n  \"why are there canals in florida?\",\n  \"why is mbo important?\",\n  \"why do we use gdp?\",\n  \"why are bfbc2 servers down?\",\n  \"why are dna bases hydrophobic?\",\n  \"why are there sky bison in korra?\",\n  \"why is there fever in pneumonia?\",\n  \"why is there egypt protest?\",\n  \"why are there olympics every 4 years?\",\n  \"why are there dead roaches in my house?\",\n  \"why are there accents in spanish?\",\n  \"why are sea turtles endangered?\",\n  \"why do feet swell when pregnancy?\",\n  \"why are there no b batteries?\",\n  \"why is identity thief not in redbox?\",\n  \"why is it used to note reactions?\",\n  \"why are cgi movies so expensive?\",\n  \"why is rct good?\",\n  \"why are atoms neutral?\",\n  \"why are azo dyes color?\",\n  \"why are there ionic bonds in sodium chloride?\",\n  \"why are there mushrooms growing in my lawn?\",\n  \"why is bbt down?\",\n  \"why is rdio free?\",\n  \"why are napkins called napkins?\",\n  \"why is there a ul for niacin?\",\n  \"why are there question marks on snapchat?\",\n  \"why is there war yahoo?\",\n  \"why are patients npo prior to surgery?\",\n  \"why do dsl filters go bad?\",\n  \"why are pythons in florida?\",\n  \"why are my images 72 dpi?\",\n  \"why do oak trees shed bark?\",\n  \"why are giant pandas endangered?\",\n  \"why is pg county ghetto?\",\n  \"why is there jet streams?\",\n  \"why do wildebeest migrate?\",\n  \"why is db negative?\",\n  \"why do zebras have stripes joke?\",\n  \"why is there ads on my facebook timeline?\",\n  \"why is there a need for ifrs?\",\n  \"why do people like x factor?\",\n  \"why are crabs boiled alive?\",\n  \"why is eifs bad?\",\n  \"why is only one nostril clogged?\",\n  \"why is oop important?\",\n  \"why is there an outbreak of bedbugs?\",\n  \"why is wpf so hard?\",\n  \"why are oysters served on ice?\",\n  \"why is dust gray?\",\n  \"why is there youtube?\",\n  \"why are md flags at half mast?\",\n  \"why are jordans called breds?\",\n  \"why is nram svr so high?\",\n  \"why is there gunk on my tongue?\",\n  \"why are xrays important?\",\n  \"why is there an odd color jersey in volleyball?\",\n  \"why is lte faster?\",\n  \"why is there heavy emphasis on jesus as a teacher?\",\n  \"why is public transportation important?\",\n  \"why is there islamic terrorism?\",\n  \"why are rcmp uniforms red?\",\n  \"why are there road tolls?\",\n  \"why is russia supporting syria?\",\n  \"why are blue whales endangered?\",\n  \"why is bc now bce?\",\n  \"why is there freedom of religion?\",\n  \"why are fraternities greek?\",\n  \"why is mma not legal in ny?\",\n  \"why do people hate wp7?\",\n  \"why is there mucus in my poop?\",\n  \"why is there ovulation pain?\",\n  \"why is there felt on the bottom of converse?\",\n  \"why is xml so popular?\",\n  \"why are budgets useful in the planning process?\",\n  \"why is there racial profiling?\",\n  \"why are there bye weeks in fantasy football?\",\n  \"why are there four seasons in a year?\",\n  \"why is tv links not working?\",\n  \"why do engines burn oil?\",\n  \"why is aws bandwidth so expensive?\",\n  \"why is cv important?\",\n  \"why is there no family day in bc?\",\n  \"why isn\\\"t there oxygen in space?\",\n  \"why do knees hurt?\",\n  \"why is jay leno leaving?\",\n  \"why is there no more nike sb?\",\n  \"why is there an owned bed in breezehome?\",\n  \"why are there three coffee beans in a sambuca?\",\n  \"why do zercher squats?\",\n  \"why are simpsons yellow?\",\n  \"why do people build ezreal ad?\",\n  \"why is there little greenhouse effect on mars today?\",\n  \"why is cereal bad for you?\",\n  \"why are there so many oil spills?\",\n  \"why is mt rainier so dangerous?\",\n  \"why is there sand on ttc streetcars?\",\n  \"why is ubuntu 12.04 so slow?\",\n  \"why do i live in nj?\",\n  \"why is jk rowling a good author?\",\n  \"why are stars different colors?\",\n  \"why is bbq bad for you?\",\n  \"why do scorpio men cheat?\",\n  \"why are hydrogen bonds so strong?\",\n  \"why is there two iexplore exe running?\",\n  \"why is mfa a terminal degree?\",\n  \"why is salad good for you?\",\n  \"why is yasiel puig number 66?\",\n  \"why is there gunk in my eye?\",\n  \"why are mmos so addicting?\",\n  \"why is wmplayer always running?\",\n  \"why do muscles get sore?\",\n  \"why are there clots during period?\",\n  \"why is transformers prime ending?\",\n  \"why is axl rose so angry?\",\n  \"why is there echo on skype?\",\n  \"why are there nutrition labels?\",\n  \"why is efficiency important?\",\n  \"why are there outlet stores?\",\n  \"why is there an ulcer in my mouth?\",\n  \"why are utilities going down?\",\n  \"why do dragons like gold?\",\n  \"why are djarums illegal?\",\n  \"why is grass green?\",\n  \"why is nj transit delays today?\",\n  \"why are there giant flies in my house?\",\n  \"why are there two rough riders in the cfl?\",\n  \"why do you cc?\",\n  \"why is nylon considered a polymer?\",\n  \"why are zuca bags so expensive?\",\n  \"why do we have the nra?\",\n  \"why is gnosticism a heresy?\",\n  \"why do foxes scream?\",\n  \"why do pgp keys disable?\",\n  \"why is there a slash between cvs and pharmacy?\",\n  \"why are there wto protests?\",\n  \"why is iis prompting for credentials?\",\n  \"why is there no sound on cnn?\",\n  \"why are there dots on my balls?\",\n  \"why do knees lock?\",\n  \"why do zombies eat brains?\",\n  \"why is umbilical cord clamped?\",\n  \"why is football called football?\",\n  \"why is hydrogen set apart by itself?\",\n  \"why do i by joe purdy lyrics?\",\n  \"why is history abbreviation hx?\",\n  \"why do we register dll?\",\n  \"why is there aurora borealis?\",\n  \"why do people oppose sb 1070?\",\n  \"why is there no gb football team?\",\n  \"why are education costs rising?\",\n  \"why do knees crack when bending?\",\n  \"why is vmware converter so slow?\",\n  \"why is michel\\\"le voice like that?\",\n  \"why do agents wear sunglasses?\",\n  \"why are there upper and lower limits to cell size?\",\n  \"why is there an h in bhoys?\",\n  \"why is there no man utd app?\",\n  \"why are rift servers locked?\",\n  \"why is there jaundice in leptospirosis?\",\n  \"why is ecology important?\",\n  \"why are north koreans starving?\",\n  \"why is there smog in china?\",\n  \"why is sgt pepper a concept album?\",\n  \"why are there huge spiders in my house?\",\n  \"why are eyes blue?\",\n  \"why is hwy 80 closed?\",\n  \"why do gnats fly in groups?\",\n  \"why are there purple potatoes?\",\n  \"why is there a tsunami warning in hawaii?\",\n  \"why is there traffic on this road?\",\n  \"why are hearts shaped the way they are?\",\n  \"why is dsl slower than cable?\",\n  \"why do escalators have brushes?\",\n  \"why is dcuo down?\",\n  \"why do kundalini yogis wear turbans?\",\n  \"why is wyoming so square?\",\n  \"why is gdp important?\",\n  \"why do xylophones make sound?\",\n  \"why are there no lpn jobs?\",\n  \"why is utilitarianism good?\",\n  \"why are databases important to business?\",\n  \"why is there no byes in week 10?\",\n  \"why do zangoose and seviper fight?\",\n  \"why is tobacco bad?\",\n  \"why is sleeping after eating bad?\",\n  \"why is ww1 important?\",\n  \"why is there foam in the ocean?\",\n  \"why do ear gauges stink?\",\n  \"why do cuts itch?\",\n  \"why are the flags at half mast?\",\n  \"why is nuclear power bad?\",\n  \"why is edward snowden in hong kong?\",\n  \"why are bhi plates selective for fungi?\",\n  \"why are bylaws important?\",\n  \"why are pitbulls illegal?\",\n  \"why are plane tickets so expensive?\",\n  \"why are farts stinky?\",\n  \"why do boys stare?\",\n  \"why is sustainable development important?\",\n  \"why do guys get morning wood?\",\n  \"why do heavier objects fall faster?\",\n  \"why do i have so much discharge?\",\n  \"why do earthquakes happen?\",\n  \"why is jquery better than javascript?\",\n  \"why do sycamore trees shed?\",\n  \"why is xsellize not working?\",\n  \"why do queen ants have wings?\",\n  \"why is bape so expensive?\",\n  \"why is underwear important?\",\n  \"why are men sleepy after ejaculation?\",\n  \"why are there symbols in the bible?\",\n  \"why do i need jre?\",\n  \"why are there turkey riots?\",\n  \"why is ergonomics important?\",\n  \"why are honeybees important?\",\n  \"why are puppy mills bad?\",\n  \"why are dvi kvms so expensive?\",\n  \"why is matt smith leaving dr who?\",\n  \"why is vw jetta so cheap?\",\n  \"why are books banned?\",\n  \"why is sr-90 hazardous to people?\",\n  \"why is fire hot?\",\n  \"why is aaron hernandez in trouble?\",\n  \"why is hollister so dark?\",\n  \"why is sbs not working in perth?\",\n  \"why are iguanas good pets?\",\n  \"why is pdo better?\",\n  \"why is owning better than renting?\",\n  \"why do kittens bite?\",\n  \"why is there lines when i print?\",\n  \"why is there a giant bean in chicago?\",\n  \"why is ike davis so bad?\",\n  \"why are there no good pc games?\",\n  \"why do i need dfs?\",\n  \"why are vpns slow?\",\n  \"why is ftp insecure?\",\n  \"why is technology good?\",\n  \"why are aye ayes bad luck?\",\n  \"why is ozone important?\",\n  \"why are avocados berries?\",\n  \"why are beer bellies hard?\",\n  \"why is there ice on my ac?\",\n  \"why is fps so popular?\",\n  \"why is iphone backup so large?\",\n  \"why are veterans unemployed?\",\n  \"why are ng tubes placed?\",\n  \"why is nmr in ppm?\",\n  \"why are there different lyrics to music of the night?\",\n  \"why are sea lions dying?\",\n  \"why are ebay sales slow?\",\n  \"why do iphone 5 cables break?\",\n  \"why are vga cables blue?\",\n  \"why are there itchy bumps on my face?\",\n  \"why are there miranda rights?\",\n  \"why is there k in cmyk?\",\n  \"why is rss important?\",\n  \"why do dyslexics have poor memory?\",\n  \"why do flies land on people?\",\n  \"why is there traffic on 95 south?\",\n  \"why is nz so good at rugby?\",\n  \"why is there cramping after ivf?\",\n  \"why do lobsters have to be cooked alive?\",\n  \"why is fptp fair?\",\n  \"why do we use jtag?\",\n  \"why is wps suspended?\",\n  \"why are urban legends told?\",\n  \"why do eggs hurt my stomach?\",\n  \"why are there zombies in red dead redemption?\",\n  \"why do hp computers break down?\",\n  \"why do uterine polyps form?\",\n  \"why is imvu not working?\",\n  \"why is ll cool j bald?\",\n  \"why is there depression?\",\n  \"why are there different dvd regions?\",\n  \"why is rdw high?\",\n  \"why are kangaroos so buff?\",\n  \"why do ice cubes shrink?\",\n  \"why do avocados get stringy?\",\n  \"why is man of steel rated pg-13?\",\n  \"why is pvc bad?\",\n  \"why are abs so hard to train?\",\n  \"why is tm related to base composition?\",\n  \"why is there no audio in after effects?\",\n  \"why is imessage so slow?\",\n  \"why are ajanta and ellora caves famous?\",\n  \"why do apps keep crashing?\",\n  \"why do we need mdm?\",\n  \"why is there bpa in cans?\",\n  \"why do oysters give me diarrhea?\",\n  \"why is mpn test qualitative?\",\n  \"why is my hvac freezing up?\",\n  \"why is there salt in gatorade?\",\n  \"why is cnn bad?\",\n  \"why do natural disasters happen?\",\n  \"why are there frogs in my garden?\",\n  \"why is zero an even number?\",\n  \"why do companies practice price discrimination?\",\n  \"why is love so hard?\",\n  \"why are there cockroaches?\",\n  \"why is km important?\",\n  \"why is there philosophy?\",\n  \"why are ui frameworks single threaded?\",\n  \"why is furan aromatic?\",\n  \"why is okcupid down?\",\n  \"why is mhairi pronounced vari?\",\n  \"why is skype charging me?\",\n  \"why is bgp needed?\",\n  \"why are there sharps containers in restrooms?\",\n  \"why do deer flies bite?\",\n  \"why is zora\\\"s domain still frozen?\",\n  \"why are women attracted to men?\",\n  \"why are effects pedals so expensive?\",\n  \"why are nz plants and animals unique?\",\n  \"why are all new cars fwd?\",\n  \"why is there no nfl this week?\",\n  \"why is dprk democratic?\",\n  \"why is there anything yale?\",\n  \"why is uwe boll still making movies?\",\n  \"why are xlsx files so big?\",\n  \"why is there an nl and al?\",\n  \"why are grains bad for you?\",\n  \"why are there x\\\"s in the sky?\",\n  \"why is pgd done?\",\n  \"why do they make fwd?\",\n  \"why are flights so expensive right now?\",\n  \"why are the ajanta caves famous?\",\n  \"why do people hate cj wilson?\",\n  \"why do bats sleep upside down?\",\n  \"why is squarespace so slow?\",\n  \"why is ff7 so popular?\",\n  \"why are lga babies at risk for hypoglycemia?\",\n  \"why do an mfa in creative writing?\",\n  \"why is ppsspp slow?\",\n  \"why is yahoo mail so slow?\",\n  \"why are there centipedes in my shower?\",\n  \"why are there obligate anaerobes?\",\n  \"why are btus important?\",\n  \"why do ferrets smell?\",\n  \"why is fb bad?\",\n  \"why do hcl hno3 show acidic?\",\n  \"why do away teams wear gray?\",\n  \"why are emergency rooms so expensive?\",\n  \"why is there iodine in salt?\",\n  \"why ewoks are awesome?\",\n  \"why is youtube lagging?\",\n  \"why is byakuya so cold?\",\n  \"why is there less gravity in space?\",\n  \"why do birds chirp at night?\",\n  \"why are there byes in espn fantasy baseball?\",\n  \"why are there eggs at easter?\",\n  \"why is obamacare bad?\",\n  \"why are guns so expensive?\",\n  \"why do bpr fail?\",\n  \"why is oedipus looking for the murderer of laius?\",\n  \"why do pyramids exist?\",\n  \"why is fish not considered meat?\",\n  \"why are there zoos?\",\n  \"why is eharmony site down?\",\n  \"why is olives good for you?\",\n  \"why is blood considered a connective tissue?\",\n  \"why is rsync skipping directory?\",\n  \"why are nuclear power plants good?\",\n  \"why are xml documents useful with java?\",\n  \"why is ginseng so valuable?\",\n  \"why is there little crime in japan?\",\n  \"why do bpds act like children?\",\n  \"why is there different seasons on earth?\",\n  \"why is tcp/ip divided into layers?\",\n  \"why is eeyore depressed?\",\n  \"why do ninja turtles wear masks?\",\n  \"why is cellulose important?\",\n  \"why is starbucks so cold?\",\n  \"why are zack and cody on a boat?\",\n  \"why do mbas make better ceos?\",\n  \"why do blind people wear sunglasses?\",\n  \"why is zno called an amphoteric oxide?\",\n  \"why is cfo excluded from 162(m)?\",\n  \"why do nuns wear habits?\",\n  \"why are there religions?\",\n  \"why is monsanto evil?\",\n  \"why is hemp illegal?\",\n  \"why is fiber important in your diet?\",\n  \"why do dvds look bad on hdtv?\",\n  \"why is weight loss so hard?\",\n  \"why is there ozone depletion?\",\n  \"why is ultraviolet radiation harmful?\",\n  \"why are people lgbt?\",\n  \"why is eminem so angry?\",\n  \"why is future famous?\",\n  \"why are there acids in soda?\",\n  \"why do tna?\",\n  \"why is vwap used?\",\n  \"why are mres illegal?\",\n  \"why are hot springs hot?\",\n  \"why is there chevrolet and gmc?\",\n  \"why are the women in kweilin?\",\n  \"why is there maple syrup in the lemonade diet?\",\n  \"why is skarner underplayed?\",\n  \"why are there captchas?\",\n  \"why are there age limits on games?\",\n  \"why is isoroku yamamoto famous?\",\n  \"why are x and y used in algebra?\",\n  \"why do cnidarians have stinging cells?\",\n  \"why is there gas in my oil lawn mower?\",\n  \"why is ng tube used?\",\n  \"why is zac op?\",\n  \"why is btc going down?\",\n  \"why is bhutan so happy?\",\n  \"why is sb1070 unconstitutional?\",\n  \"why do oysters make pearls?\",\n  \"why are yeast a unique fungi?\",\n  \"why is othello insecure?\",\n  \"why is nrem important?\",\n  \"why is there mucus in stool?\",\n  \"why do gps satellites vary in orbit?\",\n  \"why is anime so popular?\",\n  \"why is aerosol flammable?\",\n  \"why is genetically modified food bad?\",\n  \"why is there frost on my ac unit?\",\n  \"why is there nystagmus in internuclear ophthalmoplegia?\",\n  \"why are mncs criticized?\",\n  \"why do earrings smell?\",\n  \"why is there illuminati on money?\",\n  \"why do hazel eyes change color?\",\n  \"why is there bubbles in the fish tank?\",\n  \"why is syria important?\",\n  \"why is gold going down?\",\n  \"why are there syria protests?\",\n  \"why is there ocean pressure?\",\n  \"why are there so many cheaters in bf3?\",\n  \"why are farts funny?\",\n  \"why is twerking so popular yahoo?\",\n  \"why are ignorant people loud?\",\n  \"why are enzymes necessary?\",\n  \"why are sd cards so cheap?\",\n  \"why are there rhinos all over southampton?\",\n  \"why are grapes good for you?\",\n  \"why is there no more sgu?\",\n  \"why is teamwork so important?\",\n  \"why do lymph glands swell?\",\n  \"why are there abusive relationships?\",\n  \"why are hr metrics important?\",\n  \"why do cbd suffer from decline?\",\n  \"why are cd4 cells so important?\",\n  \"why is there skin in my urine?\",\n  \"why is there no gmail widget?\",\n  \"why are there glaciers in new zealand?\",\n  \"why are there pyramids in egypt and mexico?\",\n  \"why do video games freeze?\",\n  \"why is mfc used?\",\n  \"why are you there in french?\",\n  \"why do cfls contain mercury?\",\n  \"why are igneous rocks hard?\",\n  \"why are there school yahoo?\",\n  \"why are katanas so sharp?\",\n  \"why is uranus on its side?\",\n  \"why is it so hot?\",\n  \"why is there fighting in africa?\",\n  \"why do we use bs 8888?\",\n  \"why do ghosts appear at night?\",\n  \"why are wildfires good?\",\n  \"why are acrylic nails bad?\",\n  \"why are there slugs in my shower?\",\n  \"why are lloyds shares rising?\",\n  \"why is xom falling?\",\n  \"why is izual back?\",\n  \"why are there two ny football teams?\",\n  \"why are sunglasses polarized?\",\n  \"why do girls wear makeup?\",\n  \"why do a tps reset?\",\n  \"why is poseidon angry with odysseus?\",\n  \"why is there dvd-r and dvd+r?\",\n  \"why do farts smell worse in water?\",\n  \"why do people hate td bank?\",\n  \"why are there ducks in the cadillac symbol?\",\n  \"why are albums called lp?\",\n  \"why is dmt bad for you?\",\n  \"why are there so many castles along the rhine?\",\n  \"why is there no hdmi signal?\",\n  \"why is physical fitness important?\",\n  \"why is there cc in email?\",\n  \"why is there a 3 in bw3\\\"s?\",\n  \"why is geico so cheap?\",\n  \"why do volkswagen bugs float?\",\n  \"why are kenyans so fast?\",\n  \"why are oxygen levels measured in mmhg?\",\n  \"why do shirts have collars?\",\n  \"why is there economic inequality in all societies?\",\n  \"why was there lynching?\",\n  \"why are there typhoons in japan?\",\n  \"why do pms symptoms change each month?\",\n  \"why do owls have big eyes?\",\n  \"why is gpa important in high school?\",\n  \"why is there echo on my computer?\",\n  \"why are there quilts on barns?\",\n  \"why do we need dna?\",\n  \"why is mlp popular?\",\n  \"why do side effects occur?\",\n  \"why is there no season 2 of awake?\",\n  \"why there are no escalators in government buildings?\",\n  \"why are cigarettes called squares?\",\n  \"why is finding a job so hard?\",\n  \"why are there global wind patterns?\",\n  \"why are there women preachers?\",\n  \"why is gmo food good?\",\n  \"why are nuts healthy?\",\n  \"why do people hate kmart?\",\n  \"why are there no dwarves in tamriel?\",\n  \"why are valves important?\",\n  \"why are there so many stink bugs in nj?\",\n  \"why are there orange bikes in sherwood park?\",\n  \"why are reits down?\",\n  \"why are there no female djs?\",\n  \"why is there a . ds_store on my desktop?\",\n  \"why do the x men fight the avengers?\",\n  \"why are equal opportunities important in society?\",\n  \"why is there a owl on the dollar?\",\n  \"why is there nitrate in my fish tank?\",\n  \"why is rna editing necessary?\",\n  \"why is gsm important?\",\n  \"why is my better for veg?\",\n  \"why is rhyme important in poetry?\",\n  \"why do vitamins make me sick?\",\n  \"why are there oxymorons in romeo and juliet?\",\n  \"why is tumblr so popular?\",\n  \"why is uganda a developing country?\",\n  \"why do epsom salts help?\",\n  \"why is there an e in la noire?\",\n  \"why is xfinity tv so slow?\",\n  \"why is coconut water good for you?\",\n  \"why do psychopaths lie?\",\n  \"why are oysters bad for you?\",\n  \"why is synthetic fabric called synthetic?\",\n  \"why are led lights better?\",\n  \"why is year round school a good idea?\",\n  \"why is there a line on my lcd tv?\",\n  \"why is there alimony?\",\n  \"why is ifunny down?\",\n  \"why is ovulation so painful?\",\n  \"why is berkeley called cal?\",\n  \"why is there iron in tap water?\",\n  \"why is mmd so slow?\",\n  \"why are zeiss lenses so expensive?\",\n  \"why is there a dragon on the welsh flag?\",\n  \"why do i need rvm?\",\n  \"why are there actually relatively?\",\n  \"why is hno3 a strong electrolyte?\",\n  \"why is there arabic on a pringles can?\",\n  \"why are you doing pgdm?\",\n  \"why are there oasis in the desert?\",\n  \"why is there less gun violence in canada?\",\n  \"why do iranians call themselves persians?\",\n  \"why is nds4droid so slow?\",\n  \"why is there extra time in soccer?\",\n  \"why are musicians so arrogant?\",\n  \"why are jp chenet bottles wonky?\",\n  \"why is fort. sumter important?\",\n  \"why are there owls on top of buildings?\",\n  \"why is there a flag on my oovoo?\",\n  \"why are opiates addictive?\",\n  \"why are xylem cells dead at maturity?\",\n  \"why is nsa website illuminati backwards?\",\n  \"why is fms calling me?\",\n  \"why do i hate myself?\",\n  \"why do khmer hate thai?\",\n  \"why is lundqvist called the king?\",\n  \"why is there gender equality?\",\n  \"why is xtremewrestlingtorrents down?\",\n  \"why are patients npo after surgery?\",\n  \"why are devs leaving xda?\",\n  \"why is there a crab in my oyster?\",\n  \"why are ethics important in business?\",\n  \"why is act 4 important in macbeth?\",\n  \"why is xkcd popular?\",\n  \"why are websites blocked in uae?\",\n  \"why is israel at war?\",\n  \"why do road grader wheels tilt?\",\n  \"why do nsaids exacerbate asthma?\",\n  \"why is aamrq going up?\",\n  \"why is sweating good?\",\n  \"why is gfci tripping?\",\n  \"why is there no avenue q?\",\n  \"why do koreans have chinese names?\",\n  \"why is your poop green?\",\n  \"why is xbox one better than ps4?\",\n  \"why are there dragons in every culture?\",\n  \"why is he hot and cold?\",\n  \"why do opiates constipate you?\",\n  \"why do celebrate eid ul adha?\",\n  \"why is fb chat not working?\",\n  \"why is there nfc and afc?\",\n  \"why are some people loners?\",\n  \"why is eric mad at pam?\",\n  \"why are women so insecure?\",\n  \"why are there so few gmail themes?\",\n  \"why are there ads on my bbm?\",\n  \"why is gta 4 so laggy?\",\n  \"why is youtube down?\",\n  \"why are abyssal plains flat?\",\n  \"why is klout important?\",\n  \"why are gmos important?\",\n  \"why are there pairs of chromosomes?\",\n  \"why is there frost in the freezer?\",\n  \"why are pc sales down?\",\n  \"why is there tax on ebooks?\",\n  \"why aren\\\"t i getting pregnant?\",\n  \"why are there flowers in vw beetles?\",\n  \"why are nsf fees so high?\",\n  \"why is izual in d3?\",\n  \"why are hummingbird feeders red?\",\n  \"why is venus called venus?\",\n  \"why do breakups hurt?\",\n  \"why do my bf and i fight so much?\",\n  \"why is there no 4th avenue in nyc?\",\n  \"why is there holes in donuts?\",\n  \"why do mosquitoes exist?\",\n  \"why are nsaids bad for your stomach?\",\n  \"why is og niki famous?\",\n  \"why are nfl contracts not guaranteed?\",\n  \"why are tyrosinases important to humankind?\",\n  \"why are cherries so expensive 2013?\",\n  \"why do change efforts fail in organizations?\",\n  \"why are lhd cars so expensive?\",\n  \"why do our cells need oxygen?\",\n  \"why are ouija boards dangerous?\",\n  \"why do sri lankans come to australia?\",\n  \"why are there irregular plurals?\",\n  \"why are outlets upside down?\",\n  \"why is ivory expensive?\",\n  \"why is there swelling behind my ear?\",\n  \"why is ff8 bad?\",\n  \"why is there hyperphosphatemia in chronic renal failure?\",\n  \"why is tmobile cheaper than verizon?\",\n  \"why do objects appear a certain color?\",\n  \"why are episodes available on mtv?\",\n  \"why is tmobile cheaper?\",\n  \"why do twin flames meet?\",\n  \"why is poverty a problem?\",\n  \"why is cgpersia down?\",\n  \"why is there wrestling on syfy?\",\n  \"why do umpires change baseballs?\",\n  \"why are rf values used in chromatography?\",\n  \"why do sugar gliders bark?\",\n  \"why do mris cost so much?\",\n  \"why is yeast bad for you?\",\n  \"why is there clicking in my ear?\",\n  \"why is there blood in my flem?\",\n  \"why is islam violent?\",\n  \"why is wunderlist so slow?\",\n  \"why are there 24 gps satellites?\",\n  \"why is there civil war in syria?\",\n  \"why is there 16 oz in a pound?\",\n  \"why is there a knot under my chin?\",\n  \"why is whole grain better?\",\n  \"why is there traffic in san francisco?\",\n  \"why do people ahh after drinking?\",\n  \"why is nym angry with pistol?\",\n  \"why is mad men so popular?\",\n  \"why are there villages in minecraft?\",\n  \"why are there circles in area 51?\",\n  \"why is paypal safe?\",\n  \"why do fsh levels fluctuate?\",\n  \"why are auroras different colors?\",\n  \"why are mp4 files smaller than avi?\",\n  \"why is there shadows?\",\n  \"why is cgi animation so popular?\",\n  \"why are witches green?\",\n  \"why are bugs drawn to light?\",\n  \"why is valium prescribed?\",\n  \"why are families important?\",\n  \"why are feminists so angry?\",\n  \"why is there tape on nascar tires?\",\n  \"why are drug addicts so selfish?\",\n  \"why do customers leave?\",\n  \"why are twitch streams lagging?\",\n  \"why do syrians have blue eyes?\",\n  \"why is there romance in every movie?\",\n  \"why is zeus so powerful?\",\n  \"why is npr considered liberal?\",\n  \"why are there ads on my twitter timeline?\",\n  \"why is there crack in the liberty bell?\",\n  \"why is there apap in vicodin?\",\n  \"why is there english in kpop?\",\n  \"why is there negative pressure in the lungs?\",\n  \"why is there physics on the mcat?\",\n  \"why are there wet spots on my carpet?\",\n  \"why are nz houses so cold?\",\n  \"why is person of interest not on demand?\",\n  \"why are pv cells so expensive?\",\n  \"why is nfl football called football?\",\n  \"why is there jokes about demba ba?\",\n  \"why are dbsk fans called cassie\\\"s?\",\n  \"why are there cities?\",\n  \"why do they call jwoww?\",\n  \"why is eos so addicting?\",\n  \"why are there nine supreme court judges?\",\n  \"why are epic poems important?\",\n  \"why is there nothing in wyoming?\",\n  \"why do hd videos lag?\",\n  \"why are takis so good?\",\n  \"why are idml files so small?\",\n  \"why we are using jstl?\",\n  \"why is hypertension hard on the heart?\",\n  \"why is hno3 an acid?\",\n  \"why are there abridged books?\",\n  \"why is there a need for ias 17?\",\n  \"why is there expiration date on bottled water?\",\n  \"why is utah the beehive state?\",\n  \"why is nursing research important?\",\n  \"why do ups drivers only turn right?\",\n  \"why are vietnamese people so loud?\",\n  \"why is lh produced?\",\n  \"why are kansas soils so fertile?\",\n  \"why is there valves in the heart?\",\n  \"why is vuze not searching properly?\",\n  \"why do svp do what they do?\",\n  \"why do i awake with a headache?\",\n  \"why do ebooks have less pages?\",\n  \"why do airplanes fly?\",\n  \"why is rwd faster than fwd?\",\n  \"why are there jokes about chuck norris?\",\n  \"why are there eyes on my words with friends?\",\n  \"why do bpd recycle?\",\n  \"why do people hate quote?\",\n  \"why do bbm contacts disappear?\",\n  \"why is there so much filler in dbz?\",\n  \"why are there multiple dns servers?\",\n  \"why is there civil unrest in brazil?\",\n  \"why is piers morgan in america?\",\n  \"why are there new fivers?\",\n  \"why is teamwork important?\",\n  \"why are there ads on facebook now?\",\n  \"why do psychologists study illusions?\",\n  \"why do europeans love soccer?\",\n  \"why are drift nets a problem?\",\n  \"why is there a pyramid on the american dollar bill?\",\n  \"why is there americium in smoke detectors?\",\n  \"why is there a multiplier effect?\",\n  \"why is nbc off air?\",\n  \"why do people hate jk rowling?\",\n  \"why are there period cramps?\",\n  \"why are dmv people rude?\",\n  \"why is there no dislike button on fb?\",\n  \"why are koreans so good at starcraft?\",\n  \"why is cbr4 nonpolar?\",\n  \"why do ducks wag their tail?\",\n  \"why are our tears salty?\",\n  \"why is there so many svchost?\",\n  \"why is bmw z8 so expensive?\",\n  \"why are eritreans light skinned?\",\n  \"why is there duplicates in my itunes?\",\n  \"why are wobbuffet and wynaut uber?\",\n  \"why is there little erosion on mercury\\\"s surface?\",\n  \"why is rmvb popular?\",\n  \"why are there slugs on my house?\",\n  \"why do fsh levels increase after menopause?\",\n  \"why do redheads smell bad?\",\n  \"why is iphone screen dark?\",\n  \"why are there guns?\",\n  \"why is hunting bad?\",\n  \"why are there so many dvd regions?\",\n  \"why the wm3 are innocent?\",\n  \"why are nectarines good for you?\",\n  \"why are eels considered fish?\",\n  \"why is pounds abbreviated lbs?\",\n  \"why do xoxo mean hugs and kisses?\",\n  \"why are there gmos?\",\n  \"why are nctm standards important?\",\n  \"why is overpopulation a problem?\",\n  \"why is mhz important?\",\n  \"why is tenderloin dangerous?\",\n  \"why are there american troops in germany?\",\n  \"why is easter celebrated?\",\n  \"why is nursing important?\",\n  \"why are there so many somalis in ohio?\",\n  \"why are brewers wearing gv?\",\n  \"why are there latvian jokes?\",\n  \"why are there colored dots on food packaging?\",\n  \"why are wasps so mean?\",\n  \"why are lps better than cds?\",\n  \"why are job applications so long?\",\n  \"why are ovarian cysts painful?\",\n  \"why do burns blister?\",\n  \"why is there an s on kik?\",\n  \"why do xylem have thick walls?\",\n  \"why is oedipus a tragedy?\",\n  \"why are you tired after ejaculating?\",\n  \"why is khan mad at kirk?\",\n  \"why are nba jerseys so long?\",\n  \"why is oedipus king of thebes?\",\n  \"why is ct so expensive?\",\n  \"why do children wet the bed?\",\n  \"why are russians so smart?\",\n  \"why is ivory soap different?\",\n  \"why are ships named after women?\",\n  \"why do ibanez use basswood?\",\n  \"why is cs lewis important?\",\n  \"why is age structure important?\",\n  \"why do braces hurt?\",\n  \"why are jpeg file sizes different?\",\n  \"why is there an occupy wall street protest?\",\n  \"why is there hyperreflexia in preeclampsia?\",\n  \"why do nations go to war?\",\n  \"why is xenoblade so rare?\",\n  \"why is dwayne johnson so big?\",\n  \"why is there fighting in rwanda?\",\n  \"why is there traffic on 101 north?\",\n  \"why are msds prepared?\",\n  \"why do gps refer?\",\n  \"why are there irs delays?\",\n  \"why is akali so op?\",\n  \"why is there epinephrine in local anesthetic?\",\n  \"why is there a lymph node in my breast?\",\n  \"why do sunburns make you tired?\",\n  \"why are mkv so quiet?\",\n  \"why is there fruit flies in my house?\",\n  \"why is there dyslipidemia in renal failure?\",\n  \"why is tinder so slow?\",\n  \"why is there bad if god is good?\",\n  \"why are there double yolk eggs?\",\n  \"why are there 9 oscar nominees?\",\n  \"why is segregation bad?\",\n  \"why are there funerals?\",\n  \"why do junior and rowdy climb the tree?\",\n  \"why is ejaculation good?\",\n  \"why do qbs have green sticker on helmet?\",\n  \"why is nra calling?\",\n  \"why is dhoni silent?\",\n  \"why are hydrocarbons important?\",\n  \"why are recruiters so useless?\",\n  \"why are there laws of nature?\",\n  \"why is oxygen important in cellular respiration?\",\n  \"why are there carrabba\\\"s commercials in california?\",\n  \"why are there so many aquatic ecdysozoans?\",\n  \"why is odd future satanic?\",\n  \"why is stock market so high?\",\n  \"why is uniqlo so cheap?\",\n  \"why are multiple svchost running?\",\n  \"why is there feminism?\",\n  \"why do seasons change?\",\n  \"why do we use ng tubes?\",\n  \"why is civic participation important?\",\n  \"why do oranges make me poop?\",\n  \"why is federal reserve independent?\",\n  \"why is there uranium in depression glass?\",\n  \"why is there tenure?\",\n  \"why are igloos warm inside?\",\n  \"why is roast beef shiny?\",\n  \"why is ucsd a good school?\",\n  \"why is there mercury in light bulbs?\",\n  \"why do oakleys cost so much?\",\n  \"why are there gnats in my car?\",\n  \"why do aerosol cans come with the warning?\",\n  \"why is there air in my pool filter?\",\n  \"why is there no row i in theatres?\",\n  \"why do ivf embryos split?\",\n  \"why is acacia clark famous?\",\n  \"why are there ethnic groups?\",\n  \"why is there homosexuality in nature?\",\n  \"why are there heat waves?\",\n  \"why is ca the golden state?\",\n  \"why is wc3 so hard?\",\n  \"why are leo men so controlling?\",\n  \"why is mt etna there?\",\n  \"why are evil people smart?\",\n  \"why do i have multiple vmdk files?\",\n  \"why is idra a douche?\",\n  \"why are xbox one games £90?\",\n  \"why do guys?\",\n  \"why are there so many captchas on omegle?\",\n  \"why is there an hourglass on ebay?\",\n  \"why are there open nets in hockey?\",\n  \"why are there watchers on ebay?\",\n  \"why do wrestlers bleach their hair?\",\n  \"why is there ghosting on my monitor?\",\n  \"why do ewes reject lambs?\",\n  \"why are there hairs in your nose?\",\n  \"why is there a space between lyons and sp?\",\n  \"why is there economic crisis in europe?\",\n  \"why do drill instructors talk funny?\",\n  \"why is there us military in japan?\",\n  \"why are voting machines used?\",\n  \"why are there any koalas in western australia?\",\n  \"why are ngos opposed to mncs?\",\n  \"why is there a dd size?\",\n  \"why is there euvolemic in siadh?\",\n  \"why is art so expensive?\",\n  \"why is there health and safety?\",\n  \"why are nris returning to india?\",\n  \"why do mncs invest in developing countries?\",\n  \"why is tv good for people?\",\n  \"why is there thymine in dna?\",\n  \"why is there roaches in my house?\",\n  \"why is cfa so difficult?\",\n  \"why are there certain people on the side of your facebook?\",\n  \"why is krishna blue?\",\n  \"why do ikea cabinets have legs?\",\n  \"why do people use pgd?\",\n  \"why do managers use cvp analysis?\",\n  \"why is there ice on mercury?\",\n  \"why are lymph nodes removed?\",\n  \"why is nvidia better than amd?\",\n  \"why is wwe pg?\",\n  \"why do wives cheat on their husbands?\",\n  \"why is there extended hours trading?\",\n  \"why are my oestrogen levels high?\",\n  \"why do only fools and horses work?\",\n  \"why is hno3 a strong oxidizing agent?\",\n  \"why do sunburns radiate heat?\",\n  \"why are jcps schools closed?\",\n  \"why are aquariums so expensive?\",\n  \"why are hipsters so annoying?\",\n  \"why is ayers rock important?\",\n  \"why are there jokes about scalabrine?\",\n  \"why is there no rock on mtv?\",\n  \"why is nicki minaj a judge on american idol?\",\n  \"why are dykes called dykes?\",\n  \"why do i get bt fon?\",\n  \"why are there no casinos in tx?\",\n  \"why do deaf people sound different?\",\n  \"why is rsync slow?\",\n  \"why is minecraft offline?\",\n  \"why is karl marx remembered?\",\n  \"why is there feedback on skype?\",\n  \"why do i need dha?\",\n  \"why is florida so hot?\",\n  \"why are texas flags at half mast today?\",\n  \"why are there currents?\",\n  \"why are there x\\\"s on my unemployment?\",\n  \"why are there rules?\",\n  \"why do cds reflect rainbow colors?\",\n  \"why is jennifer aniston so hot?\",\n  \"why is ethernet light blinking?\",\n  \"why is mhr important?\",\n  \"why are ibs symptoms worse in the morning?\",\n  \"why do ions form bonds?\",\n  \"why are there banned yugioh cards?\",\n  \"why is there currently no king of england?\",\n  \"why is ppf bowed outward?\",\n  \"why are manatees endangered?\",\n  \"why is there no skype for bb?\",\n  \"why is office 2013 streaming?\",\n  \"why is hr important to an organization?\",\n  \"why is there seasons?\",\n  \"why is ddr2 memory so expensive?\",\n  \"why is arrowhead water gross?\",\n  \"why is iggy pop crooked?\",\n  \"why do we say xoxo?\",\n  \"why are transformers rated in kva rather kw?\",\n  \"why are there ionic impurities in tap water?\",\n  \"why do moles form?\",\n  \"why do tsunamis occur in the ring of fire?\",\n  \"why is there fuzz on a tennis ball answer?\",\n  \"why are cicadas bad?\",\n  \"why is it colder if there\\\"s global warming?\",\n  \"why do iphones delete contacts?\",\n  \"why are people left handed?\",\n  \"why is the cg of a baseball bat not?\",\n  \"why do companies pay dividends?\",\n  \"why are there plastic coffins in georgia?\",\n  \"why are jpegs used on websites?\",\n  \"why is oral health important?\",\n  \"why are there prostitutes?\",\n  \"why are wmv files so large?\",\n  \"why are there no episodes of house?\",\n  \"why is number 5 important?\",\n  \"why do people buy rvs?\",\n  \"why do gyms have contracts?\",\n  \"why are jin ling illegal?\",\n  \"why are ketones bad?\",\n  \"why is yeast used in bread?\",\n  \"why are nosebleed seats called that?\",\n  \"why is it so hard to get a job?\",\n  \"why is egypt important?\",\n  \"why is there xp in minecraft?\",\n  \"why is gfwl so bad?\",\n  \"why are there bhutanese refugees in nepal?\",\n  \"why is there not a catcher in the rye movie?\",\n  \"why are bce and ce used?\",\n  \"why is there canada day?\",\n  \"why do i have high lh levels?\",\n  \"why is there blood in my vomit?\",\n  \"why are there turkish protests?\",\n  \"why are eyes red?\",\n  \"why are there koreans in wcs america?\",\n  \"why are there placebo birth control pills?\",\n  \"why are animals important?\",\n  \"why are tp drivers more expensive?\",\n  \"why are public schools better?\",\n  \"why is there terrorism in ireland?\",\n  \"why is there always blood in my nose?\",\n  \"why are there electrolytes in sports drinks?\",\n  \"why are ryanair successful?\",\n  \"why are there key signatures?\",\n  \"why do uranus and neptune appear bluish?\",\n  \"why iitians do mba?\",\n  \"why are there no lysosomes in plant cells?\",\n  \"why is yuleema imaginee famous?\",\n  \"why is bridesmaids rated r?\",\n  \"why are ultraviolet rays harmful?\",\n  \"why is json lightweight?\",\n  \"why is there english upside down?\",\n  \"why are there nine egwugwu?\",\n  \"why is ddt such a harmful chemical?\",\n  \"why are there arabs in africa?\",\n  \"why is soy bad?\",\n  \"why is there no ssa congruence?\",\n  \"why are wetlands beneficial?\",\n  \"why are there bubbles in urine?\",\n  \"why is organic chemistry so hard?\",\n  \"why are small things cute?\",\n  \"why are turbine blades twisted?\",\n  \"why are there random ads on my computer?\",\n  \"why are green eyes rare?\",\n  \"why do the good die young?\",\n  \"why are there auroras?\",\n  \"why do we use tlc?\",\n  \"why are rdas important?\",\n  \"why are there red dots on my tongue?\",\n  \"why is there no junction 6 on the m27?\",\n  \"why are there alot of flies?\",\n  \"why are used volvos so cheap?\",\n  \"why is oobleck a liquid?\",\n  \"why are there american flags out today?\",\n  \"why are there infinite possible normal distributions?\",\n  \"why are there 8 essential amino acids?\",\n  \"why are djs important?\",\n  \"why are checkpoints used in qtp?\",\n  \"why are jordan shoes so popular?\",\n  \"why are nfl salaries so low?\",\n  \"why do puppies eat grass?\",\n  \"why do ssri cause weight gain?\",\n  \"why is play important?\",\n  \"why are birds so loud in the morning?\",\n  \"why is lpg so expensive 2012?\",\n  \"why are there so many oxidation states?\",\n  \"why is knowing history important?\",\n  \"why do trees oozing sap?\",\n  \"why is there ice at the bottom of my freezer?\",\n  \"why is bsa important?\",\n  \"why do people become lpn?\",\n  \"why is golden gate red?\",\n  \"why are cepheid variables important?\",\n  \"why do mcdonald\\\"s fries last so long?\",\n  \"why are dc shoes good?\",\n  \"why is scott sparks famous?\",\n  \"why is khan academy not working?\",\n  \"why do iguanas open their mouth?\",\n  \"why do dancers throw shoes?\",\n  \"why do married men cheat?\",\n  \"why are french people so rude?\",\n  \"why is work important?\",\n  \"why do mncs outsource?\",\n  \"why do knees hurt after running?\",\n  \"why is there dirt in my well water?\",\n  \"why is lsu called corn dogs?\",\n  \"why is nasa shutting down?\",\n  \"why is there autism?\",\n  \"why is israel attacking syria?\",\n  \"why is there a q in lgbtq?\",\n  \"why do we need wcf service?\",\n  \"why are leopards important?\",\n  \"why is there an odor when i urinate?\",\n  \"why is there no syndol in the shops?\",\n  \"why are hp tablets so cheap?\",\n  \"why are cigarettes so addicting?\",\n  \"why is illidan blind?\",\n  \"why is there no nhl 2k11?\",\n  \"why are cnidarians grouped together?\",\n  \"why is arrested development coming back?\",\n  \"why do opioids cause respiratory depression?\",\n  \"why are there two slashes after http?\",\n  \"why do babies get hiccups?\",\n  \"why is there blood in my stool?\",\n  \"why are ergonomic keyboards better?\",\n  \"why is zimmerman trial a big deal?\",\n  \"why do zucchini plants turn yellow?\",\n  \"why are paddle boards so expensive?\",\n  \"why is pvc bad for kids?\",\n  \"why do sunburns blister?\",\n  \"why is rhetoric useful?\",\n  \"why are there outlets on the ceiling?\",\n  \"why is there so many ignorant people?\",\n  \"why are dslr cameras better?\",\n  \"why is there authority?\",\n  \"why are frogs sensitive to pollutants in water?\",\n  \"why do helicopters fly in circles?\",\n  \"why are pandas so cute?\",\n  \"why is xbox one so bad?\",\n  \"why are parents mean?\",\n  \"why do aerobic enzymes increase?\",\n  \"why is zulily so cheap?\",\n  \"why are there two classes of mhc?\",\n  \"why is klonopin addictive?\",\n  \"why are ikea mattresses so cheap?\",\n  \"why is tupac hiding?\",\n  \"why is hvac so expensive?\",\n  \"why do cigarettes make me tired?\",\n  \"why is ibogaine illegal?\",\n  \"why are akc dogs so expensive?\",\n  \"why is online poker legal?\",\n  \"why are narcissists attracted to me?\",\n  \"why is there humidity in my house?\",\n  \"why is ww2 called the good war?\",\n  \"why are pmags so good?\",\n  \"why is there an ias officer as head of a temple?\",\n  \"why is gta 4 so boring?\",\n  \"why are cvts bad?\",\n  \"why are you still running xp?\",\n  \"why is there a dog in the fdr memorial?\",\n  \"why is there different time zones?\",\n  \"why is messi so good?\",\n  \"why is there pollen?\",\n  \"why are there tcg exclusives?\",\n  \"why are agar plates incubated upside down?\",\n  \"why is number 13 unlucky?\",\n  \"why is there carls jr and hardee\\\"s?\",\n  \"why are there no layers in igneous rock?\",\n  \"why is ccna so hard?\",\n  \"why do tmnt wear masks?\",\n  \"why are nuts so expensive?\",\n  \"why is yeezus album cover blank?\",\n  \"why do animals become extinct?\",\n  \"why is there odor in a yeast infection?\",\n  \"why is there no db8?\",\n  \"why do wasps sting people?\",\n  \"why are there so many sperm in an ejaculation?\",\n  \"why are there yellow spots in my grass?\",\n  \"why are tibetan mastiffs so expensive?\",\n  \"why is vimeo so slow?\",\n  \"why is hf a weak acid?\",\n  \"why are there six candles on the altar?\",\n  \"why do girls wear thongs?\",\n  \"why are gmo banned in europe?\",\n  \"why is pgd bad?\",\n  \"why is iwan rheon leaving misfits?\",\n  \"why is obesity a disease?\",\n  \"why do mri machines make noise?\",\n  \"why is rf important?\",\n  \"why are sweet potatoes so good for you?\",\n  \"why are kiwis good for you?\",\n  \"why do skeletal muscles appear striated?\",\n  \"why is there no zombie mmo?\",\n  \"why is poop green?\",\n  \"why is itunes so slow?\",\n  \"why are oysters good for you?\",\n  \"why are there heads on easter island?\",\n  \"why are snapbacks popular again?\",\n  \"why is beef so expensive?\",\n  \"why is norway so expensive?\",\n  \"why is lake tahoe so blue?\",\n  \"why is there no ak47 in nazi zombies?\",\n  \"why do fools fall in love mp3?\",\n  \"why is there static on my burned cd?\",\n  \"why are there only two genders?\",\n  \"why are vpns widely used?\",\n  \"why is ike name crossed out?\",\n  \"why are ds emulators so slow?\",\n  \"why is there obesity in america?\",\n  \"why are there sales taxes?\",\n  \"why is emma stone so hot?\",\n  \"why are ants important?\",\n  \"why are team gb doing so badly?\",\n  \"why is writing hard?\",\n  \"why are values important nlp?\",\n  \"why are takis bad?\",\n  \"why are there seat belt laws?\",\n  \"why do ibex fight?\",\n  \"why is igoogle ending?\",\n  \"why is nj full service gas?\",\n  \"why is high blood pressure problematic?\",\n  \"why are eyewitnesses unreliable?\",\n  \"why are dvd cases locked?\",\n  \"why do tattoos raise up?\",\n  \"why are mkv files better?\",\n  \"why do ovaries hurt before period?\",\n  \"why do hvac ducts sweat?\",\n  \"why are cars expensive in uae?\",\n  \"why do nj beaches charge?\",\n  \"why is there cramping in early pregnancy?\",\n  \"why is there mesh in bathing suits?\",\n  \"why are ram prices going up?\",\n  \"why do overweight people snore?\",\n  \"why are tigers going extinct?\",\n  \"why do urinary tract infections recur?\",\n  \"why is rpi higher than cpi?\",\n  \"why are there 2 dna?\",\n  \"why is there pain when dying?\",\n  \"why is ncis so blurry?\",\n  \"why are there multiple languages?\",\n  \"why do ppl use #?\",\n  \"why are cell phones called cell phones?\",\n  \"why do ionic compounds form crystals?\",\n  \"why do uk farmers plant poppies?\",\n  \"why is bile not considered an enzyme?\",\n  \"why is there enough religion to incite war?\",\n  \"why are there wicker baskets at merion golf club?\",\n  \"why is lpg stored in liquid form?\",\n  \"why are cctv cameras used?\",\n  \"why are carl\\\"s jr and hardee\\\"s the same?\",\n  \"why is there ohs?\",\n  \"why are there electronics in my passport?\",\n  \"why do pregnant women have morning sickness?\",\n  \"why is there netting in swimming trunks?\",\n  \"why are yankee candles so popular?\",\n  \"why do pms women crave chocolate?\",\n  \"why do bcaa work?\",\n  \"why do axillary lymph nodes swell?\",\n  \"why are us universities so expensive?\",\n  \"why is there ticks?\",\n  \"why do syrians hate israel?\",\n  \"why is there nuclear waste?\",\n  \"why is cbs off the air?\",\n  \"why are equity holders at the bottom of the hierarchy?\",\n  \"why is wordpress good for seo?\",\n  \"why are there 2 iexplore.exe running?\",\n  \"why is there fighting in libya?\",\n  \"why are there races?\",\n  \"why are you applying for this employment opportunity?\",\n  \"why are there dams?\",\n  \"why are dystopian novels so popular?\",\n  \"why is acacia clark hated?\",\n  \"why is cj spiller a wr in madden?\",\n  \"why do tna fans hate wwe?\",\n  \"why do cfls glow?\",\n  \"why is sd card read only?\",\n  \"why are bug bites itchy?\",\n  \"why are diuretic drugs used?\",\n  \"why do video games cause violence?\",\n  \"why do cds get released on tuesdays?\",\n  \"why is jr the leader of nu\\\"est?\",\n  \"why is fsc important?\",\n  \"why are there eight gluons?\",\n  \"why is there lump on testicle?\",\n  \"why is lombard street crooked?\",\n  \"why are there spots on my dlp tv?\",\n  \"why do zebras live in the savanna?\",\n  \"why is there a need for hr?\",\n  \"why is archaeology important?\",\n  \"why are episodes named pilot?\",\n  \"why do cpu\\\"s heat up?\",\n  \"why are boxers tails cut off?\",\n  \"why do nsaids cause bronchospasm?\",\n  \"why is uae rich?\",\n  \"why is valentine\\\"s day celebrated?\",\n  \"why are odd numbers called odd?\",\n  \"why is kyle busch hated?\",\n  \"why are nj drivers so bad?\",\n  \"why do old dogs smell?\",\n  \"why are there yellow fire trucks?\",\n  \"why is dyslexia more common in boys?\",\n  \"why are laboring women npo?\",\n  \"why are no cbs shows on netflix?\",\n  \"why are there memes of drake?\",\n  \"why is rmb undervalued?\",\n  \"why is there a difference to the yields of government bonds?\",\n  \"why are they called wyngz?\",\n  \"why do sea levels rise?\",\n  \"why are there drug laws?\",\n  \"why are there new judges on the voice?\",\n  \"why are there no elites in halo odst?\",\n  \"why is there national debt?\",\n  \"why do hmong live in wisconsin?\",\n  \"why are there iguanas in bad lieutenant?\",\n  \"why is there swelling after liposuction?\",\n  \"why are roller coasters scary?\",\n  \"why are krispy kreme so good?\",\n  \"why do people hate wto?\",\n  \"why is jimmy kimmel not live?\",\n  \"why do puppies whine?\",\n  \"why is there unrest in northern ireland?\",\n  \"why is there iron oxide on mars?\",\n  \"why do yellow flies bite?\",\n  \"why is soy bad for you?\",\n  \"why is there no marvel vs dc?\",\n  \"why is so important?\",\n  \"why is it called d day?\",\n  \"why is imessage waiting for activation?\",\n  \"why do people hate node js?\",\n  \"why do slugs like beer?\",\n  \"why is there no ikea in brazil?\",\n  \"why are there active volcanoes in oregon and washington today?\",\n  \"why are there olives in martinis?\",\n  \"why is yi not viable?\",\n  \"why is there a rivalry between ohio and michigan?\",\n  \"why is love important?\",\n  \"why is vudu not working?\",\n  \"why is there high birth rate?\",\n  \"why are there adverts on tv?\",\n  \"why are there multiple vob files on dvd?\",\n  \"why is there no cure for osteoarthritis?\",\n  \"why are there time zones?\",\n  \"why do animals have whiskers?\",\n  \"why are ssris better than tricyclics?\",\n  \"why do fingernails turn yellow?\",\n  \"why do hookah pens blink?\",\n  \"why do humans need to breathe oxygen?\",\n  \"why is msn not working?\",\n  \"why do dmf fail?\",\n  \"why are there flies in my basement?\",\n  \"why is there no tylenol in stores 2011?\",\n  \"why is dp 10 not for women?\",\n  \"why are jp drains used?\",\n  \"why are pterodactyls dinosaurs?\",\n  \"why is ice blue?\",\n  \"why is yen falling?\",\n  \"why is mdf banned in america?\",\n  \"why is outlook so slow?\",\n  \"why do you cc someone?\",\n  \"why is there magnetism?\",\n  \"why do vpn connection is used?\",\n  \"why do i need cms?\",\n  \"why are episodes missing on netflix?\",\n  \"why are nba tickets so expensive?\",\n  \"why is xbmc not working?\",\n  \"why are osteoclasts multinucleated?\",\n  \"why is zucchini healthy?\",\n  \"why are bhp shares so low?\",\n  \"why are there kids menus?\",\n  \"why is there mhk on patriots jerseys?\",\n  \"why do lucas and peyton leave?\",\n  \"why is there so much cctv in the uk?\",\n  \"why do hospitals want bsn?\",\n  \"why do japanese wear masks?\",\n  \"why is there an award in john muir\\\"s name?\",\n  \"why is there no mlb salary cap?\",\n  \"why are ia and ib codominant?\",\n  \"why are rna molecules chiral?\",\n  \"why is there gravity on earth?\",\n  \"why are xm and sirius still different?\",\n  \"why is wto controversial?\",\n  \"why is uc berkeley called cal?\",\n  \"why tae kwon do?\",\n  \"why do school vs md school?\",\n  \"why is rp so expensive?\",\n  \"why is nz the best place to live?\",\n  \"why do ryanair charge for online check in?\",\n  \"why is pgpr in chocolate?\",\n  \"why are there juvenile delinquents?\",\n  \"why is xbox live better than psn?\",\n  \"why do parents get divorced?\",\n  \"why is acetanilide not basic?\",\n  \"why do kryptonians have powers on earth?\",\n  \"why is fpga used?\",\n  \"why is bbc a reliable source?\",\n  \"why do ezra and aria break up?\",\n  \"why is there hair on corn?\",\n  \"why is urine yellow?\",\n  \"why is aol still charging me?\",\n  \"why is jicama good for you?\",\n  \"why are rpgs so addicting?\",\n  \"why do eyes burn?\",\n  \"why is dwayne johnson bald?\",\n  \"why is stereotyping bad?\",\n  \"why are ozone levels not high in the morning?\",\n  \"why is pdf popular?\",\n  \"why do people visit wyoming?\",\n  \"why do objects have different colors?\",\n  \"why are you my remedy lyrics?\",\n  \"why is there hiv in africa?\",\n  \"why is fn key stuck?\",\n  \"why are there eighteen holes in golf?\",\n  \"why are octopi so smart?\",\n  \"why is there usb ports on my monitor?\",\n  \"why is there no ncaa basketball 2011 game?\",\n  \"why is there easter?\",\n  \"why are mhc polymorphisms important?\",\n  \"why is there ulnar deviation?\",\n  \"why do people play gta?\",\n  \"why are dogs afraid of thunder?\",\n  \"why is there longer days in the summer?\",\n  \"why is twitch so laggy?\",\n  \"why are there ages on pacifiers?\",\n  \"why is json so popular?\",\n  \"why is there smoke in denver?\",\n  \"why are there fontanelles in a neonate\\\"s skull?\",\n  \"why are there squiggly lines?\",\n  \"why is there protests in turkey?\",\n  \"why do rflps result in a dna fingerprint?\",\n  \"why is rain man rated r?\",\n  \"why are diet sodas bad?\",\n  \"why is there egyptian unrest?\",\n  \"why is there a ghost in my photo?\",\n  \"why is bottled water bad?\",\n  \"why are ionic bonds strong?\",\n  \"why is dairy important?\",\n  \"why is there dna in faeces?\",\n  \"why is ftp so slow?\",\n  \"why is emergency 911?\",\n  \"why is normal distribution important?\",\n  \"why is there poverty in the philippines?\",\n  \"why is there edta in shampoo?\",\n  \"why is nj so humid?\",\n  \"why are ib schools good?\",\n  \"why is dzeko benched?\",\n  \"why is softball called softball?\",\n  \"why do nba players wear glasses?\",\n  \"why are there frogs in my backyard?\",\n  \"why do you join sbi?\",\n  \"why do dwarves look the same?\",\n  \"why is there fruit flies in my room?\",\n  \"why are there symbols in books?\",\n  \"why is uml important?\",\n  \"why is kvothe called kingkiller?\",\n  \"why are all uhaul plates arizona?\",\n  \"why is cscope bad?\",\n  \"why do they call it sfo?\",\n  \"why is lssj broly hair blue?\",\n  \"why is sriracha so good?\",\n  \"why is there glue on soda cans?\",\n  \"why are puppies cute?\",\n  \"why is there a zipper on google homepage?\",\n  \"why are bbcor bats so heavy?\",\n  \"why is wuthering heights considered a classic?\",\n  \"why are warm ups important?\",\n  \"why is there ethnic conflict in africa?\",\n  \"why is there asbestos in telstra pits?\",\n  \"why is there a rainbow on a cd?\",\n  \"why is kwl chart important?\",\n  \"why is my vga not working?\",\n  \"why are ajax called ajax?\",\n  \"why are there dead frogs in my pool?\",\n  \"why is there vodka in vodka sauce?\",\n  \"why are ducks yellow?\",\n  \"why do people send fwds?\",\n  \"why do cicadas have red eyes?\",\n  \"why do we say eww?\",\n  \"why is olive garden so good?\",\n  \"why do mps shout here here?\",\n  \"why do ice cubes disappear in the freezer?\",\n  \"why is varus so popular?\",\n  \"why is there never anything good on tv?\",\n  \"why is mtv not working?\",\n  \"why is bsl important?\",\n  \"why are teeth yellow?\",\n  \"why are there so many mcdonald\\\"s in manhattan?\",\n  \"why is there a war in afghanistan?\",\n  \"why is there yellow stuff on my wound?\",\n  \"why is there bile in my stomach?\",\n  \"why are ohio drivers so bad?\",\n  \"why is bwi airport closed?\",\n  \"why is ttc so difficult?\",\n  \"why is nmos pull down?\",\n  \"why is rpi so expensive?\",\n  \"why do yucca leaves turn yellow?\",\n  \"why are there carrots in my jalapenos?\",\n  \"why are gp receptionists so rude?\",\n  \"why do we sing bhajans?\",\n  \"why is there salt in the great salt lake?\",\n  \"why is communism bad?\",\n  \"why are oil prices going up?\",\n  \"why is there an nfl strike?\",\n  \"why is there two kratos in mk9?\",\n  \"why are my nails yellow?\",\n  \"why are dna repair enzymes important?\",\n  \"why do ice baths work?\",\n  \"why is lone ranger pg 13?\",\n  \"why do people say xoxo?\",\n  \"why is there air?\",\n  \"why is rna longer than the protein?\",\n  \"why are plants important to our biosphere?\",\n  \"why is queen elizabeth 1 important?\",\n  \"why are oil spills bad?\",\n  \"why are there errors in experiments?\",\n  \"why are dui checkpoints legal?\",\n  \"why are gypsies so tacky?\",\n  \"why do dme transmitters use vhf?\",\n  \"why are upwellings important to ocean life?\",\n  \"why do xenons need washers?\",\n  \"why are there okazaki fragments?\",\n  \"why do roaches die on their back?\",\n  \"why is hno3 added before agno3?\",\n  \"why do philosophers hate ayn rand?\",\n  \"why is htc one camera only 4mp?\",\n  \"why are cds cheaper than downloads?\",\n  \"why are bb guns illegal?\",\n  \"why is identity thief unrated?\",\n  \"why is sds page run vertically?\",\n  \"why is iwilldominate banned?\",\n  \"why is ed harris so thin?\",\n  \"why do power lines hum?\",\n  \"why are there delays at bwi?\",\n  \"why is aerobic endurance important?\",\n  \"why is there fever in uti?\",\n  \"why do llamas spit?\",\n  \"why is league of legends so popular?\",\n  \"why is there e coli in my urine?\",\n  \"why is it called 7-11?\",\n  \"why are djs on mixtapes?\",\n  \"why are there so many hackers in bf3?\",\n  \"why is tummy time important?\",\n  \"why is ncis shot in soft focus?\",\n  \"why are files in blue xp?\",\n  \"why is rhubarb a vegetable?\",\n  \"why is there any mmorpg on xbox?\",\n  \"why do adults get hiccups?\",\n  \"why are rcts good?\",\n  \"why is there a yugioh ban list?\",\n  \"why is gza called the genius?\",\n  \"why is there ocean tides?\",\n  \"why is raw fish safe to eat?\",\n  \"why are celtics ahead of hawks?\",\n  \"why do new products fail?\",\n  \"why is brazil protesting?\",\n  \"why is rls worse at night?\",\n  \"why is there bleeding after intercourse?\",\n  \"why are options so attractive to companies?\",\n  \"why are there mealworms in my house?\",\n  \"why are there purple marks on my thighs?\",\n  \"why is there no tv icon on my ps3?\",\n  \"why hello there mr belvedere?\",\n  \"why are ssds better?\",\n  \"why are there tuition fees?\",\n  \"why are mnemonic devices effective?\",\n  \"why are pitchers bad at hitting?\",\n  \"why is there dry skin in my ear?\",\n  \"why are police called 5 0?\",\n  \"why are there flowers at funerals?\",\n  \"why is there smoke in utah?\",\n  \"why is there iron in cereal?\",\n  \"why do spiders bite people?\",\n  \"why do universities do research?\",\n  \"why are there wreaths on doors at christmas?\",\n  \"why are there trolls on the internet?\",\n  \"why do unicorns have horns?\",\n  \"why are most plants green?\",\n  \"why are tv shows called pilots?\",\n  \"why is europe flooding?\",\n  \"why is everybody so afraid of love?\",\n  \"why is office 2013 so slow?\",\n  \"why do some people have allergies?\",\n  \"why are fm radio stations odd?\",\n  \"why is lhc so hard?\",\n  \"why do acids react with metals?\",\n  \"why do uk schools have uniforms?\",\n  \"why is there an r in the abbreviation mrs?\",\n  \"why are there nucleotides in the master mix?\",\n  \"why are jockeys small?\",\n  \"why are gps watches so expensive?\",\n  \"why there is js prom?\",\n  \"why do japanese say san?\",\n  \"why are there open primaries?\",\n  \"why do wwe fans boo john cena?\",\n  \"why is uae called the trucial state?\",\n  \"why is rms voltage used?\",\n  \"why do bb guns break?\",\n  \"why is there oil in my intercooler?\",\n  \"why is there epinephrine in lidocaine?\",\n  \"why do tampons leak?\",\n  \"why is aeropostale so expensive?\",\n  \"why are there hashtags?\",\n  \"why are there runts?\",\n  \"why is swimming good for you?\",\n  \"why are uranus and neptune blue?\",\n  \"why is there acne on my cheeks?\",\n  \"why do people hate pt cruisers?\",\n  \"why is ice bad for dogs?\",\n  \"why are there irregular verbs in french?\",\n  \"why is xdm legal in california?\",\n  \"why do mlps generate ubti?\",\n  \"why is iphone hot?\",\n  \"why do kudzu bugs stink?\",\n  \"why is sleep apnea dangerous?\",\n  \"why are unicorns called unicorns?\",\n  \"why are there aeons in ffx 2?\",\n  \"why are nfl players taking adderall?\",\n  \"why is there no cure for the common cold?\",\n  \"why is there egg in meatloaf?\",\n  \"why are echinoderms and chordates grouped together?\",\n  \"why is kten off the air?\",\n  \"why are there locks in the panama canal?\",\n  \"why do we get hiccups?\",\n  \"why do tattoos bleed out?\",\n  \"why is there snake on medical symbol?\",\n  \"why do ebay remove listings?\",\n  \"why are there so many ngos?\",\n  \"why is fun size pg 13?\",\n  \"why are there chuck norris jokes?\",\n  \"why is there 6 rs?\",\n  \"why is fox news so biased?\",\n  \"why is sgu ending?\",\n  \"why do ax men get tuberculosis?\",\n  \"why do cycles sync?\",\n  \"why is there smoke in the okanagan?\",\n  \"why is there endangered species?\",\n  \"why are there empty seats at wimbledon?\",\n  \"why is aol charging me?\",\n  \"why do shooting stars happen?\",\n  \"why is syfy cancelling warehouse 13?\",\n  \"why do syrians say allahu akbar?\",\n  \"why is ibs so painful?\",\n  \"why is ssh better than telnet?\",\n  \"why is eddie off of kickin it?\",\n  \"why is there variation in a population?\",\n  \"why is there afc and nfc?\",\n  \"why are ak 47 so popular?\",\n  \"why do ghost exist?\",\n  \"why is dlna important?\",\n  \"why is there an air quality alert in nj?\",\n  \"why is there not 100 yield?\",\n  \"why is vpn not connecting?\",\n  \"why are htc wildfires so slow?\",\n  \"why is there hyperinflation in zimbabwe?\",\n  \"why are vulcans stronger than humans?\",\n  \"why is there less traffic on fridays?\",\n  \"why does nz do the haka?\",\n  \"why are snapbacks so expensive?\",\n  \"why are there brokers in nyc?\",\n  \"why is there aurora?\",\n  \"why are all fm stations odd?\",\n  \"why are old people so rude?\",\n  \"why is bp different in each arm?\",\n  \"why is there no ideal liquid law?\",\n  \"why is mcdonalds so slow?\",\n  \"why is there no gas in nyc?\",\n  \"why is molly called molly?\",\n  \"why is rwd better than fwd for racing?\",\n  \"why is ktla not on directv?\",\n  \"why do birds sing?\",\n  \"why are house prices rising?\",\n  \"why is vnc in service mode?\",\n  \"why are dsw shoes cheaper?\",\n  \"why do competitive inhibitors increase km?\",\n  \"why are there so many rapes in india?\",\n  \"why are sulfites bad?\",\n  \"why do cysts itch?\",\n  \"why are european cars so small?\",\n  \"why is bruce jenner famous?\",\n  \"why do gcse grade boundaries change?\",\n  \"why do dying stars expand?\",\n  \"why do hcl hno3?\",\n  \"why do i need tdap?\",\n  \"why are audis so cheap?\",\n  \"why are mtv videos not available?\",\n  \"why are mnemonic devices helpful?\",\n  \"why is there hydrogen cyanide in cigarettes?\",\n  \"why are fruits healthy?\",\n  \"why do vga cables have screws?\",\n  \"why is networking important?\",\n  \"why do war veterans become homeless?\",\n  \"why is there a system of classification?\",\n  \"why is obamacare good?\",\n  \"why are there 5 gymnasts instead of 7?\",\n  \"why are there haters?\",\n  \"why is dark chocolate good for you?\",\n  \"why are gps so useless?\",\n  \"why are hd channels delayed?\",\n  \"why do squirrels have tails?\",\n  \"why is the heat rated r?\",\n  \"why do rss feeds fail?\",\n  \"why are there question marks on my facebook?\",\n  \"why are there 6 r\\\"s in one direction?\",\n  \"why is phyllis leaving y and r?\",\n  \"why are azula\\\"s flames blue?\",\n  \"why is srk banned from wankhede?\",\n  \"why are aircraft carriers designated cv?\",\n  \"why are june bugs called june bugs?\",\n  \"why is tsunade afraid of blood?\",\n  \"why do ethiopians have pot bellies?\",\n  \"why are there dots on krillin\\\"s head?\",\n  \"why are mri machines so expensive?\",\n  \"why are lpns being phased out?\",\n  \"why we are using wpf?\",\n  \"why is hulu so slow?\",\n  \"why are there cicadas?\",\n  \"why do earbuds always break?\",\n  \"why do zits get hard?\",\n  \"why is bwi cheaper than dulles?\",\n  \"why is pepto pink?\",\n  \"why is alcohol bad for diabetics?\",\n  \"why are stakeholders important?\",\n  \"why do yugioh cards bend?\",\n  \"why is there acne?\",\n  \"why is hydrogen chloride (hcl) polar?\",\n  \"why are css hacks bad?\",\n  \"why do ppl eat their boogers?\",\n  \"why is agbonlahor so expensive?\",\n  \"why is xylitol bad for you?\",\n  \"why is there an empty room in hjerim?\",\n  \"why is there negative pressure in the pleural cavity?\",\n  \"why are there itchy bumps on my hand?\",\n  \"why do ice cubes smell bad?\",\n  \"why do roaches come inside?\",\n  \"why are effects grayed out in audacity?\",\n  \"why do lcd tvs look fake?\",\n  \"why is qe bad?\",\n  \"why is linux better?\",\n  \"why are eclipses so rare?\",\n  \"why are there tub spouts in showers?\",\n  \"why do spiders make webs?\",\n  \"why is rmit a good university?\",\n  \"why are trucks rwd?\",\n  \"why are there cell phone dead zones?\",\n  \"why are gypsies so weird?\",\n  \"why uavs are better?\",\n  \"why fyrom is macedonia?\",\n  \"why are there cracks in my tongue?\",\n  \"why are there tears when we cry?\",\n  \"why is there no karate in mma?\",\n  \"why is vga to hdmi not working?\",\n  \"why are avocados bad for you?\",\n  \"why are there errors on my facebook page?\",\n  \"why is joy behar leaving the view?\",\n  \"why are ibuprofen pink?\",\n  \"why is there bombing in libya?\",\n  \"why is there war in rwanda?\",\n  \"why are irish people so rude?\",\n  \"why is lex luthor bald?\",\n  \"why are agoda prices so low?\",\n  \"why is smoking good for you?\",\n  \"why are ucla and usc rivals?\",\n  \"why do viruses kill sbs?\",\n  \"why is mtv show called catfish?\",\n  \"why is there edta in trypsin?\",\n  \"why are there earwigs in my bed?\",\n  \"why is xld so slow?\",\n  \"why is zimmerman jury 6 people?\",\n  \"why is there turbulence over mountains?\",\n  \"why are there two ccsvchst.exe running?\",\n  \"why is eh canadian?\",\n  \"why is ayn rand so bad?\",\n  \"why are chinese people so rude?\",\n  \"why is rti important?\",\n  \"why is there hst on used cars?\",\n  \"why do dogs go away to die?\",\n  \"why are there arguments among you?\",\n  \"why are xfire videos so big?\",\n  \"why do hpv warts come back?\",\n  \"why is fsh correctly named?\",\n  \"why we are using dhcp server?\",\n  \"why is pulp fiction good?\",\n  \"why are there two svchost exe running?\",\n  \"why are there 12 jurors on a jury?\",\n  \"why are people against the nra?\",\n  \"why is golden gate bridge called so?\",\n  \"why do my rv lights dim?\",\n  \"why do i sleep so much?\",\n  \"why are unripe pineapples toxic?\",\n  \"why are hay bales left in fields?\",\n  \"why is eating ice bad?\",\n  \"why are there outliers in data?\",\n  \"why is yify down?\",\n  \"why are my photos 72 dpi?\",\n  \"why do mba now?\",\n  \"why are nyc subways so dirty?\",\n  \"why is xfinity internet so slow?\",\n  \"why are objectives important?\",\n  \"why is there traces of blood in my urine?\",\n  \"why is genetic variation important?\",\n  \"why do songs have jr in them?\",\n  \"why are nj roads so bad?\",\n  \"why are there circles around the moon?\",\n  \"why do ib students procrastination?\",\n  \"why do yankee fans hate a rod?\",\n  \"why is unearned revenue a liability?\",\n  \"why is there life?\",\n  \"why are the letters ykk on zippers?\",\n  \"why is iwd banned?\",\n  \"why are there red bumps on my legs?\",\n  \"why is garlic good for you?\",\n  \"why do pyramid schemes work?\",\n  \"why is there no nhl 2012?\",\n  \"why is my eye twitching?\",\n  \"why are sleeping pills bad for you?\",\n  \"why is fpl a government monopoly?\",\n  \"why is wyoming famous?\",\n  \"why do laundry baskets have holes?\",\n  \"why is there clouds in the sky?\",\n  \"why is vine not on android?\",\n  \"why is overpopulation bad?\",\n  \"why is ejaculation healthy?\",\n  \"why is fb banned in china?\",\n  \"why is gps free?\",\n  \"why is lhasa called the forbidden city?\",\n  \"why are seniors especially vulnerable to fire?\",\n  \"why do kentucky fans burn couches?\",\n  \"why is there unrest in syria?\",\n  \"why do aria and ezra break up?\",\n  \"why do chinese talk so loud?\",\n  \"why are vectors important?\",\n  \"why do aquarius men like pisces woman?\",\n  \"why is king tut so famous?\",\n  \"why is kefir good for you?\",\n  \"why is there rap in the great gatsby?\",\n  \"why is my hair falling out?\",\n  \"why do sri lankans have long names?\",\n  \"why do ivf treatments fail?\",\n  \"why do cats have tails?\",\n  \"why is there dirt under my nails?\",\n  \"why do evaporator coils leak?\",\n  \"why is cfl better than nfl?\",\n  \"why is there a giant dragon in orgrimmar?\",\n  \"why is there a cyber sub zero?\",\n  \"why are gas masks so scary?\",\n  \"why are there irregular verbs in english?\",\n  \"why is wcf so important?\",\n  \"why is kbr an ionic compound?\",\n  \"why is umar akmal dropped?\",\n  \"why do golf balls have dimples?\",\n  \"why do celebrate xmas?\",\n  \"why do tncs grow?\",\n  \"why is yoga good for you?\",\n  \"why are functional groups important?\",\n  \"why are there replacement officials?\",\n  \"why is bgp used?\",\n  \"why do minnesota twins have a c?\",\n  \"why is sky blue?\",\n  \"why is mrs dubose brave?\",\n  \"why is lte better than hspa+?\",\n  \"why is there no snowy owl in pottermore?\",\n  \"why are tmdls important?\",\n  \"why is gta lost and damned grainy?\",\n  \"why do people get married?\",\n  \"why is oatmeal so good for you?\",\n  \"why is tsm called snapdragon?\",\n  \"why is there dust in the air?\",\n  \"why do crickets chirp?\",\n  \"why are hp laptops so loud?\",\n  \"why is rss dead?\",\n  \"why is jazz important?\",\n  \"why do ghosts stay on earth?\",\n  \"why are eritreans so beautiful?\",\n  \"why do people say why?\",\n  \"why is there only 6 jurors?\",\n  \"why are pms and pregnancy symptoms the same?\",\n  \"why do videos buffer?\",\n  \"why are queen ants so big?\",\n  \"why do gnats fly in circles?\",\n  \"why do objects have gravity?\",\n  \"why are there ticks?\",\n  \"why is there inheritance tax?\",\n  \"why is kylie jenner driving?\",\n  \"why do employees resist organizational change?\",\n  \"why is pvc bad for the environment?\",\n  \"why is more hz better?\",\n  \"why do koreans hate china?\",\n  \"why is mp3 better than wav?\",\n  \"why are nz falcons endangered?\",\n  \"why are clouds dark?\",\n  \"why do zebras have hooves?\",\n  \"why is dumpster diving illegal?\",\n  \"why is wfc down today?\",\n  \"why do friars shave their head?\",\n  \"why is there war in sri lanka?\",\n  \"why do cfl bulbs buzz?\",\n  \"why hello there dyrus?\",\n  \"why is ocean blue?\",\n  \"why do knives get dull?\",\n  \"why is day of the falcon rated r?\",\n  \"why do hmong people live in wisconsin?\",\n  \"why is hsbc share price falling?\",\n  \"why are there hungry children in america?\",\n  \"why are mmorpgs so boring?\",\n  \"why is leadership important?\",\n  \"why is there no nrl this weekend?\",\n  \"why is k love off the air?\",\n  \"why are tsunamis so powerful?\",\n  \"why is everyone afraid of love?\",\n  \"why is ukitake always sick?\",\n  \"why is there civil war in libya?\",\n  \"why do the pteridines separate on paper chromatography?\",\n  \"why is ptsd more common now?\",\n  \"why is romeo and juliet a classic?\",\n  \"why are there seven continents?\",\n  \"why are hmi lights so expensive?\",\n  \"why do sri lankans migrate to australia?\",\n  \"why do hands swell in heat?\",\n  \"why is vga not working?\",\n  \"why are dysons so good?\",\n  \"why is there snow?\",\n  \"why dg are rated in kva?\",\n  \"why do zaggora hotpants work?\",\n  \"why is there an x in hxc?\",\n  \"why do you ride mx?\",\n  \"why is there looting in uk?\",\n  \"why is there ee on my phone?\",\n  \"why do cnas wear scrubs?\",\n  \"why are wisdom teeth bad?\",\n  \"why are prime numbers important?\",\n  \"why are eggs so good for you?\",\n  \"why do use the internet?\",\n  \"why is fdr famous?\",\n  \"why is uber called uber?\",\n  \"why do get hiccups?\",\n  \"why are dvds so cheap on ebay?\",\n  \"why is cm punk gone?\",\n  \"why is mft so big?\",\n  \"why is ikea so big?\",\n  \"why are umpires called blue?\",\n  \"why are ant bites so itchy?\",\n  \"why are ngos important to migration?\",\n  \"why are lymphocytes important?\",\n  \"why is there a delay in the ignition of the match?\",\n  \"why are there cotton commercials?\",\n  \"why is bmw so popular?\",\n  \"why is mona a?\",\n  \"why is eel always cooked?\",\n  \"why is there ammonia in wine?\",\n  \"why is vw not in the dakar?\",\n  \"why is cyrus not the mole?\",\n  \"why are dslr rigs so expensive?\",\n  \"why are there different types of cells?\",\n  \"why do a jsa?\",\n  \"why is ocean pollution a problem?\",\n  \"why are dvds widescreen?\",\n  \"why is there no competition for ebay?\",\n  \"why are az flags at half staff?\",\n  \"why is kale good for you?\",\n  \"why there is dysmenorrhea?\",\n  \"why is there always blood in my urine?\",\n  \"why are xenobiotics hard to degrade?\",\n  \"why is there a by election in ontario?\",\n  \"why don\\\"t you do right lyrics?\",\n  \"why is ghost hunters on bravo?\",\n  \"why is there a square on the backboard?\",\n  \"why is there www1?\",\n  \"why are .cm domains so expensive?\",\n  \"why is squeezing pimples bad?\",\n  \"why is there citric acid in soda?\",\n  \"why are texas rangers wearing a necklace?\",\n  \"why are some movies rated nr?\",\n  \"why is there axial tilt?\",\n  \"why are mps hated?\",\n  \"why are agency relationships important?\",\n  \"why are some people so mean?\",\n  \"why are there turbulence?\",\n  \"why are fsh levels high?\",\n  \"why is there crust in my ear?\",\n  \"why is rosa parks a hero?\",\n  \"why is there a square on my iphone?\",\n  \"why do we make wudu?\",\n  \"why is mrs merriweather a hypocrite?\",\n  \"why do is my poop green?\",\n  \"why is there no jack in the box in florida?\",\n  \"why do babies smell good?\",\n  \"why is nlp discredited?\",\n  \"why is there ice in my freezer?\",\n  \"why is imessage slow?\",\n  \"why are ejectives voiceless?\",\n  \"why is there gender inequality in the workplace?\",\n  \"why are kangaroos only found in australia?\",\n  \"why are there active volcanoes in italy and greece?\",\n  \"why are there kirkwood gaps in the asteroid belt?\",\n  \"why are smart people socially awkward?\",\n  \"why do we pay taxes?\",\n  \"why is svn better than git?\",\n  \"why are teenagers depressed?\",\n  \"why is uub so weak?\",\n  \"why do lps crackle?\",\n  \"why is school so early?\",\n  \"why is there lactic acid in food?\",\n  \"why is there no new ncis tonight?\",\n  \"why is there ghost followers on instagram?\",\n  \"why is there apa format?\",\n  \"why is dark meat dark?\",\n  \"why is h&m so cheap?\",\n  \"why is there love at first sight?\",\n  \"why is there a nba lockout yahoo?\",\n  \"why are pitbulls illegal in pg county?\",\n  \"why are lcms called lcms?\",\n  \"why is chlorophyll green?\",\n  \"why can\\\"t kvothe do magic?\",\n  \"why do eia?\",\n  \"why do nsaids cause ulcers?\",\n  \"why are ferrets illegal in california?\",\n  \"why are there even and odd numbers?\",\n  \"why is bh3 dipole dipole?\",\n  \"why is federalism important?\",\n  \"why is ejaculation good for the prostate?\",\n  \"why are there english lyrics in japanese songs?\",\n  \"why is underwater welding dangerous?\",\n  \"why is nvidia on my computer?\",\n  \"why is there latin on the dollar bill?\",\n  \"why do alcoholics shake?\",\n  \"why do diets fail?\",\n  \"why is kroy biermann with kim?\",\n  \"why is lh correctly named?\",\n  \"why is doctor who called the doctor?\",\n  \"why are there threats against mcqueary?\",\n  \"why are there skill testing questions in contests?\",\n  \"why are imessages sent as text?\",\n  \"why do sycamores shed bark?\",\n  \"why is hermes so expensive?\",\n  \"why is there unallocated space?\",\n  \"why is there oil in my intercooler piping?\",\n  \"why are ak 47 legal in us?\",\n  \"why is texas so humid?\",\n  \"why do zumba?\",\n  \"why are there indo-european speakers in southern africa?\",\n  \"why do dancers count 5678?\",\n  \"why rpgs are bad?\",\n  \"why do offenders re offend?\",\n  \"why do dvds pause once?\",\n  \"why do auctioneers talk funny?\",\n  \"why are there earthquakes in wyoming?\",\n  \"why are ryback\\\"s eye red?\",\n  \"why is klonopin abuse?\",\n  \"why do akitas lick?\",\n  \"why do comet not sell lg?\",\n  \"why is there an x in pdx?\",\n  \"why are there boxes on twitter?\",\n  \"why is kwang soo so popular?\",\n  \"why do srt4s backfire so much?\",\n  \"why are electrons shared in covalent compounds?\",\n  \"why do sunburns itch so bad?\",\n  \"why is there zodiac signs?\",\n  \"why are there gypsies in france?\",\n  \"why are odd numbers lucky?\",\n  \"why are rna primers necessary?\",\n  \"why is wpi used in india?\",\n  \"why is nyx so cheap?\",\n  \"why do we correct qt interval?\",\n  \"why are there carbs in oysters?\",\n  \"why is there an oasis in the desert?\",\n  \"why is there nuclear power plants?\",\n  \"why is there an x instead of a picture?\",\n  \"why is there ice in my refrigerator?\",\n  \"why is there dna replication?\",\n  \"why is there a timer on ebay?\",\n  \"why is there high pressure at the bottom of the ocean?\",\n  \"why are there tigers at the denver aquarium?\",\n  \"why are zits sore?\",\n  \"why is there no ikea in south america?\",\n  \"why is gdp an important concept?\",\n  \"why are tnt shows not on hulu?\",\n  \"why are there books missing from the protestant bible?\",\n  \"why are there scorpions in my house?\",\n  \"why is there so much dust in my house?\",\n  \"why are all ionic compounds electrolytes?\",\n  \"why is dvd flick not burning?\",\n  \"why do mba after work experience?\",\n  \"why is there yellow around my pupil?\",\n  \"why is there rhino poaching?\",\n  \"why do air cans get cold?\",\n  \"why is pv negative?\",\n  \"why is venice sinking?\",\n  \"why do goldfish die?\",\n  \"why do otters roll themselves in kelp?\",\n  \"why is there controversy over the mmr vaccine?\",\n  \"why is there new lulu on general hospital?\",\n  \"why is there a rooster on the sriracha bottle?\",\n  \"why are cops called 5 o?\",\n  \"why are hyperlinks blue?\",\n  \"why do nba players wear sleeves?\",\n  \"why is domestic violence a problem?\",\n  \"why is oedipus a model tragic hero?\",\n  \"why is tpack important?\",\n  \"why is there no sound on bbc iplayer?\",\n  \"why is air a good insulator?\",\n  \"why are omega 3 important?\",\n  \"why is smash cancelled?\",\n  \"why do kristin and lauren not get on?\",\n  \"why are furries so weird?\",\n  \"why is there an e after ml?\",\n  \"why is hr planning important?\",\n  \"why do hvac coils freeze up?\",\n  \"why is there dna in urine?\",\n  \"why are there problems in egypt?\",\n  \"why do ohs management systems fail?\",\n  \"why is there a ghost rider 2?\",\n  \"why cmos are facing extinction?\",\n  \"why is self esteem important?\",\n  \"why are there greek gods?\",\n  \"why is wti trading at a discount to brent?\",\n  \"why are owls endangered?\",\n  \"why do ptarmigans feathers change colour?\",\n  \"why is training important?\",\n  \"why is there bering sea gold?\",\n  \"why are nails measured in pennies?\",\n  \"why is there halloween?\",\n  \"why is there a mlk holiday?\",\n  \"why do headphones break?\",\n  \"why do xbox players hate ps3?\",\n  \"why is mkv so small?\",\n  \"why are oxalates bad?\",\n  \"why are there time differences?\",\n  \"why do dying people stop eating?\",\n  \"why do new brakes squeal?\",\n  \"why are kansas flags half staff?\",\n  \"why is america great?\",\n  \"why are there new auctioneers on storage wars?\",\n  \"why are my toenails yellow?\",\n  \"why is there an ostrich in the wizard of oz?\",\n  \"why is dairy bad for you?\",\n  \"why are psychologists called shrinks?\",\n  \"why is there a pyramid with an eye on the dollar?\",\n  \"why are aj wright closing?\",\n  \"why are there japanese in south america?\",\n  \"why are sloths so slow?\",\n  \"why do wmv files load?\",\n  \"why is there shark week?\",\n  \"why is pterodactyl spelled with a p?\",\n  \"why are girls insecure?\",\n  \"why are team gb training in portugal?\",\n  \"why are people opposing fdi?\",\n  \"why we are using ajax?\",\n  \"why is my mx simulator lag?\",\n  \"why is rt news down?\",\n  \"why do msds exist?\",\n  \"why do a ua before surgery?\",\n  \"why is vocabulary instruction important?\",\n  \"why do children bite?\",\n  \"why are iweb sites so slow?\",\n  \"why do hybrids cost more?\",\n  \"why is https secure?\",\n  \"why are there time trials in the tour de france?\",\n  \"why do daft punk wear helmets?\",\n  \"why do people rp on facebook?\",\n  \"why is there no mlb on youtube?\",\n  \"why is java bad?\",\n  \"why is there a ghost in my house in sims 3?\",\n  \"why is node.js good?\",\n  \"why is lil wayne famous?\",\n  \"why is there japanese in party poison?\",\n  \"why are there end of financial year sales?\",\n  \"why do africans wear masks?\",\n  \"why are logarithms important?\",\n  \"why is school attendance important?\",\n  \"why do nipples get itchy?\",\n  \"why is khyber pass important?\",\n  \"why is there an odor when i pee?\",\n  \"why are there jokes on ravindra jadeja?\",\n  \"why is my rls getting worse?\",\n  \"why is us not in confederations cup?\",\n  \"why are hsa contributions taxed?\",\n  \"why are there waves on lake michigan?\",\n  \"why are there zits on my back?\",\n  \"why is there no one in wyoming?\",\n  \"why are fpga expensive?\",\n  \"why are harleys so loud?\",\n  \"why is acetic acid a weak acid?\",\n  \"why is oddone called general?\",\n  \"why do mlg players use 3 headsets?\",\n  \"why is xmas on 25th december?\",\n  \"why do zits explode?\",\n  \"why do iran and israel fight?\",\n  \"why are there purple ribbons on trees?\",\n  \"why is biodiversity important?\",\n  \"why are kyle and cartman friends?\",\n  \"why are reits going down?\",\n  \"why are there wells in minecraft?\",\n  \"why do teens lie?\",\n  \"why do we need dft?\",\n  \"why is there pain after ejaculation?\",\n  \"why is there urban sprawl?\",\n  \"why are ntlm passwords easy to crack?\",\n  \"why do guys think jwoww is hot?\",\n  \"why do jinns possess humans?\",\n  \"why is gas so expensive?\",\n  \"why are there hidden messages in disney movies?\",\n  \"why is cs go so hard?\",\n  \"why is ozone an important form of oxygen?\",\n  \"why are effective service partnerships important?\",\n  \"why do klan burn cross?\",\n  \"why are xylem vessels lignified?\",\n  \"why is there law of torts?\",\n  \"why is nmos preferred over pmos?\",\n  \"why are women so mean?\",\n  \"why are there lines in my pdf?\",\n  \"why are rms velocities used?\",\n  \"why do airlines board front to back?\",\n  \"why are metrics important in xp?\",\n  \"why are interest rates going up?\",\n  \"why are there 5 gymnasts not 7?\",\n  \"why is there elderly abuse?\",\n  \"why is there english in japanese games?\",\n  \"why are there moths in my room?\",\n  \"why are there logarithms?\",\n  \"why do we use svn?\",\n  \"why do humans dream?\",\n  \"why is equal employment opportunity important?\",\n  \"why are there wicker baskets at merion?\",\n  \"why do sda worship on saturday?\",\n  \"why do i need lte?\",\n  \"why are ion concentrations important to cells?\",\n  \"why are there international editions of textbooks?\",\n  \"why is tnt not working?\",\n  \"why are there wasps in my house?\",\n  \"why is there no nhl team in wisconsin?\",\n  \"why are us states square?\",\n  \"why is tlc a poor?\",\n  \"why are there mean people in the world?\",\n  \"why are ct scans so expensive?\",\n  \"why do bbc not have adverts?\",\n  \"why are fmj illegal?\",\n  \"why is there oxygen debt?\",\n  \"why do imessages go as text messages?\",\n  \"why is iago evil?\",\n  \"why do english drive on left?\",\n  \"why do mps wave paper?\",\n  \"why are legs called gams?\",\n  \"why are veterans homeless?\",\n  \"why are turkish people protesting?\",\n  \"why do we celebrate cinco de mayo?\",\n  \"why are drones bad?\",\n  \"why are dc shoes so popular?\",\n  \"why is buju banton in jail?\",\n  \"why are srt4s called skittles?\",\n  \"why are cranberries in water?\",\n  \"why is rwd better?\",\n  \"why are images pixelated in indesign?\",\n  \"why is ice sticky?\",\n  \"why are there fireworks in central park today?\",\n  \"why are ostriches not kosher?\",\n  \"why is there tungsten in light bulbs?\",\n  \"why are there bubbles in my fish tank?\",\n  \"why is io active?\",\n  \"why is there hair on my face?\",\n  \"why do people like j pop?\",\n  \"why are there grubs in my yard?\",\n  \"why are pms and pregnancy symptoms similar?\",\n  \"why do you need dha in pregnancy?\",\n  \"why is zero hour back on?\",\n  \"why is kyle in jail on the client list?\",\n  \"why are we here on earth?\",\n  \"why are there ants on my plants?\",\n  \"why is there no damage in gt5?\",\n  \"why there is kolaveri di mp3?\",\n  \"why is there screaming in my head?\",\n  \"why are there cameras on top of traffic lights?\",\n  \"why is there oil in my coolant?\",\n  \"why is surrey kt?\",\n  \"why is pot illegal?\",\n  \"why san francisco are called 49ers?\",\n  \"why are men players?\",\n  \"why do orcas fins bend in captivity?\",\n  \"why are jpegs different sizes?\",\n  \"why are rpg games so hard?\",\n  \"why is creativity important?\",\n  \"why do squirrels roll in dirt?\",\n  \"why are tv speakers on the back?\",\n  \"why are onions spicy?\",\n  \"why do oscillating sprinklers stop working?\",\n  \"why are tdu 2 servers down?\",\n  \"why is nvidia more expensive?\",\n  \"why are there hydrocarbons on titan?\",\n  \"why are there irs processing delays?\",\n  \"why are iguanas endangered?\",\n  \"why do pmo\\\"s fail?\",\n  \"why are there question marks in my email?\",\n  \"why is there lint in my crack?\",\n  \"why are there italicized words in the bible?\",\n  \"why are there duplicates in itunes?\",\n  \"why are rc circuits used?\",\n  \"why is nrl so popular?\",\n  \"why is there air pollution in china?\",\n  \"why do cicadas leave their shells?\",\n  \"why are electrolytes important?\",\n  \"why there is a lukewarm response to csr in india?\",\n  \"why do small fish follow sharks?\",\n  \"why is hyperbole useful in poetry?\",\n  \"why is there salt water?\",\n  \"why are msds important?\",\n  \"why are there birds chirping at 3am?\",\n  \"why is mba required?\",\n  \"why is xcom rated m?\",\n  \"why is soil important?\",\n  \"why is vmk closing?\",\n  \"why do zits happen?\",\n  \"why is there snow on my tv?\",\n  \"why are mechanical keyboards better?\",\n  \"why is eye red?\",\n  \"why is there a gap in my html?\",\n  \"why are nz homes so cold?\",\n  \"why is pig not kosher?\",\n  \"why do oats cause gas?\",\n  \"why is there frost on my air conditioner?\",\n  \"why is there fmla?\",\n  \"why do lsu fans bow?\",\n  \"why is there sleep in my eye?\",\n  \"why are there large flies in my house?\",\n  \"why did ahn do leave vietnam?\",\n  \"why is there icing in hockey?\",\n  \"why is nsa spying on us?\",\n  \"why is chrome so slow?\",\n  \"why is there upheaval in egypt?\",\n  \"why do cars lose hp?\",\n  \"why do islamic extremists hate america?\",\n  \"why do rpgs have level caps?\",\n  \"why is cm punk not wrestling?\",\n  \"why is futurama ending?\",\n  \"why is there abdominal pain in acute intermittent porphyria?\",\n  \"why are there ridges on quarters?\",\n  \"why is voter turnout so low?\",\n  \"why is mdf good?\",\n  \"why are volunteers important?\",\n  \"why are there unmarked police cars?\",\n  \"why do zippers have ykk on them?\",\n  \"why do authors use onomatopoeia?\",\n  \"why are there used socks on ebay?\",\n  \"why do cps drop charges?\",\n  \"why are nz birds flightless?\",\n  \"why is there inactive memory mac?\",\n  \"why is nvidia bad at bitcoin?\",\n  \"why is lbw called plumb?\",\n  \"why do okonkwo\\\"s neighbors believe?\",\n  \"why are twins more common in ivf?\",\n  \"why are there three domains of life?\",\n  \"why is water so important?\",\n  \"why do funeral homes smell?\",\n  \"why is rstp faster than stp?\",\n  \"why are there oxygen masks on airplanes?\",\n  \"why are equal rights important?\",\n  \"why is there less ozone at the poles?\",\n  \"why are there burmese pythons in florida?\",\n  \"why are there silverfish in my house?\",\n  \"why are byronic heroes attractive?\",\n  \"why do lymph nodes swell on one side?\",\n  \"why is there always blood in my stool?\",\n  \"why are there crows in my yard?\",\n  \"why is there weight loss in cml?\",\n  \"why do people hate xcode?\",\n  \"why is usher not returning to the voice?\",\n  \"why are syrians fighting?\",\n  \"why do need synchronization in qtp?\",\n  \"why is there eight days of hanukkah?\",\n  \"why are there ant hills in my yard?\",\n  \"why are klingons called klingons?\",\n  \"why are oomycota not fungi?\",\n  \"why is fdic important?\",\n  \"why is bgt final a week later?\",\n  \"why is there opposition to genetically modified foods?\",\n  \"why are computers ubiquitous?\",\n  \"why do zangoose hate seviper?\",\n  \"why do jtags get banned?\",\n  \"why do iv solutions have to be isotonic?\",\n  \"why is health insurance so expensive?\",\n  \"why is paula dean in trouble?\",\n  \"why are sliders called sliders?\",\n  \"why is onion good for you?\",\n  \"why do newborns get acne?\",\n  \"why is dzhokhar in the hospital?\",\n  \"why are akas called pearls?\",\n  \"why is ntfs read only on mac?\",\n  \"why is there tension between researchers and practitioners?\",\n  \"why is there oxygen deficit?\",\n  \"why are there enlargements in the cervical and lumbar areas?\",\n  \"why is there symbolism in books?\",\n  \"why do nyers hate nj?\",\n  \"why is there snow on mt. kilimanjaro?\",\n  \"why do opiate addicts crave sugar?\",\n  \"why are there no azaleas at augusta?\",\n  \"why do healthy foods taste bad?\",\n  \"why are wwii dog tags notched?\",\n  \"why are abortions bad?\",\n  \"why are mlb jerseys so expensive?\",\n  \"why do mms take so long?\",\n  \"why do people like bf3?\",\n  \"why do bbq grills rust?\",\n  \"why is otshot on my computer?\",\n  \"why do zits get so big?\",\n  \"why are tieks so expensive?\",\n  \"why gcses are pointless?\",\n  \"why do volkswagen beetles float?\",\n  \"why are phone cases so expensive?\",\n  \"why are weight plates 45 lbs?\",\n  \"why is there another nhl lockout?\",\n  \"why are jim crow laws important?\",\n  \"why do eukaryotic chromosomes come in pairs?\",\n  \"why is too much salt bad?\",\n  \"why do texas rangers wear the rope necklace?\",\n  \"why are athletes paid so much?\",\n  \"why are there less homeless women?\",\n  \"why are zombie pigmen attacking me?\",\n  \"why is npv better than mirr?\",\n  \"why are there snakes in my yard?\",\n  \"why is there urea in urine?\",\n  \"why is dc so hot?\",\n  \"why do ovarian cysts grow hair and teeth?\",\n  \"why is tcap important?\",\n  \"why do iguanas dig?\",\n  \"why are us flag patches reversed?\",\n  \"why is there lumps of blood in my period?\",\n  \"why are ubuntu updates so slow?\",\n  \"why is there a new mr. whitaker?\",\n  \"why is there iron in the sun?\",\n  \"why are there cockroaches outside my house?\",\n  \"why do whales migrate?\",\n  \"why do yield curves invert?\",\n  \"why do pvc plastics deteriorate?\",\n  \"why do people leave nz?\",\n  \"why are there yellow spots on my lawn?\",\n  \"why do pft?\",\n  \"why are pdf files so large?\",\n  \"why do adult cats knead?\",\n  \"why are there balls on electrical wires?\",\n  \"why are cdjs so expensive?\",\n  \"why do vulcans have bangs?\",\n  \"why is ooma free?\",\n  \"why do people dislike ayn rand?\",\n  \"why are there so many ethiopians in dc?\",\n  \"why do poets use rhyme?\",\n  \"why are there cat ladies?\",\n  \"why is there turbulence in clouds?\",\n  \"why do bathrooms say wc?\",\n  \"why do gfci outlets fail?\",\n  \"why are some k\\\"s backwards?\",\n  \"why do you pvp?\",\n  \"why are genetics important?\",\n  \"why is there purple in breaking bad?\",\n  \"why is nm the land of enchantment?\",\n  \"why do people hate vsync?\",\n  \"why do ulcers cause burping?\",\n  \"why do people jtag?\",\n  \"why is guantanamo still open?\",\n  \"why is there vat?\",\n  \"why uuid is unique?\",\n  \"why is there no provincial ndp in quebec?\",\n  \"why do opiates cause nausea?\",\n  \"why is there an easter bunny?\",\n  \"why do feet swell?\",\n  \"why are hp computers good?\",\n  \"why is there less sunlight in the winter?\",\n  \"why are snakes scary?\",\n  \"why is pwht required?\",\n  \"why do people hate kyubey?\",\n  \"why is bf3 so hard?\",\n  \"why are volleyball players so hot?\",\n  \"why are there hornets in my house?\",\n  \"why do europeans say zed?\",\n  \"why is xslt inferior?\",\n  \"why do spiders have so many eyes?\",\n  \"why is there no effective vaccine against hiv?\",\n  \"why are there placebos in birth control?\",\n  \"why are there small holes in my clothes?\",\n  \"why we are using fsmo roles?\",\n  \"why do the ewells have special privileges?\",\n  \"why is chia good for you?\",\n  \"why do you filter tpn?\",\n  \"why are there no walmarts in nyc?\",\n  \"why are there wires on the road?\",\n  \"why is brenda heist in jail?\",\n  \"why is ripd rated pg 13?\",\n  \"why is there petrol in my oil?\",\n  \"why are ivy league schools so expensive?\",\n  \"why do women have cramps?\",\n  \"why are strings immutable?\",\n  \"why are gypsy moths a problem?\",\n  \"why are there no auroras on venus?\",\n  \"why is pcr used?\",\n  \"why do mri scan for prostate cancer?\",\n  \"why is zeus the best god?\",\n  \"why do identical twins look so similar?\",\n  \"why is there racism against gypsies?\",\n  \"why is mx record used?\",\n  \"why is dj pauls arm small?\",\n  \"why are there outcasts?\",\n  \"why are there protests in turkey?\",\n  \"why is there rain?\",\n  \"why is school so hard for me?\",\n  \"why is almond milk good for you?\",\n  \"why do twitter suspend accounts?\",\n  \"why do cows wear bells?\",\n  \"why is san francisco foggy?\",\n  \"why is there no uk national football team?\",\n  \"why do oysters have pearls?\",\n  \"why are sd cards so slow?\",\n  \"why is facebook blocked in china?\",\n  \"why are there big spiders in my house?\",\n  \"why are there two kratos in mortal kombat?\",\n  \"why do frats hate gdi?\",\n  \"why do we need jpa?\",\n  \"why are there buffalo in golden gate park?\",\n  \"why do ducklings follow people?\",\n  \"why do gcse drama?\",\n  \"why are tms helmets so cheap?\",\n  \"why is there pain and suffering?\",\n  \"why are there two discs for bf3?\",\n  \"why is there fair trade?\",\n  \"why are people snorting condoms?\",\n  \"why do klingons look different now?\",\n  \"why are there apples in desperate housewives?\",\n  \"why is there concern about cfcs in the stratosphere?\",\n  \"why are mkv files so big?\",\n  \"why are xbox downloads so slow?\",\n  \"why is weed good for you?\",\n  \"why is there more outgoing longwave radiation?\",\n  \"why are americans so friendly?\",\n  \"why do african elephants migrate?\",\n  \"why is there no working psp emulator?\",\n  \"why do people say eww?\",\n  \"why do i have ptsd?\",\n  \"why is there fuel in my oil?\",\n  \"why do wudu?\",\n  \"why is sf so expensive?\",\n  \"why are databases important?\",\n  \"why is nly stock going down?\",\n  \"why is there gluten in everything?\",\n  \"why are beat frequencies useful in tuning?\",\n  \"why do oceans contain salt water?\",\n  \"why do xenia pulse?\",\n  \"why is cert granted?\",\n  \"why do yams increase the chance of twins?\",\n  \"why is nwoye attracted to the new religion?\",\n  \"why do gm foods taste better?\",\n  \"why are okazaki fragments made?\",\n  \"why do quaker parrots fluff up?\",\n  \"why is there overcrowding in schools?\",\n  \"why is there rna?\",\n  \"why are pt cruisers cheap?\",\n  \"why do smokers hit the pack?\",\n  \"why are there only 9 justices?\",\n  \"why is there little mining in bhutan?\",\n  \"why is ajax used?\",\n  \"why do we study tle?\",\n  \"why are there roundabouts?\",\n  \"why do people vote ndp?\",\n  \"why is there dna in the nucleus?\",\n  \"why is there hunger in africa?\",\n  \"why are okra slimy?\",\n  \"why are there air bubbles in my acrylic nails?\",\n  \"why are eels fish?\",\n  \"why is there illiteracy in america?\",\n  \"why is there water at the bottom of my refrigerator?\",\n  \"why are there guy fawkes masks?\",\n  \"why do hemorrhoids hurt?\",\n  \"why is fnac test done?\",\n  \"why are mma fighters so cocky?\",\n  \"why do nhs dentists charge?\",\n  \"why do ulcers bleed?\",\n  \"why do zig zags have kutcorners?\",\n  \"why is td jakes a bishop?\",\n  \"why is epo banned?\",\n  \"why do lcd screens ripple?\",\n  \"why are tsunamis called tidal waves?\",\n  \"why is nutrition important?\",\n  \"why are there scented tampons?\",\n  \"why are there inch worms in my house?\",\n  \"why are dyes bad for you?\",\n  \"why are there no essential carbohydrates?\",\n  \"why is skyrim so good?\",\n  \"why is utorrent so slow 2013?\",\n  \"why do tumors bleed?\",\n  \"why are there chinese dynasties?\",\n  \"why is there high tide twice a day?\",\n  \"why is there no zaxby\\\"s in atlanta?\",\n  \"why is there gun violence in the united states?\",\n  \"why is there additional time in soccer?\",\n  \"why are there gum trees in california?\",\n  \"why do msu fans hate michigan?\",\n  \"why are there rc cars at the olympics?\",\n  \"why is there no ncaa basketball 11?\",\n  \"why is cube world lag?\",\n  \"why is netflix so slow?\",\n  \"why is there a t in tsunami?\",\n  \"why are there oranges in easy a?\",\n  \"why is texas so hot?\",\n  \"why is water called the universal solvent?\",\n  \"why are there termites in my bed?\",\n  \"why do tncs outsource?\",\n  \"why are sloths endangered?\",\n  \"why are americans so loud?\",\n  \"why is there gluten in lunch meat?\",\n  \"why are there so many ostriches episode?\",\n  \"why are there ocean tides on earth?\",\n  \"why are khakis and chinos?\",\n  \"why do sd cards have locks?\",\n  \"why is there nuts in my poo?\",\n  \"why are nj nets moving to brooklyn?\",\n  \"why are there saints?\",\n  \"why is there astrology?\",\n  \"why are there ignorant people?\",\n  \"why do djs lick their fingers?\",\n  \"why is ernest rutherford important?\",\n  \"why are there owls in futurama?\",\n  \"why do stretch marks itch?\",\n  \"why are babies stillborn?\",\n  \"why are sinkholes round?\",\n  \"why are gnats attracted to eyes?\",\n  \"why are oceans salty for kids?\",\n  \"why are pcs better for gaming?\",\n  \"why are oval pools more expensive?\",\n  \"why is there quickscoping?\",\n  \"why is hvap larger than hfus?\",\n  \"why is dora no longer on netflix?\",\n  \"why is there drought?\",\n  \"why do md/phd?\",\n  \"why do you need pgp?\",\n  \"why is xgames leaving los angeles?\",\n  \"why are dimples not common?\",\n  \"why is nfl non profit?\",\n  \"why do rna extraction?\",\n  \"why are irish people so hot?\",\n  \"why is vnc not accepting connections?\",\n  \"why is bgp important?\",\n  \"why is there limited agriculture in eastern europe?\",\n  \"why do they say xmas?\",\n  \"why are jigsaws good for children?\",\n  \"why is svn so slow?\",\n  \"why are quadratics important?\",\n  \"why is ewen keeping robin?\",\n  \"why are ubisoft credits so long?\",\n  \"why is ddt no longer used?\",\n  \"why is there caffeine in cola?\",\n  \"why do dbas hate cursors?\",\n  \"why are mkv files choppy?\",\n  \"why do aa batteries get hot?\",\n  \"why are there no gyms in airports?\",\n  \"why do fsh levels fall during ovulation?\",\n  \"why is everybody talking about drake?\",\n  \"why are there outlet malls?\",\n  \"why are quarries filled with water?\",\n  \"why are tonsils removed?\",\n  \"why is npr canceling talk of the nation?\",\n  \"why is there high tide on the opposite side of the moon?\",\n  \"why do abstract classes have constructors?\",\n  \"why is there no effective vaccine for malaria?\",\n  \"why are there tapioca pearls in bubble tea?\",\n  \"why is there racism in america?\",\n  \"why do cigars make you dizzy?\",\n  \"why are options and futures convenient?\",\n  \"why is there pus in my blister?\",\n  \"why are bt replacing infinity modems?\",\n  \"why are there skunks in my yard?\",\n  \"why is ynab so expensive?\",\n  \"why is gta v not on pc?\",\n  \"why is rumble so good?\",\n  \"why do planes fly so high?\",\n  \"why is there nutrition facts on water?\",\n  \"why do politicians say uh?\",\n  \"why is there so much kryptonite?\",\n  \"why is there so much kryptonite in smallville?\",\n  \"why are lg phones crap?\",\n  \"why is there weightlessness in orbit?\",\n  \"why is there gypsy discrimination?\",\n  \"why is there metal around palm trees?\",\n  \"why are tracy and gigi fighting?\",\n  \"why are zumba clothes so expensive?\",\n  \"why do avocados turn orange?\",\n  \"why is srinivasa ramanujan famous?\",\n  \"why do we have title ix?\",\n  \"why are addicts so mean?\",\n  \"why is vitamin e important?\",\n  \"why is hadvar following me?\",\n  \"why do dslr take better pictures?\",\n  \"why is palm oil bad?\",\n  \"why are there download errors on itunes?\",\n  \"why are gpu better than cpu?\",\n  \"why do puppys eat poop?\",\n  \"why do we study rs?\",\n  \"why are primary oocytes diploid?\",\n  \"why is there no picture of osama?\",\n  \"why are monopolies inefficient?\",\n  \"why is pcp illegal?\",\n  \"why are xylem and phloem bundled together?\",\n  \"why are sharks scared of dolphins?\",\n  \"why is offsides a rule in soccer?\",\n  \"why do ewes abort?\",\n  \"why do polyps form?\",\n  \"why is hrc bad?\",\n  \"why are there typhoons in the philippines?\",\n  \"why is there duty free in airports?\",\n  \"why do exterior doors open in?\",\n  \"why is axe so strong?\",\n  \"why is upload speed important?\",\n  \"why is there not a ncaa basketball 11?\",\n  \"why are ships named hms?\",\n  \"why is there mercury in tuna?\",\n  \"why is there tax on amazon?\",\n  \"why do yahoo accounts get hacked?\",\n  \"why is there no h m in texas?\",\n  \"why is young scooter in jail?\",\n  \"why are transgenders included in lgbt?\",\n  \"why is there gun crime?\",\n  \"why is chocolate so good?\",\n  \"why are iweb pages so narrow?\",\n  \"why is variance important?\",\n  \"why is vuze not downloading anymore?\",\n  \"why is kbr used in ftir?\",\n  \"why is gnp important?\",\n  \"why are there air bubbles in my aquarium?\",\n  \"why is there ad and bc?\",\n  \"why is there civil war in somalia?\",\n  \"why are there red arrows in utorrent?\",\n  \"why is there olympics every 4 years?\",\n  \"why are mncs important?\",\n  \"why are lcd screens polarised?\",\n  \"why is vgrabber my homepage?\",\n  \"why do mncs invest abroad?\",\n  \"why is tsuna so weak?\",\n  \"why is there assessment of learning?\",\n  \"why is dan gossip girl?\",\n  \"why do ikea use manufactured boards?\",\n  \"why do gcse early?\",\n  \"why do eight year olds lie?\",\n  \"why do tsunami waves get bigger?\",\n  \"why is utorrent not seeding?\",\n  \"why do ipad apps crash?\",\n  \"why is self harm bad?\",\n  \"why is pyramid on dollar bill?\",\n  \"why are team gb doing so well?\",\n  \"why is html5 better?\",\n  \"why is bsnl broadband so slow?\",\n  \"why are dishes called china?\",\n  \"why is spotify so slow?\",\n  \"why are fps games so fun?\",\n  \"why is there only one season of freaks and geeks?\",\n  \"why do you use jquery?\",\n  \"why is there earthquakes in oklahoma lately?\",\n  \"why is there no soft handover in lte?\",\n  \"why are there horse flies in my house?\",\n  \"why are bf3 updates so large?\",\n  \"why is there dextrose in table salt?\",\n  \"why are lsu colors purple and gold?\",\n  \"why is pcr important?\",\n  \"why are ak 47s inaccurate?\",\n  \"why are pvcs worse sometimes?\",\n  \"why is pfstt important?\",\n  \"why is there earth?\",\n  \"why do usb transfers slow down?\",\n  \"why do laxatives hurt?\",\n  \"why are there laugh tracks?\",\n  \"why is score hidden on reddit?\",\n  \"why is naoh a strong base?\",\n  \"why is tnt in spanish?\",\n  \"why do russians look different?\",\n  \"why are xbox one games 100 dollars?\",\n  \"why is there evil fyodor dostoevsky?\",\n  \"why is my laptop so slow?\",\n  \"why do europeans kiss both cheeks?\",\n  \"why do knives have serrated edges?\",\n  \"why are pretty girls insecure?\",\n  \"why are there jokers in a deck?\",\n  \"why is gas so high?\",\n  \"why do farts smell like rotten eggs?\",\n  \"why is ginger ale good for you?\",\n  \"why is north korea so poor?\",\n  \"why are celebrities paid so much?\",\n  \"why do vampires need blood?\",\n  \"why is owncloud slow?\",\n  \"why are there riots in egypt?\",\n  \"why is aj not on overhaulin?\",\n  \"why do love bugs exist?\",\n  \"why are there no fights in nhl playoffs?\",\n  \"why is there adverts on my facebook?\",\n  \"why do humans say uh?\",\n  \"why is there pyramids?\",\n  \"why are odysseus and penelope unable to sleep?\",\n  \"why are teenagers so emotional?\",\n  \"why are squishies so popular?\",\n  \"why do gfci outlets buzz?\",\n  \"why is peanut butter so good?\",\n  \"why do tv shows film in canada?\",\n  \"why is tap water cloudy?\",\n  \"why is asbestos dangerous?\",\n  \"why is tinder not working?\",\n  \"why are zwitterions important?\",\n  \"why is new york called the big apple?\",\n  \"why is ftp dangerous?\",\n  \"why do iisreset?\",\n  \"why are igneous rocks used for radiometric dating?\",\n  \"why is oysters an aphrodisiac?\",\n  \"why is there john 3?\",\n  \"why is hno3 added to fe no3 3?\",\n  \"why are sloths associated with rape?\",\n  \"why do computers get slower?\",\n  \"why are rss feeds useful?\",\n  \"why are lol players so mean?\",\n  \"why do cicadas sing?\",\n  \"why do bbc programmes start early?\",\n  \"why do nightmares occur?\",\n  \"why is blood pressure low?\",\n  \"why are there expiration dates on car seats?\",\n  \"why do sloths look so happy?\",\n  \"why do other girls stare at me?\",\n  \"why is cbs not on demand?\",\n  \"why is rvca ruca?\",\n  \"why are wmv files so big?\",\n  \"why are dc streets so confusing?\",\n  \"why do psychologists study twins?\",\n  \"why is gambling illegal?\",\n  \"why are koreans so smart?\",\n  \"why do zucchini leaves turn yellow?\",\n  \"why is there pain behind my knee?\",\n  \"why is ykk on every zipper?\",\n  \"why are esters not used in perfumes?\",\n  \"why are bb creams good?\",\n  \"why is tyler posey chin crooked?\",\n  \"why are mse updates optional?\",\n  \"why is sgt peppers the best album?\",\n  \"why do asteroids and comets differ in composition?\",\n  \"why are there nitrates in bacon?\",\n  \"why is mri so noisy?\",\n  \"why is egypt rioting?\",\n  \"why is there nuts in my poop?\",\n  \"why is ucita outdated in the global marketplace?\",\n  \"why are eigenvectors perpendicular?\",\n  \"why is symmetry attractive?\",\n  \"why is there a kangaroo and emu on the coat of arms?\",\n  \"why is bt broadband slow?\",\n  \"why are there insects?\",\n  \"why are italians so loud?\",\n  \"why are there typhoons?\",\n  \"why are women cranky?\",\n  \"why is there an 11 pm curfew at wimbledon?\",\n  \"why are tms cds?\",\n  \"why is photosynthesis an endothermic reaction?\",\n  \"why are boogers salty?\",\n  \"why are dvds so expensive?\",\n  \"why is flour bleached?\",\n  \"why do other guys hate me?\",\n  \"why are machines rated in kva?\",\n  \"why are girls so annoying?\",\n  \"why is there a small tsu?\",\n  \"why are dc schools so bad?\",\n  \"why are cuban cigars so popular?\",\n  \"why is izzie leaving grey\\\"s anatomy?\",\n  \"why is uwe boll hated?\",\n  \"why are there always bugs in my room?\",\n  \"why is lpg expensive?\",\n  \"why do countries want fdi?\",\n  \"why are oxtails so expensive?\",\n  \"why is last stand rated r?\",\n  \"why do dykes dress like men?\",\n  \"why is django spelled with a d?\",\n  \"why do gallstones hurt?\",\n  \"why do dba?\",\n  \"why are vpn connections slow?\",\n  \"why is there taurine in baby formula?\",\n  \"why do runners tape their legs?\",\n  \"why is there red dots on my tongue?\",\n  \"why is nfl better than nba?\",\n  \"why is there an x through my battery?\",\n  \"why is voldemorts nose flat?\",\n  \"why is there sibling rivalry?\",\n  \"why do ghosts show up in pictures?\",\n  \"why are rna primers used in dna replication?\",\n  \"why do videos load slow?\",\n  \"why is there chinese in firefly?\",\n  \"why are almonds so expensive?\",\n  \"why do lloyds have to sell branches?\",\n  \"why are flowers brightly colored?\",\n  \"why is fsh decreased in pcos?\",\n  \"why is ejaculation called coming?\",\n  \"why is there proof for alcohol?\",\n  \"why do dachshunds sleep so much?\",\n  \"why do rvs leak?\",\n  \"why are humans so evil?\",\n  \"why is there diplomatic immunity?\",\n  \"why do economists study savings rates?\",\n  \"why is there hypertension in nephrotic syndrome?\",\n  \"why is there pain in my heel?\",\n  \"why do hyenas laugh?\",\n  \"why is lysogeny advantageous to a bacteriophage quizlet?\",\n  \"why is ewr so expensive?\",\n  \"why are there 5 kangaroos on the dollar coin?\",\n  \"why are twin studies so important?\",\n  \"why do iguanas bob their head?\",\n  \"why is there a need for ias 37?\",\n  \"why are there occupy protests?\",\n  \"why do mcdonald\\\"s fries not decompose?\",\n  \"why is xena a princess?\",\n  \"why are we not funding this?\",\n  \"why are identical twins the same gender?\",\n  \"why is there gender inequality in india?\",\n  \"why do flies exist?\",\n  \"why is there obesity in children?\",\n  \"why are there duplicate contacts in my android?\",\n  \"why is wednesday hump day?\",\n  \"why do organisms reproduce?\",\n  \"why do i have nvidia drivers?\",\n  \"why are the patriots wearing mhk patches?\",\n  \"why is bmw better than audi?\",\n  \"why do hemorrhoids itch?\",\n  \"why is dwight howard called d12?\",\n  \"why are kids obese?\",\n  \"why are ubisoft services unavailable?\",\n  \"why do headphones break so easily?\",\n  \"why do taurus men cheat?\",\n  \"why are vultures important?\",\n  \"why do ohms matter?\",\n  \"why do voices sound different?\",\n  \"why do tv shows block logos?\",\n  \"why is pmi higher for fha loans?\",\n  \"why do http ftp smtp and pop3?\",\n  \"why do lhasa apso bark?\",\n  \"why is iago jealous of othello?\",\n  \"why is bsnl broadband slow?\",\n  \"why are arabs so annoying?\",\n  \"why are dholes going extinct?\",\n  \"why is yugioh 5ds so hard?\",\n  \"why is there precipitation along a front line?\",\n  \"why are there x\\\"s on moonshine jugs?\",\n  \"why are there oceans on earth?\",\n  \"why are gfci used?\",\n  \"why do vegetarians have bad breath?\",\n  \"why are there bye weeks?\",\n  \"why is there an osha hazard communication standard?\",\n  \"why do only female mosquitoes bite?\",\n  \"why do bpd come back?\",\n  \"why are msrp different?\",\n  \"why are policies and procedures important?\",\n  \"why is ptsd so common?\",\n  \"why is vmdk file growing?\",\n  \"why is there salt in iv solutions?\",\n  \"why are there weird people at walmart?\",\n  \"why is there eclipse?\",\n  \"why do i get nginx?\",\n  \"why are donut boxes pink?\",\n  \"why do athletes take drugs?\",\n  \"why is sfsu the gators?\",\n  \"why is there window tint laws?\",\n  \"why is detroit so poor?\",\n  \"why are phosphates bad?\",\n  \"why is dog a felony?\",\n  \"why are there two classes of mhc receptors?\",\n  \"why are rcb wearing green?\",\n  \"why is your credit score important?\",\n  \"why do women have gbs?\",\n  \"why is there violence in turkey?\",\n  \"why is xld agar selective?\",\n  \"why do quebecois want to separate from canada?\",\n  \"why are there no seagulls in okinawa?\",\n  \"why are there so many errors in ebooks?\",\n  \"why is there salt in bread?\",\n  \"why is timer rated r?\",\n  \"why is ezra on the a team?\",\n  \"why is uploaded.net slow?\",\n  \"why is ykk on zippers?\",\n  \"why is there am and fm radio?\",\n  \"why is pva soluble in water?\",\n  \"why is wukong called monkey king?\",\n  \"why are leopards endangered for kids?\",\n  \"why do turtles dig holes?\",\n  \"why are rna viruses difficult to treat?\",\n  \"why is dsl blinking red?\",\n  \"why are llcs so popular?\",\n  \"why do dna molecules stay in the nucleus?\",\n  \"why are ghosts here?\",\n  \"why are apple products so popular?\",\n  \"why do kurt and blaine break up?\",\n  \"why are there so many lyric websites?\",\n  \"why are hsa distributions taxed?\",\n  \"why are rhetorical questions used in speeches?\",\n  \"why do italians talk so loud?\",\n  \"why do skaters wear hats?\",\n  \"why are you there chelsea was cancelled?\",\n  \"why are echinoderms important to humans?\",\n  \"why do squirrels chirp?\",\n  \"why are equifax scores lower?\",\n  \"why is microwave bad?\",\n  \"why is there skin peeling off my tongue?\",\n  \"why are wyoming highways red?\",\n  \"why do currency values change daily?\",\n  \"why are there little bumps on my tattoo?\",\n  \"why is there algae in my pond?\",\n  \"why are other girls so pretty?\",\n  \"why do kappas shimmy?\",\n  \"why are kangaroos buff?\",\n  \"why are there superstitions?\",\n  \"why is there a xerox folder in program files?\",\n  \"why is olive oil bad for you?\",\n  \"why is there no ibook app for mac?\",\n  \"why is hydrogen in group 1?\",\n  \"why is there morning stiffness in rheumatoid arthritis?\",\n  \"why are opinions important?\",\n  \"why do the tcp/ip and osi models exist?\",\n  \"why is zfs so great?\",\n  \"why are there no children in gta 4?\",\n  \"why is there american league and national league?\",\n  \"why is there never 100 yield?\",\n  \"why are kuwaiti_dinars_the_highest_valued currency?\",\n  \"why are mkv files small?\",\n  \"why is django unchained a spaghetti western?\",\n  \"why are girls mean?\",\n  \"why is there so much sodium in fast food?\",\n  \"why is there an odor before my period?\",\n  \"why are there yellow stains on my mattress?\",\n  \"why are there balls in whistles?\",\n  \"why are there terrorist attacks?\",\n  \"why is azula so evil?\",\n  \"why is there poverty in zambia?\",\n  \"why is gsk share price falling?\",\n  \"why are lcds used?\",\n  \"why is sourdough sour?\",\n  \"why is xlsx better than xls?\",\n  \"why are identical twins sometimes different?\",\n  \"why is kvothe so weak?\",\n  \"why is zoosk on my facebook?\",\n  \"why are nj gas prices lower?\",\n  \"why is there air in my water lines?\",\n  \"why is there torture?\",\n  \"why is eisenhower called ike?\",\n  \"why is there red dye on pistachios?\",\n  \"why is hno3 important?\",\n  \"why is there rotation in volleyball?\",\n  \"why are rhetorical devices important?\",\n  \"why do rohtos burn?\",\n  \"why is ao oni scary?\",\n  \"why is xml important to industry?\",\n  \"why do sr-71 pilots have to be married?\",\n  \"why do we need keystone xl?\",\n  \"why is rpm important?\",\n  \"why do qbs lick their hands?\",\n  \"why are there no dwemer?\",\n  \"why do ionic compounds dissolve in water?\",\n  \"why are there plate tectonics?\",\n  \"why are there red eyes in photos?\",\n  \"why is there nhl lockout?\",\n  \"why is there tylenol in vicodin?\",\n  \"why are mirrors so expensive?\",\n  \"why is there variation in interparticle forces?\",\n  \"why are there hashtags on facebook?\",\n  \"why are there application fees for apartments?\",\n  \"why is xsplit not working?\",\n  \"why is there air in my fuel line?\",\n  \"why is there hail?\",\n  \"why are eyeglass lenses so expensive?\",\n  \"why is vpn on iphone?\",\n  \"why do effleurage?\",\n  \"why are there other computers on my network?\",\n  \"why is trna important in translation?\",\n  \"why is pool water cloudy?\",\n  \"why is tmz so annoying?\",\n  \"why are dyson vacuums so good?\",\n  \"why is azula\\\"s fire blue?\",\n  \"why is yen so weak?\",\n  \"why do authors use irony?\",\n  \"why is ct known as the nutmeg state?\",\n  \"why are dhl useless?\",\n  \"why do we need hse?\",\n  \"why are ps3 controllers so expensive?\",\n  \"why do knots form?\",\n  \"why are there jim crow laws?\",\n  \"why don\\\"t cats like water?\",\n  \"why is there headache in hypertension?\",\n  \"why are external drives cheaper?\",\n  \"why is oil so high?\",\n  \"why is there different phases of the moon?\",\n  \"why are cufflinks so expensive?\",\n  \"why do koi fish jump?\",\n  \"why is rhodium so cheap?\",\n  \"why is ethanol in gas?\",\n  \"why is scott schneider leaving wfmj?\",\n  \"why is django racist?\",\n  \"why do americans say uh huh?\",\n  \"why is oatmeal steel cut?\",\n  \"why is euro stronger than dollar?\",\n  \"why is algeria country code dz?\",\n  \"why is dzhokhar tsarnaev in the hospital?\",\n  \"why are there vents in the attic?\",\n  \"why is there no planes in gta 4?\",\n  \"why are gift certificates hst exempt?\",\n  \"why is tyler the creator famous?\",\n  \"why are 2 svchost exe running?\",\n  \"why is there holes in bagels?\",\n  \"why is there oxygen on airplanes?\",\n  \"why is there no lyme disease vaccine for humans?\",\n  \"why is jcpenney apologizing?\",\n  \"why are mris so noisy?\",\n  \"why is milotic uu?\",\n  \"why do gcse business studies?\",\n  \"why is gfp important?\",\n  \"why do greyhounds wear muzzles?\",\n  \"why do dc motors have brushes?\",\n  \"why is dark confidant good?\",\n  \"why is tybalt angry in scene 1?\",\n  \"why are redheads called gingers?\",\n  \"why do oceans have different colors?\",\n  \"why is oedipus important today?\",\n  \"why is there marriage?\",\n  \"why is udyr so bad?\",\n  \"why is there an audio ts folder?\",\n  \"why is there no outlook express?\",\n  \"why is there ice in space?\",\n  \"why is rdp faster than vnc?\",\n  \"why is umbrella bad luck?\",\n  \"why is treehouse masters on animal planet?\",\n  \"why are there so many canadians in wildwood nj?\",\n  \"why is there humidity?\",\n  \"why do customers buy?\",\n  \"why are there abandoned buildings in detroit?\",\n  \"why do wwe wrestlers shave?\",\n  \"why are equifax and experian scores different?\",\n  \"why is hfcs used?\",\n  \"why do a cbc with diff?\",\n  \"why is there mice in my house?\",\n  \"why are fireworks called fireworks?\",\n  \"why is there aggression in humans?\",\n  \"why are there aftershocks?\",\n  \"why is there tax in maplestory?\",\n  \"why is uranus named uranus?\",\n  \"why is there minimal punctuation in vultures?\",\n  \"why are rx7 called fd?\",\n  \"why are there no blue m&ms?\",\n  \"why is there tsunami after earthquake?\",\n  \"why is there cyber monday?\",\n  \"why do people hate yngwie malmsteen?\",\n  \"why are twinkies back?\",\n  \"why is oracle moving to nyse?\",\n  \"why are t cells mhc restricted?\",\n  \"why do people?\",\n  \"why do xcelite tools smell?\",\n  \"why are there young offenders?\",\n  \"why is ppsspp so slow?\",\n  \"why is nnamdi asomugha so good?\",\n  \"why do i have fps lag?\",\n  \"why is azo not working?\",\n  \"why is there an equatorial countercurrent?\",\n  \"why is there an asteroid belt?\",\n  \"why are tld\\\"s important for seo?\",\n  \"why is there no sound on tnt?\",\n  \"why is there a difference between kbb and edmunds?\",\n  \"why do x factor contestants mime?\",\n  \"why is there a zip on google today?\",\n  \"why are there holes in plant pots?\",\n  \"why are there 6 open reading frames?\",\n  \"why do schools need a code of conduct?\",\n  \"why are there squares on twitter?\",\n  \"why are there so many free mmorpgs?\",\n  \"why is kate not a princess?\",\n  \"why are there american league and national league?\",\n  \"why is there ice in urinals?\",\n  \"why are there active volcanoes in iceland?\",\n  \"why are ants spicy?\",\n  \"why there is no rain in uae?\",\n  \"why is mt rushmore important?\",\n  \"why is there an away goal rule?\",\n  \"why there is weight loss in ptb?\",\n  \"why is australia a continent?\",\n  \"why is msg bad?\",\n  \"why is aerogel such a good insulator?\",\n  \"why do noh actors wear masks?\",\n  \"why do aztecs sacrifice people?\",\n  \"why do women stay in abusive relationships?\",\n  \"why is tripler pink?\",\n  \"why do kyle and kim fight?\",\n  \"why are we afraid of the dark?\",\n  \"why are there duty free shops?\",\n  \"why is fma brotherhood different?\",\n  \"why is ppe important?\",\n  \"why is there no wonder years dvd?\",\n  \"why are there loops on the back of shirts?\",\n  \"why do xerophytes have sunken stomata?\",\n  \"why do people hate ezreal?\",\n  \"why is tnt called tnt?\",\n  \"why do nsaids cause edema?\",\n  \"why is there so much cp on 4chan?\",\n  \"why is there lumps in my period?\",\n  \"why are men stronger than women?\",\n  \"why were stars created?\",\n  \"why is there foam in my fish tank?\",\n  \"why are there gypsies in england?\",\n  \"why are coffins 6 ft deep?\",\n  \"why are some people so smart?\",\n  \"why is there petrol in my engine oil?\",\n  \"why do people have gbs?\",\n  \"why are illegal drugs dangerous to the user?\",\n  \"why is mxit so popular?\",\n  \"why are school buses painted yellow?\",\n  \"why are dba skills necessary?\",\n  \"why is gymnastics so hard?\",\n  \"why do nails have ridges?\",\n  \"why is there spotting in early pregnancy?\",\n  \"why are there fundraising deadlines?\",\n  \"why is there bloating with pms?\",\n  \"why is rwanda important?\",\n  \"why is there a katy perry movie?\",\n  \"why are there different dvd formats?\",\n  \"why do xrays work?\",\n  \"why is vmware workstation so slow?\",\n  \"why are people on tpn?\",\n  \"why is bms cancelled?\",\n  \"why are these huge flies in my house?\",\n  \"why is there blood in my ejaculate?\",\n  \"why is norway so rich?\",\n  \"why are there people like frank?\",\n  \"why do bpr projects fail?\",\n  \"why do addicts lie?\",\n  \"why is outlook working offline?\",\n  \"why do bcg scar?\",\n  \"why are there emo kids?\",\n  \"why do pimples hurt?\",\n  \"why are proteases secreted in an inactive state?\",\n  \"why is big data important?\",\n  \"why is there atmospheric pressure?\",\n  \"why is there cutlery in the pancake drawer?\",\n  \"why is ptsd a problem?\",\n  \"why is there snot in my eye?\",\n  \"why is there usb ports on my ps2?\",\n  \"why are tanning beds bad?\",\n  \"why are there orange hairs on weed?\",\n  \"why is sf4 polar?\",\n  \"why are there stretch marks on my legs?\",\n  \"why is ptfe non stick?\",\n  \"why is there no ak74u in mw3?\",\n  \"why are bureaucracies necessary?\",\n  \"why is there a lot of nguyen?\",\n  \"why are glocks so reliable?\",\n  \"why do red ants bite?\",\n  \"why is xsd used?\",\n  \"why are alkenes unsaturated?\",\n  \"why do companies use ie?\",\n  \"why are there cyanide pills?\",\n  \"why are fire hydrants yellow?\",\n  \"why do ants come inside?\",\n  \"why do zippers say ykk on them?\",\n  \"why do we need qms?\",\n  \"why are extroverts so annoying?\",\n  \"why are there no trees in wyoming?\",\n  \"why is genetic engineering good?\",\n  \"why do dead bodies get stiff?\",\n  \"why are llamas useful?\",\n  \"why is ktorrent so slow?\",\n  \"why are there missing doctor who episodes?\",\n  \"why are iago soliloquies important?\",\n  \"why is there no jobs in the us?\",\n  \"why are there bumps on my tongue?\",\n  \"why is uploading to youtube so slow?\",\n  \"why is online gambling illegal?\",\n  \"why do rc helicopters need a flybar?\",\n  \"why is root beer called beer?\",\n  \"why are there two yugiohs?\",\n  \"why is nt scan done?\",\n  \"why is iit jee tough?\",\n  \"why are shooting glasses yellow?\",\n  \"why is there civil war in ivory coast?\",\n  \"why do married women cheat?\",\n  \"why are urls encoded?\",\n  \"why do octopus eat themselves?\",\n  \"why is rte player so slow?\",\n  \"why are cbc tests ordered?\",\n  \"why are there no girl djs?\",\n  \"why are there troops in afghanistan?\",\n  \"why is pt barnum important?\",\n  \"why are women moody?\",\n  \"why are diamonds hard?\",\n  \"why do everyone hate me?\",\n  \"why is hr diagram important?\",\n  \"why are boys so mean?\",\n  \"why are mushrooms growing in my garden?\",\n  \"why are bcs games on espn?\",\n  \"why do keloids itch?\",\n  \"why is kale so good for you?\",\n  \"why is there so many svchost.exe running?\",\n  \"why is ochem so hard?\",\n  \"why are vocs bad?\",\n  \"why are dams bad?\",\n  \"why are ct scans expensive?\",\n  \"why are all bf3 servers empty?\",\n  \"why is our planet called earth?\",\n  \"why is there grass in the infield of a baseball field?\",\n  \"why do tick bites swell?\",\n  \"why is og kush the best?\",\n  \"why is there very little room aboard alvin?\",\n  \"why is there no mma in new york?\",\n  \"why is identity thief rated r?\",\n  \"why are ap tests so hard?\",\n  \"why do bpds move on so quickly?\",\n  \"why are jrpgs so long?\",\n  \"why do organisms need nutrients?\",\n  \"why is nini smalls famous?\",\n  \"why is avocado bad for you?\",\n  \"why are deserts located where they are?\",\n  \"why is there opposition to whaling?\",\n  \"why do mlb players use wood bats?\",\n  \"why is energy efficiency important?\",\n  \"why are there policies and procedures?\",\n  \"why are people against lgbt?\",\n  \"why is there australians in django?\",\n  \"why is nfp morally acceptable?\",\n  \"why are aquarians so weird?\",\n  \"why is ftb called ftb?\",\n  \"why is comcast internet so slow?\",\n  \"why is yuvraj not playing?\",\n  \"why is there amber alert?\",\n  \"why are odd future called ofwgkta?\",\n  \"why are xml files blocked?\",\n  \"why do english say bloody?\",\n  \"why are there abandoned cars in dubai?\",\n  \"why do rpgs always have spiders?\",\n  \"why is dsl upload so slow?\",\n  \"why is fsck_hfs running?\",\n  \"why is user experience important?\",\n  \"why do they call toronto tdot?\",\n  \"why is d\\\"day important?\",\n  \"why are animals afraid of humans?\",\n  \"why is there ads on google?\",\n  \"why is og kush so strong?\",\n  \"why is soy milk bad for you?\",\n  \"why is there egypt?\",\n  \"why is muscle milk bad for you?\",\n  \"why are there hallucinations with malaria?\",\n  \"why do i get ttl expired in transit?\",\n  \"why are ikea products so popular?\",\n  \"why is equity like a call option?\",\n  \"why are knives serrated?\",\n  \"why is there 2 eids?\",\n  \"why do people say dh?\",\n  \"why do spiders exist?\",\n  \"why are keurigs so expensive?\",\n  \"why is there a glacier on mt kilimanjaro?\",\n  \"why are tides important?\",\n  \"why are overweight people always hot?\",\n  \"why do i need more gb on xbox?\",\n  \"why is there famine?\",\n  \"why is cfc dangerous?\",\n  \"why is hydrogen bonding only possible with hydrogen?\",\n  \"why do snails foam with salt?\",\n  \"why do zoos close so early?\",\n  \"why are there nuns?\",\n  \"why is hummus not paleo?\",\n  \"why is there svchost?\",\n  \"why is nursing school so hard?\",\n  \"why do we need dll files?\",\n  \"why do ionic solutions conduct electricity?\",\n  \"why is there mla?\",\n  \"why do ur breast hurt?\",\n  \"why is there orange liquid in my poop?\",\n  \"why do lsu fans say honey badger?\",\n  \"why are there small flies in my house?\",\n  \"why is there orange cheese?\",\n  \"why do i have eczema?\",\n  \"why is t mobile so slow?\",\n  \"why do cats eat grass?\",\n  \"why do shadows move ks2?\",\n  \"why is school food so bad?\",\n  \"why is tebow a bad qb?\",\n  \"why is rosa parks famous?\",\n  \"why do onions make me sick?\",\n  \"why are atvs not street legal?\",\n  \"why is omegle not working?\",\n  \"why are tlc strips marked with pencil?\",\n  \"why is there an error on page on facebook?\",\n  \"why do strokes happen?\",\n  \"why are quilts painted on barns?\",\n  \"why do small dogs shiver?\",\n  \"why do i feel nauseous?\",\n  \"why do i by jason aldean?\",\n  \"why there is kolaveri di free download?\",\n  \"why is there a red cross on https?\",\n  \"why is there swapping in some systems?\",\n  \"why are svedberg units not additive?\",\n  \"why do people want pgems?\",\n  \"why is bf3 so blue?\",\n  \"why are hawksbill sea turtles endangered?\",\n  \"why is akito so mean?\",\n  \"why do bcaas taste so bad?\",\n  \"why do you let me stay here lyrics?\",\n  \"why do sri lankans have portuguese names?\",\n  \"why is there 204 squares on a chessboard?\",\n  \"why is rdj so hot?\",\n  \"why are there hashtags on instagram?\",\n  \"why is there iron in sand?\",\n  \"why is equilibrium dynamic?\",\n  \"why are dogs color blind?\",\n  \"why is there censorship in america?\",\n  \"why is slap shot rated r?\",\n  \"why do addresses in queens have dashes?\",\n  \"why is there an e instead of 4g?\",\n  \"why is there cell division?\",\n  \"why do hr projects fail?\",\n  \"why do police use horses?\",\n  \"why do we go for wcf?\",\n  \"why do headaches happen?\",\n  \"why is there ethnic conflict in canada?\",\n  \"why is there 1760 yards in a mile?\",\n  \"why is there abuse in foster homes?\",\n  \"why are there eight days of chanukah?\",\n  \"why do people say ftw yahoo?\",\n  \"why are there so many polynesians in utah?\",\n  \"why are they called french fries?\",\n  \"why do we precompile jsp?\",\n  \"why are there funeral viewings?\",\n  \"why is jquery bad?\",\n  \"why do sims sneeze?\",\n  \"why is the zl1 on hold?\",\n  \"why is buddhism so popular?\",\n  \"why are zebras endangered?\",\n  \"why do dsl modems fail?\",\n  \"why do we use ajax in asp net?\",\n  \"why are there maggots in my garbage can?\",\n  \"why is ariana grande famous?\",\n  \"why is ssj4 so weak?\",\n  \"why do people in rwanda speak french?\",\n  \"why is there traffic right now?\",\n  \"why is there an azerty keyboard?\",\n  \"why do bryophytes need water?\",\n  \"why do rwandans speak french?\",\n  \"why are there extremes in sunlight in the nordic countries?\",\n  \"why is there tax online?\",\n  \"why do canadians eh?\",\n  \"why is dzhokhar tsarnaev?\",\n  \"why is there blood in my egg?\",\n  \"why do athletes sit in ice baths?\",\n  \"why are oocytes important?\",\n  \"why are twinkies gone?\",\n  \"why is there fog in san francisco?\",\n  \"why are people buried 6 ft?\",\n  \"why is wuthering heights a classic?\",\n  \"why do khajiit lick their?\",\n  \"why is there blood after i poop?\",\n  \"why do java developers wear glasses?\",\n  \"why are there big balls on power lines?\",\n  \"why is there music playing on my mac?\",\n  \"why is ariana grande so hot?\",\n  \"why are cpap machines so expensive?\",\n  \"why is ryan gosling so hot?\",\n  \"why are pounds represented as lbs?\",\n  \"why do glow sticks glow?\",\n  \"why is there www3?\",\n  \"why do eskimos not get scurvy?\",\n  \"why is ohio called the heartland?\",\n  \"why is bw3 called bdubs?\",\n  \"why are hp touchpads on sale?\",\n  \"why is okra gooey?\",\n  \"why is ahab obsessed with killing moby-dick?\",\n  \"why is equilibrium called dynamic?\",\n  \"why is there a slash through https?\",\n  \"why do japanese use chopsticks?\",\n  \"why do drugs?\",\n  \"why are nipples sore?\",\n  \"why do people like fps games?\",\n  \"why are nsaids bad for heart failure?\",\n  \"why is blood pressure important?\",\n  \"why do ethnic groups tend to cluster?\",\n  \"why do fsh test?\",\n  \"why are ejidos disappearing in mexico?\",\n  \"why do victims of abuse feel guilty?\",\n  \"why are transformers rated in kva instead of kw?\",\n  \"why is there r in mrs?\",\n  \"why is hwy 1 closed?\",\n  \"why do nurses provide tracheostomy care?\",\n  \"why do dogs hump?\",\n  \"why is there mucus in my throat?\",\n  \"why are there toothpicks in sandwiches?\",\n  \"why is umbrella evil?\",\n  \"why is there ethics in psychology?\",\n  \"why is there stuff in my belly button?\",\n  \"why are there square trees in panama?\",\n  \"why is there usually a breeze at the beach?\",\n  \"why do oakleys feel cheap?\",\n  \"why are gnats so bad?\",\n  \"why is iexplore.exe running in the background?\",\n  \"why are viruses considered to be nonliving?\",\n  \"why do mmos fail?\",\n  \"why are there so many japanese in oahu?\",\n  \"why is kw constant?\",\n  \"why is there fuzz on a tennis ball job interview?\",\n  \"why do uakaris have red faces?\",\n  \"why are there youthful populations?\",\n  \"why are there australians in django?\",\n  \"why do html tags appear?\",\n  \"why do quarries have water?\",\n  \"why do pms cramps hurt so bad?\",\n  \"why is there gluten in oats?\",\n  \"why are xylem cells dead?\",\n  \"why do countries fdi?\",\n  \"why is dcuo world down?\",\n  \"why are there slits in boxers?\",\n  \"why is ghee better than butter?\",\n  \"why is there condensation in my fridge?\",\n  \"why are objects lighter in water?\",\n  \"why is bbm good?\",\n  \"why is imovie crashing?\",\n  \"why is there night time?\",\n  \"why are there worms in my dogs food?\",\n  \"why is there no pokemon mmorpg?\",\n  \"why is there rdsa and rdsb?\",\n  \"why are rpgs so bad?\",\n  \"why is there beauty pageants?\",\n  \"why are winston and julia convinced?\",\n  \"why is decision making important?\",\n  \"why are nba players paid so much?\",\n  \"why is there an error on youtube?\",\n  \"why are potholes round?\",\n  \"why is there no nikeid in canada?\",\n  \"why is there no kangaroos in africa?\",\n  \"why do sheets pill?\",\n  \"why is ukitake sick?\",\n  \"why do bbm messages not send?\",\n  \"why is hr taking so long?\",\n  \"why is algeria dza?\",\n  \"why are there 31 bullets in bf3?\",\n  \"why is eiffel tower famous?\",\n  \"why do jwoww and sammi fight?\",\n  \"why is there tornado alley?\",\n  \"why do we celebrate bhogi?\",\n  \"why is aaron hernandez in jail?\",\n  \"why is there no ikea in south africa?\",\n  \"why are hr metrics important to organizations?\",\n  \"why is there zombies in dead island?\",\n  \"why are texas counties important quizlet?\",\n  \"why are there cartilage rings in the trachea?\",\n  \"why do externalities occur?\",\n  \"why is vmware better than hyper-v?\",\n  \"why do quail peck each other?\",\n  \"why do rc helicopters have two rotors?\",\n  \"why are there bugs in my oatmeal?\",\n  \"why is rpc server unavailable?\",\n  \"why is there an age limit for olympic soccer?\",\n  \"why is instagram not posting to facebook?\",\n  \"why is rwanda in poverty?\",\n  \"why is there no cm8?\",\n  \"why is sunday the first day of the week?\",\n  \"why do fuses blow in cars?\",\n  \"why are llamas called llamas?\",\n  \"why is there olympic torch?\",\n  \"why is uganda an ledc?\",\n  \"why is radiation dangerous?\",\n  \"why is there a 95 if jose enrique?\",\n  \"why is nh3 a base in water?\",\n  \"why are there australian standards and industry standards?\",\n  \"why is okra slimy?\",\n  \"why do people hate tmz?\",\n  \"why is xbox banned in china?\",\n  \"why do fbc?\",\n  \"why is there ip conflicting address?\",\n  \"why is there is an easter bunny?\",\n  \"why do ias?\",\n  \"why are cellphones important?\",\n  \"why is there quartz in clocks?\",\n  \"why do people hate rwj?\",\n  \"why is eyelid swollen and sore?\",\n  \"why is fwd better than rwd in snow?\",\n  \"why are cbc labs done?\",\n  \"why is uc berkeley called california?\",\n  \"why is there ascites in liver cirrhosis?\",\n  \"why is lust a sin?\",\n  \"why is there zulu time?\",\n  \"why are there spots on my back?\",\n  \"why is estrogen bad?\",\n  \"why is there blood in my sperm?\",\n  \"why are there lumps under my armpits?\",\n  \"why are .xlsm files so large?\",\n  \"why are fsh levels high in menopause?\",\n  \"why are immigrants coming to america?\",\n  \"why is nyan cat so popular?\",\n  \"why are oil changes important?\",\n  \"why are there big ants in my house?\",\n  \"why is there evil in the world philosophy?\",\n  \"why are psychologists so expensive?\",\n  \"why are lunchables bad for you?\",\n  \"why is eid al fitr celebrated?\",\n  \"why is knuckleball hard to hit?\",\n  \"why is sweet caroline played at fenway park?\",\n  \"why are aye ayes called aye ayes?\",\n  \"why is xfire not recording?\",\n  \"why are you running for sga?\",\n  \"why is zimmerman trial important?\",\n  \"why are teachers important?\",\n  \"why do ranges not allow fmj?\",\n  \"why is there gender discrimination?\",\n  \"why is it called d\\\"gray man?\",\n  \"why do humans have hair?\",\n  \"why are utopias impossible?\",\n  \"why is cpi important?\",\n  \"why do koreans use metal bowls?\",\n  \"why is rvca so popular?\",\n  \"why are russians so rich?\",\n  \"why are equations important?\",\n  \"why do i get two lh surges?\",\n  \"why are kansas flags at half staff today?\",\n  \"why are there hurricanes?\",\n  \"why do histones bind tightly to dna?\",\n  \"why is there arsenic in apple juice?\",\n  \"why do runners shave legs?\",\n  \"why is there drug abuse?\",\n  \"why is there jealousy?\",\n  \"why are apple stocks going down?\",\n  \"why is ddt harmful?\",\n  \"why is there volcanoes in hawaii?\",\n  \"why are parents against weed?\",\n  \"why do lunar moths shake?\",\n  \"why is there an apple on the cover of twilight?\",\n  \"why is ct called the constitution state?\",\n  \"why are xd cards so expensive?\",\n  \"why do eels have slime?\",\n  \"why is there occupy wall street?\",\n  \"why are there different time zones in the us?\",\n  \"why are rmvb files so small?\",\n  \"why there is no trumpet christmas mp3?\",\n  \"why is ahmed gone from yard crashers?\",\n  \"why is there american english?\",\n  \"why is there always traffic?\",\n  \"why is there fungus in my garden?\",\n  \"why is there last call?\",\n  \"why do they?\",\n  \"why are cds reflective?\",\n  \"why are ac units measured in tons?\",\n  \"why do mushrooms grow on grass?\",\n  \"why are cod dlc on xbox first?\",\n  \"why are there systems of measurement?\",\n  \"why is there kidz bop?\",\n  \"why is ronald reagan important?\",\n  \"why are semis called semis?\",\n  \"why is there no longer yugoslavia?\",\n  \"why are there perverts on the internet?\",\n  \"why is lb used to abbreviate pounds?\",\n  \"why is drm bad?\",\n  \"why are sdaie strategies important?\",\n  \"why is gfci outlet tripping?\",\n  \"why are there two a in aaron?\",\n  \"why are skateboards so expensive?\",\n  \"why are there red lines on my thighs?\",\n  \"why do microphones use xlr?\",\n  \"why is xp better than vista?\",\n  \"why is eeoc important?\",\n  \"why are used games bad?\",\n  \"why is tpb not working?\",\n  \"why are there japanese in hawaii?\",\n  \"why do parrots dance to music?\",\n  \"why is there no dlc for skyrim?\",\n  \"why do passports have rfid chips?\",\n  \"why is there symbolism in the great gatsby?\",\n  \"why is mt kilimanjaro cold?\",\n  \"why do legs itch while walking?\",\n  \"why is there quarter moon?\",\n  \"why are estuaries important?\",\n  \"why are bbc dvds so expensive?\",\n  \"why are there nickels on robert kennedy\\\"s grave?\",\n  \"why is ebay billing me?\",\n  \"why is there enhanced greenhouse effect?\",\n  \"why is ppi important?\",\n  \"why is ebay so expensive?\",\n  \"why is ssl important?\",\n  \"why are bike tires so expensive?\",\n  \"why is europe so racist?\",\n  \"why is there rubber in turf?\",\n  \"why are there protests at the french open?\",\n  \"why is europe so secular?\",\n  \"why is there two chicago baseball teams?\",\n  \"why is there corn in my poop?\",\n  \"why do scottish men wear kilts?\",\n  \"why is there carbon dioxide in soda?\",\n  \"why is t mobile slow?\",\n  \"why is there violence in israel?\",\n  \"why is tli3 unstable?\",\n  \"why is iboga illegal?\",\n  \"why is after earth so bad?\",\n  \"why are there flying ants?\",\n  \"why is there segregation?\",\n  \"why is there no ozone layer in australia?\",\n  \"why are permanent markers permanent ehow?\",\n  \"why are there tons of flies in my house?\",\n  \"why are sunburns red?\",\n  \"why is jsf better than jsp?\",\n  \"why is there lots of blood when i poop?\",\n  \"why do gps use spheres?\",\n  \"why are there turkey protests?\",\n  \"why is there vevo?\",\n  \"why are italians greasy?\",\n  \"why do ducks like bread?\",\n  \"why is fluoride bad?\",\n  \"why is ignatius of loyola important?\",\n  \"why are there kings?\",\n  \"why are igneous rocks called primary rocks?\",\n  \"why do massages feel good?\",\n  \"why are there different versions of the bible?\",\n  \"why is bfme2 so expensive?\",\n  \"why are microwaves bad for you?\",\n  \"why are chimps so strong?\",\n  \"why do gangs form?\",\n  \"why do hard boiled eggs smell?\",\n  \"why are the bees dying?\",\n  \"why are there no nhs dentists?\",\n  \"why are there bots on omegle?\",\n  \"why is cinco de mayo celebrated?\",\n  \"why are there irish people in boston?\",\n  \"why are ostriches pink?\",\n  \"why is there an x where a picture should be?\",\n  \"why do lunar eclipses occur?\",\n  \"why are there outriders in chuckwagon races?\",\n  \"why is canola oil bad for you?\",\n  \"why do aaa batteries get hot?\",\n  \"why are gdp and gnp difference?\",\n  \"why are there 2 umbilical arteries?\",\n  \"why is nbc so liberal?\",\n  \"why is upper egypt in the south?\",\n  \"why is ulysses important?\",\n  \"why are german shepherds police dogs?\",\n  \"why are dc characters so overpowered?\",\n  \"why do babies need ng tubes?\",\n  \"why are testicles sensitive?\",\n  \"why are dwarf planets important?\",\n  \"why is hillier lake pink?\",\n  \"why hello there mr whale?\",\n  \"why is there overcrowding in california prisons?\",\n  \"why is there a need to produce okazaki fragments?\",\n  \"why is wcf so complicated?\",\n  \"why is there no epl this weekend?\",\n  \"why are rl circuits seldom used?\",\n  \"why is there ice in my dehumidifier?\",\n  \"why do moles appear?\",\n  \"why do tornadoes happen?\",\n  \"why is ib good?\",\n  \"why are there so many zergs?\",\n  \"why is sugar bad?\",\n  \"why is tn the volunteer state?\",\n  \"why do judges wear robes?\",\n  \"why is uefi so slow?\",\n  \"why is ns compulsory?\",\n  \"why are there fur shops in crete?\",\n  \"why do night sweats happen at night?\",\n  \"why do llc?\",\n  \"why are olives salty?\",\n  \"why is there expertise in pvp gear?\",\n  \"why do mrcp?\",\n  \"why is fdi important to developing countries?\",\n  \"why is there usb ports on a ps2?\",\n  \"why do oscars dig holes?\",\n  \"why are there no trombones in dci?\",\n  \"why do flies fly in squares?\",\n  \"why is there no fm radio for iphone?\",\n  \"why is there caffeine in my shampoo?\",\n  \"why is iceland green?\",\n  \"why are odysseus and penelope a good match?\",\n  \"why is government necessary?\",\n  \"why is rfc important?\",\n  \"why do pc games lag?\",\n  \"why are there 2 a in aaron?\",\n  \"why is bcl3 a lewis acid?\",\n  \"why do you write xoxo?\",\n  \"why do oogenesis and spermatogenesis differ?\",\n  \"why is oyster called oyster?\",\n  \"why are there so many psychology majors?\",\n  \"why is dsl so slow at night?\",\n  \"why is paula deen in court?\",\n  \"why is hdmi better?\",\n  \"why is jc penney sorry?\",\n  \"why are there asylum seekers in australia?\",\n  \"why are there not eclipses every month?\",\n  \"why is there bumps on my forehead?\",\n  \"why are there glaciers?\",\n  \"why is taylor swift famous?\",\n  \"why do nba teams sign and trade?\",\n  \"why do saltwater fish die in freshwater?\",\n  \"why is gsp not fighting?\",\n  \"why is uwe boll so bad?\",\n  \"why do tibetans eat humans?\",\n  \"why are there tax refunds?\",\n  \"why are there buttons on sleeves?\",\n  \"why are there helicopters over berkeley?\",\n  \"why is target called city?\",\n  \"why do gps satellites lose time?\",\n  \"why are there stds?\",\n  \"why do akas skee wee?\",\n  \"why are quest bars so expensive?\",\n  \"why is school good?\",\n  \"why are aerosols important in the atmosphere?\",\n  \"why do cheetahs have spots?\",\n  \"why do you need mx boots?\",\n  \"why do sycamore trees shed bark?\",\n  \"why are there circular fields?\",\n  \"why is yitien 18+?\",\n  \"why do shrooms make you trip?\",\n  \"why do you need vpn access?\",\n  \"why are there american troops in japan?\",\n  \"why are there tops and bottoms?\",\n  \"why do pitchers rub the ball?\",\n  \"why is othello timeless?\",\n  \"why do we need hs2?\",\n  \"why are economic models useful?\",\n  \"why are hardees and carls jr?\",\n  \"why are they phasing out lpns?\",\n  \"why is iker casillas not playing?\",\n  \"why is there a cdl requirement?\",\n  \"why are pounds abbreviated lbs?\",\n  \"why is there no cure for cancer?\",\n  \"why is dfs not complete?\",\n  \"why are there tornadoes in the midwest?\",\n  \"why is there tissue edema in kwashiorkor?\",\n  \"why is there conflict between india and pakistan?\",\n  \"why is dsm important?\",\n  \"why is eugenics bad?\",\n  \"why do zetas behead?\",\n  \"why do dsl modems need to be reset?\",\n  \"why is there lightning without rain?\",\n  \"why are rhinos poached?\",\n  \"why do trees shed leaves?\",\n  \"why is asbestos bad?\",\n  \"why is rwd more fun?\",\n  \"why is elphaba green?\",\n  \"why do canadians say eh?\",\n  \"why are some x men blue?\",\n  \"why are there no great women artists?\",\n  \"why do we use hfcs?\",\n  \"why is there a 2 after my ssid?\",\n  \"why is dwight eisenhower important?\",\n  \"why is cn toxic?\",\n  \"why are there tolls on i 95?\",\n  \"why are csa payments so high?\",\n  \"why is rwd better than fwd?\",\n  \"why is ethernet capitalized?\",\n  \"why is there percent error?\",\n  \"why are rc helicopters out of stock?\",\n  \"why is xp running slow?\",\n  \"why are teachers mean?\",\n  \"why is there oil on my spark plugs?\",\n  \"why are urine sediments important?\",\n  \"why are biogeochemical cycles important?\",\n  \"why is there human rights?\",\n  \"why do rhinos get killed?\",\n  \"why are there scams on craigslist?\",\n  \"why do dbz fans hate superman?\",\n  \"why is erica gimbel so twitchy?\",\n  \"why are there swarms of ladybirds?\",\n  \"why do ppl lie?\",\n  \"why are ethics so important?\",\n  \"why are there purple dots on my leg?\",\n  \"why are there no vulcans in the next generation?\",\n  \"why is there sesame seeds on buns?\",\n  \"why are ifunny servers down?\",\n  \"why are zippers called flies?\",\n  \"why is there more women than men?\",\n  \"why is there low precipitation in deserts?\",\n  \"why do teeth chip?\",\n  \"why do abigail and betty name names?\",\n  \"why are abs important?\",\n  \"why are ky liquibeads discontinued?\",\n  \"why do missions have bells?\",\n  \"why is there sweetest day?\",\n  \"why are there 12 jurors?\",\n  \"why do manufacturers prefer hfcs to sucrose?\",\n  \"why is there no rna processing in prokaryotes?\",\n  \"why is nitrogen important?\",\n  \"why is wca calling me?\",\n  \"why do infielders throw sidearm?\",\n  \"why do ears get plugged?\",\n  \"why do owls have ear tufts?\",\n  \"why are xrays used to detect fractures?\",\n  \"why do i need ltc?\",\n  \"why is there gold in alaska?\",\n  \"why do hp chargers stop working?\",\n  \"why are arabs so rich?\",\n  \"why is salmon good for you?\",\n  \"why is qe good for equities?\",\n  \"why is ppm equal to mg/l?\",\n  \"why is there inflammation with osteoarthritis?\",\n  \"why do keloids form around piercings?\",\n  \"why is hpv?\",\n  \"why do glaciers advance and retreat?\",\n  \"why is kombucha good for you?\",\n  \"why are there factions in divergent?\",\n  \"why do tires blow out?\",\n  \"why is there capital punishment?\",\n  \"why are bbc banned from ibrox?\",\n  \"why are there eye boogers?\",\n  \"why are suvs rwd?\",\n  \"why isn\\\"t there ibooks for mac?\",\n  \"why is there mercury in fish?\",\n  \"why is kwashiorkor common in developing countries?\",\n  \"why is there no liberal ayn rand?\",\n  \"why are kung fu movies dubbed?\",\n  \"why is ahmadinejad not running?\",\n  \"why are there little bumps on my breast?\",\n  \"why are nj bagels so good?\",\n  \"why is winnie the pooh banned?\",\n  \"why are there lefties and righties?\",\n  \"why are there two mnf games?\",\n  \"why is there no tylenol in stores?\",\n  \"why do zerg need more bases?\",\n  \"why is there wood in sunflower seeds?\",\n  \"why is there swelling after a mosquito bite?\",\n  \"why are gsxr so popular?\",\n  \"why are yeasts significant from a medical perspective?\",\n  \"why do sinkholes form?\",\n  \"why are there no dwarves in oblivion?\",\n  \"why is there ice in my milk?\",\n  \"why are there wisdom teeth?\",\n  \"why is lh high?\",\n  \"why is there slavery?\",\n  \"why is there gold in nome alaska?\",\n  \"why do wolves howl?\",\n  \"why are noble gases non reactive?\",\n  \"why is there absolute zero?\",\n  \"why is there weight gain after hysterectomy?\",\n  \"why are jwoww and roger fighting?\",\n  \"why do companies have ltd?\",\n  \"why are birds important?\",\n  \"why is there very little agriculture in canada?\",\n  \"why are odd numbers prime?\",\n  \"why are hippos so mean?\",\n  \"why is bread bad for you?\",\n  \"why is there no yuengling in california?\",\n  \"why do i need a xoom?\",\n  \"why are ants so strong?\",\n  \"why is agriculture difficult in japan?\",\n  \"why are oysters milky?\",\n  \"why are there weight classes in boxing?\",\n  \"why are fm transmitters so bad?\",\n  \"why do ptlls course?\",\n  \"why is shasta lake so low?\",\n  \"why is there no lh surge?\",\n  \"why are nba referees so bad?\",\n  \"why do ovaries hurt?\",\n  \"why are avocados expensive?\",\n  \"why are squatter settlements absent from cuba?\",\n  \"why do dorms use twin xl?\",\n  \"why are csi shows so popular?\",\n  \"why is toby a?\",\n  \"why is there one girl smurf?\",\n  \"why are mtv shows scripted?\",\n  \"why is prostitution bad?\",\n  \"why is water neutral?\",\n  \"why is cpm important?\",\n  \"why use do while loop java?\",\n  \"why are italians so angry?\",\n  \"why is school spirit important?\",\n  \"why is dmaa bad for you?\",\n  \"why is mr krab\\\"s daughter a whale?\",\n  \"why is there exams?\",\n  \"why is yugioh so popular?\",\n  \"why are quantum computers faster?\",\n  \"why is there no youtube app?\",\n  \"why do tsunamis occur for kids?\",\n  \"why are there itchy bumps on my skin?\",\n  \"why is dft periodic?\",\n  \"why do you use ftp?\",\n  \"why are fake mustaches so popular?\",\n  \"why is iodine important?\",\n  \"why do graphic designers prefer macs?\",\n  \"why is umbridge so evil?\",\n  \"why do mmorpgs fail?\",\n  \"why are men sensitive after ejaculation?\",\n  \"why is mk9 so hard?\",\n  \"why are urban areas redeveloped?\",\n  \"why are there no 3.5 ssd?\",\n  \"why is there is salt in the ocean?\",\n  \"why are there letters in math?\",\n  \"why is wti brent spread narrowing?\",\n  \"why is mx338 closing?\",\n  \"why are older men attracted to me?\",\n  \"why is gfwl bad?\",\n  \"why are upright rows bad?\",\n  \"why do ovarian cysts occur?\",\n  \"why is there implantation cramping?\",\n  \"why are ozil\\\"s eyes so big?\",\n  \"why do sand flies bite?\",\n  \"why is there no sonic in dc?\",\n  \"why do babies spit up?\",\n  \"why do ryanair cancel flights?\",\n  \"why do we celebrate bhanu jayanti?\",\n  \"why is physical digestion important?\",\n  \"why are icons not showing on the desktop?\",\n  \"why is dbsk and tvxq?\",\n  \"why are awnings so expensive?\",\n  \"why are churches tax exempt?\",\n  \"why is tmj excluded?\",\n  \"why is there chunks of blood in my period?\",\n  \"why is there tpa skins?\",\n  \"why is there pimples on my bum?\",\n  \"why is voter turnout low?\",\n  \"why are dwarf planets small?\",\n  \"why is dpa important?\",\n  \"why is there hair on my fingers?\",\n  \"why do we deduct tds?\",\n  \"why is the number 13 unlucky?\",\n  \"why are my feet so dry?\",\n  \"why is there no yuengling in kentucky?\",\n  \"why is usain bolt so fast?\",\n  \"why do wwe fans yell what?\",\n  \"why is there numbers in how i met your mother?\",\n  \"why is lv made in spain?\",\n  \"why are there multiple svchost processes running?\",\n  \"why do little birds chase hawks?\",\n  \"why is tpg internet so slow?\",\n  \"why are oysters so expensive?\",\n  \"why are dealerships closed on sunday?\",\n  \"why is bf3 nonpolar?\",\n  \"why do you want to be a doctor?\",\n  \"why we do fft?\",\n  \"why are ukulele strings out of order?\",\n  \"why do sloths have less muscle?\",\n  \"why are apricots good for you?\",\n  \"why is there arsenic in our food?\",\n  \"why is there tapping in my wall?\",\n  \"why is there urine in my tampon?\",\n  \"why is there urine in my blood?\",\n  \"why is there new zodiac signs?\",\n  \"why are gnats attracted to me?\",\n  \"why do things float ks3?\",\n  \"why is there youtube poop?\",\n  \"why do i see nginx?\",\n  \"why are knives allowed on planes?\",\n  \"why are aztecs called aztecs?\",\n  \"why are ds games so expensive?\",\n  \"why is jsessionid appended to url?\",\n  \"why do nostrils flare?\",\n  \"why is uc irvine a good school?\",\n  \"why are pc sales declining?\",\n  \"why is there judicial review?\",\n  \"why is ykk on zips?\",\n  \"why do you like wuthering heights?\",\n  \"why are bb\\\"s called bb\\\"s?\",\n  \"why are kleenex cool touch cold?\",\n  \"why do aerosols have a cooling effect?\",\n  \"why is there an owl in my yard?\",\n  \"why are there only 2 sith?\",\n  \"why is zimmerman gaining weight?\",\n  \"why are there king tides?\",\n  \"why are award shows always on sundays?\",\n  \"why do vw bugs smell like crayons?\",\n  \"why do i want lte?\",\n  \"why are the sf giants called misfits?\",\n  \"why are there phases of matter?\",\n  \"why is there an owl on the us dollar bill?\",\n  \"why are hd channels louder?\",\n  \"why is only one breast growing?\",\n  \"why is there tissue in my period?\",\n  \"why is running so hard?\",\n  \"why is alcohol so popular?\",\n  \"why is mustard good for burns?\",\n  \"why do hsa plans cost more?\",\n  \"why are there illuminati symbolism everywhere?\",\n  \"why is gas so high right now?\",\n  \"why are there itchy bumps on my elbow?\",\n  \"why is there uproar in egypt?\",\n  \"why are systems important?\",\n  \"why are wmds good?\",\n  \"why is vendilion clique good?\",\n  \"why do ivs infiltrate?\",\n  \"why is there swelling after injury?\",\n  \"why do ccb cause edema?\",\n  \"why are sea lions endangered?\",\n  \"why is there old and new testament?\",\n  \"why is there olympic games?\",\n  \"why is hf not ionic?\",\n  \"why is there eighteen holes in golf?\",\n  \"why do vampires drink blood?\",\n  \"why do feet and ankles swell?\",\n  \"why are there curves in the road?\",\n  \"why is ccl4 not an electrolyte?\",\n  \"why are troops in afghanistan?\",\n  \"why is uws so bad?\",\n  \"why are israel and palestine still fighting?\",\n  \"why do trains stop?\",\n  \"why is kris humphries fighting divorce?\",\n  \"why is xml important?\",\n  \"why is bbc clothing so expensive?\",\n  \"why is there a charge for the ehic?\",\n  \"why is there beauty in the breakdown?\",\n  \"why do the wicked prosper?\",\n  \"why do ivas fail?\",\n  \"why are korean chopsticks metal?\",\n  \"why is there spotting during ovulation?\",\n  \"why is yuengling not sold in kentucky?\",\n  \"why are jwoww and sammi fighting?\",\n  \"why do i want to be a nurse?\",\n  \"why is uganda poor?\",\n  \"why are there no freshwater osmoconformers?\",\n  \"why are there seasons yahoo answers?\",\n  \"why are there turkish riots?\",\n  \"why do i need an fm3 in mexico?\",\n  \"why are there ghosts in harry potter?\",\n  \"why is it bw threes?\",\n  \"why is there plaque in my throat?\",\n  \"why is there fresh water and salt water?\",\n  \"why are there low urinals?\",\n  \"why do umpires touch the catchers back?\",\n  \"why are there gas station attendants in nj?\",\n  \"why do sugar gliders bite?\",\n  \"why are there economic bubbles?\",\n  \"why is tyler the creator so weird?\",\n  \"why are there hidden aliens in south park?\",\n  \"why is jk rowling so rich?\",\n  \"why are there mealworms in my room?\",\n  \"why are there no eyebrows on the mona lisa?\",\n  \"why are acids and bases corrosive?\",\n  \"why do plates move?\",\n  \"why are joints necessary?\",\n  \"why are there tears when you yawn?\",\n  \"why are football players so big?\",\n  \"why are there religions yahoo?\",\n  \"why do twins have different fingerprints?\",\n  \"why is kansas city in missouri?\",\n  \"why is there no mcdonalds in namibia?\",\n  \"why is there chinese artwork for lol?\",\n  \"why do printers use cmyk?\",\n  \"why is there extreme pressure in the deep sea?\",\n  \"why is there skin in my period?\",\n  \"why do ups batteries go bad?\",\n  \"why do syrians hate assad?\",\n  \"why is there a pause after a pvc?\",\n  \"why is uterus enlarged?\",\n  \"why is swain underplayed?\",\n  \"why do we need gdp growth?\",\n  \"why are there protests in dc?\",\n  \"why is there engine oil in my radiator?\",\n  \"why do i need gb on a playstation 3?\",\n  \"why is siri named siri?\",\n  \"why are utility stocks dropping?\",\n  \"why are djs paid so much?\",\n  \"why are there ads on my browser?\",\n  \"why is macedonia fyr?\",\n  \"why do schools have finals?\",\n  \"why is breakfast so important?\",\n  \"why are there ghost children?\",\n  \"why are there hydrothermal vents?\",\n  \"why is air conditioning bad for you?\",\n  \"why do rcd trip?\",\n  \"why are mussels different colors?\",\n  \"why do we yawn vsauce?\",\n  \"why are there homeless people?\",\n  \"why are ionic solids brittle?\",\n  \"why do mlb pitchers wear necklace?\",\n  \"why is greece in debt?\",\n  \"why are cyanobacteria classified as prokaryotes?\",\n  \"why are there seeds in my newborn\\\"s poop?\",\n  \"why are bottle rockets illegal?\",\n  \"why do eels migrate?\",\n  \"why is tcp slower than udp?\",\n  \"why is voting important?\",\n  \"why are there no bfbc2 servers?\",\n  \"why is blurred lines controversy?\",\n  \"why is there no idvd?\",\n  \"why is jrr tolkien an inspiration?\",\n  \"why are edm festivals so expensive?\",\n  \"why is td bank calling me?\",\n  \"why is there an empty pod on the london eye?\",\n  \"why are they cancelling sgu?\",\n  \"why do italians wear gold chains?\",\n  \"why is there twitching under my eye?\",\n  \"why are districts turning to rti?\",\n  \"why do zippers say xyz?\",\n  \"why is global warming man made?\",\n  \"why are lg tvs so cheap?\",\n  \"why is yugioh zexal so bad?\",\n  \"why is fennel good for you?\",\n  \"why do golfers say fore?\",\n  \"why do we have hiccups?\",\n  \"why are aquariums bad?\",\n  \"why is cgi used in movies?\",\n  \"why is psychology important in everyday life?\",\n  \"why are there lines when i print?\",\n  \"why are kappas called nupes?\",\n  \"why is tomato considered a fruit?\",\n  \"why do dogs bury bones?\",\n  \"why are the kyoto agreements important?\",\n  \"why are gpp and npp important?\",\n  \"why is accounting important?\",\n  \"why are you like this?\",\n  \"why are lymphocytes high?\",\n  \"why are knee injuries so common?\",\n  \"why are flights so expensive 2013?\",\n  \"why are hydrocarbons nonpolar?\",\n  \"why is fml not working?\",\n  \"why do ladybugs have spots?\",\n  \"why is email important?\",\n  \"why is there anything?\",\n  \"why is tcu qb suspended?\",\n  \"why do nfl players wear helmets?\",\n  \"why is there world debt?\",\n  \"why are pdfs so big?\",\n  \"why is there damp on my walls?\",\n  \"why is fx celebrating adam sandler?\",\n  \"why is there no channel 1?\",\n  \"why is there yellow stuff in my hair?\",\n  \"why are there wasps in my room?\",\n  \"why are enzymes important to cells?\",\n  \"why do ffl charge a fee?\",\n  \"why are there zits on my scalp?\",\n  \"why are there ashes series in 2013 and 2015?\",\n  \"why is there an occupy movement?\",\n  \"why is feedback important?\",\n  \"why is there dead skin on my lips?\",\n  \"why is human development considered a science?\",\n  \"why is there water at the bottom of my dishwasher?\",\n  \"why is california so awesome?\",\n  \"why are knots called knots?\",\n  \"why are tums bad for you?\",\n  \"why do people say dd?\",\n  \"why are they wearing mhk?\",\n  \"why do skin tags form?\",\n  \"why do people text xd?\",\n  \"why do iyengars celebrate karthigai?\",\n  \"why do episcopalians pray for the dead?\",\n  \"why is glory rated r?\",\n  \"why is hs2 taking so long?\",\n  \"why is there no ipad facebook app?\",\n  \"why are hr so useless?\",\n  \"why are vw vans so expensive?\",\n  \"why do kyrgyz hate uzbeks?\",\n  \"why is oblivion rated pg-13?\",\n  \"why are there m ms in trail mix?\",\n  \"why is zumba bad for you?\",\n  \"why is tlc used?\",\n  \"why are drugs bad for your health?\",\n  \"why are there outie belly buttons?\",\n  \"why do gnats attack me?\",\n  \"why are ostriches suicidal?\",\n  \"why is weed called loud?\",\n  \"why is gmo wheat bad?\",\n  \"why is dsl so expensive?\",\n  \"why is there citric acid in shampoo?\",\n  \"why is swag so popular?\",\n  \"why is vw golf so popular?\",\n  \"why is there myths?\",\n  \"why is mac better than pc?\",\n  \"why is there foam on my pool?\",\n  \"why do thumbs.db?\",\n  \"why do mcdonalds drinks taste different?\",\n  \"why is there voices in my head?\",\n  \"why is there an hpv vaccine controversy?\",\n  \"why is there scaffolding on the washington monument?\",\n  \"why are there no pictures on my bbm?\",\n  \"why are there quiet people?\",\n  \"why is odb a referee?\",\n  \"why is my ixora not blooming?\",\n  \"why do erp systems fail?\",\n  \"why is there no itv hd?\",\n  \"why is gnma prices dropping?\",\n  \"why is there edema in kidney disease?\",\n  \"why is seaweed good for you?\",\n  \"why is there sharp pain in my chest?\",\n  \"why is adventure time so popular?\",\n  \"why do economic growth rates matter?\",\n  \"why are there italians in brazil?\",\n  \"why are vultures endangered?\",\n  \"why are ddr3 cheaper than ddr2?\",\n  \"why are igneous rocks often used in construction?\",\n  \"why is td width not working?\",\n  \"why do ocean currents effect climate?\",\n  \"why do immigrants come to america?\",\n  \"why are there no chinese mma fighters?\",\n  \"why are there separate servletrequest and httpservletrequest types?\",\n  \"why is there cellulite on my thighs?\",\n  \"why do ex girlfriends get jealous?\",\n  \"why do mma fighters have small chests?\",\n  \"why are there irregular galaxies?\",\n  \"why is ahimsa important?\",\n  \"why are bmw rwd?\",\n  \"why are there two ip addresses?\",\n  \"why are eyes bloodshot?\",\n  \"why are odd and even numbers important?\",\n  \"why are mtv commercials weird?\",\n  \"why is udina on the council when i choose anderson?\",\n  \"why are rednecks called rednecks?\",\n  \"why is xfinity so expensive?\",\n  \"why are vulcan ears pointy?\",\n  \"why are there refugees from bhutan?\",\n  \"why is armin van buuren the best?\",\n  \"why is there a stroller in gta?\",\n  \"why is cmyk used for printing?\",\n  \"why is there clear mucus in my stool?\",\n  \"why are gas prices going up in california?\",\n  \"why are there attention seekers?\",\n  \"why are there may day riots in seattle?\",\n  \"why are htpc cases so expensive?\",\n  \"why are dna and rna important for cells?\",\n  \"why is yantz in a wheelchair?\",\n  \"why is there no msn for android?\",\n  \"why do wwe fans hate tna?\",\n  \"why is yn fingers crossed?\",\n  \"why is mp4 larger than avi?\",\n  \"why are newborns so red?\",\n  \"why is there an apple on the cover of the twilight book?\",\n  \"why are td bank cards flat?\",\n  \"why are estuaries important to people?\",\n  \"why is tcu called the horned frogs?\",\n  \"why did ahn do come to australia?\",\n  \"why are leo women so jealous?\",\n  \"why is svchost running multiple times?\",\n  \"why is jwh-018 illegal?\",\n  \"why are bbs rs so expensive?\",\n  \"why is there quicksand?\",\n  \"why is vine popular?\",\n  \"why is victoria secret so expensive?\",\n  \"why is there no red dwarf 9?\",\n  \"why is there bright red blood when i wipe?\",\n  \"why is there fahrenheit and celsius?\",\n  \"why do men cheat on their wives?\",\n  \"why are there eyebrows?\",\n  \"why is there illuminati?\",\n  \"why do pregnant women get dizzy?\",\n  \"why are healthy teeth important?\",\n  \"why are the nra against gun control?\",\n  \"why is there chromium in garcinia cambogia?\",\n  \"why is csc 180 undefined?\",\n  \"why do ebay items get relisted?\",\n  \"why are there weight classes?\",\n  \"why do men have nnipples?\",\n  \"why do i see defaultwebpage.cgi?\",\n  \"why are edmunds and kbb so different?\",\n  \"why are er visits so expensive?\",\n  \"why are ivy league schools better?\",\n  \"why are there fruit flies in my house?\",\n  \"why is there a european crisis?\",\n  \"why is there no iphone 2?\",\n  \"why are solar winds ejected?\",\n  \"why is hwang-ho called sorrow of china?\",\n  \"why is cabin in the woods rated r?\",\n  \"why are reversing entries optional?\",\n  \"why are there other languages?\",\n  \"why are there eye bags?\",\n  \"why is there writing under the barcode?\",\n  \"why are sr20det illegal?\",\n  \"why is there no ssa theorem?\",\n  \"why do cells divide by mitosis?\",\n  \"why is zwee so cheap?\",\n  \"why is there an age limit in gymnastics?\",\n  \"why rsvps are important?\",\n  \"why is elisabeth leaving the view?\",\n  \"why is there no apostrophe in its?\",\n  \"why are headaches caused?\",\n  \"why do aghoris eat human flesh?\",\n  \"why are fx shows not on hulu?\",\n  \"why is there numbers on sky sports?\",\n  \"why are my ankles swollen?\",\n  \"why are akas frogs?\",\n  \"why are ngos bad?\",\n  \"why are estimates useful in patient treatment?\",\n  \"why do sunburns make you cold?\",\n  \"why is there dog fighting?\",\n  \"why are lsu and oregon playing in dallas?\",\n  \"why is there war in syria?\",\n  \"why are there new pokemon?\",\n  \"why do kryptonians speak english?\",\n  \"why is there snot in your nose?\",\n  \"why do amazon\\\"s prices fluctuate?\",\n  \"why is ian kinsler on the dl?\",\n  \"why are omegas called ques?\",\n  \"why are there worms in tequila?\",\n  \"why is there time?\",\n  \"why are there no female djs on dj mag\\\"s?\",\n  \"why is there olympic torch relay?\",\n  \"why are iphones the best?\",\n  \"why are edamame good for you?\",\n  \"why is he ignoring me?\",\n  \"why is gluten free better?\",\n  \"why is slade\\\"s son in the hospital?\",\n  \"why are there few impact craters on earth?\",\n  \"why is there day and night video?\",\n  \"why are there more autistic kids?\",\n  \"why are wiz khalifa and tyga beefing?\",\n  \"why is dying painful?\",\n  \"why do shoes squeak?\",\n  \"why is wmic so slow?\",\n  \"why is ccleaner so slow?\",\n  \"why are tacomas so expensive?\",\n  \"why are zucchini plants turn yellow?\",\n  \"why are there increasing opportunity costs?\",\n  \"why is there worms in my dog\\\"s poop?\",\n  \"why are oysters greedy worksheet?\",\n  \"why is oestrogen in the contraceptive pill?\",\n  \"why do dock leaves relieve nettle stings?\",\n  \"why is there dots on my arm?\",\n  \"why are there slugs on my porch?\",\n  \"why is everybody afraid of love vine?\",\n  \"why are there keys on a fence in wilmington nc?\",\n  \"why do stars twinkle?\",\n  \"why are sri lankans so dark?\",\n  \"why is there more wind during the day?\",\n  \"why do dying people ask for water?\",\n  \"why is sgt pepper so important?\",\n  \"why are udder covers free?\",\n  \"why are macs so expensive?\",\n  \"why is fma so good?\",\n  \"why do bsod happen?\",\n  \"why do tv shows start at odd times?\",\n  \"why is california bankrupt?\",\n  \"why is ibm stock going down?\",\n  \"why is there ice on mars?\",\n  \"why is there spam mail?\",\n  \"why is there an upper limit to cell size?\",\n  \"why are ecosystems dependent on the biodiversity of species?\",\n  \"why are new cars so expensive?\",\n  \"why are there genealogies in the bible?\",\n  \"why is ebp important in nursing?\",\n  \"why are bibles in hotels?\",\n  \"why is there gmc and chevy?\",\n  \"why is izzo suspended?\",\n  \"why is time machine so slow?\",\n  \"why do fda inspectors wear uniforms?\",\n  \"why are bathrooms called wc?\",\n  \"why are mcdonalds commercials in spanish?\",\n  \"why is mp3.li not working?\",\n  \"why are dwarfs heads so big?\",\n  \"why are eye exams important?\",\n  \"why is grant leaving ghost hunters?\",\n  \"why are beans good for you?\",\n  \"why are bcaa necessary?\",\n  \"why is there turbulence?\",\n  \"why is vshare not working?\",\n  \"why are iframes good?\",\n  \"why is ncis so bad?\",\n  \"why do air bubbles kill you?\",\n  \"why is pizza a vegetable?\",\n  \"why are steel cut oats better?\",\n  \"why is fn not working?\",\n  \"why are jobs so hard to get?\",\n  \"why do a ucc filing?\",\n  \"why are nunchucks illegal?\",\n  \"why is there pimples on my pubic area?\",\n  \"why is mhc polymorphic?\",\n  \"why is qe2 bad?\",\n  \"why is there a nl and al in baseball?\",\n  \"why are tv shows cancelled?\",\n  \"why do mlg players use m8a1?\",\n  \"why are there clouds?\",\n  \"why do qbs say hut?\",\n  \"why are government purchases autonomous?\",\n  \"why are glaciers important?\",\n  \"why is there planets?\",\n  \"why are there filler episodes in anime?\",\n  \"why do wwe wrestlers go to tna?\",\n  \"why is dora not on netflix anymore?\",\n  \"why is cpr performed?\",\n  \"why do people hate gta iv?\",\n  \"why is nme closing?\",\n  \"why is rms value used?\",\n  \"why is ptsd so hard to treat?\",\n  \"why is there a usb port on my dvr?\",\n  \"why is ksl not working?\",\n  \"why are operas in italian?\",\n  \"why is chipotle so good?\",\n  \"why are there so many osmonds?\",\n  \"why is there no eragon 2?\",\n  \"why are urban gardens important?\",\n  \"why is there a flag on oovoo?\",\n  \"why is xtorrent not working?\",\n  \"why do celtic sing ynwa?\",\n  \"why is there silverware in the pancake drawer?\",\n  \"why do wwe wrestlers wear underwear?\",\n  \"why is venus a hostile planet?\",\n  \"why is fpsrussia rich?\",\n  \"why is there daytime and nighttime on mars?\",\n  \"why are there tv ads?\",\n  \"why is mlm bad?\",\n  \"why is bsa used as a protein standard?\",\n  \"why are there holes in crackers?\",\n  \"why are zunes bad?\",\n  \"why are uniforms bad for schools?\",\n  \"why do we have eyebrows?\",\n  \"why is ink so expensive?\",\n  \"why is russia so homophobic?\",\n  \"why is smoking so addictive?\",\n  \"why are eggs good for you?\",\n  \"why are there not available movies on netflix?\",\n  \"why are zero-day attacks so dangerous?\",\n  \"why are there other planets islam?\",\n  \"why are there computer viruses?\",\n  \"why are yawns contagious?\",\n  \"why is rf value important?\",\n  \"why are there magnets in headphones?\",\n  \"why is cj wilson a douche?\",\n  \"why are ny flags at half staff?\",\n  \"why is squaretrade cheaper on amazon?\",\n  \"why is bg in jail?\",\n  \"why do a tco analysis?\",\n  \"why do squatters have rights?\",\n  \"why is string cheese stringy?\",\n  \"why are cigarettes bad?\",\n  \"why is rfra unconstitutional?\",\n  \"why are global temperatures rising?\",\n  \"why do equality monitoring?\",\n  \"why are there dog years?\",\n  \"why are turks protesting?\",\n  \"why is there no gambling in utah?\",\n  \"why are there curfew laws?\",\n  \"why are mn flags at half mast today?\",\n  \"why are nuclear weapons bad?\",\n  \"why are there no female oompa loompas?\",\n  \"why are there american troops in australia?\",\n  \"why do you by frankie j lyrics?\",\n  \"why is synthetic oil better?\",\n  \"why is uberminecraft down?\",\n  \"why is there an x on my wireless connection?\",\n  \"why is ice denser than water?\",\n  \"why do runners wear compression sleeves?\",\n  \"why are there locks on my desktop icons?\",\n  \"why is planetary annihilation $90?\",\n  \"why do kayaks have holes?\",\n  \"why is one not a prime number?\",\n  \"why is there a dh in the al?\",\n  \"why is rice not paleo?\",\n  \"why are zip guns illegal?\",\n  \"why are cv joints used?\",\n  \"why are there apes at the end of planet of the apes?\",\n  \"why are there symbols on the dollar bill?\",\n  \"why is there oil in my pcv?\",\n  \"why is html so important?\",\n  \"why is there two slashes after http?\",\n  \"why are nba playoffs so long?\",\n  \"why is lg optimus running slow?\",\n  \"why is axl rose using a cane?\",\n  \"why is there australians in django unchained?\",\n  \"why do equestrian horses wear hats?\",\n  \"why are dalmatians mean?\",\n  \"why are sd cards write protected?\",\n  \"why is fable 3 free on xbox?\",\n  \"why do republicans hate obama so much?\",\n  \"why are vultures and hyenas called scavengers?\",\n  \"why are exceptions bad?\",\n  \"why is immigration good?\",\n  \"why is there 10 svchost exe running?\",\n  \"why is xylem dead at maturity?\",\n  \"why are there three primary colors?\",\n  \"why do some mkv files stutter?\",\n  \"why are advertisements created?\",\n  \"why do chihuahuas shake?\",\n  \"why do frogs live in ponds?\",\n  \"why is tlt going down?\",\n  \"why is there no itv4 1?\",\n  \"why are yeasts classified as ascomycetes?\",\n  \"why is there jelly in my poop?\",\n  \"why is bycatch a problem?\",\n  \"why is fluoride bad for you?\",\n  \"why do dwarf hamsters squeak?\",\n  \"why are hsa premiums so high?\",\n  \"why is there 5 olympic rings?\",\n  \"why is funimation always down?\",\n  \"why is there two iexplore.exe?\",\n  \"why is there air in my pool pump?\",\n  \"why are tcp sequence numbers random?\",\n  \"why is michelle stafford leaving y&r?\",\n  \"why are kuwaitis rich?\",\n  \"why is abortion wrong?\",\n  \"why is gnarly spelled with a g?\",\n  \"why are there lumps in my nipples?\",\n  \"why is there spam?\",\n  \"why are there so few cabs in sf?\",\n  \"why is selena gomez famous?\",\n  \"why is there interleague play in april?\",\n  \"why are aerobic exercises good for you?\",\n  \"why are ny license plates yellow?\",\n  \"why is there no wildlife in the aokigahara forest?\",\n  \"why is nn24 off air?\",\n  \"why are there hashtags on tv?\",\n  \"why do rn to bsn?\",\n  \"why are hashtags used?\",\n  \"why do people dislike wto?\",\n  \"why do we need dbms?\",\n  \"why are there weird ads on youtube?\",\n  \"why is zn2+ colourless?\",\n  \"why do oocytes perform uneven cytokinesis?\",\n  \"why is tv show called catfish?\",\n  \"why are ivy league schools called ivy?\",\n  \"why is there an nhl team in phoenix?\",\n  \"why are there pharaohs?\",\n  \"why are aerosol sprays harmful?\",\n  \"why is there a king james version of the bible?\",\n  \"why are my iwork templates in spanish?\",\n  \"why are gcses easy?\",\n  \"why is oop better than procedural?\",\n  \"why are cs and s2 unstable?\",\n  \"why are rfc\\\"s important?\",\n  \"why is there bubbles in my turtle tank?\",\n  \"why is eeo important?\",\n  \"why do ribosomes attach to the endoplasmic reticulum?\",\n  \"why is tyler perry in star trek?\",\n  \"why do equipotentials never cross?\",\n  \"why is fma brotherhood not on netflix?\",\n  \"why is yahoo mail not working?\",\n  \"why is dlist shutting down?\",\n  \"why is eel blood toxic to humans?\",\n  \"why do we laugh vsauce?\",\n  \"why are there 23 episodes of supernatural?\",\n  \"why are there fake followers on instagram?\",\n  \"why is yu darvish on the dl?\",\n  \"why do bf ignore you?\",\n  \"why do underarms itch?\",\n  \"why are there ants on the beach?\",\n  \"why do adults wear diapers?\",\n  \"why do nba players dress like hipsters?\",\n  \"why are toilet seats horseshoe shaped?\",\n  \"why is there no us embassy in bhutan?\",\n  \"why is there pain when i ejaculate?\",\n  \"why is north korea so bad?\",\n  \"why are ejectives and clicks voiceless?\",\n  \"why are emergency rooms so slow?\",\n  \"why is pvc used for cd covers?\",\n  \"why are cb amplifiers illegal?\",\n  \"why do seals bark?\",\n  \"why alanine is a zwitterion?\",\n  \"why are xbox videos so slow?\",\n  \"why is ejection fraction not 100?\",\n  \"why are feet a turn on?\",\n  \"why do usb ports stop working?\",\n  \"why do hurricanes weaken over land?\",\n  \"why is there overpopulation in the world?\",\n  \"why do underwear have pockets?\",\n  \"why is umezawa\\\"s jitte banned?\",\n  \"why is there electricity in fruits?\",\n  \"why is hnu going down?\",\n  \"why are urban areas growing?\",\n  \"why is there magnetic declination?\",\n  \"why do wrestlers wear underwear?\",\n  \"why is oatmeal so good?\",\n  \"why do efforts to restrict trade continue?\",\n  \"why is global warming fake?\",\n  \"why are there phases of the moon for kids?\",\n  \"why is fable 3 free?\",\n  \"why do cross country?\",\n  \"why do teens smoke?\",\n  \"why is ftb so laggy?\",\n  \"why are wetlands important?\",\n  \"why is aniline basic and acetanilide not?\",\n  \"why is there arsenic in juice?\",\n  \"why is there zedd and zeds dead?\",\n  \"why is diversity in the instructional program important?\",\n  \"why are dlc so expensive?\",\n  \"why are .fm domains expensive?\",\n  \"why do evolutionists hate creationists?\",\n  \"why do octopus have beaks?\",\n  \"why is there acne on my buttocks?\",\n  \"why are root canals done?\",\n  \"why is there no wtc 6?\",\n  \"why can\\\"t kvothe do sympathy?\",\n  \"why are there circles in dc?\",\n  \"why do aeroplanes fly so high?\",\n  \"why are there two borgia tv shows?\",\n  \"why is python so slow?\",\n  \"why is my mac so slow?\",\n  \"why is there sediment in my wine?\",\n  \"why is there swear words?\",\n  \"why is slither rated r?\",\n  \"why are gmos unsafe?\",\n  \"why is there electrical resistance?\",\n  \"why is there no ncaa football for wii?\",\n  \"why are texas flags at half mast?\",\n  \"why are there hyphens?\",\n  \"why do english people say cheers?\",\n  \"why is there a civil war in rwanda?\",\n  \"why is tax day april 15?\",\n  \"why are bruises different colors?\",\n  \"why do uterine fibroids hurt?\",\n  \"why are cnas important?\",\n  \"why is rosaura dressed like a man?\",\n  \"why is raw cookie dough bad?\",\n  \"why do sda not eat meat?\",\n  \"why do reits use ffo?\",\n  \"why is there conflict in sri lanka?\",\n  \"why are expired condoms bad?\",\n  \"why are phones cheaper at walmart?\",\n  \"why there is kolaveri?\",\n  \"why do yakuza cut off fingers?\",\n  \"why do roosters crow in the morning?\",\n  \"why are bike seats so hard?\",\n  \"why are there holes in my clothes?\",\n  \"why is izaya a troll?\",\n  \"why do i need wcb?\",\n  \"why is there blood in my kittens poop?\",\n  \"why are italian women so thin?\",\n  \"why zlib is used?\",\n  \"why do ssd drives fail?\",\n  \"why is fb addicting?\",\n  \"why are there age restrictions?\",\n  \"why do crows swarm?\",\n  \"why is there a p in pterodactyl?\",\n  \"why is there gravity?\",\n  \"why are texas flags at half staff?\",\n  \"why are hp fans so loud?\",\n  \"why are there 16 ounces in a pound?\",\n  \"why is netflix not working?\",\n  \"why do we need ttl?\",\n  \"why are bacteria ubiquitous?\",\n  \"why are igloos warm?\",\n  \"why is rdr rated m?\",\n  \"why do acids or bases dissociate?\",\n  \"why is there no junction 31 on the m4?\",\n  \"why are overhead squats so hard?\",\n  \"why is there no hpv cure?\",\n  \"why do you want to work for this company?\",\n  \"why do vegetarians eat eggs?\",\n  \"why are teachers so mean?\",\n  \"why are there no young halo stars?\",\n  \"why are there dye packs in money?\",\n  \"why are vntrs important?\",\n  \"why are there eggs in cookies?\",\n  \"why do irish drink so much?\",\n  \"why are eyes green?\",\n  \"why do people love cm punk?\",\n  \"why is there acne around my mouth?\",\n  \"why are there maggots in my house?\",\n  \"why is there no mcdonalds in kenya?\",\n  \"why are there no viruses for ubuntu?\",\n  \"why do umpires replace baseball?\",\n  \"why is ks oil falling?\",\n  \"why is there two cyber sub zero?\",\n  \"why do an eis?\",\n  \"why do nz love pies?\",\n  \"why are mp3s so popular?\",\n  \"why is there a ghost in my house?\",\n  \"why is ross so cheap?\",\n  \"why is us country code 1?\",\n  \"why do looks matter so much?\",\n  \"why is there usually no glucose in urine?\",\n  \"why are there agricultural checkpoints in california?\",\n  \"why do eyebrows twitch?\",\n  \"why do cv axles click?\",\n  \"why is america called america?\",\n  \"why is there a reward for jim?\",\n  \"why are there only magnet links on tpb?\",\n  \"why are ethical guidelines important?\",\n  \"why is there skin on my tampon?\",\n  \"why are kurenai\\\"s eyes red?\",\n  \"why do edward\\\"s eyes change color?\",\n  \"why is there interest on child support?\",\n  \"why is there no nba live 12?\",\n  \"why do dvd players skip?\",\n  \"why is rhythm important in music?\",\n  \"why are the rspca important?\",\n  \"why is it called catfish?\",\n  \"why is there odd and even numbers?\",\n  \"why is kentucky a commonwealth?\",\n  \"why is kik stuck on s?\",\n  \"why is soda called a soft drink?\",\n  \"why do hotels block vpn?\",\n  \"why are ie tabs green?\",\n  \"why are there 2 kansas cities?\",\n  \"why do use vpn?\",\n  \"why is vulture endangered?\",\n  \"why are pdfs so popular?\",\n  \"why are adults stronger than teenagers?\",\n  \"why is there no mcdonalds in montpelier vermont?\",\n  \"why do we need dhcp?\",\n  \"why is there youth day?\",\n  \"why is dhl so slow?\",\n  \"why is uluru there?\",\n  \"why is ipad so slow?\",\n  \"why are there salt flats in utah?\",\n  \"why are wp7 apps so expensive?\",\n  \"why are kyle and kim richards fighting?\",\n  \"why are lakes salty?\",\n  \"why are purchase orders important?\",\n  \"why are italians called wops?\",\n  \"why are there gaps in the fossil record?\",\n  \"why are there so many mormons in utah?\",\n  \"why do dvts occur?\",\n  \"why is httpservlet declared abstract?\",\n  \"why do gnats appear?\",\n  \"why is fdr on the dime?\",\n  \"why do bee stings itch?\",\n  \"why is omega 3 good for your heart?\",\n  \"why do paper airplanes fly?\",\n  \"why do people hate ozzy osbourne?\",\n  \"why is nursing theory important?\",\n  \"why is there no http?\",\n  \"why do languages die?\",\n  \"why is ns important?\",\n  \"why are vowels important?\",\n  \"why is there a 4gb xbox 360?\",\n  \"why do they want nwo?\",\n  \"why do gdiapers velcro in the back?\",\n  \"why are guys tired after ejaculating?\",\n  \"why do qbs call out the mike?\",\n  \"why are there no urinals in homes?\",\n  \"why are nephrons considered functional units?\",\n  \"why is xlink kai not working?\",\n  \"why are there two tides per day?\",\n  \"why do xboxes get so hot?\",\n  \"why do plants need water?\",\n  \"why do llamas deter mountain lions?\",\n  \"why is there sql injection everywhere?\",\n  \"why do golfers yell fore?\",\n  \"why are opioids the best pain medications?\",\n  \"why is fx the biggest market in the world?\",\n  \"why is sdn important?\",\n  \"why is quartz used in watches?\",\n  \"why is hwy 58 closed?\",\n  \"why are men such wusses?\",\n  \"why are there layovers?\",\n  \"why do lymph nodes swell when sick?\",\n  \"why is odysseus a hero?\",\n  \"why are there gnats in the house?\",\n  \"why are there parishes in louisiana?\",\n  \"why do my j miles expire?\",\n  \"why is svalbard so cold?\",\n  \"why are cubans republican?\",\n  \"why is my pool cloudy?\",\n  \"why are there electoral votes?\",\n  \"why are rune pages so expensive?\",\n  \"why is zero factorial 1?\",\n  \"why are there water towers?\",\n  \"why are whales endangered?\",\n  \"why are there no pc football games?\",\n  \"why do axolotls have legs?\",\n  \"why do i always lose bgs?\",\n  \"why are cnidaria importance?\",\n  \"why is there big chunks in my period?\",\n  \"why do klingons hate tribbles?\",\n  \"why are ospreys endangered?\",\n  \"why do banks file ucc?\",\n  \"why are dvds interlaced?\",\n  \"why are jeep wranglers called jk?\",\n  \"why is anne frank famous?\",\n  \"why is there two green lanterns?\",\n  \"why is izzy leaving escala?\",\n  \"why is awkward not on netflix anymore?\",\n  \"why is aol so bad?\",\n  \"why are there helicopters circling my house?\",\n  \"why are there giant heads on easter island?\",\n  \"why is there vacuum in space?\",\n  \"why is there apec?\",\n  \"why is there unrest in egypt right now?\",\n  \"why are mba application deadlines in rounds?\",\n  \"why is fb stock falling?\",\n  \"why are people in bhutan so happy?\",\n  \"why is dhcp better for home users?\",\n  \"why are there rules in croquet answers?\",\n  \"why is tlc called the learning channel?\",\n  \"why do people hate fx krystal?\",\n  \"why do my legs itch when i run?\",\n  \"why is equal bad for you?\",\n  \"why is there puberty?\",\n  \"why are wetlands important to the environment?\",\n  \"why do my fb friends fluctuate?\",\n  \"why do md jd?\",\n  \"why is there ramadan?\",\n  \"why do hnc social care?\",\n  \"why do all my joints crack?\",\n  \"why do bunnies thump?\",\n  \"why are chips ahoy bad for you?\",\n  \"why are there different blood types?\",\n  \"why is mx newspaper free?\",\n  \"why do movies use cgi?\",\n  \"why do german shepherds ears stand up?\",\n  \"why is there jelly in a pork pie?\",\n  \"why is uwe boll allowed to make movies?\",\n  \"why is iron important?\",\n  \"why do we use mfc?\",\n  \"why is smoking dangerous?\",\n  \"why is africa underdeveloped?\",\n  \"why is there minimum wage?\",\n  \"why do marriages fail?\",\n  \"why are jimmies racist?\",\n  \"why are iphone messages green?\",\n  \"why is aero peek greyed out?\",\n  \"why do high heels hurt?\",\n  \"why do ivs make you cold?\",\n  \"why are there men and women bathrooms?\",\n  \"why are vpns secure?\",\n  \"why do old people fall?\",\n  \"why is hdl low?\",\n  \"why is there an x on bbm?\",\n  \"why is beer so good?\",\n  \"why is there weightlessness in space?\",\n  \"why are sbrs regulated?\",\n  \"why is there a zigzag line on the periodic table?\",\n  \"why do hard drives fail?\",\n  \"why is there junk mail?\",\n  \"why do we have ngos?\",\n  \"why do burns hurt so much?\",\n  \"why is there no king of england now?\",\n  \"why are osb prices so high?\",\n  \"why are there killings in syria?\",\n  \"why is there original sin?\",\n  \"why is there no hpv test for men?\",\n  \"why do organisms need oxygen?\",\n  \"why do people say btdubs?\",\n  \"why are enzymes used in elisa?\",\n  \"why is djokovic not liked?\",\n  \"why is there no square prime numbers?\",\n  \"why are there lines on my neck?\",\n  \"why is writing process important?\",\n  \"why are otter pops so good?\",\n  \"why is common core bad?\",\n  \"why do bodybuilders tan?\",\n  \"why are there so many cats in rhodes?\",\n  \"why are there elephants in bolton?\",\n  \"why do newborns twitch?\",\n  \"why is there cancer yahoo?\",\n  \"why is there hydrophobia in rabies?\",\n  \"why are there equal amounts of cytosine and guanine?\",\n  \"why are there helicopters over boston?\",\n  \"why are there ethical theories?\",\n  \"why is there widescreen?\",\n  \"why do tv screens glow in the dark?\",\n  \"why is there a freemason symbol on mtv live?\",\n  \"why do nlp training?\",\n  \"why are there no elephants at the sf zoo?\",\n  \"why are ohs policies and procedures important?\",\n  \"why are there bubbles in my nail polish?\",\n  \"why are road signs green?\",\n  \"why do i need an nmls?\",\n  \"why is there a kuiper belt?\",\n  \"why are my nipples itchy?\",\n  \"why is zac banned?\",\n  \"why do authors use diction?\",\n  \"why are there too many lawyers?\",\n  \"why do avocados ripen in a paper bag?\",\n  \"why are gc bonds stronger?\",\n  \"why is stolen rated r?\",\n  \"why are quotation marks used?\",\n  \"why is bbm so popular?\",\n  \"why are police officers called pigs?\",\n  \"why are my music files wma?\",\n  \"why are diamonds valuable?\",\n  \"why do nvq level 2 in care?\",\n  \"why do people like rwd?\",\n  \"why are there wicker baskets on the pins at merion?\",\n  \"why are rna molecules cut and spliced?\",\n  \"why is there conflict in syria?\",\n  \"why are avocados good for your skin?\",\n  \"why is there no yuengling in new england?\",\n  \"why are dwemer extinct?\",\n  \"why is umbrella called umbrella?\",\n  \"why is there toddler formula?\",\n  \"why do people use mkv?\",\n  \"why is there no host for the vmas?\",\n  \"why is oil bad for you?\",\n  \"why are some people not ticklish?\",\n  \"why are microorganisms important?\",\n  \"why are gtr r34 illegal?\",\n  \"why are vw golfs so expensive?\",\n  \"why is there art?\",\n  \"why is ebp important?\",\n  \"why is there no overall charge on an atom?\",\n  \"why is there a station at ebbsfleet?\",\n  \"why do people sign xoxo?\",\n  \"why is mdg 1 important?\",\n  \"why are there fleas?\",\n  \"why are interest rates rising?\",\n  \"why is pcl3 polar?\",\n  \"why is tradition important?\",\n  \"why are audits important in the nonprofit sector?\",\n  \"why is udyr not played?\",\n  \"why is there an x on my macbook battery?\",\n  \"why are ghosts a mystery?\",\n  \"why do dc motors fail?\",\n  \"why are mtv commercials so weird?\",\n  \"why are leos so mean?\",\n  \"why are there olives in a martini?\",\n  \"why are there worms in my house?\",\n  \"why is ulfric stormcloak attacking me?\",\n  \"why is jquery popular?\",\n  \"why is rvp number 16?\",\n  \"why are some isotopes radioactive?\",\n  \"why is there natural selection?\",\n  \"why are veins thinner than arteries?\",\n  \"why are sponges animals?\",\n  \"why are my feet swollen?\",\n  \"why is pvc good?\",\n  \"why is cvs always next to walgreens?\",\n  \"why is iinet so slow?\",\n  \"why is there always a dfs sale?\",\n  \"why are awards important?\",\n  \"why is there no lyme disease vaccine?\",\n  \"why is fiji water so expensive?\",\n  \"why is mcdonalds so good?\",\n  \"why are multiple svchost exe running?\",\n  \"why are cycles important?\",\n  \"why is there symmetry in nature?\",\n  \"why are xylem and phloem complex tissues?\",\n  \"why do you need bgp?\",\n  \"why is there ascorbic acid in kool aid?\",\n  \"why is there out of state tuition?\",\n  \"why are there fireworks in nyc tonight?\",\n  \"why are requests made for ehc?\",\n  \"why are ethics in communication important?\",\n  \"why is yinsen in iron man 3?\",\n  \"why is pfiesteria so dangerous?\",\n  \"why are there volcanoes on the west coast?\",\n  \"why are there eggs and bunnies at easter?\",\n  \"why do bta split?\",\n  \"why are there centipedes everywhere?\",\n  \"why is organic food more expensive?\",\n  \"why do armpits sweat?\",\n  \"why are there air bubbles when i paint my walls?\",\n  \"why is there lead in rice?\",\n  \"why is education important essay?\",\n  \"why are jls splitting up?\",\n  \"why is nj so corrupt?\",\n  \"why are there so many people named nguyen?\",\n  \"why is there no cyanogenmod 8?\",\n  \"why is there dna in saliva?\",\n  \"why do frogs croak at night?\",\n  \"why is yahoo shutting down astrid?\",\n  \"why are there sixty minutes in an hour?\",\n  \"why are text messages blue?\",\n  \"why do people on fb put #?\",\n  \"why is there air in chip bags?\",\n  \"why is weed illegal?\",\n  \"why do people ban ezreal?\",\n  \"why is there smoke in albuquerque?\",\n  \"why is acid bad for you?\",\n  \"why is dvdvideosoft not working?\",\n  \"why are there ions in water?\",\n  \"why is jwoww\\\"s belly button weird?\",\n  \"why is the bling ring rated r?\",\n  \"why are texas houses so cheap?\",\n  \"why are nclex results on hold?\",\n  \"why is islam bad?\",\n  \"why is is a verb?\",\n  \"why is there prejudice against gypsies?\",\n  \"why are slugs bad?\",\n  \"why do xbox 360 games freeze?\",\n  \"why do slavs squat?\",\n  \"why do dna replicate?\",\n  \"why are dyslexic people creative?\",\n  \"why are xylem and phloem vascular tissues?\",\n  \"why is there hierarchy?\",\n  \"why is there jokers in playing cards?\",\n  \"why is writing so hard?\",\n  \"why do we use vsepr?\",\n  \"why are there pink lakes?\",\n  \"why is there iron in wine?\",\n  \"why is ezvid free?\",\n  \"why is there genocide?\",\n  \"why are xfinity commercials so loud?\",\n  \"why is there orbs in my pictures?\",\n  \"why are new zealanders called kiwis?\",\n  \"why is zfs better?\",\n  \"why is ftl so laggy?\",\n  \"why aren\\\"t there dwarves in elder scrolls?\",\n  \"why is assonance used?\",\n  \"why do eggs make you gassy?\",\n  \"why is there a squirrel on skype?\",\n  \"why are babies late?\",\n  \"why is trading places rated r?\",\n  \"why do military marry young?\",\n  \"why are there two prices on ebay?\",\n  \"why do cpd?\",\n  \"why do the ndebele decorate their houses?\",\n  \"why are eizo monitors expensive?\",\n  \"why is there iron in food?\",\n  \"why is yahoo down?\",\n  \"why are there limits on cpu speed?\",\n  \"why is it so windy?\",\n  \"why are lcd screens polarized?\",\n  \"why is there nicotine in cigarettes?\",\n  \"why is there not a uk football team?\",\n  \"why is kakashi always late?\",\n  \"why is there an x on jack sparrow\\\"s face?\",\n  \"why is hsg so painful?\",\n  \"why do oil prices change?\",\n  \"why are bbs rims expensive?\",\n  \"why is zone of proximal development important?\",\n  \"why is there zombies in minecraft?\",\n  \"why are gcse exams important?\",\n  \"why are pdf files good?\",\n  \"why do we have bst?\",\n  \"why are fire hydrants different colors?\",\n  \"why do my rpms drop when i stop?\",\n  \"why are gcses good?\",\n  \"why is there an owl on drake album?\",\n  \"why is fire blue?\",\n  \"why do cbc with differential?\",\n  \"why is there two garters?\",\n  \"why is there prostitution?\",\n  \"why do uploads take so long?\",\n  \"why there is no ps4?\",\n  \"why is rfp important?\",\n  \"why is there edema with burns?\",\n  \"why is there an owl trend?\",\n  \"why there is no root in ubuntu?\",\n  \"why do siamese cats talk?\",\n  \"why is ign down?\",\n  \"why is writing essays so hard?\",\n  \"why are there no teacher unions in nc?\",\n  \"why do odysseus men open the bag of winds?\",\n  \"why is there rioting in brazil?\",\n  \"why is tumblr so slow?\",\n  \"why is ulysses s grant famous?\",\n  \"why are xenon bulbs so expensive?\",\n  \"why is there no marmite in nz?\",\n  \"why do two male dogs fight?\",\n  \"why are oxymorons used?\",\n  \"why is hwayoung being bullied?\",\n  \"why are rally cars fwd?\",\n  \"why is oxycodone so addictive?\",\n  \"why do ups trucks beep?\",\n  \"why is oh bond in water polar?\",\n  \"why do tvs and radios get static?\",\n  \"why is tcp considered a connection-oriented protocol?\",\n  \"why do we use dll?\",\n  \"why are there tv seasons?\",\n  \"why are apples good for your teeth?\",\n  \"why is there no 50 cal in bf3?\",\n  \"why are breasts tender during pms?\",\n  \"why is there no ddr4?\",\n  \"why are aquarius women so difficult?\",\n  \"why are there psychopaths?\",\n  \"why do zippers have ykk?\",\n  \"why is there clots of blood in my period?\",\n  \"why is lpso shutting down?\",\n  \"why do nhl players grow beards?\",\n  \"why is there high tide at night?\",\n  \"why is jeremy lin famous?\",\n  \"why are there 2 sub zero\\\"s?\",\n  \"why is beatport so expensive?\",\n  \"why are israeli settlements illegal?\",\n  \"why are there birthstones?\",\n  \"why are fsa use it or lose it?\",\n  \"why is there zombies in the barn?\",\n  \"why are ohms important in speakers?\",\n  \"why is there a need to implement csr?\",\n  \"why is there both fahrenheit and celsius?\",\n  \"why do i have diarrhea?\",\n  \"why is feed the beast so laggy?\",\n  \"why is there weight loss in type 1 diabetes?\",\n  \"why is she ignoring me?\",\n  \"why are there zoning laws?\",\n  \"why is xsplit choppy?\",\n  \"why do ticks exist?\",\n  \"why do llm?\",\n  \"why is there a uk version of misery?\",\n  \"why do we use vsam?\",\n  \"why iitians are smart?\",\n  \"why is there ntsc and pal?\",\n  \"why do gases go through diffusion?\",\n  \"why is period late?\",\n  \"why are gypsy rich?\",\n  \"why is birth control bad?\",\n  \"why are kwl charts effective?\",\n  \"why are rsa keys long?\",\n  \"why are there glaciers in africa?\",\n  \"why is there no utilities on ipad?\",\n  \"why are rwd cars bad in snow?\",\n  \"why are there italians in wales?\",\n  \"why is there no mcdonalds delivery?\",\n  \"why is there illuminati in the dollar bill?\",\n  \"why is there something wrong with me?\",\n  \"why do people hate luna fx?\",\n  \"why is underglow illegal?\",\n  \"why is there abdominal pain in diabetic ketoacidosis?\",\n  \"why are air conditioners on the roof?\",\n  \"why is td bank not fdic insured?\",\n  \"why is adderall illegal?\",\n  \"why is iis needed?\",\n  \"why is uworld so hard?\",\n  \"why do lobsters live forever?\",\n  \"why is there rna in chromosomes?\",\n  \"why is dc so boring?\",\n  \"why do everyone hate americans?\",\n  \"why is there child support?\",\n  \"why is tna so bad?\",\n  \"why are there tunnels under godley heads?\",\n  \"why is nclb important?\",\n  \"why is microsoft stock rising?\",\n  \"why is bcci against drs?\",\n  \"why are there so many mmorpgs?\",\n  \"why is pwnxile down?\",\n  \"why are there pyramids on the dollar bill?\",\n  \"why are jt songs so long?\",\n  \"why is ncis fuzzy?\",\n  \"why are pt cruisers so cheap?\",\n  \"why are there peanuts in poop?\",\n  \"why are there so many ostriches family guy?\",\n  \"why is there any hispanic disney princess?\",\n  \"why is immigration bad?\",\n  \"why are deadlines important?\",\n  \"why is earth named earth?\",\n  \"why do gypsies marry young?\",\n  \"why do soldiers get ptsd?\",\n  \"why is monterey so cold?\",\n  \"why do male pigs have nipples?\",\n  \"why do fools fall in love movie?\",\n  \"why is netflix down?\",\n  \"why is azurill sad?\",\n  \"why do nsaids cause stomach upset?\",\n  \"why is there educated unemployment in india?\",\n  \"why there is no 5 gb flash?\",\n  \"why is epix blurry?\",\n  \"why is vmware so expensive?\",\n  \"why is kris humphries delaying divorce?\",\n  \"why do the vw beetles come with flower?\",\n  \"why is gdp bad?\",\n  \"why are mma fighters douchebags?\",\n  \"why is there a eurovision semi final?\",\n  \"why is ike canadian?\",\n  \"why is there no scots in team gb?\",\n  \"why are there sinkholes everywhere?\",\n  \"why is jk rowling a good leader?\",\n  \"why are there two iexplore processes?\",\n  \"why are there red pistachios?\",\n  \"why are essential oils dangerous?\",\n  \"why do ncr attack me?\",\n  \"why are onions good for you?\",\n  \"why do smart people drink more?\",\n  \"why is there orange oil in my poop?\",\n  \"why are there half moons?\",\n  \"why is there a riot in oakland?\",\n  \"why are agb stars so large?\",\n  \"why is agenda 21 bad?\",\n  \"why do gnats like ears?\",\n  \"why are there 2 mlk parades in houston?\",\n  \"why do families celebrate kwanzaa?\",\n  \"why is dwayne johnson in so many movies?\",\n  \"why are there stretch marks on my hips?\",\n  \"why is rdio not working?\",\n  \"why is the xd made in croatia?\",\n  \"why are ivf twins common?\",\n  \"why do sga babies have polycythemia?\",\n  \"why do people like jk rowling?\",\n  \"why we are using wcf?\",\n  \"why is there tv in prison?\",\n  \"why is knowledge of etymology useful weegy?\",\n  \"why do english people say zed?\",\n  \"why are there adverts on bbc news website?\",\n  \"why is kshownow not working?\",\n  \"why do vegans smell?\",\n  \"why is wukong so op?\",\n  \"why is rhythm important in poetry?\",\n  \"why is there tilapia in my yogurt?\",\n  \"why do tennis players grunt?\",\n  \"why is there different accents in america?\",\n  \"why are mimi and k michelle beefing?\",\n  \"why is there a red cross through https?\",\n  \"why is django rated r?\",\n  \"why is there a squiggly line in my eye?\",\n  \"why is there an nhl strike?\",\n  \"why is there guilt?\",\n  \"why do we use rms?\",\n  \"why do animals migrate?\",\n  \"why are my pictures 72 dpi?\",\n  \"why kva is used instead of kw?\",\n  \"why is there no erosion on the moon?\",\n  \"why is there two types of screwdrivers?\",\n  \"why are there unicorns in the bible?\",\n  \"why is there child labor?\",\n  \"why do small dogs live longer?\",\n  \"why is there no picture on bbc iplayer?\",\n  \"why is blood considered a tissue?\",\n  \"why is sweet caroline sung at fenway park?\",\n  \"why is april 20 pot day?\",\n  \"why are html frames bad?\",\n  \"why is minecraft so laggy?\",\n  \"why do elephants have pointy tails?\",\n  \"why is egypt important to the us?\",\n  \"why do oxygen atoms come in pairs?\",\n  \"why is there bibles in every hotel room?\",\n  \"why are there centipedes in my apartment?\",\n  \"why are us marines called jarheads?\",\n  \"why is there generally no problem in the arm clearing?\",\n  \"why do feet smell?\",\n  \"why do onions make you cry?\",\n  \"why is pork haram?\",\n  \"why is there no ikea in hawaii?\",\n  \"why are all barns red?\",\n  \"why do judo?\",\n  \"why is upwelling important?\",\n  \"why nwell is connected to vdd?\",\n  \"why is there global inequality?\",\n  \"why is there obesity in new zealand?\",\n  \"why is there itching in jaundice?\",\n  \"why is zed op?\",\n  \"why are sda plates selective for fungi?\",\n  \"why are salmon pink?\",\n  \"why do nsaids cause fluid retention?\",\n  \"why is ghana so poor?\",\n  \"why is wcc closed?\",\n  \"why there is pain after rct?\",\n  \"why are cctv cameras bad?\",\n  \"why is lte important?\",\n  \"why is there rule 34?\",\n  \"why is there echo on my cell phone?\",\n  \"why are there ethical issues?\",\n  \"why is there fur on hoods?\",\n  \"why we are using dfd?\",\n  \"why are rn\\\"s important?\",\n  \"why is oil called a hydrophobic substance?\",\n  \"why do a fna?\",\n  \"why is yi the dunkmaster?\",\n  \"why is there no cyanogenmod for galaxy nexus?\",\n  \"why is dropbox so slow?\",\n  \"why are zombies so strong?\",\n  \"why are there egyptian gods?\",\n  \"why are gps important?\",\n  \"why are zebra mussels a problem?\",\n  \"why is bmw the best?\",\n  \"why is there yolk in eggs?\",\n  \"why is there no effect on other branches?\",\n  \"why do bed bugs bite?\",\n  \"why do lcd screens break?\",\n  \"why are old people so cheap?\",\n  \"why is there interleague play?\",\n  \"why is haunted house rated r?\",\n  \"why are one direction so hot?\",\n  \"why are hela cells immortal?\",\n  \"why are tweets limited to 140 characters?\",\n  \"why are aquarius so detached?\",\n  \"why do only my nipples hurt?\",\n  \"why do people use ftw?\",\n  \"why do rhododendrons not bloom?\",\n  \"why are nevada schools so bad?\",\n  \"why do gas prices fluctuate?\",\n  \"why is rti so important?\",\n  \"why are there cluster flies in my house?\",\n  \"why are foreclosed homes so cheap?\",\n  \"why are hydrogen bonds weak?\",\n  \"why do frogs scream?\",\n  \"why are biomolecules important?\",\n  \"why are there eggs on easter?\",\n  \"why do pain pills cause constipation?\",\n  \"why do bbqs have lids?\",\n  \"why are there yellow stains on clothes?\",\n  \"why is there post limit on tumblr?\",\n  \"why do iphones die fast?\",\n  \"why are bruises blue?\",\n  \"why is python useful?\",\n  \"why are impalas so cheap?\",\n  \"why is there no ikea in mexico?\",\n  \"why are wwe wrestlers called superstars?\",\n  \"why do airports swab hands?\",\n  \"why are there skin tags?\",\n  \"why do jim and pam break up?\",\n  \"why are oarfish rare?\",\n  \"why do equinoxes happen?\",\n  \"why are my dhea levels low?\",\n  \"why is iphone slow?\",\n  \"why is there pleural effusion in pancreatitis?\",\n  \"why is graduation called commencement?\",\n  \"why is there no snow in ohio?\",\n  \"why are fevers worse at night?\",\n  \"why is there pus in my belly button?\",\n  \"why is lb called pound?\",\n  \"why is driving barefoot illegal?\",\n  \"why is ubuntu running so slow?\",\n  \"why are there little bumps on my hand?\",\n  \"why are ecosystems considered closed-looped systems?\",\n  \"why are there clouds around mountains?\",\n  \"why is tcp/ip still widely used?\",\n  \"why are ct flags at half staff?\",\n  \"why is jk rowling a hero?\",\n  \"why is qbe share price falling?\",\n  \"why are there yellow spots on my cucumber leaves?\",\n  \"why are mba paid so much?\",\n  \"why are there aerators on faucets?\",\n  \"why are gyms so expensive?\",\n  \"why are anime eyes so big?\",\n  \"why is there an odor during my period?\",\n  \"why are there no more girls on omegle?\",\n  \"why do okapis have striped legs?\",\n  \"why do tmp files appear?\",\n  \"why are x rays bad for pregnant women?\",\n  \"why is gst paid an asset?\",\n  \"why are mba programs expensive?\",\n  \"why are otter boxes so popular?\",\n  \"why are people against fdi in retail?\",\n  \"why is svo2 high in sepsis?\",\n  \"why are norwegians so pretty?\",\n  \"why are there lines on cigarettes?\",\n  \"why are emoticons yellow?\",\n  \"why is there protests in istanbul?\",\n  \"why is dzhokhar tsarnaev in serious condition?\",\n  \"why are february lsats not released?\",\n  \"why do ulcers cause nausea?\",\n  \"why is allen iverson broke?\",\n  \"why do lb7 injectors go bad?\",\n  \"why are there tunnels in my cake?\",\n  \"why are there 3 river avons?\",\n  \"why is hpv vaccine controversial?\",\n  \"why is bcaa good for you?\",\n  \"why do ie tabs turn green?\",\n  \"why is eddard stark called ned?\",\n  \"why do i need wmi?\",\n  \"why are squats good?\",\n  \"why do ozone levels vary?\",\n  \"why are jp chenet bottles bent?\",\n  \"why do employers check your credit?\",\n  \"why is there nitrogen in scuba tanks?\",\n  \"why is there zinc in hot water heaters?\",\n  \"why do i need xcode?\",\n  \"why awards are bad?\",\n  \"why is there nfl games on thursdays?\",\n  \"why is edward snowden a hero?\",\n  \"why do bodybuilders chew gum?\",\n  \"why are hfcs better than cfcs?\",\n  \"why is ykk on all zippers?\",\n  \"why is there no zerg campaign in sc2?\",\n  \"why is adh also known as vasopressin?\",\n  \"why do people buy lv?\",\n  \"why do people like ff7?\",\n  \"why is ff13 so bad?\",\n  \"why is erica mena famous?\",\n  \"why are hr people so rude?\",\n  \"why are there rocks under railroad tracks?\",\n  \"why is eye twitching?\",\n  \"why do canadians say eh yahoo?\",\n  \"why do oxys make you itchy?\",\n  \"why are there bots on grindr?\",\n  \"why are there no young quasars?\",\n  \"why are the 49ers moving to santa clara?\",\n  \"why are there duplicate songs on my iphone?\",\n  \"why is eurostar so expensive?\",\n  \"why do we need qtp?\",\n  \"why do ostriches have wings?\",\n  \"why are there flags at half mast today?\",\n  \"why is zooey deschanel so hot?\",\n  \"why do you do wudu?\",\n  \"why is ayers rock important to australia?\",\n  \"why is voter turnout important?\",\n  \"why do you like ikea?\",\n  \"why are khajiit not allowed in cities?\",\n  \"why is there school on eid?\",\n  \"why do lsu fans use the word geaux?\",\n  \"why are flies so hard to swat?\",\n  \"why is privacy important?\",\n  \"why is yahoo answers so slow?\",\n  \"why do islands sink?\",\n  \"why are wcc basketball officials horrible?\",\n  \"why are there english words in japanese?\",\n  \"why are wwe ppvs on sunday?\",\n  \"why are there ads on my fb wall?\",\n  \"why is klipspringer unable to refuse?\",\n  \"why do we fall tdkr?\",\n  \"why is cpr important?\",\n  \"why is ejb used?\",\n  \"why is rip hamilton not playing?\",\n  \"why is there a texas pledge?\",\n  \"why do fps make me dizzy?\",\n  \"why are there ads on my android phone?\",\n  \"why is there a hole in evil ryu chest?\",\n  \"why is there a nhl lockout this year?\",\n  \"why is there roundabouts?\",\n  \"why do qbs wear red jerseys?\",\n  \"why do economists use gdp?\",\n  \"why are lymph nodes swollen when sick?\",\n  \"why is rwanda a poor country?\",\n  \"why is english the universal language?\",\n  \"why is yngwie malmsteen is a douche?\",\n  \"why are there rainbows after it rains?\",\n  \"why do nfl players wear paint?\",\n  \"why are ryanair so successful?\",\n  \"why is aids so hard to cure?\",\n  \"why is cb bucknor so bad?\",\n  \"why are there differences between mla and apa?\",\n  \"why are keyshia cole and beyonce beefing?\",\n  \"why do i get bsod?\",\n  \"why are there armed forces at wimbledon?\",\n  \"why is there an x in my battery for macs?\",\n  \"why are eztv mp4?\",\n  \"why is there absolute zero temperature?\",\n  \"why is there ethanol in fuel?\",\n  \"why is venice under water?\",\n  \"why is aol radio not working?\",\n  \"why is vpn showing on my iphone?\",\n  \"why are there area codes?\",\n  \"why is there no youtube ios 6?\",\n  \"why are there nfl games on saturday?\",\n  \"why is there illegal formation?\",\n  \"why is there an eiffel tower in las vegas?\",\n  \"why do lsu fans spell go geaux?\",\n  \"why is rnase used in plasmid isolation?\",\n  \"why are there ionic and covalent bonds?\",\n  \"why is there no 5th aortic arch?\",\n  \"why do convenience foods ltd exist?\",\n  \"why do lcd tvs have motion blur?\",\n  \"why is there no wrestling on justin.tv?\",\n  \"why is friar lawrence to blame?\",\n  \"why do irish catholics hate protestants?\",\n  \"why do many people object to globalization?\",\n  \"why do hpv shots hurt?\",\n  \"why is there transitional epithelium in the bladder?\",\n  \"why is there so much ignorance?\",\n  \"why do a btec in public services?\",\n  \"why is kbtc off the air?\",\n  \"why are planets round?\",\n  \"why is there acceleration in uniform circular motion?\",\n  \"why is dpi good for mouse?\",\n  \"why is there so much traffic in nj today?\",\n  \"why are fungi heterotrophic?\",\n  \"why do tires need to be rotated?\",\n  \"why are there no new tv episodes?\",\n  \"why are tdi so expensive?\",\n  \"why is route 66 famous?\",\n  \"why are there cycles in nature?\",\n  \"why is springfield xd made in croatia?\",\n  \"why do erect so easily?\",\n  \"why is there no espn philadelphia?\",\n  \"why are there more obese children?\",\n  \"why do cds skip?\",\n  \"why do living things need oxygen?\",\n  \"why are koreans against fta?\",\n  \"why are oysters animals?\",\n  \"why is vnc used?\",\n  \"why do hvac compressors fail?\",\n  \"why do salt and vinegar chips burn?\",\n  \"why are there never headrests in cars in movies?\",\n  \"why are government employees so rude?\",\n  \"why is energy released in the proton-proton chain?\",\n  \"why is there acid rain?\",\n  \"why is the call rated r?\",\n  \"why do pdfs open in word?\",\n  \"why are dmv employees rude?\",\n  \"why is htc failing?\",\n  \"why do cichlids vibrate?\",\n  \"why are there political parties?\",\n  \"why are there kangaroos in australia?\",\n  \"why the mdgs are good?\",\n  \"why do physical anthropologists study primates?\",\n  \"why are csi labs so dark?\",\n  \"why are cv\\\"s of overqualified candidates rejected?\",\n  \"why is there sand on the ttc?\",\n  \"why do lsu fans hate nick saban?\",\n  \"why are utilities down?\",\n  \"why is there dots on my legs?\",\n  \"why is there no girls on omegle?\",\n  \"why is there no ketamine in the uk?\",\n  \"why is aerodynamics important?\",\n  \"why are syrian rebels fighting?\",\n  \"why do i want ubuntu?\",\n  \"why do lymph nodes swell when you are sick?\",\n  \"why do hockey players say uh?\",\n  \"why is bh3 a lewis acid?\",\n  \"why are fractions important?\",\n  \"why do you give ffp?\",\n  \"why are there kor\\\"kron in undercity?\",\n  \"why are cnn ratings so low?\",\n  \"why do all fmls start with today?\",\n  \"why is entrepreneurship important?\",\n  \"why are the red uakari endangered?\",\n  \"why is there yom kippur?\",\n  \"why are veins green?\",\n  \"why are wet mounts used?\",\n  \"why are gymnasts so small?\",\n  \"why do dreams feel real?\",\n  \"why do gases have low densities?\",\n  \"why is sleeping in contacts bad?\",\n  \"why is crackle free?\",\n  \"why are bees dying?\",\n  \"why are there nba lockouts?\",\n  \"why is there snake on youtube?\",\n  \"why is there no children in gta?\",\n  \"why is akbar called the great?\",\n  \"why is there illness?\",\n  \"why do we need nrem sleep?\",\n  \"why do ionic compounds tend to be brittle?\",\n  \"why are older men attractive?\",\n  \"why is there rugby union and rugby league?\",\n  \"why is there aw in answer?\",\n  \"why are sea turtles important?\",\n  \"why is nvidia stock dropping?\",\n  \"why nntp is used?\",\n  \"why do buddhists meditate?\",\n  \"why do erp projects fail?\",\n  \"why is wynaut banned?\",\n  \"why do estates go into probate?\",\n  \"why is axiron a controlled substance?\",\n  \"why do lacrosse players hate baseball?\",\n  \"why is there emos?\",\n  \"why is cj off eggheads?\",\n  \"why is eod navy?\",\n  \"why is syria at war?\",\n  \"why do we use 50 hz supply?\",\n  \"why is zucchini rotting on the vine?\",\n  \"why do dying people stare at the ceiling?\",\n  \"why do they use lbs for pounds?\",\n  \"why is greek yogurt better for you?\",\n  \"why are there ads on my tumblr?\",\n  \"why do oily rags combust?\",\n  \"why is sgi a cult?\",\n  \"why is homework important?\",\n  \"why are cells so small?\",\n  \"why are ultrabooks so expensive?\",\n  \"why are americans so arrogant?\",\n  \"why are there guillotines in america?\",\n  \"why are uc davis protesting?\",\n  \"why are dalmatians fire dogs?\",\n  \"why is there a difference between gdp deflator and cpi?\",\n  \"why do kids bully?\",\n  \"why are there national parks?\",\n  \"why is upnp not available on ps3?\",\n  \"why are there dead bodies in the ganges?\",\n  \"why is there hyponatremia in siadh?\",\n  \"why is there gender inequality?\",\n  \"why are there plants in the ocean?\",\n  \"why is vinyl better?\",\n  \"why is there kissing?\",\n  \"why is there bacon in the soap mp3?\",\n  \"why are sf giants losing?\",\n  \"why do gmail contacts disappear?\",\n  \"why are dc universe servers down?\",\n  \"why do veins itch?\",\n  \"why are there nets behind hockey goals?\",\n  \"why is esther in the bible?\",\n  \"why is kissing good for you?\",\n  \"why are there girl push ups?\",\n  \"why is shen always banned?\",\n  \"why are diabetics thirsty?\",\n  \"why is rdp so slow?\",\n  \"why is there a gimp in pulp fiction?\",\n  \"why are there outliers in experiments?\",\n  \"why do mlg players yy?\",\n  \"why are rcmp pants puffy?\",\n  \"why there is ozone hole over antarctica?\",\n  \"why is there aggregate in soccer?\",\n  \"why are there different igneous rocks?\",\n  \"why are there no eruptions in the south island?\",\n  \"why is there evil in the world?\",\n  \"why is pythagorean theorem useful?\",\n  \"why is there error on page?\",\n  \"why are tears warm?\",\n  \"why do nz do the haka?\",\n  \"why are html tags important?\",\n  \"why is hrm important?\",\n  \"why we are using jsf?\",\n  \"why are there lines on my phone screen?\",\n  \"why is there tv static?\",\n  \"why is there a circle around the moon?\",\n  \"why are ultimate questions important?\",\n  \"why are there fences around graveyards?\",\n  \"why are lions endangered?\",\n  \"why is uber illegal?\",\n  \"why do wmv have to load in quicktime?\",\n  \"why are nrl jerseys so expensive?\",\n  \"why are autism rates increasing?\",\n  \"why do mosquito bites itch?\",\n  \"why is there hyperkalemia in metabolic acidosis?\",\n  \"why is there no wildlife in aokigahara?\",\n  \"why is eye contact so powerful?\",\n  \"why are there icicles in my freezer?\",\n  \"why do a tlif?\",\n  \"why is there rules?\",\n  \"why is ohs important to me?\",\n  \"why is there economic crisis?\",\n  \"why are there military bases in other countries?\",\n  \"why is mf hussain famous?\",\n  \"why is their religion yahoo answers?\",\n  \"why is cs go cheaper than source?\",\n  \"why do games have bugs?\",\n  \"why do egyptians love cats?\",\n  \"why are office chairs so expensive?\",\n  \"why are there so many guys on omegle?\",\n  \"why is euthanasia bad?\",\n  \"why do you need tdap shot?\",\n  \"why is there four gospels?\",\n  \"why is there a tyrannosaurus in the batcave?\",\n  \"why are there wreaths at christmas?\",\n  \"why is btvguide not working?\",\n  \"why is there a the before ohio state university?\",\n  \"why are exit signs green?\",\n  \"why are knives made of stainless steel?\",\n  \"why are abgs done?\",\n  \"why are tomato plant leaves curling?\",\n  \"why are there nickels on kennedy\\\"s grave?\",\n  \"why is rte player slow?\",\n  \"why is there no nba live 11?\",\n  \"why do developers use macs?\",\n  \"why do ppl change?\",\n  \"why are there bad words?\",\n  \"why do oysters get milky?\",\n  \"why is valero gas so cheap?\",\n  \"why do cucumbers get bitter?\",\n  \"why do mma fighters kiss?\",\n  \"why are there extra picks in the nfl draft?\",\n  \"why are filipinos?\",\n  \"why do cramps hurt?\",\n  \"why is there an eye on the pyramid?\",\n  \"why is bc in english and ad in latin?\",\n  \"why do flamingos stand on one foot?\",\n  \"why is zoosk not free?\",\n  \"why are kangaroo rats endangered?\",\n  \"why is there illusion?\",\n  \"why is nmci so slow?\",\n  \"why is ej henderson a free agent?\",\n  \"why do lyrebirds mimic?\",\n  \"why do i need gb for xbox?\",\n  \"why is bg locked up?\",\n  \"why are school buses always yellow?\",\n  \"why is there absolute value?\",\n  \"why do we need vswr?\",\n  \"why is there traffic on 295?\",\n  \"why is effective writing important?\",\n  \"why is there an eiffel tower?\",\n  \"why are japanese people so smart?\",\n  \"why are there gray songs on my iphone?\",\n  \"why is there military time?\",\n  \"why is dpt called triple antigen?\",\n  \"why do pigs like mud?\",\n  \"why do my nipples itch?\",\n  \"why are there only free books on ibooks?\",\n  \"why are there abortions?\",\n  \"why do events disappear from google calendar?\",\n  \"why is byod important?\",\n  \"why are europeans so arrogant?\",\n  \"why is there no krispy kreme in scotland?\",\n  \"why is gbp strengthening against usd?\",\n  \"why is there no dv for sugar?\",\n  \"why are dads so annoying?\",\n  \"why is cupertino a good place to live?\",\n  \"why are dyslexic people smart?\",\n  \"why are ne patriots wearing mhk?\",\n  \"why is omega 3 good for your brain?\",\n  \"why there is kolaveri di meaning?\",\n  \"why is great gatsby so great?\",\n  \"why are clams filter feeders?\",\n  \"why is fx channel in spanish?\",\n  \"why are office building lights on at night?\",\n  \"why are there scrums in nrl?\",\n  \"why do i hate nj?\",\n  \"why is dfas down?\",\n  \"why is ksp temperature dependent?\",\n  \"why is too much sleep bad?\",\n  \"why do maci and kyle break up?\",\n  \"why are there no dc transformers?\",\n  \"why are nails yellow?\",\n  \"why are there sugar pills in birth control?\",\n  \"why do ticks like me?\",\n  \"why do oil float on water?\",\n  \"why is there phlegm in my throat?\",\n  \"why are farms red?\",\n  \"why do fools fall in love song?\",\n  \"why are there crisis actors?\",\n  \"why is utorrent slow?\",\n  \"why do mike and ike break up?\",\n  \"why is ukip bad?\",\n  \"why is humpty dumpty an egg?\",\n  \"why is xbox one so expensive?\",\n  \"why are there less predators than prey?\",\n  \"why are there ethiopian refugees?\",\n  \"why are xbox one games 100$?\",\n  \"why is unemployment an economic problem?\",\n  \"why are gba gamesharks so expensive?\",\n  \"why is online privacy important?\",\n  \"why are xrays harmful?\",\n  \"why is there nausea with kidney stones?\",\n  \"why is cgi bad?\",\n  \"why is there opposition to globalization of trade?\",\n  \"why is there gunk in my dishwasher?\",\n  \"why do akitas bite?\",\n  \"why is nj called dirty jersey?\",\n  \"why is there no pokemon rpg?\",\n  \"why are there shootings?\",\n  \"why is time value of money important?\",\n  \"why do armpits grow hair?\",\n  \"why are my nipples sore?\",\n  \"why are there so many songs about rainbows lyrics?\",\n  \"why are there birds in the detroit airport?\",\n  \"why are tvs so cheap now?\",\n  \"why are there seagulls in north dakota?\",\n  \"why is pdf printing so small?\",\n  \"why is there green discharge in my underwear?\",\n  \"why are there 0 urls in web index?\",\n  \"why are routines important for children?\",\n  \"why do pdf files print slow?\",\n  \"why are cmyk colors dull?\",\n  \"why is there mpreg?\",\n  \"why do grapes give me gas?\",\n  \"why are eighth graders so mean?\",\n  \"why is usher called ursher?\",\n  \"why is fx changing to fxx?\",\n  \"why is there unusable fuel in an aircraft?\",\n  \"why is there plexiglass around drummers?\",\n  \"why is there a poke button on fb?\",\n  \"why is bsa used in restriction digest?\",\n  \"why are sweet potatoes orange?\",\n  \"why are there so many ostriches gif?\",\n  \"why are dslrs so big?\",\n  \"why do qualitative research?\",\n  \"why is there dna in food?\",\n  \"why are there more metals available today?\",\n  \"why are ahmes and moscow important?\",\n  \"why are there teaching standards?\",\n  \"why is there ozone in bottled water?\",\n  \"why are there impurities?\",\n  \"why are there private schools?\",\n  \"why are clowns scary?\",\n  \"why is sr22 required?\",\n  \"why are people in mdcs more productive?\",\n  \"why is there breast cancer awareness?\",\n  \"why are there grooves in the highway?\",\n  \"why is okcupid so slow?\",\n  \"why do mlb players use steroids?\",\n  \"why are there barcodes everywhere?\",\n  \"why is there echo on my iphone?\",\n  \"why is there math?\",\n  \"why are pyramids found around the world?\",\n  \"why there is kolaveri mp3?\",\n  \"why do singers say jr?\",\n  \"why is there poverty in uganda?\",\n  \"why are leos so moody?\",\n  \"why are ikea microwaves so expensive?\",\n  \"why is uic a good medical school?\",\n  \"why fwd is better?\",\n  \"why is there red in my beard?\",\n  \"why do eskimos rub noses?\",\n  \"why we do cbr test?\",\n  \"why are my breasts tender?\",\n  \"why is izual in diablo 3?\",\n  \"why is rpn better?\",\n  \"why do ohs training?\",\n  \"why is knowledge management important?\",\n  \"why are there guitar strings on google?\",\n  \"why is pc running slow?\",\n  \"why are ethics needed in an organization?\",\n  \"why is wpf so complicated?\",\n  \"why are iwc watches so good?\",\n  \"why is bacon so expensive?\",\n  \"why are nj beaches dirty?\",\n  \"why do bc teachers strike?\",\n  \"why is hawaii a state?\",\n  \"why is risk management important?\",\n  \"why do students drop out?\",\n  \"why do aquatic plants bubble?\",\n  \"why are ovaries inside the body?\",\n  \"why do dock leaves work on stinging nettles?\",\n  \"why is there hunger in the world?\",\n  \"why are klondike bars so good?\",\n  \"why are nicole and paris not friends?\",\n  \"why is bgs going down?\",\n  \"why is there vomiting in appendicitis?\",\n  \"why are people addicted to fb?\",\n  \"why is nascar a sport?\",\n  \"why are nfl jerseys so big?\",\n  \"why are there any pyramids in north america?\",\n  \"why are clouds grey?\",\n  \"why is there an equatorial bulge?\",\n  \"why are there olympics?\",\n  \"why do ikea mattresses smell?\",\n  \"why are there fruit flies in my kitchen?\",\n  \"why are wetlands endangered?\",\n  \"why are there ocean layers?\",\n  \"why are ooids important?\",\n  \"why is there centipedes in my house?\",\n  \"why is there tourism in antarctica?\",\n  \"why do my knees hurt?\",\n  \"why do russians like vodka?\",\n  \"why are jim and huck looking for cairo?\",\n  \"why are jpegs good for email?\",\n  \"why is wifi not working?\",\n  \"why do evergreens predominate in cold environments?\",\n  \"why is there suffering catholic?\",\n  \"why is jw a cult?\",\n  \"why is dmt in our bodies?\",\n  \"why is tlc so trashy?\",\n  \"why is first class so expensive?\",\n  \"why is there olives in martinis?\",\n  \"why do tattoos ooze?\",\n  \"why are cfcs important?\",\n  \"why do usa drive on the right?\",\n  \"why is ukulele so popular?\",\n  \"why do ohs audits?\",\n  \"why do they call jay z hova?\",\n  \"why do people say jr in songs?\",\n  \"why are there bugs in my house?\",\n  \"why are there weight classes in mma?\",\n  \"why are kbr discs used in ir?\",\n  \"why is working capital important?\",\n  \"why are cnblue fans called boice?\",\n  \"why is fx amber missing?\",\n  \"why do edibles make your eyes red?\",\n  \"why do ex bf text?\",\n  \"why are ibooks free?\",\n  \"why is there writing on my lenses?\",\n  \"why do people hate ixl?\",\n  \"why is fedex so expensive?\",\n  \"why is there luck?\",\n  \"why is lg cheaper than samsung?\",\n  \"why is haiti so poor?\",\n  \"why is zoro\\\"s bounty so low?\",\n  \"why are there no mosquitoes in bc?\",\n  \"why do you get bsod?\",\n  \"why do snakes eat themselves?\",\n  \"why is kva important?\",\n  \"why is there pmi?\",\n  \"why are there no ocean tides at the equator?\",\n  \"why is srk having a third child?\",\n  \"why are rtf documents so big?\",\n  \"why is there a zebra in my backyard?\",\n  \"why is there green stuff in my underwear?\",\n  \"why are there chapels in airports?\",\n  \"why are there drake and miguel memes?\",\n  \"why is vulgarity bad?\",\n  \"why is there rioting in istanbul?\",\n  \"why does ezreal do no damage?\",\n  \"why do ionic compounds tend to be hard?\",\n  \"why are there few errors in dna replication?\",\n  \"why do i get svchost errors?\",\n  \"why is custom framing so expensive?\",\n  \"why is yngwie malmsteen selling his guitars?\",\n  \"why do tires pop?\",\n  \"why are dogs racist?\",\n  \"why is there protein in my urine?\",\n  \"why do quantitative research?\",\n  \"why is there phlegm in my throat when i wake up?\",\n  \"why are there cyclists at the rowing?\",\n  \"why is there no ebay in japan?\",\n  \"why do dock tails?\",\n  \"why is cdna used in microarray?\",\n  \"why is skype so bad?\",\n  \"why do lpg cars backfire?\",\n  \"why is there pyramids in mexico?\",\n  \"why do couples look alike?\",\n  \"why is africa so poor?\",\n  \"why are there sharp pains in my breast?\",\n  \"why is there no xbox 360 emulator?\",\n  \"why do africans celebrate kwanzaa?\",\n  \"why do oats make me poop?\",\n  \"why is dc so humid?\",\n  \"why do we say eh?\",\n  \"why do nails turn yellow?\",\n  \"why do iphones get hot?\",\n  \"why do qbs wear visors?\",\n  \"why do ssris lower libido?\",\n  \"why is kylie jenner famous yahoo?\",\n  \"why is there 2gb of other on my ipod?\",\n  \"why are there cultural differences?\",\n  \"why are there red bumps after i shave?\",\n  \"why are women insecure?\",\n  \"why are gtx 680 out of stock?\",\n  \"why are there falling stars?\",\n  \"why do shots hurt?\",\n  \"why do nice guys always lose?\",\n  \"why is vs pink so expensive?\",\n  \"why is there an owl on the dollar bill?\",\n  \"why do other races look the same?\",\n  \"why do men join eharmony?\",\n  \"why is mountain dew bad?\",\n  \"why is nickelback bad?\",\n  \"why do i need 4g lte?\",\n  \"why is mrna used in protein synthesis?\",\n  \"why is gas easy to compress?\",\n  \"why is there summer vacation?\",\n  \"why are there x\\\"s in windows movie maker?\",\n  \"why are oatmeal masks good for skin?\",\n  \"why is bmi flawed?\",\n  \"why are there dry villages in alaska?\",\n  \"why did fdr do fireside chats?\",\n  \"why do flamingos turn pink?\",\n  \"why is eod part of the navy?\",\n  \"why are kwl charts useful?\",\n  \"why is igoogle going away?\",\n  \"why were there dynasties?\",\n  \"why are bhutanese refugees?\",\n  \"why are some texts green and blue?\",\n  \"why do yeast cells need atp?\",\n  \"why are there nits but no lice?\",\n  \"why is firefox so slow?\",\n  \"why is yahoo so slow?\",\n  \"why is orange juice bad for you?\",\n  \"why is ie9 so slow?\",\n  \"why are there worms in my poop?\",\n  \"why is ziva leaving ncis?\",\n  \"why do bbm contacts get deleted?\",\n  \"why is there crust around my piercing?\",\n  \"why is iron important during pregnancy?\",\n  \"why are there fans in bathrooms?\",\n  \"why do judges wear wigs?\",\n  \"why is xylem considered a vascular tissue?\",\n  \"why are pandas important?\",\n  \"why do i need dhea?\",\n  \"why are there so many women in hr?\",\n  \"why are there jokes about nokia?\",\n  \"why are nonvascular plants small?\",\n  \"why is zombieland rated r?\",\n  \"why is there no sound on dvd player?\",\n  \"why is minecraft so popular?\",\n  \"why are there mice in my house?\",\n  \"why are used subarus so expensive?\",\n  \"why do x rays only show bones?\",\n  \"why are there green eyes?\",\n  \"why is there no pst in alberta?\",\n  \"why are there less gymnasts on the olympic team?\",\n  \"why do kurds want their independence?\",\n  \"why is nh3 not considered a base?\",\n  \"why is there no nhl team in milwaukee?\",\n  \"why is dbz kai so censored?\",\n  \"why do kids have sex?\",\n  \"why do lymph nodes swell under jaw?\",\n  \"why do aorta tear?\",\n  \"why is there egg in cookies?\",\n  \"why is mp4 smaller than mkv?\",\n  \"why do trees die?\",\n  \"why is there pink when i wipe?\",\n  \"why are there good looking people?\",\n  \"why is there no benign lymphoma?\",\n  \"why do celebrities do drugs?\",\n  \"why do dock leaves soothe nettle stings?\",\n  \"why is imessage unavailable?\",\n  \"why is efc so high?\",\n  \"why is pf3 trigonal pyramidal?\",\n  \"why is there no ikea in halifax?\",\n  \"why is there duplicate songs in itunes?\",\n  \"why is ewen holding robin?\",\n  \"why do batteries leak?\",\n  \"why is there hybridization?\",\n  \"why are ngos necessary in south africa?\",\n  \"why is there rust in my fish tank?\",\n  \"why are there so few female mps?\",\n  \"why is mxit dangerous?\",\n  \"why do bats hang upside down?\",\n  \"why do jw think jesus is michael?\",\n  \"why is there sugar in nystatin?\",\n  \"why do people get ng tubes?\",\n  \"why is hdi better than gdp?\",\n  \"why do ac units freeze?\",\n  \"why is koh a strong base?\",\n  \"why do superheroes wear capes?\",\n  \"why is sucralose bad?\",\n  \"why is gun control important?\",\n  \"why is there wrongdoing in the world?\",\n  \"why is there a ps3 outage?\",\n  \"why is xlsx file so big?\",\n  \"why are eosinophils high?\",\n  \"why do pdfs not open in chrome?\",\n  \"why are carrots good for your eyes?\",\n  \"why is jim called tuna?\",\n  \"why is a jtag called a jtag?\",\n  \"why is exercise important for kids?\",\n  \"why are there scores on snapchat?\",\n  \"why is there elevator music?\",\n  \"why is dllhost.exe running?\",\n  \"why is there no stv hd?\",\n  \"why is angel pagan not playing?\",\n  \"why is there hyperlipidemia in nephrotic syndrome?\",\n  \"why are there toll roads?\",\n  \"why are there centipedes in my room?\",\n  \"why are there phobias?\",\n  \"why do the wto exist?\",\n  \"why are there less lobes on the left lung?\",\n  \"why is diet soda bad for you?\",\n  \"why is ewen keeping robin captive?\",\n  \"why is hangover 2 rated r?\",\n  \"why are squirrels so twitchy?\",\n  \"why are ptr records important?\",\n  \"why are hr policies important?\",\n  \"why is vpn slower?\",\n  \"why are there only 13 dns servers?\",\n  \"why is eric the midget banned?\",\n  \"why is there an m on rsvp?\",\n  \"why is weed still illegal?\",\n  \"why is aaron hernandez under investigation?\",\n  \"why is fnd currency used in reports?\",\n  \"why is there overpopulation in bangladesh?\",\n  \"why are girls so pretty?\",\n  \"why are there veins on my eyes?\",\n  \"why is kbr soluble?\",\n  \"why is college so expensive?\",\n  \"why are pterodactyl extinct?\",\n  \"why is there skin under my nails?\",\n  \"why are there two vmdk files?\",\n  \"why do armenians smell?\",\n  \"why are there mushrooms growing in my garden?\",\n  \"why do nfl players hold out?\",\n  \"why is there ethanol in gas?\",\n  \"why is sugar addictive?\",\n  \"why is there pentecost?\",\n  \"why are viruses used in gene therapy?\",\n  \"why do liverpool fans sing ynwa?\",\n  \"why is there a knot behind my ear?\",\n  \"why do aaa batteries explode?\",\n  \"why are pounds called lbs?\",\n  \"why is there interest on student loans?\",\n  \"why is mlp fim so popular?\",\n  \"why there is impaired skin integrity?\",\n  \"why are the ewells the disgrace of maycomb?\",\n  \"why is there church on wednesday?\",\n  \"why is jay z called hov?\",\n  \"why is there no bt in hull?\",\n  \"why is adventure time so trippy?\",\n  \"why is vpn so slow?\",\n  \"why is there a lock on my sd card?\",\n  \"why is there no nfl in 2011?\",\n  \"why is there hypocalcemia in renal failure?\",\n  \"why are there athletic scholarships?\",\n  \"why is there systematic error?\",\n  \"why are dogs so cute?\",\n  \"why do horses eat dirt?\",\n  \"why do we use nd filters?\",\n  \"why do ghouls fall in love part 2?\",\n  \"why are nvqs being phased out?\",\n  \"why is fft faster than dft?\",\n  \"why is there a need for ngos in the world?\",\n  \"why is zach braff a douche?\",\n  \"why are there viewings at funerals?\",\n  \"why do hr planning?\",\n  \"why do gds want rick ross?\",\n  \"why tae kwon do is so popular?\",\n  \"why is there no fifa 12 on ds?\",\n  \"why are eyes attractive?\",\n  \"why is there power outage?\",\n  \"why are there two zu in hiragana?\",\n  \"why is there junk dna?\",\n  \"why is kobe so good?\",\n  \"why is snoring so annoying?\",\n  \"why is bho green?\",\n  \"why is xml called extensible?\",\n  \"why is ibuprofen sold as a racemic mixture?\",\n  \"why are there pancakes in the silverware drawer?\",\n  \"why do dvds get released on tuesdays?\",\n  \"why are jpegs so popular?\",\n  \"why are french fries called french fries?\",\n  \"why is there vomiting during pregnancy?\",\n  \"why are there so many europeans in argentina?\",\n  \"why is ethyl acetate nonpolar?\",\n  \"why do ospreys screech?\",\n  \"why are there rocky planets and gas planets?\",\n  \"why do athletes take ice baths?\",\n  \"why are hcfcs safer than cfcs?\",\n  \"why do judges use a gavel?\",\n  \"why is vulcanized rubber important?\",\n  \"why are nsaids hard on the stomach?\",\n  \"why are kwanzaa candles colored?\",\n  \"why is cpr so important?\",\n  \"why is tlad grainy?\",\n  \"why lbos are bad?\",\n  \"why are nhl players allowed to fight?\",\n  \"why is there stars in the sky?\",\n  \"why there are mountains lyrics?\",\n  \"why do nails grow?\",\n  \"why is there mist in the morning?\",\n  \"why is there a ghost in hamlet?\",\n  \"why is fsu playing savannah state?\",\n  \"why is nz called nz?\",\n  \"why are awards and agreements used in the workplace?\",\n  \"why are there overprotective parents?\",\n  \"why are guys afraid of commitment?\",\n  \"why is there no nba?\",\n  \"why are there rubies in watches?\",\n  \"why are salads good for you?\",\n  \"why is there crust in my eyes?\",\n  \"why is ezvid not working?\",\n  \"why do people put xox?\",\n  \"why are hp laptops so bad?\",\n  \"why are eggs refrigerated?\",\n  \"why is there lagging strand?\",\n  \"why do cfcs deplete the ozone layer?\",\n  \"why is a ssgt called top?\",\n  \"why is avg still used?\",\n  \"why is there a eurozone crisis?\",\n  \"why is boxing called boxing?\",\n  \"why is lynchburg called lynchburg?\",\n  \"why do kale leaves turn yellow?\",\n  \"why is bcg vaccine given?\",\n  \"why is there a knot in my neck?\",\n  \"why is psychology interesting?\",\n  \"why is cgi used in films?\",\n  \"why is there global warming?\",\n  \"why is there dress code?\",\n  \"why is there yugioh season 0?\",\n  \"why is there garbage in naples?\",\n  \"why is china so rich?\",\n  \"why are there two ignition wires?\",\n  \"why do utis cause blood in urine?\",\n  \"why are there 2 l in llama?\",\n  \"why is gangster squad rated r?\",\n  \"why are bcaas good?\",\n  \"why are there slugs in my yard?\",\n  \"why is there donkey in donkey kong?\",\n  \"why do girls cut themselves?\",\n  \"why is there cholesterol in protein powder?\",\n  \"why is there civil war in sudan?\",\n  \"why is ayn rand hated?\",\n  \"why are tpms sensors so expensive?\",\n  \"why is nj gas cheaper?\",\n  \"why is lebron so good?\",\n  \"why are there always opportunity costs?\",\n  \"why are whole grains good for you?\",\n  \"why do equipotential lines never cross?\",\n  \"why are flags at half staff today?\",\n  \"why do stars explode?\",\n  \"why are heart valves important?\",\n  \"why is kush illegal?\",\n  \"why are seagulls called seagulls?\",\n  \"why is there drought in ethiopia?\",\n  \"why are xenon lights better?\",\n  \"why do people buy lps?\",\n  \"why do gypsies wear big dresses?\",\n  \"why are mlb contracts guaranteed?\",\n  \"why is there quinine in tonic water?\",\n  \"why is aqw so laggy?\",\n  \"why is there empty space in a cereal box?\",\n  \"why are there two wwe championships?\",\n  \"why are there mysteries in the rosary?\",\n  \"why are eels called eels?\",\n  \"why are utility stocks down today?\",\n  \"why are gamma rays dangerous?\",\n  \"why is zfs good?\",\n  \"why do ostriches dance?\",\n  \"why is there aftershocks?\",\n  \"why is jtag used?\",\n  \"why is oil leaking from my car?\",\n  \"why are there fanboys?\",\n  \"why do equality\\\"s teachers disapprove?\",\n  \"why are ed drugs so expensive?\",\n  \"why is there egg in vaccines?\",\n  \"why is there no cure for ebola?\",\n  \"why is jp morgan important?\",\n  \"why are there earthquakes in california?\",\n  \"why is venusaur uu?\",\n  \"why are kale shakes good for you?\",\n  \"why is there no generic adderall xr?\",\n  \"why is wwe pg now?\",\n  \"why do sri lankans hate india?\",\n  \"why is there uppercase and lowercase?\",\n  \"why is there lumps in my throat?\",\n  \"why are oysters so good?\",\n  \"why is nguyen spelled?\",\n  \"why are oberon and titania fighting?\",\n  \"why are there ghost towns in spain?\",\n  \"why do usb ports go bad?\",\n  \"why is there uprising in the middle east?\",\n  \"why are mlb parks different sizes?\",\n  \"why are xlr cables expensive?\",\n  \"why are nylabones bad for dogs?\",\n  \"why is nz better than australia?\",\n  \"why is there autumn?\",\n  \"why do mncs use sweatshops?\",\n  \"why is uc davis called aggies?\",\n  \"why is taxonomy important?\",\n  \"why is us in debt?\",\n  \"why do my mkv files lag?\",\n  \"why are ikea kitchens so cheap?\",\n  \"why is esperanza\\\"s description of the broom funny?\",\n  \"why are mosquitoes attracted to humans?\",\n  \"why is yuri called yul?\",\n  \"why is there a delay on my xbox 360?\",\n  \"why is there afghanistan war?\",\n  \"why are there no subtitles on itv hd?\",\n  \"why do owls represent wisdom?\",\n  \"why is nf3 trigonal pyramidal?\",\n  \"why do llamas hum?\",\n  \"why are there menstrual cramps?\",\n  \"why are ulcers worse at night?\",\n  \"why are there no mcdonalds in bolivia?\",\n  \"why is life worth living?\",\n  \"why are there nitrogen tanks on the side of the road?\",\n  \"why do gliders have long wings?\",\n  \"why are epithelial cells polar?\",\n  \"why is there traffic on i five south?\",\n  \"why is fynbos special?\",\n  \"why are credit cards good?\",\n  \"why are there neutrons in an atom?\",\n  \"why is nbc not working?\",\n  \"why do airplanes have oxygen masks?\",\n  \"why is there a pikachu in osmosis jones?\",\n  \"why is ftl impossible?\",\n  \"why is there a giant carrot in ohakune?\",\n  \"why are people homophobic?\",\n  \"why do xylem cells need to be dead?\",\n  \"why are vw golf seats uncomfortable?\",\n  \"why is oatmeal bad for you?\",\n  \"why are there snakes on the plane?\",\n  \"why are airplane windows round?\",\n  \"why is hsg test done?\",\n  \"why is there aftershocks after an earthquake?\",\n  \"why are samoans so huge?\",\n  \"why is mma so violent?\",\n  \"why is msg used in food?\",\n  \"why do the ewells not go to school?\",\n  \"why is tyler the creator so popular?\",\n  \"why are there 2 iexplore.exe processes running?\",\n  \"why is fmcc going up?\",\n  \"why are evolutionary trees often changed?\",\n  \"why are there nursery rhymes?\",\n  \"why is cvs bad?\",\n  \"why are street lights yellow?\",\n  \"why are voices different?\",\n  \"why is dbz so popular?\",\n  \"why is there smog in cities?\",\n  \"why do work adsense wp plugin?\",\n  \"why is xlsx opening a zip file?\",\n  \"why are xfx cards more expensive?\",\n  \"why do i have double xp?\",\n  \"why do twitter dms disappear?\",\n  \"why are accessory pigments necessary in photosystems?\",\n  \"why do typhoons occur?\",\n  \"why is there caffeine in midol?\",\n  \"why are eric and julia roberts estranged?\",\n  \"why do we need fmea?\",\n  \"why is there existence?\",\n  \"why are llamas in the sims?\",\n  \"why is gatsby great?\",\n  \"why is nginx faster than apache?\",\n  \"why are there x on ukulele tabs?\",\n  \"why are race tracks called downs?\",\n  \"why are umbrella handles curved?\",\n  \"why do we have nclb?\",\n  \"why are german cars so good?\",\n  \"why is pg&e a monopoly?\",\n  \"why are khloe and kim fighting?\",\n  \"why are there itchy bumps on my back?\",\n  \"why are there juggalos?\",\n  \"why is there emphasis on non-price competition in oligopoly?\",\n  \"why do our ears ring?\",\n  \"why are there no iphone 5 in stores?\",\n  \"why is there head bobbing in aortic regurgitation?\",\n  \"why do markets exist?\",\n  \"why is excel changing my numbers?\",\n  \"why are nokias so durable?\",\n  \"why are there juries in civil cases?\",\n  \"why are air conditioners so heavy?\",\n  \"why are master sgts called top?\",\n  \"why do farts smell?\",\n  \"why are there ads on my computer?\",\n  \"why are online classes bad?\",\n  \"why is there scaffolding around the washington monument?\",\n  \"why do ssri make you sweat?\",\n  \"why do people join eharmony?\",\n  \"why is yogurt good for you?\",\n  \"why are team gb good at cycling?\",\n  \"why is zulu time called zulu?\",\n  \"why do abs stick out?\",\n  \"why is jp back on hells kitchen?\",\n  \"why are there so many ignorant people?\",\n  \"why is mls not popular?\",\n  \"why is there 2 cyber?\",\n  \"why do ecologists make models?\",\n  \"why are jamaicans so rude?\",\n  \"why is there body odor?\",\n  \"why is there nuchal rigidity in meningitis?\",\n  \"why is there fm and am?\",\n  \"why is there no e grade?\",\n  \"why is there nothing on tv?\",\n  \"why are donuts bad for you?\",\n  \"why are volcanoes called volcanoes?\",\n  \"why is there no robin in dark knight?\",\n  \"why is there no king of england?\",\n  \"why are aggregates used in concrete?\",\n  \"why do rich people pay less taxes?\",\n  \"why are there us bases in japan?\",\n  \"why is there no new tv this week?\",\n  \"why are there dots on my nose?\",\n  \"why is there arsenic in drinking water?\",\n  \"why is tyler oakley bad?\",\n  \"why is twilight so popular?\",\n  \"why is dna so important in biology?\",\n  \"why do iguanas shake their heads?\",\n  \"why is cvs calling me?\",\n  \"why is wild bill on cape caution?\",\n  \"why is silver so low?\",\n  \"why is there no bgt tour this year?\",\n  \"why are zits hard?\",\n  \"why are cpr classes so expensive?\",\n  \"why are oil companies so profitable?\",\n  \"why is zuko so hot?\",\n  \"why is there an eye in a cyclone?\",\n  \"why is there mold in my house?\",\n  \"why are vowels called vowels?\",\n  \"why are okc fans booing beverley?\",\n  \"why are there people?\",\n  \"why are golf balls numbered?\",\n  \"why is there pressure in my chest?\",\n  \"why are pygmy hippos endangered?\",\n  \"why are there girls in nhl 12?\",\n  \"why is seo important?\",\n  \"why are korean girls so cute?\",\n  \"why are there ants in my bathroom?\",\n  \"why qms is required?\",\n  \"why are gnats attracted to fruit?\",\n  \"why is muscle man green?\",\n  \"why is ejaculation important?\",\n  \"why is wpa2 better?\",\n  \"why are there always ants on peonies?\",\n  \"why are hondas so reliable?\",\n  \"why are they remaking ffx?\",\n  \"why is wuthering heights so popular?\",\n  \"why is there rainbows?\",\n  \"why is illinois so liberal?\",\n  \"why are there worms in my rice?\",\n  \"why is jupiter denser than saturn?\",\n  \"why are illusory correlations believed to be true?\",\n  \"why do i have no lh surge?\",\n  \"why are jpegs compressed?\",\n  \"why is there green stuff in my eye?\",\n  \"why is zn2+ diamagnetic?\",\n  \"why is gdp a bad measure?\",\n  \"why is pvc free important?\",\n  \"why are rccbs better than fuses?\",\n  \"why is there controversy about gmos?\",\n  \"why is there squares on twitter?\",\n  \"why is udhr important?\",\n  \"why are cfls more efficient?\",\n  \"why is lb used for pounds?\",\n  \"why are complementary cmos gates inverting?\",\n  \"why is overfishing good?\",\n  \"why do people ddos websites?\",\n  \"why is new york so expensive?\",\n  \"why are mnemonics helpful?\",\n  \"why is there urine on tampon?\",\n  \"why is xcode 4 so slow?\",\n  \"why are hospitals only hiring bsn?\",\n  \"why is of mice and men a good book?\",\n  \"why is einstein famous?\",\n  \"why do people hate rpgs?\",\n  \"why are hmong people in america?\",\n  \"why do fsh levels fall after ovulation?\",\n  \"why is there sequestration?\",\n  \"why do other countries speak english?\",\n  \"why is fwb bad?\",\n  \"why is vnc slower than rdp?\",\n  \"why is there no ejaculation?\",\n  \"why do cucumbers help puffy eyes?\",\n  \"why is studying so hard?\",\n  \"why are there gnats in my office?\",\n  \"why do octopus ink?\",\n  \"why are dmv workers so angry?\",\n  \"why is there an axeman in resident evil?\",\n  \"why is lladro so expensive?\",\n  \"why are there no impact craters on io?\",\n  \"why are mtv shows so fake?\",\n  \"why is there no cure for ms?\",\n  \"why are there italians in america?\",\n  \"why is wukong underplayed?\",\n  \"why is there olympic basketball?\",\n  \"why are aquariums good?\",\n  \"why do fta\\\"s exist?\",\n  \"why is yen strengthening?\",\n  \"why do lcd tvs get hot?\",\n  \"why do office chairs sink?\",\n  \"why are there fights in hockey?\",\n  \"why are ebooks expensive?\",\n  \"why is ajaccio famous?\",\n  \"why do msc?\",\n  \"why is wwe 13 so hard?\",\n  \"why is ndtv pro congress?\",\n  \"why are there xmas trees?\",\n  \"why is brian scalabrine so popular?\",\n  \"why are adjusting entries journalized?\",\n  \"why is there dots around my nipple?\",\n  \"why is gravity important?\",\n  \"why do married men have affairs?\",\n  \"why is there formaldehyde in nail polish?\",\n  \"why are there three prongs on a plug?\",\n  \"why is there texas edition trucks?\",\n  \"why is there no kid rock on itunes?\",\n  \"why are there tamils in sri lanka?\",\n  \"why is there minor league baseball?\",\n  \"why is cereal so expensive?\",\n  \"why is mlb the show so hard?\",\n  \"why are there available movies on netflix?\",\n  \"why is xylitol toxic to dogs?\",\n  \"why do djs use mac?\",\n  \"why is there no mlp this week?\",\n  \"why are there bits in my urine?\",\n  \"why is jr smith in the hospital?\",\n  \"why is there hemoptysis in pulmonary embolism?\",\n  \"why do people hate cg?\",\n  \"why do phospholipids form a double layer?\",\n  \"why are cpg islands unmethylated?\",\n  \"why is cgi so popular?\",\n  \"why are cctv cameras needed?\",\n  \"why are there no images of allah?\",\n  \"why is kno3 soluble in water?\",\n  \"why are there video cameras at intersections?\",\n  \"why is there fighting in sri lanka?\",\n  \"why is there hebrew on pringles cans?\",\n  \"why are uc berkeley students protesting?\",\n  \"why are there landmines in angola?\",\n  \"why is there so much rape in india?\",\n  \"why do iphones charge so fast?\",\n  \"why do people hate ff8?\",\n  \"why is there no general rank in bf3?\",\n  \"why are cats noses wet?\",\n  \"why do vampire bats drink blood?\",\n  \"why is broken city rated r?\",\n  \"why is udina on the council me3?\",\n  \"why do cng tanks expire?\",\n  \"why are there so many helicopters in oakland today?\",\n  \"why is vw golf so expensive?\",\n  \"why do a dfd?\",\n  \"why is vwvortex down?\",\n  \"why are there illuminati?\",\n  \"why are mlb umpires so bad?\",\n  \"why do i feel so tired?\",\n  \"why is rihanna famous?\",\n  \"why is there peanuts in my poop?\",\n  \"why are juries important?\",\n  \"why are pdfs so slow?\",\n  \"why do republicans hate npr?\",\n  \"why are there wars?\",\n  \"why is estella grateful to pip?\",\n  \"why do i ffh lyrics?\",\n  \"why do objects sink?\",\n  \"why is ohio weather so weird?\",\n  \"why is safe rated r?\",\n  \"why do we need hw?\",\n  \"why do vineyards have roses?\",\n  \"why do aquarium snails die?\",\n  \"why do brakes squeal?\",\n  \"why are wings so expensive?\",\n  \"why are ties so expensive?\",\n  \"why is bt vision so bad?\",\n  \"why is biodiversity important to ecosystems?\",\n  \"why are axial bonds longer than?\",\n  \"why are there no ions in covalent compounds?\",\n  \"why do birds fly in a v?\",\n  \"why are there pharmacists?\",\n  \"why is there screaming in i am a god?\",\n  \"why are anchovies so salty?\",\n  \"why are some movies nr?\",\n  \"why are arthropods important?\",\n  \"why are pg&e rates so high?\",\n  \"why are essential questions important?\",\n  \"why is dysport cheaper than botox?\",\n  \"why is there poverty in africa?\",\n  \"why do ur ears pop?\",\n  \"why is there english upside down on facebook?\",\n  \"why is there tension between china and japan?\",\n  \"why is boba bad?\",\n  \"why are hp computers bad?\",\n  \"why are there hills?\",\n  \"why are there worms in my aquarium?\",\n  \"why are vegetables important?\",\n  \"why are scientists interested in gfp?\",\n  \"why is uw good?\",\n  \"why is iis asking for username and password?\",\n  \"why is there an owl in the fourth kind?\",\n  \"why are there mermaids in norfolk?\",\n  \"why do dslr use cmos?\",\n  \"why are there men gynos?\",\n  \"why is there pyramids in egypt?\",\n  \"why is iexplore.exe running twice?\",\n  \"why do lightning bugs light up?\",\n  \"why are ionic compounds brittle?\",\n  \"why is there pimples on my arms?\",\n  \"why are there no quick trips in okc?\",\n  \"why are ultraviolet waves harmful?\",\n  \"why do jpegs lose quality?\",\n  \"why is there mesh in swim trunks?\",\n  \"why do guys like long legs?\",\n  \"why are xds made in croatia?\",\n  \"why are oklahoma flags at half mast?\",\n  \"why is there no skyscrapers in dc?\",\n  \"why is cpm cost per thousand?\",\n  \"why is down there itchy?\",\n  \"why are there metal bands on palm trees?\",\n  \"why do females have periods?\",\n  \"why are there helicopters over pasadena?\",\n  \"why are square toed shoes bad?\",\n  \"why do nosebleeds happen?\",\n  \"why are there exceptions to the octet rule?\",\n  \"why is there violence in egypt?\",\n  \"why is there war?\",\n  \"why is there a pyramid on american money?\",\n  \"why do gps sometimes charge fees?\",\n  \"why is there captcha on omegle?\",\n  \"why is hunger games so popular?\",\n  \"why are there enzymes in washing powder?\",\n  \"why is knowledge important in life?\",\n  \"why is ooma flashing red?\",\n  \"why is kanye not with kim?\",\n  \"why is uefi better than bios?\",\n  \"why is there team gb?\",\n  \"why is there killing in the bible?\",\n  \"why is nginx on google?\",\n  \"why is league of legends addicting?\",\n  \"why is gluten bad?\",\n  \"why do aerosol cans get cold?\",\n  \"why are css important?\",\n  \"why is omaeda a lieutenant?\",\n  \"why is smoked salmon called lox?\",\n  \"why are umbrellas bad luck?\",\n  \"why is there new auctioneers on storage wars?\",\n  \"why do people like fdr?\",\n  \"why are omelettes good for you?\",\n  \"why do our noses bleed?\",\n  \"why is north korea communist?\",\n  \"why are sponges classified as animals?\",\n  \"why are pounds shown as lbs?\",\n  \"why are there roaches in my apartment?\",\n  \"why is mr moseby in jail?\",\n  \"why are tears salty?\",\n  \"why is there no apache in bf3?\",\n  \"why are the uighurs unhappy?\",\n  \"why is there flu season?\",\n  \"why is quinoa better than rice?\",\n  \"why is egypt in turmoil?\",\n  \"why are they called hamburgers?\",\n  \"why are there worms in my toilet?\",\n  \"why is rwanda so densely populated?\",\n  \"why is hunting good?\",\n  \"why is rs232 better than usb?\",\n  \"why is lcd important?\",\n  \"why are microwaves dangerous?\",\n  \"why is jcaho important?\",\n  \"why is wfnx going off the air?\",\n  \"why do squids have beaks?\",\n  \"why are sand dollars purple?\",\n  \"why is dmc rated m?\",\n  \"why is there no catcher in the rye movie?\",\n  \"why is there hot water in my toilet?\",\n  \"why do oocytes die?\",\n  \"why are squats and deadlifts so important?\",\n  \"why are there no villagers in minecraft xbox?\",\n  \"why do we need ndaa?\",\n  \"why are there ice storms?\",\n  \"why is there oil on my spark plug?\",\n  \"why are glaciers blue?\",\n  \"why do urine smell like ammonia?\",\n  \"why do tvs buzz?\",\n  \"why do keloids form?\",\n  \"why do we need tdd?\",\n  \"why is lbt opposed?\",\n  \"why are there three stars on dc flag?\",\n  \"why is there seaweed on the beach?\",\n  \"why are twins delivered early?\",\n  \"why is aol forbidden?\",\n  \"why is there no more idvd?\",\n  \"why do mnemonics work in improving memory?\",\n  \"why is imagination important?\",\n  \"why is wudu important?\",\n  \"why are there stars?\",\n  \"why are ig accounts getting deleted?\",\n  \"why is msg in food?\",\n  \"why is tracy burgess leaving wfan?\",\n  \"why do boobs get sore?\",\n  \"why do cats sneeze?\",\n  \"why are khloe and lamar handcuffed?\",\n  \"why do bbms not deliver?\",\n  \"why do dogs roll in poop?\",\n  \"why are there so little bf3 servers?\",\n  \"why do yellow jackets follow me?\",\n  \"why are there germans in brazil?\",\n  \"why are bfoqs important in hiring?\",\n  \"why do squats hurt?\",\n  \"why is there gravel on roofs?\",\n  \"why are aqueducts important?\",\n  \"why do aarti?\",\n  \"why are girls so confusing?\",\n  \"why are there still apes?\",\n  \"why is equiano renamed gustavus vassa?\",\n  \"why do babies cry so much?\",\n  \"why is lpg expensive in australia?\",\n  \"why is alcatraz famous?\",\n  \"why is killing wrong?\",\n  \"why is there rice in salt?\",\n  \"why do clocks run clockwise?\",\n  \"why are exotic species a problem?\",\n  \"why are ag dolls so expensive?\",\n  \"why are sdhc cards so expensive?\",\n  \"why are there many svchost.exe?\",\n  \"why is there no 16gb ipod touch?\",\n  \"why are there leap years?\",\n  \"why are there wrongful convictions?\",\n  \"why is bt broadband so bad?\",\n  \"why do firms undertake fdi?\",\n  \"why are zoos bad?\",\n  \"why do pitbulls attack people?\",\n  \"why is rupee falling?\",\n  \"why do rcbos have an earth lead?\",\n  \"why is kyrgyzstan poor?\",\n  \"why is excel slow on mac?\",\n  \"why is there two political parties?\",\n  \"why is there no tron dvd?\",\n  \"why is there silent letters in the english language?\",\n  \"why are wetlands important for kids?\",\n  \"why do warts itch?\",\n  \"why are zinc and copper used in batteries?\",\n  \"why are mcdonalds salads bad?\",\n  \"why are alveolar walls so thin?\",\n  \"why is uga a good school?\",\n  \"why is qew closed?\",\n  \"why is css so hard?\",\n  \"why is freon so expensive?\",\n  \"why is there employment law?\",\n  \"why is cdna useful?\",\n  \"why is coconut oil good for you?\",\n  \"why do we write xoxo?\",\n  \"why are dnr orders ignored?\",\n  \"why do ringworms keep coming back?\",\n  \"why is xbox one more expensive?\",\n  \"why is there obesity in australia?\",\n  \"why is there crust in my eyes when i wake up?\",\n  \"why is fertilizer explosive?\",\n  \"why is cricket called cricket?\",\n  \"why do mcdonald\\\"s mcflurry spoons?\",\n  \"why are there egypt protests?\",\n  \"why is there no gtalk for mac?\",\n  \"why is ghee good?\",\n  \"why are there eight stars on the nfl logo?\",\n  \"why are ny subways so hot?\",\n  \"why is wundt considered the founder of psychology?\",\n  \"why is dfw airport closed?\",\n  \"why are dreams hard to remember?\",\n  \"why is xd in esp?\",\n  \"why do cats spray?\",\n  \"why is umbilical cord blood useful?\",\n  \"why do jihadists hate america?\",\n  \"why is there no mcdonalds in armenia?\",\n  \"why do accents change when singing?\",\n  \"why are beans not paleo?\",\n  \"why is citizen kane important?\",\n  \"why is aol not responding?\",\n  \"why do symbols matter?\",\n  \"why are psalms important?\",\n  \"why we are using vpn?\",\n  \"why do imessages sometimes not send?\",\n  \"why is abortion okay?\",\n  \"why do zumba pants have straps?\",\n  \"why is there reserved space on my zune?\",\n  \"why are there upside down question marks?\",\n  \"why are nj srecs so low?\",\n  \"why are lunch ladies so mean?\",\n  \"why is there terrorism in the world?\",\n  \"why are odesk rates so low?\",\n  \"why do nhl refs stop fights?\",\n  \"why is there israeli palestinian conflict?\",\n  \"why are there eight planets in the solar system?\",\n  \"why are pga players wearing red ribbons?\",\n  \"why are there tides?\",\n  \"why is olive oil expensive?\",\n  \"why do watches have iiii?\",\n  \"why do they say xoxo?\",\n  \"why is pp the abbreviation for pages?\",\n  \"why are there people laughing in tv shows?\",\n  \"why is illegal immigration a problem in the us?\",\n  \"why are ngos ineffective?\",\n  \"why is hwy 99 closed?\",\n  \"why are mortgage rates going up?\",\n  \"why do autistic kids regress?\",\n  \"why are there phillips and flat head screws?\",\n  \"why is setting important?\",\n  \"why is there hair in my nose?\",\n  \"why is knowledge bad?\",\n  \"why do ice cubes form in the freezer?\",\n  \"why do opiates make you throw up?\",\n  \"why are there groups on the periodic table?\",\n  \"why are there spots on my cd?\",\n  \"why do user testing?\",\n  \"why are there zombies in game of thrones?\",\n  \"why are there straps on zumba pants?\",\n  \"why are habitats limited resources?\",\n  \"why are upwelling waters always cold?\",\n  \"why is tuna called chicken of the sea?\",\n  \"why is silver dropping?\",\n  \"why do zwitterions form?\",\n  \"why is fx better than dx?\",\n  \"why are ibanez guitars good?\",\n  \"why is uee popular?\",\n  \"why are there shells in limestone?\",\n  \"why is ncis ending?\",\n  \"why are there oxygen bars?\",\n  \"why are there 3 stars on tn flag?\",\n  \"why is dhea important?\",\n  \"why is there no original ac/dc on itunes?\",\n  \"why is there a leap year?\",\n  \"why is oral history important?\",\n  \"why are there peanut allergies?\",\n  \"why is there 2 nba teams in la?\",\n  \"why do iphone screens crack?\",\n  \"why are there balls on electric lines?\",\n  \"why is there no krispy kreme in perth?\",\n  \"why do sunspots appear dark?\",\n  \"why are there oil stains on my clothes?\",\n  \"why is there earthquakes in japan?\",\n  \"why is there a lot of svchost.exe?\",\n  \"why are ncaa football gloves grey?\",\n  \"why is there a uk riot?\",\n  \"why is nba 2k13 so bad?\",\n  \"why are canadians so nice?\",\n  \"why there is no sound in ubuntu?\",\n  \"why bffs are important?\",\n  \"why is tm meditation so expensive?\",\n  \"why are there small flies in my room?\",\n  \"why is jem so inconsistent and moody?\",\n  \"why are there different hdmi cables?\",\n  \"why is iran a threat?\",\n  \"why is there poverty in the world?\",\n  \"why is the bz reaction famous?\",\n  \"why is there an obelisk in st peter square?\",\n  \"why do umpires wear suits?\",\n  \"why is uluru famous?\",\n  \"why do sweat so much?\",\n  \"why do english bulldogs smell?\",\n  \"why is there so much dna in an organism?\",\n  \"why are there dress codes?\",\n  \"why do quads have a thumb throttle?\",\n  \"why are there equinoxes?\",\n  \"why do you get tmj?\",\n  \"why is there no epl this week?\",\n  \"why do nails break?\",\n  \"why is wwe scripted?\",\n  \"why do japanese kill dolphins?\",\n  \"why is effect veiler so good?\",\n  \"why do samurai carry two swords?\",\n  \"why is rap so good?\",\n  \"why are vw called dubs?\",\n  \"why are rfid readers so expensive?\",\n  \"why are there no ps3 emulators?\",\n  \"why do emo people cut?\",\n  \"why is gram staining important?\",\n  \"why do ethical problems occur in business?\",\n  \"why are typing skills important?\",\n  \"why are fye stores closing?\",\n  \"why is fable 3 rated m?\",\n  \"why do rsa tokens expire?\",\n  \"why is the rum gone?\",\n  \"why are umbrellas made with metal?\",\n  \"why is vitamix so good?\",\n  \"why is azt used for aids?\",\n  \"why are tomatoes bad for dogs?\",\n  \"why are wigi boards bad?\",\n  \"why are there snails in my fish tank?\",\n  \"why do zits hurt?\",\n  \"why is rhubarb good for you?\",\n  \"why is comic sans hated?\",\n  \"why are rhinos going extinct?\",\n  \"why are agnostics hated?\",\n  \"why do people say uhh?\",\n  \"why is gdp a bad indicator?\",\n  \"why is there shoes on telephone lines?\",\n  \"why are nz flag stars red?\",\n  \"why are there awkward silences?\",\n  \"why is uluru important to australia?\",\n  \"why is bpa harmful?\",\n  \"why there are three wires in rtd?\",\n  \"why are patriots wearing mhk on their jerseys?\",\n  \"why do kangaroos box?\",\n  \"why is hsv 1 so common?\",\n  \"why are there two iexplore.exe processes?\",\n  \"why do pdfs print so slow?\",\n  \"why are there byes in nfl?\",\n  \"why is vitamin a good for you?\",\n  \"why is barton hills a nnr?\",\n  \"why are there engagement rings?\",\n  \"why do people hate the ttc?\",\n  \"why is uae called uae?\",\n  \"why do oceans moderate the climate on earth?\",\n  \"why is oovoo called oovoo?\",\n  \"why are dmaa products banned?\",\n  \"why are there eight cervical nerves?\",\n  \"why is utorrent so slow all of a sudden?\",\n  \"why do my legs ache?\",\n  \"why is there daylight savings in australia?\",\n  \"why are there bye weeks in espn fantasy football?\",\n  \"why is there seaweed in ice cream?\",\n  \"why are hemp seeds good for you?\",\n  \"why are oats good for you?\",\n  \"why are isotopes important?\",\n  \"why do koreans wear masks?\",\n  \"why are parliaments called pfunks?\",\n  \"why is safari so slow?\",\n  \"why is xsplit lagging?\",\n  \"why do insects exist?\",\n  \"why do uppers make me tired?\",\n  \"why is wasabi hot?\",\n  \"why are there auto dealers?\",\n  \"why is tyler posey\\\"s jaw crooked?\",\n  \"why is there pain in my lower abdomen?\",\n  \"why are there no tides in the aegean sea?\",\n  \"why is onion bad for dogs?\",\n  \"why do squirrels swim on their backs?\",\n  \"why is fabby called the gatekeeper?\",\n  \"why are there so many moths in nm?\",\n  \"why are harry potter books banned?\",\n  \"why is yeezus so bad?\",\n  \"why are eddie bauer stores closing?\",\n  \"why are audemars piguet so expensive?\",\n  \"why is there war in uganda?\",\n  \"why is there unemployment?\",\n  \"why is there so much dust in my room?\",\n  \"why is there a writing process?\",\n  \"why do hands shake?\",\n  \"why are there energy changes in chemical reactions?\",\n  \"why is there civil unrest in libya?\",\n  \"why are hydrocarbons insoluble in water?\",\n  \"why are lobsters blue?\",\n  \"why is there pressure behind my eye?\",\n  \"why are there planes on the top gear track?\",\n  \"why is there rules in sport?\",\n  \"why is there no tv icon on ps3?\",\n  \"why are gb so good at cycling?\",\n  \"why is uc davis a good school?\",\n  \"why is zvz so hard?\",\n  \"why are gcses so stressful?\",\n  \"why do people hate dbz gt?\",\n  \"why is there jury duty?\",\n  \"why are lpg tanks spherical?\",\n  \"why are mls salaries so low?\",\n  \"why is there a bump on my vulva?\",\n  \"why is tyler oakley famous?\",\n  \"why are there laws of war?\",\n  \"why do humans have nails?\",\n  \"why do nzers give gifts at christmas?\",\n  \"why is xml used?\",\n  \"why is x factor delayed tonight?\",\n  \"why do wine bottles have corks?\",\n  \"why is there no iphone 5?\",\n  \"why is there prejudice against the okies?\",\n  \"why are there so many earthquakes in oklahoma?\",\n  \"why are there tiny holes in my shirts?\",\n  \"why are there mormons in utah?\",\n  \"why is there blood when i ejaculate?\",\n  \"why is python better than perl?\",\n  \"why is there madden 25?\",\n  \"why is ntsc 29.97?\",\n  \"why do naomi and wynonna fight?\",\n  \"why are pickles green?\",\n  \"why is there homework?\",\n  \"why do rv\\\"s have ladders?\",\n  \"why is there rust in my coolant?\",\n  \"why do abused women go back?\",\n  \"why are cst scores important?\",\n  \"why do married women flirt?\",\n  \"why are closing costs so high?\",\n  \"why do women crave chocolate?\",\n  \"why do mds not like chiropractors?\",\n  \"why are hr strategies important?\",\n  \"why is there aids in south africa?\",\n  \"why is there riots in oakland?\",\n  \"why are bt so incompetent?\",\n  \"why are utp cables twisted?\",\n  \"why are hsbc shares falling?\",\n  \"why is urine smell?\",\n  \"why is there hiccups?\",\n  \"why are there 64 teams in the ncaa tournament?\",\n  \"why are ie8 tabs green?\",\n  \"why is there no gold on the ah?\",\n  \"why is there lead in gasoline?\",\n  \"why is sbs 2011 so slow?\",\n  \"why are there no cbs shows on hulu?\",\n  \"why are lesson plans important?\",\n  \"why are there bees?\",\n  \"why do vampires hate garlic?\",\n  \"why do we use lbs for pounds?\",\n  \"why do japanese add san to names?\",\n  \"why are ikea cribs gone?\",\n  \"why is stretching good?\",\n  \"why are germans so smart?\",\n  \"why do isopods prefer soil?\",\n  \"why do european women not shave?\",\n  \"why do ethiopians look alike?\",\n  \"why do cpo wear anchors?\",\n  \"why are oedipus daughters special to him?\",\n  \"why is there weight loss with rheumatoid arthritis?\",\n  \"why is helium bad for you?\",\n  \"why are there ohio academic standards?\",\n  \"why do pdf files open so slowly?\",\n  \"why is this important?\",\n  \"why do lpn?\",\n  \"why is there no sound on dvd?\",\n  \"why is vladimir zworykin famous?\",\n  \"why is there ptosis in myasthenia gravis?\",\n  \"why are samoans so big?\",\n  \"why are there officers and enlisted?\",\n  \"why do people pronounce what what?\",\n  \"why is there fuzz on a tennis ball interview?\",\n  \"why is there no nhl team in seattle?\",\n  \"why is there olives in a martini?\",\n  \"why is db mentioned here at the beginning?\",\n  \"why is there baking soda in sweet tea?\",\n  \"why is there an inverted yield curve?\",\n  \"why are mosquitoes resistant to ddt?\",\n  \"why are nhl rinks smaller?\",\n  \"why do wwe referees wear earpieces?\",\n  \"why are tigers hunted?\",\n  \"why are allergies worse when it rains?\",\n  \"why is electricity dangerous?\",\n  \"why there is antifreeze in your toothpaste pdf?\",\n  \"why is there blood after intercourse?\",\n  \"why are lucentio and tranio in padua?\",\n  \"why are otter pops called otter pops?\",\n  \"why are pumpkin seeds good for you?\",\n  \"why is bystolic better?\",\n  \"why is there olympic football?\",\n  \"why do a bfa?\",\n  \"why is there oil in kentucky?\",\n  \"why are ku and mu rivals?\",\n  \"why is league of legends so hard?\",\n  \"why are french bulldogs so expensive?\",\n  \"why are bananas yellow?\",\n  \"why is there no ultimate fighter tonight?\",\n  \"why do pregnant women pee a lot?\",\n  \"why is cj called megatron?\",\n  \"why is there no idvd on my mac?\",\n  \"why are there orange moons?\",\n  \"why is there jaundice in acute pancreatitis?\",\n  \"why do we get hw?\",\n  \"why do dslr overheat?\",\n  \"why do india and pakistan fight?\",\n  \"why do men pull away?\",\n  \"why are there two iexplore.exe?\",\n  \"why is nst done?\",\n  \"why is upload speed slower?\",\n  \"why are there 2 carseats in ryan\\\"s truck?\",\n  \"why do lungs fill with fluid?\",\n  \"why is mulan a princess?\",\n  \"why are lhc magnets supercooled?\",\n  \"why do people hate hipsters?\",\n  \"why are cds circular?\",\n  \"why are there urinals?\",\n  \"why do volleyball players wear tape?\",\n  \"why are rich people so selfish?\",\n  \"why is nvidia better than ati?\",\n  \"why is lv expensive?\",\n  \"why is oyster card cheapest?\",\n  \"why is there feedback on my speakers?\",\n  \"why are there electron shells?\",\n  \"why is there no alli available?\",\n  \"why is yellow cheese yellow?\",\n  \"why do deadlifts?\",\n  \"why are kendall and kylie homeschooled?\",\n  \"why do people hack bf3?\",\n  \"why is sbi remittance suspended?\",\n  \"why are my gauges oozing?\",\n  \"why are there so many ww2 games?\",\n  \"why are there sister cities?\",\n  \"why is akira rated r?\",\n  \"why is there no nordstrom in nyc?\",\n  \"why is google named google?\",\n  \"why are aerosol cans flammable?\",\n  \"why is tty on on my iphone?\",\n  \"why is ibuprofen bad for you?\",\n  \"why are tennis balls yellow?\",\n  \"why are oxymorons used in romeo and juliet?\",\n  \"why are there different operating systems?\",\n  \"why is lil boosie in jail?\",\n  \"why are bananas so cheap?\",\n  \"why is there lightning and no rain?\",\n  \"why is vpn not working?\",\n  \"why is there urine in my sperm?\",\n  \"why do urine smell?\",\n  \"why do nhl players wear visors?\",\n  \"why is bsa used in bradford method?\",\n  \"why is ie9 slow?\",\n  \"why are nipples darker?\",\n  \"why does pgx work?\",\n  \"why do scientists use gel electrophoresis?\",\n  \"why are there parasites?\",\n  \"why are there returns to education?\",\n  \"why is there anything at all?\",\n  \"why do opiates make you itchy?\",\n  \"why cms is necessary?\",\n  \"why are police cars rwd?\",\n  \"why is there so many svchost.exe processes?\",\n  \"why are lanyards twisted?\",\n  \"why are there rich and poor people?\",\n  \"why do bpm projects fail?\",\n  \"why are avalanches dangerous?\",\n  \"why do our fingers prune?\",\n  \"why are balisongs illegal?\",\n  \"why do scientists say that evolution is a theory?\",\n  \"why is there a pyramid on money?\",\n  \"why are there glacial deposits in africa?\",\n  \"why is dbol only bad?\",\n  \"why is there hair in my weed?\",\n  \"why are erp systems getting small?\",\n  \"why do islamists kill?\",\n  \"why is there no ozone in australia?\",\n  \"why is skyrim so glitchy?\",\n  \"why is there no international theory pdf?\",\n  \"why is rcgroups down?\",\n  \"why is there no karate in the olympics?\",\n  \"why are mnc headquarters in medcs?\",\n  \"why are xfire videos so large?\",\n  \"why is english so hard?\",\n  \"why do dying people smell?\",\n  \"why is jcpenney hated?\",\n  \"why do rhymes sound good?\",\n  \"why are there drones in pakistan?\",\n  \"why do pdf files not open in internet explorer?\",\n  \"why are there so many tv commercials?\",\n  \"why is dla so hard to get?\",\n  \"why is nhl 94 so popular?\",\n  \"why is there advertising?\",\n  \"why is there sugar in everything?\",\n  \"why is there terrorism in america?\",\n  \"why is html5 important?\",\n  \"why do houses have basements?\",\n  \"why is there no www in my url?\",\n  \"why do we need jquery plugins?\",\n  \"why are grapes so expensive?\",\n  \"why is uganda fertile?\",\n  \"why is rhode island so small?\",\n  \"why are md 11 used for cargo?\",\n  \"why is there oxygen masks on planes?\",\n  \"why do cramps hurt so bad?\",\n  \"why do you want to work for chipotle?\",\n  \"why is there 12 days of xmas?\",\n  \"why are there no vowels in yhwh?\",\n  \"why do gnats like me?\",\n  \"why are italians dark?\",\n  \"why is there urea in cigarettes?\",\n  \"why is effective listening important?\",\n  \"why are there ants in my bedroom?\",\n  \"why is there vegan sugar?\",\n  \"why is xp so popular?\",\n  \"why are there curfews?\",\n  \"why is there yin and yang?\",\n  \"why is bcnf stronger than 3nf?\",\n  \"why are kryptonians stronger on earth?\",\n  \"why is ssr important?\",\n  \"why do eels always look like?\",\n  \"why are us flags at half mast?\",\n  \"why is there unlike fission fuel?\",\n  \"why is normal exhalation passive?\",\n  \"why are zangoose and seviper rivals?\",\n  \"why is there unequal division of cytoplasm in oogenesis?\",\n  \"why do synapses exist?\",\n  \"why are people so rude?\",\n  \"why is netflix lagging?\",\n  \"why we are paying tds?\",\n  \"why is vw service so bad?\",\n  \"why is there a red gyarados?\",\n  \"why is pinterest popular?\",\n  \"why do joey and pacey break up?\",\n  \"why are there 2 kratos in mortal kombat?\",\n  \"why do us soldiers wear shemagh?\",\n  \"why is there no ipod touch 16gb?\",\n  \"why are there no hydrogens in .pdb files?\",\n  \"why is there religious diversity in western europe?\",\n  \"why is there peanuts in dynamite?\",\n  \"why is wmiprvse.exe high cpu?\",\n  \"why is there skin peeling in the inside of my mouth?\",\n  \"why is lake tahoe blue?\",\n  \"why are there protests in syria?\",\n  \"why are there zits on my chin?\",\n  \"why are gmos illegal in europe?\",\n  \"why are there ladybugs in my house?\",\n  \"why is the golden gate bridge red?\",\n  \"why are there peanuts in dynamite?\",\n  \"why is cj not on eggheads anymore?\",\n  \"why are lcd tvs expensive in india?\",\n  \"why is circulatory system important?\",\n  \"why do hibiscus leaves turn yellow?\",\n  \"why is ulysses in hell?\",\n  \"why is there obelisk everywhere?\",\n  \"why are there plane graveyards?\",\n  \"why is nystatin prescribed?\",\n  \"why are nba finals 2-3-2 format?\",\n  \"why are there ads on bbc news?\",\n  \"why do iguanas change colors?\",\n  \"why are there isotopes in nature?\",\n  \"why do ohioans go to hilton head?\",\n  \"why is there gingers?\",\n  \"why do pimples itch?\",\n  \"why are there selling limits on ebay?\",\n  \"why are ergonomics important in the workplace?\",\n  \"why do people join nrms?\",\n  \"why are there more red m ms?\",\n  \"why do nails fall off?\",\n  \"why is oscar grijalva wanted?\",\n  \"why are texas beaches so dirty?\",\n  \"why is nstp important?\",\n  \"why do organizations perform program evaluations?\",\n  \"why do swollen feet hurt?\",\n  \"why are samoans so strong?\",\n  \"why is dc universe online so big?\",\n  \"why are illegal drugs dangerous?\",\n  \"why is there multiple iexplore.exe?\",\n  \"why is ntr so popular?\",\n  \"why are ctr rings green?\",\n  \"why do nfl coaches wear headsets?\",\n  \"why do axl rose and slash hate?\",\n  \"why is epic 2013 rated pg?\",\n  \"why are official temperatures taken at airports?\",\n  \"why do axolotls smile?\",\n  \"why do ncr hate me?\",\n  \"why are there so many ukrainian mail order brides?\",\n  \"why is dj khaled so annoying?\",\n  \"why is there maple syrup in the master cleanse?\",\n  \"why is there itching powder?\",\n  \"why do pvcs make you cough?\",\n  \"why is zed banned?\",\n  \"why do cyclists drink coke?\",\n  \"why is life so hard?\",\n  \"why are there so many religions?\",\n  \"why are river cruises so expensive?\",\n  \"why is uac important?\",\n  \"why are srk and salman enemies?\",\n  \"why is ags crashing?\",\n  \"why is there genocide in syria?\",\n  \"why are high bond yields bad?\",\n  \"why is wprt falling?\",\n  \"why do hvac freeze?\",\n  \"why are there so many ukrainian paralympians?\",\n  \"why is wyoming population so low?\",\n  \"why are eels dangerous?\",\n  \"why are narwhals endangered?\",\n  \"why lg is better than samsung?\",\n  \"why is there evil in the world catholic?\",\n  \"why is dvt dangerous?\",\n  \"why is there the purge?\",\n  \"why do people leave rwanda?\",\n  \"why are wranglers called jk?\",\n  \"why are there pyramids?\",\n  \"why are there forbidden cards in yugioh?\",\n  \"why is after earth bad?\",\n  \"why are there tables on pizzas?\",\n  \"why is there childhood obesity?\",\n  \"why is coffee bad for you?\",\n  \"why is there a compensatory pause after a pvc?\",\n  \"why is pfizer stock falling?\",\n  \"why is kmno4 purple?\",\n  \"why is letting go so hard?\",\n  \"why are zwitterions good buffers?\",\n  \"why do i admire jk rowling?\",\n  \"why are there economies of scale?\",\n  \"why do infants spit up?\",\n  \"why is vmware used?\",\n  \"why are priests celibate?\",\n  \"why are economists interested in the unemployment rate?\",\n  \"why is there swelling?\",\n  \"why is there salt outside japanese restaurants?\",\n  \"why do sneezes feel so good?\",\n  \"why do leaves need xylem and phloem?\",\n  \"why people with hnpcc are susceptible to cancer?\",\n  \"why do agencies conduct ecological assessment?\",\n  \"why is there wind at the beach?\",\n  \"why are zits painful?\",\n  \"why are zunes so expensive?\",\n  \"why are there clay tennis courts?\",\n  \"why is there gold in cell phones?\",\n  \"why do a tco?\",\n  \"why is mcdonald\\\"s called mcdonalds?\",\n  \"why is kyoya called the shadow king?\",\n  \"why do alcoholics get dla?\",\n  \"why is nnamdi asomugha a free agent?\",\n  \"why are hmong people here?\",\n  \"why do aquariums get cloudy?\",\n  \"why is gbp going down?\",\n  \"why are there cycling teams?\",\n  \"why do body wraps work?\",\n  \"why are there no zaxby\\\"s in atlanta?\",\n  \"why do plants look green?\",\n  \"why are tdm plugins more expensive?\",\n  \"why do superheroes wear tights?\",\n  \"why are there animals in dbz?\",\n  \"why is education so important?\",\n  \"why is rvp number 20?\",\n  \"why are there rocks on the beach?\",\n  \"why are there two koreas?\",\n  \"why are issues of intolerance important?\",\n  \"why is there qwerty keyboard?\",\n  \"why are axl and slash fighting?\",\n  \"why we are using ajax in .net?\",\n  \"why is hdpe used for milk?\",\n  \"why is there ac and dc current?\",\n  \"why are mps called right honourable?\",\n  \"why is xcom so good?\",\n  \"why did ndp do well in quebec?\",\n  \"why do windshields crack?\",\n  \"why do rtds have 3 wires?\",\n  \"why are abortions wrong?\",\n  \"why is there zombie attacks?\",\n  \"why is there no aa in swtor?\",\n  \"why is lte not working?\",\n  \"why is lbj the best president?\",\n  \"why is there a dpi button on my mouse?\",\n  \"why do ibm outsource?\",\n  \"why do monkeys throw poop?\",\n  \"why are genetically modified foods good?\",\n  \"why is there sin in the world?\",\n  \"why is mmr given subcutaneously?\",\n  \"why is apple stock dropping?\",\n  \"why do rich people get married?\",\n  \"why are old people cold?\",\n  \"why is alabama\\\"s mascot an elephant?\",\n  \"why is iweb not on my mac?\",\n  \"why are nvidia cards more expensive?\",\n  \"why are ddntps used for dna sequencing?\",\n  \"why are there more divisions in the phanerozoic eon?\",\n  \"why are my g diapers leaking?\",\n  \"why are verizon phones cheaper at walmart?\",\n  \"why do xenomorphs have two mouths?\",\n  \"why is there acne on my legs?\",\n  \"why is alcohol bad?\",\n  \"why do we monitor cvp?\",\n  \"why do wasps exist?\",\n  \"why are gypsies nomadic?\",\n  \"why do html emails look different?\",\n  \"why is prostitution illegal?\",\n  \"why do scars hurt?\",\n  \"why do aeroplanes fly above the clouds?\",\n  \"why are cbc tests done?\",\n  \"why are there protests in nyc?\",\n  \"why do oscar fish move rocks?\",\n  \"why is klonopin prescribed?\",\n  \"why do eyes swell after crying?\",\n  \"why are there always helicopters flying over?\",\n  \"why are there small bumps on my arms?\",\n  \"why do people hate td jakes?\",\n  \"why is taurine in energy drinks?\",\n  \"why is australia called the outback?\",\n  \"why are vernal pools important?\",\n  \"why is oklahoma so backward?\",\n  \"why are there drake jokes?\",\n  \"why is there tv censorship?\",\n  \"why are tv ratings important?\",\n  \"why do they add ozone to water?\",\n  \"why is there swelling under my eye?\",\n  \"why do americans pay taxes?\",\n  \"why is twerking so popular?\",\n  \"why is xls file so big?\",\n  \"why are there different types of weed?\",\n  \"why is there plastic in my turkey?\",\n  \"why do rhubarb leaves turn yellow?\",\n  \"why is aqworlds so laggy?\",\n  \"why do ohs?\",\n  \"why is ebay so slow?\",\n  \"why are nh flags at half mast?\",\n  \"why is australia so dry?\",\n  \"why is slenderman so scary?\",\n  \"why do equilateral triangles tessellate?\",\n  \"why is mhc polygenic?\",\n  \"why are ugg boots so popular?\",\n  \"why are adjusting journal entries necessary?\",\n  \"why are fungi important to the ecosystem?\",\n  \"why are khloe and lamar moving back to la?\",\n  \"why is ulrich zwingli famous?\",\n  \"why is neptune denser than saturn?\",\n  \"why are australian women so hot?\",\n  \"why are there divisions in the nhl?\",\n  \"why is there an odor between my breasts?\",\n  \"why are kenyan runners so good?\",\n  \"why is there two kanes?\",\n  \"why is there are tendencies to do fallacies?\",\n  \"why is there an acting nj governor?\",\n  \"why are tmp files created?\",\n  \"why do allergies get worse at night?\",\n  \"why is mkv better than mp4?\",\n  \"why is ethanol miscible in water?\",\n  \"why is lloyd spelled with two l\\\"s?\",\n  \"why do nfl players wear mhk?\",\n  \"why do notes disappear from my ipad?\",\n  \"why are islands important?\",\n  \"why is there demonstrations in turkey?\",\n  \"why is there no picture of osama dead?\",\n  \"why are electrons negative?\",\n  \"why is django banned in china?\",\n  \"why is ejaculate yellow?\",\n  \"why are skies clear in the eye of a hurricane?\",\n  \"why are lsu called corn dogs?\",\n  \"why do dortmund sing ynwa?\",\n  \"why is el paso so safe?\",\n  \"why is gmo good for you?\",\n  \"why is albert einstein famous?\",\n  \"why are byes used in tennis?\",\n  \"why is lloyds splitting?\",\n  \"why is ian somerhalder in london?\",\n  \"why is ocean water salty for kids?\",\n  \"why do ducks have orange feet?\",\n  \"why do we need ajax?\",\n  \"why is there jaundice in hypothyroidism?\",\n  \"why do people call rvca ruca?\",\n  \"why is knocked up rated r?\",\n  \"why is there no sound on oovoo?\",\n  \"why do hipsters like pbr?\",\n  \"why are there ravens at the tower of london?\",\n  \"why do africans have red eyes?\",\n  \"why is turkey called turkey?\",\n  \"why are there two nba teams in la?\",\n  \"why are there weekends?\",\n  \"why is justin bieber so hated?\",\n  \"why are high cheekbones attractive?\",\n  \"why do children sleepwalk?\",\n  \"why are engagement rings diamond?\",\n  \"why is gun control a problem?\",\n  \"why are there cuts on the side of my mouth?\",\n  \"why do khmer people believe in buddhism?\",\n  \"why do ants smell?\",\n  \"why is there a robot in rocky iv?\",\n  \"why is fsh elevated in menopause?\",\n  \"why is vpn needed?\",\n  \"why is there still no ammo?\",\n  \"why are uct students called ikeys?\",\n  \"why is red wine good for you?\",\n  \"why is nsync not on spotify?\",\n  \"why do oasis form?\",\n  \"why is there jackie robinson day?\",\n  \"why is there no pvp in diablo 3?\",\n  \"why is ck wisp so good?\",\n  \"why is body composition important?\",\n  \"why is there a buffalo on the wyoming flag?\",\n  \"why is there no cold case dvd?\",\n  \"why do i get bt openzone?\",\n  \"why do keys get stuck in the ignition?\",\n  \"why are geese mean?\",\n  \"why is uw delver so good?\",\n  \"why is there power in the name of jesus?\",\n  \"why is air invisible?\",\n  \"why are guys so insensitive?\",\n  \"why is there traffic on 80?\",\n  \"why are there ongoing struggles for civil rights?\",\n  \"why are dc drivers so bad?\",\n  \"why are rna single stranded?\",\n  \"why are there wicker flags at merion?\",\n  \"why do nhl fans throw octopus?\",\n  \"why do ankles swell?\",\n  \"why is there a q in srq?\",\n  \"why are there fireworks on 4 july?\",\n  \"why are identical twins so close?\",\n  \"why do hp laptops freeze?\",\n  \"why is there zero tolerance in schools?\",\n  \"why are companies ltd?\",\n  \"why are there zits on my balls?\",\n  \"why is fast food so cheap?\",\n  \"why do we need udp?\",\n  \"why are ducks called ducks?\",\n  \"why was there wwi?\",\n  \"why are tsunderes so popular?\",\n  \"why is dfw so expensive?\",\n  \"why is axl rose walking with a cane?\",\n  \"why are djs douchebags?\",\n  \"why are ocean currents important?\",\n  \"why do cbt?\",\n  \"why do wolves howl at the moon?\",\n  \"why is there poverty in india?\",\n  \"why is fsh tested on day 3?\",\n  \"why are there turnpikes?\",\n  \"why is there mla and apa?\",\n  \"why are xylem vessels hollow?\",\n  \"why are viruses non living?\",\n  \"why is yemen so poor?\",\n  \"why are ships called rms?\",\n  \"why is there pms?\",\n  \"why is xml important for database processing?\",\n  \"why is there more erythrocytes than leukocytes?\",\n  \"why do objects look a certain color?\",\n  \"why are there sweet sixteens?\",\n  \"why is there still an xp bar at 85?\",\n  \"why do people type rt on twitter?\",\n  \"why is music important?\",\n  \"why is wti in contango?\",\n  \"why is klonopin bad for you?\",\n  \"why do road accidents happen?\",\n  \"why is wc handy important?\",\n  \"why is one piece so good?\",\n  \"why is hno3 used to acidify?\",\n  \"why is norway not in the eu?\",\n  \"why are dwayne wade\\\"s eyes yellow?\",\n  \"why is nz dollar so high?\",\n  \"why is there no joy in mudville?\",\n  \"why are ibs symptoms lasting weeks?\",\n  \"why are wetlands acidic?\",\n  \"why are there giants in the bible?\",\n  \"why are there eight days of passover?\",\n  \"why is there violence in america?\",\n  \"why are there snakes in tapped out?\",\n  \"why are there ants in my car?\",\n  \"why do an nvq in customer service?\",\n  \"why are meerkats social?\",\n  \"why are there customs fees?\",\n  \"why do people say aye?\",\n  \"why is x factor usa not on?\",\n  \"why do you have the x factor?\",\n  \"why are dc taxes so high?\",\n  \"why are my stitches oozing?\",\n  \"why do bca?\",\n  \"why is there http?\",\n  \"why do owls hoot?\",\n  \"why do birds bob their heads?\",\n  \"why do salmon swim upstream to spawn?\",\n  \"why is there a dh in baseball?\",\n  \"why do uat testing?\",\n  \"why are the vmas on vh1?\",\n  \"why is there no snow in ohio this year?\",\n  \"why is there a knot in my nipple?\",\n  \"why is lettuce good for you?\",\n  \"why are ceramics brittle?\",\n  \"why is there a time limit on tpa?\",\n  \"why do we need rfp?\",\n  \"why is nevada so dry?\",\n  \"why is lte slow?\",\n  \"why are eggs shaped the way they are?\",\n  \"why are things creepy?\",\n  \"why is there a p in front of pterodactyl?\",\n  \"why is pgd wrong?\",\n  \"why is there no test for hpv?\",\n  \"why is there yoga?\",\n  \"why are there more obese people in the south?\",\n  \"why is there a x in lax?\",\n  \"why is there so much spam on fb?\",\n  \"why is there msg in amberen?\",\n  \"why is there an nba draft lottery?\",\n  \"why is oakland so bad?\",\n  \"why is quantitative research important?\",\n  \"why are there orange bikes in st albert?\",\n  \"why is space mountain closed?\",\n  \"why are there recessions?\",\n  \"why do iit?\",\n  \"why is nginx on yahoo?\",\n  \"why is mms so slow?\",\n  \"why are american kids so spoiled?\",\n  \"why do ndc codes change?\",\n  \"why are there outcasts in society?\",\n  \"why are there fruit flies in my compost bin?\",\n  \"why is there jelly in my tangerine?\",\n  \"why is lleyton hewitt still playing?\",\n  \"why are there eukaryotic cells?\",\n  \"why is tls better than ssl?\",\n  \"why is there bugs in my flour?\",\n  \"why don\\\"t girls like me?\",\n  \"why are dew claws removed?\",\n  \"why is there economic inequality in america?\",\n  \"why are there chunks in my mouth wash?\",\n  \"why is there fog at the beach?\",\n  \"why do dna bases pair up?\",\n  \"why is there zinc in fixodent?\",\n  \"why is there a hdmi port on my laptop?\",\n  \"why do wars happen ks3?\",\n  \"why is there iron in water?\",\n  \"why are ozone molecules important?\",\n  \"why are cg movies so expensive?\",\n  \"why is hsbc website not working?\",\n  \"why is there water in my ear?\",\n  \"why is willie mays famous?\",\n  \"why is epson printer offline?\",\n  \"why are there equal amounts of thymine and adenine in dna?\",\n  \"why is there no 3.5 ssd?\",\n  \"why is there so much gold in the yukon?\",\n  \"why do writers use outlines?\",\n  \"why do bbc guidelines exist?\",\n  \"why is othello gullible?\",\n  \"why is fnma stock going up?\",\n  \"why do tsunamis happen for kids?\",\n  \"why do flowers smell?\",\n  \"why is nelson mandela important?\",\n  \"why do friendships end?\",\n  \"why are there left handed people?\",\n  \"why is there always a mole in ctu?\",\n  \"why is jpog so expensive?\",\n  \"why do nipples itch?\",\n  \"why pgdm is better than mba?\",\n  \"why do hp laptops get so hot?\",\n  \"why are cysts formed in ovaries?\",\n  \"why do mras hate women?\",\n  \"why is there illegal logging?\",\n  \"why is uat important?\",\n  \"why is jsa taxable?\",\n  \"why do we cc in emails?\",\n  \"why are there less predators that prey?\",\n  \"why is there a pyramid in memphis?\",\n  \"why are there waves in the ocean?\",\n  \"why do dreams occur?\",\n  \"why are there subliminal messages?\",\n  \"why is there shadows on the moon?\",\n  \"why are duvet covers so expensive?\",\n  \"why do btec?\",\n  \"why is dsw so cheap?\",\n  \"why are there africans in brazil?\",\n  \"why is dna negatively charged?\",\n  \"why do potatoes grow eyes?\",\n  \"why is grammar important?\",\n  \"why are there phillips head screwdrivers?\",\n  \"why are there round balls on power lines?\",\n  \"why are fdc notams issued?\",\n  \"why are lakers called lakers?\",\n  \"why are rainforests being destroyed?\",\n  \"why is xoxo hugs and kisses?\",\n  \"why do we filter tpn?\",\n  \"why is there violence against women?\",\n  \"why do diplomats get immunity?\",\n  \"why hello there urban?\",\n  \"why do you want to work for us?\",\n  \"why do you love ucla?\",\n  \"why do squirrels tap their feet?\",\n  \"why is osmolarity important?\",\n  \"why is there blood in my uterus?\",\n  \"why is gnp less than gdp?\",\n  \"why is there traffic up ahead?\",\n  \"why do dentist take xrays?\",\n  \"why is eeyore so sad?\",\n  \"why are there tributes in the hunger games?\",\n  \"why is oktoberfest in september?\",\n  \"why are cfds illegal in the us?\",\n  \"why do roaches come?\",\n  \"why is there no https on facebook?\",\n  \"why are island foxes endangered?\",\n  \"why do people cry?\",\n  \"why is there fighting in syria?\",\n  \"why is there orange juice in mountain dew?\",\n  \"why there is no ikea in indonesia?\",\n  \"why are there window tint laws?\",\n  \"why is there bc and ac?\",\n  \"why are there some water plants in the aquarium?\",\n  \"why are zoos good for animals?\",\n  \"why are there pimples on my back?\",\n  \"why is there a european debt crisis?\",\n  \"why are rc helicopters so expensive?\",\n  \"why are jim and pam fighting on the office?\",\n  \"why are there obstacles in life?\",\n  \"why is atheism on the rise?\",\n  \"why is cbc done before surgery?\",\n  \"why is wfnx still on the air?\",\n  \"why zloty is going down?\",\n  \"why are there grey spots on my ipod?\",\n  \"why is mxtube not working?\",\n  \"why are liberals so angry?\",\n  \"why is oklahoma called the sooner state?\",\n  \"why is nwanime down?\",\n  \"why is zayn called sadeem?\",\n  \"why do smokers smoke?\",\n  \"why is there no snow in utah this year?\",\n  \"why are bcaas important?\",\n  \"why do mba in operations?\",\n  \"why are cramps painful?\",\n  \"why are there obese people?\",\n  \"why are opiates so good?\",\n  \"why do clouds increase nighttime temperatures?\",\n  \"why is there spf in tanning oil?\",\n  \"why are there asymptotes?\",\n  \"why are there full movies on youtube now?\",\n  \"why are ions formed?\",\n  \"why are mmorpgs so addictive?\",\n  \"why is there a new cbs morning team?\",\n  \"why do xylem cells need to be hollow?\",\n  \"why is there water in my fridge?\",\n  \"why is there audio description on 4od?\",\n  \"why are there age restrictions on the purchase of dextromethorphan?\",\n  \"why is md called the free state?\",\n  \"why do owls hiss?\",\n  \"why is dollar rising?\",\n  \"why are hamsters nocturnal?\",\n  \"why do oceanographers study the ocean?\",\n  \"why do nfl players get paid less?\",\n  \"why are there eggs in doodle jump?\",\n  \"why are there just 28 days in february?\",\n  \"why is equal pay important?\",\n  \"why are there volcanoes?\",\n  \"why is variation in populations important?\",\n  \"why is krypton important?\",\n  \"why are externalities referred to as market failures?\",\n  \"why are there other pigments?\",\n  \"why do people learn nlp?\",\n  \"why is zvz bad?\",\n  \"why are there 11 idols on tour?\",\n  \"why is there blood in my cat\\\"s poop?\",\n  \"why is tms used in nmr?\",\n  \"why are pvc pipes used?\",\n  \"why is there no gps signal?\",\n  \"why are there so many psychopaths?\",\n  \"why is zero factorial equal to one?\",\n  \"why is there owl on the dollar bill?\",\n  \"why are there gems in watches?\",\n  \"why are there elephant statues in melbourne?\",\n  \"why are udon noodles healthy?\",\n  \"why do tv shows have hashtags?\",\n  \"why is coke bad for you?\",\n  \"why do cramps happen?\",\n  \"why do japanese sleep on the floor?\",\n  \"why do businesses fail sba?\",\n  \"why are there yellow spots on my eyes?\",\n  \"why do ex gf?\",\n  \"why are silver prices falling?\",\n  \"why is there no ddr5?\",\n  \"why do oscars shake?\",\n  \"why is there skin color?\",\n  \"why are there gnats in my bedroom?\",\n  \"why are mma fighters ears messed up?\",\n  \"why are oomycetes not true fungi?\",\n  \"why are there empty seats at roland garros?\",\n  \"why is there no ncaa hockey video game?\",\n  \"why is there tingling in my leg?\",\n  \"why is bjj so expensive?\",\n  \"why is xerxes important?\",\n  \"why are zwitterions soluble in water?\",\n  \"why do pc viruses exist?\",\n  \"why are there good and bad people?\",\n  \"why are pmags so cheap?\",\n  \"why are oil prices rising 2013?\",\n  \"why do psychedelics exist?\",\n  \"why are heels so dangerous?\",\n  \"why do hr systems fail?\",\n  \"why are mris important?\",\n  \"why do msc finance?\",\n  \"why is israel important?\",\n  \"why is offset in jail?\",\n  \"why do people like uc berkeley?\",\n  \"why is lebron better than kobe?\",\n  \"why do cpus get hot?\",\n  \"why is lv bag expensive?\",\n  \"why is ddt bad?\",\n  \"why is mew uu?\",\n  \"why are fps games so addictive?\",\n  \"why is knob and tube wiring dangerous?\",\n  \"why are ny rangers called rangers?\",\n  \"why is there chlorine in pools?\",\n  \"why the mdgs are unfair to africa?\",\n  \"why is there only blood when i wipe?\",\n  \"why is there an owl outside my window?\",\n  \"why is credit important?\",\n  \"why do spiders come inside?\",\n  \"why is there tilapia in muller yogurt?\",\n  \"why is fb so slow?\",\n  \"why are there mustaches on clothes?\",\n  \"why is there a parthenon in nashville tn?\",\n  \"why is due process important?\",\n  \"why is there tylenol in hydrocodone?\",\n  \"why are there laws regarding credit cards?\",\n  \"why are egg yolks red?\",\n  \"why is affirmative action good?\",\n  \"why are there ants?\",\n  \"why is breaking bad ending?\",\n  \"why are there tax brackets for federal taxes?\",\n  \"why do men hate coldplay?\",\n  \"why do swiss cheese have holes?\",\n  \"why are djs always turning knobs?\",\n  \"why are there two wwe?\",\n  \"why are other women threatened by me?\",\n  \"why are there no tickets available on ticketmaster?\",\n  \"why are there foxes at facebook?\",\n  \"why is rna important to the cell?\",\n  \"why is iodine added to salt?\",\n  \"why is uae important?\",\n  \"why are there so many dashcams in russia?\",\n  \"why is pfizer stock so low?\",\n  \"why is hwy 89 closed?\",\n  \"why do graduates wear caps and gowns?\",\n  \"why do we need x rays?\",\n  \"why are ethics important in leadership?\",\n  \"why is vo5 so cheap?\",\n  \"why do overweight people get skin tags?\",\n  \"why do ebay bidders bid early?\",\n  \"why do immigrants come to america today?\",\n  \"why is genetic engineering bad?\",\n  \"why are there 1024 bytes in a kb?\",\n  \"why is holden depressed?\",\n  \"why is there wind before rain?\",\n  \"why is smallville not on netflix?\",\n  \"why are kyle and lisa fighting?\",\n  \"why is yawning contagious yahoo answers?\",\n  \"why do kids bite?\",\n  \"why is there styrofoam in my kayak?\",\n  \"why are there people occupying wall street?\",\n  \"why are there missions?\",\n  \"why do otters have webbed feet?\",\n  \"why do wwe superstars have fake names?\",\n  \"why is islam so radical?\",\n  \"why do nris return to india?\",\n  \"why are tv stands so expensive?\",\n  \"why is jimmy kimmel always a rerun?\",\n  \"why are airline prices so high?\",\n  \"why is fwd good for the winter?\",\n  \"why are credit cards bad?\",\n  \"why do dock leaves grow next to nettles?\",\n  \"why are there guards outside buckingham palace?\",\n  \"why do equipotential lines curve?\",\n  \"why is ahri so op?\",\n  \"why is there no ikea in korea?\",\n  \"why is tdap vaccine painful?\",\n  \"why are ozone holes over the poles?\",\n  \"why do ulcers occur in the mouth?\",\n  \"why are mtg cards so expensive?\",\n  \"why is runescape so laggy?\",\n  \"why are there zippers on pants?\",\n  \"why is there a mirror in a dslr?\",\n  \"why are gtr tires filled with nitrogen?\",\n  \"why is there an error message on youtube?\",\n  \"why do people put x\\\"s on facebook?\",\n  \"why is lps toxic?\",\n  \"why are iberian lynx endangered?\",\n  \"why is siddhartha unhappy?\",\n  \"why is pwc different?\",\n  \"why are there oceans?\",\n  \"why do eritreans hate ethiopians?\",\n  \"why is there no ebook for harry potter?\",\n  \"why is there edema in chf?\",\n  \"why are ryu and ken rivals?\",\n  \"why are there two skulls in haydn\\\"s tomb?\",\n  \"why is homeostasis important?\",\n  \"why do html emails use tables?\",\n  \"why do sd cards corrupt?\",\n  \"why do kakashi wear a mask?\",\n  \"why is there turbo lag?\",\n  \"why are there two kindle editions?\",\n  \"why is there replacement officials in the nfl?\",\n  \"why is eating fast bad for you?\",\n  \"why are ketone bodies formed?\",\n  \"why are tyres filled with air?\",\n  \"why do grades skip e?\",\n  \"why are there bows on candy crush levels?\",\n  \"why do upwellings help the fishing industry?\",\n  \"why is identity rated r?\",\n  \"why are estuaries rich habitats for organisms?\",\n  \"why is igneous rock important?\",\n  \"why are nsaids nephrotoxic?\",\n  \"why are there poor people in america?\",\n  \"why are djs famous?\",\n  \"why are utis more common in women?\",\n  \"why is there an ak 47 on mozambique\\\"s flag?\",\n  \"why are there brushes on escalators?\",\n  \"why is there imitation crab meat?\",\n  \"why do british drive on the left?\",\n  \"why is there ozone depletion over antarctica?\",\n  \"why are oil prices up?\",\n  \"why are there nfl games on thursday?\",\n  \"why is gta 3 rated m?\",\n  \"why is peanut butter healthy?\",\n  \"why are there different colored lightsabers?\",\n  \"why do cpap masks need prescriptions?\",\n  \"why are roaches so gross?\",\n  \"why are public goods a market failure?\",\n  \"why are kmno4 solutions purple?\",\n  \"why are there no hamsters in nz?\",\n  \"why is bc2 better than bf3?\",\n  \"why do irs agents carry guns?\",\n  \"why is there a lock on my mp3 icon?\",\n  \"why are bc years backwards?\",\n  \"why are .jp domains so expensive?\",\n  \"why is education so important in america?\",\n  \"why do i have nvidia chipset drivers?\",\n  \"why is there caffeine in shampoo?\",\n  \"why are utilities regulated?\",\n  \"why do bbms not send?\",\n  \"why are ozone machines dangerous?\",\n  \"why is nsa unconstitutional?\",\n  \"why is music box server busy?\",\n  \"why are zombies so popular now?\",\n  \"why is cellulose a macromolecule?\",\n  \"why do writers smoke?\",\n  \"why are lipids given with tpn?\",\n  \"why is there fluttering in my stomach?\",\n  \"why are bt so crap?\",\n  \"why are dyes different colors?\",\n  \"why are there six jurors in zimmerman trial?\",\n  \"why do mncs fail?\",\n  \"why is there an odd colour in volleyball?\",\n  \"why is norton bad?\",\n  \"why do ulcers hurt?\",\n  \"why are armenians so hot?\",\n  \"why are there swamps?\",\n  \"why is eel so expensive?\",\n  \"why is there is daylight savings time?\",\n  \"why is there no halo for pc?\",\n  \"why are texas schools in financial trouble?\",\n  \"why are our palms lighter?\",\n  \"why are upwellings important to ocean ecosystems?\",\n  \"why are rubies red?\",\n  \"why are jwoww and sammi not friends?\",\n  \"why is mkv popular?\",\n  \"why is there opposition to affirmative action?\",\n  \"why is welfare bad?\",\n  \"why are phthalates bad for you?\",\n  \"why do oscars lay on their sides?\",\n  \"why are phthalates bad?\",\n  \"why is xtc illegal?\",\n  \"why do people bcc?\",\n  \"why are cn- and co toxic to humans?\",\n  \"why are there different brightness of stars?\",\n  \"why is jcpenney?\",\n  \"why do mbs have negative convexity?\",\n  \"why is there acne on my arms?\",\n  \"why are hats so expensive?\",\n  \"why is stevie wonder blind?\",\n  \"why is there water in my dryer?\",\n  \"why is there so much fog in san francisco?\",\n  \"why are dreams important?\",\n  \"why is there a need to do ct wiring?\",\n  \"why do btec music?\",\n  \"why are there no kokiri in twilight princess?\",\n  \"why is there japanese at the detroit airport?\",\n  \"why is plastic surgery bad?\",\n  \"why are ice cubes cloudy on the inside?\",\n  \"why are tv shows being narrated?\",\n  \"why do employees steal?\",\n  \"why do gymnasts not have periods?\",\n  \"why is pdf printing gibberish?\",\n  \"why are zales rings so cheap?\",\n  \"why are xoxo kiss and hug?\",\n  \"why are there 9 svchost.exe?\",\n  \"why is there no road rules?\",\n  \"why is there no wing chun in mma?\",\n  \"why is there is a leap year?\",\n  \"why do use ajax?\",\n  \"why is there nfl labor?\",\n  \"why are there symbols in literature?\",\n  \"why are proteins important?\",\n  \"why is there no whatsapp for pc?\",\n  \"why do axles break?\",\n  \"why are air conditioners so expensive?\",\n  \"why are there fruit flies in my shower?\",\n  \"why are there different religions?\",\n  \"why is xp mode so slow?\",\n  \"why do teachers hate nclb?\",\n  \"why are oranges called orange?\",\n  \"why is there snow on mount kilimanjaro?\",\n  \"why do nba players wear face masks?\",\n  \"why is there unemployment in the united states?\",\n  \"why is texture important in art?\",\n  \"why are there pacemakers in running?\",\n  \"why hello there dyrus stream?\",\n  \"why do foxes bark?\",\n  \"why is there thunder when it rains?\",\n  \"why are there talking animals in dragon ball?\",\n  \"why is zelda called zelda?\",\n  \"why is energy needed to process food?\",\n  \"why is there green poop?\",\n  \"why is there two kratos in mortal kombat?\",\n  \"why is there rsv season?\",\n  \"why are bh cosmetics so cheap?\",\n  \"why is alcohol bad for your heart?\",\n  \"why are there ads on netflix?\",\n  \"why is there snot when you cry?\",\n  \"why is kyurem uu?\",\n  \"why do nuns cover themselves?\",\n  \"why is there rmd?\",\n  \"why are there numbers on jerseys?\",\n  \"why is wwe so bad?\",\n  \"why is cbs the tiffany network?\",\n  \"why are ngos important yahoo?\",\n  \"why do we write lbs for pounds?\",\n  \"why is there a lump in my nipple?\",\n  \"why is fb not working?\",\n  \"why are slugs slimy?\",\n  \"why is there a knot in my leg?\",\n  \"why is uranium important?\",\n  \"why is title ix a revolution?\",\n  \"why do testicles move?\",\n  \"why do crickets make noise?\",\n  \"why do risc machines operate on registers?\",\n  \"why is oprah famous?\",\n  \"why is nyc so dirty?\",\n  \"why do we need gd&t?\",\n  \"why is cellular respiration important?\",\n  \"why is hwayoung leaving?\",\n  \"why are there solstices and equinoxes?\",\n  \"why are sri lankans not allowed in chennai?\",\n  \"why is ttyl a banned book?\",\n  \"why is texting and driving a problem?\",\n  \"why are rct gold standard?\",\n  \"why are rivers important?\",\n  \"why is nys thruway closed?\",\n  \"why is academic integrity important?\",\n  \"why is there people laughing on tv shows?\",\n  \"why are ngos effective?\",\n  \"why are gcses so easy?\",\n  \"why is there racism yahoo?\",\n  \"why do gymnasts gain weight?\",\n  \"why is ctsh falling?\",\n  \"why is there bumps on my tongue?\",\n  \"why do mba in marketing?\",\n  \"why are trek bikes so expensive?\",\n  \"why are guys hot and cold?\",\n  \"why do fingers prune?\",\n  \"why do dwarves hate elves in lotr?\",\n  \"why are there so many ak47s?\",\n  \"why are mri scans so expensive?\",\n  \"why are there region codes?\",\n  \"why is justin bieber hated?\",\n  \"why are there hungry people in america?\",\n  \"why are there juries?\",\n  \"why are atoms mostly empty space?\",\n  \"why is there no ssa?\",\n  \"why are vascular plants more successful?\",\n  \"why is nelson mandela famous?\",\n  \"why are firetrucks red siri?\",\n  \"why are violent video games bad?\",\n  \"why are ngos good?\",\n  \"why are itunes songs so expensive?\",\n  \"why is there homelessness in canada?\",\n  \"why are ahmadis hated?\",\n  \"why is school so long?\",\n  \"why are four leaf clovers lucky?\",\n  \"why do cysts form?\",\n  \"why are there fundamentalists?\",\n  \"why is there an ozone hole over australia?\",\n  \"why is ikea so cheap?\",\n  \"why is bart going on strike?\",\n  \"why is jsp used?\",\n  \"why is there wind in the london underground?\",\n  \"why do engineers make so little?\",\n  \"why do pyroclastic flows occur?\",\n  \"why are there australian troops in afghanistan?\",\n  \"why do tumors grow?\",\n  \"why is there an apple on twilight?\",\n  \"why are hurricanes named after women?\",\n  \"why is jquery not working in chrome?\",\n  \"why are there improper fractions?\",\n  \"why is gpa important in college?\",\n  \"why is tlc the learning channel?\",\n  \"why do zombies want brains?\",\n  \"why do mosquitoes buzz?\",\n  \"why is there bits in my urine?\",\n  \"why are sawed off shotguns illegal?\",\n  \"why is venice on water?\",\n  \"why is there peroxide in toothpaste?\",\n  \"why are ethernet_ii frames preferred over?\",\n  \"why is zweilous so weak?\",\n  \"why is gdp so important?\",\n  \"why is there fabric on the bottom of shoes?\",\n  \"why is there no no limit omaha?\",\n  \"why do puppies eat cat poop?\",\n  \"why is my poop green?\",\n  \"why do we standardize kmno4?\",\n  \"why are averages useful?\",\n  \"why is there heaven?\",\n  \"why is rape so bad?\",\n  \"why do the fsa regulate?\",\n  \"why is rms carpathia famous?\",\n  \"why do the lbrp?\",\n  \"why do others hate america?\",\n  \"why is there no dwarves in skyrim?\",\n  \"why are there shoes hanging on the power lines?\",\n  \"why are there orange tips on airsoft guns?\",\n  \"why is college important?\",\n  \"why do startups fail?\",\n  \"why is gnc expensive?\",\n  \"why is xperia j slow?\",\n  \"why are tomatoes fruit?\",\n  \"why is snorlax uu?\",\n  \"why is there quarreling among you?\",\n  \"why xd is better than glock?\",\n  \"why is bob\\\"s burgers still on?\",\n  \"why is twitch stuttering?\",\n  \"why is there winter?\",\n  \"why is hvac important?\",\n  \"why are cb radios useful?\",\n  \"why is there plexiglass around drums?\",\n  \"why is fashion important?\",\n  \"why are nz birds endangered?\",\n  \"why do employers do phone interviews?\",\n  \"why do japanese hate korea?\",\n  \"why do squirrels cry?\",\n  \"why are mlb baseballs rubbed in mud?\",\n  \"why is sd card full?\",\n  \"why are there gun control laws?\",\n  \"why do slugs come out?\",\n  \"why are there snails in adventure time?\",\n  \"why do nba players wear fake glasses?\",\n  \"why is vswr important?\",\n  \"why are beluga whales important?\",\n  \"why is there war in libya?\",\n  \"why is tpg so slow?\",\n  \"why are nurses paid so much?\",\n  \"why are mdgs needed?\",\n  \"why is there always a cvs across from walgreens?\",\n  \"why are customer relationships important to an organization?\",\n  \"why are economic indicators important?\",\n  \"why is there english in japanese songs?\",\n  \"why are artists poor?\",\n  \"why is there ash in cheese?\",\n  \"why is bf skinner important?\",\n  \"why do some people bruise easily?\",\n  \"why do cameras use jpeg?\",\n  \"why are tv commercials still loud?\",\n  \"why do girls like abs?\",\n  \"why are heparinized tubes used?\",\n  \"why do humans cry?\",\n  \"why are there no azaleas at augusta this year?\",\n  \"why are most sports cars rwd?\",\n  \"why is there vegetable oil in mountain dew?\",\n  \"why are my eyes oozing?\",\n  \"why do aggies whoop?\",\n  \"why are there slaves in the bible?\",\n  \"why do we use wcf?\",\n  \"why are there lines in my nails?\",\n  \"why do volkswagens smell like crayons?\",\n  \"why are there sinkholes?\",\n  \"why do you love me?\",\n  \"why do men lose interest?\",\n  \"why is sbar important?\",\n  \"why are lydia\\\"s teeth so big?\",\n  \"why do i need a cgl?\",\n  \"why are kettlebells good?\",\n  \"why are there worms in my basement?\",\n  \"why is nmr so expensive?\",\n  \"why do mma fighters fight?\",\n  \"why are there no cribs on the ikea website?\",\n  \"why is age a social construction?\",\n  \"why do bees buzz?\",\n  \"why is mt st helens important?\",\n  \"why is oriental offensive?\",\n  \"why are rwd cars faster?\",\n  \"why are there eggs in my springfield?\",\n  \"why are toms so popular?\",\n  \"why are there mirrors over beds?\",\n  \"why are curly fries curly?\",\n  \"why are there lots of spiders in my house?\",\n  \"why do apps clean?\",\n  \"why are rc cars so expensive?\",\n  \"why is nzbmatrix down?\",\n  \"why are there fuel strikes?\",\n  \"why are axons so long?\",\n  \"why are illegal drugs bad for you?\",\n  \"why is there no krispy kreme in houston?\",\n  \"why do cds leak?\",\n  \"why are there small bumps on my nipples?\",\n  \"why is there pressure in my ear?\",\n  \"why is tnt narrating?\",\n  \"why are there earwigs everywhere?\",\n  \"why is there no planes in gta iv?\",\n  \"why is lydia in my house?\",\n  \"why are long cigarettes called 100?\",\n  \"why are there pedos?\",\n  \"why is there no avengers video game?\",\n  \"why are ovaries removed?\",\n  \"why is fwd bad for racing?\",\n  \"why are there no checkpoints in gta 4?\",\n  \"why is yamcha so weak?\",\n  \"why is there a euro debt crisis?\",\n  \"why is ikea so successful?\",\n  \"why do phones cost so much?\",\n  \"why is korea divided?\",\n  \"why is cvs stock down today?\",\n  \"why are there satanists?\",\n  \"why is my ktm 50 overheating?\",\n  \"why don\\\"t we just dance lyrics?\",\n  \"why do birds poop on cars?\",\n  \"why are mortgage rates rising?\",\n  \"why are mncs growing?\",\n  \"why do zambonis have headlights?\",\n  \"why are dna bases called bases?\",\n  \"why do cv joints click?\",\n  \"why is there the easter bunny?\",\n  \"why do aerobes require oxygen?\",\n  \"why are there wars in africa?\",\n  \"why do people write xd?\",\n  \"why isn\\\"t there ncaa basketball 11?\",\n  \"why is fuel economy important?\",\n  \"why are there missions in california?\",\n  \"why are brass knuckles illegal?\",\n  \"why is there sugar in milk?\",\n  \"why are lobsters boiled alive?\",\n  \"why is mma legal in ny?\",\n  \"why is vpn slow?\",\n  \"why is httpcontext.current null?\",\n  \"why are trains so expensive?\",\n  \"why is japan weird?\",\n  \"why are there 5280 feet in a mile?\",\n  \"why are there ghetto people?\",\n  \"why are truffles so rare?\",\n  \"why is ptr down?\",\n  \"why are khl salaries tax free?\",\n  \"why do alcoholics have big noses?\",\n  \"why is qbe share price rising?\",\n  \"why are there multiple forms of taxation?\",\n  \"why is vman7 banned?\",\n  \"why is there dvd+ and dvd-?\",\n  \"why is there hurricane season?\",\n  \"why is bpa free important?\",\n  \"why do people believe in nwo?\",\n  \"why are there earthquakes away from plate boundaries?\",\n  \"why do wwe wrestlers die young?\",\n  \"why are sloths so lazy?\",\n  \"why is early childhood education important?\",\n  \"why do rcia?\",\n  \"why do ssris stop working?\",\n  \"why is ultra so expensive?\",\n  \"why is there a ykk?\",\n  \"why is akb48 so popular?\",\n  \"why is there zoning?\",\n  \"why is aatrox 7800?\",\n  \"why is bt protein safe for humans?\",\n  \"why are abs so hard to get?\",\n  \"why are pretty girls stuck up?\",\n  \"why is there nhl lockout 2012?\",\n  \"why do bears wave?\",\n  \"why are there different ncaa divisions?\",\n  \"why is there water after hurdles?\",\n  \"why is dzerzhinsk russia pollution?\",\n  \"why are there more herbivores than carnivores/omnivores?\",\n  \"why are there deja vu?\",\n  \"why is fb slow on iphone?\",\n  \"why are krill numbers dropping?\",\n  \"why do educated people believe in god?\",\n  \"why is dlp better?\",\n  \"why is ds emulator so slow?\",\n  \"why do we need nro account?\",\n  \"why do warts hurt?\",\n  \"why are bart employees striking?\",\n  \"why are there chemtrails?\",\n  \"why do oak trees lose their leaves?\",\n  \"why do cuts burn?\",\n  \"why do hypothyroid patients gain weight?\",\n  \"why are csv files used?\",\n  \"why do allergies make you tired?\",\n  \"why is knytt underground rated m?\",\n  \"why are there ants in my mailbox?\",\n  \"why is there a dwarf named doc?\",\n  \"why is there currency?\",\n  \"why are azeotropic mixtures formed?\",\n  \"why is zovirax cream so expensive?\",\n  \"why are there yew trees in churchyards?\",\n  \"why do organisms need phosphorus?\",\n  \"why is yify bad?\",\n  \"why are llamas important?\",\n  \"why are there so many ponds in ohio?\",\n  \"why do cpus fail?\",\n  \"why do ukrainian women want to leave?\",\n  \"why are rca tvs so cheap?\",\n  \"why is olaf so bad?\",\n  \"why is there always money in the banana stand?\",\n  \"why are there dvd zones?\",\n  \"why do mfis target women?\",\n  \"why is there numbers in arabic words?\",\n  \"why do we calculate ndp?\",\n  \"why do srt4s backfire?\",\n  \"why is there mushrooms in my yard?\",\n  \"why is affirmative action unconstitutional?\",\n  \"why is vntr used?\",\n  \"why is there no nhl?\",\n  \"why is the sea salty?\",\n  \"why are symbols used?\",\n  \"why do people use ie?\",\n  \"why is yellow 5 bad?\",\n  \"why are wyoming flags at half mast?\",\n  \"why do i need jsonp?\",\n  \"why do economists favor free trade?\",\n  \"why are there random links on my website?\",\n  \"why are mp4 files so big?\",\n  \"why do squirrels make noise?\",\n  \"why do dragons sleep during the day?\",\n  \"why do gfi\\\"s trip?\",\n  \"why are there age divisions in sport?\",\n  \"why do distrails form?\",\n  \"why are there few large trees in the tundra?\",\n  \"why sdas are wrong?\",\n  \"why is discrimination wrong?\",\n  \"why do kurds have flat heads?\",\n  \"why do june bugs come out at night?\",\n  \"why is psn free?\",\n  \"why are ladybugs good?\",\n  \"why are there so many tsunamis in the pacific?\",\n  \"why do kangaroos have tails?\",\n  \"why do joints run?\",\n  \"why is wyatt earp important?\",\n  \"why do trees have rings?\",\n  \"why do dentists need xrays?\",\n  \"why is lte faster than 3g?\",\n  \"why are there squirrels?\",\n  \"why do clothes pill?\",\n  \"why are there fainting goats?\",\n  \"why is there old music in fallout?\",\n  \"why are ngos created?\",\n  \"why are sailboats usually the stand-on vessel?\",\n  \"why do ssris cause anxiety?\",\n  \"why is uc so expensive?\",\n  \"why is autocad so expensive?\",\n  \"why do jinns get scared of mirrors?\",\n  \"why is kiwi good for you?\",\n  \"why do we use jsp?\",\n  \"why is there caffeine in bc powder?\",\n  \"why are hpa tanks so expensive?\",\n  \"why is zinc important?\",\n  \"why do knees get dark?\",\n  \"why are echinoderms closely related to vertebrates?\",\n  \"why do armpits itch?\",\n  \"why is pwc better than kpmg?\",\n  \"why are there traffic circles in dc?\",\n  \"why is there jokers in a pack of cards?\",\n  \"why do some dlls need to be registered?\",\n  \"why is dmx so angry?\",\n  \"why are there so many ukrainians in saskatchewan?\",\n  \"why are girls so cheap?\",\n  \"why are quotas an example of protectionism?\",\n  \"why are there number signs in excel?\",\n  \"why do roosters attack people?\",\n  \"why are teenagers so annoying?\",\n  \"why is one piece so long?\",\n  \"why do ssris cause dry mouth?\",\n  \"why are there no bf3 servers?\",\n  \"why are cm punk\\\"s teeth yellow?\",\n  \"why is clash of clans not loading?\",\n  \"why is there no ideal gas?\",\n  \"why do ppl cut?\",\n  \"why is there play in my steering wheel?\",\n  \"why are there no boxing games for pc?\",\n  \"why do odysseus men kill the cattle?\",\n  \"why are there employment laws?\",\n  \"why are rubber ducks yellow?\",\n  \"why are gnats attracted to my dog?\",\n  \"why is there plywood behind my drywall?\",\n  \"why are mnemonics important?\",\n  \"why do good people do bad things?\",\n  \"why are nitrates bad during pregnancy?\",\n  \"why are my fps low?\",\n  \"why is ndp good?\",\n  \"why is there high pressure in the sea?\",\n  \"why are there vikings in capital one commercials?\",\n  \"why is msg so good?\",\n  \"why is there gun laws?\",\n  \"why do swimmers eat a lot?\",\n  \"why do cysts keep coming back?\",\n  \"why are gmos not labeled?\",\n  \"why are zinc ions colorless?\",\n  \"why is there rhyolite in yellowstone national park?\",\n  \"why are nyc apartments so expensive?\",\n  \"why is akuma banned?\",\n  \"why is there afk rooms in lol?\",\n  \"why is pluto not a planet for kids?\",\n  \"why is there thunder after lightning?\",\n  \"why is there no ak47 in bf3?\",\n  \"why are nautical miles different?\",\n  \"why do sweaters pill?\",\n  \"why is lyrica considered a controlled substance?\",\n  \"why is there no ncaa basketball video game?\",\n  \"why is freedom of expression important for democracy?\",\n  \"why is of2 dipole dipole?\",\n  \"why is klonopin minty?\",\n  \"why is there an avocado tree at at t park?\",\n  \"why is there no private match in bf3?\",\n  \"why is pgd used?\",\n  \"why is there pictures of drake?\",\n  \"why are beets red?\",\n  \"why are buffalo wings called?\",\n  \"why do ups drivers make so much?\",\n  \"why are aeds so expensive?\",\n  \"why is there duplicates in itunes?\",\n  \"why is there nautical miles?\",\n  \"why are the ewells important in to kill a mockingbird?\",\n  \"why is twerking so hard?\",\n  \"why are land cruisers so expensive?\",\n  \"why are there dead bugs in my house?\",\n  \"why are exes called exes?\",\n  \"why is there unrest in brazil?\",\n  \"why are leica so expensive?\",\n  \"why do http?\",\n  \"why are tsunamis hard to predict?\",\n  \"why do atoms react?\",\n  \"why are there stars on barns?\",\n  \"why are there gates on exits in virginia?\",\n  \"why do we call toronto tdot?\",\n  \"why is cm punk so popular?\",\n  \"why do iranians hate islam?\",\n  \"why are ae86 so expensive?\",\n  \"why is there an olympic oath?\",\n  \"why are some cars fwd?\",\n  \"why is hno3 added to the fe(no3)3 solution?\",\n  \"why are ups packages delivered by usps?\",\n  \"why is there an owl in clash of the titans?\",\n  \"why do syria and israel fight?\",\n  \"why are hfcs bad?\",\n  \"why are there letters on the mountains in reno?\",\n  \"why are sd cards so expensive?\",\n  \"why is kwame kilpatrick going to jail?\",\n  \"why are psychopaths charming?\",\n  \"why do muscles contract?\",\n  \"why is kurt cobain a legend?\",\n  \"why do ayahuasca?\",\n  \"why is xolegel so expensive?\",\n  \"why are zeppelins no longer used?\",\n  \"why is there still a royal family?\",\n  \"why are the sf giants named the giants?\",\n  \"why do ryanair not charge taxes?\",\n  \"why do turtles dig?\",\n  \"why do they kill ikemefuna?\",\n  \"why are africans so poor?\",\n  \"why is there traffic?\",\n  \"why is there medical weed?\",\n  \"why is math important?\",\n  \"why is illuminati associated with the devil?\",\n  \"why are cycling shoes so expensive?\",\n  \"why are there school?\",\n  \"why do dogs howl?\",\n  \"why is kbb so high?\",\n  \"why are there variations in skin color?\",\n  \"why do updates take so long?\",\n  \"why is kbr soluble in water?\",\n  \"why is title ix so controversial?\",\n  \"why do you get cold sores?\",\n  \"why are there many separate ecosystems in a rainforest?\",\n  \"why is there no ncaa football 12 for wii?\",\n  \"why are pc games cheaper?\",\n  \"why is photoshop so expensive?\",\n  \"why are kettle chips so hard?\",\n  \"why is tibet important to china?\",\n  \"why are there two wwe titles?\",\n  \"why do zetas kill people?\",\n  \"why is there mrsa in hospitals?\",\n  \"why is there vomiting in pregnancy?\",\n  \"why do owls rotate their heads?\",\n  \"why are ngos necessary?\",\n  \"why is uee hated?\",\n  \"why do eating disorders develop?\",\n  \"why are google products free?\",\n  \"why is gender equality important?\",\n  \"why is seawater salty?\",\n  \"why is fptp undemocratic?\",\n  \"why is employee training important?\",\n  \"why are there clouds in the sky?\",\n  \"why is oxybenzone bad?\",\n  \"why are there hunting seasons?\",\n  \"why is there acid on my car battery?\",\n  \"why do mba after bsc?\",\n  \"why are pigs not kosher?\",\n  \"why is there no tv guide channel?\",\n  \"why are there teams in tour de france?\",\n  \"why are there commercials on nick jr now?\",\n  \"why is hsg test painful?\",\n  \"why are quasi-experimental designs important?\",\n  \"why are there winds?\",\n  \"why are mlb pitchers bad hitters?\",\n  \"why is yahoo answers so bad?\",\n  \"why is there early voting?\",\n  \"why are there riots in greece?\",\n  \"why is jesus god?\",\n  \"why is there an e on my iphone 4?\",\n  \"why are there spots on my chest?\",\n  \"why are there arrows on golf balls?\",\n  \"why is there philosophy of mathematics at all?\",\n  \"why do hens lay eggs?\",\n  \"why is chuck norris famous?\",\n  \"why are you interested in sga?\",\n  \"why do trains derail?\",\n  \"why is at&t so expensive?\",\n  \"why is nh2- a strong base?\",\n  \"why is there bail?\",\n  \"why are zebras important?\",\n  \"why do bullfrogs croak?\",\n  \"why are there more people in the cbd?\",\n  \"why are ozil eyes weird?\",\n  \"why are guys perverts?\",\n  \"why are there 162 games in a mlb season?\",\n  \"why is there australia day?\",\n  \"why is there smelly discharge?\",\n  \"why is there fake laughter in sitcoms?\",\n  \"why is lga used?\",\n  \"why do rainbows curve?\",\n  \"why is there a line between lyons and spakowski?\",\n  \"why are eye glasses so expensive?\",\n  \"why are hedgehogs illegal in ca?\",\n  \"why is there no tax in uae?\",\n  \"why are bytes 1024?\",\n  \"why are there hurricanes in florida?\",\n  \"why do labs shed so much?\",\n  \"why do puppies bite?\",\n  \"why are there eight planets?\",\n  \"why are rpgs so popular?\",\n  \"why is there order of operations?\",\n  \"why do nfl referees have numbers?\",\n  \"why is gchat not working?\",\n  \"why are there no lamborghinis in tdu2?\",\n  \"why do sd cards die?\",\n  \"why are egg yolks bad?\",\n  \"why is iwc so expensive?\",\n  \"why are luna bars just for women?\",\n  \"why is acura rl so expensive?\",\n  \"why are gfci devices used?\",\n  \"why is disney bad?\",\n  \"why are there so many ngos in india?\",\n  \"why are xrays bad for pregnant women?\",\n  \"why is there creepy music in minecraft?\",\n  \"why is pyrrole aromatic?\",\n  \"why are igbos hated in nigeria?\",\n  \"why is hno3 used to dilute?\",\n  \"why are there multiple x games?\",\n  \"why do btec applied science?\",\n  \"why do sri lankans seek asylum in australia?\",\n  \"why are there upper and lower bands of muscles?\",\n  \"why is there overpopulation in africa?\",\n  \"why is there two king neptunes in spongebob?\",\n  \"why is there blood in my discharge?\",\n  \"why is uwc special?\",\n  \"why are omaha steaks so cheap?\",\n  \"why are there any tsunamis in california?\",\n  \"why are ivory piano keys illegal?\",\n  \"why is wwii museum in new orleans?\",\n  \"why do us marines say hoorah?\",\n  \"why is there an ides of march?\",\n  \"why do lovers hurt each other?\",\n  \"why is zune hd so expensive?\",\n  \"why is there 2 l\\\"s in lloyd?\",\n  \"why is jk rowling so successful?\",\n  \"why is aquaman useless?\",\n  \"why are frogs green?\",\n  \"why is md anderson the best?\",\n  \"why do clothes shrink?\",\n  \"why are there no reservations in oklahoma?\",\n  \"why do my balls itch?\",\n  \"why is there no sonic in nyc?\",\n  \"why are there spaces around the axon?\",\n  \"why is replication important in experimental design?\",\n  \"why is there fema camps?\",\n  \"why is there pain during intercourse?\",\n  \"why are there duplicates in iphoto?\",\n  \"why is lyra obsessed with humans?\",\n  \"why is fybogel not working?\",\n  \"why is there tts snsd?\",\n  \"why is pcr necessary?\",\n  \"why are there multiple religions?\",\n  \"why do buddhist monks wear orange?\",\n  \"why is there crust on bread?\",\n  \"why are there cysts on my thyroid?\",\n  \"why is there no bbc iplayer on ps3?\",\n  \"why are eels blood toxic?\",\n  \"why is gymnastics a sport?\",\n  \"why do ulcers cause bloating?\",\n  \"why is there water in my cpap mask?\",\n  \"why do they call it catfish?\",\n  \"why do kangaroos have pouches?\",\n  \"why is your pee yellow?\",\n  \"why is gdp per capita important?\",\n  \"why do airlines go bankrupt?\",\n  \"why is there more statute law in nz?\",\n  \"why is cpu usage so high?\",\n  \"why do tyres lose air?\",\n  \"why are there oil seeps at the earth surface?\",\n  \"why are nevada flags at half staff?\",\n  \"why are there gnats in my bathroom?\",\n  \"why is there an lcd lawsuit?\",\n  \"why is adventure time popular?\",\n  \"why are turtles slow?\",\n  \"why is there an evil ryu?\",\n  \"why are utilities sometimes allowed to be monopolies?\",\n  \"why is md better than do?\",\n  \"why is there salt in sweat?\",\n  \"why is pmp certification important?\",\n  \"why are puppy mills legal?\",\n  \"why do jpegs get corrupted?\",\n  \"why is bt internet so slow?\",\n  \"why do rcmp ride horses?\",\n  \"why are there weed out classes?\",\n  \"why is ehow so bad?\",\n  \"why are nhl players locked out?\",\n  \"why do turkeys strut?\",\n  \"why are there piers?\",\n  \"why do paralegals perform ucc searches?\",\n  \"why is there only 24 hrs in a day?\",\n  \"why do pregnant women waddle?\",\n  \"why is there an equal pay act?\",\n  \"why is surface area important?\",\n  \"why is tlc important?\",\n  \"why are cvc words important?\",\n  \"why are there scabs on my scalp?\",\n  \"why is there space between my divs?\",\n  \"why is wti trading below brent?\",\n  \"why are organic eggs better?\",\n  \"why is rh factor important?\",\n  \"why is fungi considered a hidden kingdom?\",\n  \"why are there enzymes in the small intestines?\",\n  \"why is there phosphoric acid in coke?\",\n  \"why ui is single threaded?\",\n  \"why is global warming a problem?\",\n  \"why is nadal so good on clay?\",\n  \"why is wfaa in dallas?\",\n  \"why is emerald bay green?\",\n  \"why do dancers say merde?\",\n  \"why do seizures happen?\",\n  \"why are sisters so mean?\",\n  \"why are there no skylanders available?\",\n  \"why is benghazi important?\",\n  \"why is riff raff famous?\",\n  \"why are there nitrites in urine?\",\n  \"why is nws buying ammo?\",\n  \"why is there celery with wings?\",\n  \"why are there ridges in fingernails?\",\n  \"why do computers bsod?\",\n  \"why is there sin?\",\n  \"why is there seven days in a week?\",\n  \"why is there no aaa postulate?\",\n  \"why do pregnant women need iron?\",\n  \"why is twitch lagging?\",\n  \"why is there singing on grey\\\"s anatomy?\",\n  \"why do okazaki fragments form?\",\n  \"why do jp miles expire?\",\n  \"why are there gears in a car?\",\n  \"why is whole foods so expensive?\",\n  \"why is bill a nickname for william?\",\n  \"why do you bcc in emails?\",\n  \"why do synapomorphies arise during evolution?\",\n  \"why are bc apples illegal?\",\n  \"why are there two cyber sub zero?\",\n  \"why is mt charleston on fire?\",\n  \"why are there no mcdonalds in cambodia?\",\n  \"why are mds better than dos?\",\n  \"why xkcd is named xkcd?\",\n  \"why are identical twins not identical?\",\n  \"why are scientists against ddt?\",\n  \"why are there ridges on my nails?\",\n  \"why are there numbers on top of buses?\",\n  \"why is israel hated?\",\n  \"why is oxygen electronegative?\",\n  \"why is cvd a health priority?\",\n  \"why are there squeakers in dog toys?\",\n  \"why are uighurs unhappy with the chinese government?\",\n  \"why is joan rivers famous?\",\n  \"why are there skeptics about global warming?\",\n  \"why is ptsd more common in women?\",\n  \"why is mcdonalds so popular?\",\n  \"why are ionic solids poor conductors of electricity?\",\n  \"why are potatoes good for you?\",\n  \"why do a fmeca?\",\n  \"why is tna ring so small?\",\n  \"why is there middle school?\",\n  \"why is there uk riots?\",\n  \"why are clams happy?\",\n  \"why is there cotton in ibuprofen?\",\n  \"why are mri machines loud?\",\n  \"why do gmc and chevy look the same?\",\n  \"why are apartments so expensive?\",\n  \"why are mblaq called village idiots?\",\n  \"why are there bees on my lawn?\",\n  \"why are kbb prices so high?\",\n  \"why are there vertical ridges on my nails?\",\n  \"why are there air bubbles in my radiator?\",\n  \"why is quiznos closing?\",\n  \"why is urine cloudy?\",\n  \"why are sda a cult?\",\n  \"why are there no ideal gases?\",\n  \"why are wikis useful?\",\n  \"why are there so few female djs?\",\n  \"why is their belly button lint?\",\n  \"why do cats meow?\",\n  \"why are mris better than x-rays?\",\n  \"why are pvcs dangerous?\",\n  \"why are there sri lankan refugees?\",\n  \"why is aquaponics good?\",\n  \"why is tim tebow so bad?\",\n  \"why do i have ewcm after i ovulate?\",\n  \"why do avocados give me gas?\",\n  \"why are geniuses crazy?\",\n  \"why do akas say serious matter?\",\n  \"why do ears randomly ring?\",\n  \"why is there fuzz in my hairbrush?\",\n  \"why is there arsenic in orange juice?\",\n  \"why is high blood pressure bad?\",\n  \"why is there agility on plate?\",\n  \"why is there pus in pimples?\",\n  \"why is there estrogen in soy?\",\n  \"why do eyes itch from allergies?\",\n  \"why is sds page important?\",\n  \"why is pc better than mac?\",\n  \"why is texas famous?\",\n  \"why is there no 3.56 cfw?\",\n  \"why is there ammonia in cat urine?\",\n  \"why do lhasa apso cry?\",\n  \"why is ice bad for you?\",\n  \"why are there riots in northern ireland?\",\n  \"why is tsm snapdragon now?\",\n  \"why is lte so fast?\",\n  \"why do cats throw up?\",\n  \"why is driving so hard?\",\n  \"why is vga port not working?\",\n  \"why is tsuna 27?\",\n  \"why do people hate xd face?\",\n  \"why are there silverfish in my bathroom?\",\n  \"why do amino acids form zwitterions?\",\n  \"why are oomycetes not considered fungi?\",\n  \"why are cyclists so thin?\",\n  \"why do beliebers hate drake bell?\",\n  \"why are there radio edits?\",\n  \"why is there a decrease in tsh in hyperthyroidism?\",\n  \"why is swearing bad?\",\n  \"why is dpc used under walls?\",\n  \"why is there 1024 bytes in a kilobyte?\",\n  \"why is dell going private?\",\n  \"why are there many different os?\",\n  \"why do ur ears ring?\",\n  \"why are bb guns illegal in nj?\",\n  \"why are there earthquakes in oklahoma?\",\n  \"why are gpu so expensive?\",\n  \"why are rolexes so expensive?\",\n  \"why is xylitol bad for dogs?\",\n  \"why are ddr3 timings so high?\",\n  \"why are nyc schools called ps?\",\n  \"why are drugs illegal?\",\n  \"why is there gas in my oil?\",\n  \"why are judges addressed as your honor?\",\n  \"why is ignorance of the law no excuse?\",\n  \"why is e waste a problem?\",\n  \"why is there scum on my tea?\",\n  \"why do people put xmas instead of christmas?\",\n  \"why is communication important?\",\n  \"why are klein tools so expensive?\",\n  \"why is atm rated r?\",\n  \"why is there an owned bed in my house?\",\n  \"why do you need gbs on a ps3?\",\n  \"why do hermit crabs die?\",\n  \"why do klingons hate humans?\",\n  \"why do lcd inverters fail?\",\n  \"why are aquarius women so attractive?\",\n  \"why are stars spherical?\",\n  \"why is jk rowling inspiring?\",\n  \"why is fungi important?\",\n  \"why is there a wwe draft?\",\n  \"why is there hyperkalemia in renal failure?\",\n  \"why is psycho rated r?\",\n  \"why is there lower pressure at higher altitudes?\",\n  \"why is ezoo 18+?\",\n  \"why is ohare ord?\",\n  \"why are icebergs often surrounded by fog?\",\n  \"why do islamic people fast?\",\n  \"why is dzhokhar tsarnaev guilty?\",\n  \"why is olympic wrestling being removed?\",\n  \"why do xlsx files download as zip?\",\n  \"why do i feel like throwing up?\",\n  \"why is there down syndrome?\",\n  \"why is there skin peeling down there?\",\n  \"why are eigrp routes considered bounded?\",\n  \"why do mps bow to the speaker?\",\n  \"why do izzie and alex divorce?\",\n  \"why are women classified as a minority group?\",\n  \"why are stratovolcanoes so explosive?\",\n  \"why is vmware workstation so expensive?\",\n  \"why are ryobi tools so cheap?\",\n  \"why is erythropoietin used by athletes?\",\n  \"why is there traffic on nj turnpike?\",\n  \"why are there snakes in my house?\",\n  \"why are there new nyc housewives?\",\n  \"why are there protests in istanbul?\",\n  \"why is there frost in my freezer?\",\n  \"why is mkv smaller than avi?\",\n  \"why is nutella so good?\",\n  \"why do geese hiss?\",\n  \"why are there certain people on facebook chat?\",\n  \"why is rdio 14.99?\",\n  \"why is sql used?\",\n  \"why is uranus called uranus?\",\n  \"why are there error signs in gmod?\",\n  \"why do they call her xtina?\",\n  \"why is wps flashing?\",\n  \"why are steroids bad?\",\n  \"why is cj back on eggheads?\",\n  \"why are there 2 ctrl buttons?\",\n  \"why are ssd so expensive?\",\n  \"why is dc district of columbia?\",\n  \"why are they called pg tips?\",\n  \"why are there natural disasters god?\",\n  \"why are bb guns dangerous?\",\n  \"why are htc phones expensive?\",\n  \"why is agnc down?\",\n  \"why is gps not working?\",\n  \"why do i need a wms?\",\n  \"why do x rays harm babies?\",\n  \"why is ayn rand so popular?\",\n  \"why is zumiez bad?\",\n  \"why do ccbs cause constipation?\",\n  \"why is wmur off the air?\",\n  \"why is lydia mclaughlin rich?\",\n  \"why are there air bubbles in my pool?\",\n  \"why are there political dynasties?\",\n  \"why are boats so expensive?\",\n  \"why is ee cummings famous?\",\n  \"why are russians so tough?\",\n  \"why are oysters bad in the summer?\",\n  \"why do people hate gta?\",\n  \"why are you on eharmony?\",\n  \"why is mp3boo down?\",\n  \"why is there no zara australia website?\",\n  \"why do dslr use compact flash?\",\n  \"why is the zloty weak?\",\n  \"why is there more traffic in the cbd?\",\n  \"why is there never 100 percentage yield?\",\n  \"why do bf cheat?\",\n  \"why are there no jimmy john in california?\",\n  \"why do surgeons wear masks?\",\n  \"why is wrath a sin?\",\n  \"why do zoos exist?\",\n  \"why is there not a cure for hpv?\",\n  \"why do people have rls?\",\n  \"why do companies use ltd?\",\n  \"why do uk barristers wear wigs?\",\n  \"why do antipsychotics cause qtc prolongation?\",\n  \"why is writing important essay?\",\n  \"why are md salaries so high?\",\n  \"why do tvs make cracking noises?\",\n  \"why do cats have 9 lives?\",\n  \"why are there no tsunamis in singapore?\",\n  \"why is there distrust in the national government?\",\n  \"why are iframe used?\",\n  \"why is html so hard?\",\n  \"why are urine tests done?\",\n  \"why are histological sections stained?\",\n  \"why are there small bumps on my forehead?\",\n  \"why are frogs endangered?\",\n  \"why do videos go viral?\",\n  \"why is tv important?\",\n  \"why is there ethnic tension in belgium?\",\n  \"why are hmv struggling?\",\n  \"why do we need rtos?\",\n  \"why are old people racist?\",\n  \"why are lcbo workers striking?\",\n  \"why are there lines on the moon?\",\n  \"why are all the npcs in mabinogi dead?\",\n  \"why is wpa preferred to wep?\",\n  \"why are there zombies in half life?\",\n  \"why is tsunade called princess?\",\n  \"why are there mushrooms in my yard?\",\n  \"why is okra good for you?\",\n  \"why are okazaki fragments formed?\",\n  \"why are cfcs harmful to the ozone layer?\",\n  \"why is kris called ben ben?\",\n  \"why do ducks pant?\",\n  \"why do kentucky fans circle their eye?\",\n  \"why are humans different from animals?\",\n  \"why is spongebob off netflix?\",\n  \"why are cns depressants commonly abused?\",\n  \"why is zwinky not working?\",\n  \"why do european cars have cameras?\",\n  \"why is there alcohol in aloe?\",\n  \"why is there a risk of dvt after surgery?\",\n  \"why is religion bad?\",\n  \"why are there bronies?\",\n  \"why is ichigo a hollow?\",\n  \"why do nmr peaks split?\",\n  \"why do you need xp in minecraft?\",\n  \"why do you get headaches?\",\n  \"why are udp ports open?\",\n  \"why are there approximately 365.25 days in a year?\",\n  \"why is music so powerful?\",\n  \"why is salt iodized?\",\n  \"why do azalea leaves turn yellow?\",\n  \"why do cfa?\",\n  \"why is there frost on my food in the freezer?\",\n  \"why is ft bragg on lockdown?\",\n  \"why are there different types of batteries?\",\n  \"why is kmart so ghetto?\",\n  \"why is there no nba next year?\",\n  \"why is molly bad?\",\n  \"why do americans work so much?\",\n  \"why are cf cards so expensive?\",\n  \"why are jurors dismissed?\",\n  \"why is lbs mean pounds?\",\n  \"why is there skin peeling between my toes?\",\n  \"why are there different types of blood?\",\n  \"why is eddie not on kickin it?\",\n  \"why is ehr important?\",\n  \"why is there an epidemic of bed bugs?\",\n  \"why are there three periods in hockey?\",\n  \"why is sgpt high?\",\n  \"why is bart striking?\",\n  \"why are ncaa coaches wearing tennis shoes?\",\n  \"why is there a need for strategic hrd?\",\n  \"why is stress a problem?\",\n  \"why do obese people smell?\",\n  \"why is akali so strong?\",\n  \"why do veins blow?\",\n  \"why is eric snowden a traitor?\",\n  \"why is there turkey at christmas?\",\n  \"why are dui laws so strict?\",\n  \"why is jpm stock going up?\",\n  \"why is cyber security important?\",\n  \"why is there electromagnetism?\",\n  \"why are barbells 45 lbs?\",\n  \"why do patriots have mhk?\",\n  \"why is zod looking for superman?\",\n  \"why do uk drive on left?\",\n  \"why is sgpt low?\",\n  \"why do we need gdp?\",\n  \"why is smoking weed bad?\",\n  \"why are kids so mean?\",\n  \"why are there koreans in brazil?\",\n  \"why is pfizer spinning off zoetis?\",\n  \"why do russians wear adidas?\",\n  \"why is jquery live deprecated?\",\n  \"why is there no greenhouse effect on mercury?\",\n  \"why is oz rated pg?\",\n  \"why do varicose veins itch?\",\n  \"why are israeli men so hot?\",\n  \"why is mtgo called modo?\",\n  \"why is there age discrimination in the workplace?\",\n  \"why are hr diagrams important to astronomers?\",\n  \"why is esurance so cheap?\",\n  \"why is there conflict in the middle east?\",\n  \"why do actors make so much?\",\n  \"why are gdp figures sometimes inaccurate?\",\n  \"why is freedom of speech important?\",\n  \"why is epcot called epcot?\",\n  \"why are european trucks flat?\",\n  \"why are hybrids sterile?\",\n  \"why do israel and iran fight?\",\n  \"why are away goals important?\",\n  \"why are there different images of jesus?\",\n  \"why are dwarf planets called dwarf planets?\",\n  \"why are nevada flags at half mast?\",\n  \"why do ex gf call?\",\n  \"why do yachts cost so much?\",\n  \"why is xm so expensive?\",\n  \"why is fdr important?\",\n  \"why is rte not on freesat?\",\n  \"why is there a need for gm food?\",\n  \"why is arsenic called a silent killer?\",\n  \"why are turnips good for you?\",\n  \"why are seagulls in wyoming?\",\n  \"why are scandals called gate?\",\n  \"why is equilibrium a dynamic state?\",\n  \"why do girls cheat?\",\n  \"why is nh3 a weak base?\",\n  \"why is there evil by fyodor dostoevsky?\",\n  \"why are there 24 satellites in the gps system?\",\n  \"why are energy drinks bad?\",\n  \"why is there holes in my shirt?\",\n  \"why are nba 2k13 servers down?\",\n  \"why is vegeta so weak?\",\n  \"why is lobster so expensive?\",\n  \"why is ehud left handed?\",\n  \"why are drones good?\",\n  \"why do aardvarks have long ears?\",\n  \"why is wmv better than avi?\",\n  \"why is dark magician of chaos banned?\",\n  \"why do izzie and george break up?\",\n  \"why is there time zones?\",\n  \"why are effy and pandora friends?\",\n  \"why do we need svi?\",\n  \"why are there air bubbles in my nail polish?\",\n  \"why were xmods discontinued?\",\n  \"why is mblaq\\\"s fanclub name a+?\",\n  \"why is butter yellow?\",\n  \"why do they call toilets wc?\",\n  \"why are bt shares falling?\",\n  \"why do games have dlc?\",\n  \"why are ssd drives so expensive?\",\n  \"why is there two high tides?\",\n  \"why is iodine not soluble in water?\",\n  \"why are ikea beds so cheap?\",\n  \"why are kurds disliked?\",\n  \"why do sri lankans hate tamils?\",\n  \"why do beavers build dams?\",\n  \"why is there pancake batter in ihop omelettes?\",\n  \"why is there protest in egypt?\",\n  \"why are spicy foods hot?\",\n  \"why is there no cdma in europe?\",\n  \"why is there spiders in my house?\",\n  \"why uitm is the best university?\",\n  \"why is pmma transparent?\",\n  \"why is there nfl games on saturday?\",\n  \"why do ht leads fail?\",\n  \"why is benghazi a scandal?\",\n  \"why are there volcanoes on the ring of fire?\",\n  \"why are there shadows on my computer screen?\",\n  \"why is there bet?\",\n  \"why do eeg test?\",\n  \"why are used jeeps so expensive?\",\n  \"why is there a ghost in three men and a baby?\",\n  \"why is there one star on the texas flag?\",\n  \"why are parabens bad?\",\n  \"why are the vmas on a thursday this year?\",\n  \"why are there eggs in ice cream?\",\n  \"why is bacon so popular?\",\n  \"why are there shoes over power lines?\",\n  \"why do breasts sag?\",\n  \"why do glass tables explode?\",\n  \"why do tyres wear on the outside?\",\n  \"why is sgt pepper so great?\",\n  \"why do ccna certification?\",\n  \"why do liberals hate ayn rand?\",\n  \"why is there a n x in a7x?\",\n  \"why do slugs like cat food?\",\n  \"why do australians like vegemite?\",\n  \"why is there no sound on my xbox?\",\n  \"why is there hydrochloric acid in your stomach?\",\n  \"why is there greed?\",\n  \"why is there a x in xmas?\",\n  \"why do i ffh?\",\n  \"why are wetlands protected in most areas?\",\n  \"why do people hate xtina?\",\n  \"why is there spit on my plants?\",\n  \"why is plato important?\",\n  \"why is there blood in my semen?\",\n  \"why there is no 9 gb flash?\",\n  \"why is ptsd important?\",\n  \"why do ships float?\",\n  \"why do kyriis hate apples?\",\n  \"why is there hypokalemia in type 2 rta?\",\n  \"why are there no trees in oklahoma?\",\n  \"why is mba so important?\",\n  \"why is king louis ix a saint?\",\n  \"why do people boo aj pierzynski?\",\n  \"why we are using bgp?\",\n  \"why are utility stocks down?\",\n  \"why do knees hurt at night?\",\n  \"why are there olympic cheerleaders?\",\n  \"why is quality control important?\",\n  \"why is there a giant penny in the batcave?\",\n  \"why is gibson not on ant farm?\",\n  \"why are yawns infectious?\",\n  \"why is union membership declining?\",\n  \"why are tvs so expensive?\",\n  \"why are there no other species of human?\",\n  \"why is there no oasis on spotify?\",\n  \"why are there different octane ratings?\",\n  \"why is salvia legal?\",\n  \"why is there bismillah in bohemian rhapsody?\",\n  \"why are there scabs in my nose?\",\n  \"why is there an awkward silence?\",\n  \"why are equivalence points different?\",\n  \"why are rice fields flooded?\",\n  \"why is there time dilation?\",\n  \"why are there wicker baskets on the pins at the us open?\",\n  \"why is there nitrogen in the atmosphere?\",\n  \"why is nt not a state?\",\n  \"why is sgd weakening?\",\n  \"why are there so many dvd formats?\",\n  \"why are there polar ice caps?\",\n  \"why do i get?\",\n  \"why do nfl teams trade picks?\",\n  \"why is crack so addictive?\",\n  \"why is mxit good?\",\n  \"why is there am and fm?\",\n  \"why do ibis smell?\",\n  \"why is homosexuality wrong?\",\n  \"why is uk pound so high?\",\n  \"why is oedipus rex a tragic hero?\",\n  \"why is there ear wax?\",\n  \"why do cities have water towers?\",\n  \"why do aat?\",\n  \"why is there advertising on my youtube channel?\",\n  \"why are eigenfunctions orthogonal?\",\n  \"why are there no ebook harry potter?\",\n  \"why are americans so lazy?\",\n  \"why are there numbers on tennis balls?\",\n  \"why is there uprising in turkey?\",\n  \"why is nwoye called isaac?\",\n  \"why is there dust?\",\n  \"why are cobalt iii complexes inert?\",\n  \"why is jc penney apology?\",\n  \"why is tpp so stable?\",\n  \"why is us internet so slow?\",\n  \"why do ethiopians have big heads?\",\n  \"why are romanians so rude?\",\n  \"why is there alcohol in nyquil?\",\n  \"why do i feel so bloated?\",\n  \"why is tv so expensive?\",\n  \"why become a do vs md?\",\n  \"why do volcanoes erupt?\",\n  \"why are there judges in the bible?\",\n  \"why are zack and cody on a ship?\",\n  \"why are ticks in my house?\",\n  \"why is there tissue in my urine?\",\n  \"why are there trees in the middle of fields?\",\n  \"why are there gaps in train tracks?\",\n  \"why do jpegs get damaged?\",\n  \"why is fog a colloid?\",\n  \"why is there 2 uchiha madara?\",\n  \"why do tires crack?\",\n  \"why are there troops in iraq?\",\n  \"why is rt down?\",\n  \"why is reading important?\",\n  \"why are there airport delays today?\",\n  \"why is there hate in the world?\",\n  \"why is dlco increased in asthma?\",\n  \"why are there three credit bureaus?\",\n  \"why are bg shares falling?\",\n  \"why are there no jobs uk?\",\n  \"why are iphones so popular?\",\n  \"why are there worms in mezcal?\",\n  \"why is xbox better than playstation?\",\n  \"why is omegle bad?\",\n  \"why are duck dynasty so rich?\",\n  \"why do oh bond have a dipole?\",\n  \"why do dragons cover gold?\",\n  \"why do people say wtf?\",\n  \"why do large dogs die sooner?\",\n  \"why are epsom salts good for you?\",\n  \"why do people use dba?\",\n  \"why is rf value useful?\",\n  \"why do crimes happen?\",\n  \"why is planes not pixar?\",\n  \"why do wasp stings hurt?\",\n  \"why are there french-speaking african countries?\",\n  \"why do you like pf changs?\",\n  \"why do guys want fwb?\",\n  \"why is lvs stock going down?\",\n  \"why do runners wear compression socks?\",\n  \"why are robins eggs blue?\",\n  \"why are small businesses important?\",\n  \"why is odysseus an unreliable narrator?\",\n  \"why are oklahoma people called sooners?\",\n  \"why is taro purple?\",\n  \"why do ants have wings?\",\n  \"why is there traffic on the 805?\",\n  \"why do koreans bow?\",\n  \"why is mp3 rocket not working?\",\n  \"why are there only 31 nfl owners?\",\n  \"why are fbi agents nicknamed g-men?\",\n  \"why do ions bond?\",\n  \"why is it called a qb sack?\",\n  \"why do employees join unions?\",\n  \"why is there a heart in gta 4?\",\n  \"why is there worms in my poop?\",\n  \"why is opera so slow?\",\n  \"why is service important?\",\n  \"why are vaquitas endangered?\",\n  \"why are there flying ants in my house?\",\n  \"why are similes used?\",\n  \"why are there enlargements in the spinal cord?\",\n  \"why are oats healthy?\",\n  \"why is jackie robinson famous?\",\n  \"why is zune so bad?\",\n  \"why do sd cards fail?\",\n  \"why do engines overheat?\",\n  \"why is zack addy in an asylum?\",\n  \"why are there nitrogen oxides in car exhaust?\",\n  \"why is there dust on moths?\",\n  \"why are mlms band?\",\n  \"why are there chains on the bottom of ambulances?\",\n  \"why is pfizer stock going down?\",\n  \"why are we in afghanistan?\",\n  \"why is there civil unrest in turkey?\",\n  \"why is ajax called ajax?\",\n  \"why is tide so expensive?\",\n  \"why is school so hard?\",\n  \"why is there no vaccine for rhinovirus?\",\n  \"why are there millions of different substances on earth?\",\n  \"why is dvi better than hdmi?\",\n  \"why are cops called 5.0?\",\n  \"why is there no music on mtv yahoo?\",\n  \"why is there european style architecture in argentina?\",\n  \"why are there no vulcans in tng?\",\n  \"why is hydrogen a gas at room temperature?\",\n  \"why is 400 hz used?\",\n  \"why are autopsies performed?\",\n  \"why is jesus called christ?\",\n  \"why are dinosaurs not mentioned in the bible?\",\n  \"why is there terrorism against the united states?\",\n  \"why are there no female ogres in wow?\",\n  \"why are there two molecular ion peaks?\",\n  \"why is there no itunes for linux?\",\n  \"why do geese migrate?\",\n  \"why is auto insurance so expensive?\",\n  \"why are there joker cards?\",\n  \"why are hp laptops good?\",\n  \"why is there a dh in the all star game?\",\n  \"why pgdm is good?\",\n  \"why do hdtvs have input lag?\",\n  \"why are there brackets in quotes?\",\n  \"why don\\\"t?\",\n  \"why is xom stock going down?\",\n  \"why is there a mlb team in canada?\",\n  \"why are there so many tsunamis in the pacific ocean?\",\n  \"why are there congressional committees?\",\n  \"why do women talk so much?\",\n  \"why are ccds important?\",\n  \"why do ajax have 3 stars?\",\n  \"why is ie so slow?\",\n  \"why are mba salaries so high?\",\n  \"why are my hands shaking?\",\n  \"why is tds deducted on contractors?\",\n  \"why are there other planets besides earth?\",\n  \"why is tpg so slow 2013?\",\n  \"why are golf tdi so expensive?\",\n  \"why is urine acidic?\",\n  \"why is there oil in my coolant tank?\",\n  \"why are my fsh levels high?\",\n  \"why are sd cards cheaper than cf?\",\n  \"why is pyramid head in homecoming?\",\n  \"why is kmart still in business?\",\n  \"why is there so much salt in the ocean?\",\n  \"why do ultrabooks have slower processors?\",\n  \"why are owls popular?\",\n  \"why are gallstones formed?\",\n  \"why are ibanez guitars cheap?\",\n  \"why are tna jackets so expensive?\",\n  \"why are gps coordinates different?\",\n  \"why do nfl players have towels?\",\n  \"why are there monkeys if evolution is true?\",\n  \"why do zapatistas wear masks?\",\n  \"why are snakes cold blooded?\",\n  \"why is there an iditarod race?\",\n  \"why do irises stop blooming?\",\n  \"why is zimmerman not guilty?\",\n  \"why is there no more kyle xy?\",\n  \"why are there lumps in my paint?\",\n  \"why are vegans so annoying?\",\n  \"why is uganda so poor?\",\n  \"why are there zits?\",\n  \"why do europeans hate america?\",\n  \"why is there mold in my toilet bowl?\",\n  \"why do by breasts hurt?\",\n  \"why is yield important?\",\n  \"why do breast hurt?\",\n  \"why are there virus?\",\n  \"why are emo guys so cute?\",\n  \"why are cheetahs so fast?\",\n  \"why are iwc so expensive?\",\n  \"why is mp3 good?\",\n  \"why is my iphone so slow?\",\n  \"why do oil and vinegar not mix?\",\n  \"why do nuts make me bloated?\",\n  \"why do vultures spread wings?\",\n  \"why do we get bsod?\",\n  \"why is bb king famous?\",\n  \"why are there scientific names?\",\n  \"why is nwo bad?\",\n  \"why is clara the impossible girl?\",\n  \"why do dvd+r have rw on them?\",\n  \"why is gta so fun?\",\n  \"why are people ejected from cars?\",\n  \"why is george zimmerman on trial?\",\n  \"why is vsauce called vsauce?\",\n  \"why is wpf slow?\",\n  \"why do irises fall over?\",\n  \"why are jcole and diggy beefing?\",\n  \"why do icebergs float in the ocean?\",\n  \"why are ub40 called ub40?\",\n  \"why is there swelling after wisdom teeth removal?\",\n  \"why is there an eye on my phone?\",\n  \"why is imperialism important?\",\n  \"why is pc better than console?\",\n  \"why is gdp not a perfect measure?\",\n  \"why are wetlands important to migrating birds?\",\n  \"why is democracy good?\",\n  \"why are there two dog tags?\",\n  \"why do we use bgp?\",\n  \"why do german shepherds whine?\",\n  \"why do landslides occur?\",\n  \"why do people love vw?\",\n  \"why is cupertino so expensive?\",\n  \"why is underwear so expensive?\",\n  \"why are there tectonic plates?\",\n  \"why are japanese teeth so bad?\",\n  \"why is cloud atlas rated r?\",\n  \"why are sri lankans seeking asylum?\",\n  \"why is there dna in hair?\",\n  \"why is nicki minaj famous?\",\n  \"why is there an apostrophe in halloween?\",\n  \"why are oil and water immiscible?\",\n  \"why are there ants on my okra?\",\n  \"why do zara not advertise?\",\n  \"why is akamai on my mac?\",\n  \"why are there open front toilet seats?\",\n  \"why is there numbers on golf balls?\",\n  \"why is xfinity not on xbox?\",\n  \"why do animals visit flowers?\",\n  \"why are there crt monitors on ncis?\",\n  \"why are strawberries good for you?\",\n  \"why are dbz episodes different?\",\n  \"why are attachment behaviors adaptive?\",\n  \"why do ssris cause yawning?\",\n  \"why are killer whales dolphins?\",\n  \"why are there 12 days of christmas?\",\n  \"why do rpm go down?\",\n  \"why do rsvp cards have an m?\",\n  \"why do truckers use cb radios?\",\n  \"why do zits itch?\",\n  \"why do utis cause confusion in the elderly?\",\n  \"why is there vat on ebooks?\",\n  \"why is vaccination for rubella recommended?\",\n  \"why do vw bugs catch fire?\",\n  \"why do yeast infections burn?\",\n  \"why do kryptonians need a red sun?\",\n  \"why do lymph nodes harden?\",\n  \"why is giles accused of contempt of court?\",\n  \"why do feet fall asleep?\",\n  \"why are taxis so expensive?\",\n  \"why is kratom illegal in thailand?\",\n  \"why is there a new ryan in coronation street?\",\n  \"why is there an iphone field in contacts?\",\n  \"why is gfp so useful?\",\n  \"why do twitter accounts get suspended?\",\n  \"why is there estate taxes?\",\n  \"why is viber free?\",\n  \"why is ayrton senna the best driver?\",\n  \"why is there no wells fargo in oklahoma?\",\n  \"why do we use jsp in java?\",\n  \"why do dwarfs have big foreheads?\",\n  \"why are receivers in negative db?\",\n  \"why are kardashians famous?\",\n  \"why is persona 4 rated m?\",\n  \"why are there cyber bullies?\",\n  \"why are there squatter settlements?\",\n  \"why is xkit not working?\",\n  \"why is ketchup called catsup?\",\n  \"why we do rflp?\",\n  \"why are there abandoned houses?\",\n  \"why are there chapels in hospitals?\",\n  \"why are grapefruits bitter?\",\n  \"why is there stuff floating in my urine?\",\n  \"why is atp an important molecule in metabolism?\",\n  \"why is clear lake so green?\",\n  \"why are supras so fast?\",\n  \"why do kids stutter?\",\n  \"why do oxygen levels drop at night?\",\n  \"why are there puppets in avenue q?\",\n  \"why is xef4 square planar?\",\n  \"why is zn 2+ colorless?\",\n  \"why are there two csrss.exe running?\",\n  \"why is there twitter jail?\",\n  \"why is there bad words?\",\n  \"why are there home and away jerseys?\",\n  \"why is there no ikea in nova scotia?\",\n  \"why do employers match 401k?\",\n  \"why is there memorial day?\",\n  \"why are ct scans important?\",\n  \"why are sundays so boring?\",\n  \"why is of mice and men so popular?\",\n  \"why do ultrabooks have slow processors?\",\n  \"why do our bodies need iron?\",\n  \"why is there no gmail widget for android?\",\n  \"why are there no elites in odst?\",\n  \"why is there names on coke?\",\n  \"why are lemurs endangered?\",\n  \"why are there traces of blood in my urine?\",\n  \"why do mba after engineering?\",\n  \"why do dc shoes stink?\",\n  \"why is tool not on itunes?\",\n  \"why are bgl\\\"s tested before breakfast?\",\n  \"why do qbs wear wigs?\",\n  \"why is there irritation down there?\",\n  \"why are ions important for neurotransmission?\",\n  \"why are there abandoned homes in detroit?\",\n  \"why are mre so expensive?\",\n  \"why are there so many butterflies in nj?\",\n  \"why is there an eight in revenge?\",\n  \"why are aj wright stores closing?\",\n  \"why is there evil in the world myth?\",\n  \"why do pvc pipes crack?\",\n  \"why is there no sound on vine?\",\n  \"why do ssris cause mania?\",\n  \"why are athletes overpaid?\",\n  \"why are ovaries important?\",\n  \"why are bcaas so important?\",\n  \"why is there a european convention on human rights?\",\n  \"why are egg yolks yellow?\",\n  \"why do oil wells have fire?\",\n  \"why vfd are used?\",\n  \"why are there power outages?\",\n  \"why is there ophiuchus?\",\n  \"why is there xenophobia in south africa?\",\n  \"why do people hate ff9?\",\n  \"why is fps important?\",\n  \"why is jruby so slow?\",\n  \"why is tv making a humming noise?\",\n  \"why is ego bad?\",\n  \"why is there gold in the bering sea?\",\n  \"why do men want fwb?\",\n  \"why is iago a villain?\",\n  \"why is pitbull famous?\",\n  \"why are kansas city royals named?\",\n  \"why are elephants endangered?\",\n  \"why is there no lamborghinis in tdu2?\",\n  \"why do errors occur?\",\n  \"why are there mosquitos?\",\n  \"why is there rhyme in poems?\",\n  \"why are there tiny bumps on my face?\",\n  \"why is aws so expensive?\",\n  \"why is bf3 down?\",\n  \"why is dc universe down?\",\n  \"why are there stones on oskar schindler\\\"s grave?\",\n  \"why is obama getting impeached?\",\n  \"why do ovarian cysts hurt?\",\n  \"why are mules infertile?\",\n  \"why are there so few bf3 servers?\",\n  \"why is rfid bad?\",\n  \"why are there vegetables in my poop?\",\n  \"why is there cultural diversity?\",\n  \"why is crack called crack?\",\n  \"why do mirages occur?\",\n  \"why is there an equal number of males and females?\",\n  \"why are there nhl teams in the south?\",\n  \"why is austin weird?\",\n  \"why is sims social shutting down?\",\n  \"why are ultrasounds so expensive?\",\n  \"why are vulnerable adults at risk of abuse?\",\n  \"why do only men hold the priesthood?\",\n  \"why is experience important?\",\n  \"why are there cigarette lighters in cars?\",\n  \"why is louis ix a saint?\",\n  \"why are there ashtrays on planes?\",\n  \"why are there wicker baskets in the us open?\",\n  \"why is nmos faster than pmos?\",\n  \"why are lymph vessels thin?\",\n  \"why are omega 3 essential?\",\n  \"why is rs so addicting?\",\n  \"why do volcanoes differ in size and shape?\",\n  \"why are there holes in boxers?\",\n  \"why is there two uchiha madara?\",\n  \"why do ghasts cry?\",\n  \"why are ezio\\\"s eyes yellow?\",\n  \"why are my eyes yellow?\",\n  \"why are there age limits in olympic soccer?\",\n  \"why are mcdonalds mcflurry spoons hollow?\",\n  \"why is there no espn fantasy football app?\",\n  \"why are there private bidders on ebay?\",\n  \"why are there gnats in my refrigerator?\",\n  \"why is employee engagement important?\",\n  \"why are dandelions bad?\",\n  \"why are nongovernmental organizations important?\",\n  \"why is our blood red?\",\n  \"why is sweat salty?\",\n  \"why is there an embargo on cuba?\",\n  \"why is there el nino?\",\n  \"why do tinder matches disappear?\",\n  \"why is there dlc?\",\n  \"why is jp gone from hell\\\"s kitchen?\",\n  \"why is aftershock rated r?\",\n  \"why is there gas in my oil pan?\",\n  \"why is mlk a hero?\",\n  \"why do women take dhea?\",\n  \"why is there abortion?\",\n  \"why are there zits on my chest?\",\n  \"why is gymnastics hard?\",\n  \"why are there two edgware road stations?\",\n  \"why aren\\\"t there dwarves in skyrim?\",\n  \"why is there outer space?\",\n  \"why are lumber prices so high?\",\n  \"why are tsunamis so devastating?\",\n  \"why are hospitals only hiring bsn nurses?\",\n  \"why do ghosts kill people?\",\n  \"why is jersey shore not on netflix?\",\n  \"why is mlp so good?\",\n  \"why do night sweats occur?\",\n  \"why is justice important?\",\n  \"why are x rays so important?\",\n  \"why are equal opportunities important?\",\n  \"why is there a dd cup size?\",\n  \"why is there impeachment?\",\n  \"why are gharial endangered?\",\n  \"why is axl rose and slash fighting?\",\n  \"why are there less female djs?\",\n  \"why is there still racism?\",\n  \"why is zwingli important?\",\n  \"why are irish people called micks?\",\n  \"why are cell phones bad?\",\n  \"why is there scores on snapchat?\",\n  \"why do birds chirp?\",\n  \"why is hno3 used to dilute instead of water?\",\n  \"why do tvs have a usb port?\",\n  \"why is it called the golden gate bridge?\",\n  \"why is rwd bad in snow?\",\n  \"why do we use cvs?\",\n  \"why is there no dj hero 3?\",\n  \"why do boogers smell?\",\n  \"why are yeast classified as fungi?\",\n  \"why is there youth violence in schools?\",\n  \"why is kunta kinte an insult?\",\n  \"why is llama spelled with 2 l\\\"s?\",\n  \"why are used trucks so expensive?\",\n  \"why are there free ebooks?\",\n  \"why is there fish in my yogurt?\",\n  \"why we are using ajax in asp net?\",\n  \"why are ears ringing?\",\n  \"why do a bt apprenticeship?\",\n  \"why are everyone\\\"s fingerprints different?\",\n  \"why do comets have tails?\",\n  \"why are cpus parked?\",\n  \"why are gtos so cheap?\",\n  \"why is axe fx so expensive?\",\n  \"why are there proteins in urine?\",\n  \"why are zn2+ complexes colorless?\",\n  \"why are there 1024 mb in a gb?\",\n  \"why do eukaryotic cells reproduce?\",\n  \"why do oscars shake their tails?\",\n  \"why are qbe shares so low?\",\n  \"why are there so many castles on the rhine?\",\n  \"why are hydrocarbons hydrophobic?\",\n  \"why do women love svu?\",\n  \"why is there lunar phases?\",\n  \"why are they called sf giants?\",\n  \"why are there gnats in my pool?\",\n  \"why is jrr tolkien famous?\",\n  \"why is there a demand for ivory?\",\n  \"why do minions love bananas?\",\n  \"why is hr all women?\",\n  \"why do errors matter in baseball?\",\n  \"why are orangutans endangered?\",\n  \"why do mkv files lag?\",\n  \"why is pms worse some months?\",\n  \"why is obama still in office?\",\n  \"why are you there in spanish?\",\n  \"why are there detainees in guantanamo bay?\",\n  \"why are barns red?\",\n  \"why is sf so windy?\",\n  \"why is there no tvs in jersey shore?\",\n  \"why are there so many idiots in the world?\",\n  \"why is there no ketchup chips in the states?\",\n  \"why is there offsides in soccer?\",\n  \"why do syrians hate bashar al-assad?\",\n  \"why are there lines on my lcd monitor?\",\n  \"why are there koreans in kazakhstan?\",\n  \"why are there new x factor judges?\",\n  \"why do i need rv insurance?\",\n  \"why is there xmas trees?\",\n  \"why are yurts round?\",\n  \"why is izzy in corrie in a wheelchair?\",\n  \"why is there no nfl team in la?\",\n  \"why is rdp slow?\",\n  \"why is dfs so slow?\",\n  \"why is ds_store on my desktop?\",\n  \"why is there xmas tree?\",\n  \"why is there a ghost following me?\",\n  \"why is there an oklahoma panhandle?\",\n  \"why vfd is required?\",\n  \"why do xbox controller lights spin?\",\n  \"why do greeks hate gdis?\",\n  \"why is equal opportunity important?\",\n  \"why is bcc used?\",\n  \"why is bill gates famous?\",\n  \"why do pc gamers hate controllers?\",\n  \"why do noses run?\",\n  \"why is there central park?\",\n  \"why is egg yolk yellow?\",\n  \"why is nsa collecting phone records?\",\n  \"why are pdfs not opening?\",\n  \"why are us colleges so expensive?\",\n  \"why do cats sleep so much?\",\n  \"why do nvidia cards cost more?\",\n  \"why are people from bhutan refugees?\",\n  \"why is pm2.5 dangerous?\",\n  \"why are democrats donkeys?\",\n  \"why are there no ketchup chips in the usa?\",\n  \"why are ccs stores closing?\",\n  \"why are there outsiders in society?\",\n  \"why are there volcanoes in iceland?\",\n  \"why are stem cells controversial?\",\n  \"why do we use jstl?\",\n  \"why are ct scans bad for you?\",\n  \"why is there valentine\\\"s day?\",\n  \"why do pvcs happen?\",\n  \"why is oh- the strongest base?\",\n  \"why is office 365 so cheap?\",\n  \"why are there synoptic gospels?\",\n  \"why do iguanas turn orange?\",\n  \"why are there so many fps?\",\n  \"why do lymph nodes become swollen?\",\n  \"why are there pylons in the back of the endzone?\",\n  \"why is gpa important?\",\n  \"why is bittorrent so slow?\",\n  \"why do people cc everyone?\",\n  \"why is jogging good for you?\",\n  \"why do lunar eclipses happen?\",\n  \"why are pdfs so large?\",\n  \"why are zangoose and seviper enemies?\",\n  \"why do puppies lick?\",\n  \"why are gpus good for computation?\",\n  \"why is junk food bad for you?\",\n  \"why do omegas wear camouflage?\",\n  \"why do sea lions bark?\",\n  \"why is ketchup fancy?\",\n  \"why is there upside down question mark?\",\n  \"why do vultures have bald heads?\",\n  \"why are arabs so loud?\",\n  \"why is georgia the peach state?\",\n  \"why is xor used in encryption?\",\n  \"why are klum and seal getting divorced?\",\n  \"why do yuccas flower?\",\n  \"why is xtranormal so slow?\",\n  \"why is zncl2 an acid?\",\n  \"why do kuwaitis hate palestinians?\",\n  \"why do sda keep the sabbath?\",\n  \"why do frogs ribbit?\",\n  \"why are israel and syria at war?\",\n  \"why is there background music on my computer?\",\n  \"why do rappers say jr?\",\n  \"why is rvd going back to wwe?\",\n  \"why is rnai important?\",\n  \"why do ethiopians have soft hair?\",\n  \"why are there open relationships?\",\n  \"why is there a 0 ohm resistor?\",\n  \"why is there humidity in the air?\",\n  \"why are agcl plates protected from light?\",\n  \"why is hplc used?\",\n  \"why are there no female baseball umpires?\",\n  \"why are there more stamens than pistils?\",\n  \"why hello there mr ups man?\",\n  \"why are flights delayed at lga?\",\n  \"why are there italians in argentina?\",\n  \"why are there x\\\"s on pictures?\",\n  \"why are glaciers important to humans?\",\n  \"why do i need nvidia drivers?\",\n  \"why are sprinkles called jimmies?\",\n  \"why is oakland athletics mascot an elephant?\",\n  \"why are the painted ladies famous?\",\n  \"why do uk sockets have switches?\",\n  \"why is there no sonic in ny?\",\n  \"why do bse?\",\n  \"why is ipad 1 so slow?\",\n  \"why is there an ozone hole above antarctica?\",\n  \"why is there an e on my nokia?\",\n  \"why is there no iphone 5 dock?\",\n  \"why do owls make owl pellets?\",\n  \"why is square enix obsessed with lightning?\",\n  \"why do you like izaya?\",\n  \"why do uti occur?\",\n  \"why do keloids hurt?\",\n  \"why is rf design so important?\",\n  \"why do rcd fail?\",\n  \"why do feminists hate men?\",\n  \"why is there death and suffering ken ham?\",\n  \"why is there a mlb trade deadline?\",\n  \"why is scalping illegal?\",\n  \"why is nnamdi asomugha a 99?\",\n  \"why are emperor penguins endangered?\",\n  \"why is there volcanoes?\",\n  \"why is gyarados not dragon?\",\n  \"why do a pgy2 pharmacy residency?\",\n  \"why is there worm in tequila?\",\n  \"why are css cascading?\",\n  \"why do people put ayoo?\",\n  \"why are oceans important to humans?\",\n  \"why are wetlands important to the health of the overall environment?\",\n  \"why are rc helicopters so hard to fly?\",\n  \"why are nsaids contraindicated in asthmatic patients?\",\n  \"why is tv so fake?\",\n  \"why is wreck it ralph pg?\",\n  \"why is ohio the buckeye state?\",\n  \"why are hfcs better than hcfcs?\",\n  \"why shia do zanjeer zani?\",\n  \"why is there spots on my legs?\",\n  \"why are umpires so bad?\",\n  \"why is there vs why are there?\",\n  \"why do eggs give you gas?\",\n  \"why is there zinc in denture cream?\",\n  \"why is quinoa bitter?\",\n  \"why are nzb sites closing?\",\n  \"why is there no treatment for ebola?\",\n  \"why is there essence rather than nothing?\",\n  \"why is an idea like the pacific?\",\n  \"why are there new nfl officials?\",\n  \"why is vpn cost effective?\",\n  \"why are marathons 26.2?\",\n  \"why is cj left eggheads?\",\n  \"why are ancient stories like feet?\",\n  \"why is ivory soap special?\",\n  \"why do phones need to be off on a plane?\",\n  \"why are tariffs used?\",\n  \"why are apples bad for you?\",\n  \"why are there 24 patterns in taekwondo?\",\n  \"why are onion cells rectangular?\",\n  \"why is there salt on a margarita?\",\n  \"why do ice float on water?\",\n  \"why are there empty snail shells?\",\n  \"why is awol illegal?\",\n  \"why is dd so slow?\",\n  \"why is my fwb ignoring me?\",\n  \"why is africa poor?\",\n  \"why is kobe suing his mom?\",\n  \"why do phones get hot when charging?\",\n  \"why do people hate cvt?\",\n  \"why is dmx in prison?\",\n  \"why are there ocean waves?\",\n  \"why are there gorillas in norwich?\",\n  \"why is kumbh mela celebrated?\",\n  \"why is my internet so slow?\",\n  \"why is coit tower blue?\",\n  \"why are snowflakes different?\",\n  \"why is lake hillier pink?\",\n  \"why is science important video?\",\n  \"why are dlps so cheap?\",\n  \"why is there so many idiots in the world?\",\n  \"why is there no druid in ddo?\",\n  \"why is iphone so slow?\",\n  \"why is there vat on silver and not gold?\",\n  \"why are there sand dunes in colorado?\",\n  \"why is there fighting in ireland?\",\n  \"why is amazon so slow?\",\n  \"why do lcd tvs look pixelated?\",\n  \"why are cows sacred in india?\",\n  \"why are axillary lymph nodes removed?\",\n  \"why do elements form compounds?\",\n  \"why are there undroppable players?\",\n  \"why is kanye west famous?\",\n  \"why is smash ending?\",\n  \"why is html used?\",\n  \"why are spiders scary?\",\n  \"why is there ice on my ac unit?\",\n  \"why are there glacial and interglacial periods?\",\n  \"why are copper (ii) solutions blue?\",\n  \"why are there single mothers?\",\n  \"why do guys like blondes?\",\n  \"why is there hypercalcemia in multiple myeloma?\",\n  \"why do texas rangers have antlers?\",\n  \"why is nitrogen important to life?\",\n  \"why are cpt codes used?\",\n  \"why is there life yahoo answers?\",\n  \"why are there interstate highways in hawaii?\",\n  \"why are there earthquakes in ok?\",\n  \"why is riverbank called the city of action?\",\n  \"why is texting while driving bad?\",\n  \"why are there karen refugees?\",\n  \"why do tsunamis occur in japan?\",\n  \"why are there no rna sequences in dna?\",\n  \"why is xyz affair important?\",\n  \"why is there suffering?\",\n  \"why is dmt bad?\",\n  \"why is lg suing sony ps3?\",\n  \"why is wmr not updating?\",\n  \"why is school so expensive?\",\n  \"why are there dents in golf balls?\",\n  \"why are agencies created?\",\n  \"why is mhz in ram important?\",\n  \"why are there neutrons?\",\n  \"why are the initials fd on coins?\",\n  \"why is there a knot in my throat?\",\n  \"why are there no volcanoes in ohio?\",\n  \"why do oceanic plates sink?\",\n  \"why is vaccination important?\",\n  \"why is ginger ale called ale?\",\n  \"why is there gnats in my room?\",\n  \"why is pfeiffer beach purple?\",\n  \"why are mushrooms growing in my grass?\",\n  \"why are pcs better than macs?\",\n  \"why is bitterblossom banned?\",\n  \"why are zenith watches so expensive?\",\n  \"why is gza not on legendary weapons?\",\n  \"why are kryptonians strong on earth?\",\n  \"why are resumes and cvs?\",\n  \"why do sea turtles migrate?\",\n  \"why do men?\",\n  \"why is fbi still looking for hoffa?\",\n  \"why do oils not form bilayers?\",\n  \"why is there static on oovoo?\",\n  \"why do ryanair prices change so much?\",\n  \"why is kscn added in iodometric?\",\n  \"why are there so many fwd cars?\",\n  \"why is there the 4th of july?\",\n  \"why do we have armpit hair?\",\n  \"why do cnidarians live in colonies?\",\n  \"why do drunk people pass out?\",\n  \"why are episodes missing on hulu?\",\n  \"why is uline always hiring?\",\n  \"why are nzb files so big?\",\n  \"why do elephants sway?\",\n  \"why are there baskets on the flag sticks at merion?\",\n  \"why are my oestrogen levels low?\",\n  \"why are gdm babies big?\",\n  \"why do fingers wrinkle in water?\",\n  \"why is there spousal privilege?\",\n  \"why do zombies say sam?\",\n  \"why are there only two options on the ppc?\",\n  \"why are there so many ppi complaints?\",\n  \"why do immigrants immigrate?\",\n  \"why do omegas say owt?\",\n  \"why is there no lobster in bc?\",\n  \"why are there bristles on escalators?\",\n  \"why are there more estuaries than deltas?\",\n  \"why is oem cheaper?\",\n  \"why is there blue eyes?\",\n  \"why are octopus important?\",\n  \"why are identical twins used for genetic studies?\",\n  \"why is there oil in my urine?\",\n  \"why do i need an sf-50?\",\n  \"why is there no hsbc app?\",\n  \"why do octopuses have blue blood?\",\n  \"why are xrays done?\",\n  \"why is flickr so slow?\",\n  \"why is there a red slash through https?\",\n  \"why are kansas flags at half mast today?\",\n  \"why do people say fwm?\",\n  \"why is nhl 13 so laggy?\",\n  \"why are there humans in star wars?\",\n  \"why are aerial fireworks illegal in california?\",\n  \"why is there lumps under my nipples?\",\n  \"why do ryanair charge for infants?\",\n  \"why is gymnastics important?\",\n  \"why do girls like jerks?\",\n  \"why do rss?\",\n  \"why is dvd still around?\",\n  \"why are ohs meetings important?\",\n  \"why are nsw people called cockroaches?\",\n  \"why are there no 13th floors?\",\n  \"why do jpegs deteriorate?\",\n  \"why is berkeley ranked so high?\",\n  \"why is pulp fiction popular?\",\n  \"why is pure water neutral?\",\n  \"why is zack ryder a jobber?\",\n  \"why are viruses not alive?\",\n  \"why are italians so hot?\",\n  \"why are girls so emotional?\",\n  \"why is ezekiel bread frozen?\",\n  \"why are mtb seats so hard?\",\n  \"why are pg&e smart meters bad?\",\n  \"why is dyslexia a gift?\",\n  \"why do geese stand on one leg?\",\n  \"why is hf hydrogen bonding?\",\n  \"why are sri lankans so beautiful?\",\n  \"why are syfy movies so bad?\",\n  \"why are ticks hard to kill?\",\n  \"why is fermentation important?\",\n  \"why is vudu so slow?\",\n  \"why are klingons bad?\",\n  \"why is akhmim an important archaeological site?\",\n  \"why is there air pressure?\",\n  \"why are there so many koreans in the lpga?\",\n  \"why do you like nvidia?\",\n  \"why is there poverty by allan g johnson?\",\n  \"why are there earthquakes in san francisco?\",\n  \"why is james crying?\",\n  \"why are there game laws?\",\n  \"why is the dg symbol an anchor?\",\n  \"why do utopian societies fail?\",\n  \"why are azazel\\\"s eyes yellow?\",\n  \"why is aesthetics important?\",\n  \"why is ezra pound famous?\",\n  \"why do nurses wear clogs?\",\n  \"why are there headaches?\",\n  \"why is it called lax?\",\n  \"why is olive oil good for you?\",\n  \"why do companies change from ltd to plc?\",\n  \"why are essays important?\",\n  \"why are there suggested posts on facebook?\",\n  \"why do i need rfid blocking?\",\n  \"why are jujubes so hard?\",\n  \"why do users run queries?\",\n  \"why is upcycling good?\",\n  \"why there are ups and downs in life?\",\n  \"why are cds limited to 80 minutes?\",\n  \"why are there bad people?\",\n  \"why there is kolaveri song download?\",\n  \"why is istanbul rioting?\",\n  \"why is there no acdc on itunes?\",\n  \"why are there weird ads on my facebook?\",\n  \"why is there exo k and exo m?\",\n  \"why is sgt peppers overrated?\",\n  \"why are there guest hosts on chelsea lately?\",\n  \"why are cds cheaper than mp3?\",\n  \"why do lobsters turn red?\",\n  \"why are omaha flags at half staff?\",\n  \"why is eris not a planet?\",\n  \"why do dock leaves help nettle stings?\",\n  \"why is ethanol bad?\",\n  \"why is there no imodium on the shelves?\",\n  \"why is there two ny football teams?\",\n  \"why do lv cost so much?\",\n  \"why is lte better than wimax?\",\n  \"why do uk judges wear wigs?\",\n  \"why is working out so hard?\",\n  \"why is lululemon so expensive?\",\n  \"why are jin and hwoarang enemies?\",\n  \"why is glacier ice blue?\",\n  \"why are there no lightning bugs in california?\",\n  \"why do games freeze?\",\n  \"why do smokers spit?\",\n  \"why are cds so expensive?\",\n  \"why are there hairless cats?\",\n  \"why are vulgarities bad?\",\n  \"why do cpvc pipes fail?\",\n  \"why are used cars so expensive?\",\n  \"why are nc lighthouses famous?\",\n  \"why are there volcanic eruptions?\",\n  \"why are kb homes cheap?\",\n  \"why do yawn?\",\n  \"why is there no ie for mac?\",\n  \"why is pain and gain rated r?\",\n  \"why is there an equator on earth?\",\n  \"why is there hair on our body?\",\n  \"why is rls good?\",\n  \"why do people cover rv tires?\",\n  \"why is mercury poisonous?\",\n  \"why are there egyptian riots?\",\n  \"why is kwanzaa celebrated?\",\n  \"why are there toll roads in florida?\",\n  \"why are there yellow ribbons on trees?\",\n  \"why do swimmers have bad posture?\",\n  \"why is there no zestimate?\",\n  \"why is jpmorgan a robber baron?\",\n  \"why do undergraduate research?\",\n  \"why is oolong tea good for you?\",\n  \"why do urinate so much?\",\n  \"why are red blood cells important?\",\n  \"why is football called soccer?\",\n  \"why do saltines help nausea?\",\n  \"why are israel part of uefa?\",\n  \"why is spike lee famous?\",\n  \"why is there an x on my internet connection icon?\",\n  \"why do aztecs wear masks?\",\n  \"why are lucky strike illegal?\",\n  \"why do macarons crack?\",\n  \"why is there generally no problem in the arm?\",\n  \"why do june bugs come out in june?\",\n  \"why are breasts sore during pms?\",\n  \"why don\\\"t i have a girlfriend?\",\n  \"why is osb so expensive?\",\n  \"why are wind turbines stopped?\",\n  \"why is there curfew for minors?\",\n  \"why is dna important?\",\n  \"why is there numbness in the fingers?\",\n  \"why is there plaque on my teeth?\",\n  \"why do fwd cars have transmission tunnels?\",\n  \"why are there eight notes in a scale?\",\n  \"why are there glitches in the matrix?\",\n  \"why are oranges orange?\",\n  \"why are ieee standards important?\",\n  \"why are mlb tickets so expensive?\",\n  \"why is religion important?\",\n  \"why is nuclear waste dangerous?\",\n  \"why are there horses in front of pf changs?\",\n  \"why are there israeli settlements in the west bank?\",\n  \"why are there bumps on my scrotum?\",\n  \"why is there traffic on 580 west?\",\n  \"why do hamsters fight?\",\n  \"why do second marriages fail?\",\n  \"why are blueberries expensive?\",\n  \"why is xbox live down?\",\n  \"why are washrooms called wc?\",\n  \"why is there music coming from my computer?\",\n  \"why is drake a meme?\",\n  \"why are heels called pumps?\",\n  \"why do michel\\\"le talk like that?\",\n  \"why is mcmurphy tired?\",\n  \"why is jquery used?\",\n  \"why is dying so hard?\",\n  \"why don\\\"t you and i?\",\n  \"why is uefi better?\",\n  \"why is gps tagging useful?\",\n  \"why are eelpout populations diminishing?\",\n  \"why do mba in finance?\",\n  \"why there is kolaveri di download?\",\n  \"why do we have rmds?\",\n  \"why are there three stars on the tennessee flag?\",\n  \"why are there ginger jokes?\",\n  \"why is tyga so bad?\",\n  \"why are there enumerated powers?\",\n  \"why is upstairs so hot?\",\n  \"why is extinction bad?\",\n  \"why is there dried blood in my ear?\",\n  \"why do sidewalks have lines?\",\n  \"why is ghost adventures not on netflix?\",\n  \"why is ndaa bad?\",\n  \"why are hjc helmets so cheap?\",\n  \"why is there outsourcing?\",\n  \"why is hz important in a tv?\",\n  \"why is kaskade not playing at edc?\",\n  \"why do llamas spit at people?\",\n  \"why is there gas in my air filter?\",\n  \"why are xbox one games £55?\",\n  \"why are there no jimmy johns in nyc?\",\n  \"why are there no new ncaa basketball games?\",\n  \"why is there a wall around pineville ky?\",\n  \"why is tsunade not the hokage anymore?\",\n  \"why is ezreal blue build good?\",\n  \"why dogs look like s?\",\n  \"why are there centipedes?\",\n  \"why do road cyclists shave legs?\",\n  \"why do i have tmj?\",\n  \"why is there a tylenol recall?\",\n  \"why is xor used?\",\n  \"why are there wrinkles in my pool liner?\",\n  \"why is xbox live not working?\",\n  \"why are fm signals immune to noise?\",\n  \"why are there gates around cemeteries?\",\n  \"why is uae national day celebrated?\",\n  \"why do people write ftw?\",\n  \"why is there ice in men\\\"s urinals?\",\n  \"why is there upper and lower egypt?\",\n  \"why are axl rose and slash fighting?\",\n  \"why do a ck test?\",\n  \"why are there no basements in arizona?\",\n  \"why is there a rivalry between usc and ucla?\",\n  \"why are aka colors pink and green?\",\n  \"why is systolic pressure high?\",\n  \"why do psychics give different answers?\",\n  \"why are there zits on my but?\",\n  \"why do jinns possess people?\",\n  \"why is cracking your fingers bad?\",\n  \"why are enzymes important?\",\n  \"why do mkv files lag on my computer?\",\n  \"why are fedoras bad?\",\n  \"why is there ringing in my right ear?\",\n  \"why is nfs stateless?\",\n  \"why is there no tv shows this week?\",\n  \"why is there french on uk passports?\",\n  \"why is mxit addictive?\",\n  \"why do girls wear bras?\",\n  \"why are there fewer organisms at the top of the pyramid?\",\n  \"why do i need ucas points?\",\n  \"why do emos hate preps?\",\n  \"why is there no blood in dbz kai?\",\n  \"why there is no he\\\"ll?\",\n  \"why is there no map in gta 3?\",\n  \"why is there no costco in oklahoma?\",\n  \"why are there ads on my netflix?\",\n  \"why is illegal immigration bad?\",\n  \"why do scrapes ooze?\",\n  \"why are there five oceans?\",\n  \"why do keloids happen?\",\n  \"why is it raining so much?\",\n  \"why is tim duncan getting divorced?\",\n  \"why do mlm companies fail?\",\n  \"why is rsa secure?\",\n  \"why is there ear pain after tonsillectomy?\",\n  \"why is ksp useful?\",\n  \"why is there only 5 gymnasts?\",\n  \"why is sea salt better?\",\n  \"why are there many religions?\",\n  \"why is there tides in the ocean?\",\n  \"why do swamp people kill alligators?\",\n  \"why are there hybrid orbitals?\",\n  \"why is gymnastics good for kids?\",\n  \"why is cj no longer on eggheads?\",\n  \"why are mms pictures so small?\",\n  \"why do people dream?\",\n  \"why is wti cheaper?\",\n  \"why are there teddy bears in call of duty?\",\n  \"why is there hair on my forehead?\",\n  \"why is vomit green?\",\n  \"why are there arrows on prison uniforms?\",\n  \"why is there lead in avgas?\",\n  \"why is ghee healthy?\",\n  \"why do couples argue?\",\n  \"why are krispy kreme so expensive?\",\n  \"why are there pyramids in china?\",\n  \"why are most cells so small?\",\n  \"why are italians so annoying?\",\n  \"why do we celebrate bhm?\",\n  \"why do germans say wunderbar?\",\n  \"why is there traffic on the fdr?\",\n  \"why do towns have water towers?\",\n  \"why is there euro crisis?\",\n  \"why do qbs wear gloves?\",\n  \"why are externalities important?\",\n  \"why are there grooves on the edges of coins?\",\n  \"why do pyramids face north?\",\n  \"why are lipids important?\",\n  \"why do pms?\",\n  \"why is there xmas in july?\",\n  \"why are my images 240 dpi?\",\n  \"why are there lines on my palm?\",\n  \"why do ostriches have long necks?\",\n  \"why are glyphs so expensive?\",\n  \"why do you pva before plastering?\",\n  \"why are ebooks cheaper?\",\n  \"why do ionic crystals dissolve in water?\",\n  \"why is epa important?\",\n  \"why is cfc banned?\",\n  \"why is wpa2 better than wep?\",\n  \"why is ss going broke?\",\n  \"why are windows so expensive?\",\n  \"why is uganda the pearl of africa?\",\n  \"why is there no ryanair in america?\",\n  \"why is there teenage pregnancy?\",\n  \"why are there less fireflies?\",\n  \"why is opportunity cost important?\",\n  \"why is alcohol measured in proof?\",\n  \"why do rs gcse?\",\n  \"why is there many svchost.exe?\",\n  \"why are leos so stubborn?\",\n  \"why do humans wage war?\",\n  \"why is there uprising in libya?\",\n  \"why are one direction splitting up?\",\n  \"why is ceres considered a dwarf planet?\",\n  \"why is there water on the floor of my car?\",\n  \"why is there no espn bay area?\",\n  \"why is cnn liberal?\",\n  \"why do pdfs print so slowly?\",\n  \"why is there no ikea in nz?\",\n  \"why is there lead in balsamic vinegar?\",\n  \"why do nvidia drivers keep crashing?\",\n  \"why are cocktails called cocktails?\",\n  \"why do people hate dbz?\",\n  \"why are varicose veins painful?\",\n  \"why is there a triplet dna code?\",\n  \"why are lcd tv\\\"s getting cheaper?\",\n  \"why is acetic acid a weak electrolyte?\",\n  \"why is ksp constant?\",\n  \"why is dying hair bad?\",\n  \"why is aol so slow?\",\n  \"why do people hate jrpgs?\",\n  \"why is mtv so bad now?\",\n  \"why are jaguar xk8 so cheap?\",\n  \"why we are using dbms for industry?\",\n  \"why is whey protein bad?\",\n  \"why is avast free?\",\n  \"why is there sweetcorn in my poo?\",\n  \"why are used wranglers so expensive?\",\n  \"why is nnamdi asomugha called scrabble?\",\n  \"why are eggs oval?\",\n  \"why is there spots on my tongue?\",\n  \"why are there jet streams?\",\n  \"why is russia so crazy?\",\n  \"why is rphaven down?\",\n  \"why are there olympic rings?\",\n  \"why are identical twins identical?\",\n  \"why do wiz khalifa smoke weed?\",\n  \"why do rhinos have wrinkles joke?\",\n  \"why are gnomes bad?\",\n  \"why are there gold post boxes?\",\n  \"why do nortenos use the huelga bird?\",\n  \"why are there innie and outie belly buttons?\",\n  \"why is yellow watermelon yellow?\",\n  \"why are envelopes called dl?\",\n  \"why is there a java update everyday?\",\n  \"why is mcdonalds bad?\",\n  \"why is uint not cls compliant?\",\n  \"why do agaves flower?\",\n  \"why do ants like sugar?\",\n  \"why is bgan so expensive?\",\n  \"why are pv cells important?\",\n  \"why do lcd tvs lag?\",\n  \"why do parrots mimic?\",\n  \"why if there was no google?\",\n  \"why are mcnuggets shaped the way they are?\",\n  \"why is pd important for glasses?\",\n  \"why are vpns important?\",\n  \"why do we need backbone js?\",\n  \"why is atticus a mockingbird?\",\n  \"why are there swamps in louisiana?\",\n  \"why is there a doppler effect?\",\n  \"why is hulu not working?\",\n  \"why is lvm used?\",\n  \"why are there spiders in my bedroom?\",\n  \"why are people leaving xda?\",\n  \"why are edamame pods not edible?\",\n  \"why do auroras occur?\",\n  \"why is gbp so strong?\",\n  \"why do btec dance?\",\n  \"why do deserts form?\",\n  \"why are cbc ordered?\",\n  \"why are african americans so loud?\",\n  \"why are there volcanoes in italy?\",\n  \"why do sloths move so slow?\",\n  \"why is there civil unrest in egypt?\",\n  \"why is ccl4 tetrahedral?\",\n  \"why is there a silent p in pterodactyl?\",\n  \"why is zombie swipeout shutting down?\",\n  \"why are lgbt rights important?\",\n  \"why do people use rmvb?\",\n  \"why is there oxygen in our atmosphere today?\",\n  \"why do fungi grow in rings?\",\n  \"why is nature important?\",\n  \"why do rcmp wear red?\",\n  \"why is plastic bad for the environment?\",\n  \"why is dht important?\",\n  \"why are djs so cool?\",\n  \"why is air conditioner freezing?\",\n  \"why is there an ozone layer hole?\",\n  \"why is there captcha?\",\n  \"why do people hate cm punk?\",\n  \"why is inflation good?\",\n  \"why are zinc compounds colorless?\",\n  \"why is there pink lemonade?\",\n  \"why do tattoos scab?\",\n  \"why are nipples so tender?\",\n  \"why is there more dha than gap?\",\n  \"why are pvr so expensive?\",\n  \"why are there casinos in nevada?\",\n  \"why are owls bad?\",\n  \"why do ncaa coaches wear sneakers?\",\n  \"why do trees produce fruit?\",\n  \"why is there a eurozone debt crisis?\",\n  \"why are there no women in nhl?\",\n  \"why do phones get slow?\",\n  \"why do pms symptoms vary from month to month?\",\n  \"why is dna called a blueprint?\",\n  \"why do x\\\"s mean kiss?\",\n  \"why is there itching in obstructive jaundice?\",\n  \"why is there pyramids all over the world?\",\n  \"why do gyms have saunas?\",\n  \"why are dyes important?\",\n  \"why are there echoes?\",\n  \"why do rv toilets have sprayers?\",\n  \"why are dslr better than camcorders?\",\n  \"why is there rocket fuel in cigarettes?\",\n  \"why are zelda games so expensive?\",\n  \"why are there bends in oil pipelines?\",\n  \"why is kbb and edmunds different?\",\n  \"why is there one extra bullet in bf3?\",\n  \"why is kim zolciak famous?\",\n  \"why are there always flies in my house?\",\n  \"why do rct?\",\n  \"why do umbrellas have points?\",\n  \"why do crevasses form?\",\n  \"why are there more obese people now?\",\n  \"why do clouds have flat bottoms?\",\n  \"why are there no krispy kremes in new york?\",\n  \"why is ozymandias so strong?\",\n  \"why is mk9 banned in australia?\",\n  \"why is there daylight savings?\",\n  \"why is there oil in the earth?\",\n  \"why are there pincher bugs in my house?\",\n  \"why is there caffeine in tea?\",\n  \"why is water polar?\",\n  \"why do you want join sbi?\",\n  \"why is there no ddr5 ram?\",\n  \"why are there so many spiders in my house?\",\n  \"why is ice good for swelling?\",\n  \"why is xbox better than ps3?\",\n  \"why is lsu called death valley?\",\n  \"why is fdr considered a great president?\",\n  \"why are there clouds at night?\",\n  \"why is there an nba lottery?\",\n  \"why is there the hunger games?\",\n  \"why is there holes in my lawn?\",\n  \"why is hdl high density?\",\n  \"why are there air bubbles in my urine?\",\n  \"why is xss dangerous?\",\n  \"why do uruguay have 4 stars?\",\n  \"why do i need ftp?\",\n  \"why do children steal?\",\n  \"why is there a ghost in the polar express?\",\n  \"why is there tension between us and china?\",\n  \"why is vpn secure?\",\n  \"why do oysters grow pearls?\",\n  \"why are vultures getting extinct?\",\n  \"why is there a reduction in sclerenchyma and xylem in elodea?\",\n  \"why is abraham lincoln turned to the right?\",\n  \"why is there oktoberfest?\",\n  \"why are gnats attracted to cuts?\",\n  \"why do leaves fall?\",\n  \"why are marathons 26.2 miles?\",\n  \"why are there hunger strikes in guantanamo bay?\",\n  \"why are dogs noses wet?\",\n  \"why are llamas good guard animals?\",\n  \"why is there zombie art on android?\",\n  \"why do tyres blow?\",\n  \"why do type ii errors occur?\",\n  \"why is there always a new version of java?\",\n  \"why is there little greenhouse effect on mars?\",\n  \"why is there job discrimination?\",\n  \"why do epipens expire?\",\n  \"why is jquery not working?\",\n  \"why is dlna slow?\",\n  \"why are there international editions?\",\n  \"why is there no coriolis effect at the equator?\",\n  \"why is oyster card so expensive?\",\n  \"why are there different audio formats?\",\n  \"why is tlad fuzzy?\",\n  \"why is there a crescent moon on mre boxes?\",\n  \"why do people flee bhutan?\",\n  \"why are drugs addictive?\",\n  \"why are there roaches in my house?\",\n  \"why do identical twins look exactly alike?\",\n  \"why are axons myelinated?\",\n  \"why are there olives in tamales?\",\n  \"why is pdf blurry?\",\n  \"why are lgbt issues important?\",\n  \"why are there no left turns in nj?\",\n  \"why do africans run so fast?\",\n  \"why are there sound effects in movies?\",\n  \"why are lychees good for you?\",\n  \"why are there ants in my bed?\",\n  \"why is awareness of children\\\"s development important?\",\n  \"why are questions important?\",\n  \"why is eosinophils high?\",\n  \"why is there pollution?\",\n  \"why are utilities down today?\",\n  \"why are oxidation-reduction reactions always coupled?\",\n  \"why is water essential to life?\",\n  \"why is there a tennessee flag in animal house?\",\n  \"why do edna and robert go to the cheniere?\",\n  \"why is there roaches?\",\n  \"why is there no itv1+1?\",\n  \"why is there no nfl team in los angeles?\",\n  \"why is dhcp better than static?\",\n  \"why are isomers important?\",\n  \"why are there more female psychologists?\",\n  \"why are there protests in brazil?\",\n  \"why is vgli so expensive?\",\n  \"why do cells need buffering agents?\",\n  \"why are there more tsunamis?\",\n  \"why do hdr photos look fake?\",\n  \"why are there isotopes?\",\n  \"why are the sf giants not on tv?\",\n  \"why is it there is an earthquake?\",\n  \"why are shakira and usher leaving the voice?\",\n  \"why is cgi used?\",\n  \"why are dsquared jeans so expensive?\",\n  \"why is graffiti bad?\",\n  \"why do photographers use a softbox?\",\n  \"why is there smoke in colorado springs?\",\n  \"why are love bugs attached?\",\n  \"why is bone different from other tissues?\",\n  \"why do gums bleed?\",\n  \"why are ewoks called ewoks?\",\n  \"why is yahoo messenger not working?\",\n  \"why are skaters hated?\",\n  \"why are axes painted red?\",\n  \"why are ieds used?\",\n  \"why is biodiversity so important?\",\n  \"why do arabs have big noses?\",\n  \"why are there more african americans in prison?\",\n  \"why is michelle stafford leaving?\",\n  \"why are there no byes in week 10?\",\n  \"why are dutch people called dutch?\",\n  \"why is skrillex popular?\",\n  \"why is there av delay?\",\n  \"why are you so hot?\",\n  \"why do we need ozone layer?\",\n  \"why are there 9 justices on the supreme court?\",\n  \"why do affairs end?\",\n  \"why are there no floods in bc?\",\n  \"why are there palm trees in florida?\",\n  \"why is rda being replaced by dri?\",\n  \"why are there glitches in games?\",\n  \"why is dc traffic so bad?\",\n  \"why do sweets hurt cavities?\",\n  \"why are there so few rheumatologists?\",\n  \"why are zucchini leaves turning yellow?\",\n  \"why is lloyds share price rising?\",\n  \"why is there no texas collider?\",\n  \"why do mds hate chiropractors?\",\n  \"why is there an eye on the back of the dollar bill?\",\n  \"why is there illness in the world?\",\n  \"why are generic drugs cheaper?\",\n  \"why are agar plates inverted when incubated?\",\n  \"why are kb homes so cheap?\",\n  \"why are nike foams so expensive?\",\n  \"why is there no dna in urine?\",\n  \"why are there nhs cuts?\",\n  \"why is hpo42 amphoteric?\",\n  \"why are foods genetically modified?\",\n  \"why are there phosphates in my pool?\",\n  \"why is eye contact awkward?\",\n  \"why is fx not on directv?\",\n  \"why do female dogs hump?\",\n  \"why are there no quests in uldum?\",\n  \"why is nbc not showing hockey?\",\n  \"why is gps so accurate?\",\n  \"why is there braille in mt ember?\",\n  \"why are there bubbles in aero?\",\n  \"why is ignoring someone effective?\",\n  \"why are there negative db levels?\",\n  \"why do tsa agents wear gloves?\",\n  \"why are there 2 wwe championship?\",\n  \"why is fye so expensive?\",\n  \"why there is no dst in india?\",\n  \"why is there income inequality?\",\n  \"why is fnma up today?\",\n  \"why is there no gtx 300 series?\",\n  \"why is cm punk taking time off?\",\n  \"why do adults lie?\",\n  \"why do dmd chips fail?\",\n  \"why are there juvenile courts?\",\n  \"why is there slavery today?\",\n  \"why are tigers becoming extinct?\",\n  \"why is jquery so popular?\",\n  \"why are nhl fights allowed?\",\n  \"why is there a chicken on the uganda flag?\",\n  \"why is bpa still used?\",\n  \"why are epub files so small?\",\n  \"why is dzhokhar innocent?\",\n  \"why is there overpopulation in india?\",\n  \"why is there no new psp games?\",\n  \"why are zip codes important?\",\n  \"why are mba applications down?\",\n  \"why are there byes in espn fantasy football?\",\n  \"why is there so much drama in the lbc?\",\n  \"why do air conditioners need exhaust?\",\n  \"why are there ozone holes?\",\n  \"why do gmail accounts get locked?\",\n  \"why is vsd an cyanotic defect?\",\n  \"why are they cancelling house md?\",\n  \"why do ds emulators lag?\",\n  \"why is there less conflict after divorce?\",\n  \"why is there running of the bulls?\",\n  \"why is hf so reactive?\",\n  \"why do a ua?\",\n  \"why do europeans smoke so much?\",\n  \"why are nz good at rugby?\",\n  \"why do cultural universals exist?\",\n  \"why do ssris cause vivid dreams?\",\n  \"why is vpn more secure?\",\n  \"why are knockout roses dying?\",\n  \"why is there bermuda triangle?\",\n  \"why are there sadists?\",\n  \"why are g shocks so popular?\",\n  \"why is hypothesis testing important?\",\n  \"why is ajax cleanser called ajax?\",\n  \"why do people like fps?\",\n  \"why do cicadas come out?\",\n  \"why do my nipples hurt?\",\n  \"why is dsquared so expensive?\",\n  \"why is shockwave crashing?\",\n  \"why are away games harder?\",\n  \"why is there no uk football team?\",\n  \"why is nd called the fighting irish?\",\n  \"why is ubuntu free?\",\n  \"why do dogs lick?\",\n  \"why is lpg stored under pressure?\",\n  \"why is there red eye in pictures?\",\n  \"why is dbt effective?\",\n  \"why are fpgas so fast?\",\n  \"why is there racism yahoo answers?\",\n  \"why is givenchy so expensive?\",\n  \"why is pvc stiffer than polyethylene?\",\n  \"why is xpecial called hamster?\",\n  \"why do people say smh?\",\n  \"why are zoos important?\",\n  \"why are there monkeys if we evolved from them?\",\n  \"why are there ghost towns in china?\",\n  \"why is ucla a good school?\",\n  \"why is there genocide in uganda?\",\n  \"why are jin and sun not married?\",\n  \"why is the flag at half mast?\",\n  \"why are there multiple vmdk files?\",\n  \"why are there swiss guards at the vatican?\",\n  \"why are there volcanoes in east asia?\",\n  \"why are there roaches in my room?\",\n  \"why are html tags deprecated?\",\n  \"why do uc\\\"s want all scores?\",\n  \"why do tomato leaves curl?\",\n  \"why do i have svt?\",\n  \"why is there no kids in gta?\",\n  \"why is there skin peeling on my feet?\",\n  \"why do people blush?\",\n  \"why do countries trade?\",\n  \"why is ww1 a turning point in history?\",\n  \"why are hmv so expensive?\",\n  \"why is lv bag so expensive?\",\n  \"why is whole wheat better?\",\n  \"why are voter id laws bad?\",\n  \"why is there am and pm?\",\n  \"why do pigeons bob their heads?\",\n  \"why is mmr given at 12 months?\",\n  \"why are there corn kernels in my poop?\",\n  \"why do flies congregate?\",\n  \"why do onions give me gas?\",\n  \"why is texting bad?\",\n  \"why is bystolic so expensive?\",\n  \"why are klingon ships green?\",\n  \"why are there huns in mulan?\",\n  \"why is there religion yahoo?\",\n  \"why do dc generators need commutators?\",\n  \"why do lcd screens crack?\",\n  \"why do oceans look blue?\",\n  \"why are fm frequencies odd?\",\n  \"why is pf5 nonpolar?\",\n  \"why do rivers flood?\",\n  \"why is izzie fired?\",\n  \"why are samoans big?\",\n  \"why are there ads on youtube now?\",\n  \"why are patients npo before surgery?\",\n  \"why is teaching important?\",\n  \"why do tcas cause anticholinergic effects?\",\n  \"why is there separation of church and state?\",\n  \"why are there jokes about polish people?\",\n  \"why do yugi and yami look alike?\",\n  \"why is there pain on my right side?\",\n  \"why is nguyen spelled that way?\",\n  \"why is there suffering if god is good?\",\n  \"why do knees pop?\",\n  \"why are the muppets pg?\",\n  \"why is alcoholism considered a disease?\",\n  \"why do objects float ks2?\",\n  \"why are mixed girls so pretty?\",\n  \"why do rwanda speak french?\",\n  \"why are pmags better?\",\n  \"why is there bugs in my house?\",\n  \"why is http stateless?\",\n  \"why is there no kmart in houston?\",\n  \"why is xcode so hard?\",\n  \"why is there fuzz on a tennis ball interview question?\",\n  \"why do surveys never work?\",\n  \"why are pc gamers so ignorant?\",\n  \"why are npt threads?\",\n  \"why are ionic compounds neutral?\",\n  \"why are aerobic exercises good for the heart?\",\n  \"why is there no sound on my iphone?\",\n  \"why is there no jollibee in canada?\",\n  \"why are ionic compounds electrically neutral?\",\n  \"why is there no halo 3 pc?\",\n  \"why is there a pyramid with an eye on the dollar bill?\",\n  \"why is django so bloody?\",\n  \"why is dwayne johnson in the hospital?\",\n  \"why is there tsunami?\",\n  \"why are hmos cheaper than ppos?\",\n  \"why rpgs are better than shooters?\",\n  \"why are glands swollen in neck?\",\n  \"why do utis cause preterm labor?\",\n  \"why are there two zippers?\",\n  \"why is there no iodine in sea salt?\",\n  \"why is km unchanged in noncompetitive inhibition?\",\n  \"why are pounds labeled lbs?\",\n  \"why is aloe good for skin?\",\n  \"why is there period cramps?\",\n  \"why are gypsies so pretty?\",\n  \"why are there so many crickets in oklahoma?\",\n  \"why do egyptians hate morsi?\",\n  \"why is ftb so slow?\",\n  \"why do parents fight?\",\n  \"why are there hidden mickeys?\",\n  \"why do people hate jws?\",\n  \"why are there ads on my fb timeline?\",\n  \"why do rhubarb leaves turn red?\",\n  \"why is epic rated pg?\",\n  \"why do patients get tpn?\",\n  \"why are xenoestrogens bad?\",\n  \"why there is kolaveri di mp3 download?\",\n  \"why is there ea tax?\",\n  \"why is ppe useful?\",\n  \"why is there a wolf in fantastic mr fox?\",\n  \"why are there more nl teams?\",\n  \"why do illusions trick your brain?\",\n  \"why are there no otters in kent?\",\n  \"why are one direction so popular?\",\n  \"why do ajax sing bob marley?\",\n  \"why is rvca pronounced ruca?\",\n  \"why are there dots on my legs?\",\n  \"why is there only three omg girlz?\",\n  \"why is oovoo not working?\",\n  \"why is there magma in the earth?\",\n  \"why are there clouds over mountains?\",\n  \"why do scientists construct cladograms?\",\n  \"why do lips get chapped?\",\n  \"why do foils fall in love full episode?\",\n  \"why is there different versions of html?\",\n  \"why do updates fail?\",\n  \"why are viruses not considered living?\",\n  \"why is there lines on my laptop screen?\",\n  \"why is there pressure on my bladder?\",\n  \"why do my bf and i fight?\",\n  \"why is there spousal support?\",\n  \"why do we calculate npv?\",\n  \"why are earthworms important?\",\n  \"why do ewes prolapse?\",\n  \"why do bpd stalk?\",\n  \"why is (a) not a wff?\",\n  \"why is there an eye in a hurricane?\",\n  \"why do we have pubic hair?\",\n  \"why is there a by election in oldham?\",\n  \"why is tnt called dynamite?\",\n  \"why do abandoned buildings decay?\",\n  \"why are there small bumps on my stomach?\",\n  \"why do agapanthus leaves turn yellow?\",\n  \"why are there items that are exempted from vat?\",\n  \"why do people say hwaiting?\",\n  \"why is integrity important?\",\n  \"why do june bugs come in june?\",\n  \"why are americans such wusses?\",\n  \"why is ozone toxic?\",\n  \"why are there aa and aaa batteries?\",\n  \"why is yield less than 100?\",\n  \"why do queen bees pipe?\",\n  \"why are eicosanoids important?\",\n  \"why are bongs better?\",\n  \"why do fbi agents wear trench coats?\",\n  \"why do rashes ooze?\",\n  \"why is voss water so good?\",\n  \"why are festivals important?\",\n  \"why are ny flags at half mast?\",\n  \"why is there suffering buddhism?\",\n  \"why is snitch rated r?\",\n  \"why we are using jsp instead of servlet?\",\n  \"why do zippers fail?\",\n  \"why are ct scans dangerous?\",\n  \"why is there so much conflict in the middle east?\",\n  \"why do gases exert pressure?\",\n  \"why are one direction behind the sofa?\",\n  \"why is high school so hard?\",\n  \"why are xdm legal in california?\",\n  \"why are investments not fdic insured?\",\n  \"why do ionic compounds conduct electricity when melted?\",\n  \"why are there no iphone 5?\",\n  \"why are kittens eyes blue?\",\n  \"why are there volcanoes in california?\",\n  \"why are there polar bears in lost?\",\n  \"why is qbw32 exe running?\",\n  \"why is dyslexia so hard to spell?\",\n  \"why is wwe pushing the shield?\",\n  \"why do yankees have pinstripes?\",\n  \"why do gas prices go up?\",\n  \"why are objects in the mirror closer?\",\n  \"why is nsync called nsync?\",\n  \"why is ham pink?\",\n  \"why do boats float ks2?\",\n  \"why do abused children become abusers?\",\n  \"why is zales so cheap?\",\n  \"why is tv bad for kids?\",\n  \"why do epidemics start in asia?\",\n  \"why is end of watch rated r?\",\n  \"why is https crossed out in red?\",\n  \"why do people hate ff7?\",\n  \"why do nhl refs allow fights?\",\n  \"why is ellis island closed?\",\n  \"why is pda bad?\",\n  \"why do people say xtina?\",\n  \"why do people oppose wto?\",\n  \"why do apples make me sick?\",\n  \"why is xfire not working?\",\n  \"why is byu tuition so cheap?\",\n  \"why is kryptonite lethal to superman?\",\n  \"why is there urea in my lotion?\",\n  \"why do hr practitioners need to develop?\",\n  \"why is sushi so expensive?\",\n  \"why do juggalos exist?\",\n  \"why is ubuntu 12.10 so slow?\",\n  \"why do our stomachs hurt?\",\n  \"why are there evil people?\",\n  \"why are there itchy bumps on my feet?\",\n  \"why is there abuse?\",\n  \"why is oklahoma called the heartland?\",\n  \"why do xbox get dlc first?\",\n  \"why is there astringent in eye drops?\",\n  \"why is there sugar in bread?\",\n  \"why do hmong come to america?\",\n  \"why is uw stout and stout?\",\n  \"why is of mice and men a classic?\",\n  \"why is energy conservation important?\",\n  \"why is iis required?\",\n  \"why is there dried blood in my nose?\",\n  \"why is bacon so good?\",\n  \"why do pcs get slower?\",\n  \"why are there so many ostriches?\",\n  \"why is there symbolism in literature?\",\n  \"why do aliens abduct people?\",\n  \"why is there scarcity of water?\",\n  \"why are there cameras at every intersection?\",\n  \"why are there hmong refugees?\",\n  \"why are there no teaching jobs in bc?\",\n  \"why is there censorship?\",\n  \"why are there so few books?\",\n  \"why is there blood in my underwear?\",\n  \"why is there music?\",\n  \"why do x-rays cause cancer?\",\n  \"why are viruses host specific?\",\n  \"why are there italics in the bible?\",\n  \"why are cda files 1 kb?\",\n  \"why is there region lock?\",\n  \"why are krill important?\",\n  \"why is there an error on facebook?\",\n  \"why is there only one smurfette?\",\n  \"why is food safety important?\",\n  \"why are fruits good for you?\",\n  \"why are okazaki fragments necessary?\",\n  \"why is lavish so rich?\",\n  \"why are knee injuries common in athletes?\",\n  \"why is economic freedom important?\",\n  \"why is aol my homepage?\",\n  \"why do ds emulators run slowly?\",\n  \"why are oem parts more expensive?\",\n  \"why do hiccups hurt?\",\n  \"why are there exclusive games?\",\n  \"why are there usb ports on my monitor?\",\n  \"why are hot dogs bad?\",\n  \"why are there ads on my facebook?\",\n  \"why is ahri underplayed?\",\n  \"why are we alive?\",\n  \"why are there dots on the bottom of beer bottles?\",\n  \"why is euro so strong?\",\n  \"why is qe2 not working?\",\n  \"why do we calculate gdp?\",\n  \"why do water molecules stick together?\",\n  \"why are there apes and humans?\",\n  \"why are ftp speeds so slow?\",\n  \"why do witches ride broomsticks?\",\n  \"why are there so many ukrainians in canada?\",\n  \"why are abs attractive to women?\",\n  \"why is xfinity on demand not working?\",\n  \"why are there ads on bbc website?\",\n  \"why is there dirt in my coolant?\",\n  \"why are there few absolutes in ob?\",\n  \"why is there a squirrel emoticon on skype?\",\n  \"why do abusers isolate their victims?\",\n  \"why is iago jealous of cassio?\",\n  \"why is dwight gooden called doc?\",\n  \"why is nh4cl acidic?\",\n  \"why is git better than svn?\",\n  \"why is there 13 svchost exe running?\",\n  \"why is mkv so popular?\",\n  \"why is pwc better?\",\n  \"why are icons important?\",\n  \"why do ya drink to get drunk?\",\n  \"why are flamingos pink yahoo?\",\n  \"why do they call jp cupcake?\",\n  \"why are there spiders in my house?\",\n  \"why is qe not working?\",\n  \"why are there furries?\",\n  \"why are there few babies available for adoption?\",\n  \"why is rsv contact precautions?\",\n  \"why are italians so smart?\",\n  \"why are there so many pervs on omegle?\",\n  \"why are macs better than pcs?\",\n  \"why do gpus get hot?\",\n  \"why are dogs loyal?\",\n  \"why is oomf?\",\n  \"why are ionic bonds soluble?\",\n  \"why do nortenos and surenos fight?\",\n  \"why do volleyball players wear spandex?\",\n  \"why do vws smell like crayons?\",\n  \"why are adverbs bad?\",\n  \"why is there a problem with tcp in wireless networks?\",\n  \"why are xenografts used?\",\n  \"why is there sales tax?\",\n  \"why are there job interviews?\",\n  \"why are phytoplankton important?\",\n  \"why is there no zero year?\",\n  \"why do nsaids cause hyperkalemia?\",\n  \"why is mcdonalds so addictive?\",\n  \"why is there no zelda movie?\",\n  \"why is xochimilco important?\",\n  \"why do plants contain dmt?\",\n  \"why are x rays used?\",\n  \"why is ncis so successful?\",\n  \"why is there friction?\",\n  \"why do kleenex change color?\",\n  \"why do arrays start at 0?\",\n  \"why is autism increasing?\",\n  \"why are female marines called wookies?\",\n  \"why do wineries close early?\",\n  \"why is carbon important?\",\n  \"why do irish dancers wear wigs?\",\n  \"why is xml case sensitive?\",\n  \"why are zippos so expensive?\",\n  \"why is python called python?\",\n  \"why are yugioh cards banned?\",\n  \"why are uc davis students protesting?\",\n  \"why is there no wreckage of flight 93?\",\n  \"why is there cockney rhyming slang?\",\n  \"why are gnats in my room?\",\n  \"why are xylem vessels adapted their function?\",\n  \"why do firms fdi?\",\n  \"why is zero plural?\",\n  \"why do tybalt and romeo fight?\",\n  \"why are utility stocks going down?\",\n  \"why are there small bumps on my head?\",\n  \"why is jsonp safe?\",\n  \"why are humans so violent?\",\n  \"why do newborns skin peel?\",\n  \"why is youtube slow?\",\n  \"why are there labor unions?\",\n  \"why are xylem and phloem important?\",\n  \"why are stem cells important?\",\n  \"why is rs232 used?\",\n  \"why do ssds have limited writes?\",\n  \"why is eggplant bitter?\",\n  \"why is bacon paleo?\",\n  \"why are jpegs blurry in indesign?\",\n  \"why is airplay so slow?\",\n  \"why do values form the bedrock of a culture?\",\n  \"why do loons call at night?\",\n  \"why is rna splicing important?\",\n  \"why is organ donation important?\",\n  \"why are there hybrid cars?\",\n  \"why is there fish oil in organic milk?\",\n  \"why is there a zipper on my google?\",\n  \"why are there more obese women than men?\",\n  \"why are tx flags at half mast?\",\n  \"why is t mobile so cheap?\",\n  \"why is jk rowling against ebooks?\",\n  \"why are illicit drugs illegal?\",\n  \"why is there employment legislation?\",\n  \"why is there no ipad calculator?\",\n  \"why is wti cheaper than brent?\",\n  \"why do klingons have cloaking devices?\",\n  \"why are agents called special agents?\",\n  \"why do oatmeal cookies go flat?\",\n  \"why is xdm esp?\",\n  \"why is there no www in my domain name?\",\n  \"why is fish good for you?\",\n  \"why is there msg in chinese food?\",\n  \"why is there oxygen on planes?\",\n  \"why are there speed limits?\",\n  \"why do organizations use vpn?\",\n  \"why is there slime in my underwear?\",\n  \"why is vulcan blood green?\",\n  \"why is there random bruises on my body?\",\n  \"why hello there znaczenie?\",\n  \"why do astronomers use cgs?\",\n  \"why is there an increase in mrsa?\",\n  \"why are there more girls than boys?\",\n  \"why is there chlorine in diapers?\",\n  \"why do we use dft?\",\n  \"why do agents wear suits?\",\n  \"why is there an ulcer on my tongue?\",\n  \"why is vfs so expensive?\",\n  \"why is hwy 6 closed?\",\n  \"why is there arsenic in cigarettes?\",\n  \"why is fynbos a biodiversity hotspot?\",\n  \"why is branding important?\",\n  \"why is aquarius air?\",\n  \"why do rc helis have flybars?\",\n  \"why is there wind under the dome?\",\n  \"why is there grass?\",\n  \"why is vw service so expensive?\",\n  \"why are there no other democratic candidates?\",\n  \"why are texas people so proud?\",\n  \"why is there squatters rights?\",\n  \"why do gypsies fight?\",\n  \"why is borderlands rated m?\",\n  \"why do kittens cry?\",\n  \"why are ixtla and popo unable to marry?\",\n  \"why is oil prices rising?\",\n  \"why is aapl down?\",\n  \"why is there two l in lloyd?\",\n  \"why are wetlands being destroyed?\",\n  \"why do sharks eat people?\",\n  \"why do you need gb on xbox 360?\",\n  \"why do we use dbms?\",\n  \"why is cta called the l?\",\n  \"why do umpires wear blue?\",\n  \"why are cheetahs endangered?\",\n  \"why are dna molecules negatively charged?\",\n  \"why are ck levels high?\",\n  \"why is there two nba teams in la?\",\n  \"why do uk people have accents?\",\n  \"why is there shrove tuesday?\",\n  \"why are there always lines at the dmv?\",\n  \"why do dns errors occur?\",\n  \"why is there ads in hulu plus?\",\n  \"why are cng tanks so expensive?\",\n  \"why fmps are better than fds?\",\n  \"why are oxygen atoms neutral?\",\n  \"why do cpus overheat?\",\n  \"why do xps files open in chrome?\",\n  \"why do sri lankans shake their heads?\",\n  \"why are zucchini rotting?\",\n  \"why do an internship?\",\n  \"why is vitamin k given to newborns?\",\n  \"why are skeletal muscle cells multinucleated?\",\n  \"why is unity important?\",\n  \"why do we use wpf?\",\n  \"why do video games cost so much?\",\n  \"why is airfare so high?\",\n  \"why are there still tmobile commercials?\",\n  \"why are there so many owls?\",\n  \"why is affirmative action necessary?\",\n  \"why do zwitterions exist?\",\n  \"why is oprah winfrey famous?\",\n  \"why do ice cubes melt?\",\n  \"why are there square watermelons?\",\n  \"why is writing important in life?\",\n  \"why are there ip address conflicts?\",\n  \"why is hp hiring dancers?\",\n  \"why is there east and west germany?\",\n  \"why do brain freezes hurt?\",\n  \"why is health insurance important?\",\n  \"why are octopus thrown on the ice?\",\n  \"why is there dots on my balls?\",\n  \"why are there no marriable khajiit?\",\n  \"why is water wet?\",\n  \"why do islams hate america?\",\n  \"why is there poverty in rwanda?\",\n  \"why are csi episodes out of order?\",\n  \"why do cats wag their tails?\",\n  \"why are there different oxidation states?\",\n  \"why is there poverty in nz?\",\n  \"why are pc gamers elitist?\",\n  \"why do mtv videos never work?\",\n  \"why is sbs off the air?\",\n  \"why is tpn used?\",\n  \"why do you need dhcp?\",\n  \"why is psych not on ion?\",\n  \"why is gui important?\",\n  \"why is hdpe a good material for boats?\",\n  \"why are ryu and ken the same?\",\n  \"why is monsanto bad?\",\n  \"why do tncs move to ledcs?\",\n  \"why are kmart diamonds so cheap?\",\n  \"why do zits smell?\",\n  \"why are there bees in my birdbath?\",\n  \"why are sideburns called sideburns?\",\n  \"why do axolotls have external gills?\",\n  \"why is sriracha so hot?\",\n  \"why is axl rose always late?\",\n  \"why are wyoming roads red?\",\n  \"why do air conditioners stop working?\",\n  \"why are eritrean women beautiful?\",\n  \"why are there bed bugs in my bed?\",\n  \"why do brides wear veils?\",\n  \"why do sinuses drain?\",\n  \"why are gnats in my house?\",\n  \"why are navy ships grey?\",\n  \"why do we need nri account?\",\n  \"why are there 2 csrss exe?\",\n  \"why do axons differ in caliber?\",\n  \"why is glass green?\",\n  \"why is there inequality?\",\n  \"why are there no krispy kremes in minnesota?\",\n  \"why do bc teachers want to strike?\",\n  \"why are we here rvb quote?\",\n  \"why is rvd returning to wwe in 2013?\",\n  \"why is god not real?\",\n  \"why are pounds represented by lb?\",\n  \"why is australia called oz?\",\n  \"why is xylitol bad?\",\n  \"why is there a yellow flag on oovoo?\",\n  \"why is zfs better than raid?\",\n  \"why do pigs root?\",\n  \"why is there dirt in my water?\",\n  \"why is there racism in the world?\",\n  \"why is lte better?\",\n  \"why are rhythmix now little mix?\",\n  \"why are there warts on my fingers?\",\n  \"why is cm punk the best in the world?\",\n  \"why are knife hands banned?\",\n  \"why are gas prices going up again?\",\n  \"why do cats hiss?\",\n  \"why do ideal substances mix spontaneously?\",\n  \"why is lsa good for you?\",\n  \"why are there more erythrocytes than leukocytes?\",\n  \"why are gmos safe?\",\n  \"why are there taxes?\",\n  \"why is dc called dmv?\",\n  \"why do ups drivers run?\",\n  \"why is immigration important?\",\n  \"why are there giant ants in my house?\",\n  \"why are hd channels smaller?\",\n  \"why is vulpix banned?\",\n  \"why is ddr3 ram so expensive?\",\n  \"why is dpip used?\",\n  \"why do i need ptlls?\",\n  \"why do tsunamis occur after earthquakes?\",\n  \"why are there pimples on my balls?\",\n  \"why is netflix slow?\",\n  \"why is mba important?\",\n  \"why is lpg so expensive at the moment?\",\n  \"why do the pats wear mhk?\",\n  \"why are dogs allergic to chocolate?\",\n  \"why are there avalanches?\",\n  \"why are wisdom teeth removed yahoo?\",\n  \"why is there egyptology?\",\n  \"why are eggplants called eggplants?\",\n  \"why are ipads so popular?\",\n  \"why is pcr helpful to forensic scientists?\",\n  \"why are vultures on my roof?\",\n  \"why are there villi in the small intestine?\",\n  \"why do isomers have different properties?\",\n  \"why is unemployment bad?\",\n  \"why is curtis snow in jail?\",\n  \"why is there jaw pain with heart attack?\",\n  \"why is there overcrowding in prisons?\",\n  \"why is there herobrine in minecraft?\",\n  \"why is there a trade limit in rs?\",\n  \"why is location services always on?\",\n  \"why is nly down?\",\n  \"why do tyres have tread?\",\n  \"why is mma safer than boxing?\",\n  \"why are there bumps on the back of my throat?\",\n  \"why are african lions endangered?\",\n  \"why are owl tattoos so popular?\",\n  \"why is gsp not fighting condit?\",\n  \"why are hdls good?\",\n  \"why do spiders have 8 legs?\",\n  \"why is cs lewis so popular?\",\n  \"why do you want this job?\",\n  \"why do kamikaze pilots wear helmets?\",\n  \"why do ice packs reduce swelling?\",\n  \"why are there no arab democracies pdf?\",\n  \"why are uc campuses closed?\",\n  \"why are axe handles curved?\",\n  \"why is jcpenney struggling?\",\n  \"why are jcb yellow?\",\n  \"why is there no sound on mtv?\",\n  \"why are there bees in my pool?\",\n  \"why are there no dwarves in warhammer 40k?\",\n  \"why do we write xmas?\",\n  \"why is cfc a greenhouse gas?\",\n  \"why do mma fighters cut weight?\",\n  \"why do we add bsa?\",\n  \"why is meta knight so good?\",\n  \"why do qbs have green stickers?\",\n  \"why are switchblades illegal?\",\n  \"why do eustachian tubes get blocked?\",\n  \"why do yankees move south?\",\n  \"why is there time change?\",\n  \"why do glaciers retreat?\",\n  \"why is environmental science important?\",\n  \"why is there detergent in lysis buffer?\",\n  \"why are nvidia cards so hot?\",\n  \"why do fungi produce antibiotics?\",\n  \"why are there shadows?\",\n  \"why are psalm 14 and 53 the same?\",\n  \"why are there green potato chips?\",\n  \"why are there no music videos on mtv?\",\n  \"why are filipinos so rude?\",\n  \"why zfs is better than btrfs?\",\n  \"why are there ulcers on my tongue?\",\n  \"why is mbv so expensive?\",\n  \"why is there names on coke bottles?\",\n  \"why do we need fpga?\",\n  \"why is there open enrollment?\",\n  \"why do joints pop?\",\n  \"why are there circles in my photos?\",\n  \"why are iranians so smart?\",\n  \"why do organisms need food?\",\n  \"why are preservatives bad for you?\",\n  \"why is nevada battle born?\",\n  \"why is ecotourism important?\",\n  \"why are there so many swedish djs?\",\n  \"why is there evil if there is a god?\",\n  \"why are jim parsons hands always red?\",\n  \"why do illegals come to america?\",\n  \"why are wwe wrestlers getting smaller?\",\n  \"why is climate change happening?\",\n  \"why are dlp tvs good?\",\n  \"why do qbs slide?\",\n  \"why hello there dyrus gif?\",\n  \"why is there an iowa caucus?\",\n  \"why is there no mcdonalds in iceland?\",\n  \"why is hr interesting?\",\n  \"why is ubuntu popular?\",\n  \"why is ocd considered an anxiety disorder?\",\n  \"why is dhs buying up all the ammo?\",\n  \"why is there no oxygen in space?\",\n  \"why is there no bcs playoff?\",\n  \"why is there glucose in urine of diabetic person?\",\n  \"why do authors use motifs?\",\n  \"why are dyson fans so expensive?\",\n  \"why is there less gravity on the moon?\",\n  \"why is jsp bad?\",\n  \"why are there elliptical orbits?\",\n  \"why is leica so expensive?\",\n  \"why is sdram faster than dram?\",\n  \"why do tsunamis occur in hawaii?\",\n  \"why do fuses blow?\",\n  \"why are kids snorting condoms?\",\n  \"why do systems fail?\",\n  \"why is einthusan not working?\",\n  \"why are there ashes on ash wednesday?\",\n  \"why is cultural competence important?\",\n  \"why do excel files become corrupt?\",\n  \"why do rihanna and ciara have beef?\",\n  \"why do paul jr an?\",\n  \"why is hdl good?\",\n  \"why is the lg hx976tzw discontinued?\",\n  \"why are there police officers?\",\n  \"why is there osmotic pressure?\",\n  \"why is there illegal drugs?\",\n  \"why is there no f3- ion?\",\n  \"why do economists use economic indicators?\",\n  \"why there is kolaveri di song download?\",\n  \"why are centipedes in my house?\",\n  \"why is there a zara in australia?\",\n  \"why are okazaki fragments important?\",\n  \"why is there history?\",\n  \"why is mbti important?\",\n  \"why is pwc better than the other big 4?\",\n  \"why are there nerves in teeth?\",\n  \"why are there shoes in the road?\",\n  \"why is ibm stock down today?\",\n  \"why is there organ music at baseball games?\",\n  \"why are vw tdi so expensive?\",\n  \"why is facebook not working?\",\n  \"why do hps lights cycle?\",\n  \"why are tncs powerful?\",\n  \"why do girls play hard to get?\",\n  \"why is cbs logo an eye?\",\n  \"why is openoffice free?\",\n  \"why is bt internet so bad?\",\n  \"why do my bf and i always fight?\",\n  \"why is mt dew bad?\",\n  \"why is ian kinsler not playing?\",\n  \"why are fruits important?\",\n  \"why is there caffeine in migraine medicine?\",\n  \"why do odd future hate 2dopeboyz?\",\n  \"why is there a cj flag at comerica park?\",\n  \"why is nj so expensive?\",\n  \"why do doctors order cbc?\",\n  \"why are omega watches so expensive?\",\n  \"why do ignition coils go bad?\",\n  \"why are israelis so happy?\",\n  \"why are there particles in my urine?\",\n  \"why is kumud crying?\",\n  \"why are rcb in green?\",\n  \"why is there an e on my samsung phone?\",\n  \"why do llamas abort their fetus?\",\n  \"why do sitcoms have laugh tracks?\",\n  \"why is hdr bad?\",\n  \"why do ionic bonds form?\",\n  \"why is flaxseed good for you?\",\n  \"why are gpus faster than cpus?\",\n  \"why do oscars swim on their sides?\",\n  \"why is there miscommunication?\",\n  \"why is lh raised in pcos?\",\n  \"why are there one way streets?\",\n  \"why is reading good for you?\",\n  \"why is pwm used to control motors?\",\n  \"why do panic attacks happen?\",\n  \"why is tracy mcgrady not playing?\",\n  \"why are rights not absolute?\",\n  \"why are there volunteer firefighters?\",\n  \"why is energy a state function?\",\n  \"why are there air spaces between mesophyll cells?\",\n  \"why are there typewriters in the wire?\",\n  \"why do zucchini plants wilt?\",\n  \"why are orcas called killer whales?\",\n  \"why do ivy leaves turn yellow?\",\n  \"why are records called lp?\",\n  \"why are there only six jurors?\",\n  \"why are there helicopters at night?\",\n  \"why is nfp not contraception?\",\n  \"why are there ethics?\",\n  \"why are there so many khans?\",\n  \"why do child stars go crazy?\",\n  \"why do effervescent tablets bubble?\",\n  \"why is the moon red?\",\n  \"why are rain clouds dark?\",\n  \"why are there popular people?\",\n  \"why is avengers rated pg-13?\",\n  \"why is dmt so expensive?\",\n  \"why are hydrocarbons not soluble in water?\",\n  \"why are cleaning products bases?\",\n  \"why do i bruise so easily?\",\n  \"why is alcohol addictive?\",\n  \"why is inflation bad?\",\n  \"why do people hate the nra?\",\n  \"why do people do wudu?\",\n  \"why is there no porsche in gt5?\",\n  \"why are there so many pg-13 movies?\",\n  \"why do dead bodies smell?\",\n  \"why is there smoke in houston?\",\n  \"why do rt pcr?\",\n  \"why are ozone levels lower in the winter?\",\n  \"why is estimating important?\",\n  \"why do people need tpn?\",\n  \"why do republicans hate obama?\",\n  \"why are ie tabs different colors?\",\n  \"why are there uprisings in egypt?\",\n  \"why are cfcs dangerous?\",\n  \"why is bbc television centre closing?\",\n  \"why are vultures heads red?\",\n  \"why is nuclear energy good?\",\n  \"why is there two carolinas?\",\n  \"why are there nitrogen tanks on the street?\",\n  \"why is transportation important?\",\n  \"why is there ethics in business?\",\n  \"why is lake retba pink?\",\n  \"why is skype so laggy?\",\n  \"why do dogs eat q tips?\",\n  \"why do bones pop?\",\n  \"why is gf2 cheaper than gf1?\",\n  \"why is oatmeal good for your skin?\",\n  \"why is there ammonia in hair dye?\",\n  \"why are there no good ds emulators?\",\n  \"why are there no purple m&m\\\"s?\",\n  \"why are there worms in my pool?\",\n  \"why is there environmental issues?\",\n  \"why are there borders?\",\n  \"why are there more males in kuwait?\",\n  \"why do we use lb as an abbreviation for pound?\",\n  \"why is there overpopulation in developing countries?\",\n  \"why are people boycotting nv nightclub?\",\n  \"why do cfcs damage the ozone layer?\",\n  \"why is jimmie johnson so good?\",\n  \"why do lhasa apso lick?\",\n  \"why are elements important?\",\n  \"why is gfr low?\",\n  \"why do dslr have less zoom?\",\n  \"why is pfizer successful?\",\n  \"why do hsa?\",\n  \"why do opposite charges attract?\",\n  \"why do gnats swarm?\",\n  \"why do you get canker sores?\",\n  \"why are emails sitting in my outbox?\",\n  \"why is there a spread between wti and brent?\",\n  \"why are there 100 counties in nc?\",\n  \"why is utorrent not downloading?\",\n  \"why is there no music on vuze?\",\n  \"why is qbasic important?\",\n  \"why are aggies so annoying?\",\n  \"why do cats like boxes?\",\n  \"why are we attracted to certain people?\",\n  \"why do gluten free?\",\n  \"why is gnome spelled with a g?\",\n  \"why do newborns shake?\",\n  \"why is ewen holding robin on gh?\",\n  \"why are airplanes so safe?\",\n  \"why do dandelions grow so fast?\",\n  \"why do ur eyes twitch?\",\n  \"why are there unown pokemon?\",\n  \"why do men get morning wood?\",\n  \"why are ghosts real?\",\n  \"why is wrigley field so famous?\",\n  \"why are there captchas on omegle?\",\n  \"why are there may day protests?\",\n  \"why xna is bad?\",\n  \"why is diotima a woman?\",\n  \"why are there ip classes?\",\n  \"why is dbsk so popular?\",\n  \"why is bf3 trigonal planar?\",\n  \"why do bpd lie so much?\",\n  \"why are nested if statements bad?\",\n  \"why do aortic aneurysms occur?\",\n  \"why is there lightning?\",\n  \"why are nz so good at rugby?\",\n  \"why is there jury?\",\n  \"why is printer offline?\",\n  \"why is there a countdown on ebay?\",\n  \"why is protein important?\",\n  \"why do circuit breakers trip?\",\n  \"why is ndtv imagine shut down?\",\n  \"why is there red dirt in oklahoma?\",\n  \"why are kwl charts important?\",\n  \"why is oyster creek shutting down?\",\n  \"why do texas schools start in august?\",\n  \"why is there turbulence in airplanes?\",\n  \"why are there riots in belfast?\",\n  \"why is flag at half mast?\",\n  \"why do elephants like peanuts?\",\n  \"why are the fsu colors garnet and gold?\",\n  \"why are emo kids so annoying?\",\n  \"why there is wonly vun rajini?\",\n  \"why do filipinos speak english?\",\n  \"why do people use rt on twitter?\",\n  \"why is ksi banned from eurogamer?\",\n  \"why is active listening important?\",\n  \"why uiscrollview is not scrolling?\",\n  \"why do women have periods?\",\n  \"why is art history important?\",\n  \"why do volunteer work?\",\n  \"why do people hate lgbt?\",\n  \"why is nancy grace so rude?\",\n  \"why are race cars rwd?\",\n  \"why are ships called her?\",\n  \"why is there bumps on my arm?\",\n  \"why is norton so bad?\",\n  \"why do horses whinny?\",\n  \"why do cna\\\"s make so little?\",\n  \"why are there so many flies in az?\",\n  \"why are there arabs in north africa?\",\n  \"why is hfcs so cheap?\",\n  \"why are there skill testing questions on prizes?\",\n  \"why do jwoww and tom break up?\",\n  \"why is knowing yourself important?\",\n  \"why is there 16 teams in the nl?\",\n  \"why do cyclones form?\",\n  \"why do writers use metaphors?\",\n  \"why is bf3 rated m?\",\n  \"why are there estate sales?\",\n  \"why do you call it bw3s?\",\n  \"why do npc villagers disappeared?\",\n  \"why are lysosomes called suicidal bags?\",\n  \"why are ehealth applications important?\",\n  \"why is there scaffolding in nyc?\",\n  \"why is oglaf down?\",\n  \"why are there names on paper bags?\",\n  \"why is pdf used?\",\n  \"why is there immigration?\",\n  \"why are dbm negative?\",\n  \"why do massages feel so good?\",\n  \"why are kbb and edmunds different?\",\n  \"why are men on the dl?\",\n  \"why do restaurants fail?\",\n  \"why do the balls of my feet hurt?\",\n  \"why do bees make honey?\",\n  \"why are there dark spots on my eyes?\",\n  \"why is history important?\",\n  \"why vfd is used in motors?\",\n  \"why do you need dfu mode?\",\n  \"why are nfl players wearing mhk?\",\n  \"why is there no gs-10?\",\n  \"why is there now 13 zodiac signs?\",\n  \"why are oil prices falling?\",\n  \"why do boys take so long?\",\n  \"why is there no effect of glucagon on muscle?\",\n  \"why are bonds dropping?\",\n  \"why do krux trucks have a hole?\",\n  \"why do nipples get bumps?\",\n  \"why are upfront collections important to a practice?\",\n  \"why are my ears oozing?\",\n  \"why are snow leopards important?\",\n  \"why are hyphens used?\",\n  \"why do they do wudu?\",\n  \"why is young scooter locked up?\",\n  \"why are there upgrade fees?\",\n  \"why are dvds so quiet?\",\n  \"why do people buy pt cruisers?\",\n  \"why is there an error when i sync my ipod?\",\n  \"why do kleptomaniacs steal?\",\n  \"why do xylem have pits?\",\n  \"why is there awkward tension?\",\n  \"why do mri?\",\n  \"why are photosynthetic organisms called producers?\",\n  \"why are there ads everywhere?\",\n  \"why are unions good?\",\n  \"why is there no iphone for tmobile?\",\n  \"why are ozone generators dangerous?\",\n  \"why do we do this cg and i?\",\n  \"why is there gnats in my shower?\",\n  \"why do we need xml?\",\n  \"why do oscar fish change colors?\",\n  \"why is there spanish in bleach?\",\n  \"why do the ewell?\",\n  \"why do apple seeds contain cyanide?\",\n  \"why are there languages?\",\n  \"why is our blood blue?\",\n  \"why is wheat bad?\",\n  \"why are there poor countries?\",\n  \"why are there quilt signs on barns?\",\n  \"why is cbc test done?\",\n  \"why is jquery so hard?\",\n  \"why is cranberry good for uti?\",\n  \"why is fm clearer than am?\",\n  \"why is yuno crazy?\",\n  \"why are there earthquakes in hawaii?\",\n  \"why are there kings and queens in europe?\",\n  \"why is there opposition to globalization?\",\n  \"why do rv refrigerators need to be level?\",\n  \"why is there economics?\",\n  \"why is there inflation?\",\n  \"why is e ix periodic?\",\n  \"why is there no jack in the box in utah?\",\n  \"why is omega 6 bad?\",\n  \"why is iggy pop in the new chrysler commercial?\",\n  \"why do cbc before surgery?\",\n  \"why do psychologists prefer the normal distribution?\",\n  \"why is iron needed in the body?\",\n  \"why are uggs popular?\",\n  \"why are credit unions tax exempt?\",\n  \"why do eyes change color?\",\n  \"why is there millipedes in my house?\",\n  \"why are other people so pretty?\",\n  \"why are there courtroom sketches?\",\n  \"why is candy crush so slow?\",\n  \"why is tcu\\\"s mascot the horned frog?\",\n  \"why are there small bumps on my nose?\",\n  \"why are labradors so hyper?\",\n  \"why are there still eunuchs in india?\",\n  \"why are there no azaleas at the masters?\",\n  \"why are gps so expensive?\",\n  \"why are love bugs connected?\",\n  \"why is eating meat bad for you?\",\n  \"why are there so many mlb games?\",\n  \"why do smokers lose weight?\",\n  \"why is kbr an electrolyte?\",\n  \"why is polygamy illegal?\",\n  \"why do i keep ringing me?\",\n  \"why are there vowels?\",\n  \"why are animals endangered?\",\n  \"why are there lumps in my earlobes?\",\n  \"why are we born?\",\n  \"why is laughter contagious?\",\n  \"why is there hyperreflexia in umn lesions?\",\n  \"why is ncis going off the air?\",\n  \"why is there cellulite?\",\n  \"why do sneezes stink?\",\n  \"why do tonsil stones form?\",\n  \"why are pumas endangered?\",\n  \"why is offensive humor funny?\",\n  \"why is lyrica a narcotic?\",\n  \"why do bf like?\",\n  \"why is there a lynx final edition?\",\n  \"why is mlk influential?\",\n  \"why are there civil wars in africa?\",\n  \"why do italians live longer?\",\n  \"why is dolly a clone?\",\n  \"why is dpip used instead of nadp?\",\n  \"why is zelda 2 so hard?\",\n  \"why are cds so expensive in japan?\",\n  \"why is there abuse in the catholic church?\",\n  \"why is soy bad for men?\",\n  \"why are avocados green?\",\n  \"why is yugioh so expensive?\",\n  \"why do turtles bask?\",\n  \"why are vw transporters so expensive?\",\n  \"why do izzie and alex break up?\",\n  \"why are iboutlets weak?\",\n  \"why are there no krispy kreme donuts in houston?\",\n  \"why is there arsenic in chicken?\",\n  \"why is y mx c?\",\n  \"why are the nra pro guns?\",\n  \"why is there cuss words?\",\n  \"why are cops called one time?\",\n  \"why is nafta bad?\",\n  \"why is verizon 3g so slow?\",\n  \"why are there ridges on the inside of the pig\\\"s stomach?\",\n  \"why do republicans like ayn rand?\",\n  \"why do leaves change color in the fall?\",\n  \"why is mhk on patriots uniforms?\",\n  \"why is nf3 stronger than ni3?\",\n  \"why is ucla so popular?\",\n  \"why is there dust on my hairbrush?\",\n  \"why do mockingbirds sing at night?\",\n  \"why are there multiple svchost?\",\n  \"why is virginia for lovers?\",\n  \"why is there guantanamo bay?\",\n  \"why do cyclones occur?\",\n  \"why do obese people get boils?\",\n  \"why is there obesity in the world?\",\n  \"why are there protests in cairo?\",\n  \"why do uk people put x?\",\n  \"why is ifile rated 17+?\",\n  \"why is qbe share price dropping?\",\n  \"why is ezreal so popular?\",\n  \"why are ktm\\\"s so good?\",\n  \"why is apple mail so slow?\",\n  \"why do you like ubuntu?\",\n  \"why is there natural evil in the world?\",\n  \"why are rdw high?\",\n  \"why are there ads on google search?\",\n  \"why are there identical twins?\",\n  \"why are there so many idiots on youtube?\",\n  \"why are tsunamis hard to detect in the open ocean?\",\n  \"why is fsx so laggy?\",\n  \"why is mf doom a no show?\",\n  \"why do companies buy back shares?\",\n  \"why is dbz so slow?\",\n  \"why are girls on fb posting inches?\",\n  \"why do people love xp?\",\n  \"why is there tape on hockey sticks?\",\n  \"why is there clicking in my knee?\",\n  \"why are there two yugi\\\"s?\",\n  \"why is fsx so slow?\",\n  \"why do pms symptoms mimic pregnancy?\"\n]\n"
  },
  {
    "path": "packages/utils/database/index.ts",
    "content": "// Settings\nexport * from \"./settings/XPSettings\";\n\n// Logs\nexport * from \"./logs/events\";\nexport * from \"./logs/fetchLogs\";\nexport * from \"./logs/createLog\";\nexport * from \"./logs/getGuildLogSettings\";\n\n// AutoMod\nexport * from \"./moderation/automod/createDatabaseAutoModRule\";\nexport * from \"./moderation/automod/deleteDatabaseAutoModRule\";\nexport * from \"./moderation/automod/fetchDatabaseAutoModRules\";\nexport * from \"./moderation/automod/syncDatabaseAutoModRule\";\nexport * from \"./moderation/automod/updateDatabaseAutoModRule\";\n\n// Warnings\nexport * from \"./moderation/warn/warnUser\";\nexport * from \"./moderation/warn/clearWarns\";\nexport * from \"./moderation/warn/listWarns\";\nexport * from \"./moderation/warn/removeWarn\";\n\n// XP\nexport * from \"./xp/checkXP\";\nexport * from \"./xp/resetXP\";\n\n// Reputation\nexport * from \"./reputation/checkReputation\";\nexport * from \"./reputation/giveReputation\";\nexport * from \"./reputation/takeReputation\";\nexport * from \"./reputation/setReputation\";\n\n// User\nexport * from \"./user/createUser\";\n"
  },
  {
    "path": "packages/utils/database/logs/createLog.ts",
    "content": "import prisma from \"@majoexe/database\";\nimport type { Prisma } from \"@majoexe/database/types\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function createLog(guildId: Snowflake, userId: Snowflake, data: Omit<Prisma.GuildLogsCreateInput, \"id\" | \"guild\" | \"user\" | \"authorId\" | \"createdAt\">) {\n  try {\n    await prisma.guildLogs.create({\n      data: {\n        guild: {\n          connectOrCreate: {\n            where: {\n              guildId,\n            },\n            create: {\n              guildId,\n            },\n          },\n        },\n        user: {\n          connectOrCreate: {\n            where: {\n              discordId: userId,\n            },\n            create: {\n              discordId: userId,\n              name: \"Unknown\",\n              discriminator: \"0000\",\n              global_name: \"Unknown#0000\",\n            },\n          },\n        },\n\n        ...data,\n      },\n    });\n  } catch (e) {\n    console.log(\"Failed to create log:\", e);\n    throw e;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/logs/events.ts",
    "content": "import { GuildLogType } from \"@majoexe/database/types\";\n\n/**\n * Events that can't be triggered by Discord.js\n */\nexport const CustomEvents: GuildLogType[] = [\n  // prettier\n  GuildLogType.PublicDashboardUpdate,\n  GuildLogType.VanityUpdate,\n  GuildLogType.EmbedColorUpdate,\n  GuildLogType.CommandCategoryEnable,\n  GuildLogType.CommandCategoryDisable,\n  GuildLogType.CommandEnable,\n  GuildLogType.CommandDisable,\n  GuildLogType.GiveawayCreate,\n  GuildLogType.GiveawayDelete,\n  GuildLogType.GiveawayEdit,\n  GuildLogType.GiveawayPaused,\n  GuildLogType.GiveawayResumed,\n  GuildLogType.GiveawayEnded,\n  GuildLogType.WelcomeMessageEnable,\n  GuildLogType.WelcomeMessageDisable,\n  GuildLogType.LeaveMessageEnable,\n  GuildLogType.LeaveMessageDisable,\n  GuildLogType.ReputationUpdate,\n  GuildLogType.WarnCreate,\n  GuildLogType.WarnDelete,\n  GuildLogType.WarnUpdate,\n\n  GuildLogType.LogUpdate,\n\n  GuildLogType.Unknown,\n];\n\n/**\n * Events that can't be enabled/disabled by the dashboard\n */\nexport const ExcludedEvents: GuildLogType[] = [\n  // prettier\n  GuildLogType.MessageCreate,\n\n  GuildLogType.GuildMemberAdd,\n  GuildLogType.GuildMemberRemove,\n\n  // WORK IN PROGRESS\n  GuildLogType.AutoModerationActionExecution,\n  GuildLogType.AutoModerationRuleCreate,\n  GuildLogType.AutoModerationRuleDelete,\n  GuildLogType.AutoModerationRuleUpdate,\n\n  GuildLogType.GuildScheduledEventCreate,\n  GuildLogType.GuildScheduledEventDelete,\n  GuildLogType.GuildScheduledEventUpdate,\n  GuildLogType.GuildScheduledEventUserAdd,\n  GuildLogType.GuildScheduledEventUserRemove,\n\n  GuildLogType.ThreadCreate,\n  GuildLogType.ThreadDelete,\n  GuildLogType.ThreadMembersUpdate,\n  GuildLogType.ThreadMemberUpdate,\n  GuildLogType.ThreadUpdate,\n  // -------------------\n\n  // Exclude custom events\n  ...CustomEvents,\n];\n"
  },
  {
    "path": "packages/utils/database/logs/fetchLogs.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function fetchLogs(guildId: Snowflake, page: number, count = 20) {\n  try {\n    const logs = await prismaClient.guildLogs.findMany({\n      where: {\n        guildId,\n      },\n      take: count,\n      skip: (page - 1) * count,\n      orderBy: {\n        createdAt: \"asc\",\n      },\n      include: {\n        user: true,\n      },\n    });\n\n    return logs;\n  } catch (e) {\n    console.log(\"Failed to fetch logs:\", e);\n    throw e;\n  }\n}\n\nexport async function countLogs(guildId: Snowflake) {\n  try {\n    const logs = await prismaClient.guildLogs.count({\n      where: {\n        guildId,\n      },\n    });\n\n    return logs;\n  } catch (e) {\n    console.log(\"Failed to count logs:\", e);\n    throw e;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/logs/getGuildLogSettings.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { GuildLogType } from \"@majoexe/database/types\";\nimport { Snowflake } from \"discord.js\";\n\nexport async function getGuildLogSettings(guildId: Snowflake, type: GuildLogType) {\n  try {\n    const settings = await prismaClient.guildLogsSettings.findFirst({\n      where: {\n        guildId,\n        type,\n      },\n    });\n\n    return settings;\n  } catch (e) {\n    console.log(\"Failed to get guild log settings:\", e);\n    throw e;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/automod/createDatabaseAutoModRule.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord.js\";\n\nexport async function createDatabaseAutoModRule(guildId: Snowflake, ruleId: Snowflake, ruleType: string) {\n  try {\n    await prismaClient.autoMod.create({\n      data: {\n        guildId,\n        ruleId,\n        ruleType,\n      },\n    });\n  } catch (error) {\n    console.error(\"Failed to create automod rule: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/automod/deleteDatabaseAutoModRule.ts",
    "content": "import prisma from \"@majoexe/database\";\nimport { Snowflake } from \"discord.js\";\n\nexport async function deleteDatabaseAutoModRule(guildId: Snowflake, ruleId: Snowflake) {\n  try {\n    await prisma.autoMod.deleteMany({\n      where: {\n        guildId,\n        ruleId,\n      },\n    });\n  } catch (error) {\n    console.error(\"Failed to delete automod rule: \", error);\n\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/automod/fetchDatabaseAutoModRules.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { AutoMod } from \"@majoexe/database/types\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function fetchDatabaseAutoModRules(guildId: Snowflake) {\n  try {\n    const rules = await prismaClient.autoMod.findMany({\n      where: {\n        guildId,\n      },\n    });\n\n    return rules;\n  } catch (error) {\n    console.error(\"Failed to fetch automod rules: \", error);\n    throw error;\n  }\n}\n\nexport async function fetchDatabaseAutoModRule(guildId: Snowflake, ruleId: AutoMod[\"ruleId\"]) {\n  try {\n    const rule = await prismaClient.autoMod.findFirst({\n      where: {\n        guildId,\n        ruleId,\n      },\n    });\n\n    return rule;\n  } catch (error) {\n    console.error(\"Failed to fetch automod rule: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/automod/index.ts",
    "content": "export * from \"./createDatabaseAutoModRule\";\nexport * from \"./deleteDatabaseAutoModRule\";\nexport * from \"./fetchDatabaseAutoModRules\";\nexport * from \"./syncDatabaseAutoModRule\";\nexport * from \"./updateDatabaseAutoModRule\";\n"
  },
  {
    "path": "packages/utils/database/moderation/automod/syncDatabaseAutoModRule.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport type { AutoMod } from \"@majoexe/database/types\";\nimport { Snowflake } from \"discord-api-types/globals\";\nimport { RESTError, RESTGetAPIAutoModerationRuleResult } from \"discord-api-types/v10\";\nimport { deleteDatabaseAutoModRule } from \"./deleteDatabaseAutoModRule\";\nimport { fetchDatabaseAutoModRules } from \"./fetchDatabaseAutoModRules\";\n\nexport async function syncDatabaseAutoModRule(guildId: Snowflake, ruleType: AutoMod[\"ruleType\"]) {\n  const rules = await fetchDatabaseAutoModRules(guildId);\n  const createdRule = rules.find((rule) => rule.ruleType === ruleType);\n\n  if (createdRule) {\n    try {\n      const existingRuleFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${guildId}/auto-moderation/rules/${createdRule.ruleId}`, {\n        method: \"GET\",\n        headers: {\n          Authorization: `Bot ${process.env.TOKEN}`,\n          \"Content-Type\": \"application/json\",\n        },\n      });\n\n      if (!existingRuleFetch.ok) {\n        await deleteDatabaseAutoModRule(guildId, createdRule.ruleId);\n        return null;\n      }\n\n      const existingRule = (await existingRuleFetch.json()) as RESTGetAPIAutoModerationRuleResult | RESTError;\n\n      if (\"code\" in existingRule) {\n        await deleteDatabaseAutoModRule(guildId, createdRule.ruleId);\n        return null;\n      }\n\n      if (!existingRule || !existingRule.id) {\n        await deleteDatabaseAutoModRule(guildId, createdRule.ruleId);\n        return null;\n      } else {\n        return existingRule;\n      }\n    } catch (_err) {\n      await deleteDatabaseAutoModRule(guildId, createdRule.ruleId);\n      return null;\n    }\n  } else {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/automod/updateDatabaseAutoModRule.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord.js\";\n\nexport async function updateDatabaseAutoModRule(guildId: Snowflake, ruleId: Snowflake, ruleType: string) {\n  try {\n    await prismaClient.autoMod.update({\n      where: {\n        ruleId,\n      },\n      data: {\n        guildId,\n        ruleId,\n        ruleType,\n      },\n    });\n  } catch (error) {\n    console.error(\"Failed to update automod rule: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/warn/clearWarns.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function clearWarns(userId: Snowflake, guildId: Snowflake) {\n  try {\n    const allWarnings = await prismaClient.guildWarns.deleteMany({\n      where: {\n        guildId,\n        user: {\n          discordId: userId,\n        },\n      },\n    });\n\n    return allWarnings?.count || 0;\n  } catch (error) {\n    console.error(\"Failed to clear warns:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/warn/listWarns.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function listWarns(guildId: Snowflake, userId: Snowflake) {\n  try {\n    const warnings = await prismaClient.guildWarns.findMany({\n      where: {\n        guildId,\n        user: {\n          discordId: userId,\n        },\n      },\n    });\n\n    return warnings;\n  } catch (error) {\n    console.error(\"Failed to list warnings:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/warn/removeWarn.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { GuildWarns } from \"@majoexe/database/types\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function removeWarn(guildId: Snowflake, userId: Snowflake, warnId: GuildWarns[\"warnId\"]) {\n  try {\n    const warning = await prismaClient.guildWarns.findFirst({\n      where: {\n        guildId,\n        user: {\n          discordId: userId,\n        },\n        warnId,\n      },\n    });\n\n    if (!warning) return false;\n\n    await prismaClient.guildWarns.delete({\n      where: {\n        id: warning.id,\n      },\n    });\n\n    return warning;\n  } catch (error) {\n    console.error(\"Failed to remove warning: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/moderation/warn/warnUser.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { APIUser, Snowflake } from \"discord-api-types/v10\";\nimport type { User } from \"discord.js\";\nimport { isAPIUser } from \"../../../functions/user\";\n\nexport async function warnUser(guildId: Snowflake, user: APIUser | User, reason: string, warnedBy: Snowflake) {\n  try {\n    const globalName = (isAPIUser(user) ? user.global_name : user.globalName) || user.username;\n    const warning = await prismaClient.guildWarns.findMany({\n      where: {\n        guildId,\n        user: {\n          discordId: user.id,\n        },\n      },\n      take: 1,\n      orderBy: {\n        warnId: \"desc\",\n      },\n    });\n\n    const warnNumber = warning && warning[0] ? (warning.length === 0 ? 1 : warning[0].warnId + 1) : 1;\n\n    const createdWarning = await prismaClient.guildWarns.create({\n      data: {\n        guild: {\n          connectOrCreate: {\n            where: {\n              guildId,\n            },\n            create: {\n              guildId,\n            },\n          },\n        },\n        user: {\n          connectOrCreate: {\n            where: {\n              discordId: user.id,\n            },\n            create: {\n              discordId: user.id,\n              name: user.username,\n              global_name: globalName,\n              discriminator: user.discriminator,\n            },\n          },\n        },\n        warnId: warnNumber,\n        message: reason,\n        createdById: warnedBy,\n      },\n    });\n\n    return createdWarning;\n  } catch (error) {\n    console.error(\"Failed to warn user: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/reputation/checkReputation.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function checkReputation(userId: Snowflake, guildId: Snowflake) {\n  try {\n    const rep = await prismaClient.reputation.findFirst({\n      where: {\n        guildId,\n        userId,\n      },\n    });\n\n    if (!rep) return 0;\n    return rep.reputation || 0;\n  } catch (error) {\n    console.error(\"Failed to check reputation:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/reputation/giveReputation.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { APIUser, Snowflake } from \"discord-api-types/v10\";\nimport type { User } from \"discord.js\";\nimport { isAPIUser } from \"../../functions/user\";\n\nexport async function giveReputation(user: APIUser | User, guildId: Snowflake) {\n  try {\n    const globalName = (isAPIUser(user) ? user.global_name : user.globalName) || user.username;\n\n    const rep = await prismaClient.reputation.findFirst({\n      where: {\n        guildId,\n        userId: user.id,\n      },\n    });\n\n    if (!rep) {\n      await prismaClient.reputation.create({\n        data: {\n          guild: {\n            connectOrCreate: {\n              where: {\n                guildId,\n              },\n              create: {\n                guildId,\n              },\n            },\n          },\n          user: {\n            connectOrCreate: {\n              where: {\n                discordId: user.id,\n              },\n              create: {\n                discordId: user.id,\n                name: user.username,\n                global_name: globalName,\n                avatar: user.avatar,\n                discriminator: user.discriminator,\n              },\n            },\n          },\n          reputation: 1,\n        },\n      });\n      return 1;\n    }\n\n    // 32-bit integer limit\n    if (rep.reputation >= 2147483647) {\n      return rep.reputation;\n    }\n\n    await prismaClient.reputation.update({\n      where: {\n        id: rep.id,\n      },\n      data: {\n        reputation: rep.reputation + 1,\n      },\n    });\n\n    return rep.reputation + 1;\n  } catch (error) {\n    console.error(\"Failed to give reputation:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/reputation/setReputation.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { APIUser, Snowflake } from \"discord-api-types/v10\";\nimport type { User } from \"discord.js\";\nimport { isAPIUser } from \"../../functions/user\";\n\nexport async function setReputation(user: APIUser | User, guildId: Snowflake, amount: number): Promise<number> {\n  try {\n    const globalName = (isAPIUser(user) ? user.global_name : user.globalName) || user.username;\n\n    const rep = await prismaClient.reputation.findFirst({\n      where: {\n        guildId,\n        userId: user.id,\n      },\n    });\n\n    if (!rep) {\n      await prismaClient.reputation.create({\n        data: {\n          guild: {\n            connectOrCreate: {\n              where: {\n                guildId,\n              },\n              create: {\n                guildId,\n              },\n            },\n          },\n          user: {\n            connectOrCreate: {\n              where: {\n                discordId: user.id,\n              },\n              create: {\n                discordId: user.id,\n                name: user.username,\n                global_name: globalName,\n                avatar: user.avatar,\n                discriminator: user.discriminator,\n              },\n            },\n          },\n          reputation: amount,\n        },\n      });\n      return amount;\n    }\n\n    await prismaClient.reputation.update({\n      where: {\n        id: rep.id,\n      },\n      data: {\n        reputation: amount,\n      },\n    });\n\n    return amount;\n  } catch (error) {\n    console.error(\"Failed to set reputation:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/reputation/takeReputation.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { APIUser, Snowflake } from \"discord-api-types/v10\";\nimport type { User } from \"discord.js\";\nimport { isAPIUser } from \"../../functions/user\";\n\nexport async function takeReputation(user: APIUser | User, guildId: Snowflake) {\n  try {\n    const globalName = (isAPIUser(user) ? user.global_name : user.globalName) || user.username;\n    const rep = await prismaClient.reputation.findFirst({\n      where: {\n        guildId,\n        userId: user.id,\n      },\n    });\n\n    if (!rep) {\n      await prismaClient.reputation.create({\n        data: {\n          guild: {\n            connectOrCreate: {\n              where: {\n                guildId,\n              },\n              create: {\n                guildId,\n              },\n            },\n          },\n          user: {\n            connectOrCreate: {\n              where: {\n                discordId: user.id,\n              },\n              create: {\n                discordId: user.id,\n                name: user.username,\n                global_name: globalName,\n                avatar: user.avatar,\n                discriminator: user.discriminator,\n              },\n            },\n          },\n          reputation: 0,\n        },\n      });\n      return 0;\n    }\n\n    await prismaClient.reputation.update({\n      where: {\n        id: rep.id,\n      },\n      data: {\n        reputation: rep.reputation - 1,\n      },\n    });\n\n    return rep.reputation - 1;\n  } catch (error) {\n    console.error(\"Failed to take reputation:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/settings/XPSettings.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function fetchXPSettings(guildId: Snowflake) {\n  try {\n    const guild = await prismaClient.guild.findUnique({\n      where: {\n        guildId,\n      },\n    });\n\n    if (!guild) {\n      await prismaClient.guild.create({\n        data: {\n          guildId,\n        },\n      });\n\n      return {\n        enableXP: true,\n        enableXPLastChanged: new Date(),\n        enableXPLevelUpMessage: true,\n        enableXPLevelUpMessageLastChanged: new Date(),\n      };\n    }\n\n    return {\n      enableXP: guild.enableXP,\n      enableXPLastChanged: guild.enableXPLastChanged,\n      enableXPLevelUpMessage: guild.enableXPLevelUpMessage,\n      enableXPLevelUpMessageLastChanged: guild.enableXPLevelUpMessageLastChanged,\n    };\n  } catch (error) {\n    console.log(\"Failed to fetch xp settings:\", error);\n    throw error;\n  }\n}\n\nexport async function setXPSettings(guildId: Snowflake, enableXP: boolean) {\n  try {\n    await prismaClient.guild.update({\n      where: {\n        guildId,\n      },\n      data: {\n        enableXP,\n        enableXPLastChanged: new Date(),\n      },\n    });\n\n    return true;\n  } catch (error) {\n    console.log(\"Failed to set xp settings:\", error);\n    throw error;\n  }\n}\n\nexport async function setXPLevelUpMessageSettings(guildId: Snowflake, enableXPLevelUpMessage: boolean) {\n  try {\n    await prismaClient.guild.update({\n      where: {\n        guildId,\n      },\n      data: {\n        enableXPLevelUpMessage,\n        enableXPLevelUpMessageLastChanged: new Date(),\n      },\n    });\n\n    return true;\n  } catch (error) {\n    console.log(\"Failed to set xp level up message:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/user/createUser.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport type { APIUser } from \"discord-api-types/v10\";\nimport type { User } from \"discord.js\";\nimport { isAPIUser } from \"../../functions/user\";\n\nexport async function createUser(user: APIUser | User) {\n  try {\n    const globalName = (isAPIUser(user) ? user.global_name : user.globalName) || user.username;\n\n    const createdUser = await prismaClient.user.upsert({\n      where: {\n        discordId: user.id,\n      },\n      update: {\n        name: user.username,\n        global_name: globalName,\n        avatar: user.avatar,\n        discriminator: user.discriminator,\n      },\n      create: {\n        discordId: user.id,\n        name: user.username,\n        global_name: globalName,\n        avatar: user.avatar,\n        discriminator: user.discriminator,\n      },\n    });\n    return createdUser;\n  } catch (error) {\n    console.log(\"Failed to create user:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/xp/checkXP.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function checkXP(userId: Snowflake, guildId: Snowflake) {\n  try {\n    const xp = await prismaClient.guildXp.findFirst({\n      where: {\n        guildId,\n        userId,\n      },\n    });\n\n    if (!xp) return 0;\n    return xp.xp || 0;\n  } catch (error) {\n    console.error(\"Failed to check XP:\", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/database/xp/resetXP.ts",
    "content": "import prismaClient from \"@majoexe/database\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function resetXP(userId: Snowflake, guildId: Snowflake) {\n  try {\n    const deleteAction = await prismaClient.guildXp.deleteMany({\n      where: {\n        guildId,\n        userId,\n      },\n    });\n\n    return deleteAction.count || 0;\n  } catch (e) {\n    console.log(\"Failed to reset XP:\", e);\n    throw e;\n  }\n}\n"
  },
  {
    "path": "packages/utils/embeds/createErrorEmbed.ts",
    "content": "import { EmbedBuilder } from \"discord.js\";\n\nexport function createErrorEmbed(description: string, title?: string): EmbedBuilder {\n  const embed = new EmbedBuilder() // prettier\n    .setColor(\"#EF4444\")\n    .setDescription(`> ${description.slice(0, 2048)}${description.length > 2048 ? \"...\" : \"\"}`)\n    .setTimestamp();\n  if (title) embed.setTitle(`❌ ${title}`);\n\n  return embed;\n}\n"
  },
  {
    "path": "packages/utils/embeds/index.ts",
    "content": "export * from \"./createErrorEmbed.js\";\n"
  },
  {
    "path": "packages/utils/functions/automod/createDiscordAutoModRule.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { type APIAutoModerationRule, AutoModerationRuleTriggerType } from \"discord-api-types/v10\";\nimport { createDatabaseAutoModRule, syncDatabaseAutoModRule, updateDatabaseAutoModRule } from \"../../database\";\nimport { deleteDiscordAutoModRules } from \"./deleteDiscordAutoModRule\";\nimport { fetchDiscordAutoModRules } from \"./fetchDiscordAutoModRules\";\n\nexport async function createDiscordAutoModRule(serverId: string, ruleType: string, ruleData: Omit<APIAutoModerationRule, \"id\" | \"guild_id\">) {\n  const existingRule = await syncDatabaseAutoModRule(serverId, ruleType);\n  const discordRules = await fetchDiscordAutoModRules(serverId);\n\n  const conflictingKeywordRules = discordRules.filter((rule) => rule.trigger_type === AutoModerationRuleTriggerType.Keyword);\n  const conflictingSpamRules = discordRules.filter((rule) => rule.trigger_type === AutoModerationRuleTriggerType.Spam);\n\n  if (conflictingKeywordRules.length === 6 && ruleData.enabled) {\n    return {\n      error: \"You can only have 6 keyword rules enabled at once. Please disable one of the existing keyword rules before enabling this one.\",\n      code: 400,\n    };\n  }\n\n  if (conflictingSpamRules.length > 0 && ruleData.enabled) {\n    const first = conflictingSpamRules[0] as APIAutoModerationRule;\n    await deleteDiscordAutoModRules(serverId, first.id);\n  }\n\n  if (existingRule) {\n    const discordRequest = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${serverId}/auto-moderation/rules/${existingRule.id}`, {\n      method: \"PATCH\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify(ruleData),\n    });\n\n    if (!discordRequest.ok) {\n      try {\n        const errorData = await discordRequest.json();\n        console.error(\"Discord API Error:\", errorData);\n      } catch (e) {\n        console.error(\"Failed to parse Discord API error response:\", e);\n      }\n      return {\n        error: \"Something went wrong while trying to update auto moderation\",\n        code: 500,\n      };\n    }\n\n    await updateDatabaseAutoModRule(serverId, existingRule.id, ruleType);\n\n    return {\n      error: null,\n      code: 200,\n    };\n  } else {\n    const discordRequest = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${serverId}/auto-moderation/rules`, {\n      method: \"POST\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n        \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify(ruleData),\n    });\n\n    if (!discordRequest.ok) {\n      return {\n        error: \"Something went wrong while trying to update auto moderation\",\n        code: 500,\n      };\n    }\n\n    const discordData = (await discordRequest.json()) as APIAutoModerationRule;\n    await createDatabaseAutoModRule(serverId, discordData.id, ruleType);\n\n    return {\n      error: null,\n      code: 200,\n    };\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/automod/deleteDiscordAutoModRule.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { Snowflake } from \"discord.js\";\n\nexport async function deleteDiscordAutoModRules(guildId: Snowflake, ruleId: Snowflake) {\n  try {\n    const deleteRequest = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${guildId}/auto-moderation/rules/${ruleId}`, {\n      method: \"DELETE\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n        \"Content-Type\": \"application/json\",\n      },\n    });\n\n    return deleteRequest.ok;\n  } catch (error) {\n    console.error(\"Failed to delete automod rule: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/automod/fetchDiscordAutoModRules.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { RESTError, APIAutoModerationRule } from \"discord-api-types/v10\";\nimport { Snowflake } from \"discord.js\";\n\nexport async function fetchDiscordAutoModRules(guildId: Snowflake) {\n  try {\n    const autoModRulesFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${guildId}/auto-moderation/rules`, {\n      method: \"GET\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n        \"Content-Type\": \"application/json\",\n      },\n    });\n\n    if (!autoModRulesFetch.ok) return [];\n\n    const autoModRules = (await autoModRulesFetch.json()) as APIAutoModerationRule[] | RESTError;\n\n    if (\"code\" in autoModRules) return [];\n\n    return autoModRules;\n  } catch (error) {\n    console.error(\"Failed to fetch automod rules: \", error);\n    throw error;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/automod/index.ts",
    "content": "export * from \"./createDiscordAutoModRule\";\nexport * from \"./validateAutoModIgnores\";\nexport * from \"./validateAutoModRuleActions\";\nexport * from \"./types\";\n"
  },
  {
    "path": "packages/utils/functions/automod/types.ts",
    "content": "import type { Snowflake, APIAutoModerationAction } from \"discord-api-types/v10\";\n\nexport interface AutoModerationRuleCreationData {\n  id: Snowflake;\n  enabled: boolean;\n  exemptRoles: Snowflake[];\n  exemptChannels: Snowflake[];\n  actions: APIAutoModerationAction[];\n  limit?: number;\n}\n"
  },
  {
    "path": "packages/utils/functions/automod/validateAutoModIgnores.ts",
    "content": "import { APIGuildChannel, GuildChannelType, APIRole, ChannelType } from \"discord-api-types/v10\";\nimport { AutoModerationRuleCreationData } from \"./types\";\n\nexport async function validateAutoModIgnores(\n  allChannels: APIGuildChannel<GuildChannelType>[],\n  allRoles: APIRole[],\n  exemptRoles: AutoModerationRuleCreationData[\"exemptRoles\"],\n  exemptChannels: AutoModerationRuleCreationData[\"exemptChannels\"]\n) {\n  if (exemptChannels.length > 50) {\n    return {\n      error: \"You can only have 50 ignored channels at once. Please remove some of the existing ignored channels before adding this one.\",\n      code: 400,\n    };\n  }\n\n  if (exemptRoles.length > 20) {\n    return {\n      error: \"You can only have 20 ignored roles at once. Please remove some of the existing ignored roles before adding this one.\",\n      code: 400,\n    };\n  }\n\n  for (const role of exemptRoles) {\n    if (!allRoles.find((r) => r.id === role)) {\n      return {\n        error: `Unable to find role with id ${role}, you may need to refresh the page`,\n        code: 404,\n      };\n    }\n  }\n\n  for (const channel of exemptChannels) {\n    if (!allChannels.find((c) => c.id === channel)) {\n      return {\n        error: `Unable to find channel with id ${channel}, you may need to refresh the page`,\n        code: 404,\n      };\n    }\n\n    const foundChannel = allChannels.find((c) => c.id === channel);\n\n    if (foundChannel && foundChannel.type !== ChannelType.GuildText) {\n      return {\n        error: `Channel #${allChannels.find((c) => c.id === channel)?.name || channel} is not a text channel`,\n        code: 400,\n      };\n    }\n  }\n\n  return {\n    error: null,\n    code: 200,\n  };\n}\n"
  },
  {
    "path": "packages/utils/functions/automod/validateAutoModRuleActions.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport {\n  type APIAutoModerationAction,\n  AutoModerationActionType,\n  ChannelType,\n  type APIGuildChannel,\n  type GuildChannelType,\n  RESTError,\n  RESTGetAPIChannelResult,\n} from \"discord-api-types/v10\";\nimport { getPermissionNames } from \"../user/getPermissionNames\";\n\ninterface ValidationResult {\n  error: string;\n  code: number;\n}\n\nexport async function validateAutoModRuleActions(\n  data: APIAutoModerationAction[],\n  allChannels: APIGuildChannel<GuildChannelType>[],\n  dueToMessage: string\n): Promise<ValidationResult | APIAutoModerationAction[]> {\n  // #region Block Message\n  let blockAction = data.find((a) => a.type === AutoModerationActionType.BlockMessage);\n\n  if (blockAction) {\n    if (!blockAction.metadata) {\n      return {\n        error: \"Cannot find the block message settings\",\n        code: 400,\n      };\n    }\n\n    blockAction = {\n      type: AutoModerationActionType.BlockMessage,\n      metadata: {\n        custom_message: dueToMessage,\n      },\n    };\n  }\n  // #endregion\n\n  // #region Timeout\n  let timeoutAction = data.find((a) => a.type === AutoModerationActionType.Timeout);\n\n  if (timeoutAction) {\n    if (!timeoutAction.metadata) {\n      return {\n        error: \"Cannot find the timeout settings\",\n        code: 400,\n      };\n    }\n\n    if (timeoutAction.metadata.duration_seconds === 0 || !timeoutAction.metadata.duration_seconds) {\n      timeoutAction = undefined;\n    } else if (timeoutAction.metadata.duration_seconds < 60 || timeoutAction.metadata.duration_seconds > 604800) {\n      return {\n        error: \"Timeout duration must be between 60 seconds and 7 days\",\n        code: 400,\n      };\n    } else {\n      timeoutAction = {\n        type: AutoModerationActionType.Timeout,\n        metadata: {\n          duration_seconds: timeoutAction.metadata.duration_seconds,\n        },\n      };\n    }\n  }\n  // #endregion\n\n  // #region Send Alert Message\n  let alertAction = data.find((a) => a.type === AutoModerationActionType.SendAlertMessage);\n\n  if (alertAction) {\n    if (!alertAction.metadata) {\n      return {\n        error: \"Cannot find the alert settings\",\n        code: 400,\n      };\n    }\n\n    if (alertAction.metadata.channel_id === \"1\") {\n      alertAction = undefined;\n    } else {\n      if (!alertAction || !alertAction.metadata) {\n        return {\n          error: \"Cannot find the alert channel\",\n          code: 404,\n        };\n      }\n\n      if (\n        !alertAction.metadata.channel_id ||\n        !allChannels.find((c) => c.id === alertAction?.metadata?.channel_id) ||\n        allChannels.find((c) => c.id === alertAction?.metadata?.channel_id)?.type !== ChannelType.GuildText\n      ) {\n        return {\n          error: \"Cannot find the alert channel\",\n          code: 404,\n        };\n      }\n\n      const getChannelPermissionsAPI = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/channels/${alertAction.metadata.channel_id}`, {\n        method: \"GET\",\n        headers: {\n          Authorization: `Bot ${process.env.TOKEN}`,\n        },\n      });\n\n      if (!getChannelPermissionsAPI.ok) {\n        return {\n          error: \"Unable to find the alert channel\",\n          code: 404,\n        };\n      }\n\n      const getChannelPermissions = (await getChannelPermissionsAPI.json()) as RESTGetAPIChannelResult | RESTError;\n\n      if (\"code\" in getChannelPermissions) {\n        return {\n          error: \"Unable to find the alert channel\",\n          code: 404,\n        };\n      }\n\n      if (getChannelPermissions.type !== ChannelType.GuildText) {\n        return {\n          error: \"The alert channel must be a text channel\",\n          code: 400,\n        };\n      }\n\n      if (!getChannelPermissions.permission_overwrites) {\n        return {\n          error: \"The bot must have 'View Channel' and 'Send Messages' permissions in the alert channel\",\n          code: 400,\n        };\n      }\n\n      const userPermissionOverride = getChannelPermissions.permission_overwrites.find((override) => override.id === process.env.CLIENT_ID);\n\n      if (!userPermissionOverride) {\n        return {\n          error: \"The bot must have 'View Channel' and 'Send Messages' permissions in the alert channel\",\n          code: 400,\n        };\n      }\n\n      const parsedUserPermissions = getPermissionNames(BigInt(userPermissionOverride.allow ?? 0));\n\n      if (!parsedUserPermissions.includes(\"ViewChannel\") || !parsedUserPermissions.includes(\"SendMessages\")) {\n        return {\n          error: \"The bot must have 'View Channel' and 'Send Messages' permissions in the alert channel\",\n          code: 400,\n        };\n      }\n\n      alertAction = {\n        type: AutoModerationActionType.SendAlertMessage,\n        metadata: {\n          channel_id: alertAction.metadata.channel_id,\n          custom_message: dueToMessage,\n        },\n      };\n    }\n  }\n\n  // remove the action if it's not set\n  return [blockAction, timeoutAction, alertAction].filter((a): a is APIAutoModerationAction => a !== undefined);\n}\n"
  },
  {
    "path": "packages/utils/functions/files/index.ts",
    "content": "export * from \"./readDir\";\n"
  },
  {
    "path": "packages/utils/functions/files/readDir.ts",
    "content": "import { PathLike, readdirSync, statSync } from \"node:fs\";\nimport path from \"node:path\";\n\nexport function readDir(dir: PathLike, recursive = false, extensions = [\".js\"]) {\n  if (typeof extensions === \"string\") {\n    extensions = [extensions];\n  }\n  const files = readdirSync(dir.toString());\n  let directories: string[] = [];\n\n  files.forEach((file) => {\n    const filePath = path.join(dir.toString(), file);\n    const stat = statSync(filePath);\n\n    if (stat.isDirectory() && recursive) {\n      directories = directories.concat(readDir(filePath, true, extensions));\n    } else if (stat.isFile() && extensions.some((ext) => filePath.endsWith(ext))) {\n      directories.push(filePath.split(path.sep).join(\"/\"));\n    }\n  });\n\n  return directories;\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/getGuild.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { cacheGet, cacheSet } from \"@majoexe/database/redis\";\nimport { APIGuild, RESTError, Snowflake } from \"discord-api-types/v10\";\nimport { isBotInServer } from \"./isBotInServer\";\n\nexport async function getGuild(id: Snowflake) {\n  try {\n    const cached = (JSON.parse((await cacheGet(`guild:${id}:data`)) as unknown as string) as APIGuild) || null;\n    if (cached && typeof cached === \"object\" && cached.id === id) return JSON.parse(JSON.stringify(cached)) as APIGuild & { bot: boolean };\n\n    const res = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${id}`, {\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n    if (!res.ok) return null;\n    const json = (await res.json()) as (APIGuild & { bot: boolean }) | RESTError;\n\n    if (\"code\" in json) return null;\n\n    json.bot = await isBotInServer(id);\n\n    await cacheSet(`guild:${id}:data`, json, 10);\n\n    return json;\n  } catch (_e) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/getGuildChannels.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { cacheGet, cacheSet } from \"@majoexe/database/redis\";\nimport { APIGuildChannel, GuildChannelType, RESTError, Snowflake } from \"discord.js\";\n\nexport async function getGuildChannels(guildId: Snowflake, types: GuildChannelType[]): Promise<APIGuildChannel<GuildChannelType>[] | null> {\n  try {\n    const cached = await cacheGet(`guild:${guildId}:channels`);\n    if (cached && typeof cached === \"string\") {\n      try {\n        const parsed = JSON.parse(cached) as APIGuildChannel<GuildChannelType>[];\n        return parsed.filter((channel) => types.includes(channel.type));\n      } catch {\n        return null;\n      }\n    }\n\n    const allChannelsFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${guildId}/channels`, {\n      method: \"GET\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n\n    const allChannelsData = (await allChannelsFetch.json()) as APIGuildChannel<GuildChannelType>[] | RESTError;\n\n    if (\"code\" in allChannelsData) return null;\n\n    await cacheSet(`guild:${guildId}:channels`, allChannelsData, 10);\n\n    return allChannelsData.filter((channel) => types.includes(channel.type));\n  } catch (_e) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/getGuildFromMemberGuilds.ts",
    "content": "import { Snowflake } from \"discord-api-types/globals\";\nimport { getMemberGuilds } from \"./getMemberGuilds\";\n\nexport async function getGuildFromMemberGuilds(guildId: Snowflake, token: string) {\n  try {\n    const guilds = await getMemberGuilds(token);\n    if (!guilds) return null;\n    const guild = guilds.find((guild) => guild.id === guildId);\n    if (!guild) return null;\n    return guild;\n  } catch (_e) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/getGuildPreview.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { cacheGet, cacheSet } from \"@majoexe/database/redis\";\nimport { APIGuildPreview, Snowflake, RESTError } from \"discord-api-types/v10\";\n\nexport async function getGuildPreview(id: Snowflake): Promise<APIGuildPreview | null> {\n  try {\n    const cached = await cacheGet(`guild:${id}:preview`);\n    if (cached && typeof cached === \"string\") {\n      try {\n        const parsed = JSON.parse(cached) as APIGuildPreview;\n        return parsed;\n      } catch {\n        return null;\n      }\n    }\n    const res = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${id}/preview`, {\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n    if (!res.ok) return null;\n\n    const json = (await res.json()) as APIGuildPreview | RESTError;\n    if (\"code\" in json) return null;\n\n    await cacheSet(`guild:${id}:preview`, json, 30);\n\n    return json;\n  } catch (_e) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/getGuildRoles.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { cacheGet, cacheSet } from \"@majoexe/database/redis\";\nimport { RESTGetAPIGuildRolesResult } from \"discord-api-types/v10\";\nimport { RESTError, Snowflake } from \"discord.js\";\n\nexport async function getGuildRoles(guildId: Snowflake): Promise<RESTGetAPIGuildRolesResult | null> {\n  try {\n    const cached = await cacheGet(`guild:${guildId}:roles`);\n    if (cached && typeof cached === \"string\") {\n      try {\n        const parsed = JSON.parse(cached) as RESTGetAPIGuildRolesResult;\n        return parsed.filter((role) => role.name !== \"@everyone\");\n      } catch {\n        return null;\n      }\n    }\n\n    const allRolesFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${guildId}/roles`, {\n      method: \"GET\",\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n\n    const allRolesData = (await allRolesFetch.json()) as RESTGetAPIGuildRolesResult | RESTError;\n\n    if (\"code\" in allRolesData) return null;\n\n    await cacheSet(`guild:${guildId}:roles`, allRolesData, 10);\n\n    return allRolesData.filter((role) => role.name !== \"@everyone\");\n  } catch (_e) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/getMemberGuilds.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { cacheGet, cacheSet } from \"@majoexe/database/redis\";\nimport { APIGuild, RESTError } from \"discord-api-types/v10\";\nimport { getPermissionNames } from \"../user/getPermissionNames\";\n\nexport interface ExtendedAPIGuild extends APIGuild {\n  permissions_names: string[];\n  bot: boolean;\n}\n\nexport async function getMemberGuilds(token: string) {\n  try {\n    const cached = await cacheGet(`user:token:${token}:guilds`);\n    if (cached && typeof cached === \"string\") {\n      try {\n        const parsed = JSON.parse(cached) as ExtendedAPIGuild[];\n        return parsed;\n      } catch {\n        return null;\n      }\n    }\n\n    const res = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/users/@me/guilds`, {\n      headers: {\n        Authorization: `Bearer ${token}`,\n      },\n    });\n    if (!res.ok) return null;\n    const json = (await res.json()) as ExtendedAPIGuild[] | RESTError;\n    if (!Array.isArray(json)) return null;\n\n    for (const guild of json) {\n      guild.permissions_names = getPermissionNames(BigInt(guild.permissions || 0)) || [];\n    }\n\n    await cacheSet(`user:token:${token}:guilds`, json, 30);\n\n    return json;\n  } catch (_e) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/guild/index.ts",
    "content": "export * from \"./getGuildChannels\";\nexport * from \"./getGuildFromMemberGuilds\";\nexport * from \"./getGuildPreview\";\nexport * from \"./getGuild\";\nexport * from \"./getGuildRoles\";\nexport * from \"./getMemberGuilds\";\nexport * from \"./isBotInServer\";\n"
  },
  {
    "path": "packages/utils/functions/guild/isBotInServer.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { Snowflake } from \"discord-api-types/globals\";\n\nexport async function isBotInServer(guildId: Snowflake): Promise<boolean> {\n  try {\n    const res = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/guilds/${guildId}/members/${process.env.CLIENT_ID}`, {\n      headers: {\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n    if (res.ok) return true;\n    return false;\n  } catch (_e) {\n    return false;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/user/getDiscordUser.ts",
    "content": "import { globalConfig } from \"@majoexe/config\";\nimport { APIUser, RESTError, Snowflake } from \"discord-api-types/v10\";\n\nexport async function getDiscordUser(userId: Snowflake) {\n  try {\n    const discordApiFetch = await fetch(`https://discord.com/api/v${globalConfig.apiVersion}/users/${userId}`, {\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Authorization: `Bot ${process.env.TOKEN}`,\n      },\n    });\n\n    if (!discordApiFetch.ok) return null;\n\n    const user = (await discordApiFetch.json()) as APIUser | RESTError;\n\n    if (\"code\" in user) return null;\n\n    return user;\n  } catch (_error) {\n    return null;\n  }\n}\n"
  },
  {
    "path": "packages/utils/functions/user/getFlags.ts",
    "content": "export interface UserFlagsObject {\n  flags: number;\n  content: string;\n  name: string;\n}\n\nexport const flagsArray = [\n  {\n    flags: 1, // 1 << 0 = 1\n    content: \"Discord Staff\",\n    name: \"STAFF\",\n  },\n  {\n    flags: 2, // 1 << 1 = 2\n    content: \"Discord Partner\",\n    name: \"PARTNER\",\n  },\n  {\n    flags: 4, // 1 << 2 = 4\n    content: \"HypeSquad Events\",\n    name: \"HYPESQUAD\",\n  },\n  {\n    flags: 8, // 1 << 3 = 8\n    content: \"Bug Hunter Level 1\",\n    name: \"BUG_HUNTER_LEVEL_1\",\n  },\n  {\n    flags: 64, // 1 << 6 = 64\n    content: \"HypeSquad Bravery\",\n    name: \"HYPESQUAD_ONLINE_HOUSE_1\",\n  },\n  {\n    flags: 128, // 1 << 7 = 128\n    content: \"HypeSquad Brilliance\",\n    name: \"HYPESQUAD_ONLINE_HOUSE_2\",\n  },\n  {\n    flags: 256, // 1 << 8 = 256\n    content: \"HypeSquad Balance\",\n    name: \"HYPESQUAD_ONLINE_HOUSE_3\",\n  },\n  {\n    flags: 512, // 1 << 9 = 512\n    content: \"Premium Early Supporter\",\n    name: \"PREMIUM_EARLY_SUPPORTER\",\n  },\n  {\n    flags: 16384, // 1 << 14 = 16384\n    content: \"Bug Hunter Level 2\",\n    name: \"BUG_HUNTER_LEVEL_2\",\n  },\n  {\n    flags: 65536, // 1 << 16 = 65536\n    content: \"Verified Bot\",\n    name: \"VERIFIED_BOT\",\n  },\n  {\n    flags: 131072, // 1 << 17 = 131072\n    content: \"Verified Developer\",\n    name: \"VERIFIED_DEVELOPER\",\n  },\n  {\n    flags: 4194304, // 1 << 22 = 4194304\n    content: \"Active Developer\",\n    name: \"ACTIVE_DEVELOPER\",\n  },\n] satisfies Array<UserFlagsObject>;\n\nexport function getFlags(number: number): UserFlagsObject[] {\n  return flagsArray.reduce((acc: UserFlagsObject[], flag) => {\n    if (Number(number) & flag.flags) acc.push(flag);\n    return acc;\n  }, []);\n}\n"
  },
  {
    "path": "packages/utils/functions/user/getPermissionNames.ts",
    "content": "import { PermissionFlagsBits } from \"discord-api-types/v10\";\n\nexport function getPermissionNames(permissionNumber: bigint | string) {\n  const permissionNames = [];\n\n  if (typeof permissionNumber === \"string\") permissionNumber = BigInt(permissionNumber);\n\n  for (const permission in PermissionFlagsBits) {\n    if (Object.prototype.hasOwnProperty.call(PermissionFlagsBits, permission)) {\n      const permissionValue = PermissionFlagsBits[permission as keyof typeof PermissionFlagsBits];\n      if ((BigInt(permissionNumber) & permissionValue) === permissionValue) {\n        permissionNames.push(permission);\n      }\n    }\n  }\n\n  return permissionNames;\n}\n"
  },
  {
    "path": "packages/utils/functions/user/index.ts",
    "content": "export * from \"./getPermissionNames\";\nexport * from \"./getFlags\";\nexport * from \"./getDiscordUser\";\nexport * from \"./isApiUser\";\n"
  },
  {
    "path": "packages/utils/functions/user/isApiUser.ts",
    "content": "import type { APIUser } from \"discord-api-types/v10\";\nimport type { User } from \"discord.js\";\n\nexport function isAPIUser(user: APIUser | User): user is APIUser {\n  return (user as APIUser).id !== undefined;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/adjustColor.ts",
    "content": "export function adjustColor(hexColor: string, percent: number, action: \"darken\" | \"lighten\" = \"darken\") {\n  hexColor = hexColor.replace(\"#\", \"\");\n\n  const r = parseInt(hexColor.slice(0, 2), 16);\n  const g = parseInt(hexColor.slice(2, 4), 16);\n  const b = parseInt(hexColor.slice(4, 6), 16);\n\n  const factor = action === \"lighten\" ? 1 + percent / 100 : 1 - percent / 100;\n\n  const adjustedR = Math.round(r * factor);\n  const adjustedG = Math.round(g * factor);\n  const adjustedB = Math.round(b * factor);\n\n  const finalR = Math.min(255, Math.max(0, adjustedR));\n  const finalG = Math.min(255, Math.max(0, adjustedG));\n  const finalB = Math.min(255, Math.max(0, adjustedB));\n\n  const adjustedHex = `#${finalR.toString(16).padStart(2, \"0\")}${finalG.toString(16).padStart(2, \"0\")}${finalB.toString(16).padStart(2, \"0\")}`;\n\n  return adjustedHex;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/capitalize.ts",
    "content": "export function capitalize(str: string) {\n  return str.charAt(0).toUpperCase() + str.slice(1);\n}\n"
  },
  {
    "path": "packages/utils/functions/util/fillMissingDates.ts",
    "content": "import { generateDates } from \"./generateDates\";\n\nexport interface DataEntry {\n  date: string | Date;\n  /* eslint-disable-next-line typescript/no-explicit-any */\n  [key: string]: any;\n}\n\nexport function fillMissingDates(array: DataEntry[], property: string) {\n  const arrayDates = array.map((e) => new Date(e.date));\n  const minDate = new Date(Math.min(...arrayDates.map((date) => date.getTime())));\n  const today = new Date();\n\n  const dateSet = new Set(arrayDates.map((date) => date.toISOString().split(\"T\")[0]));\n\n  generateDates(minDate, today).forEach((date) => {\n    const [dateString] = date.toISOString().split(\"T\");\n    if (dateString && !dateSet.has(dateString)) {\n      array.push({ date: dateString, [property]: 0 });\n    }\n  });\n\n  const sortedArray = array.sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime());\n\n  return sortedArray;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/flipText.ts",
    "content": "export const chars: { [key: string]: string } = {\n  // uppercase\n  A: \"∀\",\n  B: \"𐐒\",\n  C: \"Ɔ\",\n  E: \"Ǝ\",\n  F: \"Ⅎ\",\n  G: \"פ\",\n  H: \"H\",\n  I: \"I\",\n  J: \"ſ\",\n  L: \"˥\",\n  M: \"W\",\n  N: \"N\",\n  P: \"Ԁ\",\n  R: \"ᴚ\",\n  T: \"⊥\",\n  U: \"∩\",\n  V: \"Λ\",\n  Y: \"⅄\",\n\n  // lowercase\n  a: \"ɐ\",\n  b: \"q\",\n  c: \"ɔ\",\n  d: \"p\",\n  e: \"ǝ\",\n  f: \"ɟ\",\n  g: \"ƃ\",\n  h: \"ɥ\",\n  i: \"ᴉ\",\n  j: \"ɾ\",\n  k: \"ʞ\",\n  m: \"ɯ\",\n  n: \"u\",\n  p: \"d\",\n  q: \"b\",\n  r: \"ɹ\",\n  t: \"ʇ\",\n  u: \"n\",\n  v: \"ʌ\",\n  w: \"ʍ\",\n  y: \"ʎ\",\n\n  // numbers\n  1: \"Ɩ\",\n  2: \"ᄅ\",\n  3: \"Ɛ\",\n  4: \"ㄣ\",\n  5: \"ϛ\",\n  6: \"9\",\n  7: \"ㄥ\",\n  8: \"8\",\n  9: \"6\",\n  0: \"0\",\n\n  // special chars\n  \".\": \"˙\",\n  \",\": \"'\",\n  \"'\": \",\",\n  // eslint-disable-next-line @stylistic/quotes\n  '\"': \",,\",\n  \"`\": \",\",\n  \"<\": \">\",\n  \">\": \"<\",\n  \"∴\": \"∵\",\n  \"&\": \"⅋\",\n  _: \"‾\",\n  \"?\": \"¿\",\n  \"!\": \"¡\",\n  \"[\": \"]\",\n  \"]\": \"[\",\n  \"(\": \")\",\n  \")\": \"(\",\n  \"{\": \"}\",\n  \"}\": \"{\",\n\n  // Cyrillic uppercase\n  А: \"∀\",\n  Б: \"ܦ\",\n  В: \"ꓭ\",\n  Г: \"⅃\",\n  Д: \"ჩ\",\n  Е: \"Ǝ\",\n  З: \"Ɛ\",\n  Й: \"И̯\",\n  К: \"ꓘ\",\n  Л: \"Ѵ\",\n  М: \"ꟽ\",\n  П: \"ⵡ\",\n  Р: \"Ԁ\",\n  С: \"Ͻ\",\n  Т: \"ꓕ\",\n  У: \"ʎ\",\n  Ц: \"ŉ\",\n  Ч: \"Ⴙ\",\n  Ш: \"ᗰ\",\n  Ь: \"ᑫ\",\n  Э: \"Є\",\n  Ю: \"Ꙕ\",\n  Я: \"ᖉ\",\n\n  // Cyrillic lowercase\n  а: \"ɐ\",\n  б: \"ܦ\",\n  в: \"ʚ\",\n  г: \"⅃\",\n  д: \"ჩ\",\n  е: \"ǝ\",\n  з: \"ԑ\",\n  й: \"и̯\",\n  к: \"ʞ\",\n  л: \"ѵ\",\n  м: \"ᥕ\",\n  п: \"⊔\",\n  р: \"d\",\n  с: \"ɔ\",\n  т: \"ꓕ\",\n  у: \"ʎ\",\n  ц: \"ŉ\",\n  ч: \"h\",\n  ш: \"m\",\n  ь: \"৭\",\n  э: \"є\",\n  ю: \"ꙕ\",\n  я: \"ʁ\",\n};\n\nexport const flipText = (text: string): string => {\n  let result = \"\";\n  for (let i = text.length - 1; i >= 0; i--) {\n    const char = text[i];\n    if (!char) continue;\n    const flipped = chars[char] !== undefined ? chars[char] : char;\n    result += flipped;\n  }\n  return result;\n};\n"
  },
  {
    "path": "packages/utils/functions/util/formatDate.ts",
    "content": "export function formatDate(date: string | number | Date) {\n  return new Date(date).toLocaleDateString(\"en-US\", {\n    year: \"numeric\",\n    month: \"numeric\",\n    day: \"numeric\",\n  });\n}\n"
  },
  {
    "path": "packages/utils/functions/util/formatDuration.ts",
    "content": "import ms from \"ms\";\n\nexport function formatDuration(durationInMs: number | string) {\n  if (typeof durationInMs === \"string\") durationInMs = parseInt(durationInMs);\n\n  return ms(durationInMs, {\n    long: true,\n  });\n}\n"
  },
  {
    "path": "packages/utils/functions/util/formatNumber.ts",
    "content": "export function formatNumber(num: number): string {\n  if (!num || isNaN(num)) return \"0\";\n  if (typeof num === \"string\") num = parseInt(num);\n  return new Intl.NumberFormat(\"en\", { notation: \"compact\" }).format(num);\n}\n"
  },
  {
    "path": "packages/utils/functions/util/generateDates.ts",
    "content": "export function generateDates(startDate: Date, endDate: Date): Date[] {\n  const dates = [];\n  const currentDate = new Date(startDate);\n\n  while (currentDate <= endDate) {\n    dates.push(new Date(currentDate));\n    currentDate.setDate(currentDate.getDate() + 1);\n  }\n\n  return dates;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/index.ts",
    "content": "export * from \"./adjustColor\";\nexport * from \"./capitalize\";\nexport * from \"./flipText\";\nexport * from \"./formatDate\";\nexport * from \"./formatDuration\";\nexport * from \"./formatNumber\";\nexport * from \"./logger\";\nexport * from \"./percentageBar\";\nexport * from \"./shortenText\";\nexport * from \"./isNumeric\";\nexport * from \"./generateDates\";\nexport * from \"./fillMissingDates\";\nexport * from \"./randomness\";\nexport * from \"./splitCamelCase\";\nexport * from \"./sumArray\";\n"
  },
  {
    "path": "packages/utils/functions/util/isNumeric.ts",
    "content": "export function isNumeric(num: string | number): boolean {\n  return (typeof num === \"number\" || (typeof num === \"string\" && num.trim() !== \"\")) && !isNaN(Number(num)) && Number.isInteger(Number(num));\n}\n"
  },
  {
    "path": "packages/utils/functions/util/logger.ts",
    "content": "import chalk from \"chalk\";\n\nconst colors: Record<\"info\" | \"event\" | \"error\" | \"warn\" | \"ready\" | \"cron\", string> = {\n  info: \"cyan\",\n  event: \"magenta\",\n  error: \"red\",\n  warn: \"yellow\",\n  ready: \"green\",\n  cron: \"blue\",\n};\n\nexport function Logger(type: keyof typeof colors, ...args: (string | unknown)[]) {\n  const longest = Object.keys(colors).reduce((long, str) => Math.max(long, str.length), 0);\n\n  const color = colors[type] as keyof typeof chalk;\n  const chalkFunction = chalk[color] as (..._text: string[]) => string;\n  console.log(chalkFunction(type + \" \".repeat(longest - type.length)) + chalk.white(\" - \" + args.join(\" \")));\n}\n\nexport { chalk };\n"
  },
  {
    "path": "packages/utils/functions/util/percentageBar.ts",
    "content": "export function percentageBar(full: number, curr: number, numBars: number = 25): string {\n  if (full <= 0) return \"Error: Full value must be greater than 0.\";\n  if (curr < 0) return \"Error: Current value must be greater than or equal to 0.\";\n  if (curr > full) return \"Error: Current value must be less than or equal to full value.\";\n\n  const percent = (curr / full) * 100;\n  const numCompleteBars = Math.floor(percent / (100 / numBars));\n  const numEmptyBars = numBars - numCompleteBars;\n  const completeBar = \"█\".repeat(numCompleteBars);\n  const emptyBar = \"░\".repeat(numEmptyBars);\n\n  return `[${completeBar}${emptyBar}]   ${percent.toFixed(2)}%`;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/randomness.ts",
    "content": "export function pseudoRandom(index: number) {\n  const seed = index;\n  const random1 = Math.sin(seed) * 10000;\n  const baseValue1 = random1 - Math.floor(random1);\n  const random2 = Math.cos(seed * 2) * 10000;\n  const baseValue2 = random2 - Math.floor(random2);\n  const growthFactor = Math.pow(index + 1, 1.5);\n  const variationFactor = 26;\n\n  const result = (baseValue1 + baseValue2) * (1 + variationFactor) + growthFactor;\n  return result;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/shortenText.ts",
    "content": "export function shortenText(text: string, maxLen: number | 25 = 25): string {\n  if (text.length > maxLen) text = text.slice(0, maxLen) + \"...\";\n  return text;\n}\n"
  },
  {
    "path": "packages/utils/functions/util/splitCamelCase.ts",
    "content": "export function splitCamelCase(str: string) {\n  return str.split(/(?=[A-Z])/).join(\" \");\n}\n"
  },
  {
    "path": "packages/utils/functions/util/sumArray.ts",
    "content": "export const sumArray = (array: Record<string, number>[], metric: string): number => array.reduce((accumulator, currentValue) => accumulator + (currentValue[metric] || 0), 0);\n"
  },
  {
    "path": "packages/utils/images/index.ts",
    "content": "export * from \"./invertColor\";\nexport * from \"./linesHelper\";\n"
  },
  {
    "path": "packages/utils/images/invertColor.ts",
    "content": "export function invertColor(hex: string): string {\n  if (!hex) return \"#FFFFFF\";\n  hex = hex.replace(\"#\", \"\");\n  if (!hex[0] || !hex[1] || !hex[2] || !hex[3] || !hex[4] || !hex[5]) return \"#FFFFFF\";\n  if (hex && hex.length === 3) hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n  if (hex.length !== 6) return \"#FFFFFF\";\n\n  const r = (255 - parseInt(hex.slice(0, 2), 16)).toString(16);\n  const g = (255 - parseInt(hex.slice(2, 4), 16)).toString(16);\n  const b = (255 - parseInt(hex.slice(4, 6), 16)).toString(16);\n\n  const pad = (txt: string, length: number = 2): string => {\n    const arr = [length].join(\"0\");\n    return (arr + txt).slice(-length);\n  };\n\n  const finalHex = `#${pad(r)}${pad(g)}${pad(b)}`;\n  return finalHex;\n}\n"
  },
  {
    "path": "packages/utils/images/linesHelper.ts",
    "content": "import { SKRSContext2D } from \"@napi-rs/canvas\";\n\nexport function getLines(context: SKRSContext2D, text: string, maxWidth: number): string[] {\n  const lines: string[] = [];\n  if (!text) return lines;\n\n  while (text.length) {\n    let i;\n    for (i = text.length; context.measureText(text.substring(0, i)).width > maxWidth; i -= 1);\n    const result: string = text.substring(0, i);\n    let j;\n    if (i !== text.length) for (j = 0; result.indexOf(\" \", j) !== -1; j = result.indexOf(\" \", j) + 1);\n\n    lines.push(result.substring(0, j || result.length));\n    const lastLine = lines[lines.length - 1];\n    text = text.slice(lastLine ? lastLine.length : 0);\n  }\n\n  return lines;\n}\n"
  },
  {
    "path": "packages/utils/package.json",
    "content": "{\n  \"name\": \"@majoexe/util\",\n  \"version\": \"6.0.0\",\n  \"description\": \"Shared utility functions for Majo.exe\",\n  \"type\": \"module\",\n  \"exports\": {\n    \"./database\": \"./database/index.ts\",\n    \"./database/*\": \"./database/*\",\n    \"./embeds\": \"./embeds/index.ts\",\n    \"./embeds/*\": \"./embeds/*\",\n    \"./functions/automod\": \"./functions/automod/index.ts\",\n    \"./functions/automod/*\": \"./functions/automod/*\",\n    \"./functions/files\": \"./functions/files/index.ts\",\n    \"./functions/files/*\": \"./functions/files/*\",\n    \"./functions/guild\": \"./functions/guild/index.ts\",\n    \"./functions/guild/*\": \"./functions/guild/*\",\n    \"./functions/user\": \"./functions/user/index.ts\",\n    \"./functions/user/*\": \"./functions/user/*\",\n    \"./functions/util\": \"./functions/util/index.ts\",\n    \"./functions/util/*\": \"./functions/util/*\",\n    \"./images\": \"./images/index.ts\",\n    \"./images/*\": \"./images/*\",\n    \"./content/*\": \"./content/*\",\n    \"./content/*.json\": \"./content/*.json\"\n  },\n  \"scripts\": {\n    \"format\": \"prettier . --write --cache --ignore-unknown\",\n    \"format:check\": \"prettier . --check --cache\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"@majoexe/config\": \"workspace:*\",\n    \"@majoexe/database\": \"workspace:*\",\n    \"@majoexe/typescript-config\": \"workspace:*\",\n    \"@napi-rs/canvas\": \"0.1.88\",\n    \"@types/ms\": \"2.1.0\",\n    \"chalk\": \"5.6.2\",\n    \"discord-api-types\": \"0.38.37\",\n    \"discord.js\": \"14.25.1\",\n    \"ms\": \"2.1.3\"\n  },\n  \"engines\": {\n    \"node\": \">=20\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/igorkowalczyk/majo.exe.git\",\n    \"directory\": \"packages/util\"\n  },\n  \"keywords\": [\n    \"Majo.exe\",\n    \"util\",\n    \"shared\",\n    \"utility-functions\"\n  ],\n  \"author\": \"Igor Kowalczyk\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/igorkowalczyk/majo.exe/issues\"\n  },\n  \"homepage\": \"https://github.com/igorkowalczyk/majo.exe#readme\",\n  \"packageManager\": \"pnpm@10.26.2\"\n}\n"
  },
  {
    "path": "packages/utils/tsconfig.json",
    "content": "{\n  \"extends\": \"@majoexe/typescript-config/base\"\n}\n"
  },
  {
    "path": "pnpm-workspace.yaml",
    "content": "packages:\n - packages/*\n - apps/*\n\nonlyBuiltDependencies:\n - \"@prisma/client\"\n - \"@prisma/engines\"\n - \"@vercel/speed-insights\"\n - esbuild\n - prisma\n"
  },
  {
    "path": "prettier.config.js",
    "content": "import config from \"@igorkowalczyk/prettier-config\";\n\n/**\n * @type {import(\"prettier\").Options}\n */\nexport default {\n  ...config,\n};\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n \"extends\": \"./packages/typescript-config/base.json\"\n}\n"
  },
  {
    "path": "turbo.json",
    "content": "{\n \"$schema\": \"https://turborepo.org/schema.json\",\n \"globalDependencies\": [\".prettierignore\", \"prettier.config.js\", \"eslint.config.ts\"],\n \"ui\": \"tui\",\n \"tasks\": {\n  \"dev\": {\n   \"dependsOn\": [\"prisma:generate\"],\n   \"outputs\": [],\n   \"persistent\": true\n  },\n  \"build\": {\n   \"dependsOn\": [\"^prisma:generate\"],\n   \"env\": [\"SECRET\", \"NEXTAUTH_URL\", \"NEXT_PUBLIC_URL\", \"HOTJAR_ID\", \"TOKEN\", \"CLIENT_ID\", \"CLIENT_SECRET\", \"DISCORD_SUPPORT_SERVER_ID\", \"CLIENT_SECRET\", \"CLIENT_ID\", \"SECRET\", \"TOKEN\", \"REDIS_URL\", \"DATABASE_URL\", \"DATABASE_URL_UNPOOLED\"],\n   \"outputs\": [\".next/**\", \"!.next/cache/**\"],\n   \"persistent\": true\n  },\n  \"deploy\": {\n   \"dependsOn\": [\"^build\"],\n   \"outputs\": [\".next/**\", \"!.next/cache/**\"],\n   \"env\": [\"DATABASE_URL\", \"DATABASE_URL_UNPOOLED\", \"REDIS_URL\", \"TOKEN\", \"CLIENT_ID\", \"TOPGG_API_KEY\", \"DISCORD_BOT_LIST_API_KEY\"],\n   \"persistent\": true\n  },\n  \"lint\": {\n   \"dependsOn\": [\"^format:check\"],\n   \"outputs\": []\n  },\n  \"lint:fix\": {\n   \"outputs\": []\n  },\n  \"format\": {\n   \"outputs\": []\n  },\n  \"format:check\": {\n   \"outputs\": []\n  },\n  \"prisma:generate\": {\n   \"cache\": false,\n   \"outputs\": [\"prisma/schema.prisma\"]\n  },\n  \"prisma:seed\": {\n   \"cache\": false,\n   \"env\": [\"DATABASE_URL\", \"DATABASE_URL_UNPOOLED\", \"REDIS_URL\"],\n   \"interactive\": true\n  },\n  \"prisma:migrate\": {\n   \"outputs\": [\"prisma/migrations/**\"],\n   \"env\": [\"DATABASE_URL\", \"DATABASE_URL_UNPOOLED\", \"REDIS_URL\"],\n   \"cache\": false,\n   \"interactive\": true\n  },\n  \"prisma:format\": {\n   \"outputs\": [\"prisma/schema.prisma\"]\n  }\n }\n}\n"
  }
]